@layer compound-tokens, compound-web, shared-components, app-web;
@layer compound-tokens, compound-web, shared-components, app-web;
@layer compound-tokens{
@layer cpd-semantic, custom, cpd-base;
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * SCSS variables defining a range of font sizes.
 *
 * These are defined in `rem` so that they scale with the `font-size` of the root element (which is adjustable via the
 * "Font size" setting). They exist to make the job of converting designs (which tend to be based in pixels) into CSS
 * easier.
 */

/*
 * These variables are now *deprecated* and should not be used in new code; instead Compound typographic tokens
 * should be used. Direct equivalents for these old font size tokens are listed below; where no equivalent exists,
 * that suggests that the design is using a non-standard font size and should be updated.
 *
 * In fact, modern Figma designs should actually use a named Typography style such as "Web/font/heading/sm/semibold",
 * translates directly to `font: var(--cpd-font-heading-sm-semibold)`.
 */ /* Compound equivalent: --cpd-font-size-body-xs */ /* Compound equivalent: --cpd-font-size-body-sm */ /* Compound equivalent: --cpd-font-size-body-md */ /* Compound equivalent: --cpd-font-size-body-lg */ /* Compound equivalent: --cpd-font-size-heading-sm */ /* Compound equivalent: --cpd-font-size-heading-md */ /* Compound equivalent: --cpd-font-size-heading-lg */ /* Compound equivalent: --cpd-font-size-heading-xl */
}
@layer app-web{

/* the 'src' links are relative to the bundle.css, which is in a subdirectory.
 */

/* Twemoji COLR */
@font-face {
    font-family: "Twemoji";
    font-weight: 400;
    src: url(../../fonts/Twemoji_Mozilla/TwemojiMozilla-colr.666a113.woff2) format("woff2");
}
/* For at least Chrome on Windows 10, we have to explictly add extra weights for the emoji to appear in bold messages, etc. */
@font-face {
    font-family: "Twemoji";
    font-weight: 600;
    src: url(../../fonts/Twemoji_Mozilla/TwemojiMozilla-colr.666a113.woff2) format("woff2");
}
@font-face {
    font-family: "Twemoji";
    font-weight: 700;
    src: url(../../fonts/Twemoji_Mozilla/TwemojiMozilla-colr.666a113.woff2) format("woff2");
}
}
@layer app-web{

:root {
    /* This is set to Twemoji when the user opts into the bundled emoji font */
    --emoji-font-family: "";
}

/* Nunito and Inter lacks combining diacritics, so these will fall through
   to the next font. Helevetica's diacritics sometimes do not combine
   nicely (on OSX, at least) and result in a huge horizontal mess.
   Arial empirically gets it right, hence prioritising Arial here. */
/* Noto Color Emoji contains digits, in fixed-width, therefore causing
   digits in flowed text to stand out.
   TODO: Consider putting all emoji fonts to the end rather than the front. */

/* Colors from Figma Compound https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=559%3A120 */
/* ******************** */
/* ******************** */

/**
 * Creating a `semantic` color scale. This will not be needed with the new
 * visual language, but necessary during the transition period
 * This abstract the `green` away from where accent shades are used
 * Take: `background: rgba($accent, 0.1);`
 * would be transformed to: `background: $accent-300;`
 *
 * To use under very rare circumstances, always prefer the semantics defined
 * in https://compound.element.io/?path=/docs/tokens-semantic-colors--docs
 */

/* Reused Figma non-compound colors */
/* ******************** */
/* ******************** */

/* Theme specific colors */
/* ******************** */
/* ******************** */

/* Colors that aren't in Figma and are theme specific - we need to get rid of these */
/* ******************** */
/* ******************** */

/* Colors that aren't in Figma - we need to get rid of these */
/* ******************** */
/* ******************** */

/* Blockquote */
/* ******************** */
/* ******************** */

/* Tooltip */
/* ******************** */
/* ******************** */

/* Widget */
/* ******************** */
/* ******************** */

/* Menu */
/* ******************** */
/* ******************** */

/* Settings */
/* ******************** */
/* ******************** */

/* Room */
/* ******************** */
/* ******************** */

/* RoomHeader */
/* ******************** */
/* ******************** */

/* Rich-text-editor */
/* ******************** */
/* ******************** */

/* Presence */
/* ******************** */
/* not using a compound color here for now as we want to have the same color in
   light and dark theme. Until we have a non-symetrical token for it, let's keep
   it hardcoded to the following value */
/* ******************** */

/* Inputs */
/* ******************** */
/* ******************** */

/* Dialog */
/* ******************** */
/* ******************** */

/* ImageBody */
/* ******************** */
/* ******************** */

/* RoomList */
/* ******************** */
/* ******************** */

/* e2e */
/* ******************** */
/* ******************** */

/* Tabbed views */
/* ******************** */
/* ******************** */

/* Buttons */
/* ******************** */ /* TODO: Verify color */
/* ******************** */

/* Toggle switch */
/* ******************** */
/* ******************** */

/* Authpage */
/* ******************** */
/* background colour of the modal, when the background is blurred */
/* ******************** */

/* Message action bar */
/* ******************** */
/* ******************** */

/* Reaction row */
/* ******************** */
/* ******************** */

/* Voice messages */
/* ******************** */
/* These two don't change between themes. They are the $alert, but we don't want */
/* custom themes to affect them by accident. */
/* ******************** */

/* Bubble tiles */
/* ******************** */
/* ******************** */

/* Lightbox */
/* ******************** */
/* not using a compound color here for now as we want to have the same color in
   light and dark theme. Until we have a non-symetrical token for it, let's keep
   it hardcoded to the following value */
/* ******************** */

/* VoIP */
/* ******************** */ /* XXX: Color from dark theme */

/* All of these are from dark theme */
/* This one is from light theme */
/* ******************** */

/* One-off colors */
/* ******************** */
/* ******************** */

/* One-off global colors - these apply to both themes */
/* ******************** */
/* ******************** */

/* blur amounts for left left panel (only for element theme) */
/* ******************** */
:root {
    --lp-background-blur: 40px;
}

/* ******************** */

/* Location sharing */
/* ******************** */
/* ******************** */

body {
    color-scheme: light;
}

/* ******************** */

/* diff highlight colors */
/* ******************** */
.hljs-addition {
    background: #2e80de;
    background: var(--cpd-color-green-500);
}

.hljs-deletion {
    background: var(--cpd-color-red-500);
}

/* ******************** */
}
@layer app-web{
/* Colors from Figma Compound https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=559%3A741 */
/* ******************** */

/* ******************** */

/* RoomList */
/* ******************** */
/* ******************** */

/**
 * Creating a `semantic` color scale. This will not be needed with the new
 * visual language, but necessary during the transition period
 * This abstract the `green` away from where accent shades are used
 * Take: `background: rgba($accent, 0.1);`
 * would be transformed to: `background: $accent-300;`
 *
 * To use under very rare circumstances, always prefer the semantics defined
 * in https://compound.element.io/?path=/docs /tokens-semantic-colors--docs
 */

/* Reused Figma non-compound colors */
/* ******************** */
/* ******************** */

/* Theme specific colors */
/* ******************** */
/* ******************** */

/* Colors that aren't in Figma and are theme specific - we need to get rid of these */
/* ******************** */
/* ******************** */

/* Colors that aren't in Figma - we need to get rid of these */
/* ******************** */
/* ******************** */

/* Tooltip */
/* ******************** */
/* ******************** */

/* Widget */
/* ******************** */
/* ******************** */

/* Menu */
/* ******************** */
/* ******************** */

/* Settings */
/* ******************** */
/* ******************** */

/* Room */
/* ******************** */
/* ******************** */

/* RoomHeader */
/* ******************** */
/* ******************** */

/* Rich-text-editor */
/* ******************** */
/* ******************** */

/* Inputs */
/* ******************** */
/* ******************** */

/* Dialog */
/* ******************** */
/* ******************** */

/* RoomList */
/* ******************** */
/* ******************** */

/* Tabbed views */
/* ******************** */
/* ******************** */

/* Buttons */
/* ******************** */
/* ******************** */

/* Toggle switch */
/* ******************** */
/* ******************** */

/* Authpage */
/* ******************** */
/* background colour of the modal, when the background is blurred */
/* ******************** */

/* Message action bar */
/* ******************** */
/* ******************** */

/* Reaction row */
/* ******************** */
/* ******************** */

/* Voice messages */
/* ******************** */
/* ******************** */

/* Bubble tiles */
/* ******************** */
/* ******************** */

/* Lightbox */
/* ******************** */
/* ******************** */

/* VoIP */
/* ******************** */
/* ******************** */

/* Location sharing */
/* ******************** */
/* ******************** */

/* Location sharing */
/* ******************** */
.maplibregl-ctrl-attrib-button {
    color: var(--cpd-color-bg-canvas-default);
}
/* ******************** */

/* One-off colors */
/* ******************** */
/* ******************** */

/* blur amounts for left left panel (only for element theme) */
/* ******************** */
:root {
    --lp-background-blur: 45px;
}
/* ******************** */

body {
    color-scheme: dark;
}

/* Nasty hacks to apply a filter to arbitrary monochrome artwork to make it */
/* better match the theme.  Typically applied to dark grey 'off' buttons or */
/* light grey 'on' buttons. */
/* ******************** */
.mx_filterFlipColor {
    -webkit-filter: invert(1);
            filter: invert(1);
}
/* ******************** */

/* markdown overrides */
/* ******************** */
        .mx_EventTile_content .markdown-body table tr {
            background-color: #000000;
        }

        .mx_EventTile_content .markdown-body table tr:nth-child(2n) {
            background-color: #080808;
        }
/* ******************** */

/* diff highlight colors */
/* ******************** */
.hljs-tag {
    color: inherit; /* Without this they'd be weirdly blue which doesn't match the theme */
}

.hljs-addition {
    background: #1a4b59;
}

.hljs-deletion {
    background: #53232a;
}
/* ******************** */

/* Splash Page Gradient */
.mx_SplashPage::before {
    background-image:
        radial-gradient(53.85% 66.75% at 87.55% 0%, hsla(0deg, 0%, 11%, 0.15) 0%, hsla(250deg, 100%, 88%, 0) 100%),
        radial-gradient(41.93% 41.93% at 0% 0%, hsla(0deg, 0%, 38%, 0.28) 0%, hsla(250deg, 100%, 88%, 0) 100%),
        radial-gradient(100% 100% at 0% 0%, hsla(250deg, 100%, 88%, 0.3) 0%, hsla(0deg, 100%, 86%, 0) 100%),
        radial-gradient(106.35% 96.26% at 100% 0%, hsla(25deg, 100%, 88%, 0.4) 0%, hsla(167deg, 76%, 82%, 0) 100%) !important;
}
}
@layer app-web{

/* sidebar blurred avatar background */

/* if backdrop-filter is supported, */
/* set the user avatar (if any) as a background so */
/* it can be blurred by the tag panel and room list */

.mx_RoomSublist_showNButton {
    background-color: transparent !important;
}

/*
    data-kind is used by the Compound <Link> component and therefore does not override them.
    This is horrible, but will get less horrible when links in the app are replaced with
    <Link>.
*/
    a:not([data-kind]):hover,
    a:not([data-kind]):link,
    a:not([data-kind]):visited {
        text-decoration: none;
    }
}
@layer app-web{
/* autogenerated by rethemendex.sh */
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/**
 * React Transition Group animations are prefixed with 'mx_rtg--' so that we
 * know they should not be used anywhere outside of React Transition Groups.
*/

.mx_rtg--fade-enter {
    opacity: 0;
}
.mx_rtg--fade-enter-active {
    opacity: 1;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
}
.mx_rtg--fade-exit {
    opacity: 1;
}
.mx_rtg--fade-exit-active {
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
}

:root {
    --hover-transition: 0.08s cubic-bezier(0.46, 0.03, 0.52, 0.96); /* quadratic */
}

@-webkit-keyframes mx--anim-pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        opacity: 1;
    }
}

@keyframes mx--anim-pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes mx_Dialog_lightbox_background_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.85;
    }
}

@keyframes mx_Dialog_lightbox_background_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.85;
    }
}

@-webkit-keyframes mx_ImageView_panel_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes mx_ImageView_panel_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@media (prefers-reduced-motion) {
    @-webkit-keyframes mx--anim-pulse {
        /* Override all keyframes in reduced-motion */
    }
    @keyframes mx--anim-pulse {
        /* Override all keyframes in reduced-motion */
    }

    @-webkit-keyframes mx_Dialog_lightbox_background_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    @keyframes mx_Dialog_lightbox_background_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    @-webkit-keyframes mx_ImageView_panel_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    @keyframes mx_ImageView_panel_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    .mx_rtg--fade-enter-active {
        -webkit-transition: none;
        transition: none;
    }
    .mx_rtg--fade-exit-active {
        -webkit-transition: none;
        transition: none;
    }
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2023 The Matrix.org Foundation C.I.C
Copyright 2017-2019 New Vector Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* SCSS variables representing a range of standard lengths.
 *
 * Avoid using these in new code: we cannot adjust their values without causing massive confusion, so they are
 * effectively equivalent to using hardcoded values.
 *
 * In future, we plan to introduce variables named according to their purpose rather than their size. Additionally,
 * we want switch to custom CSS properties (https://github.com/vector-im/element-web/issues/21656), so we might have
 * `--spacing-standard` or something. For now, you might as well use hardcoded px values for lengths (except for font
 * sizes, for which see the `$font-<N>px` variables).
 */
}
@layer app-web{
.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:-webkit-full-screen{height:100%;width:100%}.maplibregl-map:-ms-fullscreen{height:100%;width:100%}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{-ms-touch-action:none;touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:-webkit-grabbing;cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{-ms-touch-action:pinch-zoom;touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{-ms-touch-action:none;touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;-webkit-transform:translate(0);transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.1);box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){-webkit-box-shadow:0 0 0 2px ButtonText;box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{-webkit-box-shadow:0 0 2px 2px #0096ff;box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-group button:focus:focus-visible{-webkit-box-shadow:0 0 2px 2px #0096ff;box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){-webkit-box-shadow:none;box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{-webkit-animation:maplibregl-spin 2s linear infinite;animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@-webkit-keyframes maplibregl-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes maplibregl-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;-webkit-box-sizing:content-box;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;-webkit-box-sizing:border-box;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:-webkit-box;display:-ms-flexbox;display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.maplibregl-popup-anchor-left{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.maplibregl-popup-anchor-right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{-ms-flex-item-align:start;align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{-ms-flex-item-align:end;align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{-ms-flex-item-align:start;align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{-ms-flex-item-align:end;align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-left-color:#fff;border-right:none}[dir=rtl] .maplibregl-popup-anchor-left{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{-ms-flex-item-align:end;align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{-ms-flex-item-align:start;align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{-ms-flex-item-align:end;align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{-ms-flex-item-align:start;align-self:flex-start}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maplibregl-popup-content{background:#fff;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:-webkit-box;display:-ms-flexbox;display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;-webkit-transition:opacity .2s;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{-webkit-animation:maplibregl-user-location-dot-pulse 2s infinite;animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;-webkit-box-shadow:0 0 3px rgba(0,0,0,.35);box-shadow:0 0 3px rgba(0,0,0,.35);-webkit-box-sizing:border-box;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{-webkit-animation:none;animation:none}}@-webkit-keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}70%{opacity:0;-webkit-transform:scale(3);transform:scale(3)}to{opacity:0;-webkit-transform:scale(1);transform:scale(1)}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}70%{opacity:0;-webkit-transform:scale(3);transform:scale(3)}to{opacity:0;-webkit-transform:scale(1);transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:rgba(0,0,0,.4);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:1.4em;inset:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;-webkit-transition:opacity 1s ease 1s;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;-webkit-transition:opacity .05s;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}
}
@layer app-web{

:root {
    --container-border-width: 8px;
    --container-gap-width: 8px; /* only even numbers should be used because otherwise we get 0.5px margin values. */
    --transition-short: 0.1s;
    --transition-standard: 0.3s;
    --buttons-dialog-gap-row: 8px;
    --buttons-dialog-gap-column: 8px;
    --MBody-border-radius: 8px;
    --EventTileBubble_margin-block: 10px;
    --MessageTimestamp-width: 46px; /* 8 + 30 (avatar) + 8 */

    /* Expected z-indexes for dialogs:
        4000 - Default wrapper index
        4009 - Static dialog background
        4010 - Static dialog itself
        4011 - Standard dialog background
        4012 - Standard dialog itself

       These are set up such that the static dialog always appears
       underneath the standard dialogs.
     */
    --dialog-zIndex-wrapper-default: 4000;
    --dialog-zIndex-static-background: 4009;
    --dialog-zIndex-static: calc(var(--dialog-zIndex-static-background) + 1); /* 4010 */
    --dialog-zIndex-standard-background: calc(var(--dialog-zIndex-static) + 1); /* 4011 */
    --dialog-zIndex-standard: calc(var(--dialog-zIndex-standard-background) + 1); /* 4012 */
}

#matrixchat {
    /* This is required to ensure Compound tooltips correctly draw where they should with z-index: auto */
    contain: strict;
}
#mx_ContextualMenu_Container,
#mx_PersistedElement_container,
#mx_Dialog_Container,
#mx_Dialog_StaticContainer {
    /* This is required to ensure Compound tooltips correctly draw where they should with z-index: auto */
    isolation: isolate;
}

/**
 * Disable pointer events inside the persistentElement container when the room-list is being resized.
 * This is necessary to avoid the pointer events from being hijacked by the content rendered inside
 * that div.
 */
:root:has(.mx_Separator[data-separator="active"]) #mx_PersistedElement_container {
    pointer-events: none;
}

/**
 * We need to increase the specificity of the selector to override the
 * custom property set by the design tokens package
 */
[class^="cpd-theme"][class^="cpd-theme"] {
    /**
     * The design tokens package currently does not expose the fallback fonts
     * We want to keep on re-using `$font-family` to not break custom themes
     * and because we can to use `Twemoji` to display emoji rather than using
     * system ones
     */
    --cpd-font-family-sans: "Inter", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Arial", "Helvetica", sans-serif,
    "Noto Color Emoji";
}

@media (prefers-reduced-motion) {
    :root {
        --transition-short: 0;
        --transition-standard: 0;
    }
}

html {
    /* hack to stop overscroll bounce on OSX and iOS.
       N.B. Breaks things when we have legitimate horizontal overscroll */
    height: 100%;
    overflow: hidden;
    /* Stop similar overscroll bounce in Firefox Nightly for macOS */
    -ms-scroll-chaining: none;
        overscroll-behavior: none;
}

body {
    /* !important because compound overrides these font settings for body */
    font: var(--cpd-font-body-md-regular) !important;
    letter-spacing: var(--cpd-font-letter-spacing-body-md) !important;
    /**
     * We want to apply Inter Dynamic metrics (https://rsms.me/inter/dynmetrics/)
     * We need to tweak the `letter-spacing` property and doing so, disables by
     * default the optional ligatures
     * `font-feature-settings` allows us to override this behaviour and have the
     * correct ligatures and the proper dynamic metric spacing.
     */
    -webkit-font-feature-settings:
        "kern" 1,
        "liga" 1,
        "calt" 1 !important;
            font-feature-settings:
        "kern" 1,
        "liga" 1,
        "calt" 1 !important;

    background-color: var(--cpd-color-bg-canvas-default);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    border: 0px;
    margin: 0px;

    /* needed to match the designs correctly on macOS */
    /* see https://github.com/vector-im/element-web/issues/11425 */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

pre,
code {
    font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji";
    font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji";
    font-size: 100% !important;
}

.error,
.warning,
.text-error,
.text-warning {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

.text-success {
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
}

.text-muted {
    color: #91a1c0;
}

.text-primary {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.text-secondary {
    color: var(--cpd-color-text-secondary);
}

.mx_Verified {
    color: #3ecf8e;
    color: var(--cpd-color-icon-success-primary);
}

.mx_Untrusted {
    color: var(--cpd-color-icon-critical-primary);
}

b {
    /* On Firefox, the default weight for `<b>` is `bolder` which results in no bold */
    /* effect since we only have specific weights of our fonts available. */
    font-weight: bold;
}

/* Keep the legacy link colour without overriding Compound anchors or shared timestamp styling. */
a:where(:not([data-kind]):not(.mx_MessageTimestamp)):hover,
a:where(:not([data-kind]):not(.mx_MessageTimestamp)):link,
a:where(:not([data-kind]):not(.mx_MessageTimestamp)):visited {
    color: var(--cpd-color-text-link-external);
}

:not(.mx_no_textinput):not(.mx_textinput):not(.mx_Field) > input[type="text"],
:not(.mx_no_textinput):not(.mx_textinput):not(.mx_Field) > input[type="search"],
:not(.mx_no_textinput):not(.mx_textinput):not(.mx_Field) > input[type="password"] {
    padding: 9px;
    font: var(--cpd-font-body-md-semibold);
    font-weight: var(--cpd-font-weight-semibold);
    min-width: 0;
}

input[type="text"].mx_textinput_icon,
input[type="search"].mx_textinput_icon {
    padding-left: 36px;
    background-repeat: no-repeat;
    background-position: 10px center;
}

/* FIXME THEME - Tint by CSS rather than referencing a duplicate asset */
input[type="text"].mx_textinput_icon.mx_textinput_search,
input[type="search"].mx_textinput_icon.mx_textinput_search {
    background-image: url(../../icons/search.7258145.svg);
}

/* dont search UI as not all browsers support it, */
/* we implement it ourselves where needed instead */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

/* Override Firefox's UA style so we get a consistent look across browsers */
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    opacity: 1;
    opacity: initial;
}
input::-moz-placeholder, textarea::-moz-placeholder {
    opacity: 1;
    opacity: initial;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    opacity: 1;
    opacity: initial;
}
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    opacity: 1;
    opacity: initial;
}
input::placeholder,
textarea::placeholder {
    opacity: 1;
    opacity: initial;
}

input[type="text"],
input[type="password"],
textarea {
    background-color: transparent;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

/* Required by Firefox */
textarea {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus {
    outline: none;
    -webkit-box-shadow: none;
            box-shadow: none;
}

/* This is used to hide the standard outline added by browsers for */
/* accessible (focusable) components. Not intended for buttons, but */
/* should be used on things like focusable containers where the outline */
/* is usually not helping anyone. */
*:focus:not(:focus-visible) {
    outline: none;
}

/* override defaults */
fieldset {
    display: inline-block;
    margin-inline: unset;
    padding-block: unset;
    padding-inline: unset;
    min-inline-size: unset;
    border: none;
}

summary {
    cursor: pointer;
}

legend {
    padding-inline: unset;
    border: none;
}

/* .mx_textinput is a container for a text input */
/* + some other controls like buttons, ... */
/* it has the appearance of a text box so the controls */
/* appear to be part of the input */
    .mx_Dialog .mx_textinput > input[type="text"],
    .mx_Dialog .mx_textinput > input[type="search"],
    .mx_MatrixChat_wrapper .mx_textinput > input[type="text"],
    .mx_MatrixChat_wrapper .mx_textinput > input[type="search"] {
        border: none;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"],
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"],
    .mx_Dialog .mx_textinput,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"],
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"],
    .mx_MatrixChat_wrapper .mx_textinput {
        display: block;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: transparent;
        color: #61708b;
        border-radius: 4px;
        border: 1px solid #182533;
        border: 1px solid var(--cpd-color-gray-300);
        /* these things should probably not be defined globally */
        margin: 9px;
    }

    .mx_Dialog .mx_textinput, .mx_MatrixChat_wrapper .mx_textinput {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-webkit-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-webkit-input-placeholder, .mx_Dialog .mx_textinput input::-webkit-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-webkit-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-webkit-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-webkit-input-placeholder {
        color: var(--cpd-color-text-secondary);
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-moz-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-moz-placeholder, .mx_Dialog .mx_textinput input::-moz-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-moz-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-moz-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-moz-placeholder {
        color: var(--cpd-color-text-secondary);
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]:-ms-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]:-ms-input-placeholder, .mx_Dialog .mx_textinput input:-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]:-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]:-ms-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input:-ms-input-placeholder {
        color: var(--cpd-color-text-secondary);
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-ms-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-ms-input-placeholder, .mx_Dialog .mx_textinput input::-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-ms-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-ms-input-placeholder {
        color: var(--cpd-color-text-secondary);
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::placeholder,
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::placeholder,
    .mx_Dialog .mx_textinput input::placeholder,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::placeholder,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::placeholder,
    .mx_MatrixChat_wrapper .mx_textinput input::placeholder {
        color: var(--cpd-color-text-secondary);
    }

/* Prevent ugly dotted highlight around selected elements in Firefox */
::-moz-focus-inner {
    border: 0;
}

/* These are magic constants which are excluded from tinting, to let themes */
/* (which only have CSS) tell the app what their non-tinted */
/* colourscheme is by inspecting the stylesheet DOM. */
/* They are not used for layout!! */
#mx_theme_accentColor {
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
}

#mx_theme_secondaryAccentColor {
    color: #f2f5f8;
}

.mx_Dialog_wrapper {
    position: fixed;
    z-index: 4000;
    z-index: var(--dialog-zIndex-wrapper-default);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_Dialog_border {
    z-index: calc(calc(calc(4009 + 1) + 1) + 1);
    z-index: var(--dialog-zIndex-standard);
    position: relative;
    width: 100%;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-height: calc(100% - var(--cpd-space-6x));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

    .mx_Dialog_lightbox .mx_Dialog_border {
        /* The lightbox isn't so much of a dialog as a fullscreen overlay. We
        don't want the glass border. */
        display: contents;
    }

.mx_Dialog {
    background-color: var(--cpd-color-bg-canvas-default);
    color: #c8c8cd;
    font-size: 0.9375rem;
    position: relative;
    padding: var(--cpd-space-8x) var(--cpd-space-10x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow-y: auto;

    /* Styles copied/inspired by GroupLayout, ReplyTile, and EventTile variants. */
}

    .mx_Dialog_staticWrapper .mx_Dialog {
        z-index: calc(4009 + 1);
        z-index: var(--dialog-zIndex-static);
        contain: content;
    }

    .mx_Dialog_lightbox .mx_Dialog {
        border-radius: 0px;
        background-color: transparent;
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        pointer-events: none;
        padding: 0;
    }
    .mx_Dialog .markdown-body {
        font: var(--cpd-font-body-md-regular) !important;
        letter-spacing: var(--cpd-font-letter-spacing-body-md);
        font-family: inherit !important;
        white-space: normal !important;
        line-height: inherit !important;
        background-color: inherit;
        color: inherit; /* inherit the colour from the dark or light theme by default (but not for code blocks) */

        /* this selector wrongly applies to code blocks too but we will unset it in the next one */

        /* Make h1 and h2 the same size as h3. */
    }

        .mx_Dialog .markdown-body pre,
        .mx_Dialog .markdown-body code {
            font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            background-color: #2a3039;
        }
        .mx_Dialog .markdown-body code {
            white-space: pre-wrap; /* don't collapse spaces in inline code blocks */
        }

        .mx_Dialog .markdown-body pre {
            /* have to use overlay rather than auto otherwise Linux and Windows */
            /* Chrome gets very confused about vertical spacing: */
            /* https://github.com/vector-im/vector-web/issues/754 */
            overflow-x: overlay;
            overflow-y: visible;
        }

            .mx_Dialog .markdown-body pre::-webkit-scrollbar-corner {
                background: transparent;
            }

            .mx_Dialog .markdown-body pre code {
                white-space: pre; /* we want code blocks to be scrollable and not wrap */
            }

                .mx_Dialog .markdown-body pre code > * {
                    display: inline;
                }

        .mx_Dialog .markdown-body h1,
        .mx_Dialog .markdown-body h2,
        .mx_Dialog .markdown-body h3,
        .mx_Dialog .markdown-body h4,
        .mx_Dialog .markdown-body h5,
        .mx_Dialog .markdown-body h6 {
            font-family: inherit !important;
            color: inherit;
        }
        .mx_Dialog .markdown-body h1,
        .mx_Dialog .markdown-body h2 {
            font-size: 1.5em;
            border-bottom: none !important; /* override GFM */
        }

        .mx_Dialog .markdown-body a {
            color: var(--cpd-color-text-link-external);
        }

        .mx_Dialog .markdown-body blockquote {
            border-left: 2px solid var(--cpd-color-border-interactive-primary);
            color: var(--cpd-color-text-secondary);
            border-radius: 2px;
            padding: 0 10px;
        }

.mx_Dialog_fixedWidth {
    width: 60vw;
    max-width: 704px;
}

.mx_Dialog_background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00000080;
    z-index: calc(calc(4009 + 1) + 1);
    z-index: var(--dialog-zIndex-standard-background);
}

    .mx_Dialog_background.mx_Dialog_staticBackground {
        z-index: 4009;
        z-index: var(--dialog-zIndex-static-background);
    }

    .mx_Dialog_wrapperWithStaticUnder .mx_Dialog_background {
        /* Roughly half of what it would normally be - we don't want to black out */
        /* the app, just make it clear that the dialogs are stacked. */
        opacity: 0.4;
    }

    .mx_Dialog_lightbox .mx_Dialog_background {
        opacity: 0.85;
        background-color: #000000;
        -webkit-animation-name: mx_Dialog_lightbox_background_keyframes;
                animation-name: mx_Dialog_lightbox_background_keyframes;
        -webkit-animation-duration: 300ms;
                animation-duration: 300ms;
    }

.mx_Dialog_titleImage {
    vertical-align: sub;
    width: 25px;
    height: 25px;
    margin-left: -2px;
    margin-right: 4px;
    margin-bottom: 2px;
}

.mx_Dialog_title {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: inline-block;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
}

    .mx_Dialog_title.danger {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }

.mx_Dialog_header {
    position: relative;
    padding: 0;
    -webkit-padding-end: 20px;
            padding-inline-end: 20px; /* Reserve room for the close button */
    margin-bottom: var(--cpd-space-2x);
}

    .mx_Dialog_header.mx_Dialog_headerWithButton > .mx_Dialog_title {
        text-align: center;
    }

.mx_Dialog_cancelButton {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_Dialog_cancelButton:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_Dialog_cancelButton svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_Dialog_cancelButton{
    position: absolute;
    top: var(--cpd-space-4x);
    right: var(--cpd-space-4x);
}

.mx_Dialog_content {
    margin: 24px 0 68px;
    font: var(--cpd-font-body-md-regular);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    word-wrap: break-word;
}

.mx_Dialog_buttons {
    margin-top: 20px;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    text-align: right;
}

    .mx_Dialog_buttons .mx_Dialog_buttons_additive {
        /* The consumer is responsible for positioning their elements. */
        float: left;
    }

    .mx_Dialog_buttons .mx_Dialog_buttons_row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        text-align: left;
        text-align: initial;
        -webkit-margin-start: auto;
                margin-inline-start: auto;

        /* default gap among elements */
        -webkit-column-gap: 8px;
           -moz-column-gap: 8px;
                column-gap: 8px;
        -webkit-column-gap: var(--buttons-dialog-gap-column);
           -moz-column-gap: var(--buttons-dialog-gap-column);
                column-gap: var(--buttons-dialog-gap-column);
        row-gap: 8px;
        row-gap: var(--buttons-dialog-gap-row);
    }

        .mx_Dialog_buttons .mx_Dialog_buttons_row button {
            margin: 0 !important; /* override the margin settings */
        }

/* XXX: Our button style are a mess: buttons that happen to appear in dialogs get special styles applied
 * to them that no button anywhere else in the app gets by default. In practice, buttons in other places
 * in the app look the same by being AccessibleButtons, or possibly by having explict button classes.
 * We should go through and have one consistent set of styles for buttons throughout the app.
 * For now, I am duplicating the selectors here for mx_Dialog and mx_DialogButtons.
 */
.mx_Dialog
    button:not(
        .mx_EncryptionUserSettingsTab button,
        .mx_EncryptionCard button,
        .mx_UserProfileSettings button,
        .mx_ShareDialog button,
        .mx_UnpinAllDialog button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_Dialog_nonDialogButton,
        .mx_AccessibleButton,
        .mx_IdentityServerPicker button,
        .mx_AccessSecretStorageDialog button,
        .mx_InviteDialog_section button,
        .mx_InviteDialog_editor button,
        .mx_UnknownIdentityUsersWarningDialog button,
        .mx_ThreadActionBar button,
        .mx_HistoryActionBar button,
        [class|="maplibregl"]
    ),
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton),
.mx_Dialog input[type="submit"],
.mx_Dialog_buttons input[type="submit"] {
    /* align images in buttons (eg spinners) */
    vertical-align: middle;
    border: 0px;
    border-radius: 24px;
    font: var(--cpd-font-body-md-regular);
    color: var(--cpd-color-bg-canvas-default);
    background-color: #2e80de;
    background-color: var(--cpd-color-bg-action-primary-rest);
    width: auto;
    padding: 7px;
    padding-left: 1.5em;
    padding-right: 1.5em;
    cursor: pointer;
    display: inline-block;

    /* flip colours for the secondary ones */
}
    .mx_Dialog
    button:not(
        .mx_EncryptionUserSettingsTab button,
        .mx_EncryptionCard button,
        .mx_UserProfileSettings button,
        .mx_ShareDialog button,
        .mx_UnpinAllDialog button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_Dialog_nonDialogButton,
        .mx_AccessibleButton,
        .mx_IdentityServerPicker button,
        .mx_AccessSecretStorageDialog button,
        .mx_InviteDialog_section button,
        .mx_InviteDialog_editor button,
        .mx_UnknownIdentityUsersWarningDialog button,
        .mx_ThreadActionBar button,
        .mx_HistoryActionBar button,
        [class|="maplibregl"]
    ):not(:focus-visible), .mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton):not(:focus-visible), .mx_Dialog input[type="submit"]:not(:focus-visible), .mx_Dialog_buttons input[type="submit"]:not(:focus-visible) {
        outline: none;
    }
    .mx_Dialog
    button:not(
        .mx_EncryptionUserSettingsTab button,
        .mx_EncryptionCard button,
        .mx_UserProfileSettings button,
        .mx_ShareDialog button,
        .mx_UnpinAllDialog button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_Dialog_nonDialogButton,
        .mx_AccessibleButton,
        .mx_IdentityServerPicker button,
        .mx_AccessSecretStorageDialog button,
        .mx_InviteDialog_section button,
        .mx_InviteDialog_editor button,
        .mx_UnknownIdentityUsersWarningDialog button,
        .mx_ThreadActionBar button,
        .mx_HistoryActionBar button,
        [class|="maplibregl"]
    ),
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton),
.mx_Dialog input[type="submit"],
.mx_Dialog_buttons input[type="submit"]{
    margin-left: 0px;
    margin-right: 8px;
    margin-right: 8px;
    margin-right: var(--buttons-dialog-gap-column);
    margin-bottom: 5px;
    font-weight: var(--cpd-font-weight-semibold);
    border: 1px solid var(--cpd-color-border-interactive-secondary);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: transparent;
    font-family: inherit;
}

.mx_Dialog
    button:not(
        .mx_Dialog_nonDialogButton,
        [class|="maplibregl"],
        .mx_AccessibleButton,
        .mx_UserProfileSettings button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_UnpinAllDialog button,
        .mx_ShareDialog button,
        .mx_EncryptionUserSettingsTab button,
        .mx_UnknownIdentityUsersWarningDialog button
    ):last-child {
    margin-right: 0px;
}

.mx_Dialog
    button:not(
        .mx_Dialog_nonDialogButton,
        [class|="maplibregl"],
        .mx_AccessibleButton,
        .mx_UserProfileSettings button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_UnpinAllDialog button,
        .mx_ShareDialog button,
        .mx_EncryptionUserSettingsTab button,
        .mx_InviteDialog_section button,
        .mx_InviteDialog_editor button,
        .mx_UnknownIdentityUsersWarningDialog button
    ):focus,
.mx_Dialog input[type="submit"]:focus,
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton):focus,
.mx_Dialog_buttons input[type="submit"]:focus {
    -webkit-filter: brightness(105%);
            filter: brightness(105%);
}

.mx_Dialog button.mx_Dialog_primary:not(.mx_Dialog_nonDialogButton, [class|="maplibregl"]),
.mx_Dialog input[type="submit"].mx_Dialog_primary,
.mx_Dialog_buttons
    button:not(
        .mx_Dialog_nonDialogButton,
        .mx_AccessibleButton,
        .mx_UserProfileSettings button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_UnpinAllDialog button,
        .mx_ShareDialog button,
        .mx_EncryptionUserSettingsTab button,
        .mx_UnknownIdentityUsersWarningDialog button
    ),
.mx_Dialog_buttons input[type="submit"].mx_Dialog_primary {
    color: var(--cpd-color-text-on-solid-primary);
    background-color: #2e80de;
    background-color: var(--cpd-color-bg-action-primary-rest);
    border-color: #2e80de;
    border-color: var(--cpd-color-bg-action-primary-rest);
    min-width: 156px;
}

.mx_Dialog button.danger:not(.mx_Dialog_nonDialogButton, [class|="maplibregl"]),
.mx_Dialog input[type="submit"].danger,
.mx_Dialog_buttons
    button.danger:not(
        .mx_Dialog_nonDialogButton,
        .mx_AccessibleButton,
        .mx_UserProfileSettings button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_UnpinAllDialog button,
        .mx_ShareDialog button,
        .mx_EncryptionUserSettingsTab button,
        .mx_UnknownIdentityUsersWarningDialog button
    ),
.mx_Dialog_buttons input[type="submit"].danger {
    background-color: var(--cpd-color-bg-critical-primary);
    border: solid 1px var(--cpd-color-bg-critical-primary);
    color: var(--cpd-color-text-on-solid-primary);
}

.mx_Dialog button.warning:not(.mx_Dialog_nonDialogButton, [class|="maplibregl"]),
.mx_Dialog input[type="submit"].warning {
    border: solid 1px var(--cpd-color-border-critical-subtle);
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

.mx_Dialog
    button:not(
        .mx_Dialog_nonDialogButton,
        [class|="maplibregl"],
        .mx_AccessibleButton,
        .mx_UserProfileSettings button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_UnpinAllDialog button,
        .mx_ShareDialog button,
        .mx_EncryptionUserSettingsTab button,
        .mx_UnknownIdentityUsersWarningDialog button
    ):disabled,
.mx_Dialog input[type="submit"]:disabled,
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton):disabled,
.mx_Dialog_buttons input[type="submit"]:disabled {
    background-color: #c8c8cd;
    border: solid 1px #c8c8cd;
    opacity: 0.7;
}

/* Spinner Dialog overide */
.mx_Dialog_wrapper.mx_Dialog_spinner {
    /* This is not a real dialog, so we shouldn't show a glass border */
}
    .mx_Dialog_wrapper.mx_Dialog_spinner .mx_Dialog_border {
        display: contents;
    }

    .mx_Dialog_wrapper.mx_Dialog_spinner .mx_Dialog {
        inline-size: auto;
        block-size: auto;
        border-radius: 8px;
        padding: 8px;
        -webkit-box-shadow: none;
                box-shadow: none;

        /* Don't show scroll-bars on spinner dialogs */
        overflow-x: hidden;
        overflow-y: hidden;
    }

/* TODO: Review mx_GeneralButton usage to see if it can use a different class */
/* These classes were brought in from the old UserSettings and are included here to avoid */
/* breaking the app. */
/* Ref: https://github.com/vector-im/element-web/issues/8420 */
.mx_GeneralButton {
    /* align images in buttons (eg spinners) */
    vertical-align: middle;
    border: 0px;
    border-radius: 24px;
    font: var(--cpd-font-body-md-regular);
    color: var(--cpd-color-bg-canvas-default);
    background-color: #2e80de;
    background-color: var(--cpd-color-bg-action-primary-rest);
    width: auto;
    padding: 7px;
    padding-left: 1.5em;
    padding-right: 1.5em;
    cursor: pointer;
    display: inline-block;
}
    .mx_GeneralButton:not(:focus-visible) {
        outline: none;
    }
    .mx_GeneralButton{
    display: inline;
    margin: auto;
}

.mx_TextInputDialog_label {
    text-align: left;
    padding-bottom: 12px;
}

.mx_TextInputDialog_input {
    font-size: 0.9375rem;
    border-radius: 3px;
    border: 1px solid rgba(231, 231, 231, 0.2);
    padding: 9px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-canvas-default);
}

.mx_button_row {
    margin-top: 69px;
}

/* username colors */
/* used by SenderProfile & RoomPreviewBar */
.mx_Username_color1 {
    color: var(--cpd-color-text-decorative-1);
}

.mx_Username_color2 {
    color: var(--cpd-color-text-decorative-2);
}

.mx_Username_color3 {
    color: var(--cpd-color-text-decorative-3);
}

.mx_Username_color4 {
    color: var(--cpd-color-text-decorative-4);
}

.mx_Username_color5 {
    color: var(--cpd-color-text-decorative-5);
}

.mx_Username_color6 {
    color: var(--cpd-color-text-decorative-6);
}

.mx_AppWarning,
.mx_AppPermission {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_lineClamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    -webkit-line-clamp: var(--mx-line-clamp, 1);
    overflow: hidden;
}

/* Layout compatibility hook for timestamp placement in existing app/web timeline surfaces. */
.mx_MessageTimestamp {
    display: block; /* enable the width setting below */
    width: 46px;
    width: var(--MessageTimestamp-width);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconListItem {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 12px 0;

    border-bottom: 1px solid var(--cpd-color-bg-subtle-secondary);

    cursor: pointer;
}

.mx_BeaconListItem_avatarIcon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    height: 32px;
    width: 32px;
}

.mx_BeaconListItem_avatar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    margin-right: 8px;
    border: 2px solid #5c56f5;
    border-radius: 50%;
}

.mx_BeaconListItem_info {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.mx_BeaconListItem_status {
    /* override beacon status padding */
    padding: 0 !important;
    margin-bottom: 8px;
}

    .mx_BeaconListItem_status .mx_BeaconStatus_label {
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_BeaconListItem_lastUpdated {
    color: var(--cpd-color-gray-800);
    font-size: 0.625rem;
}

.mx_BeaconListItem_interactions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconStatus {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    padding: 8px;

    color: var(--color);
    font-size: 0.75rem;
}

.mx_BeaconStatus_Loading,
.mx_BeaconStatus_Stopped {
    --color: var(--cpd-color-gray-800);
}

.mx_BeaconStatus_Active,
.mx_BeaconStatus_Error {
    --color: var(--cpd-color-text-primary);
}

.mx_BeaconStatus_icon {
    height: 32px;
    width: 32px;

    -webkit-box-flex: 0;

        -ms-flex: 0 0 32px;

            flex: 0 0 32px;
    margin-right: 8px;
}

.mx_BeaconStatus_description {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    line-height: 0.875rem;

    padding-right: 8px;

    white-space: nowrap;
    overflow: hidden;
}

    .mx_BeaconStatus_description .mx_BeaconStatus_description_status {
        text-overflow: ellipsis;
        overflow: hidden;
    }

.mx_BeaconStatus_expiryTime {
    color: var(--cpd-color-text-secondary);
}

.mx_BeaconStatus_label {
    margin-bottom: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconStatusTooltip {
    position: absolute;
    top: 42px;
    max-width: 150px;
    height: 38px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding-top: 8px;
}

.mx_BeaconStatusTooltip_inner {
    position: relative;
    height: 100%;
    border-radius: 4px;
    background: var(--cpd-color-bg-subtle-secondary);
    -webkit-box-shadow: 4px 4px 12px 0 var(--cpd-color-bg-canvas-default);
            box-shadow: 4px 4px 12px 0 var(--cpd-color-bg-canvas-default);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconViewDialog_wrapper .mx_Dialog {
    padding: 0px;

    /* Unset contain and position to allow the close button
    to appear outside the dialog */
    contain: unset;
    position: static;
    position: initial;
}

.mx_BeaconViewDialog {
    /* subtract 0.5px to prevent single-pixel margin due to rounding */
    width: calc(80vw - 0.5px);
    height: calc(80vh - 0.5px);
    overflow: hidden;

    /* sidebar is absolutely positioned inside */
    position: relative;
}

    .mx_BeaconViewDialog .mx_Dialog_header {
        margin: 0px;
        padding: 0px;
        position: static;
        position: initial;
    }

        .mx_BeaconViewDialog .mx_Dialog_header .mx_Dialog_title {
            display: none;
        }

        .mx_BeaconViewDialog .mx_Dialog_header .mx_Dialog_cancelButton {
            z-index: 4010;
            position: fixed;
            right: 5vw;
            top: 5vh;
            width: 20px;
            height: 20px;
            background-color: #ffffff;
            background-color: var(--cpd-color-text-primary);
        }

.mx_BeaconViewDialog_map {
    width: 80vw;
    height: 80vh;
    border-radius: 8px;
}

.mx_BeaconViewDialog_mapFallbackMessage {
    color: var(--cpd-color-text-secondary);
    margin-bottom: 16px;
}

.mx_BeaconViewDialog_viewListButton {
    position: absolute;
    top: 24px;
    left: 24px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialogOwnBeaconStatus {
    position: absolute;
    bottom: 32px;
    width: 300px;
    margin-left: -150px;
    left: 50%;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;

    background: var(--cpd-color-bg-canvas-default);
    border-radius: 8px;
    -webkit-box-shadow: 4px 4px 12px 0 var(--cpd-color-bg-canvas-default);
            box-shadow: 4px 4px 12px 0 var(--cpd-color-bg-canvas-default);

    padding: 0 12px;
}

.mx_DialogOwnBeaconStatus_avatarIcon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    height: 32px;
    width: 32px;
    margin: 8px 0 8px 0;
}

.mx_DialogOwnBeaconStatus_avatar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    border: 2px solid #5c56f5;
    border-radius: 50%;
    margin: 8px 0 8px 0;
}

.mx_DialogOwnBeaconStatus_status {
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
    padding-right: 0;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialogSidebar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 265px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    padding: 16px;

    background-color: var(--cpd-color-bg-canvas-default);
    -webkit-box-shadow: 0px 4px 4px var(--cpd-color-bg-canvas-default);
            box-shadow: 0px 4px 4px var(--cpd-color-bg-canvas-default);
}

    .mx_DialogSidebar .mx_DialogSidebar_header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;

        -webkit-box-flex: 0;

            -ms-flex: 0 0;

                flex: 0 0;
        margin-bottom: 16px;

        color: #ffffff;

        color: var(--cpd-color-text-primary);
    }

        .mx_DialogSidebar .mx_DialogSidebar_header .mx_DialogSidebar_closeButtonIcon {
            color: var(--cpd-color-gray-800);
        }

    .mx_DialogSidebar .mx_DialogSidebar_list {
        list-style: none;
        padding: 0;
        margin: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        width: 100%;
        overflow: auto;
    }

.mx_DialogSidebar_noResults {
    font: var(--cpd-font-body-md-regular);
    color: var(--cpd-color-text-secondary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LeftPanelLiveShareWarning {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    padding: 4px;
    text-align: center;

    background-color: #2e80de;

    background-color: var(--cpd-color-text-action-accent);
    color: #fff;
    font-size: 0.625rem;

    /* panel backdrops overlay the whole sidepanel */
    /* go above to get hover for title */
    z-index: 1;
}

.mx_LeftPanelLiveShareWarning__error {
    background-color: #e0454b;
    background-color: var(--cpd-color-text-critical-primary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LiveTimeRemaining {
    color: var(--cpd-color-text-secondary);
    font-size: 0.75rem;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_OwnBeaconStatus_button {
    margin-left: 8px;
}

.mx_EventTile[data-layout="bubble"] .mx_OwnBeaconStatus_button {
    /* align to top to make room for timestamp */
    /* in bubble view */
    -ms-flex-item-align: start;
        align-self: start;
}

.mx_OwnBeaconStatus_destructiveButton {
    /* override button link_inline styles */
    color: #e0454b !important;
    color: var(--cpd-color-text-critical-primary) !important;
    font-weight: var(--cpd-font-weight-semibold) !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareLatestLocation_icon {
    height: 13px;
    width: 13px;
    color: var(--cpd-color-text-secondary);
}

/* double class to be more specific than the general mx_CopyableText CSS rule */
.mx_CopyableText.mx_ShareLatestLocation_copy {
    /* override copyable text style to make compact */
}
    .mx_CopyableText.mx_ShareLatestLocation_copy .mx_CopyableText_copyButton {
        height: 13px;
        margin-left: 8px !important;
        position: relative;
        top: -1px;
        width: 13px;
    }

        .mx_CopyableText.mx_ShareLatestLocation_copy .mx_CopyableText_copyButton::before {
            background-color: var(--cpd-color-text-secondary);
            height: 13px;
            width: 13px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_StyledLiveBeaconIcon {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-width: 2px;
    border-style: solid;
    border-radius: 50%;

    background-color: #5c56f5;
    border-color: #5c56f5;
    padding: 2px;
    /* colors icon */
    color: white;
}

.mx_StyledLiveBeaconIcon.mx_StyledLiveBeaconIcon_error {
    background-color: #e0454b;
    background-color: var(--cpd-color-text-critical-primary);
    border-color: #e0454b;
    border-color: var(--cpd-color-text-critical-primary);
}

.mx_StyledLiveBeaconIcon.mx_StyledLiveBeaconIcon_idle {
    background-color: var(--cpd-color-gray-600);
    border-color: var(--cpd-color-gray-600);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_KebabContextMenu_icon {
    width: 24px;
    height: 24px;
    color: var(--cpd-color-icon-tertiary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollDetailHeader {
    /* override accessiblebutton style */
    font-size: 0.9375rem !important;
}

.mx_PollDetailHeader_icon {
    height: 16px;
    width: 16px;
    margin-right: 8px;
    vertical-align: middle;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollListItem {
    width: 100%;
}

.mx_PollListItem_content {
    width: 100%;
    display: grid;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-gap: 8px;
    gap: 8px;
    grid-template-columns: auto auto auto;
    grid-template-rows: auto;
    cursor: pointer;

    color: #ffffff;

    color: var(--cpd-color-text-primary);
}

.mx_PollListItem_icon {
    height: 14px;
    width: 14px;
    color: var(--cpd-color-gray-600);
    padding-left: 8px;
}

.mx_PollListItem_question {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollListItemEnded {
    width: 100%;
}

.mx_PollListItemEnded_content {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    cursor: pointer;
}

.mx_PollListItemEnded_title {
    display: grid;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-gap: 8px;
    gap: 8px;
    grid-template-columns: -webkit-min-content 1fr -webkit-min-content;
    grid-template-columns: min-content 1fr min-content;
    grid-template-rows: auto;
}

.mx_PollListItemEnded_icon {
    height: 14px;
    width: 14px;
    color: var(--cpd-color-gray-600);
    padding-left: 8px;
}

.mx_PollListItemEnded_date {
    font-size: 0.75rem;
    color: var(--cpd-color-text-secondary);
}

.mx_PollListItemEnded_question {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mx_PollListItemEnded_answers {
    display: grid;
    grid-gap: 8px;
    gap: 8px;
    margin-top: 12px;
}

.mx_PollListItemEnded_voteCount {
    /* 6px to match PollOption padding */
    margin: 8px 0 0 6px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2023 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AppPermission {
    font-size: 0.75rem;
    width: 100%; /* make mx_AppPermission fill width of mx_AppTileBody so that scroll bar appears on the edge */
    overflow-y: scroll;
}
    .mx_AppPermission .mx_AppPermission_bolder,
    .mx_AppPermission .mx_AppPermission_content_bolder {
        font-weight: var(--cpd-font-weight-semibold);
    }
    .mx_AppPermission .mx_AppPermission_content {
        margin-block: auto; /* place at the center */
    }

        .mx_AppPermission .mx_AppPermission_content > div {
            margin-block: 12px;
        }

        .mx_AppPermission .mx_AppPermission_content .mx_TextWithTooltip_target--helpIcon {
            display: inline-block;
            height: 0.875rem; /* align with characters on the same line */
            vertical-align: middle;
        }

            .mx_AppPermission .mx_AppPermission_content .mx_TextWithTooltip_target--helpIcon .mx_Icon {
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Suguru Hirahara

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AppWarning {
    font-size: 1rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

    .mx_AppWarning h4 {
        margin: 0;
        padding: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_FilterDropdown .mx_Dropdown_menu {
        margin-top: 4px;
        left: auto;
        left: initial;
        right: -12px;
        width: 232px;
        padding: 12px;

        border: 1px solid var(--cpd-color-gray-400);
        border-radius: 8px;
        -webkit-box-shadow: 0px 1px 3px rgb(23, 25, 28, 0.05);
                box-shadow: 0px 1px 3px rgb(23, 25, 28, 0.05);

        background-color: var(--cpd-color-bg-subtle-secondary);
    }

        .mx_FilterDropdown .mx_Dropdown_menu .mx_Dropdown_option_highlight {
            background-color: transparent;
        }

    .mx_FilterDropdown .mx_Dropdown_input {
        height: 24px;
        background-color: transparent;
        border-color: transparent;
        color: var(--cpd-color-text-secondary);
        border-radius: 4px;
    }

        .mx_FilterDropdown .mx_Dropdown_input:focus,
        .mx_FilterDropdown .mx_Dropdown_input:hover {
            background-color: var(--cpd-color-gray-400);
            border-color: var(--cpd-color-gray-400);
        }

    .mx_FilterDropdown .mx_Dropdown_arrow {
        color: var(--cpd-color-text-secondary);
    }

.mx_FilterDropdown_option {
    position: relative;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 8px 0 8px 20px;

    font-size: 0.75rem;
    line-height: 0.9375rem;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_FilterDropdown_optionSelectedIcon {
    height: 14px;
    width: 14px;
    position: absolute;
    top: 8px;
    left: 0;
}

.mx_FilterDropdown_optionLabel {
    font-weight: var(--cpd-font-weight-semibold);
    display: block;
}

.mx_FilterDropdown_optionDescription {
    color: var(--cpd-color-text-secondary);
    margin-top: 4px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilterTabGroup {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}
    .mx_FilterTabGroup label {
        margin-right: 12px;
        cursor: pointer;
    }
        .mx_FilterTabGroup label span {
            display: inline-block;
            line-height: 1.5rem;
        }
    .mx_FilterTabGroup input[type="radio"] {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        margin: 0;
        padding: 0;
    }
            .mx_FilterTabGroup input[type="radio"]:focus + span, .mx_FilterTabGroup input[type="radio"]:hover + span {
                color: var(--cpd-color-text-secondary);
            }

        .mx_FilterTabGroup input[type="radio"]:checked + span {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
            font-weight: var(--cpd-font-weight-semibold);
            /* underline */
            -webkit-box-shadow: 0 1.5px 0 0 currentColor;
                    box-shadow: 0 1.5px 0 0 currentColor;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LearnMore_button {
    margin-left: 4px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EnableLiveShare {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    padding: 32px 16px;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_EnableLiveShare_heading {
    padding-top: 24px;
}

.mx_EnableLiveShare_icon {
    height: 58px;
    width: 58px;
}

.mx_EnableLiveShare_description {
    padding: 0 24px;
    margin-bottom: 32px;
    line-height: 1.25rem;
}

.mx_EnableLiveShare_button {
    margin-top: 32px;
    height: 48px;
    width: 100%;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LiveDurationDropdown {
    margin-bottom: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LocationShareMenu {
    width: 375px;
    height: 460px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MapError {
    padding: 100px 32px 0;
    text-align: center;

    --mx-map-error-icon-color: var(--cpd-color-text-secondary);
    --mx-map-error-icon-size: 58px;
}

.mx_MapError.mx_MapError_isMinimised {
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    padding: 24px;
    background-color: var(--cpd-color-bg-subtle-secondary);
    font-size: 0.75rem;
    line-height: 1rem;

    --mx-map-error-icon-color: var(--cpd-color-text-critical-primary);
    --mx-map-error-icon-size: 26px;
}

    .mx_MapError.mx_MapError_isMinimised .mx_MapError_message {
        margin: 0;
        max-width: 275px;
    }

    .mx_MapError.mx_MapError_isMinimised .mx_MapError_heading {
        padding-top: 8px;
        /* override h3 heading size */
        font-size: inherit !important;
        font-weight: normal !important;
    }

.mx_MapError_message {
    margin: 16px 0 32px;
}

.mx_MapError_heading {
    padding-top: 24px;
}

.mx_MapError_icon {
    height: var(--mx-map-error-icon-size);
    width: var(--mx-map-error-icon-size);
    color: var(--mx-map-error-icon-color);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MapFallback {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 0;

    background-color: var(--cpd-color-bg-subtle-secondary);
}

.mx_MapFallback_bg {
    position: absolute;
    top: 0;
    left: 0;
    min-height: 100%;
    min-width: 100%;
    color: var(--cpd-color-gray-400);
    z-index: -1;

    pointer-events: none;
}

.mx_MapFallback_icon {
    width: 65px;
    margin-bottom: 16px;
    color: var(--cpd-color-gray-600);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Marker_defaultColor {
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
}

.mx_Marker_border {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    -webkit-filter: drop-shadow(0px 3px 5px rgb(0, 0, 0, 0.2));
            filter: drop-shadow(0px 3px 5px rgb(0, 0, 0, 0.2));
    background-color: currentColor;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    /* caret down */
}
    .mx_Marker_border::before {
        content: "";
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid currentColor;
        position: absolute;
        bottom: -4px;
    }

.mx_Marker_icon {
    color: white;
    height: 20px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareDialogButtons {
    position: absolute;
    width: 100%;
    height: 0;
    top: 0;
}

button.mx_ShareDialogButtons_button {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background-color: var(--cpd-color-gray-400);
    opacity: 0.8;
    text-align: center;
    color: var(--cpd-color-text-secondary);
    position: absolute;
    top: 16px;
}

    button.mx_ShareDialogButtons_button:hover,
    button.mx_ShareDialogButtons_button:focus {
        opacity: 1;
    }

    button.mx_ShareDialogButtons_button.left {
        left: 16px;
    }

    button.mx_ShareDialogButtons_button.right {
        right: 16px;
    }

.mx_ShareDialogButtons_button-icon {
    width: 20px;
    height: 20px;
    margin: 2px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareType {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    padding: 60px 12px 32px;

    color: #ffffff;

    color: var(--cpd-color-text-primary);
}

    .mx_ShareType .mx_ShareType_wrapper_options {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 12px;
        width: 100%;
        margin-top: 12px;
    }

        .mx_ShareType .mx_ShareType_wrapper_options .mx_ShareType_option {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            padding: 8px 20px;
            background: none;

            border: 1px solid var(--cpd-color-gray-400);
            border-radius: 8px;

            font-size: 0.9375rem;
            font-family: inherit;
            line-height: inherit;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

            .mx_ShareType .mx_ShareType_wrapper_options .mx_ShareType_option:hover,
            .mx_ShareType .mx_ShareType_wrapper_options .mx_ShareType_option:focus {
                border-color: #2e80de;
                border-color: var(--cpd-color-text-action-accent);
            }

.mx_ShareType_badge {
    height: 60px;
    width: 60px;
    margin-bottom: 20px;
    background-color: #2e80de;
    background-color: var(--cpd-color-text-action-accent);
    border-radius: 50%;
    border: 14px solid #2e80de;
    border: 14px solid var(--cpd-color-text-action-accent);
    /* colors icon */
    color: white;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_ShareType_heading {
    padding-bottom: 32px;
    text-align: center;
}

.mx_ShareType_option-icon {
    height: 40px;
    width: 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-right: 12px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    border-width: 2px;
    border-style: solid;
    border-radius: 50%;

    /* Live is styled by StyledLiveBeaconIcon */
}

    .mx_ShareType_option-icon.Own {
        border-color: #2e80de;
        border-color: var(--cpd-color-text-action-accent);
    }

    .mx_ShareType_option-icon.Pin {
        border-color: #2e80de;
        border-color: var(--cpd-color-text-action-accent);
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
        padding: 7px;
        /* colors icon */
        color: white;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ZoomButtons {
    position: absolute;
    bottom: 32px;
    right: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 8px;
}

    .mx_ZoomButtons .mx_ZoomButtons_button {

        border-radius: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 24px;
        width: 24px;
        background: var(--cpd-color-bg-canvas-default);
        -webkit-box-shadow: 0px 4px 12px rgb(0, 0, 0, 0.25);
                box-shadow: 0px 4px 12px rgb(0, 0, 0, 0.25);
    }

        .mx_ZoomButtons .mx_ZoomButtons_button .mx_ZoomButtons_icon {

            height: 12px;
            width: 12px;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MBeaconBody {
    position: relative;
    height: 220px;
    max-width: 325px;
    width: 100%;

    border-radius: 8px;

    border-radius: var(--MBody-border-radius);
    overflow: hidden;
}

.mx_MBeaconBody.mx_MBeaconBody_withoutMap {
    height: auto;
}

    .mx_MBeaconBody.mx_MBeaconBody_withoutMap .mx_MBeaconBody_chin {
        position: relative;
        background-color: transparent;
    }

.mx_MBeaconBody_withoutMapContent {
    background-color: var(--cpd-color-bg-subtle-secondary);
    border-radius: 4px;
}

.mx_MBeaconBody_withoutMapInfoLastUpdated {
    /* 48px lines up with icon in BeaconStatus */
    margin-top: -8px;
    padding: 0 8px 8px 48px;

    color: var(--cpd-color-gray-800);
    font-size: 0.625rem;
}

.mx_MBeaconBody_map {
    height: 100%;
    width: 100%;
    z-index: 0; /* keeps the entire map under the message action bars */

    cursor: pointer;
}

.mx_MBeaconBody_mapFallback,
.mx_MBeaconBody_mapError {
    /* pushes spinner/icon up */
    /* to appear more centered with the footer */
    padding-bottom: 50px !important;
}

.mx_MBeaconBody_mapErrorInteractive {
    cursor: pointer;
}

.mx_MBeaconBody_mapFallback {
    cursor: default;
}

.mx_MBeaconBody_chin {
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: var(--cpd-color-bg-canvas-default);
    opacity: 0.85;
}

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MBeaconBody {
    max-width: 100%;
    width: 450px;
}

.mx_ReplyTile .mx_MBeaconBody {
    /* Prevent clicking a beacon within a reply */
    pointer-events: none;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MediaProcessingError_Icon {
    margin-right: 4px;
    vertical-align: text-top;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollOption {
    border: 1px solid var(--cpd-color-gray-400);
    border-radius: 8px;
    padding: 6px 12px;
    background-color: var(--cpd-color-bg-canvas-default);
}

    .mx_PollOption .mx_StyledRadioButton_content,
    .mx_PollOption .mx_PollOption_endedOption {
        padding-top: 2px;
        margin-right: 0px;
    }

    .mx_PollOption .mx_StyledRadioButton_spacer {
        display: none;
    }

.mx_PollOption,
/* label has cursor: default in user-agent stylesheet */
/* override */
.mx_PollOption_live-option {
    cursor: pointer;
}

.mx_PollOption_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.mx_PollOption_optionVoteCount {
    color: var(--cpd-color-text-secondary);
    font-size: 0.75rem;
    white-space: nowrap;
}

.mx_PollOption_winnerIcon {
    height: 12px;
    width: 12px;
    color: var(--cpd-color-icon-accent-tertiary);
    margin-right: 4px;
    vertical-align: middle;
}

.mx_PollOption_checked {

    /* override checked radio button styling to show checkmark instead */
}
        .mx_PollOption_checked .mx_PollOption_popularityBackground .mx_PollOption_popularityAmount {
            background-color: var(--cpd-color-icon-primary);
        }
        .mx_PollOption_checked .mx_StyledRadioButton_checked input[type="radio"]:checked + div {
            border-color: var(--cpd-color-icon-primary);
            background-color: var(--cpd-color-icon-primary);
        }

            .mx_PollOption_checked .mx_StyledRadioButton_checked input[type="radio"]:checked + div div {
                background: none;
            }

                .mx_PollOption_checked .mx_StyledRadioButton_checked input[type="radio"]:checked + div div svg {
                    color: var(--cpd-color-icon-on-solid-primary);
                    width: 12px;
                    height: 12px;
                    margin: -2px;
                    display: block;
                }

.mx_PollOption_ended.mx_PollOption_checked {

    /* override checked radio button styling to show checkmark instead */
}
        .mx_PollOption_ended.mx_PollOption_checked .mx_PollOption_popularityBackground .mx_PollOption_popularityAmount {
            background-color: var(--cpd-color-icon-accent-tertiary);
        }
        .mx_PollOption_ended.mx_PollOption_checked .mx_StyledRadioButton_checked input[type="radio"]:checked + div {
            border-color: var(--cpd-color-icon-accent-tertiary);
            background-color: var(--cpd-color-icon-accent-tertiary);
        }

/* options not actionable in these states */
.mx_PollOption_checked,
.mx_PollOption_ended {
    pointer-events: none;
}

.mx_PollOption_popularityBackground {
    width: 100%;
    height: 8px;
    margin-right: 12px;
    border-radius: 8px;
    background-color: var(--cpd-color-bg-subtle-secondary);
    margin-top: 8px;
}

    .mx_PollOption_popularityBackground .mx_PollOption_popularityAmount {
        width: 0%;
        height: 8px;
        border-radius: 8px;
        background-color: var(--cpd-color-icon-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * These used to live in General User Settings. These components are horribly duplicative
 * but share the same styles. For now I'm putting them here so I can renamed the general
 * tab sensibly and before I can refactor these components.
 */

.mx_AddRemoveThreepids_existing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_AddRemoveThreepids_existing_address,
.mx_AddRemoveThreepids_existing_promptText {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 10px;
}

.mx_AddRemoveThreepids_existing_button {
    margin-left: 5px;
}

.mx_EmailAddressesPhoneNumbers_verify {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_EmailAddressesPhoneNumbers_existing_button {
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
}

.mx_EmailAddressesPhoneNumbers_verify_instructions {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CurrentDeviceSection_deviceDetails {
    /* align with text of session tile */
    margin-left: 56px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceDetailHeading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_DeviceDetailHeading_renameCta {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_DeviceDetailHeading_renameForm {
    display: grid;
    grid-gap: 16px;
    gap: 16px;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    grid-template-columns: 100%;
}

.mx_DeviceDetailHeading_renameFormButtons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
}

    .mx_DeviceDetailHeading_renameFormButtons .mx_Spinner {
        width: auto;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
    }

.mx_DeviceDetailHeading_renameFormInput {
    /* override field styles */
    margin: 0 0 4px 0 !important;
}

.mx_DeviceDetailHeading_renameFormHeading {
    margin: 0;
}

.mx_DeviceDetailHeading_renameFormError {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    padding-right: 4px;
    display: block;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceDetails {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    margin-top: 16px;
    padding: 24px;
    border-radius: 8px;
    border: 1px solid var(--cpd-color-gray-400);
}

.mx_DeviceDetails_section {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--cpd-color-gray-400);

    display: grid;
    grid-gap: 24px;
    gap: 24px;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    grid-template-columns: 100%;
}

    .mx_DeviceDetails_section:last-child {
        padding-bottom: 0;
        border-bottom: 0;
        margin-bottom: 0;
    }

.mx_DeviceDetails_sectionHeading {
    margin: 0;
}

    .mx_DeviceDetails_sectionHeading .mx_DeviceDetails_sectionSubheading {
        display: block;
        font-size: 0.75rem;
        color: var(--cpd-color-text-secondary);
        line-height: 0.875rem;
        margin-top: 4px;
    }

.mx_DeviceDetails_metadataTable {
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);

    width: 100%;

    border-spacing: 0;
}

    .mx_DeviceDetails_metadataTable th {
        text-transform: uppercase;
        font-weight: normal;
        text-align: left;
    }

    .mx_DeviceDetails_metadataTable td {
        padding-top: 8px;
    }

    .mx_DeviceDetails_metadataTable .mxDeviceDetails_metadataLabel {
        width: 160px;
    }

    .mx_DeviceDetails_metadataTable .mxDeviceDetails_metadataValue {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

.mx_DeviceDetails_signOutButtonContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4px;
}

.mx_DeviceDetails_pushNotifications {
    display: block;
}
    .mx_DeviceDetails_pushNotifications .mx_ToggleSwitch {
        float: right;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceExpandDetailsButton {
    height: 32px;
    width: 32px;
    background: transparent;

    border-radius: 4px;
    color: var(--cpd-color-icon-tertiary);

    --icon-transform: rotate(-90deg);
}

    .mx_DeviceExpandDetailsButton:hover {
        background: var(--cpd-color-gray-400);
    }

.mx_DeviceExpandDetailsButton.mx_DeviceExpandDetailsButton_expanded {
    --icon-transform: rotate(0deg);

    background: var(--cpd-color-bg-subtle-secondary);
}

    .mx_DeviceExpandDetailsButton.mx_DeviceExpandDetailsButton_expanded:hover {
        background: var(--cpd-color-gray-400);
    }

.mx_DeviceExpandDetailsButton_icon {
    height: 24px;
    width: 24px;

    -webkit-transition: all 0.3s;

    transition: all 0.3s;
    -webkit-transform: var(--icon-transform);
            transform: var(--icon-transform);
    -webkit-transform-origin: center;
            transform-origin: center;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceSecurityCard {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    padding: 16px;

    border: 1px solid var(--cpd-color-gray-400);
    border-radius: 8px;
}

.mx_DeviceSecurityCard_icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 16px;
    border-radius: 8px;

    height: 40px;
    width: 40px;

    color: var(--icon-color);
    background-color: var(--background-color);
}

    .mx_DeviceSecurityCard_icon.Verified {
        --icon-color: var(--cpd-color-icon-success-primary);
        --background-color: var(--cpd-color-green-300);
    }

    .mx_DeviceSecurityCard_icon.Unverified {
        --icon-color: var(--cpd-color-icon-critical-primary);
        --background-color: var(--cpd-color-red-300);
    }

    .mx_DeviceSecurityCard_icon.Inactive {
        --icon-color: var(--cpd-color-text-secondary);
        --background-color: var(--cpd-color-bg-subtle-secondary);
    }

.mx_DeviceSecurityCard_content {
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
}
.mx_DeviceSecurityCard_heading {
    margin: 0 0 4px 0;
}
.mx_DeviceSecurityCard_description {
    margin: 0;
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
}

.mx_DeviceSecurityCard_actions {
    margin-top: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceTile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
}

.mx_DeviceTile_interactive {
    cursor: pointer;
}

.mx_DeviceTile_info {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
}

.mx_DeviceTile_metadata {
    margin-top: 4px;
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
}

.mx_DeviceTile_inactiveIcon {
    height: 14px;
    margin-right: 8px;
    vertical-align: middle;
}

.mx_DeviceTile_actions {
    display: grid;
    grid-gap: 8px;
    gap: 8px;
    grid-auto-flow: column;
    margin-left: 8px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceTypeIcon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    position: relative;
    margin-right: 8px;
    /* creates space for verification icon to overlap */
    padding: 0 8px 8px 0;
}

.mx_DeviceTypeIcon_deviceIconWrapper {
    --background-color: var(--cpd-color-bg-subtle-secondary);
    --icon-color: var(--cpd-color-text-secondary);

    height: 40px;
    width: 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    border: 8px solid var(--background-color);
    border-radius: 50%;
    color: var(--cpd-color-text-secondary);
    color: var(--icon-color);
    background-color: var(--background-color);
}

.mx_DeviceTypeIcon_selected .mx_DeviceTypeIcon_deviceIconWrapper {
    --background-color: var(--cpd-color-text-primary);
    --icon-color: var(--cpd-color-bg-canvas-default);
}

.mx_DeviceTypeIcon_deviceIcon {
    height: 24px;
    width: 24px;
}

.mx_DeviceTypeIcon_verificationIcon {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 24px;
    width: 24px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 4px;

    border: 1px solid var(--cpd-color-gray-400);
    border-radius: 50%;
    background-color: var(--cpd-color-bg-canvas-default);

    color: var(--v-icon-color);
}

    .mx_DeviceTypeIcon_verificationIcon.verified {
        --v-icon-color: var(--cpd-color-icon-success-primary);
    }

    .mx_DeviceTypeIcon_verificationIcon.unverified {
        --v-icon-color: var(--cpd-color-icon-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_FilteredDeviceList .mx_Dropdown {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 80px;
                flex: 1 0 80px;
    }

.mx_FilteredDeviceList_list {
    list-style-type: none;
    display: grid;
    grid-gap: 16px;
    gap: 16px;
    margin: 0;
    padding: 0 16px;
}

.mx_FilteredDeviceList_listItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_FilteredDeviceList_securityCard {
    margin-bottom: 32px;
}

.mx_FilteredDeviceList_noResults {
    width: 100%;
    text-align: center;
    margin-bottom: 32px;
}

.mx_FilteredDeviceList_headerButton {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    /* override inline button styling */
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
}

.mx_FilteredDeviceList_deviceDetails {
    /* align with text of session tile */
    margin-left: 88px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilteredDeviceListHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    gap: 16px;

    width: 100%;
    height: 48px;
    padding: 0 16px;
    margin-bottom: 32px;

    background-color: var(--cpd-color-bg-subtle-secondary);
    border-radius: 8px;
    color: var(--cpd-color-text-secondary);

    /* Higher specificity selector to override the flex-start value */
}
    .mx_FilteredDeviceListHeader .mx_AccessibleButton.mx_AccessibleButton_hasKind {
        -ms-flex-item-align: center;
            align-self: center;
    }

.mx_FilteredDeviceListHeader_label {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SecurityRecommendations_spacing {
    height: 16px;
}
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SelectableDeviceTile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
}

.mx_SelectableDeviceTile_checkbox {
    -webkit-box-flex: 1;
        -ms-flex: 1 0;
            flex: 1 0;
}

    .mx_SelectableDeviceTile_checkbox > div {
        margin-top: auto;
        margin-bottom: auto;
        margin-right: var(--cpd-space-1x);
    }
}
@layer app-web{

/*
 * Copyright 2025 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_KeyStoragePanel_toggleRow {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsSubsection {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

    .mx_SettingsSubsection.mx_SettingsSubsection_newUi {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-6x);
    }

    .mx_SettingsSubsection *[role="separator"] {
        /**
         * The gap between subsections is 32px and inside the subsection is 24px.
         * The separator separates the subsections, so it should have the same gap as the subsections.
         * We add 12px and the separator spacing (8px) to the top margin to make the separator visually centered between the subsections.
         * !important because it's overriding compound margin.
         */
        margin-top: var(--cpd-space-5x) !important;
    }

.mx_SettingsSubsection_description {
    margin-top: 8px;
}

.mx_SettingsSubsection_text {
    width: 100%;
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
    color: var(--cpd-color-text-secondary);
}

.mx_SettingsSubsection_content {
    width: 100%;
    display: grid;
    grid-gap: var(--cpd-space-4x);
    gap: var(--cpd-space-4x);
    /* setting minwidth 0 makes columns definitely sized fixing horizontal overflow */
    grid-template-columns: minmax(0, 1fr);
    justify-items: flex-start;
    margin-top: 24px;
}

    .mx_SettingsSubsection_content summary {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }
        .mx_SettingsSubsection_content details[open] summary {
            margin-bottom: 8px;
        }

    .mx_SettingsSubsection_content.mx_SettingsSubsection_contentStretch {
        justify-items: stretch;
    }

    .mx_SettingsSubsection_content.mx_SettingsSubsection_noHeading {
        margin-top: 0;
    }
    .mx_SettingsSubsection_content.mx_SettingsSubsection_content_newUi {
        gap: var(--cpd-space-6x);
        margin-top: 0;
    }

    .mx_SettingsSubsection_content .mx_SettingsSubsection_dropdown {
        min-width: 360px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsSubsectionHeading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;

    gap: 8px;
}

.mx_SettingsSubsectionHeading_heading {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_QuickThemeSwitcher {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_QuickThemeSwitcher .mx_Dropdown {
        min-width: 100px;
        margin-left: auto;
        height: -webkit-min-content;
        height: -moz-min-content;
        height: min-content;
    }

    .mx_QuickThemeSwitcher .mx_Dropdown_menu {
        max-height: 70px;
    }

.mx_QuickThemeSwitcher_heading {
    font-weight: var(--cpd-font-weight-semibold);
    font-size: 0.75rem;
    line-height: 0.9375rem;
    color: var(--cpd-color-text-secondary);
    text-transform: uppercase;
    display: inline-block;
    margin: 0;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Caption {
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
}

    .mx_Caption.mx_Caption_error {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * Compound icon

 * {@link https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed}
 */

.mx_Icon {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_Icon_accent {
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
}

.mx_Icon_bg-accent-light {
    background-color: #2e80de;
    background-color: var(--cpd-color-green-300);
}

.mx_Icon_alert {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

.mx_Icon_circle-40 {
    border-radius: 20px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    height: 40px;
    padding: 0 12px;
    width: 40px;
}

.mx_Icon_8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8px;
            flex: 0 0 8px;
    height: 8px;
    width: 8px;
}

.mx_Icon_10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 10px;
            flex: 0 0 10px;
    height: 10px;
    width: 10px;
}

.mx_Icon_12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12px;
            flex: 0 0 12px;
    height: 12px;
    width: 12px;
}

.mx_Icon_16 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16px;
            flex: 0 0 16px;
    height: 16px;
    width: 16px;
}

.mx_Icon_24 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 24px;
            flex: 0 0 24px;
    height: 24px;
    width: 24px;
}

.mx_Icon_32 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 32px;
            flex: 0 0 32px;
    height: 32px;
    width: 32px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SuccessDialog {
    text-align: center;
}

    .mx_SuccessDialog .mx_Icon {
        margin-bottom: 16px;
    }

    .mx_SuccessDialog .mx_Dialog_header {
        margin: 0 0 16px;
        padding: 0;
    }

    .mx_SuccessDialog .mx_Dialog_title {
        margin: 0;
    }

    .mx_SuccessDialog .mx_Dialog_content {
        color: var(--cpd-color-text-secondary);
        margin: 0 0 40px;
    }
        .mx_SuccessDialog .mx_Dialog_buttons .mx_Dialog_buttons_row {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

            .mx_SuccessDialog .mx_Dialog_buttons .mx_Dialog_buttons_row button.mx_Dialog_primary {
                height: 48px;
                min-width: 328px;
            }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* make any scrollbar grey and thin */
html {
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}
/* scrollbar-width is not inherited (but -color is, why?!), */
/* so declare it on every element */
* {
    scrollbar-width: thin;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-thumb {
    border-radius: 3px;
    background-color: rgba(255, 255, 255, 0.2);
}

/* make auto-hide scrollbars not transparent again on hover */
.mx_AutoHideScrollbar:hover {
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

    .mx_AutoHideScrollbar:hover::-webkit-scrollbar-thumb {
        background-color: rgba(255, 255, 255, 0.2);
    }

/* make scrollbars transparent for autohide scrollbars */
.mx_AutoHideScrollbar {
    overflow-x: hidden;
    overflow-y: auto;
    overflow-y: overlay; /* where supported */
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

    .mx_AutoHideScrollbar::-webkit-scrollbar {
        background-color: transparent;
    }

    .mx_AutoHideScrollbar::-webkit-scrollbar-thumb {
        background-color: transparent;
    }

    .mx_AutoHideScrollbar{

    scrollbar-color: transparent transparent;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AutocompleteInput {
    position: relative;
}

.mx_AutocompleteInput_search_icon {
    margin-left: 8px;
    fill: var(--cpd-color-text-secondary);
}

.mx_AutocompleteInput_editor {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(231, 231, 231, 0.2);
    border-radius: 4px;
    -webkit-transition: border-color 0.25s;
    transition: border-color 0.25s;
}

    .mx_AutocompleteInput_editor > input {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        min-width: 40%;
        resize: none;
        /* `!important` is required to bypass global input styles. */
        margin: 0 !important;
        padding: 8px 9px;
        border: none !important;
        color: #ffffff !important;
        color: var(--cpd-color-text-primary) !important;
        font-weight: normal !important;
    }

        .mx_AutocompleteInput_editor > input::-webkit-input-placeholder {
            color: #ffffff !important;
            color: var(--cpd-color-text-primary) !important;
            font-weight: normal !important;
        }

        .mx_AutocompleteInput_editor > input::-moz-placeholder {
            color: #ffffff !important;
            color: var(--cpd-color-text-primary) !important;
            font-weight: normal !important;
        }

        .mx_AutocompleteInput_editor > input:-ms-input-placeholder {
            color: #ffffff !important;
            color: var(--cpd-color-text-primary) !important;
            font-weight: normal !important;
        }

        .mx_AutocompleteInput_editor > input::-ms-input-placeholder {
            color: #ffffff !important;
            color: var(--cpd-color-text-primary) !important;
            font-weight: normal !important;
        }

        .mx_AutocompleteInput_editor > input::placeholder {
            color: #ffffff !important;
            color: var(--cpd-color-text-primary) !important;
            font-weight: normal !important;
        }

.mx_AutocompleteInput_editor--focused {
    border-color: var(--cpd-color-text-link-external);
}

.mx_AutocompleteInput_editor--has-suggestions {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.mx_AutocompleteInput_editor_selection {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 8px;
}

.mx_AutocompleteInput_editor_selection_pill {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 12px;
    padding-left: 8px;
    padding-right: 8px;
    background-color: var(--cpd-color-text-decorative-1);
    color: #ffffff;
    font-size: 0.75rem;
}

.mx_AutocompleteInput_editor_selection_remove_button svg {
    vertical-align: middle;
}

.mx_AutocompleteInput_matches {
    position: absolute;
    left: 0;
    right: 0;
    background-color: var(--cpd-color-bg-canvas-default);
    border: 1px solid var(--cpd-color-text-link-external);
    border-top-color: rgba(231, 231, 231, 0.2);
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    z-index: 1000;
}

.mx_AutocompleteInput_suggestion {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 8px;
    cursor: pointer;
}

    .mx_AutocompleteInput_suggestion > * {
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }

    .mx_AutocompleteInput_suggestion:hover {
        background-color: var(--cpd-color-gray-400);
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
    }

.mx_AutocompleteInput_suggestion--selected {
    background-color: var(--cpd-color-gray-400);
}

    .mx_AutocompleteInput_suggestion--selected:last-child {
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
    }

.mx_AutocompleteInput_suggestion_title {
    margin-right: 8px;
}

.mx_AutocompleteInput_suggestion_description {
    color: var(--cpd-color-text-secondary);
    font-size: 0.75rem;
}
}
@layer app-web{

/*
Copyright 2021-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BackdropPanel {
    position: absolute;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    -webkit-filter: blur(45px);
            filter: blur(45px);
    -webkit-filter: blur(var(--lp-background-blur));
            filter: blur(var(--lp-background-blur));
    /* Force a new layer for the backdropPanel so it's better hardware supported */
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
}

.mx_BackdropPanel--image {
    position: absolute;
    top: 0;
    left: 0;
    min-height: 100%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}
}
@layer app-web{

.mx_CompatibilityPage {
    width: 100%;
    height: 100%;
    background-color: #e55;
}

.mx_CompatibilityPage_box {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 500px;
    height: 300px;
    border: 1px solid;
    padding: 10px;
    background-color: #fcc;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ContextualMenu_wrapper {
    position: fixed;
    z-index: 5000;
}

.mx_ContextualMenu_background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
}

.mx_ContextualMenu {
    border-radius: 12px;
    -webkit-box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
            box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
    background-color: var(--cpd-color-bg-canvas-default);
    border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-secondary);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    position: absolute;
    z-index: 5001;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.mx_ContextualMenu_right {
    right: 16px;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_right {
    right: 8px;
}

.mx_ContextualMenu_chevron_right {
    position: absolute;
    right: -8px;
    top: 0px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-left: 8px solid var(--cpd-color-bg-subtle-secondary);
    border-bottom: 8px solid transparent;
}

.mx_ContextualMenu_left {
    left: 0;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_left {
    left: 8px;
}

.mx_ContextualMenu_chevron_left {
    position: absolute;
    left: -8px;
    top: 0px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-right: 8px solid var(--cpd-color-bg-subtle-secondary);
    border-bottom: 8px solid transparent;
}

.mx_ContextualMenu_top {
    top: 0;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_top {
    top: 8px;
}

.mx_ContextualMenu_chevron_top {
    position: absolute;
    left: 0px;
    top: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-bottom: 8px solid var(--cpd-color-bg-subtle-secondary);
    border-right: 8px solid transparent;
}

.mx_ContextualMenu_bottom {
    bottom: 0;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_bottom {
    bottom: 8px;
}

.mx_ContextualMenu_chevron_bottom {
    position: absolute;
    left: 0px;
    bottom: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-top: 8px solid var(--cpd-color-bg-subtle-secondary);
    border-right: 8px solid transparent;
}

.mx_ContextualMenu_rightAligned {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
}

.mx_ContextualMenu_bottomAligned {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ErrorMessage {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.75rem;
    gap: 8px;
    line-height: 1.2em;
    min-height: 2.4em;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

@-webkit-keyframes mx_FileDropTarget_animation {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.95;
    }
}

@keyframes mx_FileDropTarget_animation {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.95;
    }
}

.mx_FileDropTarget {
    min-width: 0;
    width: 100%;
    height: 100%;

    font-size: 1.125rem;
    text-align: center;

    pointer-events: none;

    background-color: var(--cpd-color-bg-canvas-default);
    opacity: 0.95;

    position: absolute;
    z-index: 3000;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    -webkit-animation: mx_FileDropTarget_animation;

            animation: mx_FileDropTarget_animation;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
}

@-webkit-keyframes mx_FileDropTarget_image_animation {
    from {
        -webkit-transform: scaleX(0);
                transform: scaleX(0);
    }
    to {
        -webkit-transform: scaleX(1);
                transform: scaleX(1);
    }
}

@keyframes mx_FileDropTarget_image_animation {
    from {
        -webkit-transform: scaleX(0);
                transform: scaleX(0);
    }
    to {
        -webkit-transform: scaleX(1);
                transform: scaleX(1);
    }
}

.mx_FileDropTarget_image {
    width: 32px;
    -webkit-animation: mx_FileDropTarget_image_animation;
            animation: mx_FileDropTarget_image_animation;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    margin-bottom: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilePanel {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    overflow-y: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    /* FIXME: rather than having EventTile's default CSS be for MessagePanel,
   we should make EventTile a base CSS class and customise it specifically
   for usage in {Message,File,Notification}Panel. */

    /* Overrides for the attachment body tiles */
}

    .mx_FilePanel .mx_RoomView_messageListWrapper {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .mx_FilePanel .mx_RoomView_MessageList {
        width: 100%;
        gap: var(--cpd-space-6x);
    }
    .mx_FilePanel .mx_EventTile {
        word-break: break-word;
        padding-top: 0;

        /* anchor link as wrapper */
    }

        .mx_FilePanel .mx_EventTile + .mx_EventTile {
            border-top: 1px solid var(--cpd-color-gray-400);
            padding-top: var(--cpd-space-6x);
        }

        .mx_FilePanel .mx_EventTile .mx_EventTile_line {
            -webkit-padding-start: 0;
                    padding-inline-start: 0;
        }

        .mx_FilePanel .mx_EventTile .mx_MFileBody [data-type="download"] {
            margin-top: var(--cpd-space-4x);
        }

        .mx_FilePanel .mx_EventTile .mx_ImageBody {
            gap: 0;
        }
        .mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink {
            text-decoration: none;
            margin-bottom: var(--cpd-space-1x);
            display: block;
        }

            .mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink .mx_EventTile_senderDetails {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                margin-top: -2px;
                gap: var(--cpd-space-2x);
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }

                .mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink .mx_EventTile_senderDetails .mx_DisambiguatedProfile {
                    color: var(--cpd-color-text-secondary); /* for ellipsis. Color of displayName and mxid is inherited */
                }

                .mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink .mx_EventTile_senderDetails .mx_MessageTimestamp {
                    margin-left: auto;
                }

    .mx_FilePanel .mx_EventTile_line {
        -webkit-margin-end: 0;
                margin-inline-end: 0;
        -webkit-padding-start: 0;
                padding-inline-start: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_GenericDropdownMenu_button {
    padding: 3px 4px 3px 8px;
    border-radius: 4px;
    line-height: 1.5;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    font-size: 0.75rem;
    color: var(--cpd-color-text-secondary);
}

    .mx_GenericDropdownMenu_button svg {
        width: 18px;
        height: 18px;
        float: right;
    }

.mx_GenericDropdownMenu_button:hover,
.mx_GenericDropdownMenu_button[aria-expanded="true"] {
    background: var(--cpd-color-gray-400);
}
    .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_ContextualMenu {
        position: static;
        position: initial;

        font-size: 0.75rem;
        color: var(--cpd-color-text-secondary);
        padding-top: 10px;
        padding-bottom: 10px;

        border: 1px solid var(--cpd-color-gray-400);
        -webkit-box-shadow: 0 1px 3px rgb(23, 25, 28, 0.05);
                box-shadow: 0 1px 3px rgb(23, 25, 28, 0.05);
    }

    .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_ContextualMenu_chevron_top {
        left: auto;
        right: 22px;
        border-bottom-color: var(--cpd-color-gray-400);
    }

        .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_ContextualMenu_chevron_top::after {
            content: "";
            border: inherit;
            border-bottom-color: var(--cpd-color-bg-subtle-secondary);
            position: absolute;
            top: 1px;
            left: -8px;
        }

    .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_divider {
        display: block;
        height: 0;
        margin-left: 4px;
        margin-right: 19px;
        border-top: 1px solid var(--cpd-color-gray-400);
    }

    .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 10px 20px 10px 30px;
        position: relative;
    }

        .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;

            margin: 0;
        }

            .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label span:first-child {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                font-weight: var(--cpd-font-weight-semibold);
            }

        .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--header > .mx_GenericDropdownMenu_Option--label span:first-child {
            font-size: 0.9375rem;
        }
            .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item:hover {
                background-color: #343a46;
            }

            .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item .mx_GenericDropdownMenu_Option--checkIcon {
                width: 16px;
                height: 16px;
                margin-left: -22px;
                margin-right: 6px;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                display: inline-block;
                vertical-align: middle;
            }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_HomePage {
    display: grid;
    place-items: center;
    width: min(100% - 50px, 960px);
    height: 100%;
    margin: 0 auto;
    container-type: inline-size;
    container-name: homepage;
}

.mx_HomePage_default {
    text-align: center;
}

    .mx_HomePage_default img {
        height: 48px;
    }

    .mx_HomePage_default h1 {
        margin-bottom: 4px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 2rem;
        line-height: 1.375;
    }

    .mx_HomePage_default h2 {
        margin-top: 4px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 1.125rem;
        line-height: 1.5625rem;
        color: #91a1c0;
    }

    .mx_HomePage_default .mx_MiniAvatarUploader {
        margin: 0 auto;
    }

    .mx_HomePage_default .mx_HomePage_default_buttons {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 5px 40px;
        gap: 5px 40px;
        width: 100%;
        margin-top: 80px;
        margin-bottom: 20px;
    }

        .mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            gap: 13px;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            width: 160px;
            min-height: 132px;
            padding: 8px 15px;
            border-radius: 8px;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 0.9375rem;
            line-height: 1.25rem;
            color: #fff; /* on all themes */
            background-color: #2e80de;
            background-color: var(--cpd-color-text-action-accent);
        }

            .mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton svg {
                display: block;
                width: 100%;
                height: 40px;
                -o-object-fit: contain;
                   object-fit: contain;
                color: #fff; /* on all themes */
            }

        @container homepage (max-width: 559px) {

    .mx_HomePage_default .mx_HomePage_default_buttons {
            grid-template-columns: 1fr
    }

            .mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton {
                -webkit-box-orient: horizontal;
                -webkit-box-direction: normal;
                    -ms-flex-direction: row;
                        flex-direction: row;
                width: 100%;
                min-height: 0;
            }

                .mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton svg {
                    width: 24px;
                }
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LargeLoader {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
}

    .mx_LargeLoader .mx_Spinner {
        -webkit-box-flex: initial;
            -ms-flex: initial;
                flex: initial;
        height: auto;
        margin-bottom: 32px;
        margin-top: 33vh;
    }

    .mx_LargeLoader .mx_LargeLoader_text {
        font-size: 24px;
        font-weight: var(--cpd-font-weight-semibold);
        padding: 0 16px;
        position: relative;
        text-align: center;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_MatrixChat--with-avatar .mx_LeftPanel,
    .mx_MatrixChat--with-avatar .mx_LeftPanel .mx_LeftPanel_roomListContainer {
        background-color: transparent;
    }

.mx_LeftPanel_outerWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 50%;
    position: relative;
}

.mx_LeftPanel_wrapper,
.mx_LeftPanel {
    --collapsedWidth: 68px;
}
    .mx_LeftPanel_panel .mx_LeftPanel_outerWrapper {
        height: 100%;
        max-width: none;
    }

    .mx_LeftPanel_panel .mx_LeftPanel_wrapper--user {
        width: 100%;
    }

.mx_LeftPanel_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: 100%; /* ensure space panel is still scrollable with an outer wrapper */
}

    .mx_LeftPanel_wrapper .mx_LeftPanel_wrapper--user {
        background-color: rgba(38, 40, 45, 0.9);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        overflow: hidden;
        position: relative;
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

        .mx_LeftPanel_wrapper .mx_LeftPanel_wrapper--user[data-collapsed] {
            max-width: var(--collapsedWidth);
        }

.mx_LeftPanel {
    background-color: rgba(38, 40, 45, 0.9);

    /* Create a row-based flexbox for the space panel and the room list */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    contain: content;
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    overflow: hidden;

    /* Note: The 'room list' in this context is actually everything that isn't the tag */
    /* panel, such as the menu options, breadcrumbs, filtering, etc */

    /* These styles override the defaults for the minimized (66px) layout */
}
    .mx_LeftPanel .mx_LeftPanel_roomListContainer {
        background-color: rgba(38, 40, 45, 0.9);
        -webkit-box-flex: 1;
            -ms-flex: 1 0 0px;
                flex: 1 0 0;
        min-width: 0;
        /* Create another flexbox (this time a column) for the room list components */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_userHeader {
            /* 12px top, 12px sides, 20px bottom (using 13px bottom to account
             * for internal whitespace in the breadcrumbs)
             */
            padding: 12px;
            -ms-flex-negative: 0;
                flex-shrink: 0; /* to convince safari's layout engine the flexbox is fine */

            /* Create another flexbox column for the rows to stack within */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer {
            overflow-y: hidden;
            overflow-x: scroll;
            margin: 12px 12px 0 12px;
            -webkit-box-flex: 0;
                -ms-flex: 0 0 auto;
                    flex: 0 0 auto;
            /* Create yet another flexbox, this time within the row, to ensure items stay */
            /* aligned correctly. This is also a row-based flexbox. */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            contain: content;
        }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer.mx_IndicatorScrollbar_leftOverflow {
                -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black));
                -webkit-mask-image: linear-gradient(90deg, transparent, black 5%);
                        mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black));
                        mask-image: linear-gradient(90deg, transparent, black 5%);
            }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer.mx_IndicatorScrollbar_rightOverflow {
                -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(black), color-stop(95%, black), to(transparent));
                -webkit-mask-image: linear-gradient(90deg, black, black 95%, transparent);
                        mask-image: -webkit-gradient(linear, left top, right top, from(black), color-stop(95%, black), to(transparent));
                        mask-image: linear-gradient(90deg, black, black 95%, transparent);
            }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer.mx_IndicatorScrollbar_rightOverflow.mx_IndicatorScrollbar_leftOverflow {
                -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black), color-stop(95%, black), to(transparent));
                -webkit-mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
                        mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black), color-stop(95%, black), to(transparent));
                        mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
            }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer {
            margin: 0 12px;
            padding: 12px 0 8px;
            border-bottom: 1px solid var(--cpd-color-gray-400);

            -ms-flex-negative: 0;

                flex-shrink: 0; /* to convince safari's layout engine the flexbox is fine */

            /* Create a flexbox to organize the inputs */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer + .mx_LegacyRoomListHeader {
                margin-top: 12px;
            }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton,
            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton {
                width: 20px;
                height: 20px;
                padding: var(--cpd-space-1-5x);
                border-radius: 8px;
                background-color: var(--cpd-color-alpha-gray-300);
                margin-left: 8px;
                /* For enhanced visibility under contrast control */
                outline: 1px solid transparent;
            }

                .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton svg, .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton svg {
                    width: inherit;
                    height: inherit;
                    display: block;
                    color: var(--cpd-color-text-secondary);
                }

                .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton:hover, .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton:hover {
                    background-color: var(--cpd-color-gray-800);
                }

                    .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton:hover svg, .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton:hover svg {
                        color: var(--cpd-color-bg-canvas-default);
                    }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LegacyRoomListHeader:first-child {
            margin-top: 12px;
        }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_roomListWrapper {
            /* Make the y-scrollbar more responsive */
            padding-right: 2px;
            overflow: hidden;
            margin-top: 10px; /* so we're not up against the search/filter */
            -webkit-box-flex: 1;
                -ms-flex: 1 0 0px;
                    flex: 1 0 0; /* needed in Safari to properly set flex-basis */
        }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_roomListWrapper.mx_LeftPanel_roomListWrapper_stickyBottom {
                padding-bottom: 32px;
            }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_roomListWrapper.mx_LeftPanel_roomListWrapper_stickyTop {
                padding-top: 32px;
            }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_actualRoomListContainer {
            position: relative; /* for sticky headers */
            height: 100%; /* ensure scrolling still works */
        }
    .mx_LeftPanel.mx_LeftPanel_minimized {
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        min-width: 0;
        min-width: initial;
        width: auto !important;
        width: initial !important;
    }

        .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer {
            width: var(--collapsedWidth);
        }

            .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_userHeader {
                -webkit-box-orient: horizontal;
                -webkit-box-direction: normal;
                    -ms-flex-direction: row;
                        flex-direction: row;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
            }

            .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer {
                /* Organize the flexbox into a centered column layout */
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
            }

                .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton {
                    margin-left: 0;
                    margin-top: 8px;
                    background-color: transparent;
                }

                .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton {
                    margin-left: 0;
                    margin-top: 8px;
                }

.mx_LeftPanel_newRoomList {
    /* Thew new rooms list is not designed to be collapsed to just icons. */
    /* 224 + 68(spaces bar) was deemed by design to be a good minimum for the left panel. */
    --collapsedWidth: 224px;
    /* Important to force the color on ED titlebar until we remove the old room list */
    background-color: var(--cpd-color-bg-canvas-default) !important;
}

#left-panel .mx_LeftPanel_wrapper--user {
    /*
     * Disable background when using the new room list.
     * This background sometimes shows when the panel is resized and it looks like a thicker border.
     */
    background: none;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MainSplit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    min-width: 0;
    min-height: 0;
    height: 100%;
}
    .mx_MainSplit > .mx_RightPanel_ResizeWrapper:hover .mx_ResizeHandle--horizontal::before {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-150%, -50%);
                transform: translate(-150%, -50%);

        height: 64px; /* to match width of the ones on roomlist */
        width: 4px;
        border-radius: 4px;

        content: "";

        background-color: #ffffff;

        background-color: var(--cpd-color-text-primary);
        opacity: 0.8;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MatrixChat_splash {
    position: relative;
    height: 100%;
    /* PLX branded loading state: brand mark above a centered spinner on the
       app background. Replaces the bare/blank centered spinner. */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 28px;
    background: #0E1621;
    background: var(--cpd-color-bg-canvas-default, #0E1621);
}

.mx_MatrixChat_splashLogo {
    width: 88px;
    height: 88px;
    border-radius: 20px;
    -webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}

/* Re-center the spinner itself: the default Spinner uses absolute centering
   which we override inside the flex splash. */
.mx_MatrixChat_splash .mx_Spinner {
    position: static;
    height: auto;
}

.mx_MatrixChat_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    height: 100%;
}

.mx_MatrixToolbar {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;

    height: 40px;
}

.mx_MatrixChat {
    position: relative;
    width: 100%;
    height: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-flex: 1;

        -ms-flex: 1;

            flex: 1;
    min-height: 0;
}

/* not the left panel, and not the resize handle, so the roomview and friends */
.mx_MatrixChat > :not(.mx_LeftPanel):not(.mx_SpacePanel):not(.mx_ResizeHandle):not(.mx_LeftPanel_outerWrapper) {
    background-color: var(--cpd-color-bg-canvas-default);

    -webkit-box-flex: 1;

        -ms-flex: 1 1 0px;

            flex: 1 1 0;
    min-width: 0;

    /* To fix https://github.com/vector-im/element-web/issues/3298 where Safari
       needed height 100% all the way down to the HomePage. Height does not
       have to be auto, empirically.
    */
    height: 100%;
}

.mx_MatrixChat > .mx_ResizeHandle--horizontal:hover {
    position: relative;
}

    .mx_MatrixChat > .mx_ResizeHandle--horizontal:hover::before {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);

        height: 64px; /* to match width of the ones on roomlist */
        width: 4px;
        border-radius: 4px;

        content: " ";

        background-color: #ffffff;

        background-color: var(--cpd-color-text-primary);
        opacity: 0.8;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NonUrgentToastContainer {
    position: absolute;
    bottom: 30px;
    left: 28px;
    z-index: 101; /* same level as other toasts */
}

    .mx_NonUrgentToastContainer .mx_NonUrgentToastContainer_toast {
        padding: 10px 12px;
        border-radius: 8px;
        width: 320px;
        font-size: 0.8125rem;
        margin-top: 8px;

        /* We don't use variables on the colours because we want it to be the same */
        /* in all themes. */
        background-color: #17191c;
        color: #fff;
    }
}
@layer app-web{

/*
Copyright 2026 Element Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PictureInPictureDragger {
    cursor: -webkit-grab;
    cursor: grab;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    left: 0;
    position: fixed;
    top: 0;
    /* Display above any widget elements */
    z-index: 102;
}

.mx_PictureInPictureDragger:active {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_QuickSettingsButton {
    /* !important override compound */
    border-radius: 8px !important;
    margin: 12px auto 12px;
}

    .mx_QuickSettingsButton svg {
        fill: var(--cpd-color-text-secondary);
    }

    .mx_QuickSettingsButton:not(.expanded):hover {
        /**
         * override compound default background color when hovered
         * should disappear when the space panel will be migrated to compound
         */
        background-color: var(--cpd-color-gray-600) !important;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

        .mx_QuickSettingsButton:not(.expanded):hover svg {
            fill: #ffffff;
            fill: var(--cpd-color-text-primary);
        }

    .mx_QuickSettingsButton.expanded {
        /**
         * override compound default background color when hovered
         * should disappear when the space panel will be migrated to compound
         */
        background-color: transparent !important;

        /* align with settings icon */
        margin-left: 21px;
        margin-right: 8px;
        width: 100%;

        /**
         * modify internal css of the compound component
         * dirty but we need to add the label into the indicator icon button
         **/
    }
        .mx_QuickSettingsButton.expanded > div {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

        .mx_QuickSettingsButton.expanded svg {
            /* align with settings label */
            margin-right: 14px;
            /* required to set the icon width when into a flex container */
            width: 24px;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

        .mx_QuickSettingsButton.expanded .mx_QuickSettingsButton_label {
            /* !important override compound  */
            color: var(--cpd-color-text-secondary) !important;
        }

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu {
    padding: 16px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: 200px;
    contain: unset; /* let the dropdown paint beyond the context menu */
}

    .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu > div > h2 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--cpd-color-text-secondary);
        margin: 0 0 16px;
    }

    .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_AccessibleButton_hasKind {
        display: block;
        margin-top: 4px;
    }

    .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu > div > h4 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.75rem;
        line-height: 0.9375rem;
        text-transform: uppercase;
        color: var(--cpd-color-text-secondary);
        margin: 20px 0 12px;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_QuickSettingsButton_moreOptionsButton {
        margin-left: var(--cpd-space-7x);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        position: relative;
        margin-bottom: 16px;
    }

    .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_QuickSettingsButton_option {
        margin-bottom: var(--cpd-space-3x);
    }
        .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_QuickSettingsButton_option label {
            /* Correctly line up icons and text. */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
        }
    .mx_QuickSettingsButton_ContextMenuWrapper_new_room_list .mx_QuickThemeSwitcher {
        margin-top: var(--cpd-space-2x);
    }

.mx_QuickSettingsButton_icon {
    margin-right: var(--cpd-space-1x);
    color: var(--cpd-color-text-secondary);
    width: 18px;
    height: 18px;
    margin-top: auto;
    margin-bottom: auto;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RightPanel {
    overflow-x: hidden;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-left: 1px solid var(--cpd-color-gray-400);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 100%;
    contain: strict;
    background-color: var(--cpd-color-bg-canvas-default);
}

    .mx_RightPanel .mx_RoomView_MessageList {
        padding: 14px 18px; /* top and bottom is 4px smaller to balance with the padding set above */
    }

.mx_RightPanel .mx_MemberList,
.mx_RightPanel .mx_MemberInfo {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
}

.mx_RightPanel .mx_RoomView_messagePanelSpinner {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: auto;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Note: this component expects to be contained within a flexbox */
.mx_RoomSearch {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    border-radius: 8px;
    background-color: var(--cpd-color-alpha-gray-300);
    /* keep border thickness consistent to prevent movement */
    border: 1px solid transparent;
    height: 28px;
    padding: 1px;

    /* Create a flexbox for the icons (easier to manage) */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    cursor: pointer;
}

    .mx_RoomSearch .mx_RoomSearch_icon {
        width: 20px;
        height: 20px;
        color: var(--cpd-color-text-secondary);
        margin-left: var(--cpd-space-2x);
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

    .mx_RoomSearch .mx_RoomSearch_spotlightTriggerText {
        color: var(--cpd-color-text-secondary);
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        min-width: 0;
        /* the following rules are to match that of a real input field */
        overflow: hidden;
        margin: 9px;
        font: var(--cpd-font-body-sm-semibold);
    }

    .mx_RoomSearch .mx_RoomSearch_shortcutPrompt {
        border-radius: 6px;
        background-color: var(--cpd-color-alpha-gray-300);
        padding: 2px 4px;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        font-size: 0.75rem;
        line-height: 0.9375rem;
        font-family: inherit;
        font-weight: var(--cpd-font-weight-semibold);
        color: #c8c8cd;
        margin-right: 6px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mx_RoomSearch.mx_RoomSearch_minimized {
        height: 32px;
        min-height: 32px;
        width: 32px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

        .mx_RoomSearch.mx_RoomSearch_minimized .mx_RoomSearch_icon {
            margin: 0 auto;
            padding: 1px;
            -ms-flex-item-align: center;
                align-self: center;
        }

        .mx_RoomSearch.mx_RoomSearch_minimized .mx_RoomSearch_shortcutPrompt {
            display: none;
        }

    .mx_RoomSearch:hover {
        background-color: var(--cpd-color-gray-800);
    }

        .mx_RoomSearch:hover .mx_RoomSearch_spotlightTriggerText {
            color: var(--cpd-color-bg-canvas-default);
        }

        .mx_RoomSearch:hover .mx_RoomSearch_shortcutPrompt {
            background-color: var(--cpd-color-bg-canvas-default);
            color: var(--cpd-color-text-secondary);
        }

        .mx_RoomSearch:hover .mx_RoomSearch_icon {
            color: var(--cpd-color-bg-canvas-default);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --RoomView_MessageList-padding: 18px;
}
    .mx_LeftPanel_panel .mx_RoomView_wrapper {
        height: 100%;
    }

.mx_RoomView_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    /* Contain the amount of layers rendered by constraining what actually needs re-layering via css */
    contain: strict;
}

.mx_RoomView {
    word-wrap: break-word;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
}

    .mx_RoomView .mx_MainSplit {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
    }

    .mx_RoomView .mx_MessageComposer {
        width: 100%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-right: 2px;
        padding-bottom: 1em;
    }

.mx_RoomView_auxPanel_hiddenHighlights {
    border-bottom: 1px solid transparent;
    padding: 10px 26px;
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    cursor: pointer;
}

.mx_RoomView_messagePanel {
    width: 100%;
    overflow-y: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    overflow-anchor: none;
}

.mx_RoomView_messagePanelSearchSpinner {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    background-image: url(../../img/typing-indicator-2x.e13c259.gif);
    background-position: center 367px;
    background-size: 25px;
    background-repeat: no-repeat;
    position: relative;
}

    .mx_RoomView_messagePanelSearchSpinner svg {
        color: var(--cpd-color-gray-900);
        width: 50px;
        height: 50px;
        position: absolute;
        top: 286px;
        left: calc(50% - 25px);
    }

.mx_RoomView_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    container-type: size;
    container-name: roomview;
}

    .mx_RoomView_body .mx_RoomView_messagePanel,
    .mx_RoomView_body .mx_RoomView_messagePanelSpinner,
    .mx_RoomView_body .mx_RoomView_messagePanelSearchSpinner {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
    }

    .mx_RoomView_body .mx_RoomView_timeline {
        /* offset parent for mx_RoomView_topUnreadMessagesBar  */
        position: relative;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-right: calc(8px / 2);
        margin-right: calc(var(--container-gap-width) / 2);
    }

.mx_RoomView_statusArea {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;

    max-height: 0px;
    background-color: var(--cpd-color-bg-canvas-default);
    z-index: 1000;
    overflow: hidden;

    -webkit-transition: all 0.2s ease-out;

    transition: all 0.2s ease-out;
}

.mx_RoomView_statusArea_expanded {
    max-height: 100px;
}

.mx_RoomView_statusAreaBox {
    margin: auto;
    min-height: 50px;
}

.mx_RoomView_statusAreaBox_line {
    margin-left: 65px;
    border-top: 1px solid transparent;
    height: 1px;
}

.mx_RoomView_messageListWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    position: relative;
}
    .mx_RoomView_searchResultsPanel .mx_RoomView_messageListWrapper {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
    }

        .mx_RoomView_searchResultsPanel .mx_RoomView_messageListWrapper > .mx_RoomView_MessageList > li > ol {
            list-style-type: none;
        }

    .mx_RoomView_searchResultsPanel a {
        text-decoration: none;
        color: inherit;
    }

.mx_RoomView_empty {
    font-size: 0.8125rem;
    padding: 0 24px;
    margin-right: 30px;
    text-align: center;
    margin-bottom: 80px; /* visually center the content (intentional offset) */
}

.mx_RoomView_MessageList {
    list-style-type: none;
    padding: 18px;
    padding: var(--RoomView_MessageList-padding); /* mx_ProfileResizer depends on this value */
    margin: 0;
    /* needed as min-height is set to clientHeight in ScrollPanel
    to prevent shrinking when WhoIsTypingTile is hidden */
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

    .mx_RoomView_MessageList li {
        clear: both;
    }

    .mx_ScrollPanel .mx_RoomView_MessageList {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;

        content-visibility: auto;
        contain-intrinsic-size: 50px;
    }

    .mx_RoomView--local .mx_ScrollPanel .mx_RoomView_MessageList {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
    .mx_RoomView_inCall .mx_RoomView_statusAreaBox_line {
        margin-top: 2px;
        border: none;
        height: 0px;
    }

    .mx_RoomView_inCall .mx_MessageComposer_wrapper {
        border-top: 2px hidden;
        padding-top: 1px;
    }
    .mx_MatrixChat_useCompactLayout .mx_RoomView_MessageList {
        margin-bottom: 4px;
    }

        .mx_MatrixChat_useCompactLayout .mx_RoomView_MessageList h2 {
            margin-top: 6px;
        }

    .mx_MatrixChat_useCompactLayout .mx_RoomView_statusAreaBox {
        min-height: 42px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SearchBox {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    min-width: 0;
    min-height: 36px; /* to avoid jumping when the X to clear shows/hides */
}

    .mx_SearchBox.mx_SearchBox_blurred:not(:hover) {
        background-color: transparent;
    }

    .mx_SearchBox .mx_SearchBox_closeButton {
        cursor: pointer;
        height: 16px;
        width: 16px;
        padding: 9px;
    }

        .mx_SearchBox .mx_SearchBox_closeButton svg {
            height: inherit;
            width: inherit;
            color: var(--cpd-color-icon-secondary);
        }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SpaceRoomView_landing .mx_AccessibleButton_kind_link {
        font-size: inherit;
    }

    .mx_SpaceRoomView_landing .mx_SearchBox {
        margin: 24px 0 16px;
    }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_noResults {
        text-align: center;
    }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_noResults > div {
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: var(--cpd-color-text-secondary);
        }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 12px;
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin-bottom: 12px;
    }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_SpaceHierarchy_listHeader_header {
            grid-column-start: 1;
            font-weight: var(--cpd-font-weight-semibold);
            margin: 0;
        }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_SpaceHierarchy_listHeader_buttons {
            grid-column-start: 2;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-flow: wrap;
                flex-flow: wrap;
            gap: 12px;
            min-height: 32px;
        }

            .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_SpaceHierarchy_listHeader_buttons .mx_AccessibleButton {
                padding: 4px 12px;
                font-weight: normal;
            }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_AccessibleButton_kind_danger_outline,
        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_AccessibleButton_kind_primary_outline {
            padding: 3px 12px; /* to account for the 1px border */
        }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_error {
        position: relative;
        font-weight: var(--cpd-font-weight-semibold);
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
        font-size: 0.9375rem;
        line-height: 1.125rem;
        margin: 20px auto 12px;
        padding-left: 24px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
    }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_error::before {
            content: "";
            position: absolute;
            height: 16px;
            width: 16px;
            left: 0;
            background-image: url(../../icons/error-solid.7cb2e4d.svg);
            background-size: cover;
            background-repeat: no-repeat;
        }
        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_roomCount > h3 {
            display: inline;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.125rem;
            line-height: 1.375rem;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_roomCount > span {
            margin-left: 8px;
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: var(--cpd-color-text-secondary);
        }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_toggle {
        position: absolute;
        left: -1px;
        top: 10px;
        height: 16px;
        width: 16px;
        border-radius: 4px;
        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_toggle svg {
            width: inherit;
            height: inherit;
            color: var(--cpd-color-gray-800);
            -webkit-transform: rotate(270deg);
                    transform: rotate(270deg);
        }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_toggle.mx_SpaceHierarchy_subspace_toggle_shown svg {
            -webkit-transform: rotate(0deg);
                    transform: rotate(0deg);
        }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_children {
        position: relative;
        padding-left: 12px;
    }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper {
            list-style: none;
        }

            .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile {
                position: relative;
                padding: 8px 16px;
                border-radius: 8px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;

                display: -webkit-box;

                display: -ms-flexbox;

                display: flex;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                gap: 6px 12px;
            }

                .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item {
                    font-weight: var(--cpd-font-weight-semibold);
                    font-size: 0.9375rem;
                    line-height: 1.125rem;
                    display: grid;
                    grid-template-columns: 20px auto;
                    grid-gap: 6px 8px;
                    gap: 6px 8px;
                    -webkit-box-align: center;
                        -ms-flex-align: center;
                            align-items: center;
                    -webkit-box-flex: 1;
                        -ms-flex: 1;
                            flex: 1; /* wrap action buttons */
                }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_avatar {
                        grid-row: 1;
                        grid-column: 1;
                    }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name {
                        grid-row: 1;
                        grid-column: 2;
                    }

                        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_InfoTooltip,
                        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined {
                            margin-left: 12px;
                            color: var(--cpd-color-gray-800);
                            font-size: 0.75rem;
                            line-height: 0.9375rem;
                        }

                        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_InfoTooltip {
                            display: inline-block;
                        }

                        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined {
                            display: -webkit-inline-box;
                            display: -ms-inline-flexbox;
                            display: inline-flex;
                            -webkit-box-align: center;
                                -ms-flex-align: center;
                                    align-items: center;
                            vertical-align: middle;
                        }

                            .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined svg {
                                width: 20px;
                                height: 20px;
                                color: #2e80de;
                                color: var(--cpd-color-text-action-accent);
                            }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_info {
                        grid-row: 2;
                        grid-column: 2;
                        font: var(--cpd-font-body-md-regular);
                        font-weight: normal;
                        font-weight: initial;
                        line-height: 1.125rem;
                        color: var(--cpd-color-text-secondary);
                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 2;
                        overflow: hidden;
                    }

                .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-align: center;
                        -ms-flex-align: center;
                            align-items: center;
                    -webkit-column-gap: 12px;
                       -moz-column-gap: 12px;
                            column-gap: 12px;
                    margin-left: auto;
                }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_AccessibleButton {
                        line-height: 1.5rem;
                        padding: 4px 16px;
                        display: inline-block;
                        visibility: hidden;
                    }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_AccessibleButton_kind_danger_outline,
                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_AccessibleButton_kind_primary_outline {
                        padding: 3px 16px; /* to account for the 1px border */
                    }

                .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:hover,
                .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:focus-within {
                    background-color: rgba(38, 39, 43, 0.82);
                }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:hover .mx_AccessibleButton, .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:focus-within .mx_AccessibleButton {
                        visibility: visible;
                    }
                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile.mx_SpaceHierarchy_joining .mx_AccessibleButton {
                        visibility: visible;
                        padding: 4px 18px;
                    }
        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_roomTile::before, .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_children::before {
            content: "";
            position: absolute;
            background-color: rgba(38, 39, 43, 0.82);
            width: 1px;
            height: 100%;
            left: 6px;
            top: 0;
        }
        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_actions .mx_SpaceHierarchy_actionsText {
            font-weight: normal;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

    .mx_SpaceRoomView_landing > hr {
        border: none;
        height: 1px;
        background-color: rgb(141, 151, 165, 0.2);
        margin: 20px 0;
    }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_createRoom {
        display: block;
        margin: 16px auto 0;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpacePanel {
    --activeBackground-color: var(--cpd-color-alpha-gray-300);
    --activeBorder-color: var(--cpd-color-text-primary);
    --activeBorder-transparent-gap: 1px;
    --gutterSize: 14px;
    --height-nested: 24px;
    --height-topLevel: 32px;

    background-color: rgba(38, 39, 43, 0.82);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    padding: 0;
    margin: 0;
    position: relative;
    /* Fix for the blurred avatar-background */
    z-index: 1;

    /* For enhanced visibility under contrast control */
    outline: 1px solid transparent;

    /* Create another flexbox so the Panel fills the container */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    /* root space buttons are bigger and not indented */
}

    .mx_SpacePanel.collapsed {
        width: 68px;
    }

    .mx_SpacePanel.newUi {
        background-color: var(--cpd-color-bg-canvas-default);
        border-right: 1px solid var(--cpd-color-bg-subtle-primary);
    }

    .mx_SpacePanel .mx_SpacePanel_toggleCollapse {
        position: absolute;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background-color: var(--cpd-color-gray-800);
        top: 19px; /* v-align with avatar */
        right: -8px;
    }

        .mx_SpacePanel .mx_SpacePanel_toggleCollapse svg {
            height: inherit;
            width: inherit;
            display: inline-block;
            color: var(--cpd-color-bg-canvas-default);
            /* Slight alignment tweak to center the asset */
            margin-left: 1px;
        }

        .mx_SpacePanel .mx_SpacePanel_toggleCollapse:not(.expanded) {
            opacity: 0;
        }

        .mx_SpacePanel .mx_SpacePanel_toggleCollapse.expanded svg {
            -webkit-transform: rotate(180deg);
                    transform: rotate(180deg);
            /* Slight alignment tweak to center the asset */
            margin-left: -1px;
        }

    .mx_SpacePanel:hover .mx_SpacePanel_toggleCollapse,
    .mx_SpacePanel .mx_SpacePanel_toggleCollapse:focus-visible {
        opacity: 1;
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

    .mx_SpacePanel ul {
        margin: 0;
        list-style: none;
        padding: 0;
    }

    .mx_SpacePanel .mx_SpaceButton_toggleCollapse {
        cursor: pointer;
    }
        .mx_SpacePanel .mx_SpaceItem_dragging .mx_SpaceButton_toggleCollapse {
            visibility: hidden;
        }

    .mx_SpacePanel .mx_SpaceItem {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
    }

        .mx_SpacePanel .mx_SpaceItem.mx_SpaceItem_narrow {
            -ms-flex-item-align: baseline;
                align-self: baseline;
        }
        .mx_SpacePanel .mx_SpaceItem.collapsed > .mx_SpaceButton > .mx_SpaceButton_toggleCollapse {
            padding: 0 10px;
            margin: 0 -10px;
        }

        .mx_SpacePanel .mx_SpaceItem.collapsed > .mx_SpaceTreeLevel {
            display: none;
        }

    .mx_SpacePanel .mx_SpaceItem_new {
        position: relative;
    }

    .mx_SpacePanel .mx_SpaceItem:not(.hasSubSpaces) > .mx_SpaceButton {
        margin-left: var(--gutterSize);
        min-width: 40px;
    }

    .mx_SpacePanel .mx_SpaceButton {
        border-radius: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 4px 4px 4px 0;
        width: 100%;
        /* Override the unlayered cursor: grab; rule from react-beautiful-dnd */
        cursor: pointer !important;
    }
            .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_active:not(.mx_SpaceButton_narrow) .mx_SpaceButton_selectionWrapper {
                background-color: var(--activeBackground-color);
            }

            .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_active.mx_SpaceButton_narrow .mx_SpaceButton_selectionWrapper {
                padding: var(--activeBorder-transparent-gap);
                border: 3px var(--activeBorder-color) solid;
            }

        .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_selectionWrapper {
            position: relative;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            border-radius: 12px;
            padding: 4px;
            width: calc(100% - 32px);
            min-width: 0;
        }

        .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_narrow .mx_SpaceButton_selectionWrapper {
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            width: 32px;
        }

        .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_name {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            margin-left: 8px;
            white-space: nowrap;
            display: block;
            text-overflow: ellipsis;
            overflow: hidden;
            font: var(--cpd-font-body-md-regular);
        }

        .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_toggleCollapse {
            height: 20px;
            width: var(--gutterSize);
            -ms-flex-negative: 0;
                flex-shrink: 0;
            padding: 10px 0;
        }

            .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_toggleCollapse svg {
                width: 20px;
                height: inherit;
                display: inline-block;
                color: var(--cpd-color-gray-800);
                /* Re-align with parent */
                margin-left: -3px;
            }

        .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_icon {
            /* Calculate height excluding padding to allow svg to inherit */
            width: calc(var(--height-topLevel) - 14px);
            height: calc(var(--height-topLevel) - 14px);
            -ms-flex-negative: 0;
                flex-shrink: 0;
            border-radius: 8px;
            padding: 7px;
            background-color: var(--cpd-color-alpha-gray-300);
        }

            .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_icon svg {
                width: inherit;
                height: inherit;
                display: block;
                color: var(--cpd-color-text-secondary);
            }

        .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_new .mx_SpaceButton_icon {
            background-color: transparent;
            background-color: initial;
        }

            .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_new .mx_SpaceButton_icon svg {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                -webkit-transition: all 0.2s ease-in-out;
                transition: all 0.2s ease-in-out; /* TODO transition */
            }

        .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_newCancel .mx_SpaceButton_icon svg {
            -webkit-transform: rotate(45deg);
                    transform: rotate(45deg);
        }

        .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_menuButton {
            width: 16px;
            height: 16px;
            padding: var(--cpd-space-0-5x);
            -ms-flex-negative: 0;
                flex-shrink: 0;
            margin-top: auto;
            margin-bottom: auto;
            display: none;
            position: absolute;
            right: 4px;
        }

            .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_menuButton svg {
                width: inherit;
                height: inherit;
                display: block;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

    .mx_SpacePanel .mx_SpaceTreeLevel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        max-width: 250px;
        min-width: 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

        .mx_SpacePanel .mx_SpaceTreeLevel .mx_SpaceTreeLevel {
            /* Indent subspaces */
            padding-left: 16px;
        }

    .mx_SpacePanel .mx_SpaceButton_avatarWrapper {
        position: relative;
        line-height: 0;
    }

    .mx_SpacePanel .mx_SpacePanel_badgeContainer {
        /* Create a flexbox to make aligning dot badges easier */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        right: -3px;
        top: -3px;
    }

        .mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge {
            margin: 0 2px; /* centering */
            background-clip: padding-box;
        }

        .mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge_dot {
            /* make the smaller dot occupy the same width for centering */
            margin: 0 -1px 0 0;
            border: 3px solid rgba(38, 39, 43, 0.82);
        }

        .mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge_2char,
        .mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge_3char {
            margin: -5px -5px 0 0;
            border: 2px solid rgba(38, 39, 43, 0.82);
        }
        .mx_SpacePanel .mx_SpaceButton:hover:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_menuButton, .mx_SpacePanel .mx_SpaceButton:focus-within:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_menuButton, .mx_SpacePanel .mx_SpaceButton_hasMenuOpen:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_menuButton {
            display: block;
        }
            .mx_SpacePanel .mx_SpaceItem:not(.mx_SpaceItem_new) .mx_SpaceButton:hover:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_name, .mx_SpacePanel .mx_SpaceItem:not(.mx_SpaceItem_new) .mx_SpaceButton:focus-within:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_name, .mx_SpacePanel .mx_SpaceItem:not(.mx_SpaceItem_new) .mx_SpaceButton_hasMenuOpen:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_name {
                max-width: calc(100% - 56px);
            }
    .mx_SpacePanel > .mx_AutoHideScrollbar {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        padding: 0 0 16px 0;
        scrollbar-gutter: stable;
    }

        .mx_SpacePanel > .mx_AutoHideScrollbar.mx_IndicatorScrollbar_topOverflow {
            -webkit-mask-image: linear-gradient(to bottom, transparent, black 16px);
                    mask-image: linear-gradient(to bottom, transparent, black 16px);
        }

        .mx_SpacePanel > .mx_AutoHideScrollbar.mx_IndicatorScrollbar_bottomOverflow {
            -webkit-mask-image: linear-gradient(
                to top,
                transparent,
                rgb(255, 255, 255, 30%) 4px,
                rgb(255, 255, 255, 55%) 8px,
                rgb(255, 255, 255, 75%) 12px,
                black 16px
            );
                    mask-image: linear-gradient(
                to top,
                transparent,
                rgb(255, 255, 255, 30%) 4px,
                rgb(255, 255, 255, 55%) 8px,
                rgb(255, 255, 255, 75%) 12px,
                black 16px
            );
        }

        .mx_SpacePanel > .mx_AutoHideScrollbar.mx_IndicatorScrollbar_topOverflow.mx_IndicatorScrollbar_bottomOverflow {
            /* This stacks two gradients on top of one another, which lets us
               have a fixed pixel offset from both top and bottom for the colour stops.
               Note the top fade is much smaller because the spaces start close to the top,
               so otherwise a large gradient suddenly appears when you scroll down.
             */
            -webkit-mask-image:
                linear-gradient(to bottom, transparent, black 16px),
                linear-gradient(
                    to top,
                    transparent,
                    rgb(255, 255, 255, 30%) 4px,
                    rgb(255, 255, 255, 55%) 8px,
                    rgb(255, 255, 255, 75%) 12px,
                    black 16px
                );
                    mask-image:
                linear-gradient(to bottom, transparent, black 16px),
                linear-gradient(
                    to top,
                    transparent,
                    rgb(255, 255, 255, 30%) 4px,
                    rgb(255, 255, 255, 55%) 8px,
                    rgb(255, 255, 255, 75%) 12px,
                    black 16px
                );
            -webkit-mask-position:
                0% 0%,
                0% 100%;
                    mask-position:
                0% 0%,
                0% 100%;
            -webkit-mask-size:
                calc(100% - 10px) 50%,
                calc(100% - 10px) 50%;
                    mask-size:
                calc(100% - 10px) 50%,
                calc(100% - 10px) 50%;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
        }

.mx_SpacePanel_contextMenu {
    max-width: 360px;
}

    .mx_SpacePanel_contextMenu .mx_SpacePanel_contextMenu_header {
        margin: 12px 16px 12px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.125rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mx_SpacePanel_contextMenu .mx_SpacePanel_contextMenu_separatorLabel {
        color: var(--cpd-color-gray-800);
        font-size: 0.625rem;
        line-height: 0.75rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_SpacePanel_sharePublicSpace {
    margin: 0;
}
    .mx_SpacePanel_Tooltip_KeyboardShortcut kbd {
        font-family: inherit;
        text-transform: capitalize;
    }
}
@layer app-web{

/*
Copyright 2025 Element Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpacePillButton {
    position: relative;
    padding: 16px 32px 16px 72px;
    width: 432px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 8px;
    border: 1px solid rgba(231, 231, 231, 0.2);
    font-size: 1.0625rem;
    font-weight: var(--cpd-font-weight-semibold);
    margin: 20px 0;
}

    .mx_SpacePillButton > div {
        margin-top: 4px;
        font-weight: normal;
        font-size: 0.9375rem;
        color: var(--cpd-color-text-secondary);
    }

    .mx_SpacePillButton svg {
        position: absolute;
        content: "";
        width: 28px;
        height: 28px;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        left: 22px;
        color: var(--cpd-color-gray-800);
    }

    .mx_SpacePillButton:hover {
        border-color: #2e80de;
        border-color: var(--cpd-color-bg-action-primary-rest);
    }

        .mx_SpacePillButton:hover svg {
            color: var(--cpd-color-icon-primary);
        }

        .mx_SpacePillButton:hover > span {
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceRoomView {
    --innerWidth: 428px;

    overflow-y: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

    .mx_SpaceRoomView .mx_MainSplit > div:first-child {
        padding: 80px 60px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        max-height: 100%;
        overflow-y: auto;
    }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child h1 {
            margin: 0;
            font-size: 1.5rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content;
        }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_description {
            font-size: 0.9375rem;
            color: var(--cpd-color-text-secondary);
            margin-top: 12px;
            margin-bottom: 24px;
            max-width: var(--innerWidth);
        }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_AddExistingToSpace {
            max-width: var(--innerWidth);
        }

            .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_AddExistingToSpace .mx_AddExistingToSpace_content {
                height: calc(100vh - 360px);
                max-height: 400px;
            }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_buttons {
            display: block;
            margin-top: 44px;
            width: var(--innerWidth);
            text-align: right; /* button alignment right */
        }

            .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_buttons .mx_AccessibleButton_hasKind {
                padding: 8px 22px;
                margin-left: 16px;
            }

            .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_buttons input.mx_AccessibleButton {
                border: none; /* override default styles */
            }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_Field {
            max-width: var(--innerWidth);
        }

            .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_Field + .mx_Field {
                margin-top: 28px;
            }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_errorText {
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
            margin-bottom: 28px;
        }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_AccessibleButton_disabled {
            cursor: not-allowed;
        }

    .mx_SpaceRoomView .mx_SpaceRoomView_landing {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        min-width: 0;
    }

        .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_header {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
        }

            .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_header .mx_BaseAvatar {
                width: 80px;
            }

        .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name {
            margin: 24px 0 16px;
            font-size: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

            .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name > span {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-flow: column;
                        flex-flow: column;
                gap: 12px 0;
            }

                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name > span h1 {
                    display: inline-block;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                    width: 100%;
                }
                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name .mx_SpaceRoomView_landing_inviter .mx_BaseAvatar {
                    margin-right: 4px;
                    vertical-align: middle;
                }

        .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            gap: 12px;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            line-height: 1.5rem;
        }

            .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                gap: 12px 12px;
            }

                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_FacePile {
                    display: inline-block;
                    cursor: pointer;
                    /* For enhanced visibility under contrast control */
                    outline: 1px solid transparent;
                }

                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton,
                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton {
                    position: relative;
                }

                    .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton svg, .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton svg {
                        position: absolute;
                    }

                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton {
                    padding: 4px 18px 4px 40px;
                    height: -webkit-min-content;
                    height: -moz-min-content;
                    height: min-content;
                }

                    .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton svg {
                        left: 8px;
                        height: 16px;
                        width: 16px;
                        color: var(--cpd-color-icon-on-solid-primary);
                    }

                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton {
                    width: 24px;
                    height: 24px;
                }

                    .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton svg {
                        left: 0;
                        top: 0;
                        height: 24px;
                        width: 24px;
                        color: var(--cpd-color-gray-800);
                    }

        .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_topic {
            font-size: 0.9375rem;
            margin-top: 12px;
            margin-bottom: 16px;
            white-space: pre-wrap;
            word-wrap: break-word;
        }

        .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SearchBox {
            margin: 0 0 20px;
            -webkit-box-flex: 0;
                -ms-flex: 0;
                    flex: 0;
        }
        .mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons {
            color: var(--cpd-color-text-secondary);
            margin-top: 28px;
        }

            .mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_AccessibleButton {
                position: relative;
                display: inline-block;
                padding-left: 32px;
                line-height: 24px; /* to center icons */
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                font-weight: var(--cpd-font-weight-semibold);
                text-decoration: underline;
            }

                .mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_AccessibleButton svg {
                    position: absolute;
                    height: 24px;
                    width: 24px;
                    top: 0;
                    left: 0;
                    color: var(--cpd-color-icon-primary);
                }

                .mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_AccessibleButton + .mx_AccessibleButton {
                    margin-left: 32px;
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SplashPage {
    position: relative;
    height: 100%;
}

    .mx_SplashPage::before {
        content: "";
        display: block;
        position: absolute;
        z-index: -1;
        opacity: 0.6;
        background-image:
            radial-gradient(
                53.85% 66.75% at 87.55% 0%,
                hsl(250deg, 76%, 71%, 0.261) 0%,
                hsl(250deg, 100%, 88%, 0) 100%
            ),
            radial-gradient(41.93% 41.93% at 0% 0%, hsl(222deg, 29%, 20%, 0.28) 0%, hsl(250deg, 100%, 88%, 0) 100%),
            radial-gradient(100% 100% at 0% 0%, hsl(250deg, 100%, 88%, 0.174) 0%, hsl(0deg, 100%, 86%, 0) 100%),
            radial-gradient(106.35% 96.26% at 100% 0%, hsl(250deg, 100%, 88%, 0.4) 0%, hsl(167deg, 76%, 82%, 0) 100%);
        /* blur to reduce color banding issues due to alpha-blending multiple gradients */
        -webkit-filter: blur(8px);
                filter: blur(8px);
        inset: -9px;
        -webkit-mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            /* gradient to apply different amounts of dithering to different parts of the gradient */
            linear-gradient(
                    to bottom,
                    /* 10% dithering at the top */ rgb(0, 0, 0, 0.9) 20%,
                    /* 80% dithering at the bottom */ rgb(0, 0, 0, 0.2) 100%
                );
        -webkit-mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            /* gradient to apply different amounts of dithering to different parts of the gradient */
            linear-gradient(
                    to bottom,
                    /* 10% dithering at the top */ rgb(0, 0, 0, 0.9) 20%,
                    /* 80% dithering at the bottom */ rgb(0, 0, 0, 0.2) 100%
                );
                mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            /* gradient to apply different amounts of dithering to different parts of the gradient */
            linear-gradient(
                    to bottom,
                    /* 10% dithering at the top */ rgb(0, 0, 0, 0.9) 20%,
                    /* 80% dithering at the bottom */ rgb(0, 0, 0, 0.2) 100%
                );
                mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            /* gradient to apply different amounts of dithering to different parts of the gradient */
            linear-gradient(
                    to bottom,
                    /* 10% dithering at the top */ rgb(0, 0, 0, 0.9) 20%,
                    /* 80% dithering at the bottom */ rgb(0, 0, 0, 0.2) 100%
                );
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd
Copyright 2017 Travis Ralston

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TabbedView {
    margin: 0;
    padding: 0 0 0 var(--cpd-space-8x);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    inset: 0;
    margin-top: 8px;
}

.mx_TabbedView_tabsOnLeft {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
}

    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabels {
        width: 220px;
        max-width: 220px;
        position: fixed;
        margin: 0; /* Remove the default value */
        padding: 0; /* Remove the default value */
    }

    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabPanel {
        margin-left: 280px; /* 220px sidebar + 60px padding */
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel:hover,
    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel_active {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel_active {
        background-color: var(--cpd-color-bg-subtle-secondary);
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

.mx_TabbedView_tabsOnTop {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

    .mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabels {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 8px;
    }

    .mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel {
        padding-left: 0px;
        padding-right: 52px;
    }

        .mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel .mx_TabbedView_tabLabel_text {
            font-size: 15px;
            color: var(--cpd-color-gray-800);
        }

    .mx_TabbedView_tabsOnTop .mx_TabbedView_tabPanel {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }

    .mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel_active {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }
        .mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel_active .mx_TabbedView_tabLabel_text {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
        }

.mx_TabbedView_tabLabels {
    color: var(--cpd-color-text-secondary);
}

.mx_TabbedView_tabLabel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    vertical-align: text-top;
    cursor: pointer;
    padding-block: var(--cpd-space-2x);
    padding-inline: var(--cpd-space-3x) var(--cpd-space-4x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-block-size: 40px;
    min-inline-size: 40px;
    border-radius: 24px;
    font: var(--cpd-font-body-md-medium);
    position: relative;
    -webkit-transition:
        color 0.1s,
        background-color 0.1s;
    transition:
        color 0.1s,
        background-color 0.1s;
}

    .mx_TabbedView_tabLabel svg {
        width: 20px;
        height: 20px;
        margin-right: var(--cpd-space-3x);
    }

.mx_TabbedView_tabLabel_text {
    vertical-align: middle;
}

.mx_TabbedView_tabPanel {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 0; /* firefox */
}

.mx_TabbedView_tabPanelContent {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    overflow: auto;
    min-height: 0; /* firefox */
}

/* Hide the labels on tabs, showing only the icons, on narrow viewports. */
@media (max-width: 1024px) {
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabel_text {
            display: none;
        }
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabPanel {
            margin-left: 72px; /* 40px sidebar + 32px padding */
        }
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabels {
            width: auto;
        }
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabel {
            padding-inline: 0 0;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }
            .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabel svg {
                margin-right: 0;
            }
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_ThreadsActivityCentre_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_ThreadsActivityCentreButton {
    /* !important override compound */
    border-radius: 8px !important;
    margin: 18px auto auto auto;
}

    .mx_ThreadsActivityCentreButton.expanded {
        /**
         * override compound default background color when hovered
         * should disappear when the space panel will be migrated to compound
         */
        background-color: transparent !important;

        /* align with settings icon */
        margin-left: 21px;
        margin-right: 8px;
        width: 100%;

        /**
         * modify internal css of the compound component
         * dirty but we need to add the `Threads` label into the indicator icon button
         **/
    }
        .mx_ThreadsActivityCentreButton.expanded > div {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

            .mx_ThreadsActivityCentreButton.expanded > div::before {
                inline-size: 8px;
                block-size: 8px;
                left: 17px;
            }

        .mx_ThreadsActivityCentreButton.expanded .mx_ThreadsActivityCentreButton_Icon {
            /* align with settings label */
            margin-right: 14px;
            /* required to set the icon width when into a flex container */
            width: 24px;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

        .mx_ThreadsActivityCentreButton.expanded .mx_ThreadsActivityCentreButton_Text {
            /* !important override compound  */
            color: var(--cpd-color-text-secondary) !important;
        }
        .mx_ThreadsActivityCentreButton:not(.expanded):hover,
        .mx_ThreadsActivityCentreButton:not(.expanded):hover .mx_ThreadsActivityCentreButton_Icon {
            /* !important override compound */
            background-color: var(--cpd-color-gray-600) !important;
            fill: #ffffff;
            fill: var(--cpd-color-text-primary);
        }

    .mx_ThreadsActivityCentreButton .mx_ThreadsActivityCentreButton_Icon {
        fill: var(--cpd-color-text-secondary);
    }

.mx_ThreadsActivityCentre_rows {
    overflow-y: scroll;
    /* Let some space at the top and the bottom of the pop-up */
    max-height: calc(100vh - 200px);
}

    .mx_ThreadsActivityCentre_rows .mx_ThreadsActivityCentreRow {
        height: 48px;

        /* Make the label of the MenuItem stay on one line and truncate with ellipsis if needed */

        /* Hide the notification badge on hover — compound's `nav-hint ~ *` rule would normally
         * do this, but the app-web CSS layer overrides compound-web regardless of specificity. */
    }
        .mx_ThreadsActivityCentre_rows .mx_ThreadsActivityCentreRow > span {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            /* Arbitrary size, keep the TAC as the wanted width */
            width: 202px;
        }
        .mx_ThreadsActivityCentre_rows .mx_ThreadsActivityCentreRow:hover .mx_NotificationBadge {
            display: none;
        }

.mx_ThreadsActivityCentre_emptyCaption {
    padding-left: 16px;
    padding-right: 16px;
    font-size: 13px;
}
}
@layer app-web{

/*
Copyright 2026 Element Creations Ltd.
Copyright 2024 New Vector Ltd.
Copyright 2019-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ToastContainer {
    position: absolute;
    top: 12px;
    left: 62px;
    z-index: 101;
    display: grid;
    grid-template-rows: 1fr 28px 8px;
}

    .mx_ToastContainer.mx_ToastContainer_stacked::before {
        content: "";
        margin: 0 var(--cpd-space-1-5x);
        grid-row: 2 / -1;
        grid-column: 1;
        background-color: var(--cpd-color-bg-subtle-secondary);
        -webkit-box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.5);
                box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.5);
        border-radius: var(--cpd-space-6x);
    }

    .mx_ToastContainer .mx_Toast_toast {
        grid-row: 1 / 3;
        grid-column: 1;
        background-color: var(--cpd-color-bg-canvas-default);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        -webkit-box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
                box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
        border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-secondary);
        border-radius: var(--cpd-space-3x);
        overflow: hidden;
        display: grid;
        grid-template-columns: 20px 1fr auto;
        grid-column-gap: var(--cpd-space-2x);
        -webkit-column-gap: var(--cpd-space-2x);
           -moz-column-gap: var(--cpd-space-2x);
                column-gap: var(--cpd-space-2x);
        grid-row-gap: 4px;
        row-gap: 4px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: calc(var(--cpd-space-5x) - var(--cpd-border-width-1));
    }
            .mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon svg {
                width: 20px;
                height: 20px;
                grid-column: 1;
            }

            .mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon .mx_Toast_title {
                grid-column: 2;
            }

            .mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon .mx_Toast_closebutton {
                grid-column: 3;
            }
        .mx_ToastContainer .mx_Toast_toast:not(.mx_Toast_hasIcon) .mx_Toast_title {
            grid-column: 1 / -1;
        }

        .mx_ToastContainer .mx_Toast_toast .mx_Toast_title {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-column-gap: var(--cpd-space-2x);
               -moz-column-gap: var(--cpd-space-2x);
                    column-gap: var(--cpd-space-2x);
            width: 100%;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

            .mx_ToastContainer .mx_Toast_toast .mx_Toast_title h2 {
                margin: 0;
                font: var(--cpd-font-body-lg-semibold);
                display: inline;
                width: auto;
            }

        .mx_ToastContainer .mx_Toast_toast .mx_Toast_body {
            grid-column: 1 / -1;
            grid-row: 2;
        }

        .mx_ToastContainer .mx_Toast_toast .mx_Toast_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
            -webkit-column-gap: var(--cpd-space-2x);
               -moz-column-gap: var(--cpd-space-2x);
                    column-gap: var(--cpd-space-2x);
        }

            .mx_ToastContainer .mx_Toast_toast .mx_Toast_buttons .mx_AccessibleButton {
                min-width: 96px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
            }

        .mx_ToastContainer .mx_Toast_toast .mx_Toast_description {
            max-width: 272px;
            overflow: hidden;
            text-overflow: ellipsis;
            margin: var(--cpd-space-1x) 0 11px 0;
            color: var(--cpd-color-text-secondary);
            font: var(--cpd-font-body-sm-regular);
        }

            .mx_ToastContainer .mx_Toast_toast .mx_Toast_description a {
                text-decoration: none;
            }

        .mx_ToastContainer .mx_Toast_toast .mx_Toast_deviceID {
            font-size: 0.625rem;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 , 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UploadBar {
    /* line up with the shield area in the composer */
    padding: 5px 21px 0;
    position: relative;

    display: grid;
    grid-template:
        "icon     filename cancel" auto
        "progress progress progress" auto
        / -webkit-min-content auto -webkit-min-content;
    grid-template:
        "icon     filename cancel" auto
        "progress progress progress" auto
        / min-content auto min-content;
    grid-gap: var(--cpd-space-1-5x);
    gap: var(--cpd-space-1-5x);
}

    .mx_UploadBar > svg {
        grid-area: icon;
        height: 18px;
        width: 18px;
        color: #91a1c0;
        align-self: center;
    }

    .mx_UploadBar .mx_UploadBar_filename {
        grid-area: filename;
        color: #91a1c0;
        position: relative;
        font-size: 0.9375rem;
        vertical-align: middle;
    }

    .mx_UploadBar .mx_UploadBar_cancel {
        grid-area: cancel;
        height: 16px;
        width: 16px;
        color: #91a1c0;
        align-self: center;
    }

    .mx_UploadBar .mx_ProgressBar {
        grid-area: progress;
        width: 100%;
    }
    .mx_ThreadView .mx_UploadBar {
        padding-left: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ViewSource pre {
        font-size: 0.75rem;
        padding: 0.5em 1em;
        word-wrap: break-word;
        white-space: pre-wrap;
        overflow-wrap: anywhere;
    }

    .mx_ViewSource .mx_ViewSource_header {
        border-bottom: 1px solid var(--cpd-color-gray-400);
        padding-bottom: 12px;
        margin-bottom: 12px;
        font-family: monospace;
    }

        .mx_ViewSource .mx_ViewSource_header .mx_CopyableText {
            word-break: break-all;
        }

    .mx_ViewSource .mx_ViewSource_heading {
        font-size: 1.0625rem;
        font-weight: 400;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin-top: 12px;
    }

    .mx_ViewSource .mx_ViewSource_details {
        margin-top: 12px;
    }

    .mx_ViewSource .mx_CopyableText_border {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CompleteSecurity_header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_E2EIcon.mx_CompleteSecurity_headerIcon {
    width: 24px;
    height: 24px;
    margin-right: 4px;
    display: inline-block;
}

.mx_E2EIcon.mx_CompleteSecurity_heroIcon {
    width: 128px;
    height: 128px;
    margin: 0 auto;
}

.mx_CompleteSecurity_skip {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_CompleteSecurity_skip:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_CompleteSecurity_skip svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_CompleteSecurity_skip{
    position: absolute;
    right: 24px;
}

.mx_CompleteSecurity_body {
    font-size: 0.9375rem;
}

.mx_CompleteSecurity_waiting {
    color: var(--cpd-color-gray-800);
}

.mx_CompleteSecurity_actionRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 1.75rem;
}

    .mx_CompleteSecurity_actionRow .mx_AccessibleButton {
        -webkit-margin-start: 18px;
                margin-inline-start: 18px;
    }

        .mx_CompleteSecurity_actionRow .mx_AccessibleButton.warning {
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ConfirmSessionLockTheftView {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_ConfirmSessionLockTheftView_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 400px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Login_submit {
    width: 100%;
    margin-top: 24px;
    margin-bottom: 24px;
}

.mx_Login_loader {
    display: inline;
    position: relative;
    top: 2px;
    left: 8px;
}

.mx_Login_loader .mx_Spinner {
    display: inline;
}

.mx_Login_loader .mx_Spinner img {
    width: 16px;
    height: 16px;
}

.mx_Login_error {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    font-weight: bold;
    text-align: center;
    margin-top: 12px;
    margin-bottom: 12px;
}

.mx_Login_error.mx_Login_serverError {
    text-align: left;
    font-weight: normal;
}

.mx_Login_error.mx_Login_serverError.mx_Login_serverErrorNonFatal {
    color: #ff8d13; /* Only used here */
}

.mx_Login_type_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

    .mx_Login_type_container .mx_Field {
        margin: 0;
    }

.mx_Login_type_label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_Login_underlinedServerName {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    border-bottom: 1px dashed #2e80de;
    border-bottom: 1px dashed var(--cpd-color-text-action-accent);
}

div.mx_AccessibleButton_kind_link.mx_Login_forgot {
    display: block;
    margin-top: 24px;
}

    div.mx_AccessibleButton_kind_link.mx_Login_forgot.mx_AccessibleButton_disabled {
        cursor: not-allowed;
    }

.mx_Login_spinner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    padding: 14px;
}

.mx_Login_fullWidthButton {
    width: 100%;
    margin-bottom: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LoginSplashView_migrationProgress {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
}

    .mx_LoginSplashView_migrationProgress .mx_ProgressBar {
        height: 8px;
        width: 600px;

        border-radius: 8px;
    }

        .mx_LoginSplashView_migrationProgress .mx_ProgressBar::-moz-progress-bar {
        border-radius: 8px;
    }

        .mx_LoginSplashView_migrationProgress .mx_ProgressBar::-webkit-progress-bar,
    .mx_LoginSplashView_migrationProgress .mx_ProgressBar::-webkit-progress-value {
        border-radius: 8px;
    }

.mx_LoginSplashView_splashButtons {
    text-align: center;
    width: 100%;
    position: absolute;
    bottom: 30px;
}

.mx_LoginSplashView_syncError {
    color: #f4f6fa;
    background-color: #df2a8b; /* Only used here */
    border-radius: 5px;
    display: table;
    padding: 30px;
    position: absolute;
    top: 100px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MobileRegister_body {
    padding: 32px;
    height: 100vh;
    overflow-y: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Register_mainContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-height: 270px;
}

    .mx_Register_mainContent p {
        font: var(--cpd-font-body-md-regular);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

        .mx_Register_mainContent p.secondary {
            color: var(--cpd-color-text-secondary);
        }

    .mx_Register_mainContent > img:first-child {
        margin-bottom: 16px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
    }

    .mx_Register_mainContent .mx_Login_submit {
        margin-bottom: 0;
    }

.mx_Register_footerActions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid rgb(141, 151, 165, 0.2);
}

    .mx_Register_footerActions > * {
        -ms-flex-preferred-size: content;
            flex-basis: content;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SessionLockStolenView h1 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 2rem;
        text-align: center;
    }

    .mx_SessionLockStolenView h2 {
        margin: 0;
        font-weight: 500;
        font-size: 1.5rem;
        text-align: center;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SetupEncryptionBody {
    width: 600px;
}
}
@layer app-web{

/*
PLX Midnight font — Plus Jakarta Sans.

@font-face declarations for the PLX primary typeface. Files live in
res/fonts/PlusJakartaSans/ and are copied verbatim into the build output by
webpack's asset handling (referenced via absolute /res/ URLs, matching the
Twemoji pattern in _fonts.pcss). The family is wired as the primary font in
_plx-telegram.pcss (--plx-font) with a system-ui fallback.
*/

@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../../fonts/PlusJakartaSans/plus-jakarta-sans-latin-400-normal.9eb2a7e.woff2) format("woff2");
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../../fonts/PlusJakartaSans/plus-jakarta-sans-latin-500-normal.c313031.woff2) format("woff2");
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../../fonts/PlusJakartaSans/plus-jakarta-sans-latin-600-normal.7720d76.woff2) format("woff2");
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../../fonts/PlusJakartaSans/plus-jakarta-sans-latin-700-normal.7cfa130.woff2) format("woff2");
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(../../fonts/PlusJakartaSans/plus-jakarta-sans-latin-800-normal.94c5685.woff2) format("woff2");
}
}
@layer app-web{

/*
PLX Midnight theme overlay.

Applied as the last import in the dark theme so it sits at the top of the
`app-web` cascade layer and overrides Element's defaults. It maps the
PLX "Midnight" design tokens (deep navy on TARDIS blue) onto Element's
component selectors and compound design tokens.

Robustness notes:
- We override the runtime CSS custom properties (--cpd-color-*) rather than
  SCSS build vars, so this is a single self-contained file with no build-graph
  coupling.
- All colours/radii are sourced from the Midnight design handoff.
*/

:root {
    /* ---- PLX / Midnight dark token block ---- */
    --plx-accent: #2e80de;            /* TARDIS blue — links, active, badges */
    --plx-accent-hover: #3a8fe6;      /* accent-bright */
    --plx-accent-deep: #175fb0;
    --plx-accent-soft: rgba(46, 128, 222, 0.16);
    --plx-bg: #0e1621;                /* chat area background */
    --plx-bg-secondary: #0e1621;      /* sidebar / room list bg */
    --plx-panel: #17212b;             /* sidebar, headers, composer */
    --plx-panel-2: #202b36;           /* cards, popovers, hover surfaces */
    --plx-bubble-in: #182533;         /* incoming message bubble */
    --plx-bubble-out: #2e80de;        /* outgoing (solid fallback; gradient below) */
    --plx-bubble-out-grad: linear-gradient(135deg, #2e80de, #175fb0);
    --plx-bubble-out-meta: rgba(255, 255, 255, 0.65);
    --plx-text: #ffffff;
    --plx-text-secondary: #7f91a4;    /* dim */
    --plx-meta: #7f91a4;
    --plx-border: rgba(255, 255, 255, 0.06);
    --plx-divider: rgba(255, 255, 255, 0.06);
    --plx-row-hover: rgba(255, 255, 255, 0.05);
    --plx-row-active: var(--plx-accent-soft);
    --plx-placeholder: #7f91a4;
    --plx-shadow: rgba(0, 0, 0, 0.45);
    --plx-online: #4ee07a;
    --plx-danger: #e0454b;
    --plx-success: #3ecf8e;
    --plx-read-tick: #8fd0ff;

    /* geometry */
    --plx-radius-bubble: 16px;
    --plx-radius-bubble-tight: 4px;
    --plx-radius-input: 13px;
    --plx-radius-button: 13px;
    --plx-radius-card: 14px;
    --plx-avatar: 52px;
    --plx-row-height: 60px;
    --plx-header-height: 60px;

    --plx-font: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;
    --plx-ease-layer: 300ms cubic-bezier(0.33, 1, 0.68, 1);
    --plx-ease-slide: 300ms cubic-bezier(0.25, 1, 0.5, 1);
    --plx-ease-select: 200ms ease-out;
}

/* ---- Accent: flip Element green -> Midnight TARDIS blue ----
   Element's accent derives from the compound "green" token ramp and the
   text-action / primary tokens. Remap them to the PLX blue so buttons,
   links, active states, the sync spinner and selection all become blue. */
:root,
.cpd-theme-dark,
[class*="cpd-theme"] {
    /* Primary typeface: Plus Jakarta Sans propagates app-wide via the Compound
       sans token (drives body, Compound components, dialogs, …). */
    --cpd-font-family-sans:
        "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Twemoji",
        "Apple Color Emoji", "Segoe UI Emoji", Arial, sans-serif;

    --cpd-color-text-action-accent: var(--plx-accent);
    --cpd-color-bg-action-primary-rest: var(--plx-accent);
    --cpd-color-bg-action-primary-hovered: var(--plx-accent-hover);
    --cpd-color-bg-action-primary-pressed: var(--plx-accent-deep);
    --cpd-color-text-primary: var(--plx-text);

    /* The green ramp is what Element uses for accents and the OWN bubble fill.
       Repoint the mid ramp to blue so own bubbles + accents follow Midnight. */
    --cpd-color-green-300: var(--plx-bubble-out);
    --cpd-color-green-400: var(--plx-accent);
    --cpd-color-green-500: var(--plx-accent);
    --cpd-color-green-600: var(--plx-accent-hover);
    --cpd-color-green-700: var(--plx-accent-deep);
    --cpd-color-green-900: #e9f2fb;
    --cpd-color-green-1100: #e9f2fb;

    /* incoming bubble = neutral panel */
    --cpd-color-gray-300: var(--plx-bubble-in);

    /* success / online (E2EE active, approve) */
    --cpd-color-text-success-primary: var(--plx-success);
    --cpd-color-icon-success-primary: var(--plx-success);
    /* danger (sign out, deny) */
    --cpd-color-text-critical-primary: var(--plx-danger);
}

/* ---- App + room background ---- */
.mx_MatrixChat_wrapper,
.mx_RoomView,
.mx_MainSplit {
    background-color: #0e1621;
    background-color: var(--plx-bg);
}

.mx_LeftPanel,
.mx_SpacePanel,
.mx_RoomList {
    background-color: #17212b;
    background-color: var(--plx-panel);
}

/* ---- PLX-012: room-list user bar (avatar -> Profile / Settings / Sign out) ----
   Midnight chip that hosts the restored UserMenu at the top of the room list. */
.mx_RoomListPanel_userBar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid var(--plx-border);
    background: #17212b;
    background: var(--plx-panel);
}
.mx_RoomListPanel_userBar .mx_UserMenu button {
    border-radius: 10px;
    padding: 4px 6px;
    -webkit-transition: background-color 200ms ease-out;
    transition: background-color 200ms ease-out;
    -webkit-transition: background-color var(--plx-ease-select);
    transition: background-color var(--plx-ease-select);
}
.mx_RoomListPanel_userBar .mx_UserMenu button:hover {
    background-color: rgba(255, 255, 255, 0.05);
    background-color: var(--plx-row-hover);
}
.mx_RoomListPanel_userBar .mx_BaseAvatar,
.mx_RoomListPanel_userBar .mx_UserMenu [class*="avatar"] {
    border-radius: 50%;
}

/* ---- Typography ----
   _common.pcss applies `font: var(--cpd-font-body-md-regular) !important` to
   body, a Compound composite shorthand that hard-codes Inter as the family and
   resets font-family. We re-assert the PLX family with !important AFTER it so
   Plus Jakarta Sans wins app-wide. */
body,
.mx_MatrixChat {
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif !important;
    font-family: var(--plx-font) !important;
}

/* ================= MESSAGE BUBBLES ================= */
/* Telegram-style Midnight bubbles. Bubble layout is now the app default
   (see Settings.tsx: layout -> Layout.Bubble). Spec:
     - outgoing = linear-gradient(135deg,#2E80DE,#175FB0), white text
     - incoming = #182533, white text
     - 16px radius, with a 4px "tail" corner on the bottom edge nearest
       the sender (Telegram look). */
.mx_EventTile[data-layout="bubble"] {
    --cornerRadius: var(--plx-radius-bubble);
    --gutterSize: 9px;
    --maxWidth: 74%;
}

/* incoming bubble fill + text */
.mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line {
    background: #182533 !important;
    background: var(--plx-bubble-in) !important;
    color: #ffffff;
    color: var(--plx-text);
}

/* outgoing bubble fill + text (Midnight gradient)
   PLX-005: scope the gradient to OWN *message* bubbles ONLY. Several non-message
   tiles also carry data-self="true" (sender is us) but must NOT get the gradient:
     - .mx_EventTile_info            -> "X invited Y" membership/state tiles
     - .mx_EventTile_bubbleContainer -> "Encryption enabled" crypto/state event tiles
     - .mx_EventTile_noSender        -> sender-less state tiles
     - tiles whose body is .mx_DecryptionFailureBody -> "can't decrypt" / verify nags
   Exclude all of them. */
.mx_EventTile[data-layout="bubble"][data-self="true"]:not(.mx_EventTile_info):not(.mx_EventTile_bubbleContainer):not(.mx_EventTile_noSender)
    .mx_EventTile_line:not(:has(.mx_DecryptionFailureBody)) {
    background: linear-gradient(135deg, #2e80de, #175fb0) !important;
    background: var(--plx-bubble-out-grad) !important;
    color: #ffffff;
}

/* keep media containers inside outgoing bubbles on the gradient */
.mx_EventTile[data-layout="bubble"][data-self="true"]:not(.mx_EventTile_info):not(.mx_EventTile_bubbleContainer):not(.mx_EventTile_noSender)
    .mx_MediaBody {
    background: linear-gradient(135deg, #2e80de, #175fb0) !important;
    background: var(--plx-bubble-out-grad) !important;
}

/* PLX-005: state / membership / info / crypto / decryption-failure tiles =
   neutral, no bubble fill, regardless of who sent them. */
.mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_EventTile_line,
.mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_EventTile_line .mx_MediaBody,
.mx_EventTile[data-layout="bubble"].mx_EventTile_bubbleContainer .mx_EventTile_line,
.mx_EventTile[data-layout="bubble"].mx_EventTile_noSender .mx_EventTile_line,
.mx_EventTile[data-layout="bubble"] .mx_EventTile_line:has(.mx_DecryptionFailureBody) {
    background: transparent !important;
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
}
.mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_TextualEvent,
.mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_EventTile_content,
.mx_EventTile[data-layout="bubble"] .mx_DecryptionFailureBody {
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
}

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MTextBody,
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_EventTile_body,
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line a {
    color: #ffffff;
}

/* code / quotes inside an outgoing bubble need a translucent dark panel so
   they stay legible on the blue gradient */
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line pre,
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line code {
    background: rgba(0, 0, 0, 0.22);
    color: #eaf3ff;
}
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line blockquote {
    border-inline-start-color: rgba(255, 255, 255, 0.5);
    color: rgba(255, 255, 255, 0.85);
}

/* timestamp / meta inside outgoing bubble */
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_MessageTimestamp {
    color: rgba(255, 255, 255, 0.65);
    color: var(--plx-bubble-out-meta);
}

/* reply-quote tile sitting inside an outgoing bubble -> readable on gradient */
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReplyChain {
    border-inline-start-color: rgba(255, 255, 255, 0.55);
}
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReplyChain .mx_EventTile_body,
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReplyChain .mx_DisambiguatedProfile_displayName {
    color: rgba(255, 255, 255, 0.92) !important;
}

/* sender name colour (group chats) -> light tint instead of the green ramp */
.mx_EventTile[data-layout="bubble"] .mx_DisambiguatedProfile > span,
.mx_EventTile[data-layout="bubble"] .mx_DisambiguatedProfile_displayName {
    color: #cfe2f6 !important;
    font-weight: 600;
}

/* ---- Tail corners (Telegram look) ----
   The "tail" is a 4px corner on the bottom edge nearest the sender. The base
   bubble CSS rounds the far-bottom corner to --cornerRadius; we tighten the
   near-bottom corner. Continuation tiles also tighten the leading top corner
   so stacked bubbles read as one group. */
.mx_EventTile[data-layout="bubble"][data-self="false"].mx_EventTile_lastInSection .mx_EventTile_line {
    border-bottom-left-radius: 4px !important;
    border-bottom-left-radius: var(--plx-radius-bubble-tight) !important;
}
.mx_EventTile[data-layout="bubble"][data-self="true"].mx_EventTile_lastInSection .mx_EventTile_line {
    border-bottom-right-radius: 4px !important;
    border-bottom-right-radius: var(--plx-radius-bubble-tight) !important;
}

/* grouped-message leading corner (continuation) -> 4px */
.mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line {
    border-top-left-radius: 4px;
    border-top-left-radius: var(--plx-radius-bubble-tight);
}
.mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line {
    border-top-right-radius: 4px;
    border-top-right-radius: var(--plx-radius-bubble-tight);
}

/* ================= COMPOSER ================= */
/* Floating rounded panel with a soft lift. */
.mx_MessageComposer {
    background: transparent;
    border-top: none;
}

.mx_MessageComposer_wrapper {
    background: #17212b;
    background: var(--plx-panel);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border: 1px solid var(--plx-border);
    border-radius: 18px;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
    -webkit-box-shadow: 0 1px 2px var(--plx-shadow);
            box-shadow: 0 1px 2px var(--plx-shadow);
    margin: 0 12px 12px;
    padding: 2px 6px;
}

.mx_BasicMessageComposer_input {
    color: #ffffff;
    color: var(--plx-text);
}

.mx_MessageComposer_input::-webkit-input-placeholder {
    color: #7f91a4;
    color: var(--plx-placeholder);
}

.mx_MessageComposer_input::-moz-placeholder {
    color: #7f91a4;
    color: var(--plx-placeholder);
}

.mx_MessageComposer_input:-ms-input-placeholder {
    color: #7f91a4;
    color: var(--plx-placeholder);
}

.mx_MessageComposer_input::-ms-input-placeholder {
    color: #7f91a4;
    color: var(--plx-placeholder);
}

.mx_MessageComposer_input::placeholder,
.mx_BasicMessageComposer_input[contenteditable]:empty::before {
    color: #7f91a4;
    color: var(--plx-placeholder);
}

/* send button -> circular accent */
.mx_MessageComposer_sendMessage {
    background: linear-gradient(135deg, #2e80de, #175fb0);
    background: var(--plx-bubble-out-grad);
    border-radius: 50%;
}

/* ================= ROOM HEADER ================= */
.mx_RoomHeader {
    height: 60px;
    height: var(--plx-header-height);
    background: #17212b;
    background: var(--plx-panel);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid var(--plx-border);
}

.mx_RoomHeader_heading {
    font-weight: 600;
}

/* ================= CHAT LIST ROWS ================= */
.mx_RoomTile {
    border-radius: 10px;
    -webkit-transition: background-color 200ms ease-out;
    transition: background-color 200ms ease-out;
    -webkit-transition: background-color var(--plx-ease-select);
    transition: background-color var(--plx-ease-select);
}

.mx_RoomTile:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    background-color: var(--plx-row-hover) !important;
}

.mx_RoomTile.mx_RoomTile_selected,
.mx_RoomTile[aria-selected="true"] {
    background-color: rgba(46, 128, 222, 0.16) !important;
    background-color: var(--plx-row-active) !important;
}

.mx_RoomTile.mx_RoomTile_selected .mx_RoomTile_title,
.mx_RoomTile[aria-selected="true"] .mx_RoomTile_title {
    color: #2e80de;
    color: var(--plx-accent);
}

/* unread badge -> Midnight accent pill */
.mx_NotificationBadge {
    background-color: #2e80de;
    background-color: var(--plx-accent);
    border-radius: 10px;
    min-width: 20px;
    height: 20px;
    font-weight: 600;
}

/* avatars stay circular */
.mx_RoomTile .mx_BaseAvatar {
    border-radius: 50%;
}

/* ================= BUTTONS / RADII ================= */
.mx_AccessibleButton.mx_AccessibleButton_kind_primary,
.mx_Dialog_primary {
    background-color: #2e80de;
    background-color: var(--plx-accent);
    border-radius: 13px;
    border-radius: var(--plx-radius-button);
}

.mx_AccessibleButton.mx_AccessibleButton_kind_primary:hover,
.mx_Dialog_primary:hover {
    background-color: #3a8fe6;
    background-color: var(--plx-accent-hover);
}

/* links */
a,
.mx_AccessibleButton_kind_link,
.mx_AccessibleButton_kind_link_inline {
    color: #2e80de;
    color: var(--plx-accent);
}

/* ================= AUTH (login) SCREEN ================= */
/* WC-04 note: a tempting "dead duplicate" cleanup here (dropping .mx_AuthPage
   from this background-color group, since L751 re-sets it with !important) was
   trialled and REVERTED — the visual-regression harness caught a small but real
   diff on the 390px mobile auth card (mean-diff 0.0076 > tolerance). Kept as-is
   to honour "identical look". See playwright/plx-visual/THEME-CLEANUP-PLAN.md. */
.mx_AuthBody,
.mx_AuthPage {
    background-color: #0e1621;
    background-color: var(--plx-bg);
}

.mx_AuthBody {
    color: #ffffff;
    color: var(--plx-text);
}

.mx_Login_submit,
.mx_AuthBody .mx_AccessibleButton_kind_primary {
    background: linear-gradient(135deg, #2e80de, #175fb0);
    background: var(--plx-bubble-out-grad);
    border-radius: 13px;
    border-radius: var(--plx-radius-button);
}

/* ================= 2FA / OTP CODE ENTRY =================
   Element renders single-field code entry (MSISDN OTP, recovery-key, and the
   token-style auth field). Style these toward the Midnight OTP-cell spec:
   tall rounded fields (radius 13) with an accent border on focus. Where a real
   6-cell OTP exists it inherits the same accent/radius tokens. */
.mx_InteractiveAuthEntryComponents_msisdnEntry,
.mx_AuthBody input[type="text"].mx_Field_input,
.mx_RegistrationToken input,
input[name="token"],
input[autocomplete="one-time-code"] {
    border-radius: 13px;
    border-radius: var(--plx-radius-input);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border: 1px solid var(--plx-border);
    background: #202b36;
    background: var(--plx-panel-2);
    color: #ffffff;
    color: var(--plx-text);
    letter-spacing: 0.18em;
    text-align: center;
}

.mx_InteractiveAuthEntryComponents_msisdnEntry {
    width: 7em;
    height: 56px;
    font-size: 200%;
    font-weight: 700;
}

.mx_InteractiveAuthEntryComponents_msisdnEntry:focus,
.mx_AuthBody input[type="text"].mx_Field_input:focus,
input[autocomplete="one-time-code"]:focus,
input[name="token"]:focus {
    border: 2px solid #2e80de !important;
    border: 2px solid var(--plx-accent) !important;
    outline: none;
    -webkit-box-shadow: 0 0 0 3px rgba(46, 128, 222, 0.16);
            box-shadow: 0 0 0 3px rgba(46, 128, 222, 0.16);
    -webkit-box-shadow: 0 0 0 3px var(--plx-accent-soft);
            box-shadow: 0 0 0 3px var(--plx-accent-soft);
}

/* Midnight OTP-cell scaffold: if a 6-cell digit group is rendered, each cell is
   46x56 with radius 13 and an accent border when active. */
.mx_PlxOtpCell,
.cpd-otp-input,
[data-otp-cell] {
    width: 46px;
    height: 56px;
    border-radius: 13px;
    border-radius: var(--plx-radius-input);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border: 1px solid var(--plx-border);
    background: #202b36;
    background: var(--plx-panel-2);
    color: #ffffff;
    color: var(--plx-text);
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}
.mx_PlxOtpCell:focus,
.mx_PlxOtpCell[data-active="true"],
[data-otp-cell][data-active="true"] {
    border: 2px solid #2e80de;
    border: 2px solid var(--plx-accent);
    -webkit-box-shadow: 0 0 0 3px rgba(46, 128, 222, 0.16);
            box-shadow: 0 0 0 3px rgba(46, 128, 222, 0.16);
    -webkit-box-shadow: 0 0 0 3px var(--plx-accent-soft);
            box-shadow: 0 0 0 3px var(--plx-accent-soft);
}

/* ================= REGISTRATION / PENDING-APPROVAL =================
   The post-registration screen waits for admin approval. Render a pulsing
   concentric-ring "awaiting approval" indicator around the clock/spinner. */
.mx_AuthBody .mx_Spinner,
.mx_Registration_waitingForApproval .mx_Spinner {
    position: relative;
}

/* generic pulsing-rings helper: add class mx_PlxPulseRings (or
   data-plx-pending) to the pending wrapper to get concentric pulses. */
.mx_PlxPulseRings,
[data-plx-pending="true"] {
    position: relative;
}
.mx_PlxPulseRings::before,
.mx_PlxPulseRings::after,
[data-plx-pending="true"]::before,
[data-plx-pending="true"]::after {
    content: "";
    position: absolute;
    inset: 50%;
    width: 72px;
    height: 72px;
    margin: -36px 0 0 -36px;
    border-radius: 50%;
    border: 2px solid #2e80de;
    border: 2px solid var(--plx-accent);
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    -webkit-animation: plx-pulse-ring 2.4s cubic-bezier(0.2, 0.6, 0.3, 1) infinite;
            animation: plx-pulse-ring 2.4s cubic-bezier(0.2, 0.6, 0.3, 1) infinite;
    pointer-events: none;
}
.mx_PlxPulseRings::after,
[data-plx-pending="true"]::after {
    -webkit-animation-delay: 1.2s;
            animation-delay: 1.2s;
}

@-webkit-keyframes plx-pulse-ring {
    0% {
        opacity: 0.55;
        -webkit-transform: scale(0.5);
                transform: scale(0.5);
    }
    70% {
        opacity: 0;
        -webkit-transform: scale(1.6);
                transform: scale(1.6);
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(1.6);
                transform: scale(1.6);
    }
}

@keyframes plx-pulse-ring {
    0% {
        opacity: 0.55;
        -webkit-transform: scale(0.5);
                transform: scale(0.5);
    }
    70% {
        opacity: 0;
        -webkit-transform: scale(1.6);
                transform: scale(1.6);
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(1.6);
                transform: scale(1.6);
    }
}

/* ================= CONVERSATION HEADER + CALL OVERLAY =================
   Midnight surfaces, accent call buttons, danger end-call, and an "encrypted"
   indicator in the success green. The call-button accent / danger colours flow
   through the remapped $accent and $alert (-> --plx-danger) tokens; we add the
   surface + encrypted-indicator + pulsing-avatar polish here. */

/* call surfaces -> Midnight panel */
.mx_LegacyCallView,
.mx_CallView,
.mx_LegacyCallView_content,
.mx_LegacyCallView_pip {
    background-color: #17212b !important;
    background-color: var(--plx-panel) !important;
}

/* radial accent backdrop behind the call content */
.mx_LegacyCallView_content {
    background-image: radial-gradient(
        circle at 50% 38%,
        rgba(46, 128, 222, 0.16),
        transparent 60%
    );
    background-image: radial-gradient(
        circle at 50% 38%,
        var(--plx-accent-soft),
        transparent 60%
    );
}

/* end-call / hangup -> danger circle */
.mx_LegacyCallViewButtons_button_hangup,
.mx_CallViewButtons_button_hangup {
    background-color: #e0454b !important;
    background-color: var(--plx-danger) !important;
}

/* "Encrypted call" indicator -> success green with lock */
.mx_LegacyCallViewHeader_secure,
.mx_LegacyCallView_status_e2e,
.mx_CallView_secure,
.mx_E2EIcon_verified {
    color: #3ecf8e !important;
    color: var(--plx-success) !important;
}

/* pulsing ring around the call avatar while connecting */
.mx_LegacyCallView_avatarsContainer .mx_BaseAvatar {
    position: relative;
}
.mx_LegacyCallView_avatarsContainer .mx_BaseAvatar::after {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 2px solid #2e80de;
    border: 2px solid var(--plx-accent);
    opacity: 0;
    -webkit-animation: plx-pulse-ring 2.2s ease-out infinite;
            animation: plx-pulse-ring 2.2s ease-out infinite;
    pointer-events: none;
}

/* conversation header call buttons -> accent on hover */
.mx_RoomHeader .mx_RoomHeader_button:hover {
    color: #2e80de;
    color: var(--plx-accent);
}

/* ================= TRANSITIONS (Midnight easing) ================= */
.mx_RightPanel,
.mx_LeftPanel_outerWrapper {
    -webkit-transition:
        width 300ms cubic-bezier(0.33, 1, 0.68, 1),
        -webkit-transform 300ms cubic-bezier(0.33, 1, 0.68, 1);
    transition:
        width 300ms cubic-bezier(0.33, 1, 0.68, 1),
        -webkit-transform 300ms cubic-bezier(0.33, 1, 0.68, 1);
    transition:
        transform 300ms cubic-bezier(0.33, 1, 0.68, 1),
        width 300ms cubic-bezier(0.33, 1, 0.68, 1);
    transition:
        transform 300ms cubic-bezier(0.33, 1, 0.68, 1),
        width 300ms cubic-bezier(0.33, 1, 0.68, 1),
        -webkit-transform 300ms cubic-bezier(0.33, 1, 0.68, 1);
    -webkit-transition:
        width var(--plx-ease-layer),
        -webkit-transform var(--plx-ease-layer);
    transition:
        width var(--plx-ease-layer),
        -webkit-transform var(--plx-ease-layer);
    transition:
        transform var(--plx-ease-layer),
        width var(--plx-ease-layer);
    transition:
        transform var(--plx-ease-layer),
        width var(--plx-ease-layer),
        -webkit-transform var(--plx-ease-layer);
}

/* =====================================================================
   PLX MIDNIGHT — Wave #27 contained fixes (PLX-003/004/006/007/008/009/010/011)
   ===================================================================== */

/* ---------- PLX-003: E2EE banner -> ONE small centered pill ----------
   The "This room is end-to-end encrypted" banner ships as
   .mx_EventTileBubble.mx_cryptoEvent (author-supplied classes, stable).
   Element renders it as a large full-width blue bar. Collapse it into a
   compact centered pill: lock + text, accent-soft bg, rounded. */
.mx_EventTileBubble.mx_cryptoEvent,
.mx_EventTile_bubbleContainer .mx_EventTileBubble {
    margin: 10px auto !important;
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    max-width: 90% !important;
    min-width: 0 !important;
    padding: 6px 14px !important;
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    gap: 8px !important;
    background: rgba(46, 128, 222, 0.16) !important;
    background: var(--plx-accent-soft) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--plx-border) !important;
    border-radius: 999px !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    grid-template-columns: none !important;
}
.mx_EventTile_bubbleContainer .mx_EventTileBubble > *,
.mx_EventTile_bubbleContainer .mx_EventTileBubble [class*="title"] {
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
}
.mx_EventTile_bubbleContainer .mx_EventTileBubble svg {
    position: static !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    color: #2e80de !important;
    color: var(--plx-accent) !important;
}
.mx_EventTile_bubbleContainer .mx_EventTileBubble [class*="subtitle"] {
    display: none !important;
}
/* tighten the inner grid the shared component uses */
.mx_EventTileBubble.mx_cryptoEvent > * {
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
}
.mx_EventTileBubble.mx_cryptoEvent svg {
    position: static !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    color: #2e80de !important;
    color: var(--plx-accent) !important;
}
.mx_EventTileBubble.mx_cryptoEvent [class*="title"],
.mx_EventTileBubble.mx_cryptoEvent [class*="subtitle"] {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
    line-height: 1.2 !important;
}
/* hide the verbose subtitle / "enable encryption" prompt inside the pill */
.mx_EventTileBubble.mx_cryptoEvent [class*="subtitle"] {
    display: none !important;
}

/* PLX-003 (part 2): the timeline "Encryption enabled" m.room.encryption state tile
   ships as a normal EventTile bubble (.mx_EventTile_bubbleContainer) wrapping an inner
   .mx_EventTileBubble pill. Previously it leaked the outgoing gradient as a full-width
   bar (removed above). Here we make the wrapping line fully transparent/borderless and
   centre it, so ONLY the inner compact pill is visible. */
.mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_line {
    margin: 4px auto !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
}
.mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_line .mx_EventTile_body,
.mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_line .mx_TextualEvent {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
}

/* ---------- PLX-004: suppress verify-device timeline nag ----------
   Seamless TOFU: never prompt the user to verify this device for historical
   messages. The toast + settings paths are handled in code; this is a CSS
   backstop for any timeline-level "verify this device" banner. */
.mx_RoomView_body .mx_GenericEventListSummary[data-expanded="false"] .mx_SetupEncryptionBody,
.mx_RoomStatusBar_unsentBadge.mx_RoomStatusBar_verifyDevice,
[data-testid="cryptoEvent-verify-prompt"],
.mx_EventTileBubble.mx_cryptoEvent.mx_cryptoEvent_verify {
    display: none !important;
}

/* ---------- PLX-006: chat rows (name + preview + badge) ----------
   The shared room-list cell renders room name + message preview + notification
   decoration. By default the room name uses --cpd-color-text-secondary (dim).
   Force the room name WHITE and keep the preview dim. data-testid="room-name"
   is a stable hook; the hashed module classes are scoped to this build. */
[data-testid="room-name"] {
    color: #ffffff !important;
    color: var(--plx-text) !important;
    font-weight: 600 !important;
}
/* message preview (the dim subtitle under the name) stays dim + ellipsised */
[data-testid="room-name"] + div,
[data-testid="room-name"] ~ .mx_Text,
[data-testid="room-name"] ~ [class*="ellipsis"] {
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
    font-size: 13px !important;
}
/* active/selected row -> accent-soft bg + accent name (the package marks the
   selected container; we reinforce the Midnight look) */
[class*="_selected"] [data-testid="room-name"],
[aria-selected="true"] [data-testid="room-name"] {
    color: #2e80de !important;
    color: var(--plx-accent) !important;
}
[class*="_selected"] [class*="_container"],
[aria-selected="true"] [class*="_container"] {
    background-color: rgba(46, 128, 222, 0.16) !important;
    background-color: var(--plx-row-active) !important;
}

/* ---------- PLX-007: folder pills (All / Unread / Direct / Groups) ----------
   The pills ship as Compound <ChatFilter> chips inside [data-testid="primary-filters"].
   The filter set + labels are remapped in code/i18n. Here we Midnight-style the
   active pill: accent-soft bg + accent text. */
[data-testid="primary-filters"] [role="option"][aria-selected="true"],
[data-testid="primary-filters"] [aria-pressed="true"],
[data-testid="primary-filters"] .mx_ChatFilter_selected,
[data-testid="primary-filters"] [class*="_selected"] {
    background-color: rgba(46, 128, 222, 0.16) !important;
    background-color: var(--plx-accent-soft) !important;
    color: #2e80de !important;
    color: var(--plx-accent) !important;
    border-color: transparent !important;
}
[data-testid="primary-filters"] [role="option"],
[data-testid="primary-filters"] button {
    border-radius: 999px !important;
}

/* ---------- PLX-008: home empty pane (clean Midnight empty-state) ----------
   Neutralise Element's flat blue HomePage cards into Midnight panel surfaces.
   The "Explore Public Rooms" card is removed in HomePage.tsx. */
.mx_HomePage_plx .mx_HomePage_default_wrapper {
    max-width: 420px;
    margin: 0 auto;
    text-align: center;
    gap: 16px;
}
.mx_HomePage_plx .mx_HomePage_default_buttons .mx_AccessibleButton {
    background: #202b36 !important;
    background: var(--plx-panel-2) !important;
    color: #ffffff !important;
    color: var(--plx-text) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--plx-border) !important;
    border-radius: 14px !important;
    border-radius: var(--plx-radius-card) !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
}
.mx_HomePage_plx .mx_HomePage_default_buttons .mx_AccessibleButton:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    background: var(--plx-row-hover) !important;
    border-color: #2e80de !important;
    border-color: var(--plx-accent) !important;
}
.mx_HomePage_plx .mx_HomePage_default_buttons .mx_AccessibleButton::before {
    background-color: #2e80de !important;
    background-color: var(--plx-accent) !important;
}

/* ---------- PLX-009: sign-in button -> WHITE 700 on the gradient ---------- */
.mx_Login_submit,
.mx_AuthBody .mx_AccessibleButton_kind_primary,
.mx_AuthPage .mx_AccessibleButton_kind_primary,
.mx_AuthBody form [type="submit"] {
    background: linear-gradient(135deg, #2e80de, #175fb0) !important;
    background: var(--plx-bubble-out-grad) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: none !important;
}
.mx_Login_submit *,
.mx_AuthBody .mx_AccessibleButton_kind_primary * {
    color: #ffffff !important;
}

/* ---------- PLX-009b: Welcome-card primary button ("Sign in") -> WHITE label ----------
   BUGFIX: the Welcome page renders <Button as="a" kind="primary"> for "Sign in".
   The global `a { color: var(--plx-accent) }` rule above turned its label blue —
   invisible on the blue gradient button, so the button looked blank. Force the
   primary welcome button (and its inner span) white; keep the gradient fill.
   The "Create account" secondary button keeps accent text on its dark surface. */
.mx_DefaultWelcome_buttons a[data-kind="primary"],
.mx_DefaultWelcome_buttons .mx_AccessibleButton_kind_primary {
    background: linear-gradient(135deg, #2e80de, #175fb0) !important;
    background: var(--plx-bubble-out-grad) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: none !important;
}
.mx_DefaultWelcome_buttons a[data-kind="primary"] *,
.mx_DefaultWelcome_buttons .mx_AccessibleButton_kind_primary * {
    color: #ffffff !important;
}
/* secondary "Create account" -> accent text on a panel surface (clear, legible) */
.mx_DefaultWelcome_buttons a[data-kind="secondary"] {
    color: #2e80de !important;
    color: var(--plx-accent) !important;
    background: #202b36 !important;
    background: var(--plx-panel-2) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--plx-border) !important;
}

/* ---------- PLX-010/011: single centered ~360px login card ----------
   Element renders a two-pane modal (logo aside + form). Collapse the
   modalContent flex-row into a single centered column card. */
.mx_AuthPage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #0e1621 !important;
    background-color: var(--plx-bg) !important;
}
.mx_AuthPage_modalContent {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    width: min(360px, calc(100vw - 32px)) !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding: 28px 24px !important;
    background: #17212b !important;
    background: var(--plx-panel) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--plx-border) !important;
    border-radius: 14px !important;
    border-radius: var(--plx-radius-card) !important;
    -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45) !important;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45) !important;
    -webkit-box-shadow: 0 10px 40px var(--plx-shadow) !important;
            box-shadow: 0 10px 40px var(--plx-shadow) !important;
}
/* header logo block -> centered card header (monogram + wordmark + tagline) */
.mx_AuthHeader,
.mx_AuthHeaderLogo_plx {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
}
/* PLX-WEB-09: plx-logo.png is a 235x72 WORDMARK asset, not a square glyph.
   Render it as a proper tile at its native aspect ratio (fixed height, auto
   width, object-fit:contain) so it is never squished into a 1:1 box. The asset
   already carries the "PLX" wordmark, so the redundant text wordmark below it is
   hidden to avoid showing "PLX" twice. */
.mx_AuthHeaderLogo_plx .mx_AuthHeaderLogo_mark,
.mx_AuthHeaderLogo_plx img {
    width: auto !important;
    height: 46px !important;
    max-width: 210px !important;
    -o-object-fit: contain !important;
       object-fit: contain !important;
    display: block !important;
    margin: 2px auto 10px !important;
}
.mx_AuthHeaderLogo_wordmark {
    display: none !important;
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;
    font-family: var(--plx-font);
    font-weight: 800;
    font-size: 26px;
    letter-spacing: 0.12em;
    color: #ffffff;
    color: var(--plx-text);
}
.mx_AuthHeaderLogo_tagline {
    font-size: 13px;
    color: #7f91a4;
    color: var(--plx-text-secondary);
    margin-top: 4px;
}
/* hide the language selector chrome in the compact card */
.mx_AuthHeader .mx_LanguageSelector {
    display: none !important;
}
/* the form body sits below the header inside the same card */
.mx_AuthPage_modalContent .mx_AuthBody {
    width: 100% !important;
    margin-top: 18px !important;
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* ---------- PLX-WEB-10: single auth card (no doubled / nested border) ----------
   The outer .mx_AuthPage_modalContent is the ONE card with a border + shadow.
   Element nests several inner wrappers (.mx_AuthBody, .mx_AuthHeaderDisplay,
   .mx_Register_mainContent) that each carry their own border / box-shadow /
   surface, producing a visible "card inside a card" double outline. Strip the
   chrome from every inner wrapper so only the single outer card frame shows. */
.mx_AuthPage_modalContent .mx_AuthBody,
.mx_AuthPage_modalContent .mx_AuthHeaderDisplay,
.mx_AuthPage_modalContent .mx_Register_mainContent,
.mx_AuthPage_modalContent .mx_AuthBody > form,
.mx_AuthPage_modalContent .mx_Login_box {
    border: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    background: transparent !important;
}

/* PLX-WEB-10: equalise primary-action button widths. The Sign-in / Continue /
   "Continue with 2FA"-style submit buttons render at intrinsic width, so they
   look ragged. Make every auth-form primary submit full card-width and matched
   height for a clean, aligned column. */
.mx_AuthBody .mx_Login_submit,
.mx_AuthBody form [type="submit"],
.mx_AuthBody .mx_AccessibleButton_kind_primary,
.mx_AuthBody .mx_Login_fullWidthButton,
.mx_AuthPage_modalContent .mx_SSOButtons .mx_AccessibleButton {
    display: block !important;
    width: 100% !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
    min-height: 44px !important;
    margin-top: 12px !important;
}

/* ---------- PLX-WEB-18: hide the mid-card "English" language dropdown ----------
   The LanguageSelector (rendered as .mx_AuthBody_language inside the form, and as
   .mx_LanguageSelector in the header) is now config-disabled
   (disable_login_language_selector:true) AND hidden here as a CSS backstop so it
   can never reappear mid-card on the auth screens. */
.mx_AuthBody .mx_AuthBody_language,
.mx_AuthBody_language,
.mx_AuthHeader .mx_LanguageSelector,
.mx_AuthPage_modalContent .mx_LanguageSelector,
.mx_AuthPage_modalContent .mx_Dropdown.mx_AuthBody_language {
    display: none !important;
}

/* footer trust line, centered under the card */
.mx_AuthFooter_plx {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    margin-top: 14px;
}
.mx_AuthFooter_plxTrust {
    font-size: 12px;
    color: #7f91a4;
    color: var(--plx-text-secondary);
    text-align: center;
}

/* center the card on mobile too */
@media (max-width: 640px) {
    .mx_AuthPage_modalContent {
        width: calc(100vw - 24px) !important;
        padding: 22px 18px !important;
    }
}

/* =====================================================================
   PLX-001 — MOBILE SINGLE-PANE (<=900px)
   The new room list uses react-resizable-panels (a flex Group with two
   [data-panel] children + a [data-separator]). On desktop the two panes sit
   side-by-side. On mobile we collapse to ONE pane that swaps between the room
   list and the open conversation, driven by data-page-type on .mx_MatrixChat.

   - data-page-type != "room_view"  -> show the LEFT panel (room list) full-width,
     hide the conversation panel + separator.
   - data-page-type == "room_view"  -> show the CONVERSATION panel full-width,
     hide the left panel + separator, and reveal the back arrow in the header.

   The library sets inline flex styles on each [data-panel]; we override with
   !important. The left panel carries id="left-panel" (data-panel id), the
   conversation panel is the OTHER [data-panel] sibling. =================== */

/* back arrow: hidden on desktop, shown on mobile inside the room header */
.mx_RoomHeader_plxBack {
    display: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 32px;
    height: 32px;
    -webkit-margin-end: 2px;
            margin-inline-end: 2px;
    padding: 0;
    border: none;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    color: #2e80de;
    color: var(--plx-accent);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
}
.mx_RoomHeader_plxBack:hover {
    background: rgba(255, 255, 255, 0.05);
    background: var(--plx-row-hover);
}
.mx_RoomHeader_plxBack svg {
    fill: currentColor;
}

@media (max-width: 900px) {
    /* The resizable Group becomes a single full-width column. */
    .mx_MatrixChat [data-group] {
        width: 100% !important;
    }

    /* Both panels can take the full width when shown. */
    .mx_MatrixChat [data-panel] {
        -webkit-box-flex: 1 !important;
            -ms-flex: 1 1 100% !important;
                flex: 1 1 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }

    /* Never show the resize separator / handle on mobile. */
    .mx_MatrixChat [data-separator],
    .mx_MatrixChat .mx_Separator,
    .mx_MatrixChat .mx_ResizeHandle {
        display: none !important;
    }

    /* --- LIST VIEW (no room open): show room list, hide conversation --- */
    .mx_MatrixChat:not([data-page-type="room_view"]) [data-panel]#left-panel {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-flex: 1 !important;
            -ms-flex: 1 1 100% !important;
                flex: 1 1 100% !important;
    }
    .mx_MatrixChat:not([data-page-type="room_view"]) [data-panel]:not(#left-panel) {
        display: none !important;
    }

    /* --- CONVERSATION VIEW (room open): show conversation, hide room list --- */
    .mx_MatrixChat[data-page-type="room_view"] [data-panel]#left-panel {
        display: none !important;
    }
    .mx_MatrixChat[data-page-type="room_view"] [data-panel]:not(#left-panel) {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-flex: 1 !important;
            -ms-flex: 1 1 100% !important;
                flex: 1 1 100% !important;
    }

    /* Reveal the back arrow only on mobile. */
    .mx_RoomHeader_plxBack {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
    }

    /* Make sure the room view + its inner wrapper actually fill the pane. */
    .mx_MatrixChat[data-page-type="room_view"] .mx_RoomView_wrapper,
    .mx_MatrixChat[data-page-type="room_view"] .mx_RoomView {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* ---------- PLX-WEB-15: secondary panel (People / room-info / member-info)
       must cover the conversation FULL-WIDTH on mobile instead of squeezing in
       as a half-pane and leaking the pane underneath. The RightPanel is a
       sibling overlay; pin it over the whole viewport with a higher z-index so
       nothing of the prior pane bleeds through. */
    .mx_MatrixChat .mx_RightPanel {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        z-index: 4000 !important;
        background: #17212b !important;
        background: var(--plx-panel) !important;
    }
    /* the resizer/separator next to the right panel must never show on mobile */
    .mx_RoomView_container .mx_ResizeHandle,
    .mx_MainSplit > .mx_ResizeHandle {
        display: none !important;
    }

    /* ---------- PLX-WEB-15: kill the stranded composer emoji/media button that
       bleeds over the People panel. The composer button row is positioned with
       a stacking context that, on narrow widths, left the media-picker (smiley)
       button painting above the open right panel. Constrain the composer + its
       buttons below the RightPanel overlay and clip overflow so no button
       escapes the composer wrapper. */
    .mx_MessageComposer,
    .mx_MessageComposer_wrapper {
        position: relative !important;
        z-index: 1 !important;
        overflow: visible;
    }
    .mx_MatrixChat .mx_RightPanel ~ * .mx_MessageComposer_button,
    .mx_RightPanel_open .mx_MessageComposer_button {
        z-index: 0 !important;
    }
    /* the unified media picker panel anchors to the composer; keep it under the
       right-panel overlay and within the conversation pane on mobile */
    .mx_PlxMediaPicker {
        z-index: 1200 !important;
        max-width: calc(100vw - 24px) !important;
    }
}

/* ---------- PLX-WEB-08: reposition non-critical toasts ----------
   Upstream anchors the toast stack top-left (top:12px; left:62px), where it
   overlaps the room header / user-menu avatar / search on load. We've already
   suppressed the unverified-sessions + notifications nags in code; for any
   remaining toast (update available, server limit, etc.) move the whole stack to
   the BOTTOM-left so it can never cover the header. Critical modal dialogs are a
   separate layer and are unaffected. */
.mx_ToastContainer {
    top: auto !important;
    bottom: 16px !important;
    left: 16px !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Dev note: there's no actual component called <PlaybackContainer />. These classes */
/* are shared amongst multiple voice message components. */

/* Container for live recording and playback controls */
.mx_VoiceMessagePrimaryContainer {
    /* Match mx_MediaBody spacing, offsetting the waveform's 1px internal right padding. */
    padding: 6px 11px 6px 12px;

    /* Cheat at alignment a bit */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    contain: content;

    /* Waveforms are present in live recording only */
}

    .mx_VoiceMessagePrimaryContainer .mx_Waveform,
    .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle {
        min-width: 0; /* Prevent a blowout */
    }
    .mx_VoiceMessagePrimaryContainer .mx_Waveform {
        /* default, overridden in JS */
        --barHeight: 1;
    }
        .mx_VoiceMessagePrimaryContainer .mx_Waveform .mx_Waveform_bar {
            background-color: var(--cpd-color-gray-600);
            height: 100%;
            -webkit-transform: scaleY(max(0.05, var(--barHeight)));
                    transform: scaleY(max(0.05, var(--barHeight)));
        }

            .mx_VoiceMessagePrimaryContainer .mx_Waveform .mx_Waveform_bar.mx_Waveform_bar_100pct {
                /* Small animation to remove the mechanical feel of progress */
                -webkit-transition: background-color 250ms ease;
                transition: background-color 250ms ease;
                background-color: var(--cpd-color-text-secondary);
            }

    .mx_VoiceMessagePrimaryContainer .mx_Clock {
        width: 2.625rem; /* we're not using a monospace font, so fake it */
        min-width: 2.625rem; /* force sensible layouts in awkward flexboxes (file panel, for example) */
        padding-right: 6px; /* with the fixed width this ends up as a visual 8px most of the time, as intended. */
        padding-left: 8px; /* isolate from recording circle / play control */
    }

    .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle {
        margin-left: 8px;
        margin-right: 6px;
        position: relative;
        display: inline-block;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        height: 30px; /* same height as mx_Waveform, needed for automatic vertical centering */

        /* For timeline-rendered playback, the clock is on the other side of the waveform. */
    }

        .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_Waveform {
            left: 0;
            top: 0;
        }

        .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar {
            position: absolute;
            left: 0;
            height: 30px;
            top: -2px; /* visually vertically centered */

            /* Hide the hairline progress bar since we're at 100% height. Need to have distinct rules */
            /* because CSS is weird. */
            background: none;

            /* Make the thumb easier to see. Like the SeekBar original styles, these need to be */
            /* distinct. We make it transparent so it doesn't show up on the UI, but also larger */
            /* so it's easier to grab by mouse users in some browsers. Most browsers let the user */
            /* move and drag the thumb regardless of hitting the thumb, however. */
        }
            .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::before {
                background: none;
            }
            .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::-moz-range-progress {
                background: none;
            }
            .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::-webkit-slider-thumb {
                width: 10px;
                height: 10px;
                background-color: transparent;
            }
            .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::-moz-range-thumb {
                width: 10px;
                height: 10px;
                background-color: transparent;
            }
        .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle + .mx_Clock {
            text-align: right;

            /* Take the padding off the clock because it's accounted for by the `timelineLayoutMiddle` */
            padding: 0;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* CSS inspiration from: */
/* * https://www.w3schools.com/howto/howto_js_rangeslider.asp */
/* * https://stackoverflow.com/a/28283806 */
/* * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/ */

.mx_SeekBar {
    /* default, overridden in JS */
    --fillTo: 1;

    /* Dev note: we deliberately do not have the -ms-track (and friends) selectors because we don't */
    /* need to support IE. */

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none; /* default style override */

    width: 100%;
    height: 1px;
    background: var(--cpd-color-gray-600);
    outline: none; /* remove blue selection border */
    position: relative; /* for before+after pseudo elements later on */

    cursor: pointer;

    /* This is for webkit support, but we can't limit the functionality of it to just webkit */
    /* browsers. Firefox responds to webkit-prefixed values now, which means we can't use media */
    /* or support queries to selectively apply the rule. An upside is that this CSS doesn't work */
    /* in firefox, so it's just wasted CPU/GPU time. */

    /* This is firefox's built-in support for the above, with 100% less hacks. */

    /* Increase clickable area for the slider (approximately same size as browser default) */
    /* We do it this way to keep the same padding and margins of the element, avoiding margin math. */
    /* Source: https://front-back.com/expand-clickable-areas-for-a-better-touch-experience/ */
}

    .mx_SeekBar::-webkit-slider-thumb {
        -webkit-appearance: none;
                appearance: none; /* default style override */

        /* Dev note: This needs to be duplicated with the -moz-range-thumb selector */
        /* because otherwise Edge (webkit) will fail to see the styles and just refuse */
        /* to apply them. */
        width: 8px;
        height: 8px;
        border-radius: 8px;
        background-color: var(--cpd-color-gray-800);
        cursor: pointer;
    }

    .mx_SeekBar::-moz-range-thumb {
        width: 8px;
        height: 8px;
        border-radius: 8px;
        background-color: var(--cpd-color-gray-800);
        cursor: pointer;

        /* Firefox adds a border on the thumb */
        border: none;
    }
    .mx_SeekBar::before {
        /* ::before to ensure it ends up under the thumb */
        content: "";
        background-color: var(--cpd-color-gray-800);

        /* Absolute positioning to ensure it overlaps with the existing bar */
        position: absolute;
        top: 0;
        left: 0;

        /* Sizing to match the bar */
        width: 100%;
        height: 1px;

        /* And finally dynamic width without overly hurting the rendering engine. */
        -webkit-transform-origin: 0 100%;
                transform-origin: 0 100%;
        -webkit-transform: scaleX(var(--fillTo));
                transform: scaleX(var(--fillTo));
    }
    .mx_SeekBar::-moz-range-progress {
        background-color: var(--cpd-color-gray-800);
        height: 1px;
    }

    .mx_SeekBar:disabled {
        opacity: 0.5;
    }
    .mx_SeekBar::after {
        content: "";
        position: absolute;
        top: -6px;
        bottom: -6px;
        left: 0;
        right: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Waveform {
    position: relative;
    height: 30px; /* tallest bar can only be 30px */
    top: 1px; /* because of our border trick (see below), we're off by 1px of aligntment */

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; /* so the bars grow from the middle */

    overflow: hidden; /* this is cheaper than a `max-height: calc(100% - 4px)` in the bar's CSS. */

    /* A bar is meant to be a 2x2 circle when at zero height, and otherwise a 2px wide line */
    /* with rounded caps. */
}
    .mx_Waveform .mx_Waveform_bar {
        width: 0; /* 0px width means we'll end up using the border as our width */
        border: 1px solid transparent; /* transparent means we'll use the background colour */
        border-radius: 2px; /* rounded end caps, based on the border */
        min-height: 0; /* like the width, we'll rely on the border to give us height */
        max-height: 100%; /* this makes the `height: 42%` work on the element */
        margin-left: 1px; /* we want 2px between each bar, so 1px on either side for balance */
        margin-right: 1px;

        /* background color is handled by the parent components */
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthBody {
    width: 500px;
    font-size: 0.75rem;
    color: var(--cpd-color-text-secondary);
    background-color: var(--cpd-color-bg-canvas-default);
    border-radius: 0 var(--cpd-space-6x) var(--cpd-space-6x) 0;
    padding: 25px 60px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

    .mx_AuthBody strong {
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_AuthBody.mx_AuthBody_flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_AuthBody h1 {
        font-size: 1.5rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-top: 8px;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AuthBody h2 {
        font: var(--cpd-font-body-md-semibold);
        color: var(--cpd-color-text-secondary);
    }

    .mx_AuthBody h2.mx_AuthBody_centered {
        text-align: center;
    }

    .mx_AuthBody a:link,
    .mx_AuthBody a:hover,
    .mx_AuthBody a:visited {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
        text-decoration: none;
    }

    .mx_AuthBody fieldset {
        display: block;
    }

    .mx_AuthBody .mx_AuthBody_icon {
        width: 44px;
        height: 44px;
    }

    .mx_AuthBody .mx_AuthBody_lockIcon {
        color: var(--cpd-color-text-secondary);
        height: 32px;
        width: 32px;
    }

    .mx_AuthBody .mx_AuthBody_text {
        margin-bottom: 48px;
        margin-top: 0;
    }

    .mx_AuthBody input[type="text"],
    .mx_AuthBody input[type="password"] {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AuthBody .mx_Field label {
        color: var(--cpd-color-text-secondary);
    }

    .mx_AuthBody .mx_Field input,
    .mx_AuthBody .mx_Field select {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        background-color: var(--cpd-color-bg-canvas-default);
    }

    .mx_AuthBody .mx_Field input:not(:-moz-placeholder) + label, .mx_AuthBody .mx_Field textarea:not(:-moz-placeholder) + label {
        background-color: var(--cpd-color-bg-canvas-default);
    }

    .mx_AuthBody .mx_Field input:not(:-ms-input-placeholder) + label, .mx_AuthBody .mx_Field textarea:not(:-ms-input-placeholder) + label {
        background-color: var(--cpd-color-bg-canvas-default);
    }

    .mx_AuthBody .mx_Field_labelAlwaysTopLeft label,
    .mx_AuthBody .mx_Field select + label,
    .mx_AuthBody .mx_Field input:focus + label,
    .mx_AuthBody .mx_Field input:not(:placeholder-shown) + label,
    .mx_AuthBody .mx_Field textarea:focus + label,
    .mx_AuthBody .mx_Field textarea:not(:placeholder-shown) + label {
        background-color: var(--cpd-color-bg-canvas-default);
    }

    .mx_AuthBody input.error {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }

    .mx_AuthBody .mx_Login_submit {
        height: 32px;
        margin-top: 16px;
    }

    .mx_AuthBody .mx_ErrorMessage {
        margin-bottom: 12px;
        margin-top: 2px;
    }

    .mx_AuthBody .mx_Field input {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .mx_AuthBody .mx_Field_select::before {
        background-color: #ffffff;
        background-color: var(--cpd-color-text-primary);
    }

    .mx_AuthBody .mx_Dropdown {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AuthBody .mx_Dropdown_arrow {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AuthBody .mx_Dropdown_menu {
        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_AuthBody .mx_Dropdown_menu .mx_Dropdown_option_highlight {
            background-color: var(--cpd-color-bg-subtle-primary);
        }

/* specialisation for password reset views */
.mx_AuthBody.mx_AuthBody_forgot-password {
    font: var(--cpd-font-body-md-regular);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    padding: 50px 32px;
    min-height: 600px;
}

    .mx_AuthBody.mx_AuthBody_forgot-password h1 {
        margin: 24px 0;
    }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_button-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_Login_submit {
        margin: 0 0 16px;
    }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_text {
        margin-bottom: 32px;
    }

        .mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_text p {
            margin: 0 0 8px;
        }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_sign-in-instead-button {
        font-weight: var(--cpd-font-weight-semibold);
        padding: 4px;
    }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_fieldRow {
        margin-bottom: 24px;
    }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_AccessibleButton.mx_AccessibleButton_hasKind {
        background: none;
    }

        .mx_AuthBody.mx_AuthBody_forgot-password .mx_AccessibleButton.mx_AccessibleButton_hasKind:disabled {
            cursor: default;
            opacity: 0.4;
        }

.mx_AuthBody_did-not-receive {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: var(--cpd-color-text-secondary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
}

.mx_AuthBody_resend-button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 8px;
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4px;
    padding: 4px;
}

    .mx_AuthBody_resend-button:hover {
        background-color: var(--cpd-color-bg-subtle-secondary);
    }

.mx_AuthBody_emailPromptIcon {
    width: 57px;
}

.mx_AuthBody_emailPromptIcon--shifted {
    margin-bottom: -17px; /* Prevent layout jump by relative positioning. */
    position: relative;
    top: -17px; /* This icon is higher than the other icons. Shift up to prevent icon jumping. */
    width: 57px;
}

.mx_AuthBody_fieldRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 10px;
}

.mx_AuthBody_fieldRow > .mx_Field {
    margin: 0 5px;
}

.mx_AuthBody_fieldRow > .mx_Field:first-child {
    margin-left: 0;
}

.mx_AuthBody_fieldRow > .mx_Field:last-child {
    margin-right: 0;
}

.mx_AuthBody_paddedFooter {
    height: 80px; /* height of the submit button + register link */
    padding-top: 28px;
    text-align: center;
}

    .mx_AuthBody_paddedFooter .mx_AuthBody_paddedFooter_title {
        margin-top: 16px;
        font-size: 0.9375rem;
        line-height: 1.5rem;
    }

        .mx_AuthBody_paddedFooter .mx_AuthBody_paddedFooter_title .mx_InlineSpinner svg {
            vertical-align: sub;
            margin-right: 5px;
        }

    .mx_AuthBody_paddedFooter .mx_AuthBody_paddedFooter_subtitle {
        margin-top: 8px;
        font-size: 0.625rem;
        line-height: 0.875rem;
    }

.mx_AuthBody_changeFlow {
    display: block;
    text-align: center;
}

    .mx_AuthBody_changeFlow > a {
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_SSOButtons + .mx_AuthBody_changeFlow {
    margin-top: 24px;
}

.mx_AuthBody_spinner {
    margin: 1em 0;
}

@media only screen and (max-width: 480px) {
    .mx_AuthBody {
        border-radius: 4px;
        width: auto;
        max-width: 500px;
        padding: 10px;
    }
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthFooter {
    text-align: center;
    width: 100%;
    font: var(--cpd-font-body-md-regular);
    opacity: 0.72;
    padding: 20px 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(0, 0, 0, 0)), to(rgb(0, 0, 0, 0.8)));
    background: linear-gradient(rgb(0, 0, 0, 0), rgb(0, 0, 0, 0.8));
}

.mx_AuthFooter a:link,
.mx_AuthFooter a:hover,
.mx_AuthFooter a:visited {
    color: #f4f6fa;
    margin: 0 22px;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 206px;
    padding: 25px 25px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

@media only screen and (max-width: 480px) {
    .mx_AuthHeader {
        display: none;
    }
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthHeaderLogo {
    margin-top: 15px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0 25px;
}

.mx_AuthHeaderLogo img {
    width: 100%;
}

@media only screen and (max-width: 480px) {
    .mx_AuthHeaderLogo {
        display: none;
    }
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthPage {
    width: 100%;
    min-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #2e3649;
    height: 100vh;
    overflow: auto;
}

.mx_AuthPage_modal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 100px auto auto;
    border-radius: var(--cpd-space-6x);
    background-color: rgba(245, 245, 245, 0.9);
}

    @media only screen and (max-height: 768px) {

.mx_AuthPage_modal {
        margin-top: 50px
}
    }

    @media only screen and (max-width: 480px) {

.mx_AuthPage_modal {
        margin-top: 0
}
    }

    .mx_AuthPage_modal.mx_AuthPage_modal_withBlur {
        /* Apply a blurred shadow around the modal */
        -webkit-box-shadow: 0 2px 4px 0 rgb(0, 0, 0, 0.33);
                box-shadow: 0 2px 4px 0 rgb(0, 0, 0, 0.33);
    }

        .mx_AuthPage_modal.mx_AuthPage_modal_withBlur .mx_AuthPage_modalContent {
            /* Make the modal's background semitransparent */
            background-color: rgb(0, 0, 0, 0.59);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CompleteSecurityBody {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-canvas-default);
    border-radius: 24px;
    padding: 20px 20px 60px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

    .mx_CompleteSecurityBody h2 {
        font-size: 1.5rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-top: 0;
    }

    .mx_CompleteSecurityBody h3 {
        font: var(--cpd-font-body-md-semibold);
    }

    .mx_CompleteSecurityBody a:link,
    .mx_CompleteSecurityBody a:hover,
    .mx_CompleteSecurityBody a:visited {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
        text-decoration: none;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CountryDropdown .mx_Dropdown_input .mx_Dropdown_option {
    padding: 0 3px;
}

.mx_CountryDropdown .mx_Dropdown_arrow {
    padding-right: 3px;
}

.mx_CountryDropdown_shortOption {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
}

.mx_CountryDropdown_option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
}
@layer app-web{

/*
Copyright 2026 Element Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DefaultWelcome {
    text-align: center;
}

    .mx_DefaultWelcome .mx_DefaultWelcome_logo img {
        height: 48px;
        aspect-ratio: auto;
        display: block;
        margin: 0 auto;
    }

    .mx_DefaultWelcome h1 {
        margin: var(--cpd-space-4x) 0 var(--cpd-space-2x);
    }

    .mx_DefaultWelcome p {
        color: var(--cpd-color-text-secondary);
        margin-top: var(--cpd-space-2x);
    }

    .mx_DefaultWelcome .mx_DefaultWelcome_buttons {
        margin: var(--cpd-space-6x) 0 var(--cpd-space-1x);
        padding-bottom: var(--cpd-space-4x);
        border-bottom: 1px solid var(--cpd-color-separator-primary);
    }

        .mx_DefaultWelcome .mx_DefaultWelcome_buttons a {
            width: 380px;
            margin-bottom: var(--cpd-space-4x);
        }
    .mx_WelcomePage_registrationDisabled .mx_DefaultWelcome_buttons_register {
        display: none;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_InteractiveAuthEntryComponents .mx_InteractiveAuthEntryComponents_termsSubmit {
        margin-top: 20px;
        margin-bottom: 5px;
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; /* prevent overflowing */
    }

.mx_InteractiveAuthEntryComponents_msisdnWrapper {
    text-align: center;
}

.mx_InteractiveAuthEntryComponents_msisdnEntry {
    font-size: 200%;
    font-weight: bold;
    border: 1px solid var(--cpd-color-border-interactive-primary);
    border-radius: 3px;
    width: 6em;
}

.mx_InteractiveAuthEntryComponents_msisdnEntry:focus {
    border: 1px solid #2e80de;
    border: 1px solid var(--cpd-color-text-action-accent);
}

.mx_InteractiveAuthEntryComponents_msisdnSubmit {
    margin-top: 4px;
    margin-bottom: 5px;
}

/* XXX: This should be a common button class */
.mx_InteractiveAuthEntryComponents_msisdnSubmit:disabled {
    background-color: #c8c8cd;
    cursor: default;
}

.mx_InteractiveAuthEntryComponents_termsPolicy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_InteractiveAuthEntryComponents_passwordSection {
    width: 300px;
}

.mx_InteractiveAuthEntryComponents_sso_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 20px;
}

    .mx_InteractiveAuthEntryComponents_sso_buttons .mx_AccessibleButton {
        margin-left: 5px;
    }

.mx_InteractiveAuthEntryComponents_emailWrapper {
    /* "Resend" button/link */
}
    .mx_InteractiveAuthEntryComponents_emailWrapper .mx_AccessibleButton_kind_link_inline {
        /* We need this to be an inline-block so positioning works correctly */
        display: inline-block !important;

        /* Spinner as end adornment of the "resend" button/link */
    }
        .mx_InteractiveAuthEntryComponents_emailWrapper .mx_AccessibleButton_kind_link_inline .mx_Spinner {
            /* Spinners are usually block elements, but we need it as inline element */
            display: -webkit-inline-box !important;
            display: -ms-inline-flexbox !important;
            display: inline-flex !important;
            /* Spinners by default fill all available width, but we don't want that */
            width: auto !important;
            /* We need to center the spinner relative to the button/link */
            vertical-align: middle !important;
        }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthBody_language {
    width: 100%;
}

.mx_AuthBody_language .mx_Dropdown_input {
    border: none;
    font: var(--cpd-font-body-md-semibold);
    color: var(--cpd-color-text-secondary);
    width: auto;
}

.mx_AuthBody_language .mx_Dropdown_arrow {
    color: var(--cpd-color-text-secondary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LoginWithQRSection p {
    margin-top: 0;
    margin-bottom: 16px;
}
    .mx_LoginWithQRSection .mx_AccessibleButton_kind_primary + p {
        color: var(--cpd-color-text-secondary);
        margin-top: var(--cpd-space-2x);
    }

.mx_LoginWithQRSection .mx_AccessibleButton svg {
    margin-right: 12px;
}
    .mx_AuthPage .mx_LoginWithQR .mx_AccessibleButton {
        display: block !important;
    }

    .mx_AuthPage .mx_LoginWithQR .mx_AccessibleButton + .mx_AccessibleButton {
        margin-top: 8px;
    }

    .mx_AuthPage .mx_LoginWithQR{

    font-size: 0.9375rem;
}

.mx_LoginWithQR {
    min-height: 350px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font: var(--cpd-font-body-md-regular);
}

    .mx_LoginWithQR h1 {
        font-size: 1.5rem;
        margin-bottom: 0;
    }
            .mx_LoginWithQR h1 svg.normal {
                color: var(--cpd-color-text-secondary);
            }
            .mx_LoginWithQR h1 svg.error {
                color: #e0454b;
                color: var(--cpd-color-text-critical-primary);
            }
            .mx_LoginWithQR h1 svg.success {
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }
            .mx_LoginWithQR h1 svg{
            height: 1.3em;
            margin-right: 8px;
            vertical-align: middle;
}

    .mx_LoginWithQR h2 {
        margin-top: 24px;
    }

    .mx_LoginWithQR .mx_LoginWithQR_qrWrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 28px 0;
    }

        .mx_LoginWithQR .mx_LoginWithQR_qrWrapper .mx_Spinner {
            /* Match the size of the QR code to prevent jumps */
            height: 200px;
            width: 200px;
        }

    .mx_LoginWithQR .mx_LoginWithQR_confirmationDigits {
        text-align: center;
        margin: 48px auto;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 1.5rem;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_LoginWithQR .mx_LoginWithQR_confirmationAlert {
        border: 1px solid var(--cpd-color-gray-600);
        border-radius: 8px;
        padding: 8px;
        line-height: 1.5em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

        .mx_LoginWithQR .mx_LoginWithQR_confirmationAlert svg {
            height: 30px;
        }

    .mx_LoginWithQR .mx_LoginWithQR_separator {
        margin: 1em 0;
    }

    .mx_LoginWithQR ol {
        -webkit-padding-start: 0;
                padding-inline-start: 0;
        list-style: none; /* list markers do not support the outlined number styling we need */

        /* Circled number list item marker */
    }

        .mx_LoginWithQR ol li {
            position: relative;
            padding-left: var(--cpd-space-7x);
            color: 1px solid var(--cpd-color-text-secondary);
            margin-bottom: var(--cpd-space-4x);
            line-height: 20px;
            text-align: left;
            text-align: initial;
        }
        .mx_LoginWithQR ol li::before {
            content: counter(list-item);
            position: absolute;
            left: 0;
            display: inline-block;
            width: 20px;
            height: 20px;
            line-height: 20px;
            border-radius: 50%;
            border: 1px solid var(--cpd-color-text-secondary);
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            text-align: center;
        }

    .mx_LoginWithQR label[for="mx_LoginWithQR_checkCode"] {
        margin-top: var(--cpd-space-6x);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin-bottom: var(--cpd-space-1x);
    }

    .mx_LoginWithQR .mx_LoginWithQR_icon {
        width: 56px;
        height: 56px;
        border-radius: 8px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: var(--cpd-space-3x);
        gap: 10px;

        background-color: var(--cpd-color-bg-subtle-secondary);
    }
        .mx_LoginWithQR .mx_LoginWithQR_icon svg {
            color: var(--cpd-color-icon-secondary);
        }

        .mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--success {
            background-color: var(--cpd-color-bg-success-subtle);
        }
            .mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--success svg {
                color: #3ecf8e;
                color: var(--cpd-color-icon-success-primary);
            }

        .mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--critical {
            background-color: var(--cpd-color-bg-critical-subtle);
        }
            .mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--critical svg {
                color: var(--cpd-color-icon-critical-primary);
            }

    .mx_LoginWithQR .mx_LoginWithQR_checkCode_input {
        margin-bottom: var(--cpd-space-1x);
        text-align: left;
        text-align: initial;
    }

        .mx_LoginWithQR .mx_LoginWithQR_checkCode_input input {
            /* Workaround for one of the input rules in _common.pcss being not specific enough */
            padding: 0;
            -webkit-padding-start: calc(40px / 2 - (1ch / 2));
                    padding-inline-start: calc(40px / 2 - (1ch / 2));
        }

    .mx_LoginWithQR .mx_LoginWithQR_heading {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 12px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

    .mx_LoginWithQR .mx_LoginWithQR_BackButton {
        height: 28px;
        border-radius: 28px;
        padding: 4px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--cpd-color-bg-subtle-secondary);
    }
        .mx_LoginWithQR .mx_LoginWithQR_BackButton svg {
            height: 100%;
        }

    .mx_LoginWithQR .mx_LoginWithQR_breadcrumbs {
        font-size: 0.8125rem;
        color: var(--cpd-color-text-secondary);
    }

    .mx_LoginWithQR .mx_LoginWithQR_main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        text-align: center;
    }

        .mx_LoginWithQR .mx_LoginWithQR_main p {
            color: var(--cpd-color-text-secondary);
        }

    .mx_LoginWithQR.mx_LoginWithQR_error .mx_LoginWithQR_main {
        max-width: 400px;
        margin: 0 auto;
    }

    .mx_LoginWithQR .mx_LoginWithQR_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 16px;
        margin-top: var(--cpd-space-6x);
    }

        .mx_LoginWithQR .mx_LoginWithQR_buttons .mx_AccessibleButton {
            width: 300px;
            height: 48px;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

    .mx_LoginWithQR .mx_QRCode {
        border-radius: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .mx_LoginWithQR .mx_LoginWithQR_spinner {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 100%;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

progress.mx_PassphraseField_progress {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 100%;
    border: 0;
    height: 4px;
    position: absolute;
    top: -10px;
    left: 0;

    border-radius: "2px";
}

    progress.mx_PassphraseField_progress::-moz-progress-bar {
        border-radius: "2px";
    }

    progress.mx_PassphraseField_progress::-webkit-progress-bar,
    progress.mx_PassphraseField_progress::-webkit-progress-value {
        border-radius: "2px";
    }

    progress.mx_PassphraseField_progress{
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}
    progress.mx_PassphraseField_progress::-moz-progress-bar {
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }
    progress.mx_PassphraseField_progress::-webkit-progress-value {
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }
    progress.mx_PassphraseField_progress[value="2"],
    progress.mx_PassphraseField_progress[value="3"] {
        color: var(--cpd-color-text-decorative-5);
    }
        progress.mx_PassphraseField_progress[value="2"]::-moz-progress-bar, progress.mx_PassphraseField_progress[value="3"]::-moz-progress-bar {
        background-color: var(--cpd-color-text-decorative-5);
    }
        progress.mx_PassphraseField_progress[value="2"]::-webkit-progress-value, progress.mx_PassphraseField_progress[value="3"]::-webkit-progress-value {
        background-color: var(--cpd-color-text-decorative-5);
    }
    progress.mx_PassphraseField_progress[value="4"] {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }
        progress.mx_PassphraseField_progress[value="4"]::-moz-progress-bar {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
    }
        progress.mx_PassphraseField_progress[value="4"]::-webkit-progress-value {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Welcome {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: var(--cpd-color-bg-canvas-default);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: var(--cpd-space-11x) var(--cpd-space-12x) var(--cpd-space-4x);
}
        .mx_Welcome.mx_WelcomePage_registrationDisabled .mx_ButtonCreateAccount {
            display: none;
        }

.mx_Welcome .mx_AuthBody_language {
    width: 160px;
    margin: var(--cpd-space-1x) 0;
}

/* Invert image colours in dark mode. */
.cpd-theme-dark .mx_WelcomePage_logo {
    -webkit-filter: invert(1);
            filter: invert(1);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

button.mx_BaseAvatar {
    /* <button> is a form element and by default it uses the user agent (browser) styling.
       We want it to inherit the font-family and line-height from its parent.
     */
    font-family: inherit;
    line-height: inherit;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DecoratedRoomAvatar,
.mx_ExtraTile {
    position: relative;
    contain: content;
    line-height: 0;
}

    .mx_DecoratedRoomAvatar.mx_DecoratedRoomAvatar_cutout .mx_BaseAvatar, .mx_ExtraTile.mx_DecoratedRoomAvatar_cutout .mx_BaseAvatar {
        -webkit-mask-image: url(../../img/element-icons/roomlist/decorated-avatar-mask.e3fe38a.svg);
                mask-image: url(../../img/element-icons/roomlist/decorated-avatar-mask.e3fe38a.svg);
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
    }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon {
        position: absolute;
        /* the following percentage based sizings are to match the scalable svg mask for the cutout */
        bottom: 6.25%; /* 2px for a 32x32 avatar */
        right: 6.25%;
        width: 25%; /* 8px for a 32x32 avatar */
        height: 25%;
        border-radius: 50%;
    }

        .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon::before,
        .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon svg,
        .mx_ExtraTile .mx_DecoratedRoomAvatar_icon::before,
        .mx_ExtraTile .mx_DecoratedRoomAvatar_icon svg {
            width: 100%;
            height: 100%;
            right: 0;
            position: absolute;
            border-radius: 8px;
        }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_globe svg, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_globe svg {
        /* Oversize the icon to account for the dead space around the icon within the canvas */
        width: 120%;
        height: 120%;
        margin: -10%;
        color: var(--cpd-color-text-secondary);
    }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_offline::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_offline::before {
        content: "";
        background-color: #e3e8f0;
    }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_online::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_online::before {
        content: "";
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
    }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_away::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_away::before {
        content: "";
        background-color: #d9b072;
    }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_busy::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_busy::before {
        content: "";
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }

    .mx_DecoratedRoomAvatar .mx_NotificationBadge,
    .mx_DecoratedRoomAvatar .mx_RoomTile_badgeContainer,
    .mx_ExtraTile .mx_NotificationBadge,
    .mx_ExtraTile .mx_RoomTile_badgeContainer {
        position: absolute;
        top: 0;
        right: 0;
        height: 18px;
        width: 18px;
    }
}
@layer app-web{

/*
 * Copyright 2025 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_RoomAvatarView {
    --room-avatar-size: 32px;

    position: relative;

    /* Keep the container to the same size than the avatar */
    inline-size: 32px;
    inline-size: var(--room-avatar-size);
    block-size: 32px;
    block-size: var(--room-avatar-size);
}

    .mx_RoomAvatarView .mx_RoomAvatarView_RoomAvatar {
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        pointer-events: none;
    }

    .mx_RoomAvatarView .mx_RoomAvatarView_RoomAvatar_icon {
        -webkit-mask-image: url(../../img/element-icons/roomlist/room-avatar-view-icon-mask.e959e90.svg);
                mask-image: url(../../img/element-icons/roomlist/room-avatar-view-icon-mask.e959e90.svg);
    }

    .mx_RoomAvatarView .mx_RoomAvatarView_RoomAvatar_presence {
        -webkit-mask-image: url(../../img/element-icons/roomlist/room-avatar-view-presence-mask.46fca54.svg);
                mask-image: url(../../img/element-icons/roomlist/room-avatar-view-presence-mask.46fca54.svg);
    }

    .mx_RoomAvatarView .mx_RoomAvatarView_icon {
        position: absolute;

        /* Place half the icon inside the avatar */
        /* Avatar size - (icon size (16px) / 2) */
        left: calc((var(--room-avatar-size) - 8px));
        bottom: var(--cpd-space-0-5x);
    }

    .mx_RoomAvatarView .mx_RoomAvatarView_PresenceDecoration {
        position: absolute;

        /* Place half the icon inside the avatar */
        /* Avatar size - (icon size (8px) / 2) */
        left: calc((var(--room-avatar-size) - 4px));
        bottom: var(--cpd-space-0-5x);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WidgetAvatar {
    /* !important override compound avatar */
    border-radius: 4px !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WithPresenceIndicator {
    position: relative;
    contain: content;
    line-height: 0;
}

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon {
        position: absolute;
        right: -2px;
        bottom: -2px;
    }

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon::before {
        content: "";
        width: 100%;
        height: 100%;
        right: 0;
        bottom: 0;
        position: absolute;
        border: 2px solid var(--cpd-color-bg-canvas-default);
        border-radius: 50%;
    }

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_offline::before {
        background-color: #e3e8f0;
    }

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_online::before {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
    }

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_away::before {
        background-color: #d9b072;
    }

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_busy::before {
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BetaCard {
    padding: 24px;
    background-color: var(--cpd-color-bg-subtle-secondary);
    border-radius: 8px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: var(--cpd-color-text-secondary);
}

    .mx_BetaCard .mx_BetaCard_columns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        gap: 20px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

        .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_title {
                font-weight: var(--cpd-font-weight-semibold);
                font-size: 1.125rem;
                line-height: 1.375rem;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                margin: 4px 0 14px;

                display: -webkit-box;

                display: -ms-flexbox;

                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                -webkit-column-gap: 12px;
                   -moz-column-gap: 12px;
                        column-gap: 12px;
            }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_caption {
                font-size: 0.9375rem;
                line-height: 1.25rem;
            }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_buttons {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -ms-flex-wrap: wrap-reverse;
                    flex-wrap: wrap-reverse;
                gap: 12px;
                margin: 20px auto 0;
            }

                .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_buttons .mx_AccessibleButton {
                    padding: 7px 40px;
                    width: auto;
                    -webkit-box-flex: 1;
                        -ms-flex: 1;
                            flex: 1;
                    white-space: nowrap; /* text might overflow */
                }

                    .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_buttons .mx_AccessibleButton:nth-child(1) {
                        -webkit-box-ordinal-group: 3;
                            -ms-flex-order: 2;
                                order: 2; /* Place feedback button top and right */
                    }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_refreshWarning {
                margin-top: 8px;
                font-size: 0.625rem;
                text-align: center;
            }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_faq {
                margin-top: 20px;
                font: var(--cpd-font-body-xs-regular);
            }

                .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_faq > h4 {
                    margin: 12px 0 0;
                }

                .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_faq > p {
                    margin: 0;
                }

        .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_image_wrapper {
            margin: auto 0;
        }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_image_wrapper .mx_BetaCard_columns_image {
                width: 100%;
                max-width: 300px;
                -o-object-fit: contain;
                   object-fit: contain;
                height: 100%;
                border-radius: 4px;
            }
        .mx_BetaCard .mx_BetaCard_relatedSettings .mx_SettingsFlag {
            margin: 16px 0 0;
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

            .mx_BetaCard .mx_BetaCard_relatedSettings .mx_SettingsFlag .mx_SettingsFlag_microcopy {
                margin-top: 4px;
                font: var(--cpd-font-body-sm-regular);
            }

.mx_BetaCard_betaPill {
    background-color: var(--cpd-color-text-link-external);
    padding: 4px 10px;
    border-radius: 8px;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: var(--cpd-font-weight-semibold);
    line-height: 15px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: inline-block;
    vertical-align: text-bottom;
    word-break: keep-all; /* avoid multiple lines on CJK language */
}

    .mx_BetaCard_betaPill.mx_AccessibleButton {
        cursor: pointer;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceContextMenu {
    max-width: 252px;
}

    .mx_DeviceContextMenu .mx_IconizedContextMenu_label {
        padding-left: 0 !important;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020-2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* A context menu that largely fits the | [icon]    [label] | format. */
.mx_IconizedContextMenu {
    min-width: 146px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    /* override default ul styles */
    margin: 0;
    padding: 0;
}

    .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList {

        /* the notFirst class is for cases where the optionList might be under a header of sorts. */

        /* round the top corners of the top button for the hover effect to be bounded */

        /* round the bottom corners of the bottom button for the hover effect to be bounded */

        /* round all corners of the only button for the hover effect to be bounded */
    }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList > * {
            padding-left: 20px;
            padding-right: 20px;
        }

        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_optionList_label {
            font-size: 0.9375rem;
            font-weight: var(--cpd-font-weight-semibold);
        }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:nth-child(n + 2),
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_optionList_notFirst {
            border-top: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
        }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:first-child .mx_IconizedContextMenu_item:first-child {
            border-radius: 8px 8px 0 0; /* radius matches .mx_ContextualMenu */
        }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:last-child .mx_IconizedContextMenu_item:last-child {
            border-radius: 0 0 8px 8px; /* radius matches .mx_ContextualMenu */
        }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:first-child:last-child .mx_IconizedContextMenu_item:first-child:last-child {
            border-radius: 8px; /* radius matches .mx_ContextualMenu */
        }

        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item {
            /* pad the inside of the button so that the hover background is padded too */
            padding-top: 12px;
            padding-bottom: 12px;
            text-decoration: none;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            font: var(--cpd-font-body-md-regular);

            /* Create a flexbox to more easily define the list items */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item:hover,
            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item:focus-visible {
                background-color: var(--cpd-color-bg-action-secondary-hovered);
            }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item.mx_AccessibleButton_disabled {
                opacity: 0.5;
                cursor: not-allowed;
            }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item span.mx_IconizedContextMenu_label {
                /* labels */
                width: 100%;
                -webkit-box-flex: 1;
                    -ms-flex: 1;
                        flex: 1;

                /* Ellipsize any text overflow */
                text-overflow: ellipsis;
                overflow: hidden;
                white-space: nowrap;
            }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item svg {
                width: 16px;
                height: 16px;
                display: block;
                -ms-flex-negative: 0;
                    flex-shrink: 0;
            }

                .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item svg + .mx_IconizedContextMenu_label {
                    padding-left: 14px;
                }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item .mx_BetaCard_betaPill {
                margin-left: 16px;
            }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList_red .mx_IconizedContextMenu_item {
            color: #e0454b !important;
            color: var(--cpd-color-text-critical-primary) !important;
        }

        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList_red svg {
            color: var(--cpd-color-icon-critical-primary);
        }

    .mx_IconizedContextMenu .mx_IconizedContextMenu_option_red {
        color: #e0454b !important;
        color: var(--cpd-color-text-critical-primary) !important;
    }

        .mx_IconizedContextMenu .mx_IconizedContextMenu_option_red svg {
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
        }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_active.mx_IconizedContextMenu_item,
        .mx_IconizedContextMenu .mx_IconizedContextMenu_active .mx_IconizedContextMenu_item {
            color: #2e80de !important;
            color: var(--cpd-color-text-action-accent) !important;
        }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_active.mx_IconizedContextMenu_item svg, .mx_IconizedContextMenu .mx_IconizedContextMenu_active .mx_IconizedContextMenu_item svg {
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }
        .mx_IconizedContextMenu.mx_IconizedContextMenu_compact .mx_IconizedContextMenu_optionList > * {
            padding: 8px 16px 8px 12px;
        }

    .mx_IconizedContextMenu svg.mx_IconizedContextMenu_checked {
        margin-left: 16px;
        margin-right: -5px;
    }

    .mx_IconizedContextMenu .mx_IconizedContextMenu_sublabel {
        margin-left: 20px;
        color: var(--cpd-color-gray-800);
    }

.mx_IconizedContextMenu_item.mx_IconizedContextMenu_itemDestructive {
    color: #e0454b !important;
    color: var(--cpd-color-text-critical-primary) !important;
}
}
@layer app-web{

/*
Copyright 2020-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallContextMenu_item {
    width: 205px;
    height: 40px;
    padding-left: 16px;
    line-height: 40px;
    vertical-align: center;
}
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_AddExistingToSpaceDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .mx_AddExistingToSpace .mx_SearchBox {
        /* To match the space around the title */
        margin: 0 0 15px 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
    }

    .mx_AddExistingToSpace .mx_AddExistingToSpace_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

    .mx_AddExistingToSpace .mx_AddExistingToSpace_noResults {
        display: block;
        margin-top: 24px;
    }

    .mx_AddExistingToSpace .mx_AddExistingToSpace_section {
        margin-right: 12px;

        /* provides space for scrollbar so that checkbox and scrollbar do not collide*/
    }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_section ul {
            list-style: none;
            padding-left: 0;
        }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_section:not(:first-child) {
            margin-top: 24px;
        }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_section > h3 {
            margin: 0;
            color: var(--cpd-color-text-secondary);
            font-size: 0.75rem;
            font-weight: var(--cpd-font-weight-semibold);
            line-height: 0.9375rem;
        }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_section .mx_AccessibleButton_kind_link {
            font-size: 0.75rem;
            line-height: 0.9375rem;
            margin-top: 8px;
        }

    .mx_AddExistingToSpace .mx_AddExistingToSpace_footer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 20px;
    }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar {
                height: 8px;
                width: 100%;

                border-radius: 8px;
            }

                .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar::-moz-progress-bar {
        border-radius: 8px;
    }

                .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar::-webkit-progress-bar,
    .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar::-webkit-progress-value {
        border-radius: 8px;
    }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_AddExistingToSpaceDialog_progressText {
                margin-top: 8px;
                font-size: 0.9375rem;
                line-height: 1.5rem;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span > * {
                vertical-align: middle;
            }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error {
            padding-left: 12px;
        }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error > img {
                -ms-flex-item-align: center;
                    align-self: center;
            }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error .mx_AddExistingToSpace_errorHeading {
                font-weight: var(--cpd-font-weight-semibold);
                font-size: 0.9375rem;
                line-height: 1.125rem;
                color: #e0454b;
                color: var(--cpd-color-text-critical-primary);
            }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error .mx_AddExistingToSpace_errorCaption {
                margin-top: 4px;
                font-size: 0.75rem;
                line-height: 0.9375rem;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AccessibleButton {
            display: inline-block;
            -ms-flex-item-align: center;
                align-self: center;
        }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AccessibleButton_kind_primary {
            padding: 8px 36px;
        }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpaceDialog_retryButton svg {
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            width: 18px;
            height: 18px;
            margin-right: var(--cpd-space-2x);
        }

.mx_AddExistingToSpaceDialog {
    width: 480px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
    height: 80vh;
}

    .mx_AddExistingToSpaceDialog .mx_AddExistingToSpace {
        display: contents;
    }

.mx_SubspaceSelector {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

    .mx_SubspaceSelector .mx_BaseAvatar {
        margin: auto 16px auto 5px;
    }
        .mx_SubspaceSelector > div > h1 {
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.125rem;
            line-height: 1.375rem;
            margin: 0;
        }

    .mx_SubspaceSelector .mx_Dropdown_input {
        border: none;
    }

        .mx_SubspaceSelector .mx_Dropdown_input > .mx_Dropdown_option {
            padding-left: 0;
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            height: auto;
            height: initial;
            color: var(--cpd-color-text-secondary);
            font-size: 0.9375rem;
            line-height: 1.5rem;
        }

            .mx_SubspaceSelector .mx_Dropdown_input > .mx_Dropdown_option .mx_BaseAvatar {
                display: none;
            }

        .mx_SubspaceSelector .mx_Dropdown_input .mx_SubspaceSelector_dropdownOptionActive {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
            padding-right: 24px;
            position: relative;
        }

            .mx_SubspaceSelector .mx_Dropdown_input .mx_SubspaceSelector_dropdownOptionActive svg {
                width: 20px;
                height: 20px;
                right: 0;
                position: absolute;
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }

    .mx_SubspaceSelector .mx_SubspaceSelector_onlySpace {
        color: var(--cpd-color-text-secondary);
        font-size: 0.9375rem;
        line-height: 1.5rem;
    }

.mx_AddExistingToSpace_entry {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 12px;

    /* we can't target .mx_BaseAvatar here as it'll break the decorated avatar styling */
}

    .mx_AddExistingToSpace_entry form {
        /* Align checkboxes. */
        margin-top: auto;
        margin-bottom: auto;
    }
    .mx_AddExistingToSpace_entry .mx_DecoratedRoomAvatar {
        margin-right: 12px;
    }

    .mx_AddExistingToSpace_entry .mx_AddExistingToSpace_entry_name {
        font-size: 0.9375rem;
        line-height: 30px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        margin-right: 12px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AnalyticsLearnMoreDialog {
    max-width: 500px;
}
    .mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_image_holder {
        background-image: url(../../img/element-shiny.2a0c06b.svg);
        background-repeat: no-repeat;
        background-position: center top;
        height: 112px;
        padding: 20px 0px;
    }

    .mx_AnalyticsLearnMoreDialog .mx_Dialog_content {
        margin-bottom: 0px;
    }

    .mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_copy {
        border-bottom: 1px solid #000000;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .mx_AnalyticsLearnMoreDialog a {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
        text-decoration: none;
    }

    .mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_bullets {
        padding-left: 0px;
    }

    .mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_bullets li {
        list-style-type: none;
        padding: 2px 0 0 32px;
        margin-bottom: 20px;
        vertical-align: middle;
        position: relative;
    }

        .mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_bullets li svg {
            position: absolute;
            width: 26px;
            height: 26px;
            left: 0;
            top: 0;
            color: #0dbd8b;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
        .mx_BugReportDialog .mx_BugReportDialog_download .mx_AccessibleButton_kind_link {
            margin-right: 18px; /* Space between "Downloading logs..." */
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 Aviral Dasgupta

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ChangelogDialog_content {
    max-height: 300px;
    overflow: auto;
}

.mx_ChangelogDialog_li {
    padding: 0.2em;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* -------------------------------------------------------------------------------- */
/* DEV NOTE: This stylesheet covers dialogs listed by the compound, including */
/* over multiple React components. The actual inner contents of the dialog should */
/* be in their respective stylesheets. */
/* -------------------------------------------------------------------------------- */

/* Override legacy/default styles for dialogs */
.mx_Dialog_wrapper.mx_CompoundDialog .mx_Dialog {
    padding: 0; /* we'll manage it ourselves */
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}
    .mx_CompoundDialog .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_CompoundDialog .mx_CompoundDialog_header {
        padding: 32px 32px 16px 32px;
    }

        .mx_CompoundDialog .mx_CompoundDialog_header h1 {
            display: inline-block;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.5rem;
            margin: 0; /* managed by header class */
        }

    .mx_CompoundDialog .mx_CompoundDialog_cancelButton {
        width: 20px;
        height: 20px;
        padding: var(--cpd-space-1x);
        border-radius: 14px;
        background-color: var(--cpd-color-bg-subtle-secondary);
        /* Align with corner radius of dialog */
    }
        .mx_CompoundDialog .mx_CompoundDialog_cancelButton:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
        .mx_CompoundDialog .mx_CompoundDialog_cancelButton svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
        .mx_CompoundDialog .mx_CompoundDialog_cancelButton{
        position: absolute;
        top: var(--cpd-space-4x);
        right: var(--cpd-space-4x);
}

    .mx_CompoundDialog .mx_CompoundDialog_form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        min-height: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

    .mx_CompoundDialog .mx_CompoundDialog_content {
        overflow: auto;
        padding: 8px 32px;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

    .mx_CompoundDialog .mx_CompoundDialog_footer {
        padding: 20px 32px;
        text-align: right;
    }

        .mx_CompoundDialog .mx_CompoundDialog_footer .mx_AccessibleButton {
            margin-left: 24px;
        }

.mx_ScrollableBaseDialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    width: 544px; /* fixed */
    height: 516px; /* fixed */
    max-width: 100%;
    min-height: 0;
    max-height: 80%;
}

    .mx_ScrollableBaseDialog .mx_CompoundDialog_footer {
        -webkit-box-shadow: 0px -4px 4px rgb(0, 0, 0, 0.05);
                box-shadow: 0px -4px 4px rgb(0, 0, 0, 0.05); /* hardcoded colour for both themes */
        z-index: 1; /* needed to make footer & shadow appear above dialog content */
    }
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ConfirmKeyStorageOffDialog .mx_Dialog_border {
        width: 600px;
    }

    .mx_ConfirmKeyStorageOffDialog .mx_EncryptionCard {
        text-align: center;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ConfirmSpaceUserActionDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 24px 32px;
    }

.mx_ConfirmSpaceUserActionDialog {
    width: 440px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    height: 520px;
}

    .mx_ConfirmSpaceUserActionDialog .mx_Dialog_content {
        margin: 12px 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        overflow-y: auto;
    }

    .mx_ConfirmSpaceUserActionDialog .mx_ConfirmUserActionDialog_reasonField {
        margin-bottom: 12px;
    }

    .mx_ConfirmSpaceUserActionDialog .mx_ConfirmSpaceUserActionDialog_warning {
        border-radius: 8px;
        padding: 12px 8px;
        background-color: var(--cpd-color-bg-subtle-secondary);

        font-size: 0.75rem;
        line-height: 0.9375rem;
        color: var(--cpd-color-text-secondary);
    }

        .mx_ConfirmSpaceUserActionDialog .mx_ConfirmSpaceUserActionDialog_warning svg {
            height: 16px;
            width: 16px;
            vertical-align: -4px;
            margin-right: var(--cpd-space-1-5x);
            color: var(--cpd-color-text-secondary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ConfirmUserActionDialog .mx_Dialog_content .mx_ConfirmUserActionDialog_user {
    min-height: 48px;
    margin-bottom: 24px;
}

.mx_ConfirmUserActionDialog_avatar {
    float: left;
    margin-right: 20px;
}

.mx_ConfirmUserActionDialog_name {
    padding-top: 2px;
    font-size: 1.125rem;
}

.mx_ConfirmUserActionDialog_userId {
    font-size: 0.8125rem;
}

.mx_ConfirmUserActionDialog_reasonField {
    font: var(--cpd-font-body-md-regular);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-canvas-default);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateRoomDialog_details {
    margin-top: 15px;
}

    .mx_CreateRoomDialog_details .mx_CreateRoomDialog_details_summary {
        list-style: none;
        font-weight: var(--cpd-font-weight-semibold);
        cursor: pointer;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        text-decoration: underline;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;

        /* list-style doesn't do it for webkit */
    }
        .mx_CreateRoomDialog_details .mx_CreateRoomDialog_details_summary::-webkit-details-marker {
            display: none;
        }

        .mx_CreateRoomDialog_details .mx_CreateRoomDialog_details_summary:not(:focus-visible) {
            outline: none;
        }

    .mx_CreateRoomDialog_details > div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        margin: 5px 0;
    }

        .mx_CreateRoomDialog_details > div input[type="checkbox"] {
            margin-right: 10px;
        }

.mx_CreateRoomDialog_label {
    text-align: left;
    padding-bottom: 12px;
}

.mx_CreateRoomDialog_input_container {
    padding-right: 20px;
}

.mx_CreateRoomDialog_input {
    font-size: 0.9375rem;
    border-radius: 3px;
    border: 1px solid rgba(231, 231, 231, 0.2);
    padding: 9px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-canvas-default);
    width: 100%;
}

.mx_CreateRoomDialog_aliasContainer {
    /* needed to make the alias field only grow as wide as needed as opposed to full width */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
    .mx_CreateRoomDialog.mx_Dialog_fixedWidth {
        width: 450px;
    }

    .mx_CreateRoomDialog .mx_Dialog_content {
        margin-bottom: 40px;
    }

    .mx_CreateRoomDialog p,
    .mx_CreateRoomDialog .mx_Field_input label {
        color: #91a1c0;
    }

    .mx_CreateRoomDialog .mx_SettingsFlag {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .mx_CreateRoomDialog .mx_SettingsFlag_label {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        min-width: 0;
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_CreateRoomDialog .mx_ToggleSwitch {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-left: 30px;
    }

    .mx_CreateRoomDialog .mx_Dialog_content > .mx_SettingsFlag {
        margin-top: 24px;
    }

    .mx_CreateRoomDialog .mx_Field {
        margin: 0;
    }

    .mx_CreateRoomDialog form {
        gap: var(--cpd-space-4x);
    }

    .mx_CreateRoomDialog p {
        margin: 0 85px 0 0;
        font-size: 0.75rem;
    }

.mx_CreateRoomDialog_labelledCheckbox {
    color: #91a1c0;
    margin-top: var(--cpd-space-6x);
}
}
@layer app-web{

/*
 * Copyright 2026 Element Creations Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_CreateSectionDialog {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

    .mx_CreateSectionDialog.mx_Dialog_fixedWidth {
        /* 576px coming from Figma and remove external padding */
        max-width: calc(576px - var(--cpd-space-20x));
    }

    .mx_CreateSectionDialog .mx_CreateSectionDialog_content {
        min-height: 346px;
    }

    .mx_CreateSectionDialog .mx_CreateSectionDialog_form {
        width: 100%;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_CreateSubspaceDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_CreateSubspaceDialog {
    width: 480px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
}

    .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

        .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content .mx_CreateSubspaceDialog_betaNotice {
            padding: 12px 16px;
            border-radius: 8px;
            background-color: var(--cpd-color-bg-subtle-secondary);
        }

            .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content .mx_CreateSubspaceDialog_betaNotice .mx_BetaCard_betaPill {
                margin-right: 8px;
                vertical-align: middle;
            }

        .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content .mx_JoinRuleDropdown + p {
            color: #91a1c0;
            font-size: 0.75rem;
        }

    .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 20px;
    }

        .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_CreateSubspaceDialog_footer_prompt {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

            .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_CreateSubspaceDialog_footer_prompt > * {
                vertical-align: middle;
            }

        .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_AccessibleButton {
            display: inline-block;
            -ms-flex-item-align: center;
                align-self: center;
        }

        .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_AccessibleButton_kind_primary {
            margin-left: 16px;
            padding: 8px 36px;
        }
}
@layer app-web{

/*
 * Copyright 2025 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */
    .mx_Crypto table {
        margin: var(--cpd-space-4x) 0;
        text-align: left;
        border-spacing: var(--cpd-space-2x) 0;
    }

        .mx_Crypto table thead {
            font: var(--cpd-font-heading-sm-semibold);
        }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeactivateAccountDialog .mx_Dialog_content {
    margin-bottom: 30px;
}

.mx_DeactivateAccountDialog .mx_DeactivateAccountDialog_input_section .mx_Field {
    width: 300px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_DevtoolsDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_DevtoolsDialog_wrapper .mx_Dialog_fixedWidth {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        min-height: 0;
        max-height: 100%;
    }

        .mx_DevtoolsDialog_wrapper .mx_Dialog_fixedWidth .mx_Dialog_buttons button {
            margin-bottom: 0;
        }

    .mx_DevtoolsDialog_wrapper .mx_DevTools_toggleForm {
        gap: var(--cpd-space-2x);
    }

.mx_DevTools_toolHeading {
    color: var(--cpd-color-text-secondary);
    font: var(--cpd-font-heading-sm-semibold);
}

.mx_DevTools_content {
    overflow-y: auto;
}

.mx_DevTools_RoomStateExplorer_query {
    margin-bottom: 10px;
}

.mx_DevTools_button {
    font-family: monospace !important;
    margin-bottom: 8px !important;
}

.mx_DevTools_RoomStateExplorer_button_hasSpaces {
    text-decoration: underline;
}

.mx_DevTools_button.mx_DevTools_RoomStateExplorer_button_emptyString {
    font-style: italic;
}

.mx_DevTools_label_left {
    float: left;
}

.mx_DevTools_label_right {
    float: right;
}

.mx_DevTools_label_bottom {
    clear: both;
    border-bottom: 1px solid #e5e5e5;
}

.mx_DevTools_inputRow {
    display: table-row;
}

.mx_DevTools_inputLabelCell {
    display: table-cell;
    font-weight: bold;
    padding-right: 24px;
}

.mx_DevTools_textarea {
    font-size: 0.75rem;
    max-width: 684px;
    min-height: 250px;
    padding: 10px;
}

.mx_DevTools_eventTypeStateKeyGroup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.mx_DevTools_content .mx_Field_input:first-of-type {
    margin-right: 42px;
}

.mx_DevTools_VerificationRequest {
    border: 1px solid #cccccc;
    border-radius: 3px;
    padding: 1px 5px;
    margin-bottom: 6px;
    font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji";
    font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji";
}

    .mx_DevTools_VerificationRequest dl {
        display: grid;
        grid-template-columns: -webkit-max-content auto;
        grid-template-columns: max-content auto;
        margin: 0;
    }

    .mx_DevTools_VerificationRequest dd {
        grid-column-start: 2;
    }

    .mx_DevTools_VerificationRequest dd:empty {
        color: #666666;
    }
        .mx_DevTools_VerificationRequest dd:empty::after {
            content: "(empty)";
        }

    .mx_DevTools_VerificationRequest dt {
        font-weight: bold;
        grid-column-start: 1;
    }

    .mx_DevTools_VerificationRequest dt::after {
        content: ":";
    }
    .mx_DevTools_SettingsExplorer table {
        width: 100%;
        table-layout: fixed;
        border-collapse: collapse;
    }

        .mx_DevTools_SettingsExplorer table th {
            /* Colour choice: first one autocomplete gave me. */
            border-bottom: 1px solid #2e80de;
            border-bottom: 1px solid var(--cpd-color-text-action-accent);
            text-align: left;
        }

        .mx_DevTools_SettingsExplorer table td,
        .mx_DevTools_SettingsExplorer table th {
            width: 360px; /* "feels right" number */

            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
        }

        .mx_DevTools_SettingsExplorer table td + td,
        .mx_DevTools_SettingsExplorer table th + th {
            width: auto;
        }

        .mx_DevTools_SettingsExplorer table tr:hover {
            /* Colour choice: first one autocomplete gave me. */
            background-color: #2e80de;
            background-color: var(--cpd-color-text-action-accent);
        }

    .mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_mutable {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
    }

    .mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_immutable {
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }

    .mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_edit {
        float: right;
        margin-right: 16px;
    }

    .mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_warning {
        border: 2px solid #e0454b;
        border: 2px solid var(--cpd-color-text-critical-primary);
        border-radius: 4px;
        padding: 4px;
        margin-bottom: 8px;
    }

.mx_DevTools_SettingsExplorer_setting {
    /* override default link button color */
    /* as it is the same as the background highlight */
    /* used on focus */
    color: var(--cpd-color-text-link-external) !important;
}
    .mx_DevTools_sticky_explorer table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
        margin-top: var(--cpd-space-3x);
    }

        .mx_DevTools_sticky_explorer table th {
            text-align: left;
            padding: var(--cpd-space-2x) var(--cpd-space-3x);
        }

        .mx_DevTools_sticky_explorer table th#user_header {
            width: 35%;
        }
        .mx_DevTools_sticky_explorer table th#sticky_key_header {
            width: 50%;
        }
        .mx_DevTools_sticky_explorer table th#expires_in_header {
            width: 15%;
        }

        .mx_DevTools_sticky_explorer table tr {
            cursor: pointer;
            border-bottom: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-primary);
            background: transparent;
        }

        .mx_DevTools_sticky_explorer table tr:hover {
            color: var(--cpd-color-text-secondary);
            background: var(--cpd-color-bg-action-secondary-hovered);
        }

        .mx_DevTools_sticky_explorer table tr:focus-visible {
            outline: var(--cpd-border-width-2) solid var(--cpd-color-border-focused);
        }

        .mx_DevTools_sticky_explorer table td {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            padding: var(--cpd-space-2x) var(--cpd-space-3x);
        }

        .mx_DevTools_sticky_explorer table td.remaining_time_column {
            text-align: right;
        }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ExportDialog .mx_ExportDialog_subheading {
        font-size: 1rem;
        display: block;
        font-family: "Inter", "", "Apple Color Emoji", "Segoe UI Emoji", "Arial", "Helvetica", sans-serif,
    "Noto Color Emoji";
        font-family: "Inter", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Arial", "Helvetica", sans-serif,
    "Noto Color Emoji";
        font-weight: var(--cpd-font-weight-semibold);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin-top: 18px;
        margin-bottom: 12px;
    }
        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_ExportDialog_options {
            pointer-events: none;
        }

        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_select::before {
            display: none;
        }

        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_StyledRadioButton input[type="radio"]:checked + div > div {
            background: var(--cpd-color-gray-900);
        }

        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_StyledRadioButton input[type="radio"]:checked + div {
            border-color: currentcolor;
            border-color: initial;
        }

        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field label,
        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field:focus-within label {
            color: inherit;
        }

        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field,
        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field:focus-within {
            border-color: rgba(231, 231, 231, 0.2);
        }
        .mx_ExportDialog .mx_ExportDialog_progress .mx_Dialog_buttons {
            margin-top: 0;
            margin-top: initial;
            margin-left: 18px;
        }

        .mx_ExportDialog .mx_ExportDialog_progress .mx_Spinner {
            width: auto;
            width: initial;
            height: auto;
            height: initial;
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            margin-right: 10px;
        }

        .mx_ExportDialog .mx_ExportDialog_progress{

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
}

    .mx_ExportDialog .mx_StyledRadioButton > .mx_StyledRadioButton_content {
        margin-top: 5px;
        margin-bottom: 5px;
    }

    .mx_ExportDialog .mx_Field {
        width: 256px;
    }

    .mx_ExportDialog .mx_Field_postfix {
        padding: 9px 10px;
    }

.mx_ExportDialog_attachments-checkbox {
    margin-top: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_FeedbackDialog hr {
        margin: 24px 0;
        border-color: rgba(231, 231, 231, 0.2);
    }

    .mx_FeedbackDialog .mx_Dialog_content {
        margin-bottom: 24px;
    }

        .mx_FeedbackDialog .mx_Dialog_content > h2 {
            margin-bottom: 32px;
        }

    .mx_FeedbackDialog .mx_FeedbackDialog_section {
        position: relative;
        padding: 12px 52px 12px 68px;
        border-radius: 8px;
        border: 1px solid var(--cpd-color-gray-400);
    }

        .mx_FeedbackDialog .mx_FeedbackDialog_section + .mx_FeedbackDialog_section {
            margin-top: 16px;
        }

        .mx_FeedbackDialog .mx_FeedbackDialog_section > h3 {
            margin-top: 0;
            margin-bottom: 8px;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.125rem;
            line-height: 1.375rem;
        }

        .mx_FeedbackDialog .mx_FeedbackDialog_section > p {
            color: var(--cpd-color-text-secondary);
            font-size: 0.9375rem;
            line-height: 1.5rem;
            margin: 8px 0 0;
        }

        .mx_FeedbackDialog .mx_FeedbackDialog_section .mx_FeedbackDialog_section_microcopy {
            font-size: 0.75rem;
            line-height: 0.9375rem;
        }

        .mx_FeedbackDialog .mx_FeedbackDialog_section a,
        .mx_FeedbackDialog .mx_FeedbackDialog_section .mx_AccessibleButton_kind_link {
            text-decoration: underline;
        }

        .mx_FeedbackDialog .mx_FeedbackDialog_section > svg {
            position: absolute;
            left: 16px;
            top: 12px;
            padding: var(--cpd-space-2x);
            width: 24px;
            height: 24px;
            background-color: var(--cpd-color-icon-tertiary);
            color: var(--cpd-color-bg-canvas-default);
            border-radius: 8px;
        }
        .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
            font-size: 20px;
            -webkit-transition:
                font-size 1s,
                border 0.5s;
            transition:
                font-size 1s,
                border 0.5s;
            border-radius: 50%;
            border: 2px solid transparent;
            margin-top: 12px;
            margin-bottom: 24px;
            vertical-align: top;
            cursor: pointer;
        }

            .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton input[type="radio"] + div {
                display: none;
            }

            .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton .mx_StyledRadioButton_content {
                background: var(--cpd-color-icon-tertiary);
                width: 40px;
                height: 40px;
                text-align: center;
                line-height: 40px;
                border-radius: 20px;
                margin: 5px;
            }

            .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton .mx_StyledRadioButton_spacer {
                display: none;
            }

            .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton + .mx_StyledRadioButton {
                margin-left: 16px;
            }

        .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton_checked {
            font-size: 24px;
            border-color: #2e80de;
            border-color: var(--cpd-color-bg-action-primary-rest);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Robin Townsend <robin@robin.town>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ForwardDialog {
    width: 520px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
    height: 80vh;
}

    .mx_ForwardDialog > h3 {
        margin: 0 0 6px;
        color: var(--cpd-color-text-secondary);
        font-size: 0.75rem;
        font-weight: var(--cpd-font-weight-semibold);
        line-height: 0.9375rem;
    }

    .mx_ForwardDialog > .mx_ForwardDialog_preview {
        max-height: 30%;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        overflow-y: auto;

        /* When forwarding messages from encrypted rooms, EventTile will complain */
        /* that our preview is unencrypted, which doesn't actually matter */
        /* We also hide download links to not encourage users to try interacting */
    }

        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_EventTile[data-layout="bubble"] {
            margin-top: 20px;
        }

        .mx_ForwardDialog > .mx_ForwardDialog_preview div {
            pointer-events: none;
        }
        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_EventTile_msgOption,
        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_EventTile_e2eIcon,
        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_MFileBody [data-type="download"] {
            display: none;
        }

    .mx_ForwardDialog > hr {
        width: 100%;
        border: none;
        border-top: 1px solid rgba(231, 231, 231, 0.2);
        margin: 12px 0;
    }

    .mx_ForwardDialog > .mx_ForwardList {
        display: contents;
    }

        .mx_ForwardDialog > .mx_ForwardList .mx_SearchBox {
            /* To match the space around the title */
            margin: 0 0 15px 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
        }

            .mx_ForwardDialog > .mx_ForwardList .mx_SearchBox:not(:focus-within) + .mx_ForwardList_content {
                /* Inhibit the styling if focus is not within the input which handles keyboard accessibility */
                --mx_ForwardList_entry_selectedBgColor: transparent;
            }

        .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_content {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }

        .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_noResults {
            display: block;
            margin-top: 24px;
        }
            .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results:not(:first-child) {
                margin-top: 24px;
            }

            .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_resultsList {
                padding-right: 8px;
            }

            .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: justify;
                    -ms-flex-pack: justify;
                        justify-content: space-between;
                height: 32px;
                padding: 6px;
                border-radius: 8px;
            }

                .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry:hover,
                .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry.mx_ForwardList_entry_active {
                    background-color: rgba(38, 39, 43, 0.82);
                    background-color: var(--mx_ForwardList_entry_selectedBgColor, rgba(38, 39, 43, 0.82));
                }

                .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    margin-right: 12px;
                    min-width: 0;
                }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_DecoratedRoomAvatar {
                        margin-right: 12px;
                    }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_name,
                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_detail {
                        line-height: 30px;
                        overflow: hidden;
                        white-space: nowrap;
                        text-overflow: ellipsis;
                    }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_name {
                        font-size: 0.9375rem;
                    }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_detail {
                        font-size: 0.75rem;
                        margin-left: 8px;
                        color: var(--cpd-color-gray-800);
                    }

                .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton {
                    position: relative;
                    margin-left: 12px;
                }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton:not(.mx_ForwardList_canSend) .mx_ForwardList_sendLabel {
                        /* Hide the "Send" label while preserving button size */
                        visibility: hidden;
                    }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton > svg {
                        position: absolute;
                        width: 14px;
                        height: 14px;
                        color: #2e80de;
                        color: var(--cpd-color-text-action-accent);
                    }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton .mx_NotificationBadge {
                        /* Match the failed to send indicator's color with the disabled button */
                        background-color: #ffffff;
                        background-color: var(--cpd-color-text-primary);
                    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_GenericFeatureFeedbackDialog .mx_GenericFeatureFeedbackDialog_subheading {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font: var(--cpd-font-body-md-regular);
        line-height: 1.25rem;
        margin-bottom: 24px;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_IncomingSasDialog_opponentProfile_image {
    position: relative;
}

.mx_IncomingSasDialog_opponentProfile h2 {
    display: inline-block;
    margin-left: 10px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InviteDialog_flexWrapper .mx_Dialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_InviteDialog_transferWrapper .mx_Dialog {
    padding-bottom: 16px;
}

.mx_InviteDialog_addressBar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    /* Right margin for the design. We could apply this to the whole dialog, but then the scrollbar */
    /* for the user section gets weird. */
    margin: 8px 45px 0 0;
}

    .mx_InviteDialog_addressBar .mx_InviteDialog_editor {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin-left: var(--cpd-space-0-5x);
    }

    .mx_InviteDialog_addressBar .mx_InviteDialog_goButton {
        min-width: 86px;
        -webkit-margin-start: 10px;
                margin-inline-start: 10px;
        height: 41px;
        line-height: 1.5625rem;
    }

.mx_InviteDialog_section {
    padding-bottom: 4px;
}

    .mx_InviteDialog_section .mx_InviteDialog_section_showMore {
        margin: 7px 18px;
        display: block;
    }

.mx_InviteDialog_section_hidden_suggestions_disclaimer {
    padding: 8px 0 16px 0;
    font: var(--cpd-font-body-md-regular);
}

    .mx_InviteDialog_section_hidden_suggestions_disclaimer > span {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_InviteDialog_section_hidden_suggestions_disclaimer > p {
        margin: 0;
    }

.mx_InviteDialog_footer {
    border-top: 1px solid rgba(231, 231, 231, 0.2);
}

    .mx_InviteDialog_footer > h3 {
        margin: 12px 0;
        font-size: 0.75rem;
        color: #91a1c0;
        font-weight: bold;
        text-transform: uppercase;
    }

    .mx_InviteDialog_footer .mx_CopyableText.mx_CopyableText_border {
        width: auto;
        width: initial; /* full width */
        margin-bottom: 0;
    }

        .mx_InviteDialog_footer .mx_CopyableText.mx_CopyableText_border > a {
            text-decoration: none;
            -ms-flex-negative: 1;
                flex-shrink: 1;
            overflow: hidden;
            text-overflow: ellipsis;
        }

.mx_InviteDialog_other {
    /* Prevent the dialog from jumping around randomly when elements change. */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 600px;
    overflow: hidden;
}

    .mx_InviteDialog_other h2 {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: pre-wrap;
        overflow: hidden;
    }

    .mx_InviteDialog_other .mx_InviteDialog_addressBar {
        -webkit-margin-end: 0;
                margin-inline-end: 0;
    }

    .mx_InviteDialog_other .mx_InviteDialog_userSections {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-padding-end: 0;
                padding-inline-end: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: var(--cpd-space-3x);
        gap: var(--cpd-space-3x);
    }

        .mx_InviteDialog_other .mx_InviteDialog_userSections .mx_InviteDialog_section {
            padding-bottom: 0;
        }

.mx_InviteDialog_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    overflow: hidden;
}

    .mx_InviteDialog_content .mx_InviteProgressBody {
        margin-top: var(--cpd-space-12x);
    }

.mx_InviteDialog_transfer {
    width: auto;
}

    .mx_InviteDialog_transfer .mx_InviteDialog_content {
        width: 496px;
        height: 430px;
        overflow: visible;
    }

        .mx_InviteDialog_transfer .mx_InviteDialog_content .mx_TabbedView {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -ms-flex-negative: 1;
                flex-shrink: 1;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            min-height: 0;
        }

            .mx_InviteDialog_transfer .mx_InviteDialog_content .mx_TabbedView .mx_TabbedView_tabPanel {
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
            }

                .mx_InviteDialog_transfer .mx_InviteDialog_content .mx_TabbedView .mx_TabbedView_tabPanel .mx_TabbedView_tabPanelContent {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-orient: vertical;
                    -webkit-box-direction: normal;
                        -ms-flex-direction: column;
                            flex-direction: column;
                }

    .mx_InviteDialog_transfer .mx_InviteDialog_addressBar {
        margin-top: 8px;
    }

    .mx_InviteDialog_transfer input[type="checkbox"] {
        -webkit-margin-end: 8px;
                margin-inline-end: 8px;
    }

.mx_InviteDialog_userSections {
    overflow-y: auto;
    padding: 0 45px 4px 0;
}

.mx_InviteDialog_helpText {
    margin: 0;
}

.mx_InviteDialog_dialPad {
    width: 224px;
    margin-top: 16px;
    margin-inline: auto;
}

    .mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField {
        border-top: 0;
        border-inline: 0;
        border-radius: 0;
        margin-top: 0;
        border-color: var(--cpd-color-gray-600);
    }

        .mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField:focus-within {
            border-color: #2e80de;
            border-color: var(--cpd-color-text-action-accent);
        }

        .mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField input {
            font-size: 18px;
            font-weight: var(--cpd-font-weight-semibold);
            padding-top: 0;
        }

        .mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField .mx_Field_postfix {
            /* Remove border separator between postfix and field content */
            border-left: none;
        }

    .mx_InviteDialog_dialPad .mx_DialPad {
        row-gap: 16px;
        -webkit-column-gap: 48px;
           -moz-column-gap: 48px;
                column-gap: 48px;
        margin-inline: auto;
    }

.mx_InviteDialog_transferConsultConnect {
    padding-top: 16px;
    /* This wants a drop shadow the full width of the dialog, so use negative margin to make it full width,
     * then compensate with padding
     */
    padding-inline: 24px;
    margin-inline: calc(-1 * 24px);
    border-top: 1px solid var(--cpd-color-gray-400);

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_InviteDialog_transferConsultConnect_pushRight {
    -webkit-margin-start: auto;
            margin-inline-start: auto;
}

.mx_InviteDialog_tile {
    cursor: pointer;
    display: grid;
    grid-gap: 8px 12px;
    gap: 8px 12px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_InviteDialog_tile.mx_InviteDialog_tile--inviterError {
        grid-template-columns: -webkit-max-content auto;
        grid-template-columns: max-content auto; /* max-content = avatar width */
        margin-bottom: 24px;
    }

        .mx_InviteDialog_tile.mx_InviteDialog_tile--inviterError:last-child {
            margin-bottom: 0;
        }

        .mx_InviteDialog_tile.mx_InviteDialog_tile--inviterError .mx_InviteDialog_tile--inviterError_errorText {
            grid-row-start: 2;
            grid-column-start: 2;

            font-size: 0.9375rem;
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
        }

    .mx_InviteDialog_tile * {
        vertical-align: middle;
    }

    .mx_InviteDialog_tile .mx_InviteDialog_tile_avatarStack {
        width: 36px;
        height: 36px;
        display: inline-block;
        position: relative;
        grid-row-start: 1;
        grid-column-start: 1;
    }

        .mx_InviteDialog_tile .mx_InviteDialog_tile_avatarStack > * {
            position: absolute;
            top: 0;
            left: 0;
        }

    .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack {
        grid-row-start: 1;
        grid-column-start: 2;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
        align-self: center;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        gap: 2px 0;
        overflow: hidden;
    }

        .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_name,
        .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_userId {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            max-width: 100%;
        }

        .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_name {
            font-size: 0.9375rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

        .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_userId {
            font-size: 0.75rem;
            color: #91a1c0;
        }
    .mx_InviteDialog_multiInviterError > h4 {
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--cpd-color-text-secondary);
        font-weight: normal;
    }

.mx_InviteDialog_identityServer {
    margin-top: 1em;
}

.mx_InviteDialog_oneThreepid {
    font-size: 0.75rem;
    margin: 8px 0;
}
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InviteProgressBody {
    text-align: center;
    font: var(--cpd-font-body-lg-regular);
}

    .mx_InviteProgressBody h1 {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font: var(--cpd-font-heading-sm-semibold);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_JoinRuleDropdown {
    margin-bottom: 8px;
    font: var(--cpd-font-body-md-regular);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

    .mx_JoinRuleDropdown .mx_Dropdown_option {
        font: var(--cpd-font-body-md-regular);
        line-height: 2rem;
        height: 32px;
        min-height: 32px;
    }

        .mx_JoinRuleDropdown .mx_Dropdown_option > div {
            padding-left: var(--cpd-space-1-5x);
        }

            .mx_JoinRuleDropdown .mx_Dropdown_option > div svg {
                width: 16px;
                height: 16px;
                color: var(--cpd-color-text-secondary);
                vertical-align: -2px;
                margin-right: var(--cpd-space-1-5x);
            }

            .mx_JoinRuleDropdown .mx_Dropdown_option > div.mx_JoinRuleDropdown_knock::before {
                content: normal;
            }

    .mx_JoinRuleDropdown .mx_JoinRuleDropdown_icon {
        color: var(--cpd-color-text-secondary);
        position: absolute;
        left: 6px;
        top: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_LeaveSpaceDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 24px 32px;
    }

        .mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog {
            width: 440px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
            height: 520px;
        }

            .mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content {
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                margin: 0;
                overflow-y: auto;
            }

                .mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content .mx_LeaveSpaceDialog_section_warning {
                    border-radius: 8px;
                    margin: 12px 0 0;
                    padding: 12px 8px;
                    background-color: var(--cpd-color-bg-subtle-secondary);

                    font-size: 0.75rem;
                    line-height: 0.9375rem;
                    color: var(--cpd-color-text-secondary);
                }

                    .mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content .mx_LeaveSpaceDialog_section_warning svg {
                        height: 16px;
                        width: 16px;
                        color: var(--cpd-color-text-secondary);
                        vertical-align: middle;
                        margin: 0 var(--cpd-space-1x);
                    }

                .mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content > p {
                    color: #ffffff;
                    color: var(--cpd-color-text-primary);
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LocationViewDialog_wrapper .mx_Dialog {
    padding: 0px;
}

.mx_LocationViewDialog {
    /* subtract 0.5px to prevent single-pixel margin due to rounding */
    width: calc(80vw - 0.5px);
    height: calc(80vh - 0.5px);
    overflow: hidden;
}

    .mx_LocationViewDialog .mx_Dialog_header {
        margin: 0px;
        padding: 0px;
        position: static;
        position: initial;
    }

        .mx_LocationViewDialog .mx_Dialog_header .mx_Dialog_title {
            display: none;
        }

    .mx_LocationViewDialog .mx_Dialog_cancelButton {
        z-index: 4010;
        position: absolute;
        left: var(--cpd-space-4x);
        top: var(--cpd-space-4x);
    }

.mx_LocationViewDialog_map {
    width: 80vw;
    height: 80vh;
    border-radius: 8px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Manan Sadana <manancodes.dev@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LogoutDialog {
    width: 26rem;
}

    .mx_LogoutDialog .mx_EncryptionCard {
        gap: 0;
    }
        .mx_LogoutDialog .mx_EncryptionCard h2 {
            text-align: center;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }
        .mx_LogoutDialog .mx_EncryptionCard .mx_EncryptionCard_emphasisedContent {
            text-align: center;
            margin-top: var(--cpd-space-2x);
            margin-bottom: var(--cpd-space-12x);
        }
            .mx_LogoutDialog .mx_EncryptionCard .mx_EncryptionCard_emphasisedContent p {
                margin: 0;
            }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ManageRestrictedJoinRuleDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_ManageRestrictedJoinRuleDialog {
    width: 480px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
    height: 60vh;
}

    .mx_ManageRestrictedJoinRuleDialog .mx_SearchBox {
        /* To match the space around the title */
        margin: 0 0 15px 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
    }

    .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

    .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_noResults {
        display: block;
        margin-top: 24px;
    }
        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section:not(:first-child) {
            margin-top: 24px;
        }

        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section > h3 {
            margin: 0;
            color: var(--cpd-color-text-secondary);
            font-size: 0.75rem;
            font-weight: var(--cpd-font-weight-semibold);
            line-height: 0.9375rem;
        }

        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            margin-top: 12px;
        }

            .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry > div {
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
            }

            .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry .mx_ManageRestrictedJoinRuleDialog_entry_name {
                margin: 0 8px;
                font-size: 0.9375rem;
                line-height: 30px;
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
            }

            .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry .mx_ManageRestrictedJoinRuleDialog_entry_description {
                margin-top: 8px;
                font-size: 0.75rem;
                line-height: 0.9375rem;
                color: var(--cpd-color-gray-800);
            }
        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section_spaces .mx_BaseAvatar {
            margin-right: 12px;
        }

    .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section_info {
        position: relative;
        border-radius: 8px;
        margin: 12px 0;
        padding: 8px;
        background-color: var(--cpd-color-bg-subtle-secondary);

        font-size: 0.75rem;
        line-height: 0.9375rem;
        color: var(--cpd-color-text-secondary);
    }

        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section_info svg {
            height: 16px;
            width: 16px;
            color: var(--cpd-color-text-secondary);
            vertical-align: middle;
            margin: 0 var(--cpd-space-1x);
        }

    .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer {
        margin-top: 20px;
    }

        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer .mx_ManageRestrictedJoinRuleDialog_footer_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content;
            margin-left: auto;
        }

            .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer .mx_ManageRestrictedJoinRuleDialog_footer_buttons .mx_AccessibleButton {
                display: inline-block;
            }

                .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer .mx_ManageRestrictedJoinRuleDialog_footer_buttons .mx_AccessibleButton + .mx_AccessibleButton {
                    margin-left: 24px;
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageEditHistoryDialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 60vh;
}

.mx_MessageEditHistoryDialog_scrollPanel {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
}

.mx_MessageEditHistoryDialog_error {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    text-align: center;
}

.mx_MessageEditHistoryDialog_edits {
    list-style-type: none;
    font: var(--cpd-font-body-md-regular);
    padding: 0;
    color: #ffffff;
    color: var(--cpd-color-text-primary);

    /* Emulate mx_EventTile[data-layout="group"] */
}

    .mx_MessageEditHistoryDialog_edits .mx_EditHistoryMessage_emoteSender {
        cursor: pointer;
    }

    .mx_MessageEditHistoryDialog_edits span.mx_EditHistoryMessage_deletion,
    .mx_MessageEditHistoryDialog_edits span.mx_EditHistoryMessage_insertion {
        padding: 0px 2px;
    }

    .mx_MessageEditHistoryDialog_edits .mx_EditHistoryMessage_deletion {
        color: rgb(255, 76, 85);
        background-color: rgb(255, 76, 85, 0.1);
        text-decoration: line-through;
    }

    .mx_MessageEditHistoryDialog_edits .mx_EditHistoryMessage_insertion {
        color: rgb(26, 169, 123);
        background-color: rgb(26, 169, 123, 0.1);
        text-decoration: underline;
    }
    .mx_MessageEditHistoryDialog_edits .mx_EventTile {
        padding-top: 0;
    }

        .mx_MessageEditHistoryDialog_edits .mx_EventTile .mx_MessageTimestamp {
            position: absolute;
            left: 0;
            text-align: center;
        }

        .mx_MessageEditHistoryDialog_edits .mx_EventTile .mx_EventTile_line {
            padding-top: var(--EventTile_group_line-spacing-block-start);
            padding-bottom: var(--EventTile_group_line-spacing-block-end);
            padding-left: var(--EventTile_group_line-spacing-inline-start);
            line-height: var(--EventTile_group_line-line-height);
        }

            .mx_MessageEditHistoryDialog_edits .mx_EventTile .mx_EventTile_line .mx_EventTile_content {
                margin-right: 0px;
            }
        .mx_MessageEditHistoryDialog_edits .mx_EventTile::before {
            content: "";
            position: absolute;
            top: -1px;
            bottom: -1px;
            left: -10px;
            right: -10px;
            z-index: -1;
            border-radius: 4px;
        }
            .mx_MessageEditHistoryDialog_edits .mx_EventTile:hover::before {
                background: var(--cpd-color-bg-subtle-secondary);
            }

    .mx_MessageEditHistoryDialog_edits .mx_HistoryActionBar {
        border-radius: 0 !important;
    }

    .mx_MessageEditHistoryDialog_edits .mx_HistoryActionBar [data-presentation="label"] {
        line-height: 24px !important;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ModalWidgetDialog .mx_ModalWidgetDialog_warning {
        margin-bottom: 24px;
    }

        .mx_ModalWidgetDialog .mx_ModalWidgetDialog_warning > img {
            vertical-align: middle;
            margin-right: 8px;
        }

    .mx_ModalWidgetDialog .mx_ModalWidgetDialog_buttons {
        float: right;
        margin-top: 24px;
    }

        .mx_ModalWidgetDialog .mx_ModalWidgetDialog_buttons .mx_AccessibleButton + .mx_AccessibleButton {
            margin-left: 8px;
        }

    .mx_ModalWidgetDialog iframe {
        width: 100%;
        height: 450px;
        border: 0;
        border-radius: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_PollCreateDialog .mx_PollCreateDialog_busy {
        position: absolute;
        inset: 0;
        background-color: var(--cpd-color-alpha-gray-1300);
        z-index: 1;
    }

    .mx_PollCreateDialog h2 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        margin-top: 0;
        margin-bottom: 8px;
    }

        .mx_PollCreateDialog h2:nth-child(n + 2) {
            margin-top: 20px;
        }

    .mx_PollCreateDialog p {
        color: var(--cpd-color-text-secondary);
    }

    .mx_PollCreateDialog .mx_PollCreateDialog_option {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: 11px;
        margin-bottom: 16px; /* 11px from the top will collapse, so this creates a 16px gap between options */
    }

        .mx_PollCreateDialog .mx_PollCreateDialog_option .mx_Field {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            margin: 0;
        }

        .mx_PollCreateDialog .mx_PollCreateDialog_option .mx_PollCreateDialog_removeOption {
            margin-left: 12px;
            width: 16px;
            height: 16px;
            padding: var(--cpd-space-0-5x);
            border-radius: 50%;
            background-color: var(--cpd-color-gray-400);
            cursor: pointer;
        }

            .mx_PollCreateDialog .mx_PollCreateDialog_option .mx_PollCreateDialog_removeOption svg {
                width: inherit;
                height: inherit;
                color: var(--cpd-color-text-secondary);
            }

    .mx_PollCreateDialog .mx_PollCreateDialog_addOption {
        padding: 0;
        margin-bottom: 40px; /* arbitrary to create scrollable area under the poll */
    }

    .mx_PollCreateDialog .mx_AccessibleButton_disabled {
        opacity: 0.4;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RegistrationEmailPromptDialog {
    width: 417px;
}

    .mx_RegistrationEmailPromptDialog .mx_Dialog_content {
        margin-bottom: 24px;
        color: var(--cpd-color-gray-800);
    }

    .mx_RegistrationEmailPromptDialog .mx_Dialog_primary {
        width: 100%;
    }
}
@layer app-web{

/*
 * Copyright 2026 Element Creations Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_RemoveSectionDialog {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReportRoomDialog,
.mx_DeclineAndBlockInviteDialog {

    /*
      Workaround to fix labels appearing with the wrong color.

      .mx_Dialog (in res/css/_common.pcss) redefines the body color
      as $light-fg-color rather than the standard primary color.

      This forces the colour to match the Compound style, but
      in the future the Dialogs should not force a color.
    */
}
    .mx_ReportRoomDialog textarea, .mx_DeclineAndBlockInviteDialog textarea {
        font: var(--cpd-font-body-md-regular);
        border: 1px solid var(--cpd-color-border-interactive-primary);
        background: var(--cpd-color-bg-canvas-default);
        border-radius: 0.5rem;
        padding: var(--cpd-space-3x) var(--cpd-space-4x);
    }
    .mx_ReportRoomDialog form label, .mx_DeclineAndBlockInviteDialog form label {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }
    .mx_DeclineAndBlockInviteDialog div[aria-disabled="true"] > label {
        color: var(--cpd-color-text-secondary);
    }

    .mx_DeclineAndBlockInviteDialog .mx_SettingsFlag_label {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font-weight: var(--cpd-font-weight-semibold);
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSettingsDialog .mx_Dialog_title {
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    margin: 0 auto;
    padding-right: 80px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSettingsDialog_BridgeList {
    padding: 0;
}

    .mx_RoomSettingsDialog_BridgeList li {
        list-style-type: none;
    }

        .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            gap: 8px;
            padding: 5px;
            margin-bottom: 8px;

            /* border-style around each bridge list item */
            border-width: 1px 1px;
            border-color: transparent;
            border-style: solid;
            border-radius: 5px;
        }
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon span,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_noProtocolIcon {
                    -webkit-box-sizing: border-box;
                            box-sizing: border-box;
                    border-radius: 5px;
                    border: 1px solid #181b21;
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_noProtocolIcon,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon img {
                    border-radius: 5px;
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_noProtocolIcon {
                    width: 48px;
                    height: 48px;
                    background: #181b21;
                }
                    .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon img {
                        border-width: 1px 1px;
                        border-color: transparent;
                    }

                    .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon span {
                        /* Correct letter placement */
                        left: auto;
                    }

            .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data {
                display: inline-block;
                width: 85%;
            }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_details,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata li,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_protocolName {
                    margin-bottom: 0;
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_details,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata {
                    margin-top: 4px;
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata li {
                    margin-top: 8px;
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_protocolName {
                    margin-top: 0;
                    font-size: 16pt;
                    color: #ffffff;
                    color: var(--cpd-color-text-primary);
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_workspace_channel_details {
                    color: #ffffff;
                    color: var(--cpd-color-text-primary);
                    font-weight: var(--cpd-font-weight-semibold);
                }

                    .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_workspace_channel_details .mx_RoomSettingsDialog_channel {
                        -webkit-margin-start: 5px;
                                margin-inline-start: 5px;
                    }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_metadata {
                    color: #91a1c0;
                    margin-bottom: 0;
                    overflow-y: visible;
                    text-overflow: ellipsis;
                    white-space: normal;
                    padding: 0;
                }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomUpgradeDialog {
    padding-right: 70px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomUpgradeWarningDialog {
    max-width: 38vw;
    width: 38vw;
}
        .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar {
            height: 8px;
            width: 100%;

            border-radius: 8px;
        }

            .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar::-moz-progress-bar {
        border-radius: 8px;
    }

            .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar::-webkit-progress-bar,
    .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar::-webkit-progress-value {
        border-radius: 8px;
    }

        .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_RoomUpgradeWarningDialog_progressText {
            margin-top: 8px;
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

.mx_RoomUpgradeWarningDialog .mx_SettingsFlag {
    font-weight: 700;
}

    .mx_RoomUpgradeWarningDialog .mx_SettingsFlag .mx_ToggleSwitch {
        display: inline-block;
        vertical-align: middle;
        margin-left: 8px;
        float: right;
    }

    .mx_RoomUpgradeWarningDialog .mx_SettingsFlag .mx_SettingsFlag_label {
        display: inline-block;
        vertical-align: middle;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content {
        padding-right: 85px;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

        .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content hr {
            border-color: #ffffff;
            border-color: var(--cpd-color-text-primary);
            opacity: 0.1;
            border-bottom: none;
        }

        .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content ul {
            padding: 16px;
        }

            .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content ul li:nth-child(n + 2) {
                margin-top: 16px;
            }
            .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timestamp {
                display: inline-block;
                width: 115px;
                color: #91a1c0;
                line-height: 24px; /* same as avatar */
                vertical-align: top;
            }

            .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline {
                display: inline-block;
                width: calc(100% - 155px); /* 115px timestamp width + 40px right margin */
            }
                    .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_timeline_header span {
                        margin-left: 8px;
                        vertical-align: middle;
                    }

                .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_txn {
                    position: relative;
                    margin-top: 8px;
                }

                    .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_txn .mx_ServerOfflineDialog_content_context_txn_desc {
                        width: calc(100% - 100px); /* 100px is an arbitrary margin for the button */
                    }

                    .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_txn .mx_AccessibleButton {
                        float: right;
                    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ServerPickerDialog {
    width: 468px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

    .mx_ServerPickerDialog .mx_Dialog_content {
        margin-bottom: 0;
    }

        .mx_ServerPickerDialog .mx_Dialog_content > p {
            color: var(--cpd-color-text-secondary);
            font: var(--cpd-font-body-md-regular);

            margin: 16px 0;
        }

            .mx_ServerPickerDialog .mx_Dialog_content > p:first-of-type {
                margin-bottom: 40px;
            }

            .mx_ServerPickerDialog .mx_Dialog_content > p:last-of-type {
                margin: 0 24px 24px;
            }

        .mx_ServerPickerDialog .mx_Dialog_content > h2 {
            font-size: 0.9375rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: var(--cpd-color-text-secondary);
            margin: 16px 0 16px 8px;
        }

        .mx_ServerPickerDialog .mx_Dialog_content > a {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
            margin-left: 8px;
        }
        .mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserverRadio input[type="radio"] + div {
            margin-top: auto;
            margin-bottom: auto;
        }

    .mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserver {
        border-top: none;
        border-left: none;
        border-right: none;
        border-radius: 0;
        border-radius: initial;
    }

        .mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserver > input {
            padding-left: 0;
        }

        .mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserver > label {
            margin-left: 0;
        }

    .mx_ServerPickerDialog .mx_AccessibleButton_kind_primary {
        width: calc(100% - 26px);
        margin: 0 8px;
        padding: 15px 18px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SetEmailDialog_email_input {
    border-radius: 3px;
    border: 1px solid rgba(231, 231, 231, 0.2);
    padding: 9px;
    color: rgba(74, 74, 74, 0.9);
    background-color: var(--cpd-color-bg-canvas-default);
    font-size: 0.9375rem;
    width: 100%;
    max-width: 280px;
    margin-bottom: 10px;
}

.mx_SetEmailDialog_email_input:focus {
    outline: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: 1px solid #2e80de;
    border: 1px solid var(--cpd-color-text-action-accent);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Not actually a component but things shared by settings components */
.mx_UserSettingsDialog,
.mx_RoomSettingsDialog,
.mx_SpaceSettingsDialog,
.mx_SpacePreferencesDialog {
    width: 90vw;
    max-width: 980px;
    /* set the height too since tabbed view scrolls itself. */
    height: 80vh;
}

    .mx_UserSettingsDialog .mx_TabbedView, .mx_RoomSettingsDialog .mx_TabbedView, .mx_SpaceSettingsDialog .mx_TabbedView, .mx_SpacePreferencesDialog .mx_TabbedView {
        top: 90px;
    }

    .mx_UserSettingsDialog .mx_TabbedView .mx_SettingsTab, .mx_RoomSettingsDialog .mx_TabbedView .mx_SettingsTab, .mx_SpaceSettingsDialog .mx_TabbedView .mx_SettingsTab, .mx_SpacePreferencesDialog .mx_TabbedView .mx_SettingsTab {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        min-width: 580px;
        padding-right: 100px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        /* Put some padding on the bottom to avoid the settings tab from */
        /* colliding harshly with the dialog when scrolled down. */
        padding-bottom: 100px;
    }

    .mx_UserSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_RoomSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_SpaceSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_SpacePreferencesDialog .mx_SettingsDialog_tabLabelsAlert::after {
        display: inline-block;
        content: "";
        width: 8px;
        height: 8px;
        background-color: var(--cpd-color-icon-critical-primary);
        clip-path: circle(4px);
        position: absolute;
        right: var(--cpd-space-4x);
    }

/* On narrow viewports, the tab labels are hidden, so we need to shift the indicator so it isn't over the tab icon. */
@media (max-width: 1024px) {
        .mx_UserSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_RoomSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_SpaceSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_SpacePreferencesDialog .mx_SettingsDialog_tabLabelsAlert::after {
            right: var(--cpd-space-1x);
            top: var(--cpd-space-1x);
        }
}
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareDialog {
    /* Value from figma design */
    width: 416px;
}

    .mx_ShareDialog .mx_Dialog_header {
        text-align: center;
        margin-bottom: var(--cpd-space-6x);
        /* Override dialog header padding to able to center it */
        -webkit-padding-end: 0;
                padding-inline-end: 0;
    }

    .mx_ShareDialog .mx_ShareDialog_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-6x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_top {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: var(--cpd-space-4x);
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            width: 100%;
        }

            .mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_top span {
                text-align: center;
                font: var(--cpd-font-body-sm-semibold);
                color: var(--cpd-color-text-secondary);
                text-overflow: ellipsis;
                white-space: nowrap;
                overflow: hidden;
                width: 100%;
            }

        .mx_ShareDialog .mx_ShareDialog_content label {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
            gap: var(--cpd-space-3x);
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            font: var(--cpd-font-body-md-medium);
        }

        .mx_ShareDialog .mx_ShareDialog_content button {
            width: 100%;
        }

        .mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_social {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-3x);
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

            .mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_social a {
                width: 48px;
                height: 48px;
                border-radius: 99px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                border: 1px solid var(--cpd-color-border-interactive-secondary);
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }

                .mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_social a img {
                    width: 24px;
                    height: 24px;
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SlashCommandHelpDialog .mx_SlashCommandHelpDialog_headerRow h2 {
    margin-bottom: 2px;
}

.mx_SlashCommandHelpDialog .mx_Dialog_content {
    margin-top: 12px;
    margin-bottom: 34px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpacePreferencesDialog {
    width: 700px;
    height: 400px;
}

    .mx_SpacePreferencesDialog > h4 {
        margin: -12px 0 0;
        font-weight: normal;
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--cpd-color-text-secondary);
    }

    .mx_SpacePreferencesDialog .mx_TabbedView {
        top: 80px;
    }

        .mx_SpacePreferencesDialog .mx_TabbedView .mx_SettingsTab {
            min-width: 0;
            min-width: initial;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceSettingsDialog {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

    .mx_SpaceSettingsDialog .mx_SpaceSettings_errorText {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.75rem;
        line-height: 0.9375rem;
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
        margin-bottom: 28px;
    }

    .mx_SpaceSettingsDialog .mx_ToggleSwitch {
        display: inline-block;
        vertical-align: middle;
        margin-left: 16px;
    }
        .mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_SettingsTab_section_caption {
            margin-top: 12px;
            margin-bottom: 20px;
        }

        .mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_StyledRadioButton {
            margin-top: 8px;
            margin-bottom: 4px;
        }

            .mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_StyledRadioButton .mx_StyledRadioButton_content {
                font-weight: var(--cpd-font-weight-semibold);
                line-height: 1.125rem;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

            .mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_StyledRadioButton + span {
                font-size: 0.9375rem;
                line-height: 1.125rem;
                color: var(--cpd-color-text-secondary);
                margin-left: 26px;
            }

    .mx_SpaceSettingsDialog .mx_SpaceSettingsDialog_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 64px;
    }

        .mx_SpaceSettingsDialog .mx_SpaceSettingsDialog_buttons .mx_AccessibleButton {
            display: inline-block;
        }

        .mx_SpaceSettingsDialog .mx_SpaceSettingsDialog_buttons .mx_AccessibleButton_kind_link {
            margin-left: auto;
        }
        .mx_SpaceSettingsDialog .mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link {
            font: var(--cpd-font-body-md-semibold);
            margin: 7px 18px;
        }

            .mx_SpaceSettingsDialog .mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link.mx_SettingsTab_showAdvanced {
                margin: 18px 0;
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SpotlightDialog_wrapper .mx_Dialog_border {
        /* Disable the glass border as this dialog wasn't designed with it in mind */
        display: contents;
    }

    .mx_SpotlightDialog_wrapper .mx_Dialog {
        /* !important because it's overriding compound  */
        width: -webkit-fit-content !important;
        width: -moz-fit-content !important;
        width: fit-content !important;
        border-radius: 8px !important;
        height: 60% !important;
        overflow-y: visible;
        overflow-y: initial;
        position: relative;
        padding: 0;
        contain: unset; /* needed for #mx_SpotlightDialog_keyboardPrompt to not be culled */
    }

        .mx_SpotlightDialog_wrapper .mx_Dialog #mx_SpotlightDialog_keyboardPrompt {
            position: absolute;
            padding: 8px;
            border-radius: 8px;
            background-color: var(--cpd-color-bg-canvas-default);
            top: -60px; /* relative to the top of the modal */
            left: 50%;
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

            .mx_SpotlightDialog_wrapper .mx_Dialog #mx_SpotlightDialog_keyboardPrompt kbd {
                display: inline-block;
                padding: 2px 4px;
                margin: 0 4px;
                border-radius: 6px;
                background-color: var(--cpd-color-gray-400);
                vertical-align: middle;
                color: var(--cpd-color-gray-800);
                /* To avoid any styling inherent with <kbd> elements */
                font-family: inherit;
                font-weight: inherit;
                font-size: inherit;
            }

.mx_SpotlightDialog {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

    .mx_SpotlightDialog .mx_Dialog_header {
        display: none;
    }

    .mx_SpotlightDialog .mx_SpotlightDialog_searchBox {
        margin: 0;
        border: none;
        border-radius: 8px 8px 0 0;
        padding: 12px 16px;
        border-bottom: 1px solid var(--cpd-color-bg-subtle-secondary);
    }

        .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-line-pack: center;
                align-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            border-radius: 8px;
            margin-right: 8px;
            background-color: var(--cpd-color-gray-400);
            vertical-align: middle;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            position: relative;
            padding: 4px 8px 4px 37px;
        }

            .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter > svg {
                color: var(--cpd-color-text-secondary);
                width: 18px;
                height: 18px;
                position: absolute;
                left: 8px;
                top: 50%;
                -webkit-transform: translateY(-50%);
                        transform: translateY(-50%);
            }

            .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter .mx_SpotlightDialog_filter--close {
                display: inline-block;
                width: 14px;
                height: 14px;
                padding: 1px;
                background: var(--cpd-color-bg-subtle-secondary);
                border-radius: 8px;
                margin-left: 8px;
                text-align: center;
                line-height: 16px;
                color: var(--cpd-color-text-secondary);
            }

                .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter .mx_SpotlightDialog_filter--close svg {
                    color: var(--cpd-color-text-secondary);
                    width: inherit;
                    height: inherit;
                }

        .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > input {
            display: block;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            background-color: transparent;
            width: 100%;
            height: 32px;
            padding: 0;
            color: var(--cpd-color-gray-800);
            font-weight: normal;
            font-size: 0.9375rem;
            line-height: 1.5rem;
        }

        .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_Spinner {
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
            width: auto;
            width: initial;
            height: auto;
            height: initial;
            margin-left: 16px;
        }

        .mx_SpotlightDialog .mx_SpotlightDialog_searchBox:not(:focus-within) + #mx_SpotlightDialog_content {
            /* Inhibit the styling if focus is not within the input which handles keyboard accessibility */
            --mx_SpotlightDialog_option_selectedBgColor: transparent;

            /* Hide the enter prompt as in this state pressing enter would not actuate that option */
        }
            .mx_SpotlightDialog .mx_SpotlightDialog_searchBox:not(:focus-within) + #mx_SpotlightDialog_content .mx_SpotlightDialog_enterPrompt {
                visibility: hidden;
            }

    .mx_SpotlightDialog #mx_SpotlightDialog_content {
        height: 100%;
        overflow-y: auto;
        padding: 16px;
    }

        .mx_SpotlightDialog #mx_SpotlightDialog_content ul {
            padding: 0;
            margin: 0;
        }
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section > h4,
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section > .mx_SpotlightDialog_sectionHeader > h4 {
                font-weight: var(--cpd-font-weight-semibold);
                font-size: 0.75rem;
                line-height: 0.9375rem;
                color: var(--cpd-color-text-secondary);
                margin: 0;
            }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section > h4 {
                margin-bottom: 8px;
            }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section .mx_SpotlightDialog_sectionHeader {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: justify;
                    -ms-flex-pack: justify;
                        justify-content: space-between;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                margin-bottom: 8px;
            }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section .mx_SpotlightDialog_sectionHeader .mx_SpotlightDialog_options {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    gap: 4px;
                }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section + .mx_SpotlightDialog_section {
                margin-top: 24px;
            }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_option {
            border-radius: 8px;
            overflow: hidden;
            text-overflow: ellipsis;
        }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_option:hover,
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_option[aria-selected="true"] {
                background-color: var(--mx_SpotlightDialog_option_selectedBgColor, var(--cpd-color-gray-400));
            }
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed > div {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                white-space: nowrap;
                overflow-x: hidden;
                margin-right: 1px; /* occlude the 1px visible of the very next tile to prevent it looking broken */
            }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option {
                padding: 4px;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                font-size: 0.75rem;
                line-height: 0.9375rem;
                display: inline-block;
                width: 58px;
                height: 58px;
                min-width: 58px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                text-align: center;
            }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option .mx_DecoratedRoomAvatar {
                    margin: 0 9px 4px; /* maintain centering */
                }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option + .mx_SpotlightDialog_option {
                    margin-left: 16px;
                }
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option {
                --mx_SpotlightDialog_option_selectedBgColor: var(--cpd-color-bg-subtle-secondary);

                padding: 6px 4px;
                font-size: 0.9375rem;
                line-height: 1.5rem;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                position: relative;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                white-space: nowrap;
            }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment {
                    display: -webkit-inline-box;
                    display: -ms-inline-flexbox;
                    display: inline-flex;
                    -webkit-box-orient: horizontal;
                    -webkit-box-direction: normal;
                        -ms-flex-direction: row;
                            flex-direction: row;
                    margin-left: auto;
                    -webkit-box-align: start;
                        -ms-flex-align: start;
                            align-items: flex-start;
                }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline {
                    -webkit-box-align: start;
                        -ms-flex-align: start;
                            align-items: flex-start;
                }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton {
                        padding: 4px 20px;
                        margin: 2px 4px;
                    }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt {
                        margin-top: 9px;
                        margin-right: 8px;
                    }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_BaseAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_BaseAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_BaseAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_BaseAvatar {
                    margin-right: 8px;
                    width: 24px;
                    height: 24px;
                    -ms-flex-negative: 0;
                        flex-shrink: 0;
                }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar {
                        width: inherit;
                        height: inherit;
                    }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-orient: vertical;
                    -webkit-box-direction: normal;
                        -ms-flex-direction: column;
                            flex-direction: column;
                    -webkit-box-flex: 1;
                        -ms-flex-positive: 1;
                            flex-grow: 1;
                    min-width: 0;
                }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader {
                        display: -webkit-box;
                        display: -ms-flexbox;
                        display: flex;
                        -webkit-box-orient: horizontal;
                        -webkit-box-direction: normal;
                            -ms-flex-direction: row;
                                flex-direction: row;
                        line-height: 1.5rem;
                        margin-right: 8px;
                    }

                        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName {
                            color: #ffffff;
                            color: var(--cpd-color-text-primary);
                            font-size: 0.9375rem;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }
                        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias {
                            color: var(--cpd-color-gray-800);
                            font-size: 0.75rem;
                            margin-left: 8px;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription {
                        color: var(--cpd-color-text-secondary);
                        font-size: 0.75rem;
                        white-space: normal;
                        word-wrap: break-word;
                        line-height: 1.25rem;
                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 3;
                        overflow: hidden;
                    }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_NotificationBadge {
                    margin-left: 8px;
                }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications {
                    width: 16px;
                    height: 16px;
                    padding: var(--cpd-space-0-5x);
                    -ms-flex-negative: 0;
                        flex-shrink: 0;
                    margin-top: auto;
                    margin-bottom: auto;
                    position: relative;
                    display: none;
                }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications svg {
                        width: inherit;
                        height: inherit;
                        display: block;
                        color: var(--cpd-color-gray-800);
                    }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:focus-visible svg {
                        color: var(--cpd-color-text-secondary);
                    }
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications {
                        display: block;
                    }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt {
                    display: inline-block;
                }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_inviteLink,
        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_createRoom {
            margin-top: 8px;
        }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_inviteLink .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_createRoom .mx_AccessibleButton {
                position: relative;
                margin: 0;
                padding: 3px 8px 3px 28px;
            }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_inviteLink .mx_AccessibleButton svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_createRoom .mx_AccessibleButton svg {
                    display: block;
                    position: absolute;
                    left: 8px;
                    width: 16px;
                    height: 16px;
                    color: var(--cpd-color-icon-primary);
                }
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option {
                padding-left: 32px;
                position: relative;
            }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option svg {
                    color: var(--cpd-color-text-secondary);
                    width: 24px;
                    height: 24px;
                    position: absolute;
                    left: 4px;
                    top: 50%;
                    -webkit-transform: translateY(-50%);
                            transform: translateY(-50%);
                }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_otherSearches_messageSearchText {
                font-size: 0.9375rem;
                line-height: 1.5rem;
            }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_result_details {
            margin-left: 8px;
            margin-right: 8px;
            color: var(--cpd-color-gray-800);
            font-size: 0.75rem;
            line-height: 0.9375rem;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches > h4 > .mx_AccessibleButton_kind_link {
            float: right;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_enterPrompt {
            padding: 2px 4px;
            /* To avoid any styling inherent with <kbd> elements */
            font-family: inherit;
            font-weight: inherit;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-gray-800);
            border-radius: 6px;
            background-color: var(--cpd-color-gray-400);
            margin-right: 4px;
            display: none;
        }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_metaspaceResult svg {
            color: var(--cpd-color-text-secondary);
            width: inherit;
            height: inherit;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * To avoid visual glitching of two modals stacking briefly, we customise the
 * terms dialog sizing when it will appear for the integration manager so that
 * it gets the same basic size as the IM's own modal.
 */
.mx_TermsDialog_forIntegrationManager .mx_Dialog_border {
    width: 60%;
    height: 70%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_TermsDialog_termsTableHeader {
    font-weight: bold;
    text-align: left;
}

.mx_TermsDialog_termsTable {
    font-size: 0.75rem;
    width: 100%;
}

.mx_TermsDialog_service,
.mx_TermsDialog_summary {
    padding-right: 10px;
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_UnpinAllDialog {
    /* 396 is coming from figma and we remove the left and right paddings of the dialog */
    width: calc(396px - (var(--cpd-space-10x) * 2));
    padding-bottom: var(--cpd-space-2x);
}

    .mx_UnpinAllDialog .mx_UnpinAllDialog_title {
        /* Override the default heading style */
        font: var(--cpd-font-heading-sm-semibold) !important;
        margin-bottom: var(--cpd-space-3x);
    }

    .mx_UnpinAllDialog .mx_UnpinAllDialog_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        margin: var(--cpd-space-8x) var(--cpd-space-2x) 0 var(--cpd-space-2x);
    }

        .mx_UnpinAllDialog .mx_UnpinAllDialog_buttons button {
            width: 100%;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_UntrustedDeviceDialog .mx_Dialog_title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_UntrustedDeviceDialog .mx_Dialog_title .mx_E2EIcon {
            margin-left: 0;
        }

    .mx_UntrustedDeviceDialog .mx_Dialog_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 8px;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UploadConfirmDialog_fileIcon {
    margin-right: 5px;
}

.mx_UploadConfirmDialog_previewOuter {
    text-align: center;
}

.mx_UploadConfirmDialog_previewInner {
    display: inline-block;
    text-align: left;
}

.mx_UploadConfirmDialog_imagePreview {
    max-height: 300px;
    max-width: 100%;
    border-radius: 4px;
    border: 1px solid var(--cpd-color-icon-tertiary);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsDialog_toastContainer {
    position: absolute;
    bottom: var(--cpd-space-10x);
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_UserSettingsDialog_title {
    /* Override default dialog font style */
    font: var(--cpd-font-heading-md-regular) !important;
}

    .mx_UserSettingsDialog_title .mx_UserSettingsDialog_title_strong {
        font: var(--cpd-font-heading-md-semibold);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VerifyEMailDialog {
    height: auto;
    top: 300px;
}

    .mx_VerifyEMailDialog .mx_Dialog {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font: var(--cpd-font-body-md-regular);
        padding: 24px 24px 16px;
        text-align: center;
        /* !important override compound  */
        width: 485px !important;
    }

        .mx_VerifyEMailDialog .mx_Dialog h1 {
            font-size: 1.5rem;
            font-weight: var(--cpd-font-weight-semibold);
        }

        .mx_VerifyEMailDialog .mx_Dialog .mx_VerifyEMailDialog_text-light {
            color: var(--cpd-color-text-secondary);
            line-height: 20px;
        }

        .mx_VerifyEMailDialog .mx_Dialog .mx_AuthBody_did-not-receive {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            margin-bottom: 8px;
        }

        .mx_VerifyEMailDialog .mx_Dialog .mx_Dialog_cancelButton {
            right: 10px;
        }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_WidgetCapabilitiesPromptDialog .text-muted {
        font-size: 0.75rem;
    }

    .mx_WidgetCapabilitiesPromptDialog .mx_Dialog_content {
        margin-bottom: 16px;
    }

    .mx_WidgetCapabilitiesPromptDialog .mx_WidgetCapabilitiesPromptDialog_cap {
        margin-top: 20px;
        font-size: 0.9375rem;
        line-height: 0.9375rem;
    }

    .mx_WidgetCapabilitiesPromptDialog .mx_Dialog_buttons {
        margin-top: 40px; /* double normal */
    }

    .mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag {
        line-height: calc(0.875rem + 7px + 7px); /* 7px top & bottom padding */
        color: #91a1c0;
        font-size: 0.75rem;
    }

        .mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag .mx_ToggleSwitch {
            /* downsize the switch + ball */
            width: 2rem;
            height: 0.9375rem;
        }

            .mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag .mx_ToggleSwitch.mx_ToggleSwitch_on > .mx_ToggleSwitch_ball {
                left: calc(100% - 0.9375rem);
            }

            .mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag .mx_ToggleSwitch .mx_ToggleSwitch_ball {
                width: 0.9375rem;
                height: 0.9375rem;
                border-radius: 0.9375rem;
            }
}
@layer app-web{

/*
 Copyright 2026 Element Creations Ltd.

 SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 Please see LICENSE files in the repository root for full details.
*/

.mx_UnknownIdentityUsersWarningDialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 600px; /* Consistency with InviteDialog */
}

.mx_UnknownIdentityUsersWarningDialog_headerContainer {
    /* Centre the PageHeader component horizontally */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    /* Styling for the regular text inside the header */
    font: var(--cpd-font-body-lg-regular);

    /* Space before the list */
    padding-bottom: var(--cpd-space-6x);
}

.mx_UnknownIdentityUsersWarningDialog_userList {
    width: 100%;
    overflow: auto;

    /* Fill available vertical space, but don't allow it to shrink to less than 60px (about the height of a single tile) */
    -webkit-box-flex: 1;
        -ms-flex: 1 0 60px;
            flex: 1 0 60px;

    /* Remove browser default ul padding/margin */
    padding: 0;
    margin: 0;
}

.mx_UnknownIdentityUsersWarningDialog_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-4x);
}

    .mx_UnknownIdentityUsersWarningDialog_buttons > button {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2018, 2019 , 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_AccessSecretStorageDialog.mx_EncryptionCard {
        /* override some styles that we don't need */
        border: 0px none;
        -webkit-box-shadow: none;
                box-shadow: none;
        padding: 0px;
    }
        .mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyEntry {
            /*
             * Be specific here to avoid "margin: 9px" from _common.pcss
             */
        }
                .mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyEntry :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) input {
                    /*
                     * From figma: https://www.figma.com/design/ZodBLtGnKmRTGJo5SGLnH3/ER-137--Excluding-Insecure-Devices?node-id=102-43729&t=QmewENUd7f6Tmw9U-1
                     */
                    width: 448px;
                    height: 70px;
                    margin: 0px;
                    border: 1px solid;
                }
            .mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback svg {
                display: inline-block;
                vertical-align: bottom;
                width: 20px;
                height: 20px;
                -webkit-mask-size: 20px;
                        mask-size: 20px;
                -webkit-margin-end: 5px;
                        margin-inline-end: 5px;
            }

            .mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback.mx_AccessSecretStorageDialog_recoveryKeyFeedback--invalid {
                color: #e0454b;
                color: var(--cpd-color-text-critical-primary);
            }

                .mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback.mx_AccessSecretStorageDialog_recoveryKeyFeedback--invalid svg {
                    color: #e0454b;
                    color: var(--cpd-color-text-critical-primary);
                }

    .mx_AccessSecretStorageDialog .mx_EncryptionCard_buttons {
        margin-top: var(--cpd-space-20x);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateCrossSigningDialog {
    /* Why you ask? Because CompleteSecurityBody is 600px so this is the width */
    /* we end up when in there, but when in our own dialog we set our own width */
    /* so need to fix it to something sensible as otherwise we'd end up either */
    /* really wide or really narrow depending on the phase. I bet you wish you */
    /* never asked. */
    width: 560px;
}

    .mx_CreateCrossSigningDialog details .mx_AccessibleButton {
        margin: 1em 0; /* emulate paragraph spacing because we can't put this button in a paragraph due to HTML rules */
    }

.mx_CreateCrossSigningDialog .mx_Dialog_title {
    /* TODO: Consider setting this for all dialog titles. */
    margin-bottom: 1em;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Copyright 2018 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateSecretStorageDialog {
    /* Why you ask? Because CompleteSecurityBody is 600px so this is the width */
    /* we end up when in there, but when in our own dialog we set our own width */
    /* so need to fix it to something sensible as otherwise we'd end up either */
    /* really wide or really narrow depending on the phase. I bet you wish you */
    /* never asked. */
    width: 560px;
}

    .mx_CreateSecretStorageDialog.mx_SuccessDialog {
        padding: 56px; /* 80px from design - 24px wrapper padding */
    }

        .mx_CreateSecretStorageDialog.mx_SuccessDialog .mx_Dialog_title {
            margin-bottom: 16px;
        }

    .mx_CreateSecretStorageDialog .mx_SettingsFlag {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .mx_CreateSecretStorageDialog .mx_SettingsFlag_label {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        min-width: 0;
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_CreateSecretStorageDialog .mx_ToggleSwitch {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-left: 30px;
    }

    .mx_CreateSecretStorageDialog details .mx_AccessibleButton {
        margin: 1em 0; /* emulate paragraph spacing because we can't put this button in a paragraph due to HTML rules */
    }

.mx_CreateSecretStorageDialog .mx_Dialog_title {
    /* TODO: Consider setting this for all dialog titles. */
    margin-bottom: 1em;
}

.mx_CreateSecretStorageDialog_centeredTitle,
.mx_CreateSecretStorageDialog_centeredBody {
    text-align: center;
}

.mx_CreateSecretStorageDialog_primaryContainer {
    /* FIXME: plinth colour in new theme(s). background-color: $accent; */
    padding-top: 20px;
}

    .mx_CreateSecretStorageDialog_primaryContainer.mx_CreateSecretStorageDialog_recoveryKeyPrimarycontainer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

.mx_CreateSecretStorageDialog_primaryContainer::after {
    content: "";
    clear: both;
    display: block;
}

.mx_CreateSecretStorageDialog_primaryContainer .mx_StyledRadioButton {
    margin-bottom: 16px;
    padding: 11px;
}

.mx_CreateSecretStorageDialog_optionTitle {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    font-weight: var(--cpd-font-weight-semibold);
    font-size: 1.125rem;
    padding-bottom: 10px;
}

.mx_CreateSecretStorageDialog_passPhraseContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.mx_Field.mx_CreateSecretStorageDialog_passPhraseField {
    margin-top: 0px;
}

.mx_CreateSecretStorageDialog_passPhraseMatch {
    width: 200px;
    margin-left: 20px;
}

.mx_CreateSecretStorageDialog_recoveryKeyContainer {
    display: inline-block;
}

.mx_CreateSecretStorageDialog_recoveryKey {
    font-weight: bold;
    text-align: center;
    padding: 20px;
    color: var(--cpd-color-gray-900);
    background-color: var(--cpd-color-bg-subtle-secondary);
    border-radius: 6px;
    word-spacing: 1em;
    margin-bottom: 20px;
}

    .mx_CreateSecretStorageDialog_recoveryKey code {
        display: inline-block;
        width: 30rem;
    }

.mx_CreateSecretStorageDialog_recoveryKeyButtons {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
}

.mx_CreateSecretStorageDialog_recoveryKeyButtons_copyBtn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_CreateSecretStorageDialog_recoveryKeyButtons .mx_AccessibleButton {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    white-space: nowrap;
}

.mx_CreateSecretStorageDialog_continueSpinner {
    margin-top: 33px;
    text-align: right;
}

.mx_CreateSecretStorageDialog_continueSpinner img {
    width: 20px;
    height: 20px;
}
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_KeyBackupFailedDialog .mx_Dialog_title {
    margin-bottom: 32px;
}

.mx_KeyBackupFailedDialog_title {
    padding-bottom: 10px;
}

    .mx_KeyBackupFailedDialog_title svg {
        margin-right: var(--cpd-space-2x);
        vertical-align: -2px;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

.mx_KeyBackupFailedDialog .mx_Dialog_buttons {
    margin-top: 36px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2018 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RestoreKeyBackupDialog_keyStatus {
    height: 30px;
}

.mx_RestoreKeyBackupDialog_primaryContainer {
    /* FIXME: plinth colour in new theme(s). background-color: $accent; */
    padding: 20px;
}

.mx_RestoreKeyBackupDialog_passPhraseInput,
.mx_RestoreKeyBackupDialog_recoveryKeyInput {
    width: 300px;
    border: 1px solid #2e80de;
    border: 1px solid var(--cpd-color-text-action-accent);
    border-radius: 5px;
    padding: 10px;
}

.mx_RestoreKeyBackupDialog_content > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-height: 110px; /* Empirically measured */
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
        .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--header {
            padding-top: 12px;
            padding-bottom: 4px;
            min-width: 160px;
        }

        .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item {
            padding-top: 4px;
            padding-bottom: 4px;
        }

            .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item > .mx_GenericDropdownMenu_Option--label span:first-child {
                font-weight: normal;
            }

        .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: baseline;
                -ms-flex-align: baseline;
                    align-items: baseline;
            -ms-flex-line-pack: baseline;
                align-content: baseline;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

            .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label span:not(:first-child) {
                margin-left: 4px;
                color: var(--cpd-color-text-secondary);
            }

    .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_divider {
        margin-top: 4px;
        margin-bottom: 4px;
    }

        .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_divider + .mx_GenericDropdownMenu_Option .mx_GenericDropdownMenu_Option--label {
            font-size: 0.9375rem;
        }

.mx_NetworkDropdown_removeServer {
    position: relative;
    display: inline-block;
    width: 14px;
    height: 14px;
    padding: 1px;
    background: var(--cpd-color-gray-400);
    border-radius: 8px;
    text-align: center;
    line-height: 16px;
    color: var(--cpd-color-text-secondary);
    margin-left: auto;
}

    .mx_NetworkDropdown_removeServer svg {
        color: var(--cpd-color-text-secondary);
        height: inherit;
        width: inherit;
    }

.mx_NetworkDropdown_dialog .mx_Dialog {
    width: 45vw;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AccessibleButton {
    cursor: pointer;
}

    .mx_AccessibleButton:where(button) {
        /* Clear default button styling */
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        background: none;
        border: none;
        padding: 0;
        margin: 0;
        font-size: inherit;
        font-family: inherit;
        line-height: inherit;
        -webkit-box-sizing: content-box;
                box-sizing: content-box;
    }

    .mx_AccessibleButton.mx_AccessibleButton_disabled {
        cursor: not-allowed;
    }

        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_icon_primary,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_icon_primary_outline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_primary,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_primary_outline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_primary_sm,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link_accent,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link_inline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_danger_inline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_content_inline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link_sm {
            opacity: 0.4;
        }

    .mx_AccessibleButton.mx_AccessibleButton_hasKind {
        padding: 7px 18px;
        text-align: center;
        border-radius: 24px;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        font: var(--cpd-font-body-md-semibold);
        border: none; /* override default <button /> styles */
        word-break: keep-all; /* prevent button text in Chinese/Japanese/Korean (CJK) from being collapsed */
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_primary_sm,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_danger_sm,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link_sm {
            padding: 5px 12px;
        }

        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_primary_sm {
            color: var(--cpd-color-text-on-solid-primary);
            background-color: #2e80de;
            background-color: var(--cpd-color-bg-action-primary-rest);
            border: 1px solid #2e80de;
            border: 1px solid var(--cpd-color-bg-action-primary-rest);
        }

        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_danger_sm {
            color: var(--cpd-color-text-on-solid-primary);
            background-color: var(--cpd-color-bg-critical-primary);
            border: 1px solid var(--cpd-color-bg-critical-primary);
        }

        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link_sm {
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            text-decoration: underline;
            font-weight: var(--cpd-font-weight-semibold);
        }

        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_icon,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_icon_primary,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_icon_primary_outline {
            padding: 0;
            height: 32px;
            width: 32px;
        }

    .mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary,
    .mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary_outline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary_outline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_secondary {
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary {
        border: 1px solid #2e80de;
        border: 1px solid var(--cpd-color-bg-action-primary-rest);
        color: var(--cpd-color-text-on-solid-primary);
        background-color: #2e80de;
        background-color: var(--cpd-color-bg-action-primary-rest);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary_outline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary_outline {
        border: 1px solid var(--cpd-color-border-interactive-secondary);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_secondary {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        text-decoration: underline;
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_danger {
        color: var(--cpd-color-text-on-solid-primary);
        background-color: var(--cpd-color-bg-critical-primary);
        border: 1px solid var(--cpd-color-bg-critical-primary);
    }

        .mx_AccessibleButton.mx_AccessibleButton_kind_danger.mx_AccessibleButton_disabled {
            color: var(--cpd-color-text-on-solid-primary);
            background-color: var(--cpd-color-bg-critical-primary);
        }

    .mx_AccessibleButton.mx_AccessibleButton_kind_danger_outline {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
        background-color: transparent;
        border: 1px solid var(--cpd-color-border-critical-subtle);
    }

        .mx_AccessibleButton.mx_AccessibleButton_kind_danger_outline.mx_AccessibleButton_disabled {
            color: var(--cpd-color-text-disabled);
            border-color: var(--cpd-color-border-disabled);
        }
        .mx_AccessibleButton.mx_AccessibleButton_kind_danger_sm.mx_AccessibleButton_disabled {
            color: var(--cpd-color-text-disabled);
            background-color: var(--cpd-color-bg-subtle-primary);
        }

    .mx_AccessibleButton.mx_AccessibleButton_kind_link,
    .mx_AccessibleButton.mx_AccessibleButton_kind_link_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_danger_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_content_inline {
        font-size: inherit;
        font-weight: var(--cpd-font-weight-semibold);
        line-height: inherit;
        padding: 0;
        text-decoration: underline;
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_link,
    .mx_AccessibleButton.mx_AccessibleButton_kind_link_inline {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_danger_inline {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_content_inline {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_link_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_danger_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_content_inline {
        display: inline;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CopyableText {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
}

    .mx_CopyableText.mx_CopyableText_border {
        overflow: auto;
        border-radius: 5px;
        border: solid 1px #c8c8cd;
        margin-bottom: 10px;
        margin-top: 10px;
        padding: 10px 0 10px 10px;
    }

    .mx_CopyableText .mx_CopyableText_copyButton {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        /* using em here to adapt to the local font size */
        width: 1em;
        height: 1em;
        padding-left: 12px;
        padding-right: 10px;
        display: block;
        /* If the copy button is used within a scrollable div, make it stick to the right while scrolling */
        position: sticky;
        right: 0;
        /* center to first line */
        top: 0.15em;
        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_CopyableText .mx_CopyableText_copyButton svg {
            width: 1em;
            height: 1em;
            color: #b9bec6;
            display: block;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_desktopCapturerSourcePicker {
    overflow: hidden;
}

    .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        height: 500px;
        overflow: overlay;
    }

        .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source {
            width: 50%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

            .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail {
                margin: 4px;
                padding: 4px;
                border-width: 2px;
                border-radius: 8px;
                border-style: solid;
                border-color: transparent;
            }

                .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail.mx_desktopCapturerSourcePicker_source_thumbnail_selected,
                .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail:hover,
                .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail:focus {
                    border-color: #2e80de;
                    border-color: var(--cpd-color-text-action-accent);
                }

            .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_name {
                margin: 0 4px;
                white-space: nowrap;
                text-overflow: ellipsis;
                overflow: hidden;
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialPadBackspaceButton {
    height: 20px;
    width: 20px;
    padding: var(--cpd-space-1x);
}

    .mx_DialPadBackspaceButton svg {
        color: #8d97a5;
        width: inherit;
        height: inherit;
        display: inline-block;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Dropdown {
    position: relative;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_Dropdown_disabled {
    opacity: 0.3;
}

.mx_Dropdown_input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    border-radius: 8px;
    border: 1px solid var(--cpd-color-border-interactive-secondary);
    font: var(--cpd-font-body-sm-regular);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.mx_Dropdown_input.mx_AccessibleButton_disabled {
    cursor: not-allowed;
}

.mx_Dropdown_input:focus {
    border-color: var(--cpd-color-text-link-external);
}

/* Disable dropdown highlight on focus */
.mx_Dropdown_input.mx_AccessibleButton:focus {
    -webkit-filter: none;
            filter: none;
}

svg.mx_Dropdown_arrow {
    width: 18px;
    height: 18px;
    margin-right: 3px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_Dropdown_option {
    height: 35px;
    line-height: 2.1875rem;
    /* Overwrites the default padding for any li elements */
    padding: 0 8px;
}

.mx_Dropdown_input > .mx_Dropdown_option {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_Dropdown_option div {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mx_Dropdown_option img,
.mx_Dropdown_option .mx_Dropdown_option_emoji {
    margin: 5px;
    width: 16px;
    vertical-align: middle;
}

.mx_Dropdown_option_emoji {
    font-size: 1rem;
    line-height: 1rem;
}

input.mx_Dropdown_option,
input.mx_Dropdown_option:focus {
    font-weight: normal;
    border: 0;
    padding-top: 0;
    padding-bottom: 0;
    /* XXX: hack to prevent text box being too big and pushing */
    /* its parent out / overlapping the dropdown arrow. Only really */
    /* works in the Country dropdown. */
    width: 60%;
}

.mx_Dropdown_menu {
    position: absolute;
    left: -1px;
    right: -1px;
    top: 100%;
    z-index: 2;
    margin: 0;
    padding: 0px;
    border-radius: 4px;
    border: 1px solid var(--cpd-color-text-link-external);
    background-color: var(--cpd-color-bg-canvas-default);
    max-height: 200px;
    overflow-y: auto;
}

.mx_Dropdown_menu .mx_Dropdown_option {
    height: auto;
    min-height: 35px;
}

ul.mx_Dropdown_menu li.mx_Dropdown_option {
    list-style: none;
}

.mx_Dropdown_menu .mx_Dropdown_option_highlight {
    background-color: #343a46;
}

.mx_Dropdown_searchPrompt {
    font-weight: normal;
    margin-left: 5px;
    margin-bottom: 5px;
}
}
@layer app-web{

/*
Copyright 2017-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EditableItemList {
    margin-top: 12px;
    margin-bottom: 10px;
}

.mx_EditableItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 5px;
}

.mx_EditableItem_delete {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_EditableItem_delete:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_EditableItem_delete svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_EditableItem_delete{
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    vertical-align: middle;
    width: 28px;
    height: 28px;
    -webkit-mask-size: 100%;
            mask-size: 100%;
}

.mx_EditableItem_email {
    vertical-align: middle;
}

.mx_EditableItem_promptText {
    margin-right: 10px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
}

.mx_EditableItem_confirmBtn {
    margin-right: 5px;
}

.mx_EditableItem_item {
    -webkit-box-flex: 1;
        -ms-flex: auto 1 0px;
            flex: auto 1 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: calc(100% - 28px); /* leave space for the remove button */
    overflow-x: hidden;
    text-overflow: ellipsis;
}

.mx_EditableItemList_label {
    margin-bottom: 5px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ErrorBoundary {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_ErrorBoundary_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 400px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_ErrorBoundary_body .mx_AccessibleButton {
        margin-top: 5px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ExternalLink {
    color: var(--cpd-color-text-link-external);
}

.mx_ExternalLink_icon {
    display: inline-block;
    width: 0.6875rem;
    height: 0.6875rem;
    margin-left: 0.3rem;
    vertical-align: middle;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FacePile_more {
    /* Needed to calculate the offset on the face pile */
    --cpd-avatar-size: 28px;
    position: relative;
    border-radius: 100%;
    width: 28px;
    height: 28px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: var(--cpd-space-1x);
    background-color: var(--cpd-color-bg-subtle-secondary);
    color: var(--cpd-color-gray-800);
    display: inline-block;
    z-index: 1;
    /* For enhanced visibility under contrast control */
    outline: 1px solid transparent;
}

.mx_FacePile_summary {
    margin-left: 12px;
    font: var(--cpd-font-body-md-regular);
    line-height: 1.5rem;
    color: var(--cpd-color-gray-800);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* TODO: Consider unifying with general input styles in _light.pcss */

.mx_Field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    position: relative;
    margin: 1em 0;
    border-radius: 8px;
    -webkit-transition: border-color 0.25s;
    transition: border-color 0.25s;
    border: 1px solid var(--cpd-color-border-interactive-secondary);
}

.mx_Field_prefix {
    border-right: 1px solid var(--cpd-color-border-interactive-secondary);
}

.mx_Field_postfix {
    border-left: 1px solid var(--cpd-color-border-interactive-secondary);
}

.mx_Field input,
.mx_Field select,
.mx_Field textarea {
    font: var(--cpd-font-body-md-regular);
    border: none;
    /* Even without a border here, we still need this avoid overlapping the rounded */
    /* corners on the field above. */
    border-radius: 8px;
    padding: 8px 9px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-canvas-default);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
}

.mx_Field select {
    -moz-appearance: none;
    -webkit-appearance: none;
    text-overflow: ellipsis;
}

.mx_Field_select_chevron {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 4px;
    width: 18px;
    height: 18px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    z-index: 1;
    pointer-events: none;
}

.mx_Field:focus-within {
    border-color: var(--cpd-color-text-link-external);
}

.mx_Field input:focus,
.mx_Field select:focus,
.mx_Field textarea:focus {
    outline: 0;
}

.mx_Field input::-webkit-input-placeholder, .mx_Field textarea::-webkit-input-placeholder {
    -webkit-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input::-moz-placeholder, .mx_Field textarea::-moz-placeholder {
    -moz-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input:-ms-input-placeholder, .mx_Field textarea:-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input::-ms-input-placeholder, .mx_Field textarea::-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input::placeholder,
.mx_Field textarea::placeholder {
    -webkit-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input:placeholder-shown:focus::-webkit-input-placeholder, .mx_Field textarea:placeholder-shown:focus::-webkit-input-placeholder, .mx_Field.mx_Field_placeholderIsHint input::-webkit-input-placeholder {
    -webkit-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:placeholder-shown:focus::-moz-placeholder, .mx_Field textarea:placeholder-shown:focus::-moz-placeholder, .mx_Field.mx_Field_placeholderIsHint input::-moz-placeholder {
    -moz-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:placeholder-shown:focus:-ms-input-placeholder, .mx_Field textarea:placeholder-shown:focus:-ms-input-placeholder, .mx_Field.mx_Field_placeholderIsHint input:-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:placeholder-shown:focus::-ms-input-placeholder, .mx_Field textarea:placeholder-shown:focus::-ms-input-placeholder, .mx_Field.mx_Field_placeholderIsHint input::-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:-moz-placeholder:focus::placeholder, .mx_Field textarea:-moz-placeholder:focus::placeholder {
    -moz-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:-ms-input-placeholder:focus::placeholder, .mx_Field textarea:-ms-input-placeholder:focus::placeholder {
    -ms-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:placeholder-shown:focus::placeholder,
.mx_Field textarea:placeholder-shown:focus::placeholder,
.mx_Field.mx_Field_placeholderIsHint input::placeholder {
    -webkit-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field label {
    -webkit-transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s,
        -webkit-transform 0.25s ease-out 0.1s;
    transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s,
        -webkit-transform 0.25s ease-out 0.1s;
    transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        transform 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s;
    transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        transform 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s,
        -webkit-transform 0.25s ease-out 0.1s;
    background-color: transparent;
    font: var(--cpd-font-body-md-regular);
    color: var(--cpd-color-text-secondary);
    -webkit-transform: translateY(0);
            transform: translateY(0);
    position: absolute;
    left: 0px;
    margin: 7px 8px;
    padding: 2px;
    pointer-events: none; /* Allow clicks to fall through to the input */
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: calc(100% - 20px); /* 100% of parent minus margin and padding */
}

.mx_Field input:not(:-moz-placeholder) + label, .mx_Field textarea:not(:-moz-placeholder) + label {
    -moz-transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    font-size: 0.625rem;
    transform: translateY(-13px);
    padding: 0 2px;
    background-color: var(--cpd-color-bg-canvas-default);
    pointer-events: initial;
}

.mx_Field input:not(:-ms-input-placeholder) + label, .mx_Field textarea:not(:-ms-input-placeholder) + label {
    -ms-transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    font-size: 0.625rem;
    transform: translateY(-13px);
    padding: 0 2px;
    background-color: var(--cpd-color-bg-canvas-default);
    pointer-events: initial;
}

.mx_Field_labelAlwaysTopLeft label,
.mx_Field select + label /* Always show a select's label on top to not collide with the value */,
.mx_Field input:focus + label,
.mx_Field input:not(:placeholder-shown) + label,
.mx_Field textarea:focus + label,
.mx_Field textarea:not(:placeholder-shown) + label {
    -webkit-transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s,
        -webkit-transform 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s,
        -webkit-transform 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s,
        -webkit-transform 0.25s ease-out 0s;
    font-size: 0.625rem;
    -webkit-transform: translateY(-13px);
            transform: translateY(-13px);
    padding: 0 2px;
    background-color: var(--cpd-color-bg-canvas-default);
    pointer-events: initial;
}

.mx_Field input:focus + label,
.mx_Field select:focus + label,
.mx_Field textarea:focus + label {
    color: var(--cpd-color-text-link-external);
}

.mx_Field select:disabled,
.mx_Field select:disabled + label,
.mx_Field input:disabled,
.mx_Field input:disabled + label,
.mx_Field textarea:disabled,
.mx_Field textarea:disabled + label {
    background-color: var(--cpd-color-bg-canvas-default);
    color: var(--cpd-color-gray-900);
}
    .mx_Field_valid.mx_Field,
    .mx_Field_valid.mx_Field:focus-within {
        border-color: #2e80de;
        border-color: var(--cpd-color-text-action-accent);
    }

    .mx_Field_valid.mx_Field label,
    .mx_Field_valid.mx_Field:focus-within label {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }
    .mx_Field_invalid.mx_Field,
    .mx_Field_invalid.mx_Field:focus-within {
        border-color: #e0454b;
        border-color: var(--cpd-color-text-critical-primary);
    }

    .mx_Field_invalid.mx_Field label,
    .mx_Field_invalid.mx_Field:focus-within label {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }

/* Customise other components when placed inside a Field */

.mx_Field .mx_Dropdown_input {
    border: medium none currentcolor;
    border: initial;
    border-radius: 0;
    border-radius: initial;
}

.mx_Field .mx_CountryDropdown {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_GenericEventListSummary {
    position: relative;

    /* Make all state events one order smaller than the other events */
}

    .mx_GenericEventListSummary .mx_GenericEventListSummary_avatars {
        margin-right: 8px;
    }

    .mx_GenericEventListSummary .mx_GenericEventListSummary_spacer {
        border-bottom: 1px solid transparent;
        margin-left: 63px;
        line-height: 1.875rem; /* TODO: Use a variable */
    }

        .mx_IRCLayout .mx_GenericEventListSummary .mx_GenericEventListSummary_spacer {
            line-height: var(--line-height);
        }

    .mx_GenericEventListSummary .mx_GenericEventListSummary_toggle {
        /* We reuse a title cased translation */
        text-transform: lowercase;
    }
        .mx_GenericEventListSummary[data-layout="irc"] .mx_GenericEventListSummary_toggle, .mx_GenericEventListSummary[data-layout="group"] .mx_GenericEventListSummary_toggle {
            float: right;
            margin-inline: 0 10px;
        }

    .mx_GenericEventListSummary[data-layout="group"] {
        margin-top: 8px;
    }

    .mx_GenericEventListSummary[data-layout="bubble"] {
        --maxWidth: 70%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-left: calc(var(--avatarSize) + var(--gutterSize));

        /* ideally we'd use display=contents here for the layout to all work regardless of the *ELS but */
        /* that breaks ScrollPanel's reliance upon offsetTop so we have to have a bit more finesse. */
    }

        .mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_toggle {
            margin-block: 0;
        }

            .mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_toggle[aria-expanded="false"] {
                -webkit-box-ordinal-group: 10;
                    -ms-flex-order: 9;
                        order: 9; /* TODO: Remove */
            }

            .mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_toggle[aria-expanded="true"] {
                -webkit-margin-start: auto;
                        margin-inline-start: auto; /* reduce clickable area */
                -webkit-margin-end: var(--EventTile_bubble-margin-inline-end);
                        margin-inline-end: var(--EventTile_bubble-margin-inline-end); /* as the parent has zero margin */
            }

        .mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_spacer {
            display: none;
        }

        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-column-gap: 5px;
               -moz-column-gap: 5px;
                    column-gap: 5px;
        }
        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            margin: 0;
        }

        .mx_GenericEventListSummary[data-layout="bubble"]::after {
            content: "";
            clear: both;
        }
            .mx_GenericEventListSummary[data-layout="bubble"]:hover::before {
                background: transparent;
            }

    .mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary {
        font-size: 0.8125rem;
        margin-top: 4px;
    }

        .mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary .mx_EventTile_line {
            line-height: 1.25;
        }

        .mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary .mx_GenericEventListSummary_spacer {
            line-height: 1.375;
        }

        .mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary .mx_TextualEvent.mx_GenericEventListSummary_summary {
            font: var(--cpd-font-body-sm-regular);
        }
    .mx_GenericEventListSummary .mx_EventTile {
        font: var(--cpd-font-body-sm-regular);
        color: var(--cpd-color-text-secondary);
    }

.mx_GenericEventListSummary_unstyledList {
    list-style: none;
    padding: 0;
}

.mx_TextualEvent.mx_GenericEventListSummary_summary {
    font: var(--cpd-font-body-sm-regular);
    display: inline;
    color: var(--cpd-color-text-secondary);
}

.mx_GenericEventListSummary_avatars {
    display: inline-block;
    line-height: 0.75rem;
}

    .mx_GenericEventListSummary_avatars .mx_BaseAvatar {
        margin-right: -4px;
        cursor: pointer;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --image-view-panel-height: 68px;
}

.mx_ImageView {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_ImageView_image_wrapper {
    pointer-events: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    overflow: hidden;
}

.mx_ImageView_image {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

    .mx_ImageView_image.mx_ImageView_image_animating {
        -webkit-transition: -webkit-transform 200ms ease 0s;
        transition: -webkit-transform 200ms ease 0s;
        transition: transform 200ms ease 0s;
        transition: transform 200ms ease 0s, -webkit-transform 200ms ease 0s;
    }

    .mx_ImageView_image.mx_ImageView_image_animatingLoading {
        -webkit-transition: -webkit-transform 300ms ease 0s;
        transition: -webkit-transform 300ms ease 0s;
        transition: transform 300ms ease 0s;
        transition: transform 300ms ease 0s, -webkit-transform 300ms ease 0s;
    }

.mx_ImageView_panel {
    width: 100%;
    height: 68px;
    height: var(--image-view-panel-height);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-animation-name: mx_ImageView_panel_keyframes;
            animation-name: mx_ImageView_panel_keyframes;
    -webkit-animation-duration: 300ms;
            animation-duration: 300ms;
}

.mx_ImageView_info_wrapper {
    pointer-events: initial;
    padding-left: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
}

.mx_ImageView_info {
    padding-left: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_ImageView_info_sender {
    font-weight: bold;
}

.mx_ImageView_title {
    color: #fff;
    font-size: 0.75rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    text-align: center;
}

.mx_ImageView_toolbar {
    --icon-size: 24px;

    padding-right: 16px;
    pointer-events: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: var(--cpd-space-3x);
}

.mx_ImageView_button {
    padding: calc((32px - var(--icon-size)) / 2);
    width: var(--icon-size);
    height: var(--icon-size);
    display: block;
}

    .mx_ImageView_button svg {
        height: inherit;
        width: inherit;
        display: block;
        color: var(--cpd-color-icon-tertiary);
    }

.mx_ImageView_button_more {
    --icon-size: 28px;
}

.mx_ImageView_button_close {
    border-radius: 100%;
    background: #21262c; /* same on all themes */
}

@media (prefers-reduced-motion) {
    .mx_ImageView_image_animating {
        -webkit-transition: none !important;
        transition: none !important;
    }

    .mx_ImageView_image_animatingLoading {
        -webkit-transition: none !important;
        transition: none !important;
    }
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InfoTooltip_icon {
    width: 16px;
    height: 16px;
    display: inline-block;
}

    .mx_InfoTooltip_icon svg {
        height: inherit;
        width: inherit;
        color: #91a1c0;
    }

.mx_InfoTooltip_icon::before {
    display: inline-block;
    vertical-align: middle;
}
}
@layer app-web{

/*
Copyright 2017-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InlineSpinner {
    display: inline;
}

    .mx_InlineSpinner svg {
        margin: 0px 6px;
        vertical-align: -3px;
        display: inline-block;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InteractiveTooltip_wrapper {
    position: fixed;
    z-index: 3999;
}

.mx_InteractiveTooltip {
    border-radius: 8px;
    background-color: var(--cpd-color-bg-canvas-default);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    position: absolute;
    z-index: 5001;
    -webkit-box-shadow:
        0 24px 8px rgb(17 17 26 / 4%),
        0 8px 32px rgb(17 17 26 / 4%);
            box-shadow:
        0 24px 8px rgb(17 17 26 / 4%),
        0 8px 32px rgb(17 17 26 / 4%);
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_top {
    top: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_left {
    left: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_right {
    right: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_bottom {
    bottom: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip_chevron_top {
    position: absolute;
    left: calc(50% - 8px);
    top: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-bottom: 8px solid var(--cpd-color-bg-canvas-default);
    border-right: 8px solid transparent;
}

/* Adapted from https://codyhouse.co/blog/post/css-rounded-triangles-with-clip-path */
/* by Sebastiano Guerriero (@guerriero_se) */
@supports (clip-path: polygon(0% 0%, 100% 100%, 0% 100%)) {
    .mx_InteractiveTooltip_chevron_top {
        height: 16px;
        width: 16px;
        background-color: inherit;
        border: none;
        clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
        -webkit-transform: rotate(135deg);
                transform: rotate(135deg);
        border-radius: 0 0 0 3px;
        top: calc(-8px / 1.414); /* sqrt(2) because of rotation */
    }
}

.mx_InteractiveTooltip_chevron_bottom {
    position: absolute;
    left: calc(50% - 8px);
    bottom: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-top: 8px solid var(--cpd-color-bg-canvas-default);
    border-right: 8px solid transparent;
}

/* Adapted from https://codyhouse.co/blog/post/css-rounded-triangles-with-clip-path */
/* by Sebastiano Guerriero (@guerriero_se) */
@supports (clip-path: polygon(0% 0%, 100% 100%, 0% 100%)) {
    .mx_InteractiveTooltip_chevron_bottom {
        height: 16px;
        width: 16px;
        background-color: inherit;
        border: none;
        clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg);
        border-radius: 0 0 0 3px;
        bottom: calc(-8px / 1.414); /* sqrt(2) because of rotation */
    }
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InviteReason {
    position: relative;
    margin-bottom: 1em;
}

    .mx_InviteReason .mx_InviteReason_reason {
        visibility: visible;
    }

    .mx_InviteReason .mx_InviteReason_view {
        display: none;
        position: absolute;
        inset: 0;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        cursor: pointer;
        color: var(--cpd-color-text-secondary);
    }

        .mx_InviteReason .mx_InviteReason_view svg {
            width: 16px;
            height: 16px;
            color: var(--cpd-color-text-secondary);
            display: inline-block;
            margin-right: 8px;
        }
    .mx_InviteReason_hidden .mx_InviteReason_reason {
        visibility: hidden;
    }

    .mx_InviteReason_hidden .mx_InviteReason_view {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LabelledCheckbox {
    margin-top: var(--cpd-space-2x);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_LanguageDropdown .mx_Dropdown_option > div {
        text-transform: capitalize;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MiniAvatarUploader {
    position: relative;
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content;
}

    .mx_MiniAvatarUploader .mx_MiniAvatarUploader_indicator {
        position: absolute;

        height: 16px;
        width: 16px;
        padding: 5px;

        right: -6px;
        bottom: -6px;

        background-color: var(--cpd-color-bg-canvas-default);
        border-radius: 50%;

        line-height: 0;
    }

        .mx_MiniAvatarUploader .mx_MiniAvatarUploader_indicator .mx_MiniAvatarUploader_cameraIcon {
            height: inherit;
            width: inherit;
            color: var(--cpd-color-text-secondary);
        }

.mx_MiniAvatarUploader_input {
    display: none;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Pill {
    padding: 0.0625rem 0.4em 0.0625rem 0.4em;
    line-height: 1.0625rem;
    border-radius: 1rem;
    vertical-align: text-top;
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 100%;
    overflow: hidden;
    cursor: pointer;

    color: var(--cpd-color-text-on-solid-primary) !important; /* To override .markdown-body */
    background-color: #2e80de !important;
    background-color: var(--cpd-color-bg-action-primary-rest) !important; /* To override .markdown-body */
    /* For enhanced visibility under contrast control */
    outline: 1px solid transparent;

    /* We don't want to indicate clickability */
}

    .mx_Pill > * {
        pointer-events: none;
    }

    .mx_Pill.mx_UserPill_me,
    .mx_Pill.mx_AtRoomPill,
    .mx_Pill.mx_KeywordPill {
        background-color: var(--cpd-color-bg-critical-primary) !important; /* To override .markdown-body */
    }

    .mx_Pill:hover {
        background-color: #3a8fe6 !important;
        background-color: var(--cpd-color-bg-action-primary-hovered) !important; /* To override .markdown-body */
    }

    .mx_Pill:active {
        background-color: #175fb0 !important;
        background-color: var(--cpd-color-bg-action-primary-pressed) !important; /* To override .markdown-body */
    }

    .mx_Pill.mx_UserPill_me:hover {
        background-color: var(
            --cpd-color-bg-critical-hovered
        ) !important; /* To override .markdown-body | same on both themes */
    }
    .mx_Pill.mx_AtRoomPill:hover,
    .mx_Pill.mx_KeywordPill:hover {
        background-color: var(--cpd-color-bg-critical-primary) !important; /* To override .markdown-body */
        cursor: inherit;
    }

    .mx_Pill::before,
    .mx_Pill .mx_BaseAvatar {
        -webkit-margin-start: -0.3em;
                margin-inline-start: -0.3em; /* Otherwise the gap is too large */
        -webkit-margin-end: 0.2em;
                margin-inline-end: 0.2em;
        min-width: 1rem; /* ensure the avatar is not compressed */
        -webkit-user-select: text;
           -moz-user-select: text;
            -ms-user-select: text;
                user-select: text;
        vertical-align: top;
    }

    .mx_Pill .mx_Pill_text {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    a.mx_Pill {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        text-decoration: none !important; /* To override .markdown-body */
    }

    .mx_Pill .mx_Pill_LinkIcon {
        background-color: var(--cpd-color-text-link-external);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        color: var(--cpd-color-bg-canvas-default);
        height: 16px;
        padding: 1px;
        width: 16px;
        border-radius: 50%;
    }

    .mx_Pill .mx_Pill_UserIcon {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        color: var(--cpd-color-text-secondary);
        height: 16px;
        width: 16px;
    }

    .mx_Pill.mx_SpacePill {
        border-top-left-radius: 8px;
        border-bottom-left-radius: 8px;
        padding-left: 4px;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PowerSelector {
    width: 100%;
}

.mx_PowerSelector .mx_Field select,
.mx_PowerSelector .mx_Field input {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

progress.mx_ProgressBar {
    height: 6px;
    width: 60px;
    overflow: hidden;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);

    border-radius: 6px;
}

    progress.mx_ProgressBar::-moz-progress-bar {
        border-radius: 6px;
    }

    progress.mx_ProgressBar::-webkit-progress-bar,
    progress.mx_ProgressBar::-webkit-progress-value {
        border-radius: 6px;
    }

    progress.mx_ProgressBar{
    color: var(--cpd-color-icon-accent-tertiary);
}
    progress.mx_ProgressBar::-moz-progress-bar {
        background-color: var(--cpd-color-icon-accent-tertiary);
    }
    progress.mx_ProgressBar::-webkit-progress-value {
        background-color: var(--cpd-color-icon-accent-tertiary);
    }
    progress.mx_ProgressBar{
    background-color: var(--cpd-color-gray-200);
}
    progress.mx_ProgressBar::-webkit-progress-bar {
        background-color: var(--cpd-color-gray-200);
    }
    progress.mx_ProgressBar::-webkit-progress-value {
        -webkit-transition: width 1s;
        transition: width 1s;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_QRCode img {
        border-radius: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2018 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReplyChain {
    margin: 0; /* Reset default blockquote margin */
    padding-left: 10px;
    border-left: 2px solid var(--username-color);
    border-radius: 2px;
}
        .mx_ReplyChain .mx_ReplyChain_show.mx_AccessibleButton_kind_link_inline {
            white-space: nowrap; /* Enforce 'In reply to' to be a single line */
            color: var(--cpd-color-text-secondary);
            -webkit-transition: color ease 0.15s;
            transition: color ease 0.15s;
            font-weight: var(--cpd-font-weight-regular);
            text-decoration: inherit;
        }

            .mx_ReplyChain .mx_ReplyChain_show.mx_AccessibleButton_kind_link_inline:hover {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

    .mx_ReplyChain.mx_ReplyChain_color1 {
        --username-color: var(--cpd-color-text-decorative-1);
    }

    .mx_ReplyChain.mx_ReplyChain_color2 {
        --username-color: var(--cpd-color-text-decorative-2);
    }

    .mx_ReplyChain.mx_ReplyChain_color3 {
        --username-color: var(--cpd-color-text-decorative-3);
    }

    .mx_ReplyChain.mx_ReplyChain_color4 {
        --username-color: var(--cpd-color-text-decorative-4);
    }

    .mx_ReplyChain.mx_ReplyChain_color5 {
        --username-color: var(--cpd-color-text-decorative-5);
    }

    .mx_ReplyChain.mx_ReplyChain_color6 {
        --username-color: var(--cpd-color-text-decorative-6);
    }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ResizeHandle {
    cursor: row-resize;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    z-index: 100;
}

    .mx_ResizeHandle.mx_ResizeHandle--horizontal {
        margin: 0 -5px;
        padding: 0 5px;
        cursor: col-resize;
    }

        .mx_ResizeHandle.mx_ResizeHandle--horizontal > div {
            width: 1px;
            height: 100%;
        }

    .mx_ResizeHandle.mx_ResizeHandle--vertical {
        margin: -5px 0;
        padding: 5px 0;
    }

        .mx_ResizeHandle.mx_ResizeHandle--vertical > div {
            height: 1px;
        }
}
@layer app-web{
/* XXX: bleurgh, what is this? These classes totally break the component */
/* naming scheme; it's completely unclear where or how they're being used */
/* --Matthew */

.mx_Markdown_BOLD {
    font-weight: bold;
}

.mx_Markdown_ITALIC {
    font-style: italic;
    /*
    // interestingly, *not* using the explicit italic font
    // variant seems yield better results.

    // compensate for Nunito italics being terrible
    // https://github.com/google/fonts/issues/172
    transform: skewX(-14deg);
    display: inline-block;
    */
}

.mx_Markdown_CODE {
    padding: 0.2em 0;
    margin: 0;
    font-size: 85%;
    background-color: rgba(0, 0, 0, 0.04);
    border-radius: 3px;
}

.mx_Markdown_HR {
    display: block;
    background: #e9e9e9;
}

.mx_Markdown_STRIKETHROUGH {
    text-decoration: line-through;
}

.mx_Emoji {
    /* Should be 1.8rem for our default message bodies, and scale with the */
    /* surrounding text */
    font-size: max(1.125rem, 1em);
    vertical-align: bottom;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomAliasField {
    /* if parent is a flex container, this allows the */
    /* width to be as wide as needed, and not 100% */
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    min-width: 0;
    max-width: 100%;
}

    .mx_RoomAliasField input {
        width: 150px;
        padding-left: 0;
        padding-right: 0;
    }

    .mx_RoomAliasField input::-webkit-input-placeholder {
        color: var(--cpd-color-gray-900);
        font-weight: normal;
    }

    .mx_RoomAliasField input::-moz-placeholder {
        color: var(--cpd-color-gray-900);
        font-weight: normal;
    }

    .mx_RoomAliasField input:-ms-input-placeholder {
        color: var(--cpd-color-gray-900);
        font-weight: normal;
    }

    .mx_RoomAliasField input::-ms-input-placeholder {
        color: var(--cpd-color-gray-900);
        font-weight: normal;
    }

    .mx_RoomAliasField input::placeholder {
        color: var(--cpd-color-gray-900);
        font-weight: normal;
    }

    .mx_RoomAliasField .mx_Field_prefix,
    .mx_RoomAliasField .mx_Field_postfix {
        color: var(--cpd-color-gray-900);
        border-left: none;
        border-right: none;
        font-weight: var(--cpd-font-weight-semibold);
        padding: 9px 10px;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_RoomAliasField .mx_Field_postfix {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        /* this allows the domain name to show */
        /* as long as it doesn't make the input shrink */
        /* if it's too big, it shows an ellipsis */
        /* 180: 28 for prefix, 152 for input */
        max-width: calc(100% - 180px);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SSOButtons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

    .mx_SSOButtons .mx_SSOButtons_row + .mx_SSOButtons_row {
        margin-top: 16px;
    }

    .mx_SSOButtons .mx_SSOButton {
        position: relative;
        width: 100%;
        display: inline-block;
    }

        .mx_SSOButtons .mx_SSOButton svg,
        .mx_SSOButtons .mx_SSOButton img {
            width: 24px;
            height: 24px;
            -o-object-fit: contain;
               object-fit: contain;
            position: absolute;
            left: 8px;
            top: 4px;
            color: var(--cpd-color-icon-primary);
        }
        .mx_SSOButtons .mx_SSOButton_mini svg,
        .mx_SSOButtons .mx_SSOButton_mini img {
            /* 30px parent, 24px self */
            padding: 3px;
            position: static;
            position: initial;
        }

        .mx_SSOButtons .mx_SSOButton_mini + .mx_SSOButton_mini {
            margin-left: 16px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SearchWarning {
    text-align: center;
    padding: 0 16px;
}

    .mx_SearchWarning > * {
        vertical-align: middle;
    }

    .mx_SearchWarning > img {
        margin-right: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ServerPicker {
    margin-bottom: 14px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgb(141, 151, 165, 0.2);
    display: grid;
    grid-template-columns: auto -webkit-min-content;
    grid-template-columns: auto min-content;
    grid-template-rows: auto auto auto;
    font: var(--cpd-font-body-md-regular);
}

    .mx_ServerPicker > h2 {
        font-weight: var(--cpd-font-weight-semibold);
        margin: 0 0 20px;
        grid-column: 1;
        grid-row: 1;
    }

    .mx_ServerPicker .mx_ServerPicker_help {
        width: 24px;
        height: 24px;
        border-radius: 10px;
        grid-column: 2;
        grid-row: 1;
        margin-left: auto;
        margin-top: -2px;
        margin-right: -2px;
    }

        .mx_ServerPicker .mx_ServerPicker_help svg {
            width: inherit;
            height: inherit;
            color: var(--cpd-color-icon-tertiary);
        }

    .mx_ServerPicker .mx_ServerPicker_server {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        grid-column: 1;
        grid-row: 2;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-right: 8px;
    }

    .mx_ServerPicker .mx_ServerPicker_change {
        grid-column: 2;
        grid-row: 2;
    }

    .mx_ServerPicker .mx_ServerPicker_desc {
        margin-top: 4px;
        color: var(--cpd-color-gray-800);
        grid-column: 1 / 2;
        grid-row: 3;
    }
    .mx_ServerPicker_helpDialog .mx_Dialog_content {
        width: 456px;
    }
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsDropdown {
    margin-bottom: var(--cpd-space-1x);
    width: 100%;
}

    .mx_SettingsDropdown .mx_SettingsDropdown_label {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin: var(--cpd-space-1x) 0;
    }

    .mx_SettingsDropdown .mx_Dropdown_input {
        width: 360px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsFlag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 4px;
    width: 100%;
}

    .mx_SettingsFlag .mx_ToggleSwitch {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }
        .mx_SettingsFlag.mx_SettingsFlag_toggleInFront .mx_ToggleSwitch {
            display: inline-block;
            vertical-align: middle;
            margin-right: 8px;
        }

        .mx_SettingsFlag.mx_SettingsFlag_toggleInFront .mx_SettingsFlag_label {
            display: inline-block;
            vertical-align: middle;
        }

.mx_SettingsFlag_label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    padding-right: 10px;
    padding-top: 4px;
}

.mx_SettingsFlag_microcopy {
    margin-top: 4px;
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);

    /* Support code/pre elements in settings flag descriptions */
}
    .mx_SettingsFlag_microcopy pre,
    .mx_SettingsFlag_microcopy code {
        font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
        font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
        background-color: rgba(0, 0, 0, 0.04);
    }

    .mx_SettingsFlag_microcopy .mx_SettingsTab_microcopy_warning::before {
        content: "⚠️ ";
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Spinner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_MatrixChat_middlePanel .mx_Spinner {
    height: auto;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/**
* This component expects the parent to specify a positive padding and
* width
*/

.mx_StyledRadioButton {
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

    .mx_StyledRadioButton > .mx_StyledRadioButton_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        margin-left: 8px;
        margin-right: 8px;
    }

    .mx_StyledRadioButton .mx_StyledRadioButton_spacer {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;

        height: 1rem;
        width: 1rem;
    }

    .mx_StyledRadioButton input[type="radio"] {
        /* Remove the OS's representation */
        margin: 0;
        padding: 0;
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
    }

        .mx_StyledRadioButton input[type="radio"] + div {
            -ms-flex-negative: 0;
                flex-shrink: 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;

            -webkit-box-sizing: border-box;

                    box-sizing: border-box;
            height: 1rem;
            width: 1rem;
            margin-left: 2px; /* For the highlight on focus */

            border: 1px solid var(--cpd-color-border-interactive-primary);
            border-radius: 1rem;
        }

            .mx_StyledRadioButton input[type="radio"] + div > div {
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;

                height: 0.5rem;
                width: 0.5rem;

                border-radius: 0.5rem;
            }
            .mx_StyledRadioButton input[type="radio"]:focus-visible + div {
                outline-width: 2px;
                outline-style: solid;
                outline-color: Highlight;
                /* WebKit gets its native focus styles. */
            }
                @media (-webkit-min-device-pixel-ratio: 0) {
            .mx_StyledRadioButton input[type="radio"]:focus-visible + div {
        outline-color: -webkit-focus-ring-color;
        outline-style: auto;
            }
    }
            .mx_StyledRadioButton input[type="radio"]:checked + div {
                border-color: var(--cpd-color-bg-accent-rest);
            }

                .mx_StyledRadioButton input[type="radio"]:checked + div > div {
                    background: var(--cpd-color-bg-accent-rest);
                    /* For enhanced visibility under contrast control */
                    outline: 1px solid transparent;
                }
            .mx_StyledRadioButton input[type="radio"]:disabled + div,
            .mx_StyledRadioButton input[type="radio"]:disabled + div + span {
                opacity: 0.5;
                cursor: not-allowed;
            }

            .mx_StyledRadioButton input[type="radio"]:disabled + div {
                border-color: var(--cpd-color-border-interactive-primary);
            }
            .mx_StyledRadioButton input[type="radio"]:checked:disabled + div > div {
                background-color: var(--cpd-color-border-interactive-primary);
            }

    .mx_StyledRadioButton .mx_StyledRadioButton_innerLabel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        top: 4px;
    }

.mx_StyledRadioButton_outlined {
    border: 1px solid #181b21;
    border-radius: 8px;
}

.mx_StyledRadioButton_checked {
    border-color: var(--cpd-color-bg-accent-rest);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SyntaxHighlight {
    /* inhibit hljs styling */
    background: none !important;
    color: #c8c8cd !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_TagComposer .mx_TagComposer_input {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }

        .mx_TagComposer .mx_TagComposer_input .mx_AccessibleButton {
            min-width: 70px;
            padding: 0 8px; /* override from button styles */
            -ms-flex-item-align: stretch;
                align-self: stretch; /* override default settingstab style */
        }

        .mx_TagComposer .mx_TagComposer_input .mx_Field,
        .mx_TagComposer .mx_TagComposer_input .mx_Field input,
        .mx_TagComposer .mx_TagComposer_input .mx_AccessibleButton {
            /* So they look related to each other by feeling the same */
            border-radius: 8px;
        }

    .mx_TagComposer .mx_TagComposer_tags {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin-top: 12px; /* this plus 12px from the tags makes 24px from the input */
    }

    .mx_TagComposer .mx_Tag {
        margin-right: 12px;
        margin-top: 12px;
    }

.mx_Tag {
    font-size: 0.9375rem;

    display: -webkit-inline-box;

    display: -ms-inline-flexbox;

    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    gap: 8px;
    padding: 8px;
    border-radius: 8px;

    color: #ffffff;

    color: var(--cpd-color-text-primary);
    background: var(--cpd-color-gray-400);
}

    .mx_Tag > svg:first-child {
        width: 1em;
        color: var(--cpd-color-text-secondary);
        -webkit-transform: scale(1.25);
                transform: scale(1.25);
        -webkit-transform-origin: center;
                transform-origin: center;
    }

    .mx_Tag .mx_Tag_delete {
        border-radius: 50%;
        text-align: center;
        width: 1.066666em; /* 16px; */
        height: 1.066666em;
        line-height: 1em;
        color: var(--cpd-color-text-secondary);
        background: var(--cpd-color-bg-subtle-secondary);
        position: relative;
    }

        .mx_Tag .mx_Tag_delete svg {
            width: 16px;
            height: 16px;
        }
}
@layer app-web{
/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_TextWithTooltip_target {
    display: inline;
}

.mx_TextWithTooltip_tooltip {
    display: none;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ToggleSwitch {
    --ToggleSwitch-min-width: 2.75rem;

    -webkit-transition:
        background-color 0.2s ease-out 0.1s,
        border-color 0.2s ease-out 0.1s;

    transition:
        background-color 0.2s ease-out 0.1s,
        border-color 0.2s ease-out 0.1s;

    width: 2.75rem;
    height: 1.25rem;
    border-radius: 1.5rem;
    padding: 2px;

    background-color: var(--cpd-color-bg-canvas-disabled);
    border: 1px solid var(--cpd-color-border-disabled);
    cursor: not-allowed;
}

    .mx_ToggleSwitch.mx_ToggleSwitch_enabled {
        cursor: pointer;
        background-color: var(--cpd-color-bg-canvas-default);
        border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-primary);
    }

        .mx_ToggleSwitch.mx_ToggleSwitch_enabled.mx_ToggleSwitch_on {
            background-color: var(--cpd-color-bg-accent-rest);
            border-color: var(--cpd-color-bg-accent-rest);
        }

        .mx_ToggleSwitch.mx_ToggleSwitch_enabled > .mx_ToggleSwitch_ball {
            background-color: var(--cpd-color-icon-secondary);
        }

    .mx_ToggleSwitch.mx_ToggleSwitch_on {
        background-color: var(--cpd-color-bg-action-primary-disabled);
        border-color: var(--cpd-color-bg-action-primary-disabled);
    }

        .mx_ToggleSwitch.mx_ToggleSwitch_on > .mx_ToggleSwitch_ball {
            left: calc(100% - 1.25rem);
            background-color: var(--cpd-color-icon-on-solid-primary);
        }

.mx_ToggleSwitch_ball {
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 1.25rem;
    background-color: var(--cpd-color-bg-action-primary-disabled);
    -webkit-transition:
        left 0.15s ease-out 0.1s,
        background-color 0.15s ease-out 0.1s;
    transition:
        left 0.15s ease-out 0.1s,
        background-color 0.15s ease-out 0.1s;
    left: 0;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Validation {
    position: relative;
    max-width: 200px;
}

.mx_Validation_details {
    padding-left: 0;
    margin: 0;
}

.mx_Validation_description + .mx_Validation_details {
    margin: 1em 0 0;
}

.mx_Validation_detail {
    font-weight: normal;
    list-style: none;
    margin-bottom: 0.5em;
}

    .mx_Validation_detail:last-child {
        margin-bottom: 0;
    }

    .mx_Validation_detail svg {
        width: 14px;
        height: 14px;
        margin-right: var(--cpd-space-1x);
        vertical-align: text-bottom;
    }

    .mx_Validation_detail.mx_Validation_valid {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }

    .mx_Validation_detail.mx_Validation_invalid {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 Tulir Asokan <tulir@maunium.net>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EmojiPicker {
    width: 340px;
    height: min(450px, 80vh);
    max-height: 80vh;

    border-radius: 4px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_EmojiPicker_body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow-y: scroll;
    scrollbar-width: thin;
    scrollbar-color: rgb(0, 0, 0, 0.2) transparent;
}

.mx_EmojiPicker_header {
    padding: 4px 8px 0;
    border-bottom: 1px solid #616b7f;
}

.mx_EmojiPicker_anchor {
    border: none;
    padding: var(--cpd-space-1x) 0;
    /* We have to explicitly inherit the font as button browser styles are implicitly ignorant */
    font: inherit;
    font-size: 1.25rem;
    line-height: 1;
    border-bottom: 2px solid transparent;
    background-color: transparent;
    border-radius: 4px 4px 0 0;

    width: 36px;
    height: 36px;

    color: #ffffff;

    color: var(--cpd-color-text-primary);
    display: inline-block;
}

    .mx_EmojiPicker_anchor:not(:disabled) {
        cursor: pointer;
    }
    .mx_EmojiPicker_anchor:disabled {
        -webkit-filter: opacity(0.3);
                filter: opacity(0.3);
    }

    .mx_EmojiPicker_anchor:not(:disabled):hover {
        background-color: #343a46;
        border-bottom: 2px solid #2e80de;
        border-bottom: 2px solid var(--cpd-color-text-action-accent);
    }

.mx_EmojiPicker_anchor_visible {
    border-bottom: 2px solid #2e80de;
    border-bottom: 2px solid var(--cpd-color-text-action-accent);
}

.mx_EmojiPicker_search {
    margin: 8px;
    border-radius: 4px;
    border: 1px solid rgba(231, 231, 231, 0.2);
    background-color: var(--cpd-color-bg-canvas-default);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

    .mx_EmojiPicker_search input {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        border: none;
        padding: 8px 12px;
        border-radius: 4px 0;
    }

        .mx_EmojiPicker_search input::-webkit-input-placeholder {
            color: var(--cpd-color-text-secondary);
        }

        .mx_EmojiPicker_search input::-moz-placeholder {
            color: var(--cpd-color-text-secondary);
        }

        .mx_EmojiPicker_search input:-ms-input-placeholder {
            color: var(--cpd-color-text-secondary);
        }

        .mx_EmojiPicker_search input::-ms-input-placeholder {
            color: var(--cpd-color-text-secondary);
        }

        .mx_EmojiPicker_search input::placeholder {
            color: var(--cpd-color-text-secondary);
        }

    .mx_EmojiPicker_search button {
        border: none;
        background-color: inherit;
        margin: 0;
        padding: 8px;
        -ms-flex-item-align: center;
            align-self: center;
        width: 32px;
        height: 32px;
        cursor: pointer;
    }

        .mx_EmojiPicker_search button svg {
            width: 100%;
            height: 100%;
        }

.mx_EmojiPicker_search_icon {
    width: 18px;
    margin: 8px;
}

    .mx_EmojiPicker_search_icon svg {
        width: 100%;
        height: 100%;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

.mx_EmojiPicker_category {
    padding: 0 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_EmojiPicker_category_label {
    width: 304px;
    font: var(--cpd-font-heading-sm-semibold);
}

.mx_EmojiPicker_list {
    width: 304px;
    padding: 0;
    margin: 0;
}

.mx_EmojiPicker_item_wrapper {
    display: inline-block;
    list-style: none;
    width: 38px;
    cursor: pointer;
}

    .mx_EmojiPicker_item_wrapper:focus-within {
        background-color: #343a46;
    }

.mx_EmojiPicker_body_showHighlight .mx_EmojiPicker_item_wrapper [tabindex="0"] .mx_EmojiPicker_item {
    background-color: #343a46;
}

.mx_EmojiPicker_item {
    display: inline-block;
    font-size: 1.25rem;
    padding: 5px;
    width: 100%;
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    border-radius: 4px;
}

    .mx_EmojiPicker_item:hover {
        background-color: #343a46;
    }

.mx_EmojiPicker_item_selected {
    color: rgb(0, 0, 0, 0.5);
    border: 1px solid #2e80de;
    border: 1px solid var(--cpd-color-text-action-accent);
    padding: 4px;
}

.mx_EmojiPicker_category_label,
.mx_EmojiPicker_preview_name {
    font-size: 1rem;
    font-weight: var(--cpd-font-weight-semibold);
    margin: 0;
}

.mx_EmojiPicker_footer {
    border-top: 1px solid #616b7f;
    min-height: 72px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_EmojiPicker_preview_emoji {
    font-size: 2rem;
    padding: 8px 16px;
}

.mx_EmojiPicker_preview_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden;
    padding-top: 1rem;
    padding-bottom: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_EmojiPicker_name {
    text-transform: capitalize;
}

.mx_EmojiPicker_shortcode {
    color: #c8c8cd;
    overflow-wrap: break-word;
    font: var(--cpd-font-body-md-regular);
}

    .mx_EmojiPicker_shortcode::before,
    .mx_EmojiPicker_shortcode::after {
        content: ":";
    }

.mx_EmojiPicker_quick {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-pack: distribute;
        justify-content: space-around;
}

.mx_EmojiPicker_quick_header .mx_EmojiPicker_name {
    margin-right: 4px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LocationPicker {
    border-radius: 8px;

    height: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    /* when there are errors loading the map */
    /* the canvas is still inserted */
    /* and can overlap error message/close buttons */
    /* hide it */
}
        .mx_LocationPicker.mx_LocationPicker_hasError .maplibregl-canvas-container,
        .mx_LocationPicker.mx_LocationPicker_hasError .maplibregl-control-container {
            display: none;
        }

    .mx_LocationPicker #mx_LocationPicker_map {
        border-top-left-radius: inherit;
        border-top-right-radius: inherit;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-ctrl.maplibregl-ctrl-group,
        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-ctrl.maplibregl-ctrl-attrib {
            margin-right: 16px;
        }

        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-ctrl.maplibregl-ctrl-group {
            /* place below the close button */
            /* padding-16 + 24px close button + padding-10 */
            margin-top: 50px;
        }

        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-user-location-accuracy-circle {
            display: none;
        }

        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-user-location-dot {
            display: none;
        }

    .mx_LocationPicker .mx_LocationPicker_footer {
        -webkit-box-flex: 0;
            -ms-flex: 0;
                flex: 0;
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 16px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: stretch;
            -ms-flex-pack: stretch;
                justify-content: stretch;

        border-bottom-left-radius: inherit;
        border-bottom-right-radius: inherit;

        background-color: var(--cpd-color-bg-subtle-secondary);
    }

.mx_LocationPicker_pinText {
    position: absolute;
    top: 16px;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    height: 0;
    pointer-events: none;
}

    .mx_LocationPicker_pinText span {
        -webkit-box-shadow: 0px 4px 15px rgb(0, 0, 0, 0.15);
                box-shadow: 0px 4px 15px rgb(0, 0, 0, 0.15);
        border-radius: 8px;
        padding: 8px;
        background-color: var(--cpd-color-bg-canvas-default);
        color: #ffffff;
        color: var(--cpd-color-text-primary);

        font-size: 0.75rem;
    }

.mx_LocationPicker_submitButton {
    width: 100%;
    height: 48px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CallEvent_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.mx_CallEvent {
    padding: 12px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-height: 60px;
    max-width: 600px;
    width: 100%;
    background-color: var(--cpd-color-bg-subtle-secondary);
    border-radius: 8px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    gap: 8px;
}

    .mx_CallEvent > .mx_BaseAvatar,
    .mx_CallEvent > .mx_Icon {
        -ms-flex-item-align: start;
            align-self: flex-start;
    }

    .mx_CallEvent > .mx_Icon {
        padding: 0;
        margin: 4px 0;
        color: var(--cpd-color-text-secondary);
    }

    .mx_CallEvent .mx_LiveContentSummary {
        font-size: 0.75rem;
    }

    .mx_CallEvent{

    --facepile-background: var(--cpd-color-bg-subtle-secondary);
}

.mx_CallEvent_title {
    font-size: 0.9375rem;
    line-height: 24px; /* in px to match the avatar */
}

.mx_CallEvent_inactive .mx_CallEvent_title svg {
    display: inline-block;
    vertical-align: middle;
    color: var(--cpd-color-text-secondary);
    width: 16px;
    height: 16px;
    margin-right: 8px;
}

.mx_CallEvent_active .mx_CallEvent_title {
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_CallEvent_columns {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.mx_TimelineCard .mx_CallEvent_columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px;
}

.mx_CallEvent_details {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
}

.mx_CallEvent_button {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-width: 120px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2018-2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble.mx_CreateEvent {
    margin: 10px auto;
    margin: var(--EventTileBubble_margin-block) auto;
}

    .mx_EventTileBubble.mx_CreateEvent svg {
        color: #b9bec6;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/** Disambiguated profile needs to have a different layout in the member tile */
.mx_MemberTileView .mx_DisambiguatedProfile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

    .mx_MemberTileView .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
        -webkit-margin-start: 0;
                margin-inline-start: 0;
        font: var(--cpd-font-body-sm-regular);
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .mx_MemberTileView .mx_DisambiguatedProfile span:not(.mx_DisambiguatedProfile_mxid) {
        /**
        In a member tile, this span element is a flex child and so
        we need the following for text overflow to work.
        **/
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallEvent_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

    .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 4px 0;

        position: relative;
        margin: 4px 0;
        padding: 12px 24px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--cpd-color-bg-subtle-secondary);
        border-radius: 8px;
        width: 65%;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
    }

        .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_iconButton {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
        }

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_iconButton svg {
                height: 16px;
                width: 16px;
                color: var(--cpd-color-text-secondary);
            }

        .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            max-width: 100%;
        }

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
                gap: 4px;
                margin-left: 10px; /* To match mx_LegacyCallEvent */
                margin-right: 10px;
                min-width: 0;
            }

                .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic .mx_LegacyCallEvent_sender {
                    font-weight: var(--cpd-font-weight-semibold);
                    margin-bottom: 4px;

                    overflow: hidden;
                    white-space: nowrap;
                    text-overflow: ellipsis;
                }

                .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic .mx_LegacyCallEvent_type {
                    font-weight: 400;
                    color: var(--cpd-color-text-secondary);
                }

        .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            color: var(--cpd-color-text-secondary);
            font-size: 0.75rem;
            gap: 12px; /* See mx_IncomingLegacyCallToast_buttons */
            -webkit-margin-start: 42px;
                    margin-inline-start: 42px; /* avatar (32px) + mx_LegacyCallEvent_info_basic margin (10px) */
            word-break: break-word;
            max-width: -webkit-fit-content;
            max-width: -moz-fit-content;
            max-width: fit-content;
        }

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button {
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                font-weight: var(--cpd-font-weight-semibold);
                height: 1.5rem;
                line-height: 1.5rem;
                margin-right: 0;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }
                .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button svg {
        width: 16px;
        height: 16px;
        display: inline-block;
        color: var(--cpd-color-bg-canvas-default);
        margin-right: 8px;
        vertical-align: middle;
    }
                .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button{
                padding: 0 12px;
                font-size: inherit;
}

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_tooltip {
                margin-right: 5px;
            }

        .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-align: initial;
                -ms-flex-align: initial;
                    align-items: initial;
            gap: 4px 16px;
            height: auto;
            height: initial;
            min-width: 290px;
        }

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow .mx_LegacyCallEvent_iconButton {
                position: absolute;
                margin-right: 0;
                top: 12px;
                right: 12px;
                height: 16px;
                width: 16px;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
            }

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow .mx_LegacyCallEvent_info {
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }

.mx_LegacyCallEvent_type_icon {
    height: 16px;
    width: 16px;
    margin-right: 6px;
    display: inline-block;
    vertical-align: -2px;
}

    .mx_LegacyCallEvent_type_icon svg {
        position: absolute;
        height: inherit;
        width: inherit;
        color: var(--cpd-color-gray-800);
    }
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_e2eIcon + .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
            position: relative;

            /* 5px (gap) + 14px (e2e icon size * mask-size) + 9px (margin-left of e2e icon) */
            right: calc(5px + 14px + 9px);
        }
            .mx_EventTile_leftAlignedBubble .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow {
                gap: 8px 4px;
            }
        .mx_IRCLayout .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
            -webkit-margin-start: 4px;
                    margin-inline-start: 4px; /* display green line */
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 Tulir Asokan <tulir@maunium.net>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_MImageReplyBody .mx_MImageBody_banner, .mx_MStickerBody_wrapper .mx_MImageBody_banner {
        position: absolute;
        bottom: 4px;
        left: 4px;
        padding: 4px;
        border-radius: 8px;
        border-radius: var(--MBody-border-radius);
        font-size: 0.9375rem;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        pointer-events: none;
        max-width: min(100%, 350px);
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        background-color: rgb(0, 0, 0, 0.6);
        color: #ffffff;
    }

    .mx_MImageReplyBody .mx_MImageBody_placeholder, .mx_MStickerBody_wrapper .mx_MImageBody_placeholder {
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_MImageReplyBody .mx_MImageBody_placeholder .mx_Blurhash > canvas, .mx_MStickerBody_wrapper .mx_MImageBody_placeholder .mx_Blurhash > canvas {
            -webkit-animation: mx--anim-pulse 1.75s infinite cubic-bezier(0.4, 0, 0.6, 1);
                    animation: mx--anim-pulse 1.75s infinite cubic-bezier(0.4, 0, 0.6, 1);
        }

    .mx_MImageReplyBody .mx_MImageBody_thumbnail_container, .mx_MStickerBody_wrapper .mx_MImageBody_thumbnail_container {
        border-radius: 8px;
        border-radius: var(--MBody-border-radius);
        overflow: hidden;
        contain: paint;
    }

    .mx_MImageReplyBody .mx_MImageBody_thumbnail, .mx_MStickerBody_wrapper .mx_MImageBody_thumbnail {
        display: block;
        height: 100%;
        width: 100%;
    }

    .mx_MImageReplyBody .mx_MImageBody_gifLabel, .mx_MStickerBody_wrapper .mx_MImageBody_gifLabel {
        position: absolute;
        display: block;
        top: 0px;
        left: 14px;
        padding: 5px;
        border-radius: 5px;
        background: rgba(0, 0, 0, 0.7);
        border: 2px solid rgba(0, 0, 0, 0.2);
        color: #f4f6fa;
        pointer-events: none;
    }

.mx_MImageReplyBody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
}

    .mx_MImageReplyBody .mx_MImageBody_thumbnail_container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        min-width: 0; /* Prevent a blowout */
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MLocationBody {
    max-width: 100%;
}

    .mx_MLocationBody .mx_MLocationBody_map {
        max-width: 100%;
        width: 450px;
        height: 300px;
        z-index: 0; /* keeps the entire map under the message action bar */

        border-radius: 8px;

        border-radius: var(--MBody-border-radius);
        cursor: pointer;
    }

/* In the timeline, we fit the width of the container */
.mx_EventTile_line .mx_MLocationBody .mx_MLocationBody_map {
    max-width: 450px;
    width: 100%;
}

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MLocationBody .mx_MLocationBody_map {
    max-width: 100%;
    width: 450px;
}

.mx_DisambiguatedProfile ~ .mx_MLocationBody {
    margin-top: 6px; /* See: https://github.com/matrix-org/matrix-react-sdk/pull/8442 */
}

.mx_ReplyTile .mx_MLocationBody {
    /* Prevent clicking a location within a reply */
    pointer-events: none;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MPollBody {
    margin-top: var(--cpd-space-2x);
    min-width: 0; /* Override fieldset default min-width: min-content */
    width: 100%; /* Ensure fieldset takes full available width */
    border: none; /* Remove default fieldset border */
    padding: 0; /* Remove default fieldset padding */
}

    .mx_MPollBody legend {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        margin-top: 0;
        margin-bottom: var(--cpd-space-2x);
        letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--cpd-space-3x);
    }

        .mx_MPollBody legend svg {
            -ms-flex-negative: 0;
                flex-shrink: 0;
            color: var(--cpd-color-icon-primary);
        }

        .mx_MPollBody legend .mx_MPollBody_edited {
            color: #b9bec6;
            font-size: 0.75rem;
            opacity: 0.6;
        }

    .mx_MPollBody .mx_MPollBody_totalVotes {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: inline;
                flex-direction: inline;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: start;
        color: var(--cpd-color-text-secondary);
        font-size: 0.75rem;
    }

        .mx_MPollBody .mx_MPollBody_totalVotes .mx_Spinner {
            -webkit-box-flex: 0;
                -ms-flex: 0;
                    flex: 0;
            margin-left: 8px;
        }

/* Prevent clicking a poll within a reply */
.mx_ReplyTile .mx_MPollBody {
    pointer-events: none;
}

.mx_MPollBody_allOptions {
    display: grid;
    grid-gap: 16px;
    gap: 16px;
    margin-bottom: 8px;
    max-width: 550px;
}
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MStickerBody_wrapper {
    padding: 12px 0px;
}

.mx_MStickerBody_hidden {
    max-width: 220px;
    text-decoration: none;
    text-align: center;

    /* To center the text in the middle of the frame */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_MStickerBody_placeholder {
    /* centering */
    position: absolute;
    left: calc(50% - 40px);
    top: calc(50% - 40px);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageActionBar {
    --MessageActionBar-size-button: 28px;
    --MessageActionBar-size-margin: 3px;

    position: absolute;
    top: calc(
        -1 *
            (
                28px + 2 *
                    (3px + var(--cpd-border-width-1))
            )
    );
    top: calc(
        -1 *
            (
                var(--MessageActionBar-size-button) + 2 *
                    (var(--MessageActionBar-size-margin) + var(--cpd-border-width-1))
            )
    );
    right: 8px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    /* Ensure the action bar appears above other things like the read marker */
    /* and sender avatar (for small screens) */
    z-index: 10;

    /* Adds a previous event safe area so that you can't accidentally hover the */
    /* previous event while trying to mouse into the action bar or from the */
    /* react button to its tooltip. */
}
    .mx_MessageActionBar::before {
        content: "";
        position: absolute;
        /* tooltip safe mousing area + tooltip overhang + */
        /* action bar + action bar offset from event */
        width: calc(10px + 48px + 100% + 8px);
        /* safe area + action bar */
        height: calc(20px + 100%);
        top: -12px;
        left: -58px;
        z-index: -1;
        cursor: auto;
        cursor: initial;

        /* stylelint-disable-next-line max-line-length */
    }
        .mx_GenericEventListSummary[data-layout="bubble"]
            .mx_GenericEventListSummary_toggle
            ~ .mx_GenericEventListSummary_unstyledList
            .mx_EventTile_info:first-of-type
            .mx_MessageActionBar::before {
            /* improve clickability of "collapse" link button on bubble layout by reducing width and height values */
            /* mx_GenericEventListSummary_toggle ~: to apply rules to action bar when "collapse" button is available */
            /* mx_EventTile_info:first-of-type: to apply rules to the info event tile just under "collapse" button */
            /* TODO: use a new class name instead */
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }

        .mx_EventTile_info .mx_ViewSourceEvent ~ .mx_MessageActionBar::before {
            /* improve clickability of view source event toggle button by removing vertical safe area */
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_TextualEvent a {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }

    .mx_RoomView_searchResultsPanel .mx_TextualEvent {
        opacity: 1;
        opacity: initial; /* Unset the opacity value specified above on the search results panel */
    }

.mx_TextualBody_urlPreviews {
    /* Let shared-components own preview link colours instead of the app-wide anchor colour. */
}
    .mx_TextualBody_urlPreviews a:where(:not([data-kind])):hover,
    .mx_TextualBody_urlPreviews a:where(:not([data-kind])):link,
    .mx_TextualBody_urlPreviews a:where(:not([data-kind])):visited {
        color: revert-layer;
    }
}
@layer app-web{

/*
 * Copyright 2026 Element Creations Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_ThreadActionBar {
    position: absolute;
    visibility: hidden;
    top: calc(-1 * (28px + 2 * (3px + var(--cpd-border-width-1))));
    right: 8px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    /* Ensure the action bar appears above other things like the read marker */
    /* and sender avatar (for small screens) */
    z-index: 10;

    /* Adds a previous event safe area so that you can't accidentally hover the */
    /* previous event while trying to mouse into the action bar or from the */
    /* react button to its tooltip. */
}
    .mx_ThreadActionBar::before {
        content: "";
        position: absolute;
        /* tooltip safe mousing area + tooltip overhang + */
        /* action bar + action bar offset from event */
        width: calc(10px + 48px + 100% + 8px);
        /* safe area + action bar */
        height: calc(20px + 100%);
        top: -12px;
        left: -58px;
        z-index: -1;
        cursor: auto;
        cursor: initial;

        /* stylelint-disable-next-line max-line-length */
    }
        .mx_GenericEventListSummary[data-layout="bubble"]
            .mx_GenericEventListSummary_toggle
            ~ .mx_GenericEventListSummary_unstyledList
            .mx_EventTile_info:first-of-type
            .mx_ThreadActionBar::before {
            /* improve clickability of "collapse" link button on bubble layout by reducing width and height values */
            /* mx_GenericEventListSummary_toggle ~: to apply rules to action bar when "collapse" button is available */
            /* mx_EventTile_info:first-of-type: to apply rules to the info event tile just under "collapse" button */
            /* TODO: use a new class name instead */
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }

        .mx_EventTile_info .mx_ViewSourceEvent ~ .mx_ThreadActionBar::before {
            /* improve clickability of view source event toggle button by removing vertical safe area */
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble.mx_cryptoEvent {
    margin: 10px auto;
    margin: var(--EventTileBubble_margin-block) auto;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollHistory_content {
    height: 600px;
    width: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_PollHistory_header.mx_Heading_h2 {
    margin-bottom: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollHistoryList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    max-height: 100%;
}

.mx_PollHistoryList_list {
    overflow: auto;
    list-style: none;
    margin-block: 0;
    padding-inline: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    display: grid;
    grid-gap: 20px;
    gap: 20px;
    padding-right: 64px;
    margin: 32px 0;
}

    .mx_PollHistoryList_list.mx_PollHistoryList_list_ENDED {
        gap: 32px;
    }

.mx_PollHistoryList_noResults {
    height: 100%;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 64px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;

    line-height: 1.5rem;
    color: var(--cpd-color-text-secondary);
}

    .mx_PollHistoryList_noResults .mx_PollHistoryList_loadMorePolls {
        margin-top: 16px;
    }

.mx_PollHistoryList_loading {
    color: var(--cpd-color-text-secondary);
    text-align: center;

    /* center in all free space*/
    /* when there are no results*/
}
    .mx_PollHistoryList_loading.mx_PollHistoryList_noResultsYet {
        margin: auto auto;
    }

.mx_PollHistoryList_loadMorePolls {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BaseCard {
    --BaseCard_EventTile_line-padding-block: 2px;
    --BaseCard_EventTile-spacing-inline: 36px;
    --BaseCard_header-button-size: 28px;

    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: var(--cpd-font-size-body-md);
}

    .mx_BaseCard .mx_BaseCard_header {
        height: 64px;
        padding: var(--cpd-space-4x);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        /* changing the color from $separator to transparent as it is
           the best visual output during the transition period. This will be
           reintroduced at a later stage. */
        border-bottom: 1px solid transparent;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: var(--cpd-space-3x);
        -ms-flex-negative: 0;
            flex-shrink: 0;
        -webkit-border-after: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
                border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
    }

        .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_spacer {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

        .mx_BaseCard .mx_BaseCard_header > h2 {
            margin: 0 44px;
            font: var(--cpd-font-body-sm-semibold);
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            height: 24px;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

            .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_heading {
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
                font: var(--cpd-font-body-md-medium);
                color: var(--cpd-color-text-secondary);
            }

            .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_button--option {
                position: relative;
                width: calc(var(--BaseCard_header-button-size) - 4px);
                height: calc(var(--BaseCard_header-button-size) - 4px);
                padding: 2px;
            }

                .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_button--option svg {
                    width: inherit;
                    height: inherit;
                    display: block;
                    color: var(--cpd-color-text-secondary);
                }

                .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_button--option:hover svg {
                    color: #ffffff;
                    color: var(--cpd-color-text-primary);
                }

    .mx_BaseCard .mx_AutoHideScrollbar {
        min-height: 0;
        width: 100%;
        height: 100%;
        scrollbar-gutter: stable;
    }

    .mx_BaseCard .mx_BaseCard_footer {
        padding-top: 4px;
        text-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    }

        .mx_BaseCard .mx_BaseCard_footer .mx_AccessibleButton_kind_secondary {
            color: var(--cpd-color-text-secondary);
            background-color: rgb(141, 151, 165, 0.2);
            font: var(--cpd-font-body-md-semibold);
        }

        .mx_BaseCard .mx_BaseCard_footer .mx_AccessibleButton_disabled {
            cursor: not-allowed;
        }
    .mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu {
        position: static;
        position: initial;
    }

        .mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu span:first-of-type {
            font-weight: var(--cpd-font-weight-semibold);
            font-size: inherit;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

        .mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu{

        font: var(--cpd-font-body-sm-regular);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        padding-top: 10px;
        padding-bottom: 10px;

        border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-secondary);
        -webkit-box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
                box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
}

    .mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu_chevron_top {
        left: auto;
        right: 22px;
        border-bottom-color: var(--cpd-color-border-interactive-secondary);
    }

        .mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu_chevron_top::after {
            content: "";
            border: inherit;
            border-bottom-color: var(--cpd-color-bg-canvas-default);
            position: absolute;
            top: 1px;
            left: -8px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EmptyState {
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: var(--cpd-space-4x);
    text-align: center;
}

    .mx_EmptyState svg {
        width: 56px;
        height: 56px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border-radius: 8px;
        padding: var(--cpd-space-3x);
        background-color: var(--cpd-color-alpha-gray-300);
    }

    .mx_EmptyState::before {
        /* Bloom using magic numbers directly out of Figma */
        content: "";
        position: absolute;
        z-index: -1;
        width: 642px;
        height: 775px;
        right: -253.77px;
        top: 0;
        background: radial-gradient(49.95% 49.95% at 50% 50%, rgb(13, 189, 139, 0.12) 0%, rgb(18, 115, 235, 0) 100%);
        -webkit-transform: rotate(-89.69deg);
                transform: rotate(-89.69deg);
        overflow: hidden;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_EncryptionInfo_spinner .mx_Spinner {
        margin-top: 25px;
        margin-bottom: 15px;
    }
    .mx_EncryptionInfo_spinner{

    text-align: center;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ExtensionsCard {
    --cpd-separator-spacing: var(--cpd-space-6x);
    --AddExtension-overlap: -76px;

    /* Set layout for everyone button */
}
    .mx_ExtensionsCard .mx_AutoHideScrollbar {
        padding: 0 var(--cpd-space-4x);
        margin-top: var(--cpd-space-6x);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;

        /* Styling for the "Add extensions" button */
    }
        .mx_ExtensionsCard .mx_AutoHideScrollbar > button {
            width: 100%;
        }

    .mx_ExtensionsCard .mx_ExtensionsCard_container {
        text-align: center;
        margin: 20px var(--cpd-space-4x) 0;
    }

    .mx_ExtensionsCard .mx_ExtensionsCard_Button {
        /* this button is special so we have to override some of the original styling */
        /* as we will be applying it in its children */
        padding: 0;
        height: auto;
        color: var(--cpd-color-gray-800);
        position: relative;
    }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_WidgetAvatar {
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_icon_app {
            padding: var(--cpd-space-2x) var(--cpd-space-12x) var(--cpd-space-2x) var(--cpd-space-3x);
            text-overflow: ellipsis;
            overflow: hidden;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

            .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_icon_app p {
                margin: 0 var(--cpd-space-3x);
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle,
        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options {
            position: absolute;
            top: 0;
            height: 100%; /* to give bigger interactive zone */
            width: 24px;
            padding: var(--cpd-space-3x) var(--cpd-space-1x);
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

            .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle svg, .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options svg {
                width: 16px;
                height: 16px;
                color: var(--cpd-color-icon-tertiary);
            }
                .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle:hover::after, .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options:hover::after {
                    content: "";
                    position: absolute;
                    height: 24px;
                    width: 24px;
                    top: var(--cpd-space-2x); /* equal to padding-top of parent */
                    left: 0;
                    border-radius: 12px;
                    background-color: rgb(141, 151, 165, 0.1);
                }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle {
            right: 8px;
        }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options {
            right: 32px; /* 24 + 8 */
        }
            .mx_ExtensionsCard .mx_ExtensionsCard_Button.mx_ExtensionsCard_Button_pinned::after {
                opacity: 0.2;
            }

            .mx_ExtensionsCard .mx_ExtensionsCard_Button.mx_ExtensionsCard_Button_pinned .mx_ExtensionsCard_app_pinToggle svg {
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button::before {
            content: normal;
            content: initial;
        }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button::after {
            top: var(--cpd-space-2x); /* re-align based on the height change */
            pointer-events: none; /* pass through to the real button */
        }
    .mx_ExtensionsCard a[data-kind="primary"] {
        margin-top: var(--cpd-space-10x);
    }

    .mx_ExtensionsCard .mx_EmptyState::before {
        /* Overlap the Add extensions button */
        top: var(--AddExtension-overlap);
    }

    .mx_ExtensionsCard .mx_EmptyState {
        /* Stop empty state scrolling */
        height: calc(100% + var(--AddExtension-overlap));
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PinnedMessagesCard {
    --unpin-height: 76px;
}

    .mx_PinnedMessagesCard .mx_PinnedMessagesCard_wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: var(--cpd-space-4x);
        gap: var(--cpd-space-6x);
        overflow-y: auto;
    }

        .mx_PinnedMessagesCard .mx_PinnedMessagesCard_wrapper .mx_PinnedMessagesCard_Separator {
            min-height: 1px;
            /* Override default compound value */
            margin-block: 0;
        }

    .mx_PinnedMessagesCard .mx_PinnedMessagesCard_wrapper_unpin_all {
        /* Remove the unpin all button height and the top and bottom padding  */
        height: calc(100% - var(--unpin-height) - calc(var(--cpd-space-4x) * 2));
    }

    .mx_PinnedMessagesCard .mx_PinnedMessagesCard_unpin {
        /* Make it float at the bottom of the unpin panel */
        position: absolute;
        bottom: 0;
        width: 100%;
        height: var(--unpin-height);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-shadow: 0 4px 24px 0 rgb(27, 29, 34, 0.1);
                box-shadow: 0 4px 24px 0 rgb(27, 29, 34, 0.1);
        background: var(--cpd-color-bg-canvas-default);
    }

    .mx_PinnedMessagesCard .mx_EventTile_body {
        word-break: break-word;
    }
}
@layer app-web{

/*
Copyright 2024, 2025 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSummaryCard {
    --cpd-separator-inset: var(--cpd-space-4x);
    --cpd-separator-spacing: var(--cpd-space-4x);
}

    .mx_RoomSummaryCard .mx_RoomSummaryCard_container {
        text-align: center;
        margin: 20px var(--cpd-space-4x) 0;
    }

    .mx_RoomSummaryCard .mx_RoomSummaryCard_roomName,
    .mx_RoomSummaryCard .mx_RoomSummaryCard_alias {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: pre-wrap;
        overflow: hidden;
    }

    .mx_RoomSummaryCard .mx_RoomSummaryCard_alias {
        text-overflow: ellipsis;
    }

    .mx_RoomSummaryCard .mx_RoomSummaryCard_topic {
        padding: 0 12px;
        color: var(--cpd-color-text-secondary);
    }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_box {
            width: 100%;
        }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_container {
            text-align: start;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
        }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_edit {
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content;
        }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic p {
            white-space: pre-wrap;
            width: 100%;
            min-width: 0;
            margin: 0;
        }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic a {
            cursor: pointer;
        }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_chevron {
            -webkit-transition: -webkit-transform 0.3s;
            transition: -webkit-transform 0.3s;
            transition: transform 0.3s;
            transition: transform 0.3s, -webkit-transform 0.3s;
        }
            .mx_RoomSummaryCard .mx_RoomSummaryCard_topic.mx_RoomSummaryCard_topic_collapsed p {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: normal;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
            }

            .mx_RoomSummaryCard .mx_RoomSummaryCard_topic.mx_RoomSummaryCard_topic_collapsed .mx_RoomSummaryCard_topic_chevron {
                -webkit-transform: rotate(-90deg);
                        transform: rotate(-90deg);
            }

    .mx_RoomSummaryCard .mx_AccessibleButton_kind_link {
        margin-top: 12px;
        margin-bottom: 12px;
        font-size: 0.8125rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_RoomSummaryCard_badges {
    margin: var(--cpd-space-4x) 0;
}

.mx_RoomSummaryCard_search {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-width: 0;
}

    .mx_RoomSummaryCard_search input[type="search"]::-webkit-search-cancel-button {
        display: inline;
        display: initial; /* override _common.pcss which inhibits this */
    }

.mx_RoomSummaryCard_roomName {
    margin: 12px 0 4px;
}

.mx_RoomSummaryCard_bottomOptions {
    margin: 0 0 var(--cpd-space-8x);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021-2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ThreadPanel {
    height: 100px;
    overflow: visible;

    /* For style rules of EventTile in a thread, see _EventTile.pcss */
}

    .mx_ThreadPanel .mx_ThreadPanelHeader {
        height: 60px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 16px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        border-bottom: 1px solid var(--cpd-color-gray-400);
    }

        .mx_ThreadPanel .mx_ThreadPanelHeader .mx_AccessibleButton {
            font-size: 12px;
            color: var(--cpd-color-text-secondary);
        }

        .mx_ThreadPanel .mx_ThreadPanelHeader .mx_ThreadPanel_vertical_separator {
            height: 28px;
            margin-left: var(--cpd-space-3x);
            margin-right: var(--cpd-space-2x);
            border-left: 1px solid var(--cpd-color-gray-400);
        }

        .mx_ThreadPanel .mx_ThreadPanelHeader .mx_ThreadPanel_dropdown {
            font: var(--cpd-font-body-sm-regular);
            padding: 3px 4px 3px 8px;
            border-radius: 4px;
            line-height: 1.5;
            -webkit-user-select: none;
               -moz-user-select: none;
                -ms-user-select: none;
                    user-select: none;
        }

            .mx_ThreadPanel .mx_ThreadPanelHeader .mx_ThreadPanel_dropdown:hover,
            .mx_ThreadPanel .mx_ThreadPanelHeader .mx_ThreadPanel_dropdown[aria-expanded="true"] {
                background: var(--cpd-color-gray-400);
            }

            .mx_ThreadPanel .mx_ThreadPanelHeader .mx_ThreadPanel_dropdown svg {
                margin-left: 2px;
                height: 20px;
                width: 20px;
                display: inline-block;
                vertical-align: bottom;
            }

    .mx_ThreadPanel .mx_AutoHideScrollbar,
    .mx_ThreadPanel .mx_RoomView_messagePanelSpinner {
        background-color: var(--cpd-color-bg-canvas-default);
        border-radius: 8px;
        -webkit-padding-end: 0;
                padding-inline-end: 0;
        overflow-y: scroll; /* set gap between the thread tile and the right border */
        height: 100%;
    }
        .mx_ThreadPanel .mx_EventTile[data-layout="group"] .mx_MessageActionBar {
            right: 0;
            top: -36px; /* 2px above EventTile */
            z-index: 10; /* See _EventTile.pcss */
        }
    .mx_ThreadPanel.mx_ThreadView {
        max-height: 100%;

        /* Make use of the space above the composer buttons too*/
    }

        .mx_ThreadPanel.mx_ThreadView .mx_ThreadView_timelinePanelWrapper {
            position: relative;
            min-height: 0; /* don't displace the composer */
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }

            .mx_ThreadPanel.mx_ThreadView .mx_ThreadView_timelinePanelWrapper .mx_FileDropTarget {
                border-radius: 8px;
            }

        .mx_ThreadPanel.mx_ThreadView .mx_MessageComposer_sendMessage {
            margin-right: 0;
        }
        .mx_ThreadPanel.mx_ThreadView .mx_Autocomplete {
            width: calc(100% + 140px);
        }
        .mx_ThreadPanel.mx_ThreadView.mx_ThreadView_narrow .mx_Autocomplete {
            width: calc(100% + 108px);
        }
        .mx_ThreadPanel .mx_RoomView_messagePanel.mx_RoomView_messageListWrapper {
            position: static;
            position: initial;
        }

        .mx_ThreadPanel .mx_RoomView_messagePanel .mx_RoomView_messageListWrapper {
            width: calc(100% + 6px); /* 8px - 2px */
        }

        .mx_ThreadPanel .mx_RoomView_messagePanel .mx_RoomView_empty {
            display: contents;
        }

    .mx_ThreadPanel .mx_RoomView_MessageList {
        -webkit-padding-start: 8px;
                padding-inline-start: 8px;
        -webkit-padding-end: 8px;
                padding-inline-end: 8px;
        content-visibility: visible;
    }

    .mx_ThreadPanel .mx_EventTile,
    .mx_ThreadPanel .mx_GenericEventListSummary {
        /* Account for scrollbar when hovering */
        padding-top: 0;
    }

        .mx_ThreadPanel .mx_EventTile .mx_TimelineSeparator, .mx_ThreadPanel .mx_GenericEventListSummary .mx_TimelineSeparator {
            display: none;
        }

        .mx_ThreadPanel .mx_EventTile.mx_EventTile_clamp:hover, .mx_ThreadPanel .mx_GenericEventListSummary.mx_EventTile_clamp:hover {
            cursor: pointer;
        }

    .mx_ThreadPanel .mx_MessageComposer {
        background-color: var(--cpd-color-bg-canvas-default);
        border-radius: 8px;
        margin-top: 8px;
        padding: 0 8px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .mx_ThreadPanel .mx_BaseCard_footer {
        text-align: left;
        font-size: 0.75rem;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 4px;
        position: relative;
        top: 2px;
        padding-right: 8px;
    }

        .mx_ThreadPanel .mx_BaseCard_footer .mx_AccessibleButton_kind_link_inline {
            color: var(--cpd-color-text-secondary);
        }
    .mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 10px 20px 10px 30px;
        position: relative;
    }

        .mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem:hover {
            background-color: var(--cpd-color-bg-subtle-secondary);
        }
            .mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem[aria-checked="true"] span:first-child {
                margin-left: -20px;
            }

            .mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem[aria-checked="true"] svg {
                width: 12px;
                height: 12px;
                margin-right: 8px;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                display: inline-block;
                vertical-align: middle;
                position: absolute;
                top: 14px;
                left: 10px;
            }

        .mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem span:last-child {
            color: var(--cpd-color-text-secondary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_TimelineCard .mx_TimelineCard_timeline {
        overflow: hidden;
        position: relative; /* offset parent for jump to bottom button */
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        border-radius: 8px;
    }

    .mx_TimelineCard .mx_NewRoomIntro {
        -webkit-margin-start: var(--BaseCard_EventTile-spacing-inline);
                margin-inline-start: var(--BaseCard_EventTile-spacing-inline);
        -webkit-margin-end: var(--BaseCard_EventTile-spacing-inline);
                margin-inline-end: var(--BaseCard_EventTile-spacing-inline);
    }

    .mx_TimelineCard .mx_EventTile_content {
        margin-right: 0;
    }
        .mx_TimelineCard .mx_EventTile .mx_ThreadSummary {
            position: relative;
            padding-right: 11px;
        }

            .mx_TimelineCard .mx_EventTile .mx_ThreadSummary::after {
                content: "";
                display: block;
                position: absolute;
                left: 0;
                bottom: -16px;
                height: 1px;
                width: 100%;
                border-bottom: 1px solid #616b7f;
            }

        .mx_TimelineCard .mx_EventTile[data-layout="irc"],
        .mx_TimelineCard .mx_EventTile[data-layout="group"] {
            --TimelineCard_ReadReceiptGroup-inset-block-start: -6px;
            --EventTile_group_line-spacing-inline-start: var(--BaseCard_EventTile-spacing-inline);
        }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_line,
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_line,
            .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line,
            .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_line {
                padding: var(--BaseCard_EventTile_line-padding-block) var(--BaseCard_EventTile-spacing-inline);
                -webkit-padding-end: 46px;
                        padding-inline-end: 46px;
                -webkit-padding-end: var(--MessageTimestamp-width);
                        padding-inline-end: var(--MessageTimestamp-width); /* ensure timestamp is not hidden */
            }

                .mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_line .mx_EventTile_e2eIcon, .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_e2eIcon, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line .mx_EventTile_e2eIcon, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_line .mx_EventTile_e2eIcon {
                    inset-inline-start: 8px;
                }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info {

                /* Info events should have the same size as state events, those
                 * are usually wrapped in a generic event list summary */
            }
                .mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_avatar, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar {
                    inset-inline-start: 18px;
                }
                .mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info{
                font: var(--cpd-font-body-sm-regular);
}

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_avatar {
                inset-inline-start: -3px;
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption {
                -webkit-margin-end: 0;
                        margin-inline-end: 0;
            }

                .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption .mx_ReadReceiptGroup, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                    top: var(--TimelineCard_ReadReceiptGroup-inset-block-start);
                }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile,
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ThreadSummary,
            .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_DisambiguatedProfile,
            .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ThreadSummary {
                -webkit-margin-start: var(--BaseCard_EventTile-spacing-inline);
                        margin-inline-start: var(--BaseCard_EventTile-spacing-inline);
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_DisambiguatedProfile {
                max-width: calc(100% - var(--BaseCard_EventTile-spacing-inline)); /* instead of $left-gutter */
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ReplyTile .mx_DisambiguatedProfile, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ReplyTile .mx_DisambiguatedProfile {
                -webkit-margin-start: 0;
                        margin-inline-start: 0;
                max-width: none;
                max-width: initial;
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_MessageTimestamp, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_MessageTimestamp {
                inset-inline: auto 0;
                font-size: 0.75rem;
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ReactionsRow, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ReactionsRow {
                /* See: var(--ThreadView_group_spacing-end) for ReactionsRow on _EventTile.pcss */
                -webkit-margin-end: 8px;
                        margin-inline-end: 8px;
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ThreadSummary, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ThreadSummary {
                -webkit-margin-end: 0;
                        margin-inline-end: 0;
                max-width: min(calc(100% - 36px), 600px);
            }
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar,
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_MessageTimestamp {
                position: absolute;
            }

        .mx_TimelineCard .mx_EventTile[data-layout="group"] {
            /* Read receipt group on compact modern layout */
            /* This is required because mx_TimelineCard is a child element wrapped by mx_MatrixChat_useCompactLayout, */
            /* which specifies the default position of mx_ReadReceiptGroup on compact modern layout. */
        }
            .mx_MatrixChat_useCompactLayout .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ReadReceiptGroup {
                top: var(--TimelineCard_ReadReceiptGroup-inset-block-start);
            }
            .mx_TimelineCard .mx_EventTile[data-layout="bubble"]::before {
                z-index: auto; /* enable background color on hover */
            }

            .mx_TimelineCard .mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_MessageActionBar {
                /* 1px: border width */
                inset-inline-end: calc(8px + 1px);
                inset-inline-end: calc(var(--container-gap-width) + 1px);
            }

            .mx_TimelineCard .mx_EventTile[data-layout="bubble"] .mx_ReactionsRow {
                position: relative; /* display on hover */
            }

    .mx_TimelineCard .mx_LegacyCallEvent_wrapper {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: auto 5px;
    }
        .mx_TimelineCard .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
            margin: 4px;
        }
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="irc"] .mx_EventTile_line,
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="irc"] .mx_GenericEventListSummary_unstyledList > .mx_EventTile_info .mx_EventTile_avatar ~ .mx_EventTile_line,
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="group"] .mx_EventTile_line,
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="group"] .mx_GenericEventListSummary_unstyledList > .mx_EventTile_info .mx_EventTile_avatar ~ .mx_EventTile_line {
                -webkit-padding-start: var(--BaseCard_EventTile-spacing-inline);
                        padding-inline-start: var(--BaseCard_EventTile-spacing-inline);
                -webkit-padding-end: 46px;
                        padding-inline-end: 46px;
                -webkit-padding-end: var(--MessageTimestamp-width);
                        padding-inline-end: var(--MessageTimestamp-width); /* ensure timestamp is not hidden */
            }

    .mx_TimelineCard .mx_WhoIsTypingTile {
        margin-left: -12px; /* undo padding on the message list */
    }

    .mx_TimelineCard .mx_WhoIsTypingTile_avatars {
        -ms-flex-preferred-size: 48px;
            flex-basis: 48px; /* 12 (padding on message list) + 36 (padding on event lines) */
    }

    .mx_TimelineCard .mx_GenericEventListSummary_unstyledList, 
    .mx_TimelineCard .mx_RoomView_MessageList {
        /* RR next to a message on the messsge list */
    }
            .mx_TimelineCard .mx_GenericEventListSummary_unstyledList .mx_EventTile[data-layout="bubble"] .mx_ReadReceiptGroup, .mx_TimelineCard .mx_RoomView_MessageList .mx_EventTile[data-layout="bubble"] .mx_ReadReceiptGroup {
                /* 6px: scroll bar width (magic number) */
                /* stylelint-disable-next-line declaration-colon-space-after */
                inset-inline-end: calc(
                    -1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end) + 8px + 6px
                );
                inset-inline-end: calc(
                    -1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end) + var(--container-gap-width) + 6px
                );
            }
                .mx_TimelineCard .mx_GenericEventListSummary_unstyledList .mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_ReadReceiptGroup, .mx_TimelineCard .mx_RoomView_MessageList .mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_ReadReceiptGroup {
                    inset-inline-end: -4px; /* align with RR outside of info tile */
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserInfo.mx_BaseCard {
    /* UserInfo has a circular image at the top so it fits between the back & close buttons */
    padding-top: 0;
    overflow-y: auto;
    font-size: var(--cpd-font-size-body-sm);
}

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_container {
        padding: var(--cpd-space-2x) 0 var(--cpd-space-4x);
        margin: 0 var(--cpd-space-4x);
    }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container + .mx_UserInfo_container {
            border-top: 1px solid var(--cpd-color-gray-400);
        }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetailsContainer {
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 8px;
    }

    .mx_UserInfo.mx_BaseCard .mx_RoomTile_titleContainer {
        width: 154px;
    }

    .mx_UserInfo.mx_BaseCard .mx_RoomTile_badge {
        display: none;
    }

    .mx_UserInfo.mx_BaseCard .mx_RoomTile_title {
        width: 160px;
    }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar {
        margin: var(--cpd-space-12x) var(--cpd-space-4x) 0 var(--cpd-space-4x);
    }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition {
            max-width: 120px;
            aspect-ratio: 1 / 1;
            margin: 0 auto;
            -webkit-transition: 0.5s;
            transition: 0.5s;
        }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition .mx_BaseAvatar {
                /* Override the calculated font-size so that the letter isn't tiny */
                font-size: 4rem;
            }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition .mx_BaseAvatar,
            .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition .mx_BaseAvatar img {
                width: 100%;
                height: 100%;
            }

    .mx_UserInfo.mx_BaseCard h2 {
        text-transform: uppercase;
        color: var(--cpd-color-gray-800);
        font: var(--cpd-font-body-md-semibold);
        font-weight: var(--cpd-font-weight-semibold);
        margin: 4px 0;
    }

    .mx_UserInfo.mx_BaseCard p {
        margin: 5px 0;
    }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_header {
        margin-bottom: var(--cpd-space-8x);
        padding-bottom: 0;
    }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-1x);

        /** Overrides for the copy to clipboard button **/
    }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile h1 {
            margin: 0;
            font-size: 1.25rem;
            line-height: 1.5625rem;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_UserInfo_profile_name {
            min-height: 30px;

            /* limit to 2 lines, show an ellipsis if it overflows */
            /* this looks webkit specific but is supported by Firefox 68+ */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;

            overflow: hidden;
            word-break: break-all;
            text-overflow: ellipsis;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_UserInfo_profile_mxid {
            color: var(--cpd-color-text-secondary);
            height: 28px;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_UserInfo_profileStatus {
            height: 20px;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_UserInfo_timezone {
            height: 20px;
            margin: 0;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_CopyableText {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_CopyableText_copyButton {
            width: 28px;
            height: 28px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            position: static;
            position: initial;
            padding-left: var(--cpd-space-2x);
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_CopyableText_copyButton::before {
            width: 20px;
            height: 20px;
            background-color: var(--cpd-color-icon-secondary-alpha);
        }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_timezone {
        margin: var(--cpd-space-1x) 0;
    }

    .mx_UserInfo.mx_BaseCard .mx_PresenceLabel {
        font: var(--cpd-font-body-sm-regular);
        opacity: 1;
    }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_verification {
        margin-top: var(--cpd-space-4x);
        height: 36px;
    }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_verification .mx_UserInfo_verified_badge {
            min-width: 68px;
            height: 20px;
        }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_verification .mx_UserInfo_verified_badge .mx_UserInfo_verified_icon {
                -ms-flex-negative: 0;
                    flex-shrink: 0;
            }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_verification .mx_UserInfo_verified_badge .mx_UserInfo_verified_label {
                margin: 0;
            }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_verification .mx_UserInfo_verification_unavailable {
            color: var(--cpd-color-text-secondary);
        }
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetails .mx_UserInfo_profileField {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            margin: 6px 0;
        }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetails .mx_UserInfo_profileField .mx_UserInfo_roleDescription {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                /* try to make it the same height as the dropdown */
                margin: 11px 0 12px 0;
            }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetails .mx_UserInfo_profileField .mx_Field {
                margin: 0;
            }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_field {
        line-height: 1rem;
    }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_statusMessage {

        font: var(--cpd-font-body-sm-regular);
        font-size: 0.6875rem;
        line-height: 1rem;
        opacity: 0.5;
        overflow: hidden;
        word-break: break-word;
        text-overflow: ellipsis;
        display: -webkit-box;
        max-height: calc(1rem * 3);
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }

    .mx_UserInfo.mx_BaseCard .mx_AutoHideScrollbar {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
    }
            .mx_UserInfo.mx_BaseCard.mx_UserInfo_smallAvatar .mx_UserInfo_avatar .mx_UserInfo_avatar_transition {
                max-width: 72px;
                margin: 0 auto;
            }

            .mx_UserInfo.mx_BaseCard.mx_UserInfo_smallAvatar .mx_UserInfo_avatar .mx_BaseAvatar {
                /* Override the calculated font-size so that the letter isn't tiny */
                font-size: 2rem;
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VerificationPanel_verified_section,
.mx_VerificationPanel_reciprocate_section {
    /* center the big shield icon */
}
    .mx_VerificationPanel_verified_section .mx_E2EIcon, .mx_VerificationPanel_reciprocate_section .mx_E2EIcon {
        /* Override general user info margin */
        margin: 20px auto !important;
    }
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) > div > p {
            margin-top: 0;
            margin-bottom: 0;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_VerificationPanel_verifyByEmojiButton,
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_UserInfo_wideButton {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_EncryptionInfo_spinner,
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_VerificationShowSas {
            -webkit-margin-start: auto;
                    margin-inline-start: auto;
            -webkit-margin-end: auto;
                    margin-inline-end: auto;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_Spinner,
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_VerificationShowSas {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

    .mx_UserInfo.mx_BaseCard .mx_VerificationPanel_qrCode {
        padding: 4px 4px 0 4px;
        background: white;
        border-radius: 4px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        max-width: 100%;
        /* Override general user info margin */
        margin: 0 auto !important;
    }

        .mx_UserInfo.mx_BaseCard .mx_VerificationPanel_qrCode canvas {
            /* override height and width which are set on the element directly */
            height: auto !important;
            width: 100% !important;
            max-width: 240px;
        }
        .mx_UserInfo.mx_BaseCard .mx_VerificationPanel_reciprocate_section .mx_AccessibleButton {
            width: 100%;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            padding: 10px;
            display: block;
            margin: 10px 0;
        }

/* Special case styling for EncryptionPanel in a Modal dialog */
.mx_Dialog,
.mx_CompleteSecurity_body {

    /* EncryptionPanel when verification is done */
}
    .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 10px;
        margin-bottom: 10px;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

        .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions > .mx_VerificationPanel_QRPhase_betweenText, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions > .mx_VerificationPanel_QRPhase_betweenText {
            width: 50px;
            vertical-align: middle;
            text-align: center;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

        .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption {
            background-color: var(--cpd-color-bg-subtle-secondary);
            border-radius: 10px;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            padding: 20px;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            position: relative;
            max-width: 310px;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
        }

            .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption canvas,
            .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_noQR,
            .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption canvas,
            .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_noQR {
                width: 220px !important;
                height: 220px !important;
                background-color: #fff;
                border-radius: 4px;
                vertical-align: middle;
                text-align: center;
                padding: 10px;
            }

            .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption > p, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption > p {
                margin-top: 0;
                font-weight: 700;
            }

            .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_helpText, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_helpText {
                font: var(--cpd-font-body-md-regular);
                margin: 30px 0;
                text-align: center;
            }
    .mx_Dialog .mx_VerificationPanel_verified_section, .mx_CompleteSecurity_body .mx_VerificationPanel_verified_section {
        /* right align the "Got it" button */
    }
        .mx_Dialog .mx_VerificationPanel_verified_section .mx_AccessibleButton, .mx_CompleteSecurity_body .mx_VerificationPanel_verified_section .mx_AccessibleButton {
            float: right;
        }
        .mx_Dialog .mx_VerificationPanel_reciprocate_section .mx_AccessibleButton, .mx_CompleteSecurity_body .mx_VerificationPanel_reciprocate_section .mx_AccessibleButton {
            margin-left: 10px;
            padding: 7px 40px;
        }

        .mx_Dialog .mx_VerificationPanel_reciprocate_section .mx_VerificationPanel_reciprocateButtons, .mx_CompleteSecurity_body .mx_VerificationPanel_reciprocate_section .mx_VerificationPanel_reciprocateButtons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_WidgetCard .mx_AppTileFullWidth {
        max-width: none;
        max-width: initial;
        width: auto !important;
        height: 100%;
        border: 0;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AliasSettings_localAddresses {
    cursor: pointer;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    font-weight: var(--cpd-font-weight-semibold);
    text-decoration: underline;
    list-style: none;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;

    /* list-style doesn't do it for webkit */
}
    .mx_AliasSettings_localAddresses::-webkit-details-marker {
        display: none;
    }
}
@layer app-web{

/*
 * Copyright 2025 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_RoomListPanel {
    background-color: var(--cpd-color-bg-canvas-default);
    height: 100%;
}

/* PLX-012: top user bar hosting the avatar/UserMenu (Profile / Settings / Sign out).
   The Midnight redesign removed the Spaces rail that used to host this, so we mount
   it at the top of the room list. */
.mx_RoomListPanel_userBar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 56px;
    padding: 10px 10px 4px 12px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

/* The shared UserMenu wrapper lays the avatar + (optional) displayname in a row.
   Inside the room list it should read as a tidy, tappable identity chip. */
.mx_RoomListPanel_userBar .mx_UserMenu {
    width: 100%;
    margin: 0;
}

.mx_RoomListPanel_userBar .mx_UserMenu > div:first-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
}

/* avatar trigger button -> hover affordance */
.mx_RoomListPanel_userBar .mx_UserMenu button:hover {
    opacity: 0.92;
}

/* the displayname rendered to the right of the avatar (expanded mode) */
.mx_RoomListPanel_userBar .mx_UserMenu > span {
    margin-left: 10px;
    color: #ffffff;
    color: var(--plx-text, #ffffff);
    font-weight: 600;
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AppsDrawer {
    --minWidth: 240px; /* TODO this should be 300px but that's too large */

    margin: 8px;

    margin: var(--container-gap-width);
    /* The left side gap is fully handled by this margin. To prohibit bleeding on webkit browser. */
    margin-right: calc(8px / 2);
    margin-right: calc(var(--container-gap-width) / 2);
    margin-bottom: 0; /* No bottom margin for the correct gap to the CallView below. */
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

    .mx_AppsDrawer .mx_AppsDrawer_resizer {
        margin-bottom: 8px;
        margin-bottom: var(--container-gap-width);
    }

    .mx_AppsDrawer .mx_AppsDrawer_resizer_container {
        width: 100%;
        height: 10px;
        display: block;
        position: relative;
    }

        .mx_AppsDrawer .mx_AppsDrawer_resizer_container .mx_AppsDrawer_resizer_container_handle {
            cursor: ns-resize;

            /* Override styles from library, making the whole area the target area */
            width: 100% !important;
            height: 100% !important;

            /* This is positioned directly below frame */
            position: absolute;
            bottom: 50% !important; /* override from library */

            /* We then render the pill handle in an ::after to keep it in the handle's */
            /* area without being a massive line across the screen */
        }
            .mx_AppsDrawer .mx_AppsDrawer_resizer_container .mx_AppsDrawer_resizer_container_handle::after {
                content: "";
                position: absolute;
                border-radius: 3px;

                height: 4px;
                bottom: 0;

                /* Together, these make the bar 64px wide */
                /* These are also overridden from the library */
                left: calc(50% - 32px);
                right: calc(50% - 32px);
            }
        .mx_AppsDrawer:hover .mx_AppsDrawer_resizer_container_handle::after {
            opacity: 0.8;
            background: #ffffff;
            background: var(--cpd-color-text-primary);
        }

        .mx_AppsDrawer:hover .mx_ResizeHandle--horizontal::before {
            position: absolute;
            left: 3px;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                    transform: translate(0, -50%);

            height: 64px; /* to match width of the ones on roomlist */
            width: 4px;
            border-radius: 4px;

            content: "";

            background-color: #ffffff;

            background-color: var(--cpd-color-text-primary);
            opacity: 0.8;
        }

    .mx_AppsDrawer .mx_AppTile {
        width: 50%;
        min-width: var(--minWidth);
    }

    .mx_AppsDrawer.mx_AppsDrawer--maximised {
        margin-bottom: 8px;
        margin-bottom: var(--container-gap-width);
    }

    .mx_AppsDrawer.mx_AppsDrawer--resizing .mx_AppTile_persistedWrapper {
        z-index: 1;
    }

    .mx_AppsDrawer.mx_AppsDrawer--2apps .mx_AppTile {
        width: 50%;
    }

        .mx_AppsDrawer.mx_AppsDrawer--2apps .mx_AppTile:nth-child(3) {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            width: 0 !important;
            min-width: var(--minWidth) !important;
        }
    .mx_AppsDrawer.mx_AppsDrawer--3apps .mx_AppTile {
        width: 33%;
    }

        .mx_AppsDrawer.mx_AppsDrawer--3apps .mx_AppTile:nth-child(3) {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            width: 0 !important;
            min-width: var(--minWidth) !important;
        }

.mx_AppsContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%;
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-height: 0;
}

    .mx_AppsContainer .mx_AppTile:first-of-type {
        border-left-width: 8px;
        border-left-width: var(--container-border-width);
        border-radius: 10px 0 0 10px;
    }
    .mx_AppsContainer .mx_AppTile:last-of-type {
        border-right-width: 8px;
        border-right-width: var(--container-border-width);
        border-radius: 0 10px 10px 0;
    }

    .mx_AppsContainer .mx_ResizeHandle--horizontal {
        position: relative;
    }

        .mx_AppsContainer .mx_ResizeHandle--horizontal > div {
            width: 0;
        }

.mx_AppTile {
    border: 8px solid var(--cpd-color-bg-subtle-secondary);
    border: var(--container-border-width) solid var(--cpd-color-bg-subtle-secondary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: var(--cpd-color-bg-subtle-secondary);
}

.mx_AppTileFullWidth {
    width: 100% !important; /* to override the inline style set by the resizer */
    margin: 0;
    padding: 0;
    border: 8px solid var(--cpd-color-bg-subtle-secondary);
    border: var(--container-border-width) solid var(--cpd-color-bg-subtle-secondary);
    border-radius: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: var(--cpd-color-bg-subtle-secondary);
}

.mx_AppTile_mini {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_AppTile .mx_AppTile_persistedWrapper,
.mx_AppTileFullWidth .mx_AppTile_persistedWrapper,
.mx_AppTile_mini .mx_AppTile_persistedWrapper {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_AppTile_persistedWrapper div {
    width: 100%;
    height: 100%;
}

.mx_AppTileMenuBar {
    margin: 0;
    font-size: 0.75rem;
    background-color: var(--cpd-color-bg-subtle-secondary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding-top: 3px;
    padding-bottom: 6px;
}

    .mx_AppTileMenuBar .mx_AppTileMenuBar_title {
        line-height: 20px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

        .mx_AppTileMenuBar .mx_AppTileMenuBar_title .mx_WidgetAvatar {
            margin-right: 12px;
        }

        .mx_AppTileMenuBar .mx_AppTileMenuBar_title h1 {
            font-size: inherit;
            margin: 0;
        }

        .mx_AppTileMenuBar .mx_AppTileMenuBar_title > :last-child {
            margin-left: 9px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

    .mx_AppTileMenuBar .mx_AppTileMenuBar_widgets {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_AppTileMenuBar .mx_AppTileMenuBar_widgets .mx_AppTileMenuBar_widgets_button {
            --size: 24px; /* Size of the button. Its height and width values should be same */

            margin: 0 4px;
            position: relative;
            height: 24px;
            height: var(--size);
            width: 24px;
            width: var(--size);
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

            .mx_AppTileMenuBar .mx_AppTileMenuBar_widgets .mx_AppTileMenuBar_widgets_button:hover::after {
                content: "";
                position: absolute;
                height: var(--size);
                width: var(--size);
                background-color: var(--cpd-color-alpha-gray-300);
                border-radius: 50%;
                left: 0;
                top: 0;
            }

            .mx_AppTileMenuBar .mx_AppTileMenuBar_widgets .mx_AppTileMenuBar_widgets_button .mx_Icon {
                color: #91a1c0;
            }

/* Rules added to this selector style appTileBody generally */
.mx_AppTileBody {
    /* Apply to every variant of appTileBody */
    border-radius: 8px;

    /* const loadingElement */
    /* Note the loading spinner and the message next to it are not always included in mx_AppTileBody--loading */
}
    .mx_AppTileBody .mx_AppTileBody_fadeInSpinner {
        /* place spinner and the message at the center of mx_AppTileBody */
        height: 100%;
        width: 100%;

        font-weight: bold; /* message next to the spinner */
        -webkit-animation-fill-mode: backwards;
                animation-fill-mode: backwards;
        -webkit-animation-duration: 200ms;
                animation-duration: 200ms;
        -webkit-animation-delay: 500ms;
                animation-delay: 500ms;
        -webkit-animation-name: mx_AppTileBody_fadeInSpinnerAnimation;
                animation-name: mx_AppTileBody_fadeInSpinnerAnimation;
    }

    .mx_AppTileBody.mx_AppTileBody--large,
    .mx_AppTileBody.mx_AppTileBody--mini {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

        .mx_AppTileBody.mx_AppTileBody--large iframe, .mx_AppTileBody.mx_AppTileBody--mini iframe {
            border: none;
            width: 100%;
            height: 100%;
        }

    .mx_AppTileBody.mx_AppTileBody--large {
        --AppTileBody-height: 100%;

        background-color: var(--cpd-color-alpha-gray-300);
    }

        .mx_AppTileBody.mx_AppTileBody--large iframe {
            overflow: hidden;
            padding: 0;
            margin: 0;
            display: block;
        }

    .mx_AppTileBody.mx_AppTileBody--loading {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
        height: 100%;

        /* match bg of border so that the cut corners have the right fill */
        background-color: var(--cpd-color-alpha-gray-300) !important;
    }

        .mx_AppTileBody.mx_AppTileBody--loading iframe {
            display: none;
        }

    .mx_AppTileBody.mx_AppTileBody--call {
        border-radius: 0px;
    }
    .mx_AppTileBody.mx_AppTileBody--call.mx_AppTileBody--mini {
        border-radius: 8px;
    }

/* appTileBody is embedded to PersistedElement outside of mx_AppTile,
   so rules to style appTileBody generally should not be included here. */
.mx_AppTile .mx_AppTileBody--large,
.mx_AppTileFullWidth .mx_AppTileBody--large,
.mx_AppTile_mini .mx_AppTileBody--mini {
    height: inherit;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

@-webkit-keyframes mx_AppTileBody_fadeInSpinnerAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes mx_AppTileBody_fadeInSpinnerAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
}
@layer app-web{

.mx_Autocomplete {
    position: absolute;
    bottom: 0;
    z-index: 1001;
    width: 100%;
    border: 1px solid transparent;
    background: var(--cpd-color-bg-canvas-default);
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    overflow: clip;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-shadow: 0px -16px 32px rgba(0, 0, 0, 0.28);
            box-shadow: 0px -16px 32px rgba(0, 0, 0, 0.28);
}

.mx_Autocomplete_ProviderSection {
    border-bottom: 1px solid transparent;
    width: 100%;
}

/* a "block" completion takes up a whole line */
.mx_Autocomplete_Completion_block {
    min-height: 34px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0 12px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_Autocomplete_Completion_block * {
    margin: 0 3px;
}

.mx_Autocomplete_Completion_pill {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 2rem;
    height: 2.125rem;
    padding: 0.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_Autocomplete_Completion_pill > * {
    margin-right: 0.3rem;
}

/* styling for common completion elements */
.mx_Autocomplete_Completion_subtitle {
    font-style: italic;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_Autocomplete_Completion_description {
    color: gray;
    min-width: 150px;
}

.mx_Autocomplete_Completion_container_pill {
    margin: 12px;
    height: 100%;
    overflow-y: scroll;
}

@container roomview (height >= 0px) {
    .mx_Autocomplete_Completion_container_pill {
        max-height: 40cqh;
    }
}
    .mx_Autocomplete_Completion_container_truncate .mx_Autocomplete_Completion_title,
    .mx_Autocomplete_Completion_container_truncate .mx_Autocomplete_Completion_subtitle,
    .mx_Autocomplete_Completion_container_truncate .mx_Autocomplete_Completion_description {
        /* Ellipsis for long names/subtitles/descriptions */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.mx_Autocomplete_Completion.selected,
.mx_Autocomplete_Completion:hover {
    background: #343a46;
    outline: none;
}

.mx_Autocomplete_provider_name {
    margin: 12px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    font-weight: 400;
    opacity: 0.4;
}
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuxPanel {
    min-width: 0px;
    width: 100%;
    margin: 0px auto;

    overflow: auto;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BasicMessageComposer {
    /* These are set in Javascript */
    --avatar-letter: "";
    --avatar-background: unset;
    --avatar-color: unset;
    --placeholder: "";

    position: relative;
}

    .mx_BasicMessageComposer .mx_BasicMessageComposer_inputEmpty > :first-child::before {
        content: var(--placeholder);
        color: var(--cpd-color-text-secondary);
        width: 0;
        height: 0;
        overflow: visible;
        display: inline-block;
        pointer-events: none;
        white-space: nowrap;
    }

    @-webkit-keyframes visualbell {
        from {
            background-color: #800;
        }
        to {
            background-color: var(--cpd-color-bg-canvas-default);
        }
    }

    @keyframes visualbell {
        from {
            background-color: #800;
        }
        to {
            background-color: var(--cpd-color-bg-canvas-default);
        }
    }

    .mx_BasicMessageComposer.mx_BasicMessageComposer_input_error {
        -webkit-animation: 0.2s visualbell;
                animation: 0.2s visualbell;
    }

    .mx_BasicMessageComposer .mx_BasicMessageComposer_input {
        white-space: pre-wrap;
        word-wrap: break-word;
        outline: none;
        overflow-x: hidden;

        /* Force caret nodes to be selected in full so that they can be */
        /* navigated through in a single keypress */
    }
        .mx_BasicMessageComposer .mx_BasicMessageComposer_input .caretNode {
            -webkit-user-select: all;
               -moz-user-select: all;
                    user-select: all;
        }
            .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_UserPill,
            .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_RoomPill,
            .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_SpacePill {
                display: -webkit-inline-box;
                display: -ms-inline-flexbox;
                display: inline-flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                -webkit-user-select: all;
                   -moz-user-select: all;
                        user-select: all;
                position: relative;
                cursor: inherit; /* We don't want indicate clickability */
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;

                /* avatar psuedo element */
            }

                .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_UserPill:hover, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_RoomPill:hover, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_SpacePill:hover {
                    /* We don't want indicate clickability | To override the overriding of .markdown-body */
                    background-color: #2e80de !important;
                    background-color: var(--cpd-color-bg-action-primary-rest) !important;
                }
                .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_UserPill::before, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_RoomPill::before, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_SpacePill::before {
                    display: inline-block;
                    content: var(--avatar-letter);
                    width: 1rem;
                    min-width: 1rem; /* ensure the avatar is not compressed */
                    height: 1rem;
                    -webkit-margin-end: 0.24rem;
                            margin-inline-end: 0.24rem;
                    background: var(--avatar-background), var(--cpd-color-bg-canvas-default);
                    color: var(--avatar-color, var(--cpd-color-bg-canvas-default));
                    background-repeat: no-repeat;
                    background-size: 1rem;
                    border-radius: 1rem;
                    text-align: center;
                    font-weight: normal;
                    line-height: 1rem;
                    font-size: 0.6275rem;
                }

        .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_disabled {
            /* Ignore all user input to avoid accidentally triggering the composer */
            pointer-events: none;
        }

    .mx_BasicMessageComposer .mx_BasicMessageComposer_AutoCompleteWrapper {
        position: relative;
        height: 0;
    }
}
@layer app-web{
    .mx_JoinRuleDialog .mx_JoinRuleDialogButtons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-column-gap: 5px;
           -moz-column-gap: 5px;
                column-gap: 5px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_E2EIcon {
    width: 16px;
    height: 16px;
    margin: 0 9px;
    display: block;
}

    .mx_E2EIcon svg {
        width: inherit;
        height: inherit;
        display: block;
    }

.mx_E2EIcon.mx_E2EIcon_inline {
    display: inline-block;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_E2EIconView {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_E2EIconView_warning {
    color: var(--cpd-color-icon-critical-primary);
}

.mx_E2EIconView_verified {
    color: #3ecf8e;
    color: var(--cpd-color-icon-success-primary);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EditMessageComposer {
    --EditMessageComposer-padding-inline: 3px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 100%; /* disable overflow */
    width: auto;
    gap: 5px;
    padding: 3px 3px;
    padding: 3px var(--EditMessageComposer-padding-inline);
}

    .mx_EditMessageComposer .mx_BasicMessageComposer_input {
        border-radius: 4px;
        border: solid 1px transparent;
        background-color: var(--cpd-color-bg-canvas-default);
        max-height: 200px;
        padding: 3px 6px;
    }

        .mx_EditMessageComposer .mx_BasicMessageComposer_input:focus {
            border-color: var(--cpd-color-border-interactive-primary);
        }

    .mx_EditMessageComposer .mx_EditMessageComposer_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-flow: row wrap-reverse;
                flex-flow: row wrap-reverse; /* display "Save" over "Cancel" */
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 5px;
        -webkit-margin-start: auto;
                margin-inline-start: auto;
    }

        .mx_EditMessageComposer .mx_EditMessageComposer_buttons .mx_AccessibleButton {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            min-width: 100px; /* magic number to align the edge of the button with the input area */
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EmojiButton {
    position: relative;
    cursor: pointer;
    border-radius: 50%;
}
    .mx_EmojiButton svg {
        color: var(--cpd-color-icon-tertiary);
    }
    .mx_EmojiButton:hover {
        background-color: var(--cpd-color-bg-subtle-secondary);
    }

        .mx_EmojiButton:hover svg {
            color: var(--cpd-color-icon-secondary);
        }

.mx_EmojiButton_highlight {
    background: var(--cpd-color-bg-subtle-primary);
    color: var(--cpd-color-icon-primary) !important;
}
    .mx_MessageComposer_wysiwyg .mx_EmojiButton {
        position: relative;
        cursor: pointer;
        border-radius: 5px;
    }
        .mx_MessageComposer_wysiwyg .mx_EmojiButton svg {
        color: var(--cpd-color-icon-tertiary);
    }
        .mx_MessageComposer_wysiwyg .mx_EmojiButton:hover {
        background-color: var(--cpd-color-bg-subtle-secondary);
    }

        .mx_MessageComposer_wysiwyg .mx_EmojiButton:hover svg {
            color: var(--cpd-color-gray-800);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_RoomView_body[data-layout="bubble"] .mx_RoomView_timeline,
    .mx_RoomView_body[data-layout="bubble"] .mx_RoomView_statusArea,
    .mx_RoomView_body[data-layout="bubble"] .mx_MessageComposer {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
    }

.mx_EventTile[data-layout="bubble"],
.mx_GenericEventListSummary[data-layout="bubble"] {
    --avatarSize: 32px;
    --gutterSize: 11px;
    --cornerRadius: 12px;
    --maxWidth: 70%;

    /* For both event tile and event list summary */
    --EventTile_bubble-margin-inline-start: 49px;
    --EventTile_bubble-margin-inline-end: 60px;

    -webkit-margin-start: 49px;

            margin-inline-start: 49px;

    -webkit-margin-start: var(--EventTile_bubble-margin-inline-start);

            margin-inline-start: var(--EventTile_bubble-margin-inline-start);
    -webkit-margin-end: 60px;
            margin-inline-end: 60px;
    -webkit-margin-end: var(--EventTile_bubble-margin-inline-end);
            margin-inline-end: var(--EventTile_bubble-margin-inline-end);
}

.mx_EventTile[data-layout="bubble"] {
    --EventTile_bubble_line-margin-inline-start: -9px;
    --EventTile_bubble_line-margin-inline-end: -12px;
    --EventTile_bubble_gap-inline: 5px;

    /* For replies */

    /* other users profile on bubble layout */

    /* inside mx_RoomView_MessageList, outside of mx_ReplyTile */
    /* (on the main panel and the chat panel with a maximized widget) */
}

    .mx_EventTile[data-layout="bubble"] .mx_MessageTimestamp {
        width: auto;
        width: initial; /* Cancel the default width */
        max-width: 80px;
    }

    .mx_EventTile[data-layout="bubble"] .mx_ThreadSummary {
        clear: both;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    .mx_EventTile[data-layout="bubble"] .mx_EventTile_content {
        margin-right: 0;
    }

    .mx_EventTile[data-layout="bubble"]:not(.mx_EventTile_info) .mx_EventTile_avatar {
        line-height: 0;
        border: 4px solid var(--cpd-color-bg-canvas-default);
        border-radius: 50%;
        position: absolute;
        top: 6px;
        z-index: 9;
    }
        .mx_EventTile[data-layout="bubble"]:not(.mx_EventTile_info) .mx_EventTile_avatar img {
            -webkit-box-shadow: 0 0 0 3px var(--cpd-color-bg-canvas-default);
                    box-shadow: 0 0 0 3px var(--cpd-color-bg-canvas-default);
            border-radius: 50%;
        }
        .mx_EventTile[data-layout="bubble"].mx_EventTile_highlight .mx_EventTile_avatar {
            border-color: #25271f;
        }
        .mx_EventTile[data-layout="bubble"].mx_EventTile_highlight::before {
            background-color: #25271f;
        }
        .mx_EventTile[data-layout="bubble"]:hover .mx_EventTile_avatar {
            border-color: var(--cpd-color-bg-subtle-secondary);
        }
    .mx_EventTile[data-layout="bubble"] .mx_EventTile {
        padding-top: 0;
    }

    .mx_EventTile[data-layout="bubble"]::before {
        content: "";
        position: absolute;
        top: -1px;
        bottom: -1px;
        left: calc(-1 * var(--EventTile_bubble-margin-inline-start));
        right: calc(-1 * var(--EventTile_bubble-margin-inline-end));
        z-index: -1;
        border-radius: 4px;
    }
        .mx_EventTile[data-layout="bubble"]:hover::before, .mx_EventTile[data-layout="bubble"].mx_EventTile_selected::before {
            background: var(--cpd-color-bg-subtle-secondary);
        }
            .mx_EventTile[data-layout="bubble"]:hover .mx_EventTile_avatar img, .mx_EventTile[data-layout="bubble"].mx_EventTile_selected .mx_EventTile_avatar img {
                -webkit-box-shadow: 0 0 0 3px var(--cpd-color-bg-subtle-secondary);
                        box-shadow: 0 0 0 3px var(--cpd-color-bg-subtle-secondary);
            }

    .mx_EventTile[data-layout="bubble"] .mx_DisambiguatedProfile,
    .mx_EventTile[data-layout="bubble"] .mx_EventTile_line {
        --EventBubbleTile_line-max-width: 70%;

        width: -webkit-fit-content;

        width: -moz-fit-content;

        width: fit-content;
        max-width: 70%;
        max-width: var(--EventBubbleTile_line-max-width); /* Align message bubble and displayName */
        line-height: 1.125rem; /* fixed line height to prevent emoji from being taller than text */
    }
    .mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile {
        white-space: normal; /* display mxid */
    }

        .mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName {
            white-space: nowrap; /* truncate long display names */
            -webkit-margin-end: 5px;
                    margin-inline-end: 5px;

            /* For RTL displayName */
            unicode-bidi: embed;
            direction: ltr;
        }

        .mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
            -webkit-margin-start: 0;
                    margin-inline-start: 0; /* Align mxid with truncated displayName
                inside mx_EventTile[data-layout="bubble"] */
        }
    .mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile,
    
    .mx_EventTile[data-layout="bubble"] .mx_EventTile_senderDetails > .mx_DisambiguatedProfile {
        position: relative;
        top: -2px;
        left: 2px;
        font-size: 0.9375rem;
    }

    .mx_EventTile[data-layout="bubble"] .mx_MessageActionBar {
        top: -28px;
        z-index: 9; /* above the avatar */
    }

    .mx_EventTile[data-layout="bubble"] .mx_MediaBody {
        /* leave space for the timestamp */
        padding-right: 48px !important;
    }
        .mx_EventTile[data-layout="bubble"] .mx_ImageBody .mx_ImageBody_container {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            min-height: calc(1.8rem + var(--gutterSize) + var(--gutterSize));
            min-width: calc(1.8rem + var(--gutterSize) + var(--gutterSize));
        }

    .mx_EventTile[data-layout="bubble"] .mx_LegacyCallEvent {
        background-color: transparent;
        background-color: initial;

        border-style: solid;
        border-width: 1px;
        border-color: var(--cpd-color-gray-400);
    }

    .mx_EventTile[data-layout="bubble"] .mx_EventTile_footer {
        margin: var(--cpd-space-1-5x) 0;
        margin-inline: var(--EventTile_bubble_line-margin-inline-start) var(--EventTile_bubble_line-margin-inline-end);
    }
        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line {
            border-bottom-right-radius: var(--cornerRadius);
        }

            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_ImageBody::before,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MediaBody,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MLocationBody_map,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MBeaconBody {
                border-bottom-right-radius: var(--cornerRadius) !important;
            }

        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_avatar {
            left: -36px;
        }

        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_MessageActionBar {
            inset-inline-start: calc(
                100% - var(--MessageActionBar-size-button) - 2 * var(--MessageActionBar-size-margin)
            );
            right: auto;
            right: initial; /* Reset the default value */
        }

        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_ThreadSummary {
            -webkit-margin-start: calc(-1 * var(--gutterSize));
                    margin-inline-start: calc(-1 * var(--gutterSize));
            -webkit-margin-end: auto;
                    margin-inline-end: auto;
        }

        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_ReactionsRow,
        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_footer {
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
        }

        .mx_EventTile[data-layout="bubble"][data-self="false"]{

        --backgroundColor: var(--cpd-color-gray-300);
}
        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line {
            -webkit-margin-start: auto;
                    margin-inline-start: auto;
            border-bottom-left-radius: var(--cornerRadius);
        }

            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_ImageBody::before,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MediaBody,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MLocationBody_map,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MBeaconBody {
                border-bottom-left-radius: var(--cornerRadius) !important;
            }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_sticker {
            /* align timestamp with those inside bubbles */
            margin-right: 32px;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ThreadSummary {
            -webkit-margin-start: auto;
                    margin-inline-start: auto;
            -webkit-margin-end: calc(-1 * var(--gutterSize));
                    margin-inline-end: calc(-1 * var(--gutterSize));
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_DisambiguatedProfile {
            display: none;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReplyTile .mx_DisambiguatedProfile {
            display: block;
            max-width: 100%;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_footer {
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReactionsRow {
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
        }

            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReactionsRow > :last-child {
                -webkit-box-ordinal-group: 0;
                    -ms-flex-order: -1;
                        order: -1; /* Moving the "add reaction button" before the reactions */
            }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_avatar {
            top: -19px; /* height of the sender block */
            right: -38px;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_MediaBody {
            background: #2e80de;
            background: var(--cpd-color-green-300);
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_MessageActionBar {
            inset-inline-end: 0;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"]{

        --backgroundColor: var(--cpd-color-green-300);
}

    .mx_EventTile[data-layout="bubble"] .mx_EventTile_line {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 5px var(--EventTile_bubble_gap-inline);
        margin-block: 0;
        margin-inline: var(--EventTile_bubble_line-margin-inline-start) var(--EventTile_bubble_line-margin-inline-end);
        border-top-left-radius: var(--cornerRadius);
        border-top-right-radius: var(--cornerRadius);

        /* the selector here is quite weird because timestamps can appear linked & unlinked and in different places */
        /* in the DOM depending on the specific rendering context */

        /* noinspection CssReplaceWithShorthandSafely */
    }
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp {
            position: absolute;
            padding: 4px 8px;
            bottom: 0;
            right: 0;
            z-index: 3; /* above media and location share maps */
        }

        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine {
            /* TODO: Use a common class name instead */

            /* we put the timestamps for media (other than stickers) atop the media */
        }
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine .mx_MFileBody,
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine .mx_MAudioBody {
                max-width: 100%; /* avoid overflow */
            }

            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine .mx_MVoiceMessageBody {
                /* allow the event to be collapsed, this causes the waveform to get cropped */
                min-width: 0;
            }
                .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine.mx_EventTile_image .mx_MessageTimestamp {
                    border-radius: 8px;
                    border-radius: var(--MBody-border-radius);
                    /* Hardcoded colours because it's the same on all themes */
                    background-color: rgb(0, 0, 0, 0.6);
                    color: #ffffff;
                    padding: 0px 4px 0px 4px;
                }
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_sticker > a, 
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_sticker .mx_MessageActionBar + .mx_MessageTimestamp {
                /* position timestamps for stickers to the right of the un-bubbled sticker */
                right: auto;
                right: initial;
                left: 100%;
            }

            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_sticker .mx_MStickerBody_wrapper {
                padding: 0;
            }

        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_ImageBody {
            width: 100%;
        }
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MediaBody {
            border-radius: 0;
            border-radius: initial;
            border-top-left-radius: var(--cornerRadius);
            border-top-right-radius: var(--cornerRadius);
        }

        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_EventTile_e2eIcon {
            -ms-flex-negative: 0;
                flex-shrink: 0; /* keep it at full size */

            /* Keep height equal to text for shield alignment, additional 2px because of 1px padding on text */
            height: calc(1.125rem + 2px);
        }

    .mx_EventTile[data-layout="bubble"]:not(.mx_EventTile_noBubble):not(.mx_EventTile_alignedBetweenBubbles)
        .mx_EventTile_line:not(.mx_EventTile_mediaLine) {
        /* make the top and bottom padding 1px smaller so that we can pad
            .mx_EventTile_content by 1px */
        /* to avoid anti-zalgo cutting off our larger than text emojis. */
        padding: calc(var(--gutterSize) - 1px);
        padding-right: 60px; /* space for the timestamp */
        background: var(--backgroundColor);
    }

        .mx_EventTile[data-layout="bubble"]:not(.mx_EventTile_noBubble):not(.mx_EventTile_alignedBetweenBubbles)
        .mx_EventTile_line:not(.mx_EventTile_mediaLine) .mx_EventTile_content {
            padding: 1px;
        }

    .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line {
        border-top-left-radius: 0;
    }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_ImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MBeaconBody {
            border-top-left-radius: 0;
        }
    .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line {
        border-bottom-left-radius: var(--cornerRadius);
    }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_ImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MBeaconBody {
            border-bottom-left-radius: var(--cornerRadius);
        }

    .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line {
        border-top-right-radius: 0;
    }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_ImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MBeaconBody {
            border-top-right-radius: 0;
        }
    .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line {
        border-bottom-right-radius: var(--cornerRadius);
    }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_ImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MBeaconBody {
            border-bottom-right-radius: var(--cornerRadius);
        }
        .mx_EventTile[data-layout="bubble"].mx_EventTile_noSender .mx_EventTile_avatar {
            top: -19px;
        }
        .mx_EventTile[data-layout="bubble"][data-has-reply="true"] > .mx_EventTile_line {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }
            .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile_reply {
                max-width: 90%;
                padding: 0;
            }
                .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile_reply > a, 
                .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile_reply .mx_MessageActionBar + .mx_MessageTimestamp {
                    display: none !important;
                }

            .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                gap: var(--gutterSize);
            }
                .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile .mx_EventTile_avatar {
                    position: static;
                }
                .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile .mx_DisambiguatedProfile {
                    display: none;
                }

    .mx_EventTile[data-layout="bubble"] .mx_MPollBody {
        width: 550px; /* to prevent timestamp overlapping summary text */
        max-width: 100%; /* prevent overflowing a reply tile */
    }

        .mx_EventTile[data-layout="bubble"] .mx_MPollBody .mx_MPollBody_totalVotes {
            /* align summary text with corner timestamp */
            padding: 4px 0;
        }

    .mx_EventTile[data-layout="bubble"].mx_EventTile_bad {

        /* Special layout scenario for "Unable To Decrypt (UTD)" events */
    }
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad:hover::before {
                background: transparent;
            }
        .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line {
            display: grid;
            grid-template:
                "reply reply" auto
                "shield body" auto
                / auto 1fr;
        }

            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_UnknownBody,
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_ReplyChain_wrapper,
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_ViewSourceEvent {
                min-width: 0; /* Prevent a grid blowout */
            }

            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_EventTile_e2eIcon {
                grid-area: shield;
                margin-top: auto;
                margin-bottom: auto;
            }

            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_UnknownBody,
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_DecryptionFailureBody {
                grid-area: body;
            }

            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_ReplyChain_wrapper {
                grid-area: reply;
            }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_bad.mx_EventTile_info {
            /* "Unable To Decrypt" layout for hidden events */
        }
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad.mx_EventTile_info .mx_EventTile_line {
                gap: 0 9px; /* 9px: margin value of E2E icon */
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                grid-template:
                    "shield source" auto
                    / auto 1fr;
            }

                .mx_EventTile[data-layout="bubble"].mx_EventTile_bad.mx_EventTile_info .mx_EventTile_line .mx_ViewSourceEvent {
                    grid-area: source;
                }

    .mx_EventTile[data-layout="bubble"] .mx_MTextBody {
        max-width: 100%;
    }

    .mx_EventTile[data-layout="bubble"] .mx_LegacyCallEvent_wrapper,
    .mx_EventTile[data-layout="bubble"] .mx_CallEvent_wrapper {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .mx_EventTile[data-layout="bubble"].mx_EventTile_alignedBetweenBubbles {
        -webkit-margin-start: calc(
            var(--EventTile_bubble-margin-inline-start) + var(--EventTile_bubble_line-margin-inline-start)
        );
                margin-inline-start: calc(
            var(--EventTile_bubble-margin-inline-start) + var(--EventTile_bubble_line-margin-inline-start)
        );
        -webkit-margin-end: calc(
            var(--EventTile_bubble-margin-inline-end) + var(--EventTile_bubble_line-margin-inline-end)
        );
                margin-inline-end: calc(
            var(--EventTile_bubble-margin-inline-end) + var(--EventTile_bubble_line-margin-inline-end)
        );
    }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_alignedBetweenBubbles .mx_EventTile_line {
            max-width: 100%;
            width: 100%;
            margin: 0;
        }

.mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] {
    --backgroundColor: transparent;
}

    .mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_emote {
        padding-right: 60px; /* align with bubbles text */
        font-style: italic;
    }

        .mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_emote > a {
            /* linked timestamp element */
            -ms-flex-item-align: center;
                align-self: center;
            bottom: auto;
            bottom: initial;
            top: auto;
            top: initial;
            font-style: normal; /* undo italic above */
        }

        .mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_emote .mx_MEmoteBody {
            padding: 4px 0;
        }
    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a, .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a {
        /* hide this timestamp as the tile will render its own */
        display: none;
    }

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"],
.mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"],
.mx_EventTile.mx_EventTile_info[data-layout="bubble"] {
    padding: 5px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line,
    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_info,
    .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line,
    .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_info,
    .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line,
    .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_info {
        min-width: 100%;
        /* Preserve alignment with left edge of text in bubbles */
        margin: 0;
    }

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"],
.mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"],
.mx_EventTile.mx_EventTile_info[data-layout="bubble"],
.mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] {
    --backgroundColor: transparent;
    --gutterSize: 0;
}

    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_avatar, .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_avatar, .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_avatar, .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_avatar {
        position: static;
        -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
                order: -1;
        -webkit-margin-end: var(--EventTile_bubble_gap-inline);
                margin-inline-end: var(--EventTile_bubble_gap-inline); /* Same spacing between E2E icon and a hidden event */
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
    }

    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_e2eIcon, .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_e2eIcon, .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_e2eIcon, .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_e2eIcon {
        -webkit-margin-start: 0;
                margin-inline-start: 0; /* mx_EventTile_avatar has margin-inline-end, so margin is not needed here */
        -ms-flex-item-align: center;
            align-self: center;
    }
        .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp, 
        .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp, 
        .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp, 
        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line > a, 
        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp {
            right: auto;
            left: -77px;
            bottom: auto;
            bottom: initial;
            -ms-flex-item-align: center;
                align-self: center;
        }

            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp {
                vertical-align: middle;
            }

.mx_GenericEventListSummary[data-layout="bubble"] {

    /* increase margin between ELS and the next Event to not have our user avatar overlap the expand/collapse button */
}
    .mx_GenericEventListSummary[data-layout="bubble"] .mx_EventTile.mx_EventTile_info .mx_EventTile_line {
        /* Avoid overflow of event info by cancelling width settings */
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] + .mx_EventTile[data-layout="bubble"][data-self="true"] {
        margin-top: 20px;
    }

    .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info {
        padding: 2px 0;
        margin-right: 0;
    }

        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info .mx_MessageActionBar {
            /* Reset .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_MessageActionBar */
            inset-inline-start: initial;
            inset-inline-end: 48px; /* align with that of right-column bubbles */
        }

        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info .mx_ReadReceiptGroup {
            /* match alignment to RRs of chat bubbles */
            inset-inline-end: calc(-1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end) + 60px);
        }

        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info::before {
            inset-inline-end: 0; /* match alignment of the hover background to that of chat bubbles */
        }

.mx_EventTile_tileError[data-layout="bubble"] .mx_EventTile_line {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; /* restore the centering */
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTile {
    --EventTile_content-margin-inline-end: 34px;
    --EventTile_group_line-spacing-block-start: 1px;
    --EventTile_group_line-spacing-block-end: 3px;
    --EventTile_group_line-spacing-inline-start: 64px;
    --EventTile_group_line-line-height: 1.375rem;
    --EventTile_ThreadSummary-line-height: calc(2 * 0.75rem);

    -ms-flex-negative: 0;

        flex-shrink: 0;
    max-width: 100%;
    clear: both; /* TODO: check if this is necessary */
    padding-top: 18px;
    position: relative;
}

    .mx_EventTile.mx_EventTile_info {
        font-size: var(--cpd-font-size-body-sm);
        color: var(--cpd-color-text-secondary);
    }

    .mx_EventTile .mx_EventTile_avatar {
        cursor: pointer;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }

    .mx_EventTile .mx_EventTile_body {
        overflow-y: hidden;
        text-align: start;
    }

    .mx_EventTile .mx_ReadReceiptGroup_container svg {
        display: inline-block;
        width: 16px;
        height: 16px;
        color: var(--cpd-color-icon-tertiary);
    }
        .mx_EventTile .mx_EventTile_content.mx_EditMessageComposer,
        .mx_EventTile .mx_EventTile_content.mx_EditWysiwygComposer {
            /* Make sure the formatting bar is visible */
            overflow: visible;
        }

    .mx_EventTile .mx_EventTile_searchHighlight {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
        color: #f4f6fa;
        border-radius: 5px;
        padding-inline: 2px;
        cursor: pointer;
    }

        .mx_EventTile .mx_EventTile_searchHighlight a {
            background-color: #2e80de;
            background-color: var(--cpd-color-text-action-accent);
            color: #f4f6fa;
        }

    .mx_EventTile .mx_MessageTimestamp_lateIcon {
        position: absolute;
        right: 100%;
        top: var(--cpd-space-1x);
        color: var(--cpd-color-text-secondary);
    }

    .mx_EventTile .mx_EventTileBubble {
        margin-block: 10px;
        margin-block: var(--EventTileBubble_margin-block);
        min-width: 100px;
    }
        .mx_EventTile .mx_ImageBody .mx_ImageBody_container {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; /* on every layout */
        }

    .mx_EventTile .mx_DisambiguatedProfile {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font: var(--cpd-font-body-md-regular);
        display: inline-block;
        padding-bottom: 0px;
        padding-top: 0px;
    }

    .mx_EventTile .mx_ReactionsRow {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 4px;
    }
        .mx_EventTile .mx_ReplyChain--expanded .mx_EventTile_body {
            /* !important needed to override .mx_ReplyTile .mx_EventTile_content .mx_EventTile_body */
            display: block !important;
            overflow-y: scroll;
        }

        .mx_EventTile .mx_ReplyChain--expanded .mx_EventTile_collapsedCodeBlock {
            /* !important needed due to .mx_ReplyTile .mx_EventTile_content .mx_EventTile_pre_container > pre */
            display: block !important;
        }
        .mx_RoomView_searchResultsPanel .mx_EventTile.mx_EventTile_contextual {
            opacity: 0.4;
        }

    .mx_EventTile.mx_EventTile_bubbleContainer {
        display: grid;
        grid-template-columns: 1fr 100px;
    }

        .mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_line {
            margin-right: 0;
            grid-column: 1 / 3;
            padding: 0 !important; /* override default padding of mx_EventTile_line so that we can be centered */
        }

        .mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_msgOption {
            grid-column: 2;
        }
            .mx_EventTile.mx_EventTile_bubbleContainer:hover .mx_EventTile_line {
                /* To avoid bubble events being highlighted */
                background-color: inherit !important;
            }

    .mx_EventTile.mx_EventTile_isEditing .mx_MessageTimestamp {
        visibility: hidden;
    }

    .mx_EventTile[data-layout="irc"],
    .mx_EventTile[data-layout="group"] {
        --selected-message-border-width: 4px;

        /* TODO: adjust the values for IRC layout */
        --EventTile-box-shadow-offset-x: calc(50px + var(--selected-message-border-width));
        --EventTile-box-shadow-spread-radius: -50px;

        /* this is used for the tile for the event which is selected via the URL. */
    }
        .mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon, .mx_EventTile[data-layout="group"] .mx_EventTile_e2eIcon {
            position: absolute;
        }
            .mx_EventTile[data-layout="irc"] .mx_ImageBody .mx_ImageBody_container, .mx_EventTile[data-layout="group"] .mx_ImageBody .mx_ImageBody_container {
                -webkit-box-pack: start;
                    -ms-flex-pack: start;
                        justify-content: flex-start;
                min-height: 2.75rem;
                min-width: 2.75rem;
            }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_line,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_reply,
        .mx_EventTile[data-layout="group"] .mx_EventTile_line,
        .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            position: relative;
            border-radius: 8px;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_reply, .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            margin-right: 10px;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption, .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption {
            float: right;
            text-align: right;
            position: relative;
            width: 90px;

            /* Hack to stop the height of this pushing the messages apart.
               Replaces margin-top: -6px. This interacts better with a read
               marker being in between. Content overflows. */
            height: 1px;
        }
            .mx_EventTile[data-layout="irc"].mx_EventTile_highlight .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_highlight .markdown-body .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_highlight .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_highlight .markdown-body .mx_EventTile_line {
                background-color: #25271f;
            }
            .mx_EventTile[data-layout="irc"]:focus-visible:focus-within .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_actionBarFocused .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_isEditing .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_selected .mx_EventTile_line, .mx_EventTile[data-layout="group"]:focus-visible:focus-within .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_actionBarFocused .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_isEditing .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_selected .mx_EventTile_line {
                background-color: var(--cpd-color-bg-subtle-secondary);
            }
            .mx_EventTile[data-layout="irc"].mx_EventTile_isEditing > .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_selected > .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_isEditing > .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_selected > .mx_EventTile_line {
                /* TODO: ultimately we probably want some transition on here. */
                -webkit-box-shadow: inset var(--EventTile-box-shadow-offset-x) 0 0 var(--EventTile-box-shadow-spread-radius)
                    #2e80de;
                        box-shadow: inset var(--EventTile-box-shadow-offset-x) 0 0 var(--EventTile-box-shadow-spread-radius)
                    #2e80de;
                -webkit-box-shadow: inset var(--EventTile-box-shadow-offset-x) 0 0 var(--EventTile-box-shadow-spread-radius)
                    var(--cpd-color-bg-action-primary-rest);
                        box-shadow: inset var(--EventTile-box-shadow-offset-x) 0 0 var(--EventTile-box-shadow-spread-radius)
                    var(--cpd-color-bg-action-primary-rest);
            }
            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_e2eIcon, .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_e2eIcon {
                top: 0;
            }

        .mx_EventTile[data-layout="irc"].mx_EventTile_continuation .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_continuation .mx_EventTile_line {
            clear: both;
        }
            .mx_EventTile[data-layout="irc"]:hover .mx_EventTile_line, .mx_EventTile[data-layout="group"]:hover .mx_EventTile_line {
                background-color: var(--cpd-color-bg-subtle-secondary);
            }
        .mx_EventTile[data-layout="bubble"] .mx_EventTileBubble, .mx_EventTile[data-layout="group"] .mx_EventTileBubble {
            margin-inline: auto;
        }

        .mx_EventTile[data-layout="bubble"] .mx_ReplyChain, .mx_EventTile[data-layout="group"] .mx_ReplyChain {
            margin-bottom: 8px;
        }

    .mx_EventTile[data-layout="irc"] {
        --EventTile_irc_line-padding-block: 1px;

        /* add --right-padding value of MessageTimestamp only */
        /* stylelint-disable-next-line declaration-colon-space-after */
        --EventTile_irc_line_info-margin-inline-start: calc(
            var(--name-width) + var(--icon-width) + 1 * var(--right-padding)
        );

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        padding-top: 0;
    }

        .mx_EventTile[data-layout="irc"] .mx_MessageTimestamp {
            min-width: 46px;
            min-width: var(--MessageTimestamp-width); /* ensure space for EventTile without timestamp */
            text-align: right;
        }

        .mx_EventTile[data-layout="irc"] > * {
            margin-right: var(--right-padding);
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon {
            height: 1.125rem;
            height: var(--irc-line-height);
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar,
        .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption {
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar {
            -webkit-box-ordinal-group: 2;
                -ms-flex-order: 1;
                    order: 1;
            position: relative;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            /* Need to use important to override the js calculated values. */
        }
            .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar > .mx_BaseAvatar,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar > .mx_BaseAvatar > * {
                font-size: 0.625rem !important;
                line-height: calc(0.9375rem - 2px) !important;
            }

        .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile {
            -webkit-box-ordinal-group: 3;
                -ms-flex-order: 2;
                    order: 2;
            width: var(--name-width);
            -webkit-margin-end: 0;
                    margin-inline-end: 0; /* override mx_EventTile > * */
        }

            .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile > .mx_DisambiguatedProfile_displayName {
                width: 100%;
                text-align: end;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile > .mx_DisambiguatedProfile_mxid {
                visibility: collapse;
                margin-left: 0; /* Override the inherited margin. */
                padding: 0 5px;
            }

            .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile:hover {
                overflow: visible;
                z-index: 10;
            }

                .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile:hover > .mx_DisambiguatedProfile_displayName {
                    overflow: visible;
                    display: inline;
                    background-color: var(--cpd-color-bg-subtle-secondary);
                    border-radius: 8px 0 0 8px;
                    padding-right: 8px;
                }

                .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile:hover > .mx_DisambiguatedProfile_mxid {
                    visibility: visible;
                    opacity: 1;
                    background-color: var(--cpd-color-bg-subtle-secondary);
                }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon {
            padding: 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
            background-position: center;
        }
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_e2eIcon,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_TextualEvent,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_ViewSourceEvent,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_MTextBody {
                /* add a 1px padding top and bottom because our larger
                emoji font otherwise gets cropped by anti-zalgo */
                padding: var(--EventTile_irc_line-padding-block) 0;
            }

            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_e2eIcon,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_TextualEvent,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_MTextBody {
                display: inline-block;
            }
                .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_ReplyTile .mx_MTextBody {
                    display: -webkit-box; /* Enable -webkit-line-clamp */
                }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_line,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_reply {
            -webkit-box-ordinal-group: 4;
                -ms-flex-order: 3;
                    order: 3;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            -ms-flex-negative: 1;
                flex-shrink: 1;
            min-width: 0;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_reply {
            -webkit-box-ordinal-group: 5;
                -ms-flex-order: 4;
                    order: 4;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption {
            -webkit-box-ordinal-group: 6;
                -ms-flex-order: 5;
                    order: 5;
        }

            .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                inset-block-start: -0.3rem; /* (var(--irc-line-height) - avatar height) / 2 */
            }

        .mx_EventTile[data-layout="irc"] .mx_ReplyChain {
            margin: 0;
        }

        .mx_EventTile[data-layout="irc"] .mx_EditMessageComposer_buttons {
            position: relative;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTileBubble {
            position: relative;
            left: var(--EventTile_irc_line_info-margin-inline-start);
        }

            .mx_EventTile[data-layout="irc"] .mx_EventTileBubble.mx_cryptoEvent {
                left: auto;
                left: initial;
            }

        .mx_EventTile[data-layout="irc"] .mx_ReplyTile .mx_EventTileBubble {
            left: auto;
            left: initial; /* Cancel the value specified above for the tile inside ReplyTile */
        }
            .mx_EventTile[data-layout="irc"].mx_EventTile_isEditing > .mx_EventTile_line .mx_EditMessageComposer {
                /* add space for the stroke on box-shadow */
                -webkit-padding-start: calc(
                    var(--selected-message-border-width) + var(--EditMessageComposer-padding-inline)
                );
                        padding-inline-start: calc(
                    var(--selected-message-border-width) + var(--EditMessageComposer-padding-inline)
                );
            }
            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_avatar {
                left: var(--EventTile_irc_line_info-margin-inline-start);
                top: 0;
                margin-right: var(--right-padding);
                padding-block: var(--EventTile_irc_line-padding-block);
            }

            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_line {
                -webkit-margin-start: var(--EventTile_irc_line_info-margin-inline-start);
                        margin-inline-start: var(--EventTile_irc_line_info-margin-inline-start);
            }

            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_ViewSourceEvent, 
            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_TextualEvent {
                line-height: 1.125rem;
                line-height: var(--irc-line-height);
            }
            .mx_EventTile[data-layout="irc"].mx_EventTile_emote .mx_EventTile_avatar {
                /* add --right-padding value of MessageTimestamp only */
                margin-left: calc(var(--name-width) + var(--icon-width) + 1 * var(--right-padding));
            }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_footer {
            margin: var(--cpd-space-1-5x) 0;
        }
        .mx_EventTile[data-layout="group"] .mx_EventTile_avatar {
            top: 14px;
            left: 8px;
        }

        .mx_EventTile[data-layout="group"] .mx_EventTile_line,
        .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            padding-top: var(--EventTile_group_line-spacing-block-start);
            padding-bottom: var(--EventTile_group_line-spacing-block-end);
            padding-left: var(--EventTile_group_line-spacing-inline-start);
            line-height: var(--EventTile_group_line-line-height);
        }

        .mx_EventTile[data-layout="group"] .mx_EventTile_e2eIcon {
            inset: 0 0 0 44px;

            /* Keep height equal to text for alignment */
            height: var(--EventTile_group_line-line-height);
            margin: 1px;
        }

        .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption {
            -webkit-margin-end: 10px;
                    margin-inline-end: 10px;
        }

            .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                /* This aligns the avatar with the last line of the */
                /* message. We want to move it one line up */
                /* See .mx_EventTile[data-layout=group] .mx_EventTile_line in _EventTile.scss */
                inset-block-start: calc(-1.375rem - 3px);
            }

        .mx_EventTile[data-layout="group"] .mx_MessageTimestamp {
            position: absolute;
            left: 0;
            text-align: center;
        }

        .mx_EventTile[data-layout="group"] .mx_ThreadSummary,
        .mx_EventTile[data-layout="group"] .mx_ThreadSummary_icon {
            margin-left: 64px;
        }

        .mx_EventTile[data-layout="group"] .mx_EventTile_footer {
            margin: var(--cpd-space-1x) var(--EventTile_group_line-spacing-inline-start);
        }

        .mx_EventTile[data-layout="group"] > .mx_DisambiguatedProfile {
            line-height: 1.25rem;
            margin-left: 64px;
            max-width: calc(100% - 64px);
        }

        .mx_EventTile[data-layout="group"] > .mx_EventTile_avatar {
            position: absolute;
            z-index: 9;
        }

        .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] {

            /* on ELS we need the margin to allow interaction with the expand/collapse button */
            /* which is normally in the RR gutter */
        }

            .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_ThreadSummary,
            .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_ThreadSummary_icon,
            .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_EventTile_line {
                margin-right: 80px;
                min-height: 0.875rem;
            }

            .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_ThreadSummary {
                /* leave space on both left & right gutters */
                max-width: min(calc(100% - 64px - 80px), 600px);
            }

        .mx_EventTile[data-layout="group"].mx_EventTile_continuation {
            padding-top: 0;
        }

        .mx_EventTile[data-layout="group"].mx_EventTile_info {

            padding-top: 0;
        }

            .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar,
            .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_e2eIcon {
                line-height: 1;
                margin: 3px 0 2px;
            }

            .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar {
                top: auto;
                top: initial;
                inset-inline-start: 64px;
                height: 14px;
            }

            .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line {
                padding-block: 3px 2px;
                /* 20px: avatar area */
                -webkit-padding-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
                        padding-inline-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
            }

                .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line .mx_MessageTimestamp {
                    top: 0;
                }

            .mx_EventTile[data-layout="group"].mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line {
                /* TODO: check if this would be necessary; */
                -webkit-padding-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
                        padding-inline-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
            }

    .mx_EventTile[data-layout="bubble"] {
        /* Other half of the gutter is provided by margin-bottom on the last tile
        of the section */
        margin-top: calc(var(--gutterSize) / 2);
        margin-left: var(--EventTile_bubble-margin-inline-start);

        /* Reset default values. TODO: remove */
        max-width: none;
        max-width: initial;
        padding-top: 0;
    }
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                position: absolute;
                inset-block-start: auto;

                /* as close to right gutter without clipping as possible */
                inset-inline-end: calc(-1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end));

                /* (EventTileLine.line-height - ReadReceiptGroup.height) / 2 */
                /* this centers the ReadReceiptGroup if we’ve got a single line */
                inset-block-end: calc((1.125rem - 24px) / 2);
            }
        .mx_EventTile[data-layout="bubble"] .mx_EventTileBubble {
            /* Timestamps are inside the tile, so the width can be less constrained */
            max-width: 600px;
        }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation {
            margin-top: 2px;
        }
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection {
            /* Other half of the gutter is provided by margin-top on the first
            tile of the section */
            margin-bottom: calc(var(--gutterSize) / 2);
        }
        .mx_GenericEventListSummary[data-layout="irc"] .mx_EventTile_line .mx_RedactedBody, .mx_GenericEventListSummary[data-layout="group"] .mx_EventTile_line .mx_RedactedBody {
            line-height: 1; /* remove spacing between lines */
        }

    .mx_GenericEventListSummary[data-layout="irc"] {
        /* Apply only collapsed events block */
    }
        .mx_GenericEventListSummary[data-layout="irc"] > .mx_EventTile_line {
            /* add --right-padding value of MessageTimestamp and avatar only */
            /* stylelint-disable-next-line declaration-colon-space-after */
            padding-left: calc(
                var(--name-width) + var(--icon-width) + 46px + 2 * var(--right-padding)
            );
            padding-left: calc(
                var(--name-width) + var(--icon-width) + var(--MessageTimestamp-width) + 2 * var(--right-padding)
            );
        }
        .mx_GenericEventListSummary[data-layout="group"] .mx_EventTile_line {
            padding-left: 64px;
        }

        .mx_GenericEventListSummary[data-layout="group"] .mx_GenericEventListSummary_unstyledList > .mx_EventTile_info .mx_EventTile_avatar ~ .mx_EventTile_line {
            /* override padding-left $left-gutter */
            -webkit-padding-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
                    padding-inline-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
        }

.mx_EventTile_content {
    /*
    all the overflow-y: hidden; are to trap Zalgos -
    but they introduce an implicit overflow-x: auto.
    so make that explicitly hidden too to avoid random
    horizontal scrollbars occasionally appearing, like in
    https://github.com/vector-im/vector-web/issues/1154
    */
    overflow-y: hidden;
    overflow-x: hidden;
    margin-right: var(--EventTile_content-margin-inline-end);
}

    .mx_EventTile_content .markdown-body {
        font: var(--cpd-font-body-md-regular) !important;
        letter-spacing: var(--cpd-font-letter-spacing-body-md);
        font-family: inherit !important;
        white-space: normal !important;
        line-height: inherit !important;
        background-color: inherit;
        color: inherit; /* inherit the colour from the dark or light theme by default (but not for code blocks) */
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;

        /* Make h1 and h2 the same size as h3. */

        /*
        // actually, removing the Italic TTF provides
        // better results seemingly

        // compensate for Nunito italics being terrible
        // https://github.com/google/fonts/issues/1726
        em {
            transform: skewX(-14deg);
            display: inline-block;
        }
        */

        /* Support arbitrarily large marker numbers */

        /* Override nested lists being lower-roman */

        /* Make list type disc to match rich text editor */

        /* override styles from the base markdown CSS that put markdown content on its own line,
           as this isn't what we want for richtext emote content.
         */
    }

        .mx_EventTile_content .markdown-body pre,
        .mx_EventTile_content .markdown-body code {
            font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            background-color: var(--cpd-color-bg-subtle-secondary);
        }

        .mx_EventTile_content .markdown-body code:not(pre *) {
            background-color: var(--cpd-color-bg-subtle-secondary);
            border: 1px solid var(--cpd-color-gray-400);
            border-radius: 4px;
            /* The horizontal padding is added by github-markdown-css .markdown-body */
            padding: 2px 0;
            /* Avoid inline code blocks to be sticked when on multiple lines */
            line-height: 1.375rem;
            /* Avoid the border to be glued to the other words */
            margin-right: 2px;
        }

        .mx_EventTile_content .markdown-body code {
            white-space: pre-wrap; /* don't collapse spaces in inline code blocks */
        }

        .mx_EventTile_content .markdown-body pre {
            /* have to use overlay rather than auto otherwise Linux and Windows */
            /* Chrome gets very confused about vertical spacing: */
            /* https://github.com/vector-im/vector-web/issues/754 */
            overflow-x: overlay;
            overflow-y: visible;
        }

            .mx_EventTile_content .markdown-body pre::-webkit-scrollbar-corner {
                background: transparent;
            }

            .mx_EventTile_content .markdown-body pre{

            border: 1px solid var(--cpd-color-gray-400);
}

            .mx_EventTile_content .markdown-body pre code {
                white-space: pre; /* we want code blocks to be scrollable and not wrap */
            }

                .mx_EventTile_content .markdown-body pre code > * {
                    display: inline;
                }

        .mx_EventTile_content .markdown-body h1,
        .mx_EventTile_content .markdown-body h2,
        .mx_EventTile_content .markdown-body h3,
        .mx_EventTile_content .markdown-body h4,
        .mx_EventTile_content .markdown-body h5,
        .mx_EventTile_content .markdown-body h6 {
            font-family: inherit !important;
            color: inherit;
        }
        .mx_EventTile_content .markdown-body h1,
        .mx_EventTile_content .markdown-body h2 {
            font-size: 1.5em;
            border-bottom: none !important; /* override GFM */
        }

        .mx_EventTile_content .markdown-body a {
            color: var(--cpd-color-text-link-external);
        }

        .mx_EventTile_content .markdown-body blockquote {
            border-left: 2px solid var(--cpd-color-border-interactive-primary);
            color: var(--cpd-color-text-secondary);
            border-radius: 2px;
            padding: 0 10px;
        }
        .mx_EventTile_content .markdown-body ol {
            list-style-position: inside;
            -webkit-padding-start: 0.5em;
                    padding-inline-start: 0.5em;
        }
        .mx_EventTile_content .markdown-body ol ol,
        .mx_EventTile_content .markdown-body ul ol {
            list-style-type: revert;
        }
        .mx_EventTile_content .markdown-body ul {
            list-style-type: disc;
        }
        .mx_EventTile_content .markdown-body::before {
            display: none;
        }

        .mx_EventTile_content .markdown-body::after {
            display: none;
        }

/* Spoiler stuff */
.mx_EventTile_spoiler {
    cursor: pointer;

    /* clear button styles */
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    text-align: inherit;
}

    .mx_EventTile_spoiler .mx_EventTile_spoiler_reason {
        color: var(--cpd-color-text-secondary);
        font-size: 0.6875rem;
    }

    .mx_EventTile_spoiler .mx_EventTile_spoiler_content {
        -webkit-filter: blur(5px) saturate(0.1) sepia(1);
                filter: blur(5px) saturate(0.1) sepia(1);
        -webkit-transition-duration: 0.5s;
                transition-duration: 0.5s;
        pointer-events: none;
    }

    .mx_EventTile_spoiler.visible > .mx_EventTile_spoiler_content {
        -webkit-filter: none;
                filter: none;
        -webkit-user-select: auto;
           -moz-user-select: auto;
            -ms-user-select: auto;
                user-select: auto;
        pointer-events: auto;
    }

.mx_EventTile_bigEmoji {
    font-size: 48px;
    line-height: 57px;
}

    .mx_EventTile_bigEmoji .mx_Emoji {
        font-size: inherit !important;
    }

.mx_EventTile_e2eIcon {
    position: relative;
    width: 14px;
    height: 14px;
    display: block;
}

    .mx_EventTile_e2eIcon svg {
        height: inherit;
        width: inherit;
        display: block;
    }

.mx_EventTile_body {

    /* selector wrongly applies to pill avatars but those have explicit width/height passed at a higher specificity */
}
    .mx_EventTile_body a:hover {
        text-decoration: underline;
    }

    .mx_EventTile_body pre {
        border: 1px solid transparent;
    }

        .mx_EventTile:hover .mx_EventTile_body pre,
        .mx_EventTile:focus-visible:focus-within .mx_EventTile_body pre {
            border: 1px solid var(--cpd-color-gray-800);
        }
    .mx_EventTile_body.markdown-body img {
        -o-object-fit: contain;
           object-fit: contain;
        -o-object-position: left top;
           object-position: left top;

        /* Override the default colors of the 'github-markdown-css' library
        (#fff for light theme, #000 for dark theme) to match the inherited theme */
        background-color: inherit !important;
    }

    .mx_EventTile_clamp .mx_EventTile_body {
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
    }

    .mx_EventTile_body .mx_EventTile_pre_container {
        /* For correct positioning of _copyButton (See TextualBody) */
        position: relative;

        /* Inserted adjacent to <pre> blocks, (See TextualBody) */
    }
            .mx_EventTile_body .mx_EventTile_pre_container:focus-within .mx_EventTile_button, .mx_EventTile_body .mx_EventTile_pre_container:hover .mx_EventTile_button {
                visibility: visible;
            }

        .mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_collapsedCodeBlock {
            max-height: 30vh;
            padding-top: 12px;
            padding-bottom: 12px;
        }
        .mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_button {
            position: absolute;
            top: 8px;
            right: 8px;
            width: 16px;
            height: 16px;
            visibility: hidden;
        }

            .mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_button.mx_EventTile_buttonBottom {
                top: 33px;
            }

            .mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_button svg {
                width: inherit;
                height: inherit;
                display: block;
                color: #b9bec6;
            }

.mx_EventTile_lineNumbers {
    float: left;
    margin: 0 0.5em 0 -1.5em;
    color: gray;
}

    .mx_EventTile_lineNumbers span {
        text-align: right;
        display: block;
        padding-left: 1em;
    }

.mx_EventTile_button {
    display: inline-block;
    cursor: pointer;
}

.mx_EventTile_tileError {
    color: red;
    text-align: center;

    /* Remove some of the default tile padding so that the error is centered */
    margin-right: 0;
}

    .mx_EventTile_tileError .mx_EventTile_line {
        padding-left: 0;
        margin-right: 0;
    }

        .mx_EventTile_tileError .mx_EventTile_line span {
            padding: 4px 8px;
        }

    .mx_EventTile_tileError a {
        margin-left: 1em;
    }

.mx_EventTile:hover .mx_ThreadActionBar,
.mx_EventTile.mx_EventTile_actionBarFocused .mx_ThreadActionBar,
[data-whatinput="keyboard"] .mx_EventTile:focus-within .mx_ThreadActionBar,
.mx_EventTile:focus-visible:focus-within .mx_ThreadActionBar {
    visibility: visible;
}

.mx_EventTile[data-shape="ThreadsList"],
.mx_EventTile[data-shape="Notification"] {
    --topOffset: 12px;
    --leftOffset: 48px; /* notification dot next to the timestamp */

    margin: calc(12px + 1px) 0 12px;

    margin: calc(var(--topOffset) + 1px) 0 var(--topOffset); /* include the height of horizontal line */
    padding: 8px;
    border-radius: 8px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    /* ThreadsList has always group layout */
}

    .mx_EventTile[data-shape="ThreadsList"]::after,
    .mx_EventTile[data-shape="ThreadsList"]::before,
    .mx_EventTile[data-shape="Notification"]::after,
    .mx_EventTile[data-shape="Notification"]::before {
        content: "";
        position: absolute;
    }

    .mx_EventTile[data-shape="ThreadsList"]::after, .mx_EventTile[data-shape="Notification"]::after { /* exclude the height of horizontal line */
        inset: auto calc(-1 * var(--cpd-space-2x)) calc(-1 * var(--topOffset) - 1px) calc(var(--leftOffset) + 8px);

        height: 1px;
        background-color: var(--cpd-color-gray-400);
        pointer-events: none; /* disable the message action bar on hover */
    }

    .mx_EventTile[data-shape="ThreadsList"]::before, .mx_EventTile[data-shape="Notification"]::before {
        inset: 0;
        pointer-events: none; /* ensures the title for the sender name can be correctly displayed */
    }

    .mx_EventTile[data-shape="ThreadsList"][data-notification="total"]::before, .mx_EventTile[data-shape="Notification"][data-notification="total"]::before {
        background-color: var(--cpd-color-icon-tertiary);
    }

    .mx_EventTile[data-shape="ThreadsList"][data-notification="highlight"]::before, .mx_EventTile[data-shape="Notification"][data-notification="highlight"]::before {
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }
        .mx_EventTile[data-shape="ThreadsList"]:last-child::after, .mx_EventTile[data-shape="Notification"]:last-child::after {
            content: normal;
            content: initial;
        }
        .mx_EventTile[data-shape="ThreadsList"]:last-child, .mx_EventTile[data-shape="Notification"]:last-child{

        margin-bottom: 0;
}

    .mx_EventTile[data-shape="ThreadsList"]:first-child, .mx_EventTile[data-shape="Notification"]:first-child {
        margin-top: 0;
    }

    .mx_EventTile[data-shape="ThreadsList"] .mx_EventTile_avatar, .mx_EventTile[data-shape="Notification"] .mx_EventTile_avatar {
        inset: 8px auto auto 8px;
    }

    .mx_EventTile[data-shape="ThreadsList"] .mx_EventTile_details, .mx_EventTile[data-shape="Notification"] .mx_EventTile_details {
        overflow: hidden;
    }

    .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile, .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

        .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName,
        .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid,
        .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName,
        .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
            display: block;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName, .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName {
            -webkit-box-flex: 0;
                -ms-flex: none;
                    flex: none;
            max-width: 100%;
        }

        .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid, .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

    .mx_EventTile[data-shape="ThreadsList"] .mx_EventTile_line, .mx_EventTile[data-shape="Notification"] .mx_EventTile_line {
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding-bottom: 0;
        -webkit-padding-start: var(--leftOffset);
                padding-inline-start: var(--leftOffset);
    }

    .mx_EventTile[data-shape="ThreadsList"] .mx_MessageTimestamp, .mx_EventTile[data-shape="Notification"] .mx_MessageTimestamp {
        font-size: 0.75rem;
        width: auto;
        width: initial; /* Cancel the default width */
        overflow: hidden; /* ensure correct overflow behavior */
        text-overflow: ellipsis;
        position: static;
        position: initial;
        margin-left: auto; /* to ensure it's end-aligned even if it's the only element of its parent */
    }

    .mx_EventTile[data-shape="ThreadsList"]:hover, .mx_EventTile[data-shape="Notification"]:hover {
        background-color: var(--cpd-color-bg-subtle-secondary);
    }
        .mx_EventTile[data-shape="ThreadsList"][data-layout="group"]:hover .mx_EventTile_line, .mx_EventTile[data-shape="Notification"][data-layout="group"]:hover .mx_EventTile_line {
            background-color: inherit;
            -webkit-box-shadow: none;
                    box-shadow: none; /* don't show the verification left stroke in the thread list */
        }
    .mx_EventTile[data-shape="ThreadsList"] .mx_ThreadPanel_replies {
        margin-top: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
        font: var(--cpd-font-body-sm-regular);
    }

        .mx_EventTile[data-shape="ThreadsList"] .mx_ThreadPanel_replies > svg {
            display: inline-block;
            height: 18px;
            width: 18px;
            -ms-flex-negative: 0;
                flex-shrink: 0;
            color: var(--cpd-color-icon-tertiary);
        }

        .mx_EventTile[data-shape="ThreadsList"] .mx_ThreadPanel_replies .mx_ThreadPanel_replies_amount {
            color: var(--cpd-color-text-secondary);
            font-weight: var(--cpd-font-weight-semibold);
            white-space: nowrap;
            position: relative;
            padding: 0 12px 0 8px;
        }

.mx_ThreadSummary_icon {
    display: inline-block;
    margin-top: 8px;
    margin-bottom: 8px;
}

    .mx_ThreadSummary_icon > svg {
        display: inline-block;
        height: 18px;
        width: 18px;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        color: var(--cpd-color-icon-tertiary);
        vertical-align: middle;
        -webkit-margin-end: 8px;
                margin-inline-end: 8px;
        margin-top: -2px;
    }

    a.mx_ThreadSummary_icon {
        color: var(--cpd-color-text-secondary);
    }

/* For style rules of ThreadView, see _ThreadPanel.pcss */
.mx_ThreadView {
    --ThreadView_group_spacing-start: 56px; /* 56px: 64px - 8px (padding) */
    --ThreadView_group_spacing-end: 8px; /* same as padding */
}

    .mx_ThreadView .mx_EventTile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        /* handling for hidden events (e.g reactions) in the thread view */
    }

        .mx_ThreadView .mx_EventTile .mx_EventTile_roomName {
            display: none;
        }
            .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_avatar {
                position: absolute;
                /* Align with hidden event content */
                top: 50%;
                -webkit-transform: translateY(-50%);
                        transform: translateY(-50%);
                margin-top: -2px;
                margin-bottom: 0;
            }

            .mx_ThreadView .mx_EventTile.mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line,
            .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_line {

                -webkit-padding-start: 0;

                        padding-inline-start: 0;
                line-height: 0.75rem;
            }

                .mx_ThreadView .mx_EventTile.mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                .mx_ThreadView .mx_EventTile.mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_line .mx_EventTile_content,
                .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_line .mx_RedactedBody {
                    width: auto;
                    font-size: 0.75rem;
                }

            .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"],
            .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] {
                padding-top: 0;
            }

                .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_EventTile_avatar, .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_EventTile_avatar {
                    /* 14px: avatar width, 4px: align with text */
                    left: calc(46px + 14px - 4px);
                    left: calc(var(--MessageTimestamp-width) + 14px - 4px);
                    z-index: 9; /* position above the hover styling */
                }

                .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_MessageTimestamp, .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_MessageTimestamp {
                    top: 2px; /* Align with avatar */
                }
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"].mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"].mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"].mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"].mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_EventTile_line .mx_RedactedBody {
                        /* 14px: avatar width, 6px: 20px - 14px */
                        -webkit-margin-start: calc(14px + 6px);
                                margin-inline-start: calc(14px + 6px);
                    }
                .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_avatar {
                    inset-inline-start: 0;
                }
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"].mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"].mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_RedactedBody {
                        -webkit-margin-start: calc(var(--ThreadView_group_spacing-start) + 14px + 6px);
                                margin-inline-start: calc(var(--ThreadView_group_spacing-start) + 14px + 6px);
                    }

        .mx_ThreadView .mx_EventTile[data-layout="irc"],
        .mx_ThreadView .mx_EventTile[data-layout="group"] {
            -webkit-padding-before: 16px;
                    padding-block-start: 16px;
        }

            .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_line,
            .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_footer,
            .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_line,
            .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_footer {
                -webkit-margin-end: var(--ThreadView_group_spacing-end);
                        margin-inline-end: var(--ThreadView_group_spacing-end);
            }

            .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_line, .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_line {
                padding-block: var(--BaseCard_EventTile_line-padding-block);

                /* Add padding to align message text with summary text */
                /* See: .mx_EventTile[data-layout="group"] .mx_EventTile_line */
                -webkit-padding-start: var(--ThreadView_group_spacing-start);
                        padding-inline-start: var(--ThreadView_group_spacing-start);
            }
                    .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_content.mx_EditMessageComposer, .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_line .mx_EventTile_content.mx_EditMessageComposer {
                        -webkit-padding-start: 0;
                                padding-inline-start: 0; /* align start of first letter with that of the event body */
                    }

            .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_footer, .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_footer {
                /* Align with message text and summary text */
                -webkit-margin-start: var(--ThreadView_group_spacing-start);
                        margin-inline-start: var(--ThreadView_group_spacing-start);
            }

            .mx_ThreadView .mx_EventTile[data-layout="irc"].mx_EventTile_continuation, .mx_ThreadView .mx_EventTile[data-layout="group"].mx_EventTile_continuation {
                -webkit-padding-before: 0;
                        padding-block-start: 0; /* Cancel padding-block-start */
            }

        .mx_ThreadView .mx_EventTile[data-layout="group"] {
            width: 100%;
        }

            .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_senderDetails {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                gap: 16px; /* gap between the avatar and the sender ID */
                -webkit-padding-start: 8px;
                        padding-inline-start: 8px;
            }

                .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_senderDetails a {
                    -webkit-box-flex: 1;
                        -ms-flex: 1;
                            flex: 1;
                    min-width: 0;
                    min-width: initial;
                    max-width: 100%;
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-align: center;
                        -ms-flex-align: center;
                            align-items: center;
                }

                    .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_senderDetails a .mx_DisambiguatedProfile {
                        margin-left: 8px;
                        -webkit-box-flex: 1;
                            -ms-flex: 1;
                                flex: 1;
                    }

            .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_MessageTimestamp {
                position: absolute; /* for IRC layout */
                top: 2px; /* Align with mx_EventTile_content */
            }

        .mx_ThreadView .mx_EventTile[data-layout="bubble"] {
            margin-inline: var(--BaseCard_EventTile-spacing-inline);
        }

            .mx_ThreadView .mx_EventTile[data-layout="bubble"]::before {
                inset-inline: calc(-1 * var(--BaseCard_EventTile-spacing-inline));
                z-index: auto; /* enable background color on hover */
            }

            .mx_ThreadView .mx_EventTile[data-layout="bubble"] .mx_ReactionsRow {
                position: relative; /* display on hover */
            }

            .mx_ThreadView .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine {
                padding-block: 0;
                -webkit-padding-start: 0;
                        padding-inline-start: 0;
                max-width: var(--EventBubbleTile_line-max-width);
            }

            .mx_ThreadView .mx_EventTile[data-layout="bubble"][data-self="true"] {
                -webkit-box-align: end;
                    -ms-flex-align: end;
                        align-items: flex-end;
            }

                .mx_ThreadView .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line.mx_EventTile_mediaLine {
                    margin: 0 var(--EventTile_bubble_line-margin-inline-end) 0 0; /* align with normal messages */
                }
            .mx_ThreadView .mx_GenericEventListSummary[data-layout="irc"] > .mx_EventTile_line, .mx_ThreadView .mx_GenericEventListSummary[data-layout="group"] > .mx_EventTile_line {
                -webkit-padding-start: var(--ThreadView_group_spacing-start);
                        padding-inline-start: var(--ThreadView_group_spacing-start); /* align summary text with message text */
                -webkit-padding-end: var(--ThreadView_group_spacing-end);
                        padding-inline-end: var(--ThreadView_group_spacing-end); /* align summary text with message text */
            }

/* Cascading - compact modern layout on the main timeline and the right panel */
    .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] {
        --MatrixChat_useCompactLayout_group-padding-top: 4px;
        --MatrixChat_useCompactLayout-top-avatar: 2px;
        --MatrixChat_useCompactLayout_line-spacing-block: 0px;

        padding-top: 4px;

        padding-top: var(--MatrixChat_useCompactLayout_group-padding-top);

        /* Cascading - apply zero padding to every element including mx_EventTile_emote */
    }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_line,
        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            padding-block: var(--MatrixChat_useCompactLayout_line-spacing-block);
        }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_ReplyChain {
            margin-bottom: 4px;
        }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info {
            padding-top: 0; /* same as the padding for non-compact .mx_EventTile.mx_EventTile_info */
            font-size: 0.8125rem;
        }

            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_e2eIcon,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar {
                top: 0;
                margin-block: var(--MatrixChat_useCompactLayout_line-spacing-block);
            }

            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_reply {
                line-height: 1.25rem;
            }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote {
            padding-top: 8px; /* add a bit more space for emotes so that avatars don't collide */
        }

            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote .mx_EventTile_avatar {
                top: var(--MatrixChat_useCompactLayout-top-avatar);
            }

            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote .mx_EventTile_line,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote .mx_EventTile_reply {
                padding-bottom: 1px;
            }
                .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote.mx_EventTile_continuation .mx_EventTile_line,
                .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote.mx_EventTile_continuation .mx_EventTile_reply {
                    padding-bottom: var(--MatrixChat_useCompactLayout_line-spacing-block);
                }
        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_continuation {
            padding-top: var(--MatrixChat_useCompactLayout_line-spacing-block);
        }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_avatar {
            top: var(--MatrixChat_useCompactLayout-top-avatar);
        }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_e2eIcon {
            margin: 0px;
        }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_DisambiguatedProfile {
            font-size: 0.8125rem;
        }
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                /* This aligns the avatar with the last line of the */
                /* message. We want to move it one line up - 2rem */
                inset-block-start: -2rem;
            }
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body p,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body ul,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body ol,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body dl,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body blockquote,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body pre,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body table {
                margin-bottom: 4px; /* 1/4 of the non-compact margin-bottom */
            }

.mx_EventTile_details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-fill-available;
    width: -moz-available;
    width: stretch;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 8px;
    margin-left: var(--leftOffset);
}
    .mx_EventTile_details .mx_EventTile_truncated {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.mx_EventTile_footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-2x);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/* Media query for mobile UI */
@media only screen and (max-width: 480px) {
    .mx_EventTile_content {
        margin-right: 0;
    }
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Robin Townsend <robin@robin.town>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble.mx_HistoryTile {
    margin: 10px auto;
    margin: var(--EventTileBubble_margin-block) auto;
}

    .mx_EventTileBubble.mx_HistoryTile svg {
        color: #b9bec6;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --irc-line-height: 1.125rem;
}

.mx_IRCLayout {
    --name-width: 80px; /* cf. ircDisplayNameWidth on Settings.tsx */
    --icon-width: 14px;
    --line-height: var(--irc-line-height);
    --right-padding: 5px;

    line-height: 1.125rem !important;

    line-height: var(--line-height) !important;
}

    .mx_IRCLayout blockquote {
        margin: 0;
    }
        .mx_IRCLayout .mx_NewRoomIntro > h2 {
            line-height: normal;
            line-height: initial; /* Cancel var(--irc-line-height) */
        }

    .mx_IRCLayout .mx_ReplyChain {

        /**
         * adding the icon back in the document flow
         * if it's not present, there's no unwanted wasted space
         */
    }
        .mx_IRCLayout .mx_ReplyChain .mx_DisambiguatedProfile {
            width: auto;
            width: initial;
            background: transparent;
            -webkit-box-ordinal-group: initial;
                -ms-flex-order: initial;
                    order: initial;
            -ms-flex-negative: initial;
                flex-shrink: initial; /* Unset flex-shrink to prevent long display name blowout */
        }
            .mx_IRCLayout .mx_ReplyChain .mx_EventTile_emote > .mx_EventTile_avatar {
                margin-left: 0;
                margin-left: initial;
            }

        .mx_IRCLayout .mx_ReplyChain .mx_MessageTimestamp {
            width: auto;
            width: initial;
        }
        .mx_IRCLayout .mx_ReplyChain .mx_EventTile_e2eIcon {
            position: relative;
            -webkit-box-ordinal-group: 0;
                -ms-flex-order: -1;
                    order: -1;
        }

    .mx_IRCLayout .mx_ProfileResizer {
        --resizer-width: 15px;
        --resizer-a11y: 3px; /* Magic number, to be replaced with something more proper from the perspective of a11y */

        position: absolute;
        height: 100%;
        width: 15px;
        width: var(--resizer-width);
        cursor: col-resize;
        z-index: 100;

        /* Add width of every element rendered before the resizer (including padding for the avatar and the display
           name), subtracting the resizer width itself to prevent the resizer from overlapping the text and moving
           the resizer a bit to the left to make it easier to avoid selecting the resizer when highlighting text.
           Please note that MessageTimestamp does not have inline padding. */
        inset-inline-start: calc(
            18px + 46px + var(--icon-width) +
                var(--right-padding) + var(--name-width) + var(--right-padding) - 15px -
                3px
        );
        inset-inline-start: calc(
            var(--RoomView_MessageList-padding) + var(--MessageTimestamp-width) + var(--icon-width) +
                var(--right-padding) + var(--name-width) + var(--right-padding) - var(--resizer-width) -
                var(--resizer-a11y)
        );
    }
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InvitedIconView {
    color: var(--cpd-color-icon-tertiary);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_JumpToBottomButton {
    z-index: 1000;
    position: absolute;
    /* 12 because height is 50 but button is only 38 = 12+(50-38) = 24 */
    bottom: 12px;
    right: 24px;
    width: 38px;
    /* give it a fixed height so the badge doesn't make */
    /* it taller and pop upwards when visible */
    height: 50px;
    text-align: center;
}

.mx_JumpToBottomButton_badge {
    position: relative;
    top: -12px;
    border-radius: 16px;
    font-weight: bold;
    font-size: 0.75rem;
    line-height: 0.875rem;
    text-align: center;
    /* to be able to get it centered */
    /* with text-align in parent */
    display: inline-block;
    padding: 0 4px;
    color: var(--cpd-color-text-on-solid-primary);
    background-color: var(--cpd-color-icon-secondary);
}

.mx_JumpToBottomButton_highlight .mx_JumpToBottomButton_badge {
    background-color: var(--cpd-color-icon-critical-primary);
}

.mx_JumpToBottomButton_scrollDown {
    position: relative;
    display: block;
    height: 38px;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: var(--cpd-color-bg-canvas-default);
    border: 1.3px solid var(--cpd-color-icon-tertiary);
    cursor: pointer;
}

    .mx_JumpToBottomButton_scrollDown svg {
        height: inherit;
        width: inherit;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 7px 8px 7px 6px;
        color: var(--cpd-color-icon-tertiary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyRoomList {
    padding-right: 7px; /* width of the scrollbar, to line things up */
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyRoomListHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextLessTitle,
    .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextMenuButton {
        font: var(--cpd-font-heading-sm-semibold);
        font-weight: var(--cpd-font-weight-semibold);
        padding: 1px 24px 1px 4px;
        position: relative;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        margin-left: 8px;
        margin-right: auto;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }

    .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextMenuButton {
        border-radius: 6px;
    }

        .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextMenuButton:hover {
            background-color: var(--cpd-color-gray-400);
        }

        .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextMenuButton svg {
            width: 20px;
            height: 20px;
            top: 3px;
            right: 0;
            position: absolute;
            color: var(--cpd-color-gray-800);
        }

        .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextMenuButton[aria-expanded="true"] {
            background-color: var(--cpd-color-gray-400);
        }

    .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_plusButton {
        width: 32px;
        height: 32px;
        border-radius: 8px;
        position: relative;
        padding: 8px;
        margin-left: 8px;
        margin-right: 12px;
        background-color: var(--cpd-color-alpha-gray-300);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

        .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_plusButton svg {
            width: 16px;
            height: 16px;
            position: absolute;
            color: var(--cpd-color-text-secondary);
        }

        .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_plusButton:hover {
            background-color: var(--cpd-color-gray-800);
        }

            .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_plusButton:hover svg {
                color: var(--cpd-color-bg-canvas-default);
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LiveContentSummary {
    color: var(--cpd-color-text-secondary);
}
        .mx_LiveContentSummary .mx_LiveContentSummary_text svg {
            display: inline-block;
            vertical-align: text-bottom;
            color: var(--cpd-color-text-secondary);
            width: 16px;
            height: 16px;
            margin-right: 4px;
        }

        .mx_LiveContentSummary .mx_LiveContentSummary_text.mx_LiveContentSummary_text_active {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
        }

            .mx_LiveContentSummary .mx_LiveContentSummary_text.mx_LiveContentSummary_text_active svg {
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }

    .mx_LiveContentSummary .mx_LiveContentSummary_participants svg {
        display: inline-block;
        vertical-align: middle;
        color: var(--cpd-color-text-secondary);
        width: 16px;
        height: 16px;
        margin-right: 2px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MemberListHeaderView {
    border-bottom: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
    max-height: 112px;
}

    .mx_MemberListHeaderView .mx_MemberListHeaderView_container {
        margin-top: var(--cpd-space-6x);
        width: 100%;
    }

    .mx_MemberListHeaderView .mx_MemberListHeaderView_invite_small {
        margin-left: var(--cpd-space-3x);
        margin-right: var(--cpd-space-4x);
    }

    .mx_MemberListHeaderView .mx_MemberListHeaderView_invite_large {
        width: 288px;
        height: 36px;
    }

    .mx_MemberListHeaderView .mx_MemberListHeaderView_label {
        padding: var(--cpd-space-6x) 0 var(--cpd-space-2x) var(--cpd-space-4x);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        color: var(--cpd-color-text-secondary);
        font: var(--cpd-font-body-sm-semibold);
    }

    .mx_MemberListHeaderView .mx_MemberListHeaderView_search {
        width: 240px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin-left: var(--cpd-space-4x);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MemberListView {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 0;
}

    .mx_MemberListView .mx_MemberListView_container {
        height: 100%;
    }

    .mx_MemberListView .mx_MemberListView_separator {
        margin: 0;
        border: none;
        border-top: 2px solid var(--cpd-color-bg-subtle-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MemberTileView {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-4x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 56px;
    border-bottom: var(--cpd-border-width-1) solid #182533;
    border-bottom: var(--cpd-border-width-1) solid var(--cpd-color-gray-300);
}

    .mx_MemberTileView .mx_MemberTileView_left,
    .mx_MemberTileView .mx_MemberTileView_right {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--cpd-space-2x);
    }

    .mx_MemberTileView .mx_MemberTileView_left {
        -ms-flex-preferred-size: 209px;
            flex-basis: 209px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        min-width: 0;
    }

    .mx_MemberTileView .mx_MemberTileView_name {
        font: var(--cpd-font-body-md-medium);
        min-width: 0;
    }

    .mx_MemberTileView .mx_MemberTileView_userLabel {
        font: var(--cpd-font-body-sm-regular);
        color: var(--cpd-color-text-secondary);
        margin-left: var(--cpd-space-4x);
    }

    .mx_MemberTileView .mx_MemberTileView_avatar {
        position: relative;
        height: 32px;
        width: 32px;
    }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageComposer_wrapper {
    vertical-align: middle;
    margin: auto;
    border-top: 1px solid transparent;
    position: relative;
    padding-left: 42px;
    padding-right: 16px;
}

.mx_MessageComposer_replaced_wrapper {
    margin-left: auto;
    margin-right: auto;
}

.mx_MessageComposer_replaced_valign {
    height: 60px;
    display: table-cell;
    vertical-align: middle;
}

.mx_MessageComposer_roomReplaced_icon {
    float: left;
    margin-right: 20px;
    margin-top: 5px;
    width: 31px;
    height: 31px;
}

.mx_MessageComposer_roomReplaced_header {
    font-weight: bold;
}

.mx_MessageComposer_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
}

.mx_MessageComposer_actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 6px;
}
    .mx_MessageComposer .mx_MessageComposer_avatar {
        position: absolute;
        left: 26px;
    }

        .mx_MessageComposer .mx_MessageComposer_avatar .mx_BaseAvatar {
            display: block;
        }

.mx_MessageComposer_e2eIconWrapper {
    height: 12px; /* Match the height of the E2E icon for alignment */
    width: 12px;
    position: absolute;
    left: 20px;
    top: 22px;
    margin-right: 0; /* Counteract the E2EIcon class */
    margin-left: 3px; /* Counteract the E2EIcon class */
}

    .mx_MessageComposer_e2eIconWrapper .mx_MessageComposer_e2eIcon {
        margin: 0;
        width: inherit;
        height: inherit;
    }

.mx_MessageComposer_noperm_error {
    width: 100%;
    height: 60px;
    font-style: italic;
    color: var(--cpd-color-gray-900);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_MessageComposer_input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    vertical-align: middle;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 60px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    font: var(--cpd-font-body-md-regular);
    margin-right: 6px;
}

    .mx_MessageComposer_input pre {
        background-color: rgba(0, 0, 0, 0.04);
        border-radius: 3px;
        padding: 10px;
    }

    .mx_MessageComposer_input textarea {
        display: block;
        width: 100%;
        padding: 0px;
        margin-top: 6px;
        margin-bottom: 6px;
        border: 0px;
        resize: none;
        outline: none;
        -webkit-box-shadow: none;
                box-shadow: none;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        background-color: var(--cpd-color-bg-canvas-default);
        font: var(--cpd-font-body-md-regular);
        max-height: 120px;
        overflow: auto;

        /* hack for FF as vertical alignment of custom placeholder text is broken */
    }
        .mx_MessageComposer_input textarea::-moz-placeholder {
            line-height: 100%;
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
            opacity: 1;
        }

        .mx_MessageComposer_input textarea::-webkit-input-placeholder {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
        }

.mx_MessageComposer_button_highlight {
    background: var(--cpd-color-bg-subtle-primary);
    color: var(--cpd-color-icon-primary) !important;
}

.mx_MessageComposer_button {
    position: relative;
    cursor: pointer;
    border-radius: 50%;
}
    .mx_MessageComposer_button svg {
        color: var(--cpd-color-icon-tertiary);
    }
    .mx_MessageComposer_button:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

        .mx_MessageComposer_button:hover svg {
            color: var(--cpd-color-icon-primary);
        }
    .mx_MessageComposer_button{
    padding: 3px;
    height: 20px;
    width: 20px;
}

    .mx_MessageComposer_button:last-child {
        margin-right: auto;
    }
        .mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::after {
            background: var(--cpd-color-bg-subtle-primary);
        }

        .mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::before {
            background-color: var(--cpd-color-icon-primary);
            z-index: 2;
        }

    .mx_MessageComposer_button svg {
        width: inherit;
        height: inherit;
    }
    .mx_MessageComposer_wysiwyg .mx_MessageComposer_wrapper {
        padding-left: 16px;
        margin-top: 6px;
        margin-bottom: 12px;
    }

    .mx_MessageComposer_wysiwyg .mx_MessageComposer_row {
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end;
    }

    .mx_MessageComposer_wysiwyg .mx_MessageComposer_actions {
        /* Height of the composer editor */
        height: 40px;
    }

    .mx_MessageComposer_wysiwyg .mx_MediaBody {
        padding-top: 4px;
        padding-bottom: 4px;
    }

    .mx_MessageComposer_wysiwyg .mx_MessageComposer_button {
        position: relative;
        cursor: pointer;
        border-radius: 5px;
    }
        .mx_MessageComposer_wysiwyg .mx_MessageComposer_button svg {
        color: var(--cpd-color-icon-tertiary);
    }
        .mx_MessageComposer_wysiwyg .mx_MessageComposer_button:hover {
        background-color: var(--cpd-color-bg-subtle-secondary);
    }

        .mx_MessageComposer_wysiwyg .mx_MessageComposer_button:hover svg {
            color: var(--cpd-color-gray-800);
        }
            .mx_MessageComposer_wysiwyg .mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::after {
                background: #2e80de;
                background: var(--cpd-color-green-300);
            }

            .mx_MessageComposer_wysiwyg .mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::before {
                background-color: #2e80de;
                background-color: var(--cpd-color-text-action-accent);
                z-index: 2;
            }

.mx_MessageComposer_buttonMenu {
    width: 24px;
    height: 24px;
    padding: 1px;
}

    .mx_MessageComposer_buttonMenu svg {
        width: 24px;
        height: 24px;
    }

.mx_MessageComposer_sendMessage {
    cursor: pointer;
    position: relative;
    padding: var(--cpd-space-2x);
    border-radius: 100%;
    background-color: var(--cpd-color-icon-accent-tertiary);
    height: 16px;
    width: 16px;
}

    .mx_MessageComposer_sendMessage svg {
        height: inherit;
        width: inherit;

        color: var(--cpd-color-icon-on-solid-primary);
    }
    .mx_MatrixChat_useCompactLayout .mx_MessageComposer_input {
        min-height: 50px;
    }

    .mx_MatrixChat_useCompactLayout .mx_MessageComposer_noperm_error {
        height: 50px;
    }

/**
 * Unstable compact mode
 */

.mx_MessageComposer.mx_MessageComposer--compact {
    margin-right: 0;
}

    .mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_wrapper {
        padding: 0 0 0 25px;
    }

    .mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_e2eIconWrapper {
        left: 0;
    }
        .mx_MessageComposer.mx_MessageComposer--compact:not(.mx_MessageComposer_e2eStatus) .mx_MessageComposer_wrapper {
            padding: 0;
        }

    .mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_button:last-child {
        margin-right: 0;
    }

    .mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_e2eIcon {
        left: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageComposerFormatBar {
    display: none;
    width: calc(32px * 6);
    height: 32px;
    position: absolute;
    cursor: pointer;
    border-radius: 8px;
    background-color: var(--cpd-color-bg-canvas-default);
    border: var(--cpd-border-width-1) solid var(--cpd-color-border-disabled);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    /* equal to z-index of mx_ReplyPreview and mx_RoomView_statusArea (1000) */
    /* but as it appears after them in the DOM, will appear on top. */
    z-index: 1000;
}

    .mx_MessageComposerFormatBar.mx_MessageComposerFormatBar_shown {
        display: block;
    }

    .mx_MessageComposerFormatBar > * {
        white-space: nowrap;
        display: inline-block;
        position: relative;
        margin: 2px;
    }

    .mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button {
        width: 28px;
        height: 28px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        vertical-align: middle;
        background: none;
        border: none;
        padding: 0;
    }

        .mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button svg {
            width: inherit;
            height: inherit;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            padding: var(--cpd-space-1x);
            color: var(--cpd-color-icon-secondary);
        }

        .mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button:hover {
            background: var(--cpd-color-bg-subtle-secondary);
            border-radius: 6px;
            z-index: 1;
        }

            .mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button:hover svg {
                color: var(--cpd-color-icon-primary);
            }

.mx_MessageComposerFormatBar_buttonTooltip {
    white-space: nowrap;
    font-size: 0.8125rem;
    font-weight: var(--cpd-font-weight-semibold);
    min-width: 54px;
    text-align: center;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NewRoomIntro {
    margin: 40px 0 48px 64px;
}
        .mx_NewRoomIntro .mx_MiniAvatarUploader_hasAvatar:not(.mx_MiniAvatarUploader_busy):not(:hover) .mx_MiniAvatarUploader_indicator {
            display: none;
        }

    .mx_NewRoomIntro .mx_NewRoomIntro_buttons {
        margin-top: 28px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        gap: 14px 12px;
    }

        .mx_NewRoomIntro .mx_NewRoomIntro_buttons .mx_AccessibleButton {
            line-height: 1.5rem;
            display: inline-block;
        }

            .mx_NewRoomIntro .mx_NewRoomIntro_buttons .mx_AccessibleButton svg {
                display: inline-block;
                color: var(--cpd-color-bg-canvas-default);
                width: 20px;
                height: 20px;
                margin-right: 5px;
                vertical-align: text-bottom;
            }

    .mx_NewRoomIntro > h2 {
        margin: var(--cpd-space-6x) 0 var(--cpd-space-4x);
        font: var(--cpd-font-heading-md-semibold);
    }

    .mx_NewRoomIntro > p {
        margin: 0;
        font-size: 0.9375rem;
        color: var(--cpd-color-text-secondary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NotificationBadge {

    /* Badges are structured a bit weirdly to work around issues with non-monospace */
    /* font styles. The badge pill is actually a background div and the count floats */
    /* within that. For example: */
    /*  ( 99+ ) <-- Rounded pill is a _bg class. */
    /*     ^- The count is an element floating within that. */
}
    .mx_NotificationBadge:not(.mx_NotificationBadge_visible) {
        display: none;
    }

    .mx_NotificationBadge.mx_NotificationBadge_visible {
        background-color: var(--cpd-color-icon-secondary);
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;

        /* Create a flexbox to order the count a bit easier */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;

        /* These are the 3 background types */

        /* Badges for highlight notifications. Style for notification level
         * badges is in _EventTile.scss because it applies only to notification
         * dots, not badges.
         */

        /* The following is the floating badge */
    }

        .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_dot {
            width: 8px;
            height: 8px;
            border-radius: 8px;
            background-color: var(--cpd-color-icon-primary);

            /* Redundant sounding name, but a notification badge that indicates there is a regular,
             * non-highlight notification
             * The green colour only applies for notification dot: badges indicating the same notification
             * level are the standard grey.
             */
        }

            .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_dot .mx_NotificationBadge_count {
                display: none;
            }
            .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_dot.mx_NotificationBadge_level_notification {
                background-color: #3ecf8e;
                background-color: var(--cpd-color-icon-success-primary);
            }
        .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_level_highlight {
            background-color: var(--cpd-color-icon-critical-primary);
        }

        .mx_NotificationBadge.mx_NotificationBadge_visible > svg {
            width: 16px;
            height: 16px;
        }

        .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_2char {
            width: 1rem;
            height: 1rem;
            border-radius: 1rem;
        }

        .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_3char {
            width: 1.625rem;
            height: 1rem;
            border-radius: 1rem;
        }

        .mx_NotificationBadge.mx_NotificationBadge_visible .mx_NotificationBadge_count {
            font-size: 0.625rem;
            line-height: 0.875rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: var(--cpd-color-text-on-solid-primary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_OverflowTileView {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    cursor: pointer;
}

.mx_OverflowTileView_text {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    overflow: hidden;
    font: var(--cpd-font-body-md-regular);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-style: italic;
}

.mx_OverflowTileView:hover {
    padding-right: 30px;
    position: relative; /* to keep the chevron aligned */
}

    .mx_OverflowTileView:hover .mx_OverflowTileView_chevron {
        display: inline;
    }

.mx_OverflowTileView_chevron {
    position: absolute;
    top: calc(50% - 12px); /* center */
    right: 0;
    width: 24px;
    height: 24px;
    color: #b9bec6;
    display: none;
}

.mx_OverflowTileView_icon {
    padding-left: 3px;
    padding-right: 12px;
    padding-top: 4px;
    padding-bottom: 4px;
    position: relative;
    line-height: 0;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Travis Ralston

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PinnedEventTile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-4x);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

    .mx_PinnedEventTile .mx_PinnedEventTile_wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-1x);
        /* Remove avatar width and space between the avatar and the wrapper */
        /* We need it to make the location fit */
        width: calc(100% - var(--cpd-space-4x) - 32px);
        /* Prevent a long sender name to overflow the tile */
        overflow: hidden;
    }

        .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_top {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-1x);
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

            .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_top .mx_PinnedEventTile_sender {
                text-overflow: ellipsis;
                overflow: hidden;
                white-space: nowrap;
                font: var(--cpd-font-body-md-semibold);
            }

        .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-2x);
            font: var(--cpd-font-body-sm-regular);
        }

            .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread svg {
                width: 20px;
                fill: var(--cpd-color-icon-tertiary);
            }

            .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread span {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                color: var(--cpd-color-text-secondary);
            }

            .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread button {
                background: transparent;
                border: none;
                cursor: pointer;
                text-decoration: underline;
            }
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_PinnedMessageBanner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: var(--cpd-space-4x);
    /* 64px = 63px + 1px from the bottom border */
    height: 63px;
    padding: 0 var(--cpd-space-4x);

    background-color: var(--cpd-color-bg-canvas-default);
    border-bottom: 1px solid var(--cpd-color-gray-400);

    /* From figma */
    -webkit-box-shadow: 0 var(--cpd-space-2x) var(--cpd-space-6x) calc(var(--cpd-space-2x) * -1) rgb(27, 29, 34, 0.1);
            box-shadow: 0 var(--cpd-space-2x) var(--cpd-space-6x) calc(var(--cpd-space-2x) * -1) rgb(27, 29, 34, 0.1);
}

    .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main {
        color: inherit;
        background: transparent;
        border: none;
        text-align: start;
        cursor: pointer;

        height: 100%;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_content {
            display: grid;
            grid-template:
                "indicators pinIcon title" auto
                "indicators pinIcon message" auto;
            grid-column-gap: var(--cpd-space-2x);
            -webkit-column-gap: var(--cpd-space-2x);
               -moz-column-gap: var(--cpd-space-2x);
                    column-gap: var(--cpd-space-2x);
        }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators {
            grid-area: indicators;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: var(--cpd-space-0-5x);
            height: 100%;
        }

            .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators .mx_PinnedMessageBanner_Indicator {
                width: var(--cpd-space-0-5x);
                background-color: var(--cpd-color-gray-600);
                height: 100%;
            }

            .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators .mx_PinnedMessageBanner_Indicator--active {
                background-color: var(--cpd-color-icon-accent-primary);
            }

            .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators .mx_PinnedMessageBanner_Indicator--hidden {
                background-color: transparent;
            }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_PinIcon {
            grid-area: pinIcon;
            align-self: center;
            fill: var(--cpd-color-icon-secondary-alpha);
        }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_title {
            grid-area: title;
            font: var(--cpd-font-body-sm-regular);
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
            line-height: 20px;
        }

            .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_title .mx_PinnedMessageBanner_title_counter {
                font: var(--cpd-font-body-sm-semibold);
            }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_message {
            grid-area: message;
            line-height: 20px;
        }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_redactedMessage {
            grid-area: message;
            height: 20px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

    .mx_PinnedMessageBanner .mx_PinnedMessageBanner_actions {
        white-space: nowrap;
    }
    .mx_PinnedMessageBanner[data-single-message="true"] .mx_PinnedMessageBanner_content {
        grid-template: "indicators pinIcon message" auto;
    }

        .mx_PinnedMessageBanner[data-single-message="true"] .mx_PinnedMessageBanner_content .mx_PinnedMessageBanner_message {
            line-height: 40px;
        }
}
@layer app-web{

/*
PLX unified composer media picker (Midnight).

Opens ABOVE the composer: bg --plx-panel-2 (#202B36), radius 18, ~322px tall,
top tab row with an active-tab pill (rgba(46,128,222,.22)) + close X, accent
--plx-accent (#2E80DE). Falls back to compound tokens if the PLX theme vars
aren't defined (e.g. non-Midnight theme), so it never renders unstyled.
*/

.mx_PlxMediaPicker {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 360px;
    max-width: calc(100vw - 32px);
    height: 322px;
    /* Dock cleanly ABOVE the composer input: the picker is an in-flow sibling of
       .mx_MessageComposer_row inside the composer wrapper, so it pushes the input
       down rather than floating over the timeline. position:relative + z-index keep
       its shadow above neighbouring composer chrome without escaping the flow. */
    position: relative;
    z-index: 1;
    margin: 0 12px 8px;
    background: #202b36;
    background: var(--plx-panel-2, var(--cpd-color-bg-subtle-secondary, #202b36));
    border: 1px solid rgba(255, 255, 255, 0.06);
    border: 1px solid var(--plx-border, rgba(255, 255, 255, 0.06));
    border-radius: 18px;
    -webkit-box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.45),
        0 2px 8px rgba(0, 0, 0, 0.3);
            box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.45),
        0 2px 8px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    color: #ffffff;
    color: var(--plx-text, var(--cpd-color-text-primary, #ffffff));
}

    .mx_PlxMediaPicker .mx_PlxMediaPicker_header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 8px;
        padding: 10px 10px 8px;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tabs {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 4px;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tab {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        border: none;
        background: transparent;
        color: #7f91a4;
        color: var(--plx-text-secondary, var(--cpd-color-text-secondary, #8c9aa6));
        font:
            600 14px/1 inherit,
            sans-serif;
        font:
            var(--cpd-font-weight-semibold, 600) 14px/1 inherit,
            sans-serif;
        font-size: 14px;
        font-weight: 600;
        padding: 7px 14px;
        border-radius: 999px;
        cursor: pointer;
        -webkit-transition:
            background-color 0.12s ease,
            color 0.12s ease;
        transition:
            background-color 0.12s ease,
            color 0.12s ease;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tab:hover {
        color: #ffffff;
        color: var(--plx-text, #ffffff);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tab_active {
        background: rgba(46, 128, 222, 0.22);
        color: #2e80de;
        color: var(--plx-accent, #2e80de);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_close {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        border: none;
        background: transparent;
        color: #7f91a4;
        color: var(--plx-text-secondary, var(--cpd-color-icon-secondary, #8c9aa6));
        cursor: pointer;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 6px;
        border-radius: 50%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_close:hover {
        background: rgba(255, 255, 255, 0.08);
        color: #ffffff;
        color: var(--plx-text, #ffffff);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_error {
        margin: 0 12px 6px;
        padding: 6px 10px;
        font-size: 13px;
        border-radius: 8px;
        background: rgba(229, 72, 77, 0.16);
        color: #ff8a8f;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_body {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        min-height: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        overflow: hidden;
    }

    /* The reused EmojiPicker fills the body and uses its own theming. Pin its
       height to the body so its internal category bar + search + scroll list lay
       out inside the 322px panel instead of overflowing (which previously made the
       panel look like it was floating over the timeline). */
    .mx_PlxMediaPicker .mx_EmojiPicker {
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        min-height: 0;
        border: none;
        background: transparent;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    /* keep the emoji body scrollable within the fixed panel height */
    .mx_PlxMediaPicker .mx_EmojiPicker_body {
        min-height: 0;
        overflow-y: auto;
    }

    /* --- GIF / Sticker tabs --- */
    .mx_PlxMediaPicker .mx_PlxMediaPicker_mediaTab {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        height: 100%;
        min-height: 0;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_search {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 0 12px 8px;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchIcon {
        position: absolute;
        left: 10px;
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
        pointer-events: none;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput {
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 9px 12px 9px 34px;
        border-radius: 10px;
        border: 1px solid rgba(255, 255, 255, 0.06);
        border: 1px solid var(--plx-border, rgba(255, 255, 255, 0.08));
        background: #0e1621;
        background: var(--plx-bg, rgba(0, 0, 0, 0.25));
        color: #ffffff;
        color: var(--plx-text, #ffffff);
        font-size: 14px;
        outline: none;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput:focus {
        border-color: #2e80de;
        border-color: var(--plx-accent, #2e80de);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput::-webkit-input-placeholder {
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput::-moz-placeholder {
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput:-ms-input-placeholder {
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput::-ms-input-placeholder {
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput::placeholder {
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
    }

    /* A tidy, non-overlapping 3-column grid. We pin BOTH the column template and
       an explicit square row height (grid-auto-rows) so tile geometry never
       depends on the flaky `aspect-ratio` on <button> across engines. Equal gaps,
       no negative margins, contents clipped — zero overlap. */
    .mx_PlxMediaPicker .mx_PlxMediaPicker_grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: 96px;
        grid-gap: 6px;
        gap: 6px;
        padding: 0 12px 12px;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        min-height: 0;
        -ms-flex-line-pack: start;
            align-content: start;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tile {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        border: none;
        padding: 0;
        margin: 0;
        width: 100%;
        height: 100%;
        min-width: 0;
        background: rgba(255, 255, 255, 0.04);
        border-radius: 10px;
        overflow: hidden;
        cursor: pointer;
        position: relative;
        display: block;
        -webkit-transition:
            outline-color 0.1s ease,
            -webkit-transform 0.1s ease;
        transition:
            outline-color 0.1s ease,
            -webkit-transform 0.1s ease;
        transition:
            transform 0.1s ease,
            outline-color 0.1s ease;
        transition:
            transform 0.1s ease,
            outline-color 0.1s ease,
            -webkit-transform 0.1s ease;
        outline: 2px solid transparent;
        outline-offset: -2px;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tile:hover {
        outline-color: #2e80de;
        outline-color: var(--plx-accent, #2e80de);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tile:disabled {
        cursor: progress;
        opacity: 0.6;
    }

    /* image fills the square tile and is clipped (object-fit: cover), so no
       tile ever bleeds into its neighbour regardless of source aspect ratio. */
    .mx_PlxMediaPicker .mx_PlxMediaPicker_tile img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        display: block;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_status {
        grid-column: 1 / -1;
        text-align: center;
        padding: 24px 0;
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
        font-size: 14px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PresenceIconView {
    position: absolute;
    top: 24px;
    left: 24px;
    width: 12px;
    height: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: var(--cpd-color-bg-canvas-default);
    border-radius: 100%;
}

    .mx_PresenceIconView .mx_PresenceIconView_online {
        color: var(--cpd-color-icon-accent-primary);
    }

    .mx_PresenceIconView .mx_PresenceIconView_offline,
    .mx_PresenceIconView .mx_PresenceIconView_dnd {
        color: var(--cpd-color-icon-tertiary);
    }

    .mx_PresenceIconView .mx_PresenceIconView_unavailable {
        color: var(--cpd-color-icon-quaternary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PresenceLabel {
    font-size: 0.6875rem;
    opacity: 0.5;
}

.mx_PresenceLabel_online {
    color: #3ecf8e;
    color: var(--cpd-color-text-success-primary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReadReceiptGroup {
    --ReadReceiptGroup_EventBubbleTile-spacing-end: 78px;

    position: relative;
    display: inline-block;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    z-index: 1;
}

    .mx_ReadReceiptGroup .mx_ReadReceiptGroup_button {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        height: 16px;
        padding: 4px;
        border-radius: 6px;
    }
            .mx_ReadReceiptGroup .mx_ReadReceiptGroup_button.mx_AccessibleButton:hover {
                background: var(--cpd-color-bg-subtle-secondary);
            }

    .mx_ReadReceiptGroup .mx_ReadReceiptGroup_remainder {
        color: var(--cpd-color-text-secondary);
        font-size: 0.6875rem;
        line-height: 1rem;
        margin-right: 4px;
    }

    .mx_ReadReceiptGroup .mx_ReadReceiptGroup_container {
        position: relative;
        display: block;
        height: 100%;
    }

        .mx_ReadReceiptGroup .mx_ReadReceiptGroup_container .mx_BaseAvatar {
            /* Compound uses a border on default avatars but no border on actual images, we want a border in all cases */
            -webkit-box-sizing: content-box;
                    box-sizing: content-box;
            border: 1px solid var(--cpd-color-bg-canvas-default) !important;
            /* Reset the line height as we are no longer box-sizing border-box. 14px because avatar is set at 14px in component */
            line-height: 14px;
            position: absolute;
            will-change: left, top;
            -webkit-transition:
                left 0.1s ease-out,
                top 0.3s ease-out;
            transition:
                left 0.1s ease-out,
                top 0.3s ease-out;
            -webkit-transition:
                left var(--transition-short) ease-out,
                top var(--transition-standard) ease-out;
            transition:
                left var(--transition-short) ease-out,
                top var(--transition-standard) ease-out;
        }

.mx_ReadReceiptGroup_popup {
    max-height: 300px;
    width: 220px;
    border-radius: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: left;
    font-size: 12px;
    line-height: 15px;

    right: 0;
}

    .mx_ReadReceiptGroup_popup.mx_ContextualMenu_top {
        top: 8px;
    }

    .mx_ReadReceiptGroup_popup.mx_ContextualMenu_bottom {
        bottom: 8px;
    }

    .mx_ReadReceiptGroup_popup .mx_ReadReceiptGroup_title {
        font-size: 12px;
        line-height: 15px;
        margin: 16px 16px 8px;
        font-weight: var(--cpd-font-weight-semibold);
        /* shouldn’t be actually focusable */
        outline: none;
    }
        .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            padding: 4px;
            margin: 0 12px;
            border-radius: 8px;
        }

            .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person:hover {
                background: #343a46;
            }

            .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person:last-child {
                margin-bottom: 8px;
            }

            .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_BaseAvatar {
                margin: 6px 8px;
                -ms-flex-item-align: center;
                    align-self: center;
                justify-self: center;
                -ms-flex-negative: 0;
                    flex-shrink: 0; /* Long names should not shrink the picture */
            }

            .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_ReadReceiptGroup_name {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                -ms-flex-negative: 1;
                    flex-shrink: 1;
                overflow: hidden;
            }

                .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_ReadReceiptGroup_name p {
                    margin: 2px 0;
                    text-overflow: ellipsis;
                    overflow: hidden;
                    white-space: nowrap;
                }

                .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_ReadReceiptGroup_name .mx_ReadReceiptGroup_secondary {
                    color: var(--cpd-color-text-secondary);
                }

.mx_ReadReceiptGroup_person--tooltip {
    overflow-y: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2018 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReplyPreview {
    border: 1px solid transparent;
    border-bottom: none;
    background: var(--cpd-color-bg-canvas-default);
    max-height: 50vh;
    overflow: auto;
}

    .mx_ReplyPreview .mx_ReplyPreview_section {
        border-bottom: 1px solid transparent;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
        row-gap: 8px;
        padding: 8px 8px 0 0;
    }

        .mx_ReplyPreview .mx_ReplyPreview_section .mx_ReplyPreview_header {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-column-gap: 8px;
               -moz-column-gap: 8px;
                    column-gap: 8px;

            color: #ffffff;

            color: var(--cpd-color-text-primary);
            font-weight: 400;
            opacity: 0.4;
        }

            .mx_ReplyPreview .mx_ReplyPreview_section .mx_ReplyPreview_header .mx_ReplyPreview_header_cancel svg {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                width: 20px;
                height: 20px;
                -ms-flex-negative: 0;
                    flex-shrink: 0;
            }
    .mx_RoomView_body .mx_ReplyPreview {
        /* Add box-shadow to the reply preview on the main (left) panel only. */
        /* It is not added to the preview on the (right) panel for threads and a chat with a maximized widget. */
        -webkit-box-shadow: 0px -16px 32px rgba(0, 0, 0, 0.28);
                box-shadow: 0px -16px 32px rgba(0, 0, 0, 0.28);
        border-radius: 8px 8px 0 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 Tulir Asokan <tulir@maunium.net>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReplyTile {
    position: relative;
    padding: 2px 0;
    font: var(--cpd-font-body-md-regular);

    /* We do reply size limiting with CSS to avoid duplicating the TextualBody component. */
}

    .mx_ReplyTile > a {
        display: grid;
        grid-template:
            "sender" auto
            "message" auto
            / 100%;
        text-decoration: none;
        color: var(--cpd-color-text-secondary);
        -webkit-transition: color ease 0.15s;
        transition: color ease 0.15s;
        grid-gap: 2px;
        gap: 2px;
        max-width: 100%;

        /* avoid overflow with wide content*/
    }

        .mx_ReplyTile > a:hover {
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

    .mx_ReplyTile .mx_RedactedBody {
        line-height: 1.125rem;
    }

    .mx_ReplyTile .mx_RedactedBody,
    .mx_ReplyTile .mx_HiddenBody {
        padding: 4px 0 2px 20px;
    }

        .mx_ReplyTile .mx_RedactedBody::before, .mx_ReplyTile .mx_HiddenBody::before {
            height: 13px;
            width: 13px;
            top: 3px;
        }
    .mx_ReplyTile .mx_EventTile_content {
        grid-area: message;

        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;

        /* in order to keep the message on two lines, we need to make the body inline*/

        /* The annotation wrapper is flex in normal timeline messages, but that stops*/
        /* -webkit-line-clamp from trimming long edited quotes down to two lines.*/

        /* Hide line numbers and edited indicator*/

        /* Hack to cut content in <pre> tags too */
    }

        .mx_ReplyTile .mx_EventTile_content .mx_EventTile_body.mx_EventTile_bigEmoji {
            line-height: 1.375rem !important; /* Same as var(--EventTile_group_line-line-height) */
            font-size: 0.875rem !important; /* Override the big emoji override */
        }
        .mx_ReplyTile .mx_EventTile_content .mx_EventTile_body {
            display: inline;
        }
        .mx_ReplyTile .mx_EventTile_content [data-textual-body-annotation-wrapper] {
            display: contents;
        }
        .mx_ReplyTile .mx_EventTile_content .mx_EventTile_lineNumbers,
        .mx_ReplyTile .mx_EventTile_content [data-textual-body-edited-marker] {
            display: none;
        }
        .mx_ReplyTile .mx_EventTile_content .mx_EventTile_pre_container > pre {
            overflow-x: scroll;
            overflow-y: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            padding: 4px;
        }

        .mx_ReplyTile .mx_EventTile_content .markdown-body blockquote,
        .mx_ReplyTile .mx_EventTile_content .markdown-body dl,
        .mx_ReplyTile .mx_EventTile_content .markdown-body ol,
        .mx_ReplyTile .mx_EventTile_content .markdown-body p,
        .mx_ReplyTile .mx_EventTile_content .markdown-body pre,
        .mx_ReplyTile .mx_EventTile_content .markdown-body table,
        .mx_ReplyTile .mx_EventTile_content .markdown-body ul {
            margin-bottom: 4px;
        }

    .mx_ReplyTile.mx_ReplyTile_info {
        padding-top: 0;
    }

    .mx_ReplyTile.mx_ReplyTile_inline > a {
        /* Render replies to emotes inline with the sender avatar */
        grid-template:
            "sender        message" auto
            / -webkit-max-content auto;
        grid-template:
            "sender        message" auto
            / max-content auto;
        gap: 4px; /* increase spacing */
    }

    .mx_ReplyTile .mx_ReplyTile_sender {
        grid-area: sender;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 4px;
    }

        .mx_ReplyTile .mx_ReplyTile_sender .mx_DisambiguatedProfile {
            font: var(--cpd-font-body-md-regular);

            display: inline-block; /* anti-zalgo, with overflow hidden */
            padding: 0;
            margin: 0;

            /* truncate long display names */
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

        .mx_ReplyTile .mx_ReplyTile_sender .mx_BaseAvatar {
            /* Prevent crushing by the flexbox */
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomBreadcrumbs {
    width: 100%;

    /* Create a flexbox for the crumbs */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 12px;

    /* These classes come from the CSSTransition component. There's many more classes we */
    /* could care about, but this is all we worried about for now. The animation works by */
    /* first triggering the enter state with the newest breadcrumb off screen (-40px) then */
    /* sliding it into view. */
}

    .mx_RoomBreadcrumbs .mx_RoomBreadcrumbs_crumb {
        margin-right: 8px;
        width: 32px;
    }
    .mx_RoomBreadcrumbs.mx_RoomBreadcrumbs-enter {
        -webkit-transform: translateX(-40px);
                transform: translateX(-40px); /* 32px for the avatar, 8px for the margin */
    }
    .mx_RoomBreadcrumbs.mx_RoomBreadcrumbs-enter-active {
        -webkit-transform: translateX(0);
                transform: translateX(0);

        /* Timing function is as-requested by design. */
        /* NOTE: The transition time MUST match the value passed to CSSTransition! */
        -webkit-transition: -webkit-transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
        transition: -webkit-transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
        transition: transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
        transition: transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1), -webkit-transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
    }

    .mx_RoomBreadcrumbs .mx_RoomBreadcrumbs_placeholder {
        font: var(--cpd-font-body-md-semibold);
        line-height: 32px; /* specifically to match the height this is not scaled */
        height: 32px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomCallBanner {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    padding: 12px 16px;

    color: #ffffff;

    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-subtle-secondary);
    cursor: pointer;
}

.mx_RoomCallBanner_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_RoomCallBanner_label {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    font-weight: var(--cpd-font-weight-semibold);
    padding-right: 8px;
}

    .mx_RoomCallBanner_label svg {
        display: inline-block;
        vertical-align: middle;
        color: var(--cpd-color-text-secondary);
        width: 16px;
        height: 16px;
        margin-right: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomHeader {
    height: 64px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 var(--cpd-space-3x) 0 calc(var(--cpd-space-3x) + var(--cpd-space-1-5x));
    border-bottom: 1px solid var(--cpd-color-gray-400);
    background-color: var(--cpd-color-bg-canvas-default);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

    .mx_RoomHeader button:has(svg.mx_RoomHeader_toggled) {
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

.mx_RoomHeader:hover {
    background-color: var(--cpd-color-bg-action-secondary-hovered);
}

.mx_RoomHeader_infoWrapper {
    /* unset button styles */
    color: inherit;
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
    border: medium none currentcolor;
    border: initial;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    cursor: pointer;
    gap: var(--cpd-space-3x);
    text-align: left;
    height: 100%;
    padding: 0;
}

.mx_RoomHeader_info {
    /* We want the spacing to be 64px, 13x = 52px but we have a flex gap of
       12px set on the flex container, which sums up to 64 */
    padding-right: var(--cpd-space-13x);
}

.mx_RoomHeader_truncated {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;

    overflow: hidden;
    word-break: break-all;
    text-overflow: ellipsis;
}

.mx_RoomHeader_heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-1x);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_RoomHeader_icon {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: var(--cpd-space-1x);
}

.mx_RoomHeader .mx_FacePile {
    color: var(--cpd-color-text-secondary);
    background: var(--cpd-color-bg-canvas-default);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--cpd-space-2x);
    border-radius: 9999px;
    padding: var(--cpd-space-1-5x);
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    font: var(--cpd-font-body-sm-medium);

    /* RoomAvatar doesn't pass classes down to avatar
    So set style here
    using div because compound classes are not stable */
}
    .mx_RoomHeader .mx_FacePile > div {
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

    .mx_RoomHeader .mx_FacePile:hover {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        background: var(--cpd-color-bg-subtle-primary);
    }

    .mx_RoomHeader .mx_FacePile.mx_FacePile_toggled {
        background: var(--cpd-color-bg-success-subtle);
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
        font: var(--cpd-font-body-sm-semibold);
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

.mx_RoomHeader .mx_BaseAvatar {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_RoomHeader_videoCallOption {
    /* Workaround for https://github.com/element-hq/compound/issues/331 */
    min-width: 240px;
}

.mx_RoomHeader .mx_RoomHeader_toggled {
    fill: var(--cpd-color-icon-accent-primary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomInfoLine {
    color: var(--cpd-color-text-secondary);
    display: inline-block;
}

    .mx_RoomInfoLine svg {
        margin-right: 6px;
        vertical-align: -2px;
        color: var(--cpd-color-gray-800);
    }

    .mx_RoomInfoLine .mx_RoomInfoLine_members {
        color: inherit;
        text-decoration: inherit;
        font-weight: inherit;
    }

        .mx_RoomInfoLine .mx_RoomInfoLine_members::before {
            content: "·"; /* visual separator */
            margin: 0 6px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Nordeck IT + Consulting GmbH

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomKnocksBar {
    background-color: var(--cpd-color-bg-subtle-secondary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: var(--cpd-space-2x) var(--cpd-space-4x);
}

.mx_RoomKnocksBar_content {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 var(--cpd-space-3x);
}

.mx_RoomKnocksBar_paragraph {
    color: var(--cpd-color-text-secondary);
    font-size: var(--cpd-font-size-body-sm);
    margin: 0;
}

.mx_RoomKnocksBar_link {
    margin-left: var(--cpd-space-3x);
}

.mx_RoomKnocksBar_action,
.mx_RoomKnocksBar_avatar {
    -ms-flex-item-align: center;
        align-self: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_RoomKnocksBar_action + .mx_RoomKnocksBar_action {
    margin-left: var(--cpd-space-3x);
}

.mx_RoomKnocksBar_avatar + .mx_RoomKnocksBar_avatar {
    margin-left: calc(var(--cpd-space-4x) * -1);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomPreviewBar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
}

    .mx_RoomPreviewBar h3 {
        font-size: 1.125rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

        .mx_RoomPreviewBar h3.mx_RoomPreviewBar_spinnerTitle {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            margin: 0;
        }

    .mx_RoomPreviewBar h3,
    .mx_RoomPreviewBar .mx_RoomPreviewBar_message p {
        /* break-word, with fallback to break-all, which is wider supported */
        word-break: break-all;
        word-break: break-word;
    }

    .mx_RoomPreviewBar .mx_Spinner {
        width: auto;
        height: auto;
        margin: 10px 10px 10px 0;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_RoomPreviewBar .mx_RoomPreviewBar_footer {
        font-size: 0.75rem;
        line-height: 1.25rem;
    }

        .mx_RoomPreviewBar .mx_RoomPreviewBar_footer .mx_Spinner {
            vertical-align: middle;
            display: inline-block;
        }

.mx_RoomPreviewBar_actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_RoomPreviewBar_message {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

    .mx_RoomPreviewBar_message p {
        overflow-wrap: break-word;
    }

.mx_RoomPreviewBar_panel {
    padding: 8px 8px 8px 20px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

        -ms-flex-direction: row;

            flex-direction: row;
}

    .mx_RoomPreviewBar_panel .mx_RoomPreviewBar_actions {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 3px 8px;
    }

        .mx_RoomPreviewBar_panel .mx_RoomPreviewBar_actions > * {
            margin-left: 12px;
        }

    .mx_RoomPreviewBar_panel .mx_RoomPreviewBar_message {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 0px;
                flex: 1 0 0;
        min-width: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

        .mx_RoomPreviewBar_panel .mx_RoomPreviewBar_message > * {
            margin: 4px;
        }

/* With maximised widgets, the panel fits in better when rounded */
.mx_MainSplit_maximisedWidget .mx_RoomPreviewBar_panel {
    margin: 8px;
    margin: var(--container-gap-width);
    margin-right: calc(8px / 2);
    margin-right: calc(var(--container-gap-width) / 2); /* Shared with right panel */
    margin-top: 0; /* Already covered by apps drawer */
    border-radius: 8px;
}

.mx_RoomPreviewBar_dialog {
    margin: auto;
    -webkit-box-sizing: content;
            box-sizing: content;
    width: 400px;
    border-radius: 4px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px;
    text-align: center;
}

    .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_message {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

        .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_message > * {
            margin: 5px 0 20px 0;
        }

    .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
        .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions .mx_AccessibleButton {
            padding: 7px 50px; /* extra wide */
        }

        .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions > * {
            margin-top: 12px;
        }
        .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions .mx_AccessibleButton.mx_AccessibleButton_kind_primary {
            /* to account for the padding of the primary button which causes inconsistent look between */
            /* subsequent secondary (text) buttons */
            margin-bottom: 7px;
        }
.mx_RoomPreviewBar_Invite {
    max-height: 100vh;
    overflow-y: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

.mx_RoomPreviewBar_Invite h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: pre-wrap;
    overflow: hidden;
}

.mx_RoomPreviewBar_inviter {
    font-weight: var(--cpd-font-weight-semibold);
}

a.mx_RoomPreviewBar_inviter {
    text-decoration: underline;
    cursor: pointer;
}

.mx_RoomPreviewBar_inviter_mxid {
    color: var(--cpd-color-text-secondary);
}

.mx_RoomPreviewBar_icon {
    margin-right: 8px;
    vertical-align: text-top;
}

.mx_RoomPreviewBar_fullWidth {
    width: 100%;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomPreviewCard {
    padding: 32px 24px !important; /* Override SpaceRoomView's default padding */
    margin: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 480px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: var(--cpd-color-bg-subtle-secondary);
    border-radius: 8px;
    position: relative;
    font: var(--cpd-font-body-md-regular);
}

    .mx_RoomPreviewCard .mx_RoomPreviewCard_notice {
        font-weight: var(--cpd-font-weight-semibold);
        line-height: 1.5rem;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin-top: 24px;
    }

        .mx_RoomPreviewCard .mx_RoomPreviewCard_notice svg {
            height: 1em;
            width: 1em;
            margin-right: 8px;
            color: var(--cpd-color-text-secondary);
            vertical-align: -2px;
        }

    .mx_RoomPreviewCard .mx_RoomPreviewCard_inviter {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-bottom: 20px;
        font-size: 0.9375rem;
    }

        .mx_RoomPreviewCard .mx_RoomPreviewCard_inviter > div {
            margin-left: 8px;
        }

            .mx_RoomPreviewCard .mx_RoomPreviewCard_inviter > div .mx_RoomPreviewCard_inviter_name {
                line-height: 1.125rem;
            }

            .mx_RoomPreviewCard .mx_RoomPreviewCard_inviter > div .mx_RoomPreviewCard_inviter_mxid {
                color: var(--cpd-color-text-secondary);
            }

    .mx_RoomPreviewCard .mx_RoomPreviewCard_avatar {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        /* XXX Remove this when video rooms leave beta */
    }

        .mx_RoomPreviewCard .mx_RoomPreviewCard_avatar .mx_RoomPreviewCard_video {
            width: 22px;
            height: 22px;
            padding: 14px;
            border-radius: calc((50px + 2 * 3px) / 2);
            background-color: #2e80de;
            background-color: var(--cpd-color-text-action-accent);
            border: 3px solid var(--cpd-color-bg-subtle-secondary);

            left: calc(-50px / 4 - 3px);
        }

            .mx_RoomPreviewCard .mx_RoomPreviewCard_avatar .mx_RoomPreviewCard_video svg {
                width: inherit;
                height: inherit;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }
        .mx_RoomPreviewCard .mx_RoomPreviewCard_avatar .mx_BetaCard_betaPill {
            position: absolute;
            inset-block-start: 32px;
            inset-inline-end: 24px;
        }

    .mx_RoomPreviewCard h1.mx_RoomPreviewCard_name {
        margin: 16px 0 !important; /* Override SpaceRoomView's default margins */
    }

    .mx_RoomPreviewCard .mx_RoomPreviewCard_topic {
        line-height: 1.375rem;
        margin-top: 16px;
        max-height: 160px;
        overflow-y: auto;
    }

    .mx_RoomPreviewCard .mx_FacePile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: 16px;
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

        .mx_RoomPreviewCard .mx_FacePile :first-child {
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

    .mx_RoomPreviewCard .mx_RoomPreviewCard_joinButtons {
        margin-top: 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 20px;
    }

        .mx_RoomPreviewCard .mx_RoomPreviewCard_joinButtons .mx_AccessibleButton {
            max-width: 200px;
            padding: 14px 0;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSearchAuxPanel {
    /* use `min-height` rather than height, to allow room for the text to wrap if the window is narrow */
    min-height: 84px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-color: var(--cpd-color-bg-canvas-default);
    border-style: solid;
    border-width: 1px 0;
    padding: var(--cpd-space-3x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    gap: var(--cpd-space-2x);
}

    .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        display: inherit; /* flex */
        gap: var(--cpd-space-2x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        overflow: hidden;
    }

        .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary > svg {
            padding: var(--cpd-space-2x);
            border-radius: var(--cpd-space-2x);
            background-color: var(--cpd-color-bg-subtle-secondary);
            color: var(--cpd-color-icon-secondary);
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

        .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary .mx_RoomSearchAuxPanel_summary_text {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            font-size: 0.9375rem;
            line-height: 1.375rem;
            overflow: hidden;
        }

            .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary .mx_RoomSearchAuxPanel_summary_text span {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

        .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary .mx_SearchWarning {
            display: contents;
            font-size: 0.8125rem;
            line-height: 1.25rem;
            color: var(--cpd-color-text-secondary);
        }

    .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_buttons {
        display: inherit; /* flex */
        gap: var(--cpd-space-6x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSublist {
    margin-left: 8px;
    margin-bottom: 4px;

    /* In the general case, we reserve space for each sublist header to prevent */
    /* scroll jumps when they become sticky. However, that leaves a gap when */
    /* scrolled to the top above the first sublist (whose header can only ever */
    /* stick to top), so we make sure to exclude the first visible sublist. */
}

    .mx_RoomSublist.mx_RoomSublist_hidden {
        display: none;
    }
        .mx_RoomSublist:not(.mx_RoomSublist_minimized) .mx_RoomSublist_headerContainer {
            height: auto;
        }

    .mx_RoomSublist .mx_RoomSublist_headerContainer {
        /* Create a flexbox to make alignment easy */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        /* *************************** */
        /* Sticky Headers Start */

        /* Ideally we'd be able to use `position: sticky; top: 0; bottom: 0;` on the */
        /* headerContainer, however due to our layout concerns we actually have to */
        /* calculate it manually so we can sticky things in the right places. We also */
        /* target the headerText instead of the container to reduce jumps when scrolling, */
        /* and to help hide the badges/other buttons that could appear on hover. This */
        /* all works by ensuring the header text has a fixed height when sticky so the */
        /* fixed height of the container can maintain the scroll position. */

        /* The combined height must be set in the LeftPanel component for sticky headers */
        /* to work correctly. */
        padding-bottom: 8px;
        height: 24px;
        color: var(--cpd-color-text-secondary);

        /* Sticky Headers End */
        /* *************************** */

        /* Hide the menu button by default */
    }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_stickableContainer {
            width: 100%;
        }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_stickable {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            max-width: 100%;

            /* Create a flexbox to make ordering easy */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            /* We use a generic sticky class for 2 reasons: to reduce style duplication and */
            /* to identify when a header is sticky. If we didn't have a consistent sticky class, */
            /* we'd have to do the "is sticky" checks again on click, as clicking the header */
            /* when sticky scrolls instead of collapses the list. */

            /* We don't have a top style because the top is dependent on the room list header's */
            /* height, and is therefore calculated in JS. */
            /* The class, mx_RoomSublist_headerContainer_stickyTop, is applied though. */
        }
            .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_stickable.mx_RoomSublist_headerContainer_sticky {
                position: fixed;
                height: 32px; /* to match the header container */
                /* width set by JS because of a compat issue between Firefox and Chrome */
                width: calc(100% - 15px);
            }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_badgeContainer {
            /* Create another flexbox row because it's super easy to position the badge this way. */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;

            /* Apply the width and margin to the badge so the container doesn't occupy dead space */
        }
            .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_badgeContainer .mx_NotificationBadge {
                /* Do not set a width so the badges get properly sized */
                margin-left: 8px; /* same as menu+aux buttons */
            }
            .mx_RoomSublist .mx_RoomSublist_headerContainer:not(.mx_RoomSublist_headerContainer_withAux) .mx_NotificationBadge {
                margin-right: 4px; /* just to push it over a bit, aligning it with the other elements */
            }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton,
        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton {
            margin-left: 8px; /* should be the same as the notification badge */
            position: relative;
            width: 24px;
            height: 24px;
            border-radius: 8px;
        }

            .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton svg, .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton svg {
                width: 16px;
                height: 16px;
                position: absolute;
                top: 4px;
                left: 4px;
                color: var(--cpd-color-icon-secondary);
            }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton:hover svg,
        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton:hover svg {
            color: var(--cpd-color-alpha-gray-300);
        }
        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton {
            visibility: hidden;
            width: 0;
            margin: 0;
        }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_headerText {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            max-width: calc(100% - 16px); /* 16px is the badge width */
            font: var(--cpd-font-body-sm-semibold);

            /* Ellipsize any text overflow */
            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
        }

            .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_headerText .mx_RoomSublist_collapseBtn {
                display: inline-block;
                position: relative;
                width: 14px;
                height: 14px;
                margin-right: 6px;
            }

                .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_headerText .mx_RoomSublist_collapseBtn svg {
                    width: 18px;
                    height: 18px;
                    position: absolute;
                    color: var(--cpd-color-icon-secondary);
                }
    .mx_RoomSublist:not(.mx_RoomSublist_hidden) ~ .mx_RoomSublist .mx_RoomSublist_stickableContainer {
        height: 24px;
    }

    .mx_RoomSublist .mx_RoomSublist_resizeBox {
        position: relative;

        /* Create another flexbox column for the tiles */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        overflow: hidden;

        /* Class name comes from the ResizableBox component */
        /* The hover state needs to use the whole sublist, not just the resizable box, */
        /* so that selector is below and one level higher. */
    }

        .mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_tiles {
            -webkit-box-flex: 1;
                -ms-flex: 1 0 0px;
                    flex: 1 0 0;
            overflow: hidden;
            overflow: clip;
            /* need this to be flex otherwise the overflow hidden from above */
            /* sometimes vertically centers the clipped list ... no idea why it would do this */
            /* as the box model should be top aligned. Happens in both FF and Chromium */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -ms-flex-item-align: stretch;
                align-self: stretch;
            /* without this Firefox will prefer pushing the resizer & show more/less button into the overflow */
            min-height: 0;

            -webkit-mask-image: linear-gradient(0deg, transparent, black 4px);

                    mask-image: linear-gradient(0deg, transparent, black 4px);
        }

        .mx_RoomSublist .mx_RoomSublist_resizeBox.mx_RoomSublist_resizeBox_forceExpanded .mx_RoomSublist_tiles {
            /* in this state the div can collapse its height entirely in Chromium, */
            /* so prevent that by allowing overflow */
            overflow: visible;
            /* clear the min-height to make it not collapse entirely in a state with no active resizer */
            min-height: 0;
            min-height: initial;
        }

        .mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_resizerHandles_showNButton {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 32px;
                    flex: 0 0 32px;
        }

        .mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_resizerHandles {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 4px;
                    flex: 0 0 4px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            width: 100%;
        }
        .mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_resizerHandle {
            cursor: ns-resize;
            border-radius: 3px;

            /* Override styles from library */
            max-width: 64px;
            height: 4px !important; /* Update RESIZE_HANDLE_HEIGHT if this changes */

            /* This is positioned directly below the 'show more' button. */
            position: relative !important;
            bottom: 0 !important; /* override from library */
        }
            .mx_RoomSublist .mx_RoomSublist_resizeBox:hover .mx_RoomSublist_resizerHandle, .mx_RoomSublist .mx_RoomSublist_resizeBox.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_resizerHandle {
                opacity: 0.8;
                background-color: #ffffff;
                background-color: var(--cpd-color-text-primary);
            }

    .mx_RoomSublist .mx_RoomSublist_showNButton {
        cursor: pointer;
        font-size: 0.8125rem;
        line-height: 1.125rem;
        color: var(--cpd-color-text-secondary);

        /* Update the render() function for RoomSublist if these change */
        /* Update the ListLayout class for minVisibleTiles if these change. */
        height: 24px;
        padding-bottom: 4px;

        /* We create a flexbox to cheat at alignment */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_RoomSublist .mx_RoomSublist_showNButton .mx_RoomSublist_showNButtonChevron {
            position: relative;
            width: 18px;
            height: 18px;
            margin-left: 12px;
            margin-right: 16px;
            color: var(--cpd-color-gray-800);
            left: -1px; /* adjust for image position */
        }
        .mx_RoomSublist.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_menuButton, .mx_RoomSublist:not(.mx_RoomSublist_minimized) > .mx_RoomSublist_headerContainer:focus-within .mx_RoomSublist_menuButton, .mx_RoomSublist:not(.mx_RoomSublist_minimized) > .mx_RoomSublist_headerContainer:hover .mx_RoomSublist_menuButton {
            visibility: visible;
            width: 24px;
            margin-left: 8px;
        }
        .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer {
            height: auto;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            position: relative;
        }

            .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_badgeContainer {
                -webkit-box-ordinal-group: 1;
                    -ms-flex-order: 0;
                        order: 0;
                -ms-flex-item-align: end;
                    align-self: flex-end;
                margin-right: 0;
            }

            .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_stickable {
                -webkit-box-ordinal-group: 2;
                    -ms-flex-order: 1;
                        order: 1;
                max-width: 100%;
            }

            .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton {
                -webkit-box-ordinal-group: 3;
                    -ms-flex-order: 2;
                        order: 2;
                visibility: visible;
                width: 32px !important; /* !important to override hover styles */
                height: 32px !important; /* !important to override hover styles */
                margin-left: 0 !important; /* !important to override hover styles */
                background-color: var(--cpd-color-alpha-gray-300);
                margin-top: 8px;
            }

                .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton svg {
                    top: 8px;
                    left: 8px;
                }

        .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_resizeBox {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

        .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_showNButton {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

            .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_showNButton .mx_RoomSublist_showNButtonChevron {
                margin-right: 12px; /* to center */
            }

        .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_menuButton {
            height: 16px;
        }
            .mx_RoomSublist.mx_RoomSublist_minimized.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_menuButton, .mx_RoomSublist.mx_RoomSublist_minimized > .mx_RoomSublist_headerContainer:hover .mx_RoomSublist_menuButton {
                visibility: visible;
                position: absolute;
                bottom: 48px; /* align to middle of name, 40px for aux button (with padding) and 8px for alignment */
                right: 0;
                width: 16px;
                height: 16px;
                border-radius: 0;
                z-index: 1; /* occlude the list name */

                /* This is the same color as the left panel background because it needs */
                /* to occlude the sublist title */
                background-color: rgba(38, 40, 45, 0.9);
            }

                .mx_RoomSublist.mx_RoomSublist_minimized.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_menuButton svg, .mx_RoomSublist.mx_RoomSublist_minimized > .mx_RoomSublist_headerContainer:hover .mx_RoomSublist_menuButton svg {
                    top: 0;
                    left: 0;
                }
                .mx_RoomSublist.mx_RoomSublist_minimized.mx_RoomSublist_hasMenuOpen.mx_RoomSublist_headerContainer:not(.mx_RoomSublist_headerContainer_withAux) .mx_RoomSublist_menuButton, .mx_RoomSublist.mx_RoomSublist_minimized > .mx_RoomSublist_headerContainer:hover.mx_RoomSublist_headerContainer:not(.mx_RoomSublist_headerContainer_withAux) .mx_RoomSublist_menuButton {
                    bottom: 8px; /* align to the middle of name, 40px less than the `bottom` above. */
                }

.mx_RoomSublist_contextMenu {
    padding: 20px 16px;
    width: 250px;
}

    .mx_RoomSublist_contextMenu hr {
        margin-top: 16px;
        margin-bottom: 16px;
        margin-right: 16px; /* additional 16px */
        border: 1px solid #ffffff;
        border: 1px solid var(--cpd-color-text-primary);
        opacity: 0.1;
    }

    .mx_RoomSublist_contextMenu .mx_RoomSublist_contextMenu_title {
        font-size: 0.9375rem;
        line-height: 1.25rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-bottom: 4px;
    }

    .mx_RoomSublist_contextMenu .mx_StyledRadioButton {
        margin-top: 8px;
    }

.mx_RoomSublist_skeletonUI {
    position: relative;
    margin-left: 4px;
    height: 240px;
}

    .mx_RoomSublist_skeletonUI::before {
        background-color: var(--cpd-color-bg-subtle-secondary);
        width: 100%;
        height: 100%;

        content: "";
        position: absolute;
        -webkit-mask-repeat: repeat-y;
                mask-repeat: repeat-y;
        -webkit-mask-size: auto 48px;
                mask-size: auto 48px;
        -webkit-mask-image: url(../../img/element-icons/roomlist/skeleton-ui.be592e5.svg);
                mask-image: url(../../img/element-icons/roomlist/skeleton-ui.be592e5.svg);
    }

.mx_RoomSublist_minimized .mx_RoomSublist_skeletonUI {
    width: 32px; /* cut off the horizontal lines in the svg */
    margin-left: 10px; /* align with sublist + buttons */
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020-2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Note: the room tile expects to be in a flexbox column container */
.mx_RoomTile {
    margin-bottom: 4px;
    padding: 4px;

    /* The tile is also a flexbox row itself */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    contain: content; /* Not strict as it will break when resizing a sublist vertically */
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    font-size: var(--cpd-font-size-body-sm);

    /* The context menu buttons are hidden by default */

    /* If the room has an overriden notification setting then we always show the notifications menu button */
}

    .mx_RoomTile.mx_RoomTile_selected,
    .mx_RoomTile:hover,
    .mx_RoomTile:focus-within,
    .mx_RoomTile.mx_RoomTile_hasMenuOpen {
        background-color: var(--cpd-color-alpha-gray-300);
        border-radius: 8px;
    }

    .mx_RoomTile .mx_DecoratedRoomAvatar,
    .mx_RoomTile .mx_RoomTile_avatarContainer {
        margin-right: 10px;
    }

    .mx_RoomTile .mx_RoomTile_details {
        min-width: 0;
    }

    .mx_RoomTile .mx_RoomTile_titleContainer {
        height: 32px;
        min-width: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin-right: 8px; /* spacing to buttons/badges */

        /* Create a new column layout flexbox for the title parts */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_subtitle {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            color: var(--cpd-color-text-secondary);
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: 4px;
            line-height: 1.25;
            position: relative;
            top: -1px;
        }

        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_title,
        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_subtitle_text {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_title {
            font: var(--cpd-font-body-md-regular);
            line-height: 1.25;
        }

            .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_title.mx_RoomTile_titleHasUnreadEvents {
                font-weight: var(--cpd-font-weight-semibold);
            }

        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_titleWithSubtitle {
            margin-top: -2px; /* shift the title up a bit more */
        }

    .mx_RoomTile .mx_RoomTile_notificationsButton {
        margin-left: 4px; /* spacing between buttons */
    }

    .mx_RoomTile .mx_RoomTile_badgeContainer {
        height: 16px;
        /* don't set width so that it takes no space when there is no badge to show */
        margin: auto 0; /* vertically align */

        /* Create a flexbox to make aligning dot badges easier */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_RoomTile .mx_RoomTile_badgeContainer .mx_NotificationBadge {
            margin-right: 2px; /* centering */
        }

        .mx_RoomTile .mx_RoomTile_badgeContainer .mx_NotificationBadge_dot {
            /* make the smaller dot occupy the same width for centering */
            margin-left: 5px;
            margin-right: 7px;
        }
    .mx_RoomTile .mx_RoomTile_menuButton,
    .mx_RoomTile .mx_RoomTile_notificationsButton {
        width: 16px;
        height: 16px;
        padding: var(--cpd-space-0-5x);
        -ms-flex-negative: 0;
            flex-shrink: 0;
        margin-top: auto;
        margin-bottom: auto;
        position: relative;
        display: none;
    }

        .mx_RoomTile .mx_RoomTile_menuButton svg, .mx_RoomTile .mx_RoomTile_notificationsButton svg {
            width: inherit;
            height: inherit;
            display: block;
            color: var(--cpd-color-icon-primary);
        }
    .mx_RoomTile .mx_RoomTile_notificationsButton.mx_RoomTile_notificationsButton_show {
        display: block;
    }
        .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover,
        .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within,
        .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen {
            /* Hide the badge container on hover because it'll be a menu button */
        }
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover .mx_RoomTile_badgeContainer, .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within .mx_RoomTile_badgeContainer, .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen .mx_RoomTile_badgeContainer {
                width: 0;
                height: 0;
                display: none;
            }

            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover .mx_RoomTile_notificationsButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover .mx_RoomTile_menuButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within .mx_RoomTile_notificationsButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within .mx_RoomTile_menuButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen .mx_RoomTile_notificationsButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen .mx_RoomTile_menuButton {
                display: block;
            }

    .mx_RoomTile.mx_RoomTile_minimized {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
    }

        .mx_RoomTile.mx_RoomTile_minimized .mx_DecoratedRoomAvatar,
        .mx_RoomTile.mx_RoomTile_minimized .mx_RoomTile_avatarContainer {
            margin-right: 0;
        }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomUpgradeWarningBar {
    max-height: 235px;
    background-color: var(--cpd-color-bg-subtle-secondary);
    padding-left: 20px;
    padding-right: 20px;
    overflow: scroll;
}

.mx_RoomUpgradeWarningBar_wrapped {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
}

.mx_RoomUpgradeWarningBar_header {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    font-weight: bold;
}

.mx_RoomUpgradeWarningBar_body {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

.mx_RoomUpgradeWarningBar_upgradelink {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    text-decoration: underline;
}

.mx_RoomUpgradeWarningBar_small {
    color: var(--cpd-color-gray-900);
    font-size: 70%;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SendMessageComposer {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font: var(--cpd-font-body-md-regular);
    /* fixed line height to prevent emoji from being taller than text */
    line-height: 1.125rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 6px;
    /* don't grow wider than available space */
    min-width: 0;
}

    .mx_SendMessageComposer .mx_BasicMessageComposer {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        /* min-height at this level so the mx_BasicMessageComposer_input */
        /* still stays vertically centered when less than 55px. */
        /* We also set this to ensure the voice message recording widget */
        /* doesn't cause a jump. */
        min-height: 55px;
    }

        .mx_SendMessageComposer .mx_BasicMessageComposer .mx_BasicMessageComposer_input {
            padding: 3px 0;
            /* this will center the contenteditable */
            /* in it's parent vertically */
            /* while keeping the autocomplete at the top */
            /* of the composer. The parent needs to be a flex container for this to work. */
            margin: auto 0;
            /* max-height at this level so autocomplete doesn't get scrolled too */
            max-height: 140px;
            overflow-y: auto;
        }
}
@layer app-web{

.mx_Stickers_content {
    overflow: hidden;
}

.mx_Stickers_content_container {
    overflow: hidden;
    height: 300px;
}
    #mx_persistedElement_stickerPicker .mx_AppTileFullWidth {
        height: auto;
        height: initial;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border-left: none;
        border-right: none;
        border-bottom: none;
    }

    #mx_persistedElement_stickerPicker .mx_AppTileMenuBar {
        padding: 0;
    }

    #mx_persistedElement_stickerPicker iframe {
        /* Sticker picker depends on the fixed height previously used for all tiles */
        height: 283px; /* height of the popout minus the AppTile menu bar */
    }

.mx_Stickers_contentPlaceholder {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
}

.mx_Stickers_contentPlaceholder p {
    max-width: 200px;
}

.mx_Stickers_addLink {
    display: inline;
    cursor: pointer;
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ThirdPartyMemberInfo {
    padding: var(--cpd-space-4x);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TopUnreadMessagesBar {
    z-index: 1000;
    position: absolute;
    top: 24px;
    right: 24px;
    width: 38px;
}

.mx_TopUnreadMessagesBar::after {
    content: "";
    position: absolute;
    top: -8px;
    left: 11px;
    width: 4px;
    height: 4px;
    border-radius: 16px;
    background-color: var(--cpd-color-bg-canvas-default);
    border: 6px solid var(--cpd-color-icon-accent-tertiary);
    pointer-events: none;
}

.mx_TopUnreadMessagesBar_scrollUp {
    height: 38px;
    width: 38px;
    border-radius: 19px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: var(--cpd-color-bg-canvas-default);
    border: 1.3px solid var(--cpd-color-icon-tertiary);
    cursor: pointer;
}

    .mx_TopUnreadMessagesBar_scrollUp svg {
        width: 24px;
        height: 24px;
        padding: 6px;
        color: var(--cpd-color-icon-tertiary);
    }

.mx_TopUnreadMessagesBar_markAsRead {
    display: block;
    width: 18px;
    height: 18px;
    background: var(--cpd-color-bg-canvas-default);
    border: 1.3px solid var(--cpd-color-icon-tertiary);
    border-radius: 10px;
    margin: 5px auto;
}

    .mx_TopUnreadMessagesBar_markAsRead svg {
        width: 16px;
        height: 16px;
        padding: 1px;
        color: var(--cpd-color-icon-tertiary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserIdentityWarning {
    /* 42px is the padding-left of .mx_MessageComposer_wrapper in res/css/views/rooms/_MessageComposer.pcss */
    margin-left: calc(-42px + 18px);
    margin-left: calc(-42px + var(--RoomView_MessageList-padding));
}

    .mx_UserIdentityWarning .mx_UserIdentityWarning_row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_UserIdentityWarning .mx_UserIdentityWarning_row .mx_BaseAvatar {
            margin-left: var(--cpd-space-2x);
        }
        .mx_UserIdentityWarning .mx_UserIdentityWarning_row .mx_UserIdentityWarning_main {
            margin-left: var(--cpd-space-6x);
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }
        .mx_UserIdentityWarning .mx_UserIdentityWarning_row .mx_UserIdentityWarning_main.critical {
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
        }
.mx_UserIdentityWarning.critical {
    background: linear-gradient(180deg, var(--cpd-color-red-100) 0%, var(--cpd-color-theme-bg) 100%);
}

.mx_MessageComposer.mx_MessageComposer--compact > .mx_UserIdentityWarning {
    margin-left: calc(-25px + 18px);
    margin-left: calc(-25px + var(--RoomView_MessageList-padding));
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VoiceRecordComposerTile_stop {
    /* 20px + 4px padding + 2px border makes this a 32px square (as intended) */
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border: 2px solid var(--cpd-color-gray-600);
    border-radius: 32px;
    margin-right: 2px; /* between us and the waveform component */
}

    .mx_VoiceRecordComposerTile_stop svg {
        width: inherit;
        height: inherit;
        color: #ff5b55;
    }

.mx_VoiceRecordComposerTile_delete {
    width: 24px;
    height: 24px;
    vertical-align: middle;
    margin-right: 2px; /* distance from left edge of waveform container (container has some margin too) */
}

    .mx_VoiceRecordComposerTile_delete svg {
        width: inherit;
        height: inherit;
        color: var(--cpd-color-gray-600);
    }

.mx_VoiceRecordComposerTile_uploadingState {
    margin-right: 10px;
    color: var(--cpd-color-text-secondary);
}

.mx_VoiceRecordComposerTile_failedState {
    margin-right: 21px;
}

    .mx_VoiceRecordComposerTile_failedState .mx_VoiceRecordComposerTile_uploadState_badge {
        display: inline-block;
        margin-right: 4px;
        vertical-align: middle;
    }

.mx_MessageComposer_row .mx_VoiceMessagePrimaryContainer {
    /* Note: remaining class properties are in the PlayerContainer CSS. */

    /* fixed height to reduce layout jumps with the play button appearing */
    /* https://github.com/vector-im/element-web/issues/18431 */
    height: 32px;

    margin: 6px; /* force the composer area to put a gutter around us */
    margin-right: 6px; /* isolate from stop/send button */

    position: relative; /* important for the live circle */
}

    .mx_MessageComposer_row .mx_VoiceMessagePrimaryContainer.mx_VoiceRecordComposerTile_recording {
        /* We are putting the circle in this padding, so we need +10px from the regular */
        /* padding on the left side. */
        padding-left: 22px;
    }

        .mx_MessageComposer_row .mx_VoiceMessagePrimaryContainer.mx_VoiceRecordComposerTile_recording::before {
            -webkit-animation: recording-pulse 2s infinite;
                    animation: recording-pulse 2s infinite;

            content: "";
            background-color: #ff5b55;
            width: 10px;
            height: 10px;
            position: absolute;
            left: 12px; /* 12px from the left edge for container padding */
            top: 17px; /* vertically center (middle align with clock) */
            border-radius: 10px;
        }
        .mx_MessageComposer_wysiwyg .mx_VoiceMessagePrimaryContainer.mx_VoiceRecordComposerTile_recording::before {
            top: 15px; /* vertically center (middle align with clock) */
        }

/* The keyframes are slightly weird here to help make a ramping/punch effect */
/* for the recording dot. We start and end at 100% opacity to help make the */
/* dot feel a bit like a real lamp that is blinking: the animation ends up */
/* spending a lot of its time showing a steady state without a fade effect. */
/* This lamp effect extends into why the 0% opacity keyframe is not in the */
/* midpoint: lamps take longer to turn off than they do to turn on, and the */
/* extra frames give it a bit of a realistic punch for when the animation is */
/* ramping back up to 100% opacity. */

/* Target animation timings: steady for 1.5s, fade out for 0.3s, fade in for 0.2s */
/* (intended to be used in a loop for 2s animation speed) */
@-webkit-keyframes recording-pulse {
    0% {
        opacity: 1;
    }
    35% {
        opacity: 0;
    }
    65% {
        opacity: 1;
    }
}
@keyframes recording-pulse {
    0% {
        opacity: 1;
    }
    35% {
        opacity: 0;
    }
    65% {
        opacity: 1;
    }
}

@media (forced-colors: active) {
    .mx_VoiceMessagePrimaryContainer {
        outline: 1px solid transparent;
    }
}
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WhoIsTypingTile {
    margin-left: -18px; /* offset padding from mx_RoomView_MessageList to center avatars */
    padding-top: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/* position the indicator in the same place horizontally as .mx_EventTile_avatar. */
.mx_WhoIsTypingTile_avatars {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 82px;
            flex: 0 0 82px; /* 18 (padding on message list) + 64 (padding on event lines) */
    text-align: center;
}

.mx_WhoIsTypingTile_avatars > :not(:first-child) {
    margin-left: -12px;
}

.mx_WhoIsTypingTile_avatars .mx_BaseAvatar {
    border: 1px solid var(--cpd-color-bg-canvas-default);
    border-radius: 40px;
}

.mx_WhoIsTypingTile_remainingAvatarPlaceholder {
    position: relative;
    display: inline-block;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-gray-400);
    border: 1px solid var(--cpd-color-bg-canvas-default);
    border-radius: 40px;
    width: 24px;
    height: 24px;
    line-height: 1.5rem;
    font-size: 0.8em;
    vertical-align: top;
    text-align: center;
}

.mx_WhoIsTypingTile_label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font: var(--cpd-font-body-md-semibold);
    color: #b9bec6;
}

.mx_WhoIsTypingTile_label > span {
    background-image: url(../../img/typing-indicator-2x.e13c259.gif);
    background-size: 25px;
    background-position: left bottom;
    background-repeat: no-repeat;
    padding-bottom: 15px;
    display: block;
}
    .mx_MatrixChat_useCompactLayout .mx_WhoIsTypingTile {
        padding-top: 4px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EditWysiwygComposer {
    --EditWysiwygComposer-padding-inline: 3px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 100%; /* disable overflow */
    width: auto;
    gap: 8px;
    padding: 8px 3px;
    padding: 8px var(--EditWysiwygComposer-padding-inline);
}

    .mx_EditWysiwygComposer .mx_WysiwygComposer_Editor_content {
        border-radius: 4px;
        border: solid 1px transparent;
        background-color: var(--cpd-color-bg-canvas-default);
        max-height: 200px;
        padding: 3px 6px;
    }

        .mx_EditWysiwygComposer .mx_WysiwygComposer_Editor_content:focus {
            border-color: #2e80de;
            border-color: var(--cpd-color-green-400);
        }

    .mx_EditWysiwygComposer .mx_EditWysiwygComposer_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-flow: row wrap-reverse;
                flex-flow: row wrap-reverse; /* display "Save" over "Cancel" */
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 5px;
        -webkit-margin-start: auto;
                margin-inline-start: auto;
    }

        .mx_EditWysiwygComposer .mx_EditWysiwygComposer_buttons .mx_AccessibleButton {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            min-width: 100px; /* magic number to align the edge of the button with the input area */
        }
        .mx_EditWysiwygComposer .mx_FormattingButtons_Button:first-child {
            margin-left: 0px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SendWysiwygComposer {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font: var(--cpd-font-body-md-regular);
    /* fixed line height to prevent emoji from being taller than text */
    line-height: 1.125rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 13px;
    gap: 8px;
}

    .mx_SendWysiwygComposer .mx_FormattingButtons {
        margin-left: 12px;
    }

    .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor {
        border: 1px solid;
        border-color: var(--cpd-color-gray-400);
        padding: 6px 11px 6px 12px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end;
        gap: 10px;
    }

        .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor .mx_E2EIcon {
            margin: 0 0 7px 0;
            width: 12px;
            height: 12px;
        }

        .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor[data-is-expanded="true"] {
            border-radius: 14px;
        }

            .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor[data-is-expanded="true"] .mx_WysiwygComposer_Editor_container {
                margin-top: 3px;
                margin-bottom: 3px;
            }

        .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor[data-is-expanded="false"] {
            border-radius: 40px;
        }

        .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor .mx_WysiwygComposer_Editor_container {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            min-height: 22px;
            margin-bottom: 2px;
            /* don't grow wider than available space */
            width: 0;
        }

            .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content {
                /* this will center the contenteditable */
                /* in it's parent vertically */
                /* while keeping the autocomplete at the top */
                /* of the composer. The parent needs to be a flex container for this to work. */
                margin: auto 0;
                /* the line height is $font-22px (set in _Editor.pcss) and we want to display 16 lines */
                max-height: calc(16 * 1.375rem);
                overflow-y: auto;
            }
    .mx_SendWysiwygComposer-focused .mx_WysiwygComposer_Editor {
        border-color: var(--cpd-color-gray-600);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WysiwygComposer_Editor_container {
    /* These are set in Javascript */
    --avatar-letter: "";
    --avatar-background: unset;
    --placeholder: "";
}

    @-webkit-keyframes visualbell {
        from {
            background-color: #800;
        }
        to {
            background-color: var(--cpd-color-bg-canvas-default);
        }
    }

    @keyframes visualbell {
        from {
            background-color: #800;
        }
        to {
            background-color: var(--cpd-color-bg-canvas-default);
        }
    }

    .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content {
        line-height: 1.375rem;
        white-space: pre-wrap;
        word-wrap: break-word;
        outline: none;
        overflow-x: hidden;

        /* Force caret nodes to be selected in full so that they can be */
        /* navigated through in a single keypress */

        /* we always have a <br/> tag at the end of the html, we need it to be present at first then hide it as soon as*/
        /* we have any other elements*/

        /* Make list type disc to match rich text editor */

        /* this selector represents what will become a pill
        nb despite there being mx_UserPill and mx_RoomPill classes appended to these pills
        in the current composer, there don't appear to be any styles associated with those classes
        in this repo */
    }
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content .caretNode {
            -webkit-user-select: all;
               -moz-user-select: all;
                    user-select: all;
        }
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content br:not(:only-child) {
            display: none;
        }

        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content p {
            margin-top: 0;
            margin-bottom: 0;
            /* this may seem redundant, but we need to handle zero content formatting tags, which occur when we split a
               formatting tag into paragraphs */
            min-height: 1.375rem;
        }

        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content ul,
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content ol {
            margin-top: 0;
            margin-bottom: 0;
            -webkit-padding-start: 28px;
                    padding-inline-start: 28px;
        }
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content ul {
            list-style-type: disc;
        }

        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content blockquote {
            color: #777;
            border-left: 2px solid var(--cpd-color-border-interactive-primary);
            border-radius: 2px;
            padding: 0 10px;

            -webkit-margin-before: 0;

                    margin-block-start: 0;
            -webkit-margin-after: 0;
                    margin-block-end: 0;
            -webkit-margin-start: 0;
                    margin-inline-start: 0;
            -webkit-margin-end: 0;
                    margin-inline-end: 0;
        }

        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content > pre {
            font-size: 0.9375rem;
            line-height: 1.5rem;

            margin-top: 0;
            margin-bottom: 0;
            padding: 8px 12px;

            background-color: var(--cpd-color-bg-subtle-secondary);
            border: 1px solid var(--cpd-color-gray-400);
            border-radius: 2px;
        }

        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content code:not(pre *) {
            font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            background-color: var(--cpd-color-bg-subtle-secondary);
            border: 1px solid var(--cpd-color-gray-400);
            border-radius: 4px;
            padding: 2px;
        }

            .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content code:not(pre *):empty {
                border: medium none currentcolor;
                border: initial;
                padding: 0;
                padding: initial;
            }
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content a[data-mention-type] {
            /* combine mx_Pill from _Pill.pcss */
            padding: 0.0625rem 0.4em;
            line-height: 1.0625rem;
            border-radius: 1rem;
            display: inline;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            max-width: 100%;
            overflow: hidden;

            color: var(--cpd-color-text-on-solid-primary);
            background-color: #2e80de;
            background-color: var(--cpd-color-bg-action-primary-rest);

            /* ...with the overrides from _BasicMessageComposer.pcss */
            -webkit-user-select: all;
               -moz-user-select: all;
                    user-select: all;
            position: relative;
            cursor: inherit; /* We don't want indicate clickability */
            text-overflow: ellipsis;
            white-space: nowrap;

            /* avatar pseudo element */
        }
            .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content a[data-mention-type]::before {
                /* After consolidation, all of the styling from _Pill.scss was being overridden,
                so take what is in _BasicMessageComposer.pcss as the starting point */
                display: inline-block;
                content: var(--avatar-letter);
                background: var(--avatar-background), var(--cpd-color-bg-canvas-default);

                width: 1rem;
                min-width: 1rem; /* ensure the avatar is not compressed */
                height: 1rem;
                line-height: 1rem;
                text-align: center;

                /* Get the positioning of the avatar just right for consistency with timeline */
                -webkit-margin-start: -0.4rem;
                        margin-inline-start: -0.4rem;
                -webkit-margin-end: 0.24rem;
                        margin-inline-end: 0.24rem;
                vertical-align: 0.12rem;

                background-repeat: no-repeat;
                background-size: 1rem;
                border-radius: 1rem;

                color: var(--avatar-color, var(--cpd-color-bg-canvas-default));
                font-weight: bold;
                font-size: 0.6275rem;
            }

    .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content_placeholder::before {
        content: var(--placeholder);
        width: 0;
        height: 0;
        overflow: visible;
        display: inline-block;
        pointer-events: none;
        white-space: nowrap;
        color: var(--cpd-color-text-secondary);
    }

.mx_WysiwygComposer_AutoCompleteWrapper {
    position: relative;

    /* Due to the fact that editing a message now has a larger amount of grey
    colour above it (due to the rich text buttons above the composer), we need
    to give the autocomplete a bit more visual separation by using a border.
    */
}
    .mx_WysiwygComposer_AutoCompleteWrapper > .mx_Autocomplete {
        border: 1px solid var(--cpd-color-gray-400);
        border-radius: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FormattingButtons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 8px;
}

    .mx_FormattingButtons .mx_FormattingButtons_Button {
        --size: 28px;
        cursor: pointer;
        height: 28px;
        height: var(--size);
        width: 28px;
        width: var(--size);
        background-color: transparent;
        border: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        border-radius: 5px;
    }
        .mx_FormattingButtons .mx_FormattingButtons_Button_hover:hover {
            background: var(--cpd-color-bg-subtle-secondary);
        }

            .mx_FormattingButtons .mx_FormattingButtons_Button_hover:hover .mx_FormattingButtons_Icon {
                color: var(--cpd-color-text-secondary);
            }

    .mx_FormattingButtons .mx_FormattingButtons_active {
        background: #2e80de;
        background: var(--cpd-color-green-300);
    }

        .mx_FormattingButtons .mx_FormattingButtons_active .mx_FormattingButtons_Icon {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
        }
        .mx_FormattingButtons .mx_FormattingButtons_disabled .mx_FormattingButtons_Icon {
            color: var(--cpd-color-gray-400);
        }

    .mx_FormattingButtons .mx_FormattingButtons_Icon {
        --size: 16px;
        height: 16px;
        height: var(--size);
        width: 16px;
        width: var(--size);
        color: var(--cpd-color-gray-800);
    }
    .mx_FormattingButtons_Tooltip_KeyboardShortcut kbd {
        text-align: center;
        display: inline-block;
        text-transform: capitalize;
        font-family: Inter, sans-serif;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LinkModal {
    padding: 32px;
    max-width: 600px;
    height: 341px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

    .mx_LinkModal .mx_LinkModal_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        gap: 8px;
        margin-top: 7px;
    }

        .mx_LinkModal .mx_LinkModal_content .mx_LinkModal_Field {
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            height: 40px;
        }

        .mx_LinkModal .mx_LinkModal_content .mx_LinkModal_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-align: end;
                -ms-flex-align: end;
                    align-items: flex-end;
        }

            .mx_LinkModal .mx_LinkModal_content .mx_LinkModal_buttons .mx_Dialog_buttons {
                display: inline-block;
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AvatarSetting_avatar {
    width: 90px;
    min-width: 90px; /* so it doesn't get crushed by the flexbox in languages with longer words */
    height: 90px;
    margin-top: 8px;
    position: relative;
}

    .mx_AvatarSetting_avatar.mx_AvatarSetting_avatarDisplay:hover .mx_AvatarSetting_hover {
        opacity: 1;
    }

    .mx_AvatarSetting_avatar > * {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .mx_AvatarSetting_avatar .mx_AccessibleButton.mx_AccessibleButton_kind_primary {
        margin-top: 8px;
    }

    .mx_AvatarSetting_avatar .mx_AccessibleButton.mx_AccessibleButton_kind_link_sm {
        width: 100%;
    }

    .mx_AvatarSetting_avatar > img {
        display: block;
        height: 90px;
        width: inherit;
        border-radius: 90px;
        cursor: pointer;
        -o-object-fit: cover;
           object-fit: cover;
    }

    .mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton {
        width: 28px;
        height: 28px;
        border-radius: 32px;
        border: 1px solid var(--cpd-color-bg-canvas-default);
        background-color: var(--cpd-color-bg-canvas-default);

        position: absolute;
        bottom: 0;
        right: 0;
        text-align: center;
        cursor: pointer;
    }

        .mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton svg {
            position: relative;
            top: 3px;
        }

    .mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton:hover,
    .mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton_active {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_AvatarSetting_removeMenuItem svg,
.mx_AvatarSetting_removeMenuItem span {
    color: #e0454b !important;
    color: var(--cpd-color-text-critical-primary) !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FontScalingPanel_preview {
    --FontScalingPanel_preview-padding-block: 9px;

    border: 1px solid var(--cpd-color-gray-400);
    border-radius: 10px;
    padding: 0 16px 9px 16px;
    padding: 0 16px var(--FontScalingPanel_preview-padding-block) 16px;
    pointer-events: none;
    display: flow-root;
}

    .mx_FontScalingPanel_preview.mx_IRCLayout {
        padding-top: 9px;
    }

    .mx_FontScalingPanel_preview .mx_EventTile[data-layout="bubble"] {
        margin-top: 30px;
    }

    .mx_FontScalingPanel_preview .mx_EventTile_msgOption {
        display: none;
    }

.mx_FontScalingPanel_Dropdown {
    width: 120px;
    /* Override default mx_Field margin */
    margin-bottom: var(--cpd-space-2x) !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ImageSizePanel_radios {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 16px;
}

    .mx_ImageSizePanel_radios > label {
        margin-right: 68px; /* keep the boxes separate */
        cursor: pointer;
    }

    .mx_ImageSizePanel_radios .mx_ImageSizePanel_size {
        display: block;
        color: var(--cpd-color-gray-400);
        width: 221px;
        height: 148px;
        margin-bottom: 14px; /* move radio button away from bottom edge a bit */
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_IntegrationManager .mx_Dialog_border {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 60%;
        height: 70%;
        max-width: none;
        max-width: initial;
        max-height: none;
        max-height: initial;
    }

    .mx_IntegrationManager .mx_Dialog {
        padding: 0;
        overflow: hidden;
    }

    .mx_IntegrationManager iframe {
        background-color: #fff;
        border: 0;
        width: 100%;
        height: 100%;
    }

    .mx_IntegrationManager h3 {
        margin-block: 20px;
    }

    .mx_IntegrationManager .mx_IntegrationManager_loading,
    .mx_IntegrationManager .mx_IntegrationManager_error {
        text-align: center;
    }

    .mx_IntegrationManager .mx_IntegrationManager_error h3 {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_JoinRuleSettings_upgradeRequired {
    margin-left: 16px;
    padding: 4px 16px;
    border: 1px solid #2e80de;
    border: 1px solid var(--cpd-color-text-action-accent);
    border-radius: 8px;
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
    font-size: 0.75rem;
    line-height: 0.9375rem;
}
    .mx_JoinRuleSettings_spacesWithAccess > h4 {
        color: var(--cpd-color-text-secondary);
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.75rem;
        line-height: 0.9375rem;
        text-transform: uppercase;
    }

    .mx_JoinRuleSettings_spacesWithAccess > span {
        font: var(--cpd-font-body-md-medium);
        line-height: 32px; /* matches height of avatar for v-align */
        color: var(--cpd-color-text-secondary);
        display: inline-block;
    }

        .mx_JoinRuleSettings_spacesWithAccess > span .mx_BaseAvatar {
            margin-right: 8px;
        }

        .mx_JoinRuleSettings_spacesWithAccess > span + span {
            margin-left: 16px;
        }

.mx_JoinRuleSettings_radioButton {
    padding-top: 16px;
}

    .mx_JoinRuleSettings_radioButton .mx_StyledRadioButton_content {
        margin-left: 14px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        display: block;
    }

    .mx_JoinRuleSettings_radioButton.mx_StyledRadioButton_disabled {
        opacity: 0.5;
    }

    .mx_JoinRuleSettings_radioButton.mx_StyledRadioButton_disabled + span {
        opacity: 0.5;
    }

    .mx_JoinRuleSettings_radioButton + span {
        display: inline-block;
        margin-left: 34px;
        margin-bottom: 16px;
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--cpd-color-text-secondary);
    }

        .mx_JoinRuleSettings_radioButton + span + .mx_StyledRadioButton {
            border-top: 1px solid var(--cpd-color-gray-400);
        }

.mx_JoinRuleSettings_labelledCheckbox {
    font: var(--cpd-font-body-md-regular);
    margin-top: var(--cpd-space-2x);
}

.mx_JoinRuleSettings_recommended {
    color: var(--cpd-color-green-1000);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_KeyboardShortcut kbd {
        padding: 5px;
        border-radius: 4px;
        background-color: var(--cpd-color-bg-canvas-default);
        min-width: 20px;
        text-align: center;
        display: inline-block;
        border: 1px solid var(--cpd-color-border-interactive-primary);
        -webkit-box-shadow: 0 2px var(--cpd-color-border-interactive-primary);
                box-shadow: 0 2px var(--cpd-color-border-interactive-primary);
        text-transform: capitalize;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LayoutSwitcher_LayoutSelector {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    /**
     * The settings form has a default gap of 10px
     * We want to have a bigger gap between the layout options
     */
    gap: var(--cpd-space-4x) !important;
}

    .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio {
        border: 1px solid var(--cpd-color-border-interactive-primary);
        border-radius: var(--cpd-space-2x);

        /**
         * Override the event tile style to make it fit in the selector
         * Tweak also hover style and remove action bar
         */
    }

        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_inline {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            /*
             * 10px
             */
            gap: calc(var(--cpd-space-2x) + var(--cpd-space-0-5x));
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_inline,
        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview {
            margin: var(--cpd-space-3x);
        }
        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview {
            pointer-events: none;
        }

            .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile {
                margin: 0;

                /**
                 * Hide the message options and message action bar in the preview
                 */

                /**
                 * Add margin to center the bubble
                 */
            }
                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_EventTile_msgOption,
                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_MessageActionBar {
                    display: none;
                }

                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_EventTile_content {
                    margin-right: 0;
                }

                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile[data-layout="group"] {
                    margin-top: calc(var(--cpd-space-3x) * -1);
                }
                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile[data-layout="bubble"] {
                    /**
                     * Add the layout margin and the margin to vertically center the bubble
                     */
                    margin-top: var(--cpd-space-6x);
                    margin-right: 34px;
                    -ms-flex-negative: 1;
                        flex-shrink: 1;
                }

                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile[data-layout="irc"] .mx_MessageTimestamp {
                    display: none; /* hide the container used for spacing consistency */
                }

                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_EventTile_line {
                    max-width: 100%;
                }

        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_separator {
            border-top: 0;
            border-bottom: 1px solid var(--cpd-color-border-interactive-secondary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_NotificationPusherSettings .mx_NotificationPusherSettings_description {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_NotificationPusherSettings .mx_NotificationPusherSettings_detail {
        margin-top: -4px;
        margin-bottom: 12px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SettingsTab .mx_NotificationSettings2 .mx_SettingsSection_subSections {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        gap: 32px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_SettingsTab .mx_NotificationSettings2 .mx_SettingsSubsection_description {
        margin-bottom: 20px;
    }
            .mx_SettingsTab .mx_NotificationSettings2 .mx_SettingsSubsection_description .mx_SettingsSubsection_text .mx_NotificationBadge {
                vertical-align: baseline;
                display: -webkit-inline-box;
                display: -ms-inline-flexbox;
                display: inline-flex;
                margin: 0 2px;
            }

    .mx_SettingsTab .mx_NotificationSettings2 .mx_SettingsSubsection_content {
        margin-top: 12px;
        gap: 12px;
        justify-items: stretch;
        -webkit-box-pack: stretch;
            -ms-flex-pack: stretch;
                justify-content: stretch;
    }

    .mx_SettingsTab .mx_NotificationSettings2 .mx_StyledRadioButton_content {
        margin-left: 10px;
        margin-right: 10px;
    }

    .mx_SettingsTab .mx_NotificationSettings2 .mx_TagComposer {
        margin-top: 16px;
    }

        .mx_SettingsTab .mx_NotificationSettings2 .mx_TagComposer.mx_TagComposer_disabled {
            opacity: 0.7;
        }

        .mx_SettingsTab .mx_NotificationSettings2 .mx_TagComposer .mx_TagComposer_tags {
            margin-top: 16px;
            gap: 8px;
        }

            .mx_SettingsTab .mx_NotificationSettings2 .mx_TagComposer .mx_TagComposer_tags .mx_Tag {
                border-radius: 18px;
                padding: 6px 12px;
                background: var(--cpd-color-alpha-gray-300);
                margin: 0;
            }

                .mx_SettingsTab .mx_NotificationSettings2 .mx_TagComposer .mx_TagComposer_tags .mx_Tag .mx_Tag_delete {
                    background: var(--cpd-color-gray-800);
                    color: #fff;
                    -ms-flex-item-align: initial;
                        align-self: initial;
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserNotifSettings_grid {
    width: calc(100% + 12px); /* +12px to line up center of 'Noisy' column with toggle switches */
    display: grid;
    grid-template-columns: auto repeat(3, 62px);
    place-items: center center;
    grid-gap: 8px;
    gap: 8px;

    /* Override StyledRadioButton default styles */

    /* left align section heading*/
}
    .mx_UserNotifSettings_grid .mx_StyledRadioButton {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

        .mx_UserNotifSettings_grid .mx_StyledRadioButton .mx_StyledRadioButton_content {
            display: none;
        }

        .mx_UserNotifSettings_grid .mx_StyledRadioButton .mx_StyledRadioButton_spacer {
            display: none;
        }
    .mx_UserNotifSettings_grid .mx_SettingsSubsectionHeading {
        justify-self: start;
    }

.mx_UserNotifSettings_gridRowContainer {
    display: contents;
}

.mx_UserNotifSettings_gridRow {
    display: contents;
}

.mx_UserNotifSettings_gridRowLabel {
    justify-self: start;
    /* <legend> does not accept */
    /* display: inline | inline-block */
    /* force it inline using float */
    float: left;
}

.mx_UserNotifSettings_gridColumnLabel {
    color: var(--cpd-color-text-secondary);
    font: var(--cpd-font-body-sm-semibold);
}
.mx_UserNotifSettings_gridRowError {
    /* occupy full row */
    grid-column: 1/-1;
    justify-self: start;
    padding-right: 30%;
    /* collapse half of the grid-gap */
    margin-top: -4px;
}

.mx_UserNotifSettings_floatingSection {
    margin-top: 40px;
}

    .mx_UserNotifSettings_floatingSection > div:first-child {
        /* section header */
        font-size: 1.125rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_UserNotifSettings_floatingSection > table {
        border-collapse: collapse;
        border-spacing: 0;
        margin-top: 8px;
    }

        .mx_UserNotifSettings_floatingSection > table tr > td:first-child {
            /* Just for a bit of spacing */
            padding-right: 8px;
        }

.mx_UserNotifSettings_clearNotifsButton {
    margin-top: 8px;
}

.mx_TagComposer {
    margin-top: 35px; /* lots of distance from the last line of the table */
}

.mx_AccessibleButton.mx_NotificationSound_browse {
    margin-right: 10px;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_GeneralUserSettingsTab_section--discovery_existing_verification {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_GeneralUserSettingsTab_section--discovery_existing_verification .mx_Field {
        margin: 0 0 0 1em;
    }

.mx_PhoneNumbers_input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_PhoneNumbers_input > .mx_Field {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.mx_PhoneNumbers_country {
    width: 80px;
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_PowerLevelSelector_Button {
    -ms-flex-item-align: start;
        align-self: flex-start;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 , 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomProfileSettings {
    border-bottom: 1px solid var(--cpd-color-gray-400);
}

    .mx_RoomProfileSettings .mx_RoomProfileSettings_profile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

        .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            -webkit-margin-end: 54px;
                    margin-inline-end: 54px;
        }

            .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_Field {
                margin-top: 8px;
            }

            .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_topic {
                margin-top: 8px;
            }

                .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_topic > textarea {
                    font-family: inherit;
                    resize: vertical;
                }

                .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_topic.mx_RoomProfileSettings_profile_controls_topic--room textarea {
                    min-height: 4em;
                }

            .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_userId {
                -webkit-margin-end: 20px;
                        margin-inline-end: 20px;
            }

    .mx_RoomProfileSettings .mx_RoomProfileSettings_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: var(--cpd-space-4x);
        margin-top: 10px; /* 18px is already accounted for by the <p> above the buttons */
        margin-bottom: 28px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SetIntegrationManager .mx_SetIntegrationManager_heading_manager {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-column-gap: 4px;
           -moz-column-gap: 4px;
                column-gap: 4px;
    }
    .mx_SetIntegrationManager form {
        margin-top: var(--cpd-space-3x);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsFieldset {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
}

.mx_SettingsFieldset_legend {
    font: var(--cpd-font-heading-md-semibold);
    font-weight: var(--cpd-font-weight-semibold);
    display: block;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    margin-bottom: 10px;
    margin-top: 12px;
}

.mx_SettingsFieldset_description {
    display: block;
    margin-top: 0;
    margin-bottom: 10px;
}

    .mx_SettingsFieldset_description p {
        margin-top: 10px;
        margin-bottom: 0;
    }

        .mx_SettingsFieldset_description p:first-child {
            margin: 0;
        }

.mx_SettingsFieldset_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_SettingsHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--cpd-space-2x);
    /* Override margin from common.pcss */
    margin: 0;
}

    .mx_SettingsHeader > span {
        font: var(--cpd-font-body-sm-medium);
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }

    .mx_SettingsHeader.mx_SettingsHeader_recommended::after {
        display: inline-block;
        content: "";
        width: 8px;
        height: 8px;
        background-color: var(--cpd-color-icon-critical-primary);
        clip-path: circle(4px);
    }
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_SettingsSubheader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--cpd-space-2x);
}

    .mx_SettingsSubheader > span {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--cpd-space-2x);
        font: var(--cpd-font-body-sm-medium);
    }

    .mx_SettingsSubheader .mx_SettingsSubheader_success {
        color: #3ecf8e;
        color: var(--cpd-color-text-success-primary);
    }

    .mx_SettingsSubheader .mx_SettingsSubheader_error {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ExistingSpellCheckLanguage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_ExistingSpellCheckLanguage_language {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 10px;
}

.mx_GeneralUserSettingsTab_spellCheckLanguageInput {
    margin-bottom: 8px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ThemeChoicePanel_ThemeSelectors {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    /* Override form default style */
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
    gap: var(--cpd-space-4x) !important;
}

    .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector {
        border: 1px solid var(--cpd-color-border-interactive-secondary);
        border-radius: var(--cpd-space-1-5x);
        padding: var(--cpd-space-3x) var(--cpd-space-5x) var(--cpd-space-3x) var(--cpd-space-3x);
        gap: var(--cpd-space-2x);
        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector.mx_ThemeChoicePanel_themeSelector_enabled {
            border-color: var(--cpd-color-border-interactive-primary);
        }

        .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector.mx_ThemeChoicePanel_themeSelector_disabled {
            border-color: var(--cpd-color-border-disabled);
        }

            .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector.mx_ThemeChoicePanel_themeSelector_disabled .mx_ThemeChoicePanel_themeSelector_Label {
                color: var(--cpd-color-text-disabled);
                cursor: not-allowed;
            }

        .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector .mx_ThemeChoicePanel_themeSelector_Label {
            font: var(--cpd-font-body-md-semibold);
        }
            .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector:not(.mx_ThemeChoicePanel_themeSelector_disabled) .mx_ThemeChoicePanel_themeSelector_Label {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

.mx_ThemeChoicePanel_CustomTheme {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--cpd-space-4x);
}

    .mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomTheme_EditInPlace input:focus {
        /*
         * When the input is focused, the border is growing
         * We need to move it a bit to avoid the left border to be under the left panel
         */
        margin-left: var(--cpd-space-0-5x);
    }

    .mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomThemeList {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        /*
         * Override the default padding/margin of the list
         */
        padding: 0;
        margin: 0;
    }

        .mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomThemeList .mx_ThemeChoicePanel_CustomThemeList_theme {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            background-color: var(--cpd-color-gray-200);
            padding: var(--cpd-space-2x) var(--cpd-space-2x) var(--cpd-space-2x) var(--cpd-space-4x);
        }

            .mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomThemeList .mx_ThemeChoicePanel_CustomThemeList_theme .mx_ThemeChoicePanel_CustomThemeList_name {
                font: var(--cpd-font-body-sm-semibold);
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UpdateCheckButton_summary {
    margin-left: 16px;
}
}
@layer app-web{

/*
Copyright 2026 Element Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_UserPersonalInfoSettings h2 {
        margin: var(--cpd-space-4x) 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 , 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserProfileSettings {
    border-bottom: 1px solid var(--cpd-color-gray-400);
}

    .mx_UserProfileSettings h2 {
        margin: var(--cpd-space-4x) 0;
    }

    .mx_UserProfileSettings .mx_UserProfileSettings_profile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: var(--cpd-space-6x);
        gap: 16px;
    }

        .mx_UserProfileSettings .mx_UserProfileSettings_profile .mx_UserProfileSettings_profile_displayName {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            width: 100%;
            gap: 0;
        }

    .mx_UserProfileSettings .mx_UserProfileSettings_profile_controls {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

    .mx_UserProfileSettings .mx_UserProfileSettings_profile_controls_userId {
        width: 100%;
        margin-top: var(--cpd-space-4x);
    }
        .mx_UserProfileSettings .mx_UserProfileSettings_profile_controls_userId .mx_CopyableText {
            margin-top: var(--cpd-space-1x);
            width: 100%;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

    .mx_UserProfileSettings .mx_UserProfileSettings_profile_controls_userId_label {
        font-size: 15px;
        font-weight: 500;
    }

    .mx_UserProfileSettings .mx_UserProfileSettings_profile_buttons {
        margin-top: var(--cpd-space-8x);
        margin-bottom: var(--cpd-space-8x);
    }

    .mx_UserProfileSettings .mx_UserProfileSettings_accountmanageIcon {
        margin-right: var(--cpd-space-2x);
    }

@media (max-width: 768px) {
    .mx_UserProfileSettings_profile {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 30px;
    }
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_EncryptionDetails,
.mx_OtherSettings {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    /* !important override compound form */
    gap: var(--cpd-space-6x) !important;
    width: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
}

    .mx_EncryptionDetails .mx_EncryptionDetails_session_title,
    .mx_EncryptionDetails .mx_OtherSettings_title,
    .mx_OtherSettings .mx_EncryptionDetails_session_title,
    .mx_OtherSettings .mx_OtherSettings_title {
        font: var(--cpd-font-body-lg-semibold);
        padding-bottom: var(--cpd-space-2x);
        border-bottom: 1px solid var(--cpd-color-gray-400);
        width: 100%;
        margin: 0;
    }
    .mx_EncryptionDetails .mx_EncryptionDetails_session {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        width: 100%;
    }

        .mx_EncryptionDetails .mx_EncryptionDetails_session > div {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
        }

            .mx_EncryptionDetails .mx_EncryptionDetails_session > div > span {
                width: 50%;
                word-wrap: break-word;
            }

        .mx_EncryptionDetails .mx_EncryptionDetails_session > div:nth-child(odd) {
            background-color: var(--cpd-color-gray-200);
        }

    .mx_EncryptionDetails .mx_EncryptionDetails_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: var(--cpd-space-4x);
    }
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */
    .mx_ChangeRecoveryKey .mx_InformationPanel_description {
        text-align: center;
    }

    .mx_ChangeRecoveryKey .mx_ChangeRecoveryKey_Form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-8x);
    }

        .mx_ChangeRecoveryKey .mx_ChangeRecoveryKey_Form .mx_ChangeRecoveryKey_footer {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: var(--cpd-space-4x);
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

    .mx_ChangeRecoveryKey .mx_KeyPanel {
        display: grid;
        grid-template:
            "header button" auto
            "content button" auto / 1fr;

        grid-column-gap: var(--cpd-space-3x);

        -webkit-column-gap: var(--cpd-space-3x);

           -moz-column-gap: var(--cpd-space-3x);

                column-gap: var(--cpd-space-3x);
        grid-row-gap: var(--cpd-space-1x);
        row-gap: var(--cpd-space-1x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_ChangeRecoveryKey .mx_KeyPanel > span {
            grid-area: header;
        }

        .mx_ChangeRecoveryKey .mx_KeyPanel > div {
            grid-area: content;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: var(--cpd-space-2x);
            color: var(--cpd-color-text-secondary);
        }

            .mx_ChangeRecoveryKey .mx_KeyPanel > div .mx_KeyPanel_key {
                font-family: "Fira Code", monospace;
                /*
                 * From figma https://www.figma.com/design/qTWRfItpO3RdCjnTKPu4mL/Settings?node-id=375-77471&t=t7lozYrSI1AVZZ3U-4
                 */
                height: 70px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                border-radius: var(--cpd-space-2x);
                padding: var(--cpd-space-3x) var(--cpd-space-4x);
                background-color: var(--cpd-color-bg-subtle-secondary);
            }

        .mx_ChangeRecoveryKey .mx_KeyPanel > button {
            margin: 0 var(--cpd-space-1x);
            grid-area: button;
            color: var(--cpd-color-icon-secondary-alpha);
        }

    .mx_ChangeRecoveryKey .mx_KeyForm {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-8x);
    }
            .mx_ChangeRecoveryKey .mx_KeyForm .mx_KeyForm_password > input[name="recoveryKey"] {
                /*
                 * From figma https://www.figma.com/design/qTWRfItpO3RdCjnTKPu4mL/Settings?node-id=375-77506&t=d82NdRBDoKsUe1C9-4
                 */
                height: 70px;
                padding: var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-4x);
                border: var(--cpd-border-width-1) solid;
                border-radius: 8px;
                margin: 0px;
            }

            .mx_ChangeRecoveryKey .mx_KeyForm .mx_KeyForm_password > button {
                /*
                 * See figma https://www.figma.com/design/qTWRfItpO3RdCjnTKPu4mL/Settings?node-id=375-77506&t=d82NdRBDoKsUe1C9-4
                 * Avoid stretching the hide/show symbol to the height of the input, and centre it vertically.
                 */
                height: 24.5px;
                padding: var(--cpd-space-1x);
                -ms-flex-item-align: center;
                    align-self: center;
            }
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_EncryptionCard {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--cpd-space-8x);
    padding: var(--cpd-space-10x);
    border-radius: var(--cpd-space-4x);
    /* From figma */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(27, 29, 34, 0.15);
            box-shadow: 0 1.2px 2.4px 0 rgb(27, 29, 34, 0.15);
    border: 1px solid var(--cpd-color-gray-400);

    /* extra class for specifying that we don't need a border */
}

    .mx_EncryptionCard .mx_EncryptionCard_header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_EncryptionCard .mx_EncryptionCard_header > h2 {
            margin: 0;
        }

        .mx_EncryptionCard .mx_EncryptionCard_header > span {
            color: var(--cpd-color-text-secondary);
            text-align: center;
        }
    .mx_EncryptionCard.mx_EncryptionCard_noBorder {
        border: 0px none;
        -webkit-box-shadow: none;
                box-shadow: none;
        padding: 0px;
    }

.mx_EncryptionCard_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--cpd-space-4x);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */
    .mx_EncryptionCard_emphasisedContent span {
        font: var(--cpd-font-body-md-medium);
        text-align: center;
    }
}
@layer app-web{

/*
 * Copyright 2025 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_RecoveryPanelOutOfSync {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-2x);
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

/* Red text for the "Do not close this window" warning*/
.mx_ResetIdentityPanel_warning {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsBanner {
    background: var(--cpd-color-bg-subtle-secondary);
    border-radius: 8px;
    padding: 12px 16px;
    gap: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_SettingsBanner .mx_SettingsBanner_content {
        margin: 0;
    }

    .mx_SettingsBanner .mx_AccessibleButton {
        white-space: nowrap;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsIndent {
    padding-left: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
}
}
@layer app-web{

/*
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsSection {
    --SettingsTab_section-margin-bottom-preferences-labs: 30px;
    --SettingsTab_heading_nth_child-margin-top: 30px;
    --SettingsTab_tooltip-max-width: 20px; /* So it fits in the space provided by the page */

    color: #ffffff;

    color: var(--cpd-color-text-primary);

    /* Compound links carry data-kind and provide their own colour. */
}
    .mx_SettingsSection a:not([data-kind]) {
        color: var(--cpd-color-text-link-external);
    }

    .mx_SettingsSection.mx_SettingsSection_newUi {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-6x);
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: start;
    }

    .mx_SettingsSection .mx_SettingsSection_header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-3x);
        color: var(--cpd-color-text-secondary);
    }

.mx_SettingsSection_subSections {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 32px;
    gap: 32px;

    margin: 16px 0;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsTab {
    --SettingsTab_tooltip-max-width: 120px; /* So it fits in the space provided by the page */

    color: #ffffff;

    color: var(--cpd-color-text-primary);

    /* Compound links carry data-kind and provide their own colour. */

    /* never want full width buttons*/
    /* event when other content is 100% width*/
}
    .mx_SettingsTab a:not([data-kind]) {
        color: var(--cpd-color-text-link-external);
    }

    .mx_SettingsTab form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-3x);
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }
    .mx_SettingsTab .mx_AccessibleButton {
        -ms-flex-item-align: start;
            align-self: flex-start;
        justify-self: flex-start;
    }

    .mx_SettingsTab .mx_Field {
        margin: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_SettingsTab_warningText {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

.mx_SettingsTab_subsectionText {
    color: var(--cpd-color-text-secondary);
    font: var(--cpd-font-body-md-regular);
    display: block;
    margin-top: 10px;
    -webkit-margin-end: 80px;
            margin-inline-end: 80px; /* Align with the rest of the view */
    margin-bottom: 10px;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
}

.mx_SettingsTab_section {

    margin-bottom: 24px;
}

    .mx_SettingsTab_section .mx_SettingsFlag {
        -webkit-margin-end: 80px;
                margin-inline-end: 80px;
        margin-bottom: 10px;
    }

        .mx_SettingsTab_section .mx_SettingsFlag .mx_SettingsFlag_label {
            vertical-align: middle;
            display: inline-block;
            max-width: calc(100% - 3rem); /* Force word wrap instead of colliding with the switch */
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

        .mx_SettingsTab_section .mx_SettingsFlag .mx_ToggleSwitch {
            float: inline-end;
        }

    .mx_SettingsTab_section > p {
        -webkit-margin-end: 80px;
                margin-inline-end: 80px;
    }

    .mx_SettingsTab_section.mx_SettingsTab_subsectionText .mx_SettingsFlag {
        -webkit-margin-end: 0 !important;
                margin-inline-end: 0 !important;
    }

.mx_SettingsTab_sections {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 32px;
    gap: 32px;

    padding-bottom: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NotificationSettingsTab_notificationsSection {
    width: 360px;
}

    .mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font-size: 0.9375rem;
        line-height: 1.125rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-top: 16px;
        position: relative;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton input + div {
            margin-top: 8px;
        }

        .mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton .mx_NotificationSettingsTab_microCopy {
            color: var(--cpd-color-text-secondary);
            font-weight: normal;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            margin-right: 32px;
        }

input[type="file"].mx_NotificationSound_soundUpload {
    display: none;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Nordeck IT + Consulting GmbH

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PeopleRoomSettingsTab_knock {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: var(--cpd-space-2x);
}

.mx_PeopleRoomSettingsTab_content {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 var(--cpd-space-4x);
}

.mx_PeopleRoomSettingsTab_avatar {
    -ms-flex-item-align: start;
        align-self: flex-start;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_PeopleRoomSettingsTab_name {
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_PeopleRoomSettingsTab_timestamp {
    color: var(--cpd-color-text-secondary);
    margin-left: var(--cpd-space-1x);
}

.mx_PeopleRoomSettingsTab_userId {
    color: var(--cpd-color-text-secondary);
    display: block;
    font-size: var(--cpd-font-size-body-sm);
}

.mx_PeopleRoomSettingsTab_seeMoreOrLess {
    margin: var(--cpd-space-3x) 0 0;
}

.mx_PeopleRoomSettingsTab_action {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

    .mx_PeopleRoomSettingsTab_action + .mx_PeopleRoomSettingsTab_action {
        margin-left: var(--cpd-space-3x);
    }

.mx_PeopleRoomSettingsTab_paragraph {
    margin: 0;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RolesRoomSettingsTab_bannedList {
    margin-bottom: 0;
}

.mx_RolesRoomSettingsTab_unbanBtn {
    margin-right: 10px;
    margin-bottom: 5px;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SecurityRoomSettingsTab_advancedSection {
    margin-top: 16px;
}

.mx_SecurityRoomSettingsTab_warning {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
}

    .mx_SecurityRoomSettingsTab_warning svg {
        color: #ff0064; /* Match legacy icon colour until redesign */
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Field.mx_AppearanceUserSettingsTab_checkboxControlledField {
    width: 256px;
    /* Line up with Settings field toggle button */
    -webkit-margin-start: 0;
            margin-inline-start: 0;
}
}
@layer app-web{

/*
Copyright 2026 PLX.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.

PLX Bots settings tab — Midnight-themed bot cards + create form.
Scoped under .mx_BotsUserSettingsTab; colours pull from the Midnight token
block defined in res/css/themes/_plx-telegram.pcss.
*/
    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_error {
        margin-bottom: 12px;
        padding: 10px 12px;
        border-radius: 13px;
        border-radius: var(--plx-radius-input, 13px);
        background: rgba(224, 69, 75, 0.12); /* --danger soft */
        color: #e0454b;
        color: var(--plx-danger, #e0454b);
        font-size: 14px;
        line-height: 1.4;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_empty,
    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_forbidden {
        padding: 16px;
        border-radius: 14px;
        border-radius: var(--plx-radius-card, 14px);
        background: #202b36;
        background: var(--plx-panel-2, #202b36);
        color: #7f91a4;
        color: var(--plx-dim, #7f91a4);
        font-size: 14px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 12px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_card {
        padding: 16px;
        border-radius: 14px;
        border-radius: var(--plx-radius-card, 14px);
        background: #202b36;
        background: var(--plx-panel-2, #202b36);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border: 1px solid var(--plx-border, rgba(255, 255, 255, 0.06));
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 10px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_cardHeader {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 12px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_cardIdentity {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        gap: 10px;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_handle {
        font-weight: 700;
        font-size: 15px;
        color: #2e80de;
        color: var(--plx-accent, #2e80de);
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_name {
        font-weight: 600;
        font-size: 15px;
        color: #ffffff;
        color: var(--plx-text, #ffffff);
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_inactive {
        font-size: 12px;
        padding: 2px 8px;
        border-radius: 9px;
        background: rgba(224, 69, 75, 0.16);
        color: #e0454b;
        color: var(--plx-danger, #e0454b);
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_description {
        font-size: 14px;
        color: #7f91a4;
        color: var(--plx-dim, #7f91a4);
        line-height: 1.4;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_token {
        padding: 8px 10px;
        border-radius: 13px;
        border-radius: var(--plx-radius-input, 13px);
        background: #0e1621;
        background: var(--plx-bg, #0e1621);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border: 1px solid var(--plx-border, rgba(255, 255, 255, 0.06));
        overflow-x: auto;
    }

        .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_token code {
            font-family: monospace;
            font-size: 13px;
            color: #8fd0ff;
            color: var(--plx-read-tick, #8fd0ff);
            word-break: break-all;
        }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_actions {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 8px;
        margin-top: 4px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_createForm,
    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_editForm {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 12px;
        max-width: 420px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_editForm {
        margin-top: 4px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_HelpUserSettingsTab_accessTokenDetails {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_KeyboardShortcut_shortcutList {
    margin: 0;
    padding: 0;
    width: 100%;
    display: grid;
    grid-gap: 4px;
    gap: 4px;
}

.mx_KeyboardShortcut_shortcutRow,
.mx_KeyboardShortcut {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_KeyboardShortcut_shortcutRow {
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
}

.mx_KeyboardShortcut {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
}
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MediaPreviewAccountSetting_Radio {
    margin: var(--cpd-space-1x) 0;
}

.mx_MediaPreviewAccountSetting {
    margin-top: var(--cpd-space-1x);
}

.mx_MediaPreviewAccountSetting_RadioHelp {
    /* !important because it's overriding compound help message */
    margin-top: 0 !important;
    margin-bottom: var(--cpd-space-1x);
}

.mx_MediaPreviewAccountSetting_Form {
    width: 100%;
}

.mx_MediaPreviewAccountSetting_ToggleSwitch {
    font: var(--cpd-font-body-md-medium);
    letter-spacing: var(--cpd-font-letter-spacing-body-md);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MjolnirUserSettingsTab_listItem {
    margin-bottom: 2px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PreferencesUserSettingsTab_section_hint {
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SecurityUserSettingsTab_bulkOptions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
}

.mx_SecurityUserSettingsTab_ignoredUsers {
    padding-left: 0;
    margin: 0;
    list-style: none;
}

.mx_SecurityUserSettingsTab_ignoredUser {
    margin-bottom: 4px;
}

.mx_SecurityUserSettingsTab_ignoredUser .mx_AccessibleButton {
    margin-right: 8px;
}

.mx_SecurityUserSettingsTab_warning {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

    .mx_SecurityUserSettingsTab_warning svg {
        width: 24px;
        height: 24px;
        margin-right: var(--cpd-space-4x);
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }

form.mx_SecurityUserSettingsTab_posthogSection {
    /* Inhibit compound spacing here as it clashes with pre-compound UI */
    display: contents !important;
}
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SidebarUserSettingsTab_homeAllRoomsCheckbox {
    margin-left: 24px;
}

    .mx_SidebarUserSettingsTab_homeAllRoomsCheckbox + div {
        margin-left: 48px;
    }

.mx_SidebarUserSettingsTab_icon {
    margin-right: var(--cpd-space-2x);
    margin-top: auto;
    margin-bottom: auto;
}

.mx_SidebarUserSettingsTab_checkbox label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SpaceBasicSettings .mx_Field {
        margin: 24px 0;
    }

    .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 24px;
    }

        .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer .mx_SpaceBasicSettings_avatar {
            height: 80px;
            width: 80px;
            background-color: var(--cpd-color-gray-800);
            border-radius: 16px;
            -o-object-fit: cover;
               object-fit: cover;
        }

            .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer .mx_SpaceBasicSettings_avatar svg {
                width: 20px;
                height: 20px;
                padding: 30px;
                color: #ffffff; /* white icon fill */
            }

        .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer > input[type="file"] {
            display: none;
        }

        .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer > .mx_AccessibleButton_kind_link {
            display: inline-block;
            margin: auto 18px;
            color: var(--cpd-color-text-link-external);
            font: var(--cpd-font-body-md-regular);
        }

        .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer > .mx_SpaceBasicSettings_avatar_remove {
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
        }

    .mx_SpaceBasicSettings .mx_AccessibleButton_hasKind {
        margin-left: auto;
        display: block;
        width: -webkit-min-content;
        width: -moz-min-content;
        width: min-content;
    }

    .mx_SpaceBasicSettings .mx_AccessibleButton_disabled {
        cursor: not-allowed;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceChildrenPicker {
    margin: 16px 0;
}

    .mx_SpaceChildrenPicker .mx_StyledRadioButton + .mx_StyledRadioButton {
        margin-top: 16px;
    }

    .mx_SpaceChildrenPicker .mx_SearchBox {
        /* To match the space around the title */
        margin: 0 0 15px 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        border-radius: 8px;
    }

    .mx_SpaceChildrenPicker .mx_SpaceChildrenPicker_noResults {
        display: block;
        margin-top: 24px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceCreateMenu_wrapper {
    /* background blur everything except SpacePanel */
}
    .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu_background {
        background-color: #00000080;
        opacity: 0.6;
        left: 68px;
    }

    .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu {
        padding: 24px;
        width: 480px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--cpd-color-bg-canvas-default);
        position: relative;
    }
            .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu > div > h2 {
                font: var(--cpd-font-heading-sm-semibold);
                font-size: 1.125rem;
                margin-top: 4px;
            }

            .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu > div > p {
                font-size: 0.9375rem;
                color: var(--cpd-color-text-secondary);
            }

        .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenu_back {
            width: 24px;
            height: 24px;
            padding: var(--cpd-space-0-5x);
            background-color: var(--cpd-color-alpha-gray-300);
            border-radius: 14px;
            margin-bottom: 12px;
        }

            .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenu_back svg {
                color: var(--cpd-color-gray-800);
            }

        .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_AccessibleButton_kind_primary {
            padding: 8px 22px;
            margin-left: auto;
            display: block;
            width: -webkit-min-content;
            width: -moz-min-content;
            width: min-content;
        }

        .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_AccessibleButton_disabled {
            cursor: not-allowed;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InlineTermsAgreement_cbContainer {
    margin-top: var(--cpd-space-4x);
    margin-bottom: 10px;
    font: var(--cpd-font-body-md-regular);
}

    .mx_InlineTermsAgreement_cbContainer a {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
        text-decoration: none;
    }

    .mx_InlineTermsAgreement_cbContainer .mx_InlineTermsAgreement_checkbox {
        margin-top: 10px;
    }

        .mx_InlineTermsAgreement_cbContainer .mx_InlineTermsAgreement_checkbox input {
            vertical-align: text-bottom;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_AnalyticsToast .mx_AccessibleButton_kind_danger_outline {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
        color: #ffffff;
        border: 1px solid #2e80de;
        border: 1px solid var(--cpd-color-text-action-accent);
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_AnalyticsToast .mx_AccessibleButton_kind_primary {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
        color: #ffffff;
        border: 1px solid #2e80de;
        border: 1px solid var(--cpd-color-text-action-accent);
        font-weight: var(--cpd-font-weight-semibold);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_IncomingCallToast {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    pointer-events: initial; /* restore pointer events so the user can accept/decline */
}

    .mx_IncomingCallToast .mx_IncomingCallToast_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        width: 100%;
        overflow: hidden;
    }

        .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_title {
            display: grid;
            grid-template-columns: auto 1fr auto;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            grid-gap: var(--cpd-space-2x);
            gap: var(--cpd-space-2x);
        }

            .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_title h2 {
                margin: 0;
            }

            .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_title .mx_IncomingCallToast_expandButton {
                padding: var(--cpd-space-1x);
                color: var(--cpd-color-icon-secondary);
                -webkit-transition: color 0.1s;
                transition: color 0.1s;
            }

                .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_title .mx_IncomingCallToast_expandButton:hover {
                    color: var(--cpd-color-icon-primary);
                }

                .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_title .mx_IncomingCallToast_expandButton > svg {
                    display: block;
                }

        .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_avatars {
            display: inline-block;
            vertical-align: top;
        }

        .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-2x);
            -webkit-padding-before: var(--cpd-space-2x);
                    padding-block-start: var(--cpd-space-2x);
        }

        .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_actionButton {
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            min-width: 131px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_IncomingLegacyCallToast {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    pointer-events: initial; /* restore pointer events so the user can accept/decline */
}

    .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-left: 8px;
    }

        .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_LegacyCallEvent_caller {
            font-weight: bold;
            font-size: 0.9375rem;
            line-height: 1.125rem;

            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;

            margin-top: 2px;
            margin-right: 6px;

            max-width: 200px;
        }

        .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_LegacyCallEvent_type {
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-gray-800);

            margin-top: 4px;
            margin-bottom: 6px;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

        .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons {
            margin-top: 8px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            gap: 12px;
        }

            .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button {
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                font-weight: var(--cpd-font-weight-semibold);
                height: 1.5rem;
                line-height: 1.5rem;
                margin-right: 0;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }
                .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button svg {
        width: 16px;
        height: 16px;
        display: inline-block;
        color: var(--cpd-color-bg-canvas-default);
        margin-right: 8px;
        vertical-align: middle;
    }
                .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button{
                padding: 8px;
                -ms-flex-negative: 0;
                    flex-shrink: 0;
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                font-size: 0.9375rem;
}

    .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_iconButton {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 20px;
        width: 20px;
    }

        .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_iconButton svg {
            height: inherit;
            width: inherit;
            color: var(--cpd-color-gray-800);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_NonUrgentEchoFailureToast svg {
        display: inline-block;
        width: 1.125rem;
        height: 1.125rem;
        color: #fff; /* we know that non-urgent toasts are always styled the same */
        margin-right: 8px;
    }

    .mx_NonUrgentEchoFailureToast span {
        /* includes the i18n block */
        vertical-align: middle;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021-2023 x The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Heading_h1,
.mx_Heading_h2,
.mx_Heading_h3,
.mx_Heading_h4 {
    margin-inline: unset;
    margin-block: unset;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_Heading_h1 {
    font: var(--cpd-font-heading-xl-semibold);
}

.mx_Heading_h2 {
    font: var(--cpd-font-heading-lg-semibold);
}

.mx_Heading_h3 {
    font: var(--cpd-font-heading-md-semibold);
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_Heading_h4 {
    font: var(--cpd-font-heading-sm-semibold);
    font-weight: var(--cpd-font-weight-semibold);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VerificationShowSas_decimalSas {
    text-align: center;
    font-weight: bold;
    padding-left: 3px;
    padding-right: 3px;
}

.mx_VerificationShowSas_decimalSas span {
    margin-left: 5px;
    margin-right: 5px;
}

.mx_VerificationShowSas_emojiSas {
    margin: 25px 0;
}

.mx_VerificationShowSas_buttonRow {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 9px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* data-whatintent makes more sense here semantically but then the tooltip would stay visible without the button */
/* which looks broken, so we match the behaviour of tooltips which is fine too. */
[data-whatinput="mouse"] .mx_LegacyCallViewButtons.mx_LegacyCallViewButtons_hidden {
    opacity: 0.001; /* opacity 0 can cause a re-layout */
    pointer-events: none;
}

.mx_LegacyCallViewButtons {
    --LegacyCallViewButtons_dropdownButton-size: 16px;

    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    bottom: 32px;
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    z-index: 200; /* To be above _all_ feeds */
    gap: 18px;
}

    .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button {
        cursor: pointer;

        background-color: var(--cpd-color-bg-subtle-secondary);

        border-radius: 100%;
        height: 40px;
        width: 40px;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        position: relative;

        -webkit-box-shadow: 0px 4px 4px 0px #00000026;

                box-shadow: 0px 4px 4px 0px #00000026; /* Same on both themes */

        /* State buttons */
        /* State buttons */

        /* Stateless buttons */
        /* Stateless buttons */

        /* Invisible state */
        /* Invisible state */
    }

        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button svg {
            display: inline-block;

            color: #ffffff;

            color: var(--cpd-color-text-primary);

            height: 24px;
            width: 24px;
        }

        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dropdownButton {
            width: var(--LegacyCallViewButtons_dropdownButton-size);
            height: var(--LegacyCallViewButtons_dropdownButton-size);

            position: absolute;
            right: 0;
            bottom: 0;
        }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dropdownButton svg {
                width: 16px;
                height: 16px;
            }

        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_mic svg {
            height: 20px;
            width: 20px;
        }
        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on {
            background-color: var(--cpd-color-bg-subtle-secondary);
        }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on svg {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on.mx_LegacyCallViewButtons_button_screensharing {
                background-color: #2e80de;
                background-color: var(--cpd-color-text-action-accent);
            }

                .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on.mx_LegacyCallViewButtons_button_screensharing svg {
                    color: white; /* Same on both themes */
                }

        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off {
            background-color: #ffffff;
            background-color: var(--cpd-color-text-primary);
        }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off svg {
                color: var(--cpd-color-bg-subtle-secondary);
            }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_screensharing,
            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_sidebar {
                background-color: var(--cpd-color-bg-subtle-secondary);
            }

                .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_screensharing svg, .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_sidebar svg {
                    color: #ffffff;
                    color: var(--cpd-color-text-primary);
                }
        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_hangup {
            background-color: #e0454b;
            background-color: var(--cpd-color-text-critical-primary);
        }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_hangup svg {
                color: white; /* Same on both themes */
            }
        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_invisible {
            visibility: hidden;
            pointer-events: none;
            position: absolute;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CallDuration {
    color: var(--cpd-color-text-secondary);
    font-size: 0.75rem;
    white-space: nowrap;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CallView {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-height: 0;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    background-color: var(--cpd-color-bg-subtle-secondary);
}

    .mx_CallView .mx_AppTile {
        width: auto;
        height: 100%;
        border: none;
        border-radius: inherit;
        background-color: var(--cpd-color-bg-canvas-default);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialPad {
    display: grid;
    grid-row-gap: 16px;
    row-gap: 16px;
    grid-column-gap: 0px;
    -webkit-column-gap: 0px;
       -moz-column-gap: 0px;
            column-gap: 0px;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;

    /* squeeze the dial pad buttons together horizontally */
    grid-template-columns: repeat(3, 1fr);
}

.mx_DialPad_button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    width: 40px;
    height: 40px;
    background-color: var(--cpd-color-gray-400);
    border-radius: 40px;
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
    text-align: center;
    vertical-align: middle;
    margin-left: auto;
    margin-right: auto;
}

.mx_DialPad_button .mx_DialPad_buttonSubText {
    font-size: 8px;
}

.mx_DialPad_dialButton {
    /* Always show the dial button in the center grid column */
    grid-column: 2;
    background-color: #2e80de;
    background-color: var(--cpd-color-text-action-accent);
}

    .mx_DialPad_dialButton svg {
        display: inline-block;
        height: 20px;
        width: 20px;
        padding: 10px;
        color: #fff; /* on all themes */
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialPadContextMenu_dialPad .mx_DialPad {
    row-gap: 16px;
    -webkit-column-gap: 32px;
       -moz-column-gap: 32px;
            column-gap: 32px;
}

.mx_DialPadContextMenuWrapper {
    padding: 15px;
}

.mx_DialPadContextMenu_header {
    border: none;
    margin-top: 32px;
    margin-left: 20px;
    margin-right: 20px;

    /* a separator between the input line and the dial buttons */
    border-bottom: 1px solid var(--cpd-color-gray-600);
    -webkit-transition: border-bottom 0.25s;
    transition: border-bottom 0.25s;
}

.mx_DialPadContextMenu_cancel {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_DialPadContextMenu_cancel:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_DialPadContextMenu_cancel svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_DialPadContextMenu_cancel{
    float: right;
}

.mx_DialPadContextMenu_header:focus-within {
    border-bottom: 1px solid #2e80de;
    border-bottom: 1px solid var(--cpd-color-text-action-accent);
}

.mx_DialPadContextMenu_title {
    color: #91a1c0;
    font-size: 12px;
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_DialPadContextMenu_dialled {
    height: 1.5em;
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
    border: none;
    margin: 0px;
}
.mx_DialPadContextMenu_dialled input {
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
    overflow: hidden;
    max-width: 185px;
    text-align: left;
    padding: 8px 0px;
    background-color: rgb(0, 0, 0, 0);
}

.mx_DialPadContextMenu_dialPad {
    margin: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Dialog_dialPadWrapper .mx_Dialog {
    padding: 0px;
}

.mx_DialPadModal {
    width: 292px;
    height: 370px;
    padding: 16px 0px 0px 0px;
}

.mx_DialPadModal_header {
    margin-top: 32px;
    margin-left: 40px;
    margin-right: 40px;

    /* a separator between the input line and the dial buttons */
    border-bottom: 1px solid var(--cpd-color-gray-600);
    -webkit-transition: border-bottom 0.25s;
    transition: border-bottom 0.25s;
}

.mx_DialPadModal_header:focus-within {
    border-bottom: 1px solid #2e80de;
    border-bottom: 1px solid var(--cpd-color-text-action-accent);
}

.mx_DialPadModal_title {
    color: #91a1c0;
    font-size: 12px;
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_DialPadModal_cancel {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_DialPadModal_cancel:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_DialPadModal_cancel svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_DialPadModal_cancel{
    float: right;
    margin-right: 16px;
}

.mx_DialPadModal_field {
    border: none;
    margin: 0px;
    height: 30px;
}

.mx_DialPadModal_field .mx_Field_postfix {
    /* Remove border separator between postfix and field content */
    border-left: none;
}

.mx_DialPadModal_field input {
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_DialPadModal_dialPad {
    margin-left: 16px;
    margin-right: 16px;
    margin-top: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallView {
    border-radius: 8px;
    background-color: var(--cpd-color-bg-subtle-secondary);
    padding-left: 8px;
    padding-right: 8px;
    /* XXX: PiPContainer sets pointer-events: none - should probably be set back in a better place */
    pointer-events: initial;
}

    .mx_LegacyCallView .mx_LegacyCallView_toast {
        position: absolute;
        top: 74px;

        padding: 4px 8px;

        border-radius: 4px;
        z-index: 50;

        /* Same on both themes */
        color: white;
        background-color: #17191c;
    }

    .mx_LegacyCallView .mx_LegacyCallView_content_wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;

        width: 100%;
        height: 100%;

        overflow: hidden;
    }

        .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content {
            position: relative;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            -webkit-box-flex: 1;

                -ms-flex: 1;

                    flex: 1;
            overflow: hidden;

            border-radius: 10px;

            padding: 10px;
            padding-right: calc(20% + 20px); /* Space for the sidebar */

            background-color: var(--cpd-color-gray-400);
        }

            .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_status {
                z-index: 50;
                color: #f4f6fa;
            }

            .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_avatarsContainer {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: horizontal;
                -webkit-box-direction: normal;
                    -ms-flex-direction: row;
                        flex-direction: row;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
            }

                .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_avatarsContainer div {
                    margin-left: 12px;
                    margin-right: 12px;
                }

            .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_holdBackground {
                position: absolute;
                left: 0;
                right: 0;

                width: 100%;
                height: 100%;

                background-repeat: no-repeat;
                background-size: cover;
                background-position: center;
                -webkit-filter: blur(20px);
                        filter: blur(20px);
            }

                .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_holdBackground::after {
                    content: "";
                    display: block;
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    left: 0;
                    right: 0;
                    background-color: rgb(0, 0, 0, 0.6);
                }

            .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content.mx_LegacyCallView_content_hold .mx_LegacyCallView_status {
                font-weight: bold;
                text-align: center;
            }

                .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content.mx_LegacyCallView_content_hold .mx_LegacyCallView_status::before {
                    display: block;
                    margin-left: auto;
                    margin-right: auto;
                    content: "";
                    width: 40px;
                    height: 40px;
                    background-image: url(../../img/voip/paused.9ca5412.svg);
                    background-position: center;
                    background-size: cover;
                }

                .mx_LegacyCallView_pip .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content.mx_LegacyCallView_content_hold .mx_LegacyCallView_status::before {
                    width: 30px;
                    height: 30px;
                }

    .mx_LegacyCallView:not(.mx_LegacyCallView_sidebar) .mx_LegacyCallView_content {
        padding: 0;
        width: 100%;
        height: 100%;
    }

        .mx_LegacyCallView:not(.mx_LegacyCallView_sidebar) .mx_LegacyCallView_content .mx_VideoFeed_primary {
            aspect-ratio: unset;
            border: 0;

            width: 100%;
            height: 100%;
        }

    .mx_LegacyCallView.mx_LegacyCallView_pip {
        width: 320px;
        padding-bottom: 8px;

        border-radius: 8px;

        background-color: var(--cpd-color-bg-subtle-secondary);
        -webkit-box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.2);
                box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.2);
    }

        .mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons {
            bottom: 13px;
        }

            .mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button {
                width: 34px;
                height: 34px;
            }

                .mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dropdownButton {
                    width: var(--LegacyCallViewButtons_dropdownButton-size);
                    height: var(--LegacyCallViewButtons_dropdownButton-size);
                }

                .mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button::before {
                    width: 22px;
                    height: 22px;
                }

        .mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallView_content {
            min-height: 180px;
        }

    .mx_LegacyCallView.mx_LegacyCallView_large {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        -webkit-box-flex: 1;

            -ms-flex: 1;

                flex: 1;

        padding-bottom: 10px;

        margin: 8px;

        margin: var(--container-gap-width);
        /* The left side gap is fully handled by this margin. To prohibit bleeding on webkit browser. */
        margin-right: calc(8px / 2);
        margin-right: calc(var(--container-gap-width) / 2);
        margin-bottom: 10px;
    }

    .mx_LegacyCallView.mx_LegacyCallView_belowWidget {
        margin-top: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallViewForRoom {
    overflow: hidden;
}

    .mx_LegacyCallViewForRoom .mx_LegacyCallViewForRoom_ResizeWrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

        .mx_LegacyCallViewForRoom .mx_LegacyCallViewForRoom_ResizeWrapper:hover .mx_LegacyCallViewForRoom_ResizeHandle {
            /* Need to use important to override element style attributes */
            /* set by re-resizable */
            width: 100% !important;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

            .mx_LegacyCallViewForRoom .mx_LegacyCallViewForRoom_ResizeWrapper:hover .mx_LegacyCallViewForRoom_ResizeHandle::after {
                content: "";
                border-radius: 4px;

                height: 4px;
                width: 100%;
                max-width: 64px;

                background-color: #ffffff;

                background-color: var(--cpd-color-text-primary);
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallViewHeader {
    height: 44px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 100%;
}

    .mx_LegacyCallViewHeader.mx_LegacyCallViewHeader_pip {
        cursor: -webkit-grab;
        cursor: grab;
    }

.mx_LegacyCallViewHeader_text {
    font-size: 1.2rem;
    font-weight: bold;
    vertical-align: middle;
}
    .mx_LegacyCallViewHeader_secondaryCallInfo::before {
        content: "·";
        margin-left: 6px;
        margin-right: 6px;
    }

.mx_LegacyCallViewHeader_controls {
    margin-left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
}

.mx_LegacyCallViewHeader_button {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

    .mx_LegacyCallViewHeader_button svg {
        display: inline-block;
        height: 20px;
        width: 20px;
        vertical-align: middle;
        color: var(--cpd-color-text-secondary);
    }

.mx_LegacyCallViewHeader_callInfo {
    margin-left: 12px;
    margin-right: 16px;
    overflow: hidden;
}

.mx_LegacyCallViewHeader_roomName {
    font-weight: bold;
    font-size: 12px;
    line-height: normal;
    line-height: initial;
    height: 15px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mx_LegacyCallView_secondaryCall_roomName {
    margin-left: 4px;
}

.mx_LegacyCallViewHeader_icon {
    display: inline-block;
    margin-right: 6px;
    height: 16px;
    width: 16px;
    vertical-align: middle;
}

    .mx_LegacyCallViewHeader_icon svg {
        display: inline-block;
        vertical-align: top;

        height: 16px;
        width: 16px;
        color: var(--cpd-color-text-secondary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallViewSidebar {
    position: absolute;
    right: 10px;

    width: 20%;
    height: 100%;
    overflow: auto;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 12px;
}

    .mx_LegacyCallViewSidebar > .mx_VideoFeed {
        width: 100%;
        border-radius: 4px;
    }

        .mx_LegacyCallViewSidebar > .mx_VideoFeed.mx_VideoFeed_voice {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;

            background-color: var(--cpd-color-bg-subtle-secondary);
        }

    .mx_LegacyCallViewSidebar.mx_LegacyCallViewSidebar_pipMode {
        top: 16px;
        bottom: auto;
        bottom: initial;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 4px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2015, 2016 , 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VideoFeed {
    overflow: hidden;
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: transparent 2px solid;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 4px;
}

    .mx_VideoFeed.mx_VideoFeed_secondary {
        position: absolute;
        right: 24px;
        bottom: 72px;
        width: 20%;
    }

    .mx_VideoFeed.mx_VideoFeed_voice {
        background-color: #2e80de;
        background-color: var(--cpd-color-bg-action-primary-rest);

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_VideoFeed.mx_VideoFeed_voice:not(.mx_VideoFeed_primary) {
            aspect-ratio: 16 / 9;
        }

    .mx_VideoFeed .mx_VideoFeed_video {
        height: 100%;
        width: 100%;
        border-radius: 4px;
        background-color: #000000;
    }

        .mx_VideoFeed .mx_VideoFeed_video.mx_VideoFeed_video_mirror {
            -webkit-transform: scale(-1, 1);
                    transform: scale(-1, 1);
        }

    .mx_VideoFeed .mx_VideoFeed_mic {
        position: absolute;
        left: 6px;
        bottom: 6px;
        z-index: 1;

        width: 24px;
        height: 24px;

        background-color: rgb(0, 0, 0, 0.5); /* Same on both themes */
        border-radius: 100%;
    }

        .mx_VideoFeed .mx_VideoFeed_mic svg {
            width: 16px;
            height: 16px;
            padding: 4px;
            color: white; /* Same on both themes */
        }
}
/* Shared cascade order: Compound tokens, Compound Web, shared components, then app overrides. */
/* Modules bundled with compound apply compound lastly. In order to catch issue due to css class ordering, we put compound at the end */
@layer compound-tokens{
/* Establish a layer order that allows semantic tokens to be customized, but not base tokens.
 * The layers are prefixed by 'cpd-' because Tailwind will interpret '@layer base' directives.
 */
}
@layer compound-tokens{
/* Fallback for Inter regular */
@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue'), local('HelveticaNeue');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 91.2883%;
  descent-override: 22.7301%;
  line-gap-override: 0%;
  size-adjust: 106.1198%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI'), local('SegoeUI');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 89.9412%;
  descent-override: 22.3946%;
  size-adjust: 107.7093%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Regular'), local('Roboto-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.2384%;
  descent-override: 22.4686%;
  size-adjust: 107.3546%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Regular'), local('Ubuntu-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 92.3027%;
  descent-override: 22.9826%;
  line-gap-override: 0%;
  size-adjust: 104.9536%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Regular'), local('FiraSans-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 92.9112%;
  descent-override: 23.1342%;
  size-adjust: 104.2662%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Regular'), local('NotoSans-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 96.1571%;
  descent-override: 23.9423%;
  size-adjust: 100.7466%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial'), local('ArialMT');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.4365%;
  descent-override: 22.518%;
  line-gap-override: 0%;
  size-adjust: 107.1194%;
}

@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Italic'), local('HelveticaNeue-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.3285%;
  descent-override: 22.4911%;
  line-gap-override: 0%;
  size-adjust: 107.2475%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Italic'), local('SegoeUI-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 87.4238%;
  descent-override: 21.7678%;
  size-adjust: 110.8108%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Italic'), local('Roboto-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 87.2269%;
  descent-override: 21.7188%;
  size-adjust: 111.0609%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Italic'), local('Ubuntu-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 88.7154%;
  descent-override: 22.0894%;
  line-gap-override: 0%;
  size-adjust: 109.1974%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Italic'), local('FiraSans-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 91.3366%;
  descent-override: 22.7421%;
  size-adjust: 106.0637%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Italic'), local('NotoSans-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.1268%;
  descent-override: 22.4409%;
  size-adjust: 107.4874%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial Italic'), local('Arial-ItalicMT');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 89.885%;
  descent-override: 22.3806%;
  line-gap-override: 0%;
  size-adjust: 107.7766%;
}


/* Fallback for Inter medium */
@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Medium'), local('HelveticaNeue-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 93.3765%;
  descent-override: 23.25%;
  line-gap-override: 0%;
  size-adjust: 103.7466%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Semibold'), local('SegoeUI-Semibold');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 91.8744%;
  descent-override: 22.876%;
  size-adjust: 105.4429%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Medium'), local('Roboto-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.1094%;
  descent-override: 22.4365%;
  size-adjust: 107.5082%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Medium'), local('Ubuntu-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 93.5773%;
  descent-override: 23.3%;
  line-gap-override: 0%;
  size-adjust: 103.524%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Medium'), local('FiraSans-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 92.1717%;
  descent-override: 22.95%;
  size-adjust: 105.1028%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Medium'), local('NotoSans-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 96.7903%;
  descent-override: 24.1%;
  size-adjust: 100.0875%;
}

@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Medium Italic'), local('HelveticaNeue-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 92.8129%;
  descent-override: 23.1097%;
  line-gap-override: 0%;
  size-adjust: 104.3767%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Semibold Italic'), local('SegoeUI-SemiboldItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.3452%;
  descent-override: 22.4952%;
  line-gap-override: 0%;
  size-adjust: 107.2276%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Medium Italic'), local('Roboto-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 87.0316%;
  descent-override: 21.6702%;
  size-adjust: 111.3102%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Medium Italic'), local('Ubuntu-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.6173%;
  descent-override: 22.563%;
  line-gap-override: 0%;
  size-adjust: 106.9056%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Medium Italic'), local('FiraSans-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.2181%;
  descent-override: 22.4636%;
  size-adjust: 107.3787%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Medium Italic'), local('NotoSans-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 91.0165%;
  descent-override: 22.6624%;
  size-adjust: 106.4367%;
}


/* Fallback for Inter semibold */
@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Bold'), local('HelveticaNeue-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 95.4228%;
  descent-override: 23.7595%;
  line-gap-override: 0%;
  size-adjust: 101.5218%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Bold'), local('SegoeUI-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 94.4483%;
  descent-override: 23.5169%;
  size-adjust: 102.5694%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Bold'), local('Roboto-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 89.886%;
  descent-override: 22.3809%;
  size-adjust: 107.7754%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Bold'), local('Ubuntu-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 95.4228%;
  descent-override: 23.7595%;
  line-gap-override: 0%;
  size-adjust: 101.5218%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans SemiBold'), local('FiraSans-SemiBold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 91.2481%;
  descent-override: 22.72%;
  size-adjust: 106.1666%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans SemiBold'), local('NotoSans-SemiBold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 97.8084%;
  descent-override: 24.3535%;
  size-adjust: 99.0457%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial Bold'), local('Arial-BoldMT');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 95.419%;
  descent-override: 23.7586%;
  line-gap-override: 0%;
  size-adjust: 101.5259%;
}

@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Bold Italic'), local('HelveticaNeue-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 94.9556%;
  descent-override: 23.6432%;
  line-gap-override: 0%;
  size-adjust: 102.0213%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Bold Italic'), local('SegoeUI-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 93.4049%;
  descent-override: 23.2571%;
  size-adjust: 103.7152%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Bold Italic'), local('Roboto-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 86.7537%;
  descent-override: 21.601%;
  size-adjust: 111.6667%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 92.3893%;
  descent-override: 23.0042%;
  line-gap-override: 0%;
  size-adjust: 104.8553%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans SemiBold Italic'), local('FiraSans-SemiBoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 89.2306%;
  descent-override: 22.2177%;
  size-adjust: 108.567%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans SemiBold Italic'), local('NotoSans-SemiBoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 91.9944%;
  descent-override: 22.9059%;
  size-adjust: 105.3053%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial Bold Italic'), local('Arial-BoldItalicMT');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 94.7544%;
  descent-override: 23.5931%;
  line-gap-override: 0%;
  size-adjust: 102.238%;
}
}
@layer compound-tokens{
@media screen{
@layer cpd-base{
:root, [class*="cpd-theme-"] {
  --cpd-space-scale: 4px;
  --cpd-space-0x: 0;
  --cpd-space-6x: 24px;
  --cpd-space-10x: 40px;
  --cpd-space-11x: 44px;
  --cpd-space-12x: 48px;
  --cpd-space-16x: 64px;
  --cpd-space-36x: 144px;
  --cpd-space-56x: 224px;
  --cpd-border-width-1: 1px;
  --cpd-border-width-2: 2px;
  --cpd-border-width-4: 4px;
  --cpd-border-width-0-5: 0.5px;
  --cpd-font-family-sans: Inter, "Inter Fallback: Helvetica Neue", "Inter Fallback: Segoe UI", "Inter Fallback: Roboto", "Inter Fallback: Ubuntu", "Inter Fallback: Fira Sans", "Inter Fallback: Noto Sans", "Inter Fallback: Arial", "Helvetica Neue", "Segoe UI", Roboto, Ubuntu, "Fira Sans", "Noto Sans", Arial, sans-serif;
  --cpd-font-family-mono: Inconsolata, ui-monospace, monospace;
  --cpd-font-weight-regular: 400;
  --cpd-font-weight-medium: 500;
  --cpd-font-weight-semibold: 600;
  --cpd-font-line-height-minimum: 1;
  --cpd-font-line-height-tight: 1.25;
  --cpd-font-line-height-regular: 1.5;
  --cpd-font-size-body-xs: 0.6875rem;
  --cpd-font-size-body-sm: 0.8125rem;
  --cpd-font-size-body-md: 0.9375rem;
  --cpd-font-size-body-lg: 1.0625rem;
  --cpd-font-size-heading-sm: 1.25rem;
  --cpd-font-size-heading-md: 1.5rem;
  --cpd-font-size-heading-lg: 1.75rem;
  --cpd-font-size-heading-xl: 2rem;
  --cpd-font-size-root: 1rem;
  --cpd-font-letter-spacing-body-xs: 0.0048em;
  --cpd-font-letter-spacing-body-sm: -0.0031em;
  --cpd-font-letter-spacing-body-md: -0.0088em;
  --cpd-font-letter-spacing-body-lg: -0.0128em;
  --cpd-font-letter-spacing-heading-sm: -0.0166em;
  --cpd-font-letter-spacing-heading-md: -0.0195em;
  --cpd-font-letter-spacing-heading-lg: -0.0209em;
  --cpd-font-letter-spacing-heading-xl: -0.0216em;
  --cpd-space-0-5x: 2px;
  --cpd-space-1x: var(--cpd-space-scale);
  --cpd-space-1-5x: 6px;
  --cpd-space-2x: 8px;
  --cpd-space-3x: 12px;
  --cpd-space-4x: 16px;
  --cpd-space-5x: 20px;
  --cpd-space-7x: 28px;
  --cpd-space-8x: 32px;
  --cpd-space-9x: 36px;
  --cpd-space-13x: 52px;
  --cpd-space-14x: 56px;
  --cpd-space-15x: 60px;
  --cpd-space-20x: 80px;
  --cpd-space-24x: 96px;
  --cpd-space-28x: 112px;
  --cpd-space-32x: 128px;
  --cpd-space-40x: 160px;
  --cpd-space-48x: 192px;
  --cpd-space-64x: 256px;
  --cpd-font-body-xs-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-xs)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-xs-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-xs)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-xs-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-xs)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-sm-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-sm)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-sm-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-sm)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-sm-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-sm)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-md-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-md)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-md-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-md)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-md-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-md)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-lg-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-lg)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-lg-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-lg)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-lg-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-lg)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-heading-sm-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-sm)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-sm-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-heading-sm)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-sm-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-sm)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-md-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-md)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-md-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-md)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-lg-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-lg)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-lg-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-lg)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-xl-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-xl)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-xl-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-xl)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-semantic{
:root, [class*="cpd-theme-"] {
  --cpd-color-text-primary: var(--cpd-color-gray-1400);
  --cpd-color-text-secondary: var(--cpd-color-gray-900);
  --cpd-color-text-disabled: var(--cpd-color-gray-800);
  --cpd-color-text-action-primary: var(--cpd-color-gray-1400);
  --cpd-color-text-action-accent: var(--cpd-color-green-900);
  --cpd-color-text-link-external: var(--cpd-color-blue-1100);
  --cpd-color-text-critical-primary: var(--cpd-color-red-900);
  --cpd-color-text-success-primary: var(--cpd-color-green-900);
  --cpd-color-text-info-primary: var(--cpd-color-blue-1100);
  --cpd-color-text-on-solid-primary: var(--cpd-color-theme-bg);
  --cpd-color-text-decorative-1: var(--cpd-color-lime-1100);
  --cpd-color-text-decorative-2: var(--cpd-color-cyan-1100);
  --cpd-color-text-decorative-3: var(--cpd-color-fuchsia-1100);
  --cpd-color-text-decorative-4: var(--cpd-color-purple-1100);
  --cpd-color-text-decorative-5: var(--cpd-color-pink-1100);
  --cpd-color-text-decorative-6: var(--cpd-color-orange-1100);
  --cpd-color-text-badge-accent: var(--cpd-color-green-1100);
  --cpd-color-text-badge-info: var(--cpd-color-blue-1100);
  --cpd-color-bg-subtle-primary: var(--cpd-color-gray-400);
  --cpd-color-bg-subtle-secondary: var(--cpd-color-gray-300);
  --cpd-color-bg-canvas-default: var(--cpd-color-theme-bg);
  --cpd-color-bg-canvas-disabled: var(--cpd-color-gray-200);
  --cpd-color-bg-action-primary-rest: var(--cpd-color-gray-1400);
  --cpd-color-bg-action-primary-hovered: var(--cpd-color-gray-1200);
  --cpd-color-bg-action-primary-pressed: var(--cpd-color-gray-1100);
  --cpd-color-bg-action-primary-disabled: var(--cpd-color-gray-700);
  --cpd-color-bg-action-secondary-rest: var(--cpd-color-theme-bg);
  --cpd-color-bg-action-secondary-hovered: var(--cpd-color-alpha-gray-200);
  --cpd-color-bg-action-secondary-pressed: var(--cpd-color-alpha-gray-300);
  --cpd-color-bg-action-tertiary-rest: var(--cpd-color-theme-bg);
  --cpd-color-bg-action-tertiary-hovered: var(--cpd-color-gray-300);
  --cpd-color-bg-action-tertiary-selected: var(--cpd-color-gray-400);
  --cpd-color-bg-critical-primary: var(--cpd-color-red-900);
  --cpd-color-bg-critical-hovered: var(--cpd-color-red-1000);
  --cpd-color-bg-critical-subtle: var(--cpd-color-red-200);
  --cpd-color-bg-critical-subtle-hovered: var(--cpd-color-red-300);
  --cpd-color-bg-success-subtle: var(--cpd-color-green-200);
  --cpd-color-bg-info-subtle: var(--cpd-color-blue-200);
  --cpd-color-bg-decorative-1: var(--cpd-color-lime-300);
  --cpd-color-bg-decorative-2: var(--cpd-color-cyan-300);
  --cpd-color-bg-decorative-3: var(--cpd-color-fuchsia-300);
  --cpd-color-bg-decorative-4: var(--cpd-color-purple-300);
  --cpd-color-bg-decorative-5: var(--cpd-color-pink-300);
  --cpd-color-bg-decorative-6: var(--cpd-color-orange-300);
  --cpd-color-bg-accent-rest: var(--cpd-color-green-900);
  --cpd-color-bg-accent-hovered: var(--cpd-color-green-1000);
  --cpd-color-bg-accent-pressed: var(--cpd-color-green-1100);
  --cpd-color-bg-accent-selected: var(--cpd-color-alpha-green-300);
  --cpd-color-bg-badge-accent: var(--cpd-color-green-400);
  --cpd-color-bg-badge-info: var(--cpd-color-blue-400);
  --cpd-color-bg-badge-default: var(--cpd-color-theme-bg);
  --cpd-color-bg-badge-primary: var(--cpd-color-gray-1400);
  --cpd-color-bg-badge-secondary: var(--cpd-color-gray-400);
  --cpd-color-bg-badge-critical: var(--cpd-color-red-300);
  --cpd-color-border-disabled: var(--cpd-color-gray-500);
  --cpd-color-border-focused: var(--cpd-color-blue-900);
  --cpd-color-border-interactive-primary: var(--cpd-color-gray-800);
  --cpd-color-border-interactive-secondary: var(--cpd-color-gray-600);
  --cpd-color-border-interactive-hovered: var(--cpd-color-gray-1100);
  --cpd-color-border-critical-primary: var(--cpd-color-red-900);
  --cpd-color-border-critical-hovered: var(--cpd-color-red-1000);
  --cpd-color-border-critical-subtle: var(--cpd-color-red-500);
  --cpd-color-border-success-subtle: var(--cpd-color-green-500);
  --cpd-color-border-info-subtle: var(--cpd-color-blue-700);
  --cpd-color-border-accent-subtle: var(--cpd-color-green-700);
  --cpd-color-border-accent-primary: var(--cpd-color-green-900);
  --cpd-color-icon-primary: var(--cpd-color-gray-1400);
  --cpd-color-icon-secondary: var(--cpd-color-gray-900);
  --cpd-color-icon-tertiary: var(--cpd-color-gray-800);
  --cpd-color-icon-quaternary: var(--cpd-color-gray-700);
  --cpd-color-icon-disabled: var(--cpd-color-gray-700);
  --cpd-color-icon-primary-alpha: var(--cpd-color-alpha-gray-1400);
  --cpd-color-icon-secondary-alpha: var(--cpd-color-alpha-gray-900);
  --cpd-color-icon-tertiary-alpha: var(--cpd-color-alpha-gray-800);
  --cpd-color-icon-quaternary-alpha: var(--cpd-color-alpha-gray-700);
  --cpd-color-icon-accent-tertiary: var(--cpd-color-green-800);
  --cpd-color-icon-accent-primary: var(--cpd-color-green-900);
  --cpd-color-icon-critical-primary: var(--cpd-color-red-900);
  --cpd-color-icon-success-primary: var(--cpd-color-green-900);
  --cpd-color-icon-info-primary: var(--cpd-color-blue-1100);
  --cpd-color-icon-on-solid-primary: var(--cpd-color-theme-bg);
  --cpd-color-gradient-subtle-stop1: var(--cpd-color-alpha-green-500);
  --cpd-color-gradient-subtle-stop2: var(--cpd-color-alpha-green-400);
  --cpd-color-gradient-subtle-stop3: var(--cpd-color-alpha-green-300);
  --cpd-color-gradient-subtle-stop4: var(--cpd-color-alpha-green-200);
  --cpd-color-gradient-subtle-stop5: var(--cpd-color-alpha-green-100);
  --cpd-color-gradient-subtle-stop6: var(--cpd-color-transparent);
  --cpd-color-gradient-info-stop1: var(--cpd-color-blue-200);
  --cpd-color-gradient-info-stop2: var(--cpd-color-theme-bg);
  --cpd-color-gradient-critical-stop1: var(--cpd-color-red-200);
  --cpd-color-gradient-critical-stop2: var(--cpd-color-theme-bg);
  --cpd-color-separator-primary: var(--cpd-color-gray-400);
  --cpd-color-separator-secondary: var(--cpd-color-gray-300);
  --cpd-color-gradient-subtle-linear: linear-gradient(180deg, var(--cpd-color-gradient-subtle-stop1) 0%, var(--cpd-color-gradient-subtle-stop2) 20%, var(--cpd-color-gradient-subtle-stop3) 40%, var(--cpd-color-gradient-subtle-stop4) 60%, var(--cpd-color-gradient-subtle-stop5) 80%, var(--cpd-color-gradient-subtle-stop6) 100%);
  --cpd-color-gradient-info-linear: linear-gradient(180deg, var(--cpd-color-gradient-info-stop1) 0%, var(--cpd-color-gradient-info-stop2) 100%);
  --cpd-color-gradient-critical-linear: linear-gradient(180deg, var(--cpd-color-gradient-critical-stop1) 0%, var(--cpd-color-gradient-critical-stop2) 100%);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-base{
.cpd-theme-light.cpd-theme-light {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #fbfcfd;
  --cpd-color-gray-200: #f7f9fa;
  --cpd-color-gray-300: #f0f2f5;
  --cpd-color-gray-400: #e1e6ec;
  --cpd-color-gray-500: #cdd3da;
  --cpd-color-gray-600: #bdc4cc;
  --cpd-color-gray-700: #a6adb7;
  --cpd-color-gray-800: #818a95;
  --cpd-color-gray-900: #656d77;
  --cpd-color-gray-1000: #595e67;
  --cpd-color-gray-1100: #4c5158;
  --cpd-color-gray-1200: #3c4045;
  --cpd-color-gray-1300: #2b2d32;
  --cpd-color-gray-1400: #1b1d22;
  --cpd-color-red-100: #fffaf9;
  --cpd-color-red-200: #fff7f6;
  --cpd-color-red-300: #ffefec;
  --cpd-color-red-400: #ffdfda;
  --cpd-color-red-500: #ffc5bc;
  --cpd-color-red-600: #ffafa5;
  --cpd-color-red-700: #ff8c81;
  --cpd-color-red-800: #ff3d3d;
  --cpd-color-red-900: #d51928;
  --cpd-color-red-1000: #bc0f22;
  --cpd-color-red-1100: #a4041d;
  --cpd-color-red-1200: #850006;
  --cpd-color-red-1300: #620000;
  --cpd-color-red-1400: #450000;
  --cpd-color-orange-100: #fffaf7;
  --cpd-color-orange-200: #fff6ef;
  --cpd-color-orange-300: #ffefe4;
  --cpd-color-orange-400: #ffdfc8;
  --cpd-color-orange-500: #ffc8a1;
  --cpd-color-orange-600: #fdb37c;
  --cpd-color-orange-700: #f89440;
  --cpd-color-orange-800: #dc6700;
  --cpd-color-orange-900: #bc4500;
  --cpd-color-orange-1000: #ac3300;
  --cpd-color-orange-1100: #9b2200;
  --cpd-color-orange-1200: #850000;
  --cpd-color-orange-1300: #620000;
  --cpd-color-orange-1400: #450000;
  --cpd-color-yellow-100: #fffcf0;
  --cpd-color-yellow-200: #fff8e0;
  --cpd-color-yellow-300: #fff2c1;
  --cpd-color-yellow-400: #ffe484;
  --cpd-color-yellow-500: #fbce00;
  --cpd-color-yellow-600: #f1bd00;
  --cpd-color-yellow-700: #dea200;
  --cpd-color-yellow-800: #be7a00;
  --cpd-color-yellow-900: #9f5b00;
  --cpd-color-yellow-1000: #8f4d00;
  --cpd-color-yellow-1100: #803f00;
  --cpd-color-yellow-1200: #692e00;
  --cpd-color-yellow-1300: #541a00;
  --cpd-color-yellow-1400: #410600;
  --cpd-color-lime-100: #f8fdf6;
  --cpd-color-lime-200: #f1fcee;
  --cpd-color-lime-300: #e0f8d9;
  --cpd-color-lime-400: #c8f1ba;
  --cpd-color-lime-500: #99e57e;
  --cpd-color-lime-600: #76db4c;
  --cpd-color-lime-700: #54c424;
  --cpd-color-lime-800: #359d18;
  --cpd-color-lime-900: #197d0c;
  --cpd-color-lime-1000: #006e00;
  --cpd-color-lime-1100: #005f00;
  --cpd-color-lime-1200: #004b00;
  --cpd-color-lime-1300: #003600;
  --cpd-color-lime-1400: #002400;
  --cpd-color-green-100: #f8fdfb;
  --cpd-color-green-200: #f1fbf6;
  --cpd-color-green-300: #e3f7ed;
  --cpd-color-green-400: #c6eedb;
  --cpd-color-green-500: #98e1c1;
  --cpd-color-green-600: #71d7ae;
  --cpd-color-green-700: #0bc491;
  --cpd-color-green-800: #009b78;
  --cpd-color-green-900: #007a61;
  --cpd-color-green-1000: #006b52;
  --cpd-color-green-1100: #005c45;
  --cpd-color-green-1200: #004933;
  --cpd-color-green-1300: #003420;
  --cpd-color-green-1400: #002311;
  --cpd-color-cyan-100: #f8fdfd;
  --cpd-color-cyan-200: #f1fafb;
  --cpd-color-cyan-300: #e3f5f8;
  --cpd-color-cyan-400: #c7ecf0;
  --cpd-color-cyan-500: #9bdde5;
  --cpd-color-cyan-600: #76d1dd;
  --cpd-color-cyan-700: #15becf;
  --cpd-color-cyan-800: #0094c0;
  --cpd-color-cyan-900: #0072ac;
  --cpd-color-cyan-1000: #00629c;
  --cpd-color-cyan-1100: #00548c;
  --cpd-color-cyan-1200: #004077;
  --cpd-color-cyan-1300: #002b61;
  --cpd-color-cyan-1400: #00194f;
  --cpd-color-blue-100: #f9fcff;
  --cpd-color-blue-200: #f4f8ff;
  --cpd-color-blue-300: #e9f2ff;
  --cpd-color-blue-400: #d8e7fe;
  --cpd-color-blue-500: #bad5fc;
  --cpd-color-blue-600: #a3c6fa;
  --cpd-color-blue-700: #7eaff6;
  --cpd-color-blue-800: #4088ee;
  --cpd-color-blue-900: #0467dd;
  --cpd-color-blue-1000: #0558c7;
  --cpd-color-blue-1100: #064ab1;
  --cpd-color-blue-1200: #043894;
  --cpd-color-blue-1300: #012478;
  --cpd-color-blue-1400: #000e65;
  --cpd-color-purple-100: #fbfbff;
  --cpd-color-purple-200: #f8f7ff;
  --cpd-color-purple-300: #f1efff;
  --cpd-color-purple-400: #e6e2ff;
  --cpd-color-purple-500: #d4cdff;
  --cpd-color-purple-600: #c5bbff;
  --cpd-color-purple-700: #b1a0ff;
  --cpd-color-purple-800: #9271fd;
  --cpd-color-purple-900: #7a47f1;
  --cpd-color-purple-1000: #6b37de;
  --cpd-color-purple-1100: #5d26cd;
  --cpd-color-purple-1200: #4c05b5;
  --cpd-color-purple-1300: #33008d;
  --cpd-color-purple-1400: #200066;
  --cpd-color-fuchsia-100: #fefafe;
  --cpd-color-fuchsia-200: #fcf5fd;
  --cpd-color-fuchsia-300: #faeefb;
  --cpd-color-fuchsia-400: #f6dff7;
  --cpd-color-fuchsia-500: #edc6f0;
  --cpd-color-fuchsia-600: #e7b2ea;
  --cpd-color-fuchsia-700: #db93e1;
  --cpd-color-fuchsia-800: #c85ed1;
  --cpd-color-fuchsia-900: #ad33bd;
  --cpd-color-fuchsia-1000: #972aaa;
  --cpd-color-fuchsia-1100: #822198;
  --cpd-color-fuchsia-1200: #671481;
  --cpd-color-fuchsia-1300: #4e0068;
  --cpd-color-fuchsia-1400: #34004c;
  --cpd-color-pink-100: #fffafb;
  --cpd-color-pink-200: #fff5f7;
  --cpd-color-pink-300: #ffecf0;
  --cpd-color-pink-400: #ffdee5;
  --cpd-color-pink-500: #ffc2cf;
  --cpd-color-pink-600: #ffadc0;
  --cpd-color-pink-700: #ff88a6;
  --cpd-color-pink-800: #f7407d;
  --cpd-color-pink-900: #d20c65;
  --cpd-color-pink-1000: #b80a5b;
  --cpd-color-pink-1100: #9f0850;
  --cpd-color-pink-1200: #7e0642;
  --cpd-color-pink-1300: #5f002b;
  --cpd-color-pink-1400: #430017;
  --cpd-color-alpha-gray-100: hsla(210, 48%, 41%, 0.02);
  --cpd-color-alpha-gray-200: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-300: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-400: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-500: hsla(212, 87%, 15%, 0.2);
  --cpd-color-alpha-gray-600: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-700: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-800: hsla(213, 87%, 9%, 0.5);
  --cpd-color-alpha-gray-900: hsla(213, 83%, 7%, 0.61);
  --cpd-color-alpha-gray-1000: hsla(218, 79%, 6%, 0.66);
  --cpd-color-alpha-gray-1100: hsla(215, 74%, 5%, 0.71);
  --cpd-color-alpha-gray-1200: hsla(213, 73%, 3%, 0.77);
  --cpd-color-alpha-gray-1300: hsla(225, 57%, 3%, 0.84);
  --cpd-color-alpha-gray-1400: hsla(223, 64%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(10, 100%, 61%, 0.03);
  --cpd-color-alpha-red-200: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-300: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-400: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-500: hsla(8, 100%, 51%, 0.27);
  --cpd-color-alpha-red-600: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-700: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-800: hsla(0, 100%, 51%, 0.77);
  --cpd-color-alpha-red-900: hsla(355, 98%, 41%, 0.91);
  --cpd-color-alpha-red-1000: hsla(353, 98%, 37%, 0.95);
  --cpd-color-alpha-red-1100: hsla(350, 99%, 32%, 0.99);
  --cpd-color-alpha-red-1200: hsl(357, 100%, 26%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-100: hsla(22, 100%, 61%, 0.04);
  --cpd-color-alpha-orange-200: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-300: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-500: hsla(25, 100%, 50%, 0.37);
  --cpd-color-alpha-orange-600: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-700: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-800: hsl(28, 100%, 43%, 1);
  --cpd-color-alpha-orange-900: hsl(22, 100%, 37%, 1);
  --cpd-color-alpha-orange-1000: hsl(18, 100%, 34%, 1);
  --cpd-color-alpha-orange-1100: hsl(13, 100%, 30%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 26%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-yellow-100: hsla(48, 100%, 51%, 0.06);
  --cpd-color-alpha-yellow-200: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-400: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-500: hsl(49, 100%, 49%, 1);
  --cpd-color-alpha-yellow-600: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-700: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-800: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-900: hsl(34, 100%, 31%, 1);
  --cpd-color-alpha-yellow-1000: hsl(32, 100%, 28%, 1);
  --cpd-color-alpha-yellow-1100: hsl(30, 100%, 25%, 1);
  --cpd-color-alpha-yellow-1200: hsl(26, 100%, 21%, 1);
  --cpd-color-alpha-yellow-1300: hsl(19, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1400: hsl(6, 100%, 13%, 1);
  --cpd-color-alpha-lime-100: hsla(103, 75%, 46%, 0.04);
  --cpd-color-alpha-lime-200: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-300: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-400: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-500: hsla(104, 98%, 40%, 0.51);
  --cpd-color-alpha-lime-600: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-700: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-800: hsla(107, 99%, 29%, 0.91);
  --cpd-color-alpha-lime-900: hsla(113, 97%, 24%, 0.96);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 22%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 19%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(156, 79%, 41%, 0.03);
  --cpd-color-alpha-green-200: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-300: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-400: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-500: hsla(154, 96%, 37%, 0.41);
  --cpd-color-alpha-green-600: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-700: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-800: hsl(166, 100%, 30%, 1);
  --cpd-color-alpha-green-900: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-1000: hsl(166, 100%, 21%, 1);
  --cpd-color-alpha-green-1100: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-1200: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-1300: hsl(157, 100%, 10%, 1);
  --cpd-color-alpha-green-1400: hsl(149, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(180, 79%, 41%, 0.03);
  --cpd-color-alpha-cyan-200: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-300: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-400: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-500: hsla(186, 95%, 38%, 0.4);
  --cpd-color-alpha-cyan-600: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-700: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-800: hsl(194, 100%, 38%, 1);
  --cpd-color-alpha-cyan-900: hsl(200, 100%, 34%, 1);
  --cpd-color-alpha-cyan-1000: hsl(202, 100%, 31%, 1);
  --cpd-color-alpha-cyan-1100: hsl(204, 100%, 28%, 1);
  --cpd-color-alpha-cyan-1200: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-1300: hsl(213, 100%, 19%, 1);
  --cpd-color-alpha-cyan-1400: hsl(221, 100%, 16%, 1);
  --cpd-color-alpha-blue-100: hsla(210, 100%, 61%, 0.03);
  --cpd-color-alpha-blue-200: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-300: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-400: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-500: hsla(215, 93%, 50%, 0.28);
  --cpd-color-alpha-blue-600: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-800: hsla(215, 100%, 46%, 0.75);
  --cpd-color-alpha-blue-900: hsla(213, 99%, 44%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(214, 98%, 39%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(216, 99%, 35%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(218, 99%, 29%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(222, 98%, 24%, 1);
  --cpd-color-alpha-blue-1400: hsl(232, 100%, 20%, 1);
  --cpd-color-alpha-purple-100: hsla(240, 100%, 61%, 0.02);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-500: hsla(248, 100%, 51%, 0.2);
  --cpd-color-alpha-purple-600: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-700: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-800: hsla(254, 99%, 49%, 0.56);
  --cpd-color-alpha-purple-900: hsla(258, 98%, 47%, 0.73);
  --cpd-color-alpha-purple-1000: hsla(259, 98%, 42%, 0.79);
  --cpd-color-alpha-purple-1100: hsla(260, 97%, 39%, 0.86);
  --cpd-color-alpha-purple-1200: hsla(264, 98%, 36%, 0.99);
  --cpd-color-alpha-purple-1300: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(300, 95%, 41%, 0.02);
  --cpd-color-alpha-fuchsia-200: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-300: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-400: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-500: hsla(296, 93%, 39%, 0.23);
  --cpd-color-alpha-fuchsia-600: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-700: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-800: hsla(295, 97%, 37%, 0.64);
  --cpd-color-alpha-fuchsia-900: hsla(293, 100%, 34%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(291, 99%, 30%, 0.84);
  --cpd-color-alpha-fuchsia-1100: hsla(289, 96%, 28%, 0.88);
  --cpd-color-alpha-fuchsia-1200: hsla(286, 97%, 24%, 0.93);
  --cpd-color-alpha-fuchsia-1300: hsl(285, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.02);
  --cpd-color-alpha-pink-200: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-500: hsla(347, 100%, 50%, 0.24);
  --cpd-color-alpha-pink-600: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-700: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-800: hsla(340, 100%, 48%, 0.75);
  --cpd-color-alpha-pink-900: hsla(333, 98%, 41%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(332, 98%, 36%, 0.97);
  --cpd-color-alpha-pink-1100: hsla(331, 100%, 31%, 0.97);
  --cpd-color-alpha-pink-1200: hsla(330, 98%, 24%, 0.98);
  --cpd-color-alpha-pink-1300: hsl(333, 100%, 19%, 1);
  --cpd-color-alpha-pink-1400: hsl(339, 100%, 13%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: light){
@layer cpd-base{
:root {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #fbfcfd;
  --cpd-color-gray-200: #f7f9fa;
  --cpd-color-gray-300: #f0f2f5;
  --cpd-color-gray-400: #e1e6ec;
  --cpd-color-gray-500: #cdd3da;
  --cpd-color-gray-600: #bdc4cc;
  --cpd-color-gray-700: #a6adb7;
  --cpd-color-gray-800: #818a95;
  --cpd-color-gray-900: #656d77;
  --cpd-color-gray-1000: #595e67;
  --cpd-color-gray-1100: #4c5158;
  --cpd-color-gray-1200: #3c4045;
  --cpd-color-gray-1300: #2b2d32;
  --cpd-color-gray-1400: #1b1d22;
  --cpd-color-red-100: #fffaf9;
  --cpd-color-red-200: #fff7f6;
  --cpd-color-red-300: #ffefec;
  --cpd-color-red-400: #ffdfda;
  --cpd-color-red-500: #ffc5bc;
  --cpd-color-red-600: #ffafa5;
  --cpd-color-red-700: #ff8c81;
  --cpd-color-red-800: #ff3d3d;
  --cpd-color-red-900: #d51928;
  --cpd-color-red-1000: #bc0f22;
  --cpd-color-red-1100: #a4041d;
  --cpd-color-red-1200: #850006;
  --cpd-color-red-1300: #620000;
  --cpd-color-red-1400: #450000;
  --cpd-color-orange-100: #fffaf7;
  --cpd-color-orange-200: #fff6ef;
  --cpd-color-orange-300: #ffefe4;
  --cpd-color-orange-400: #ffdfc8;
  --cpd-color-orange-500: #ffc8a1;
  --cpd-color-orange-600: #fdb37c;
  --cpd-color-orange-700: #f89440;
  --cpd-color-orange-800: #dc6700;
  --cpd-color-orange-900: #bc4500;
  --cpd-color-orange-1000: #ac3300;
  --cpd-color-orange-1100: #9b2200;
  --cpd-color-orange-1200: #850000;
  --cpd-color-orange-1300: #620000;
  --cpd-color-orange-1400: #450000;
  --cpd-color-yellow-100: #fffcf0;
  --cpd-color-yellow-200: #fff8e0;
  --cpd-color-yellow-300: #fff2c1;
  --cpd-color-yellow-400: #ffe484;
  --cpd-color-yellow-500: #fbce00;
  --cpd-color-yellow-600: #f1bd00;
  --cpd-color-yellow-700: #dea200;
  --cpd-color-yellow-800: #be7a00;
  --cpd-color-yellow-900: #9f5b00;
  --cpd-color-yellow-1000: #8f4d00;
  --cpd-color-yellow-1100: #803f00;
  --cpd-color-yellow-1200: #692e00;
  --cpd-color-yellow-1300: #541a00;
  --cpd-color-yellow-1400: #410600;
  --cpd-color-lime-100: #f8fdf6;
  --cpd-color-lime-200: #f1fcee;
  --cpd-color-lime-300: #e0f8d9;
  --cpd-color-lime-400: #c8f1ba;
  --cpd-color-lime-500: #99e57e;
  --cpd-color-lime-600: #76db4c;
  --cpd-color-lime-700: #54c424;
  --cpd-color-lime-800: #359d18;
  --cpd-color-lime-900: #197d0c;
  --cpd-color-lime-1000: #006e00;
  --cpd-color-lime-1100: #005f00;
  --cpd-color-lime-1200: #004b00;
  --cpd-color-lime-1300: #003600;
  --cpd-color-lime-1400: #002400;
  --cpd-color-green-100: #f8fdfb;
  --cpd-color-green-200: #f1fbf6;
  --cpd-color-green-300: #e3f7ed;
  --cpd-color-green-400: #c6eedb;
  --cpd-color-green-500: #98e1c1;
  --cpd-color-green-600: #71d7ae;
  --cpd-color-green-700: #0bc491;
  --cpd-color-green-800: #009b78;
  --cpd-color-green-900: #007a61;
  --cpd-color-green-1000: #006b52;
  --cpd-color-green-1100: #005c45;
  --cpd-color-green-1200: #004933;
  --cpd-color-green-1300: #003420;
  --cpd-color-green-1400: #002311;
  --cpd-color-cyan-100: #f8fdfd;
  --cpd-color-cyan-200: #f1fafb;
  --cpd-color-cyan-300: #e3f5f8;
  --cpd-color-cyan-400: #c7ecf0;
  --cpd-color-cyan-500: #9bdde5;
  --cpd-color-cyan-600: #76d1dd;
  --cpd-color-cyan-700: #15becf;
  --cpd-color-cyan-800: #0094c0;
  --cpd-color-cyan-900: #0072ac;
  --cpd-color-cyan-1000: #00629c;
  --cpd-color-cyan-1100: #00548c;
  --cpd-color-cyan-1200: #004077;
  --cpd-color-cyan-1300: #002b61;
  --cpd-color-cyan-1400: #00194f;
  --cpd-color-blue-100: #f9fcff;
  --cpd-color-blue-200: #f4f8ff;
  --cpd-color-blue-300: #e9f2ff;
  --cpd-color-blue-400: #d8e7fe;
  --cpd-color-blue-500: #bad5fc;
  --cpd-color-blue-600: #a3c6fa;
  --cpd-color-blue-700: #7eaff6;
  --cpd-color-blue-800: #4088ee;
  --cpd-color-blue-900: #0467dd;
  --cpd-color-blue-1000: #0558c7;
  --cpd-color-blue-1100: #064ab1;
  --cpd-color-blue-1200: #043894;
  --cpd-color-blue-1300: #012478;
  --cpd-color-blue-1400: #000e65;
  --cpd-color-purple-100: #fbfbff;
  --cpd-color-purple-200: #f8f7ff;
  --cpd-color-purple-300: #f1efff;
  --cpd-color-purple-400: #e6e2ff;
  --cpd-color-purple-500: #d4cdff;
  --cpd-color-purple-600: #c5bbff;
  --cpd-color-purple-700: #b1a0ff;
  --cpd-color-purple-800: #9271fd;
  --cpd-color-purple-900: #7a47f1;
  --cpd-color-purple-1000: #6b37de;
  --cpd-color-purple-1100: #5d26cd;
  --cpd-color-purple-1200: #4c05b5;
  --cpd-color-purple-1300: #33008d;
  --cpd-color-purple-1400: #200066;
  --cpd-color-fuchsia-100: #fefafe;
  --cpd-color-fuchsia-200: #fcf5fd;
  --cpd-color-fuchsia-300: #faeefb;
  --cpd-color-fuchsia-400: #f6dff7;
  --cpd-color-fuchsia-500: #edc6f0;
  --cpd-color-fuchsia-600: #e7b2ea;
  --cpd-color-fuchsia-700: #db93e1;
  --cpd-color-fuchsia-800: #c85ed1;
  --cpd-color-fuchsia-900: #ad33bd;
  --cpd-color-fuchsia-1000: #972aaa;
  --cpd-color-fuchsia-1100: #822198;
  --cpd-color-fuchsia-1200: #671481;
  --cpd-color-fuchsia-1300: #4e0068;
  --cpd-color-fuchsia-1400: #34004c;
  --cpd-color-pink-100: #fffafb;
  --cpd-color-pink-200: #fff5f7;
  --cpd-color-pink-300: #ffecf0;
  --cpd-color-pink-400: #ffdee5;
  --cpd-color-pink-500: #ffc2cf;
  --cpd-color-pink-600: #ffadc0;
  --cpd-color-pink-700: #ff88a6;
  --cpd-color-pink-800: #f7407d;
  --cpd-color-pink-900: #d20c65;
  --cpd-color-pink-1000: #b80a5b;
  --cpd-color-pink-1100: #9f0850;
  --cpd-color-pink-1200: #7e0642;
  --cpd-color-pink-1300: #5f002b;
  --cpd-color-pink-1400: #430017;
  --cpd-color-alpha-gray-100: hsla(210, 48%, 41%, 0.02);
  --cpd-color-alpha-gray-200: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-300: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-400: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-500: hsla(212, 87%, 15%, 0.2);
  --cpd-color-alpha-gray-600: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-700: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-800: hsla(213, 87%, 9%, 0.5);
  --cpd-color-alpha-gray-900: hsla(213, 83%, 7%, 0.61);
  --cpd-color-alpha-gray-1000: hsla(218, 79%, 6%, 0.66);
  --cpd-color-alpha-gray-1100: hsla(215, 74%, 5%, 0.71);
  --cpd-color-alpha-gray-1200: hsla(213, 73%, 3%, 0.77);
  --cpd-color-alpha-gray-1300: hsla(225, 57%, 3%, 0.84);
  --cpd-color-alpha-gray-1400: hsla(223, 64%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(10, 100%, 61%, 0.03);
  --cpd-color-alpha-red-200: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-300: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-400: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-500: hsla(8, 100%, 51%, 0.27);
  --cpd-color-alpha-red-600: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-700: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-800: hsla(0, 100%, 51%, 0.77);
  --cpd-color-alpha-red-900: hsla(355, 98%, 41%, 0.91);
  --cpd-color-alpha-red-1000: hsla(353, 98%, 37%, 0.95);
  --cpd-color-alpha-red-1100: hsla(350, 99%, 32%, 0.99);
  --cpd-color-alpha-red-1200: hsl(357, 100%, 26%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-100: hsla(22, 100%, 61%, 0.04);
  --cpd-color-alpha-orange-200: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-300: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-500: hsla(25, 100%, 50%, 0.37);
  --cpd-color-alpha-orange-600: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-700: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-800: hsl(28, 100%, 43%, 1);
  --cpd-color-alpha-orange-900: hsl(22, 100%, 37%, 1);
  --cpd-color-alpha-orange-1000: hsl(18, 100%, 34%, 1);
  --cpd-color-alpha-orange-1100: hsl(13, 100%, 30%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 26%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-yellow-100: hsla(48, 100%, 51%, 0.06);
  --cpd-color-alpha-yellow-200: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-400: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-500: hsl(49, 100%, 49%, 1);
  --cpd-color-alpha-yellow-600: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-700: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-800: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-900: hsl(34, 100%, 31%, 1);
  --cpd-color-alpha-yellow-1000: hsl(32, 100%, 28%, 1);
  --cpd-color-alpha-yellow-1100: hsl(30, 100%, 25%, 1);
  --cpd-color-alpha-yellow-1200: hsl(26, 100%, 21%, 1);
  --cpd-color-alpha-yellow-1300: hsl(19, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1400: hsl(6, 100%, 13%, 1);
  --cpd-color-alpha-lime-100: hsla(103, 75%, 46%, 0.04);
  --cpd-color-alpha-lime-200: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-300: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-400: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-500: hsla(104, 98%, 40%, 0.51);
  --cpd-color-alpha-lime-600: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-700: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-800: hsla(107, 99%, 29%, 0.91);
  --cpd-color-alpha-lime-900: hsla(113, 97%, 24%, 0.96);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 22%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 19%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(156, 79%, 41%, 0.03);
  --cpd-color-alpha-green-200: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-300: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-400: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-500: hsla(154, 96%, 37%, 0.41);
  --cpd-color-alpha-green-600: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-700: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-800: hsl(166, 100%, 30%, 1);
  --cpd-color-alpha-green-900: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-1000: hsl(166, 100%, 21%, 1);
  --cpd-color-alpha-green-1100: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-1200: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-1300: hsl(157, 100%, 10%, 1);
  --cpd-color-alpha-green-1400: hsl(149, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(180, 79%, 41%, 0.03);
  --cpd-color-alpha-cyan-200: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-300: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-400: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-500: hsla(186, 95%, 38%, 0.4);
  --cpd-color-alpha-cyan-600: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-700: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-800: hsl(194, 100%, 38%, 1);
  --cpd-color-alpha-cyan-900: hsl(200, 100%, 34%, 1);
  --cpd-color-alpha-cyan-1000: hsl(202, 100%, 31%, 1);
  --cpd-color-alpha-cyan-1100: hsl(204, 100%, 28%, 1);
  --cpd-color-alpha-cyan-1200: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-1300: hsl(213, 100%, 19%, 1);
  --cpd-color-alpha-cyan-1400: hsl(221, 100%, 16%, 1);
  --cpd-color-alpha-blue-100: hsla(210, 100%, 61%, 0.03);
  --cpd-color-alpha-blue-200: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-300: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-400: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-500: hsla(215, 93%, 50%, 0.28);
  --cpd-color-alpha-blue-600: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-800: hsla(215, 100%, 46%, 0.75);
  --cpd-color-alpha-blue-900: hsla(213, 99%, 44%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(214, 98%, 39%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(216, 99%, 35%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(218, 99%, 29%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(222, 98%, 24%, 1);
  --cpd-color-alpha-blue-1400: hsl(232, 100%, 20%, 1);
  --cpd-color-alpha-purple-100: hsla(240, 100%, 61%, 0.02);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-500: hsla(248, 100%, 51%, 0.2);
  --cpd-color-alpha-purple-600: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-700: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-800: hsla(254, 99%, 49%, 0.56);
  --cpd-color-alpha-purple-900: hsla(258, 98%, 47%, 0.73);
  --cpd-color-alpha-purple-1000: hsla(259, 98%, 42%, 0.79);
  --cpd-color-alpha-purple-1100: hsla(260, 97%, 39%, 0.86);
  --cpd-color-alpha-purple-1200: hsla(264, 98%, 36%, 0.99);
  --cpd-color-alpha-purple-1300: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(300, 95%, 41%, 0.02);
  --cpd-color-alpha-fuchsia-200: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-300: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-400: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-500: hsla(296, 93%, 39%, 0.23);
  --cpd-color-alpha-fuchsia-600: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-700: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-800: hsla(295, 97%, 37%, 0.64);
  --cpd-color-alpha-fuchsia-900: hsla(293, 100%, 34%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(291, 99%, 30%, 0.84);
  --cpd-color-alpha-fuchsia-1100: hsla(289, 96%, 28%, 0.88);
  --cpd-color-alpha-fuchsia-1200: hsla(286, 97%, 24%, 0.93);
  --cpd-color-alpha-fuchsia-1300: hsl(285, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.02);
  --cpd-color-alpha-pink-200: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-500: hsla(347, 100%, 50%, 0.24);
  --cpd-color-alpha-pink-600: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-700: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-800: hsla(340, 100%, 48%, 0.75);
  --cpd-color-alpha-pink-900: hsla(333, 98%, 41%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(332, 98%, 36%, 0.97);
  --cpd-color-alpha-pink-1100: hsla(331, 100%, 31%, 0.97);
  --cpd-color-alpha-pink-1200: hsla(330, 98%, 24%, 0.98);
  --cpd-color-alpha-pink-1300: hsl(333, 100%, 19%, 1);
  --cpd-color-alpha-pink-1400: hsl(339, 100%, 13%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-semantic{
.cpd-theme-light.cpd-theme-light {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-500);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: light){
@layer cpd-semantic{
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-500);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-base{
.cpd-theme-light-hc.cpd-theme-light-hc {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #f7f9fa;
  --cpd-color-gray-200: #f0f2f5;
  --cpd-color-gray-300: #e1e6ec;
  --cpd-color-gray-400: #d7dce3;
  --cpd-color-gray-500: #bdc4cc;
  --cpd-color-gray-600: #a6adb7;
  --cpd-color-gray-700: #878f9b;
  --cpd-color-gray-800: #6c737e;
  --cpd-color-gray-900: #474a51;
  --cpd-color-gray-1000: #3f4248;
  --cpd-color-gray-1100: #35383d;
  --cpd-color-gray-1200: #2d3034;
  --cpd-color-gray-1300: #1f2126;
  --cpd-color-gray-1400: #1a1c21;
  --cpd-color-red-100: #fff7f6;
  --cpd-color-red-200: #ffefec;
  --cpd-color-red-300: #ffdfda;
  --cpd-color-red-400: #ffd1ca;
  --cpd-color-red-500: #ffafa5;
  --cpd-color-red-600: #ff8c81;
  --cpd-color-red-700: #ff4e49;
  --cpd-color-red-800: #e11e2a;
  --cpd-color-red-900: #99001a;
  --cpd-color-red-1000: #8b000c;
  --cpd-color-red-1100: #770000;
  --cpd-color-red-1200: #670000;
  --cpd-color-red-1300: #4c0000;
  --cpd-color-red-1400: #420000;
  --cpd-color-orange-100: #fff6ef;
  --cpd-color-orange-200: #ffefe4;
  --cpd-color-orange-300: #ffdfc8;
  --cpd-color-orange-400: #ffd4b5;
  --cpd-color-orange-500: #fdb37c;
  --cpd-color-orange-600: #f89440;
  --cpd-color-orange-700: #e26e00;
  --cpd-color-orange-800: #c44d00;
  --cpd-color-orange-900: #931700;
  --cpd-color-orange-1000: #890800;
  --cpd-color-orange-1100: #770000;
  --cpd-color-orange-1200: #670000;
  --cpd-color-orange-1300: #4c0000;
  --cpd-color-orange-1400: #420000;
  --cpd-color-yellow-100: #fff8e0;
  --cpd-color-yellow-200: #fff2c1;
  --cpd-color-yellow-300: #ffe484;
  --cpd-color-yellow-400: #ffda49;
  --cpd-color-yellow-500: #f1bd00;
  --cpd-color-yellow-600: #dea200;
  --cpd-color-yellow-700: #c38100;
  --cpd-color-yellow-800: #a76300;
  --cpd-color-yellow-900: #773800;
  --cpd-color-yellow-1000: #6e3100;
  --cpd-color-yellow-1100: #612600;
  --cpd-color-yellow-1200: #571d00;
  --cpd-color-yellow-1300: #450c00;
  --cpd-color-yellow-1400: #3f0500;
  --cpd-color-lime-100: #f1fcee;
  --cpd-color-lime-200: #e0f8d9;
  --cpd-color-lime-300: #c8f1ba;
  --cpd-color-lime-400: #afeb9b;
  --cpd-color-lime-500: #76db4c;
  --cpd-color-lime-600: #54c424;
  --cpd-color-lime-700: #3aa31a;
  --cpd-color-lime-800: #1f850f;
  --cpd-color-lime-900: #005700;
  --cpd-color-lime-1000: #004f00;
  --cpd-color-lime-1100: #004200;
  --cpd-color-lime-1200: #003900;
  --cpd-color-lime-1300: #002900;
  --cpd-color-lime-1400: #002200;
  --cpd-color-green-100: #f1fbf6;
  --cpd-color-green-200: #e3f7ed;
  --cpd-color-green-300: #c6eedb;
  --cpd-color-green-400: #afe8ce;
  --cpd-color-green-500: #71d7ae;
  --cpd-color-green-600: #0bc491;
  --cpd-color-green-700: #00a27c;
  --cpd-color-green-800: #008268;
  --cpd-color-green-900: #00553d;
  --cpd-color-green-1000: #004d36;
  --cpd-color-green-1100: #00402b;
  --cpd-color-green-1200: #003723;
  --cpd-color-green-1300: #002715;
  --cpd-color-green-1400: #00210f;
  --cpd-color-cyan-100: #f1fafb;
  --cpd-color-cyan-200: #e3f5f8;
  --cpd-color-cyan-300: #c7ecf0;
  --cpd-color-cyan-400: #b1e4eb;
  --cpd-color-cyan-500: #76d1dd;
  --cpd-color-cyan-600: #15becf;
  --cpd-color-cyan-700: #009ac3;
  --cpd-color-cyan-800: #007ab3;
  --cpd-color-cyan-900: #004c84;
  --cpd-color-cyan-1000: #00447b;
  --cpd-color-cyan-1100: #00376e;
  --cpd-color-cyan-1200: #002e64;
  --cpd-color-cyan-1300: #001e53;
  --cpd-color-cyan-1400: #00174d;
  --cpd-color-blue-100: #f4f8ff;
  --cpd-color-blue-200: #e9f2ff;
  --cpd-color-blue-300: #d8e7fe;
  --cpd-color-blue-400: #c8ddfd;
  --cpd-color-blue-500: #a3c6fa;
  --cpd-color-blue-600: #7eaff6;
  --cpd-color-blue-700: #4a8ef0;
  --cpd-color-blue-800: #046ee8;
  --cpd-color-blue-900: #0543a7;
  --cpd-color-blue-1000: #053b9a;
  --cpd-color-blue-1100: #043088;
  --cpd-color-blue-1200: #03277b;
  --cpd-color-blue-1300: #001569;
  --cpd-color-blue-1400: #000c63;
  --cpd-color-purple-100: #f8f7ff;
  --cpd-color-purple-200: #f1efff;
  --cpd-color-purple-300: #e6e2ff;
  --cpd-color-purple-400: #ddd8ff;
  --cpd-color-purple-500: #c5bbff;
  --cpd-color-purple-600: #b1a0ff;
  --cpd-color-purple-700: #9778fe;
  --cpd-color-purple-800: #824ef9;
  --cpd-color-purple-900: #571cc4;
  --cpd-color-purple-1000: #4f0dba;
  --cpd-color-purple-1100: #4200a6;
  --cpd-color-purple-1200: #360094;
  --cpd-color-purple-1300: #240070;
  --cpd-color-purple-1400: #1f0062;
  --cpd-color-fuchsia-100: #fcf5fd;
  --cpd-color-fuchsia-200: #faeefb;
  --cpd-color-fuchsia-300: #f6dff7;
  --cpd-color-fuchsia-400: #f1d2f3;
  --cpd-color-fuchsia-500: #e7b2ea;
  --cpd-color-fuchsia-600: #db93e1;
  --cpd-color-fuchsia-700: #cb68d4;
  --cpd-color-fuchsia-800: #b937c6;
  --cpd-color-fuchsia-900: #781c90;
  --cpd-color-fuchsia-1000: #6c1785;
  --cpd-color-fuchsia-1100: #5c0f76;
  --cpd-color-fuchsia-1200: #52026c;
  --cpd-color-fuchsia-1300: #3b0053;
  --cpd-color-fuchsia-1400: #32004a;
  --cpd-color-pink-100: #fff5f7;
  --cpd-color-pink-200: #ffecf0;
  --cpd-color-pink-300: #ffdee5;
  --cpd-color-pink-400: #ffd0da;
  --cpd-color-pink-500: #ffadc0;
  --cpd-color-pink-600: #ff88a6;
  --cpd-color-pink-700: #f94e84;
  --cpd-color-pink-800: #e00c6a;
  --cpd-color-pink-900: #92084b;
  --cpd-color-pink-1000: #840745;
  --cpd-color-pink-1100: #72003a;
  --cpd-color-pink-1200: #64002f;
  --cpd-color-pink-1300: #4a001c;
  --cpd-color-pink-1400: #410015;
  --cpd-color-alpha-gray-100: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-200: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-300: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-400: hsla(215, 88%, 17%, 0.16);
  --cpd-color-alpha-gray-500: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-600: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-700: hsla(216, 81%, 10%, 0.48);
  --cpd-color-alpha-gray-800: hsla(217, 89%, 7%, 0.58);
  --cpd-color-alpha-gray-900: hsla(223, 70%, 4%, 0.73);
  --cpd-color-alpha-gray-1000: hsla(220, 75%, 3%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(222, 63%, 3%, 0.8);
  --cpd-color-alpha-gray-1200: hsla(210, 67%, 2%, 0.83);
  --cpd-color-alpha-gray-1300: hsla(218, 100%, 2%, 0.88);
  --cpd-color-alpha-gray-1400: hsla(223, 78%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-200: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-300: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-400: hsla(8, 100%, 51%, 0.21);
  --cpd-color-alpha-red-500: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-600: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-700: hsla(2, 100%, 50%, 0.72);
  --cpd-color-alpha-red-800: hsla(356, 98%, 44%, 0.89);
  --cpd-color-alpha-red-900: hsl(350, 100%, 30%, 1);
  --cpd-color-alpha-red-1000: hsl(355, 100%, 27%, 1);
  --cpd-color-alpha-red-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-red-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-orange-100: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-200: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-300: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 52%, 0.3);
  --cpd-color-alpha-orange-500: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-600: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-700: hsl(29, 100%, 44%, 1);
  --cpd-color-alpha-orange-800: hsl(24, 100%, 38%, 1);
  --cpd-color-alpha-orange-900: hsl(9, 100%, 29%, 1);
  --cpd-color-alpha-orange-1000: hsl(4, 100%, 27%, 1);
  --cpd-color-alpha-orange-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-yellow-100: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-200: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-400: hsla(48, 100%, 50%, 0.72);
  --cpd-color-alpha-yellow-500: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-600: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-700: hsl(40, 100%, 38%, 1);
  --cpd-color-alpha-yellow-800: hsl(36, 100%, 33%, 1);
  --cpd-color-alpha-yellow-900: hsl(28, 100%, 23%, 1);
  --cpd-color-alpha-yellow-1000: hsl(27, 100%, 22%, 1);
  --cpd-color-alpha-yellow-1100: hsl(24, 100%, 19%, 1);
  --cpd-color-alpha-yellow-1200: hsl(20, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1300: hsl(10, 100%, 14%, 1);
  --cpd-color-alpha-yellow-1400: hsl(5, 100%, 12%, 1);
  --cpd-color-alpha-lime-100: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-200: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-300: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-400: hsla(105, 95%, 41%, 0.4);
  --cpd-color-alpha-lime-500: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-600: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-700: hsla(106, 99%, 30%, 0.9);
  --cpd-color-alpha-lime-800: hsla(112, 97%, 25%, 0.95);
  --cpd-color-alpha-lime-900: hsl(120, 100%, 17%, 1);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 16%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 13%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-200: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-300: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-400: hsla(153, 95%, 37%, 0.32);
  --cpd-color-alpha-green-500: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-600: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-700: hsl(166, 100%, 32%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 26%, 1);
  --cpd-color-alpha-green-900: hsl(163, 100%, 17%, 1);
  --cpd-color-alpha-green-1000: hsl(162, 100%, 15%, 1);
  --cpd-color-alpha-green-1100: hsl(160, 100%, 13%, 1);
  --cpd-color-alpha-green-1200: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-1300: hsl(152, 100%, 8%, 1);
  --cpd-color-alpha-green-1400: hsl(147, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-200: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-300: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-400: hsla(187, 97%, 38%, 0.31);
  --cpd-color-alpha-cyan-500: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-600: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-700: hsl(193, 100%, 38%, 1);
  --cpd-color-alpha-cyan-800: hsl(199, 100%, 35%, 1);
  --cpd-color-alpha-cyan-900: hsl(205, 100%, 26%, 1);
  --cpd-color-alpha-cyan-1000: hsl(207, 100%, 24%, 1);
  --cpd-color-alpha-cyan-1100: hsl(210, 100%, 22%, 1);
  --cpd-color-alpha-cyan-1200: hsl(212, 100%, 20%, 1);
  --cpd-color-alpha-cyan-1300: hsl(218, 100%, 16%, 1);
  --cpd-color-alpha-cyan-1400: hsl(222, 100%, 15%, 1);
  --cpd-color-alpha-blue-100: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-200: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-300: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-400: hsla(216, 96%, 49%, 0.22);
  --cpd-color-alpha-blue-500: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-600: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-700: hsla(215, 100%, 46%, 0.71);
  --cpd-color-alpha-blue-800: hsla(212, 99%, 46%, 0.99);
  --cpd-color-alpha-blue-900: hsla(217, 98%, 33%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(218, 97%, 30%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(220, 99%, 27%, 0.99);
  --cpd-color-alpha-blue-1200: hsla(222, 100%, 24%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(228, 100%, 21%, 1);
  --cpd-color-alpha-blue-1400: hsl(233, 100%, 19%, 1);
  --cpd-color-alpha-purple-100: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 52%, 0.16);
  --cpd-color-alpha-purple-500: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-600: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-700: hsla(254, 100%, 50%, 0.53);
  --cpd-color-alpha-purple-800: hsla(258, 98%, 49%, 0.7);
  --cpd-color-alpha-purple-900: hsla(261, 97%, 38%, 0.9);
  --cpd-color-alpha-purple-1000: hsla(263, 100%, 36%, 0.95);
  --cpd-color-alpha-purple-1100: hsl(264, 100%, 33%, 1);
  --cpd-color-alpha-purple-1200: hsl(262, 100%, 29%, 1);
  --cpd-color-alpha-purple-1300: hsl(259, 100%, 22%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 19%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-200: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-300: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-400: hsla(296, 95%, 38%, 0.18);
  --cpd-color-alpha-fuchsia-500: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-600: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-700: hsla(295, 97%, 37%, 0.6);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 36%, 0.79);
  --cpd-color-alpha-fuchsia-900: hsla(287, 96%, 27%, 0.9);
  --cpd-color-alpha-fuchsia-1000: hsla(286, 100%, 24%, 0.91);
  --cpd-color-alpha-fuchsia-1100: hsla(285, 97%, 22%, 0.95);
  --cpd-color-alpha-fuchsia-1200: hsl(285, 96%, 22%, 1);
  --cpd-color-alpha-fuchsia-1300: hsl(283, 100%, 16%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-200: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 52%, 0.19);
  --cpd-color-alpha-pink-500: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-600: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-700: hsla(341, 98%, 49%, 0.7);
  --cpd-color-alpha-pink-800: hsla(333, 98%, 44%, 0.96);
  --cpd-color-alpha-pink-900: hsla(331, 100%, 28%, 0.97);
  --cpd-color-alpha-pink-1000: hsla(330, 97%, 26%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(329, 100%, 22%, 1);
  --cpd-color-alpha-pink-1200: hsl(332, 100%, 20%, 1);
  --cpd-color-alpha-pink-1300: hsl(337, 100%, 15%, 1);
  --cpd-color-alpha-pink-1400: hsl(341, 100%, 13%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: light) and (prefers-contrast: more){
@layer cpd-base{
:root {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #f7f9fa;
  --cpd-color-gray-200: #f0f2f5;
  --cpd-color-gray-300: #e1e6ec;
  --cpd-color-gray-400: #d7dce3;
  --cpd-color-gray-500: #bdc4cc;
  --cpd-color-gray-600: #a6adb7;
  --cpd-color-gray-700: #878f9b;
  --cpd-color-gray-800: #6c737e;
  --cpd-color-gray-900: #474a51;
  --cpd-color-gray-1000: #3f4248;
  --cpd-color-gray-1100: #35383d;
  --cpd-color-gray-1200: #2d3034;
  --cpd-color-gray-1300: #1f2126;
  --cpd-color-gray-1400: #1a1c21;
  --cpd-color-red-100: #fff7f6;
  --cpd-color-red-200: #ffefec;
  --cpd-color-red-300: #ffdfda;
  --cpd-color-red-400: #ffd1ca;
  --cpd-color-red-500: #ffafa5;
  --cpd-color-red-600: #ff8c81;
  --cpd-color-red-700: #ff4e49;
  --cpd-color-red-800: #e11e2a;
  --cpd-color-red-900: #99001a;
  --cpd-color-red-1000: #8b000c;
  --cpd-color-red-1100: #770000;
  --cpd-color-red-1200: #670000;
  --cpd-color-red-1300: #4c0000;
  --cpd-color-red-1400: #420000;
  --cpd-color-orange-100: #fff6ef;
  --cpd-color-orange-200: #ffefe4;
  --cpd-color-orange-300: #ffdfc8;
  --cpd-color-orange-400: #ffd4b5;
  --cpd-color-orange-500: #fdb37c;
  --cpd-color-orange-600: #f89440;
  --cpd-color-orange-700: #e26e00;
  --cpd-color-orange-800: #c44d00;
  --cpd-color-orange-900: #931700;
  --cpd-color-orange-1000: #890800;
  --cpd-color-orange-1100: #770000;
  --cpd-color-orange-1200: #670000;
  --cpd-color-orange-1300: #4c0000;
  --cpd-color-orange-1400: #420000;
  --cpd-color-yellow-100: #fff8e0;
  --cpd-color-yellow-200: #fff2c1;
  --cpd-color-yellow-300: #ffe484;
  --cpd-color-yellow-400: #ffda49;
  --cpd-color-yellow-500: #f1bd00;
  --cpd-color-yellow-600: #dea200;
  --cpd-color-yellow-700: #c38100;
  --cpd-color-yellow-800: #a76300;
  --cpd-color-yellow-900: #773800;
  --cpd-color-yellow-1000: #6e3100;
  --cpd-color-yellow-1100: #612600;
  --cpd-color-yellow-1200: #571d00;
  --cpd-color-yellow-1300: #450c00;
  --cpd-color-yellow-1400: #3f0500;
  --cpd-color-lime-100: #f1fcee;
  --cpd-color-lime-200: #e0f8d9;
  --cpd-color-lime-300: #c8f1ba;
  --cpd-color-lime-400: #afeb9b;
  --cpd-color-lime-500: #76db4c;
  --cpd-color-lime-600: #54c424;
  --cpd-color-lime-700: #3aa31a;
  --cpd-color-lime-800: #1f850f;
  --cpd-color-lime-900: #005700;
  --cpd-color-lime-1000: #004f00;
  --cpd-color-lime-1100: #004200;
  --cpd-color-lime-1200: #003900;
  --cpd-color-lime-1300: #002900;
  --cpd-color-lime-1400: #002200;
  --cpd-color-green-100: #f1fbf6;
  --cpd-color-green-200: #e3f7ed;
  --cpd-color-green-300: #c6eedb;
  --cpd-color-green-400: #afe8ce;
  --cpd-color-green-500: #71d7ae;
  --cpd-color-green-600: #0bc491;
  --cpd-color-green-700: #00a27c;
  --cpd-color-green-800: #008268;
  --cpd-color-green-900: #00553d;
  --cpd-color-green-1000: #004d36;
  --cpd-color-green-1100: #00402b;
  --cpd-color-green-1200: #003723;
  --cpd-color-green-1300: #002715;
  --cpd-color-green-1400: #00210f;
  --cpd-color-cyan-100: #f1fafb;
  --cpd-color-cyan-200: #e3f5f8;
  --cpd-color-cyan-300: #c7ecf0;
  --cpd-color-cyan-400: #b1e4eb;
  --cpd-color-cyan-500: #76d1dd;
  --cpd-color-cyan-600: #15becf;
  --cpd-color-cyan-700: #009ac3;
  --cpd-color-cyan-800: #007ab3;
  --cpd-color-cyan-900: #004c84;
  --cpd-color-cyan-1000: #00447b;
  --cpd-color-cyan-1100: #00376e;
  --cpd-color-cyan-1200: #002e64;
  --cpd-color-cyan-1300: #001e53;
  --cpd-color-cyan-1400: #00174d;
  --cpd-color-blue-100: #f4f8ff;
  --cpd-color-blue-200: #e9f2ff;
  --cpd-color-blue-300: #d8e7fe;
  --cpd-color-blue-400: #c8ddfd;
  --cpd-color-blue-500: #a3c6fa;
  --cpd-color-blue-600: #7eaff6;
  --cpd-color-blue-700: #4a8ef0;
  --cpd-color-blue-800: #046ee8;
  --cpd-color-blue-900: #0543a7;
  --cpd-color-blue-1000: #053b9a;
  --cpd-color-blue-1100: #043088;
  --cpd-color-blue-1200: #03277b;
  --cpd-color-blue-1300: #001569;
  --cpd-color-blue-1400: #000c63;
  --cpd-color-purple-100: #f8f7ff;
  --cpd-color-purple-200: #f1efff;
  --cpd-color-purple-300: #e6e2ff;
  --cpd-color-purple-400: #ddd8ff;
  --cpd-color-purple-500: #c5bbff;
  --cpd-color-purple-600: #b1a0ff;
  --cpd-color-purple-700: #9778fe;
  --cpd-color-purple-800: #824ef9;
  --cpd-color-purple-900: #571cc4;
  --cpd-color-purple-1000: #4f0dba;
  --cpd-color-purple-1100: #4200a6;
  --cpd-color-purple-1200: #360094;
  --cpd-color-purple-1300: #240070;
  --cpd-color-purple-1400: #1f0062;
  --cpd-color-fuchsia-100: #fcf5fd;
  --cpd-color-fuchsia-200: #faeefb;
  --cpd-color-fuchsia-300: #f6dff7;
  --cpd-color-fuchsia-400: #f1d2f3;
  --cpd-color-fuchsia-500: #e7b2ea;
  --cpd-color-fuchsia-600: #db93e1;
  --cpd-color-fuchsia-700: #cb68d4;
  --cpd-color-fuchsia-800: #b937c6;
  --cpd-color-fuchsia-900: #781c90;
  --cpd-color-fuchsia-1000: #6c1785;
  --cpd-color-fuchsia-1100: #5c0f76;
  --cpd-color-fuchsia-1200: #52026c;
  --cpd-color-fuchsia-1300: #3b0053;
  --cpd-color-fuchsia-1400: #32004a;
  --cpd-color-pink-100: #fff5f7;
  --cpd-color-pink-200: #ffecf0;
  --cpd-color-pink-300: #ffdee5;
  --cpd-color-pink-400: #ffd0da;
  --cpd-color-pink-500: #ffadc0;
  --cpd-color-pink-600: #ff88a6;
  --cpd-color-pink-700: #f94e84;
  --cpd-color-pink-800: #e00c6a;
  --cpd-color-pink-900: #92084b;
  --cpd-color-pink-1000: #840745;
  --cpd-color-pink-1100: #72003a;
  --cpd-color-pink-1200: #64002f;
  --cpd-color-pink-1300: #4a001c;
  --cpd-color-pink-1400: #410015;
  --cpd-color-alpha-gray-100: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-200: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-300: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-400: hsla(215, 88%, 17%, 0.16);
  --cpd-color-alpha-gray-500: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-600: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-700: hsla(216, 81%, 10%, 0.48);
  --cpd-color-alpha-gray-800: hsla(217, 89%, 7%, 0.58);
  --cpd-color-alpha-gray-900: hsla(223, 70%, 4%, 0.73);
  --cpd-color-alpha-gray-1000: hsla(220, 75%, 3%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(222, 63%, 3%, 0.8);
  --cpd-color-alpha-gray-1200: hsla(210, 67%, 2%, 0.83);
  --cpd-color-alpha-gray-1300: hsla(218, 100%, 2%, 0.88);
  --cpd-color-alpha-gray-1400: hsla(223, 78%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-200: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-300: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-400: hsla(8, 100%, 51%, 0.21);
  --cpd-color-alpha-red-500: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-600: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-700: hsla(2, 100%, 50%, 0.72);
  --cpd-color-alpha-red-800: hsla(356, 98%, 44%, 0.89);
  --cpd-color-alpha-red-900: hsl(350, 100%, 30%, 1);
  --cpd-color-alpha-red-1000: hsl(355, 100%, 27%, 1);
  --cpd-color-alpha-red-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-red-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-orange-100: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-200: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-300: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 52%, 0.3);
  --cpd-color-alpha-orange-500: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-600: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-700: hsl(29, 100%, 44%, 1);
  --cpd-color-alpha-orange-800: hsl(24, 100%, 38%, 1);
  --cpd-color-alpha-orange-900: hsl(9, 100%, 29%, 1);
  --cpd-color-alpha-orange-1000: hsl(4, 100%, 27%, 1);
  --cpd-color-alpha-orange-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-yellow-100: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-200: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-400: hsla(48, 100%, 50%, 0.72);
  --cpd-color-alpha-yellow-500: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-600: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-700: hsl(40, 100%, 38%, 1);
  --cpd-color-alpha-yellow-800: hsl(36, 100%, 33%, 1);
  --cpd-color-alpha-yellow-900: hsl(28, 100%, 23%, 1);
  --cpd-color-alpha-yellow-1000: hsl(27, 100%, 22%, 1);
  --cpd-color-alpha-yellow-1100: hsl(24, 100%, 19%, 1);
  --cpd-color-alpha-yellow-1200: hsl(20, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1300: hsl(10, 100%, 14%, 1);
  --cpd-color-alpha-yellow-1400: hsl(5, 100%, 12%, 1);
  --cpd-color-alpha-lime-100: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-200: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-300: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-400: hsla(105, 95%, 41%, 0.4);
  --cpd-color-alpha-lime-500: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-600: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-700: hsla(106, 99%, 30%, 0.9);
  --cpd-color-alpha-lime-800: hsla(112, 97%, 25%, 0.95);
  --cpd-color-alpha-lime-900: hsl(120, 100%, 17%, 1);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 16%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 13%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-200: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-300: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-400: hsla(153, 95%, 37%, 0.32);
  --cpd-color-alpha-green-500: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-600: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-700: hsl(166, 100%, 32%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 26%, 1);
  --cpd-color-alpha-green-900: hsl(163, 100%, 17%, 1);
  --cpd-color-alpha-green-1000: hsl(162, 100%, 15%, 1);
  --cpd-color-alpha-green-1100: hsl(160, 100%, 13%, 1);
  --cpd-color-alpha-green-1200: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-1300: hsl(152, 100%, 8%, 1);
  --cpd-color-alpha-green-1400: hsl(147, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-200: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-300: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-400: hsla(187, 97%, 38%, 0.31);
  --cpd-color-alpha-cyan-500: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-600: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-700: hsl(193, 100%, 38%, 1);
  --cpd-color-alpha-cyan-800: hsl(199, 100%, 35%, 1);
  --cpd-color-alpha-cyan-900: hsl(205, 100%, 26%, 1);
  --cpd-color-alpha-cyan-1000: hsl(207, 100%, 24%, 1);
  --cpd-color-alpha-cyan-1100: hsl(210, 100%, 22%, 1);
  --cpd-color-alpha-cyan-1200: hsl(212, 100%, 20%, 1);
  --cpd-color-alpha-cyan-1300: hsl(218, 100%, 16%, 1);
  --cpd-color-alpha-cyan-1400: hsl(222, 100%, 15%, 1);
  --cpd-color-alpha-blue-100: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-200: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-300: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-400: hsla(216, 96%, 49%, 0.22);
  --cpd-color-alpha-blue-500: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-600: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-700: hsla(215, 100%, 46%, 0.71);
  --cpd-color-alpha-blue-800: hsla(212, 99%, 46%, 0.99);
  --cpd-color-alpha-blue-900: hsla(217, 98%, 33%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(218, 97%, 30%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(220, 99%, 27%, 0.99);
  --cpd-color-alpha-blue-1200: hsla(222, 100%, 24%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(228, 100%, 21%, 1);
  --cpd-color-alpha-blue-1400: hsl(233, 100%, 19%, 1);
  --cpd-color-alpha-purple-100: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 52%, 0.16);
  --cpd-color-alpha-purple-500: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-600: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-700: hsla(254, 100%, 50%, 0.53);
  --cpd-color-alpha-purple-800: hsla(258, 98%, 49%, 0.7);
  --cpd-color-alpha-purple-900: hsla(261, 97%, 38%, 0.9);
  --cpd-color-alpha-purple-1000: hsla(263, 100%, 36%, 0.95);
  --cpd-color-alpha-purple-1100: hsl(264, 100%, 33%, 1);
  --cpd-color-alpha-purple-1200: hsl(262, 100%, 29%, 1);
  --cpd-color-alpha-purple-1300: hsl(259, 100%, 22%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 19%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-200: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-300: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-400: hsla(296, 95%, 38%, 0.18);
  --cpd-color-alpha-fuchsia-500: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-600: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-700: hsla(295, 97%, 37%, 0.6);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 36%, 0.79);
  --cpd-color-alpha-fuchsia-900: hsla(287, 96%, 27%, 0.9);
  --cpd-color-alpha-fuchsia-1000: hsla(286, 100%, 24%, 0.91);
  --cpd-color-alpha-fuchsia-1100: hsla(285, 97%, 22%, 0.95);
  --cpd-color-alpha-fuchsia-1200: hsl(285, 96%, 22%, 1);
  --cpd-color-alpha-fuchsia-1300: hsl(283, 100%, 16%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-200: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 52%, 0.19);
  --cpd-color-alpha-pink-500: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-600: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-700: hsla(341, 98%, 49%, 0.7);
  --cpd-color-alpha-pink-800: hsla(333, 98%, 44%, 0.96);
  --cpd-color-alpha-pink-900: hsla(331, 100%, 28%, 0.97);
  --cpd-color-alpha-pink-1000: hsla(330, 97%, 26%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(329, 100%, 22%, 1);
  --cpd-color-alpha-pink-1200: hsl(332, 100%, 20%, 1);
  --cpd-color-alpha-pink-1300: hsl(337, 100%, 15%, 1);
  --cpd-color-alpha-pink-1400: hsl(341, 100%, 13%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-semantic{
.cpd-theme-light-hc.cpd-theme-light-hc {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-500);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: light) and (prefers-contrast: more){
@layer cpd-semantic{
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-500);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-base{
.cpd-theme-dark.cpd-theme-dark {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #14171b;
  --cpd-color-gray-200: #181a1f;
  --cpd-color-gray-300: #1d1f24;
  --cpd-color-gray-400: #26282d;
  --cpd-color-gray-500: #323539;
  --cpd-color-gray-600: #3c3f44;
  --cpd-color-gray-700: #4a4f55;
  --cpd-color-gray-800: #656c76;
  --cpd-color-gray-900: #808994;
  --cpd-color-gray-1000: #9199a4;
  --cpd-color-gray-1100: #a3aab4;
  --cpd-color-gray-1200: #bdc3cc;
  --cpd-color-gray-1300: #d9dee4;
  --cpd-color-gray-1400: #ebeef2;
  --cpd-color-red-100: #370000;
  --cpd-color-red-200: #3e0000;
  --cpd-color-red-300: #470000;
  --cpd-color-red-400: #590000;
  --cpd-color-red-500: #710000;
  --cpd-color-red-600: #830009;
  --cpd-color-red-700: #9f0d1e;
  --cpd-color-red-800: #d1212a;
  --cpd-color-red-900: #fd3e3c;
  --cpd-color-red-1000: #ff665d;
  --cpd-color-red-1100: #ff877c;
  --cpd-color-red-1200: #ffaea4;
  --cpd-color-red-1300: #ffd4cd;
  --cpd-color-red-1400: #ffe9e6;
  --cpd-color-orange-100: #380000;
  --cpd-color-orange-200: #3c0000;
  --cpd-color-orange-300: #470000;
  --cpd-color-orange-400: #580000;
  --cpd-color-orange-500: #710000;
  --cpd-color-orange-600: #830500;
  --cpd-color-orange-700: #972206;
  --cpd-color-orange-800: #b94607;
  --cpd-color-orange-900: #da670d;
  --cpd-color-orange-1000: #eb7a12;
  --cpd-color-orange-1100: #f6913d;
  --cpd-color-orange-1200: #fbb37e;
  --cpd-color-orange-1300: #ffd5b9;
  --cpd-color-orange-1400: #ffeadb;
  --cpd-color-yellow-100: #360000;
  --cpd-color-yellow-200: #3a0300;
  --cpd-color-yellow-300: #410900;
  --cpd-color-yellow-400: #4c1400;
  --cpd-color-yellow-500: #5c2400;
  --cpd-color-yellow-600: #682e03;
  --cpd-color-yellow-700: #7c3e02;
  --cpd-color-yellow-800: #9d5b00;
  --cpd-color-yellow-900: #bc7a00;
  --cpd-color-yellow-1000: #cc8c00;
  --cpd-color-yellow-1100: #db9f00;
  --cpd-color-yellow-1200: #efbb0b;
  --cpd-color-yellow-1300: #fedb58;
  --cpd-color-yellow-1400: #ffedb1;
  --cpd-color-lime-100: #001b00;
  --cpd-color-lime-200: #002000;
  --cpd-color-lime-300: #002600;
  --cpd-color-lime-400: #003000;
  --cpd-color-lime-500: #003e00;
  --cpd-color-lime-600: #004a00;
  --cpd-color-lime-700: #005c00;
  --cpd-color-lime-800: #1d7c13;
  --cpd-color-lime-900: #389b20;
  --cpd-color-lime-1000: #47ad26;
  --cpd-color-lime-1100: #56c02c;
  --cpd-color-lime-1200: #77d94f;
  --cpd-color-lime-1300: #b6eca3;
  --cpd-color-lime-1400: #daf6d0;
  --cpd-color-green-100: #001c0b;
  --cpd-color-green-200: #001f0e;
  --cpd-color-green-300: #002513;
  --cpd-color-green-400: #002e1b;
  --cpd-color-green-500: #003d29;
  --cpd-color-green-600: #004832;
  --cpd-color-green-700: #005a43;
  --cpd-color-green-800: #007a62;
  --cpd-color-green-900: #129a78;
  --cpd-color-green-1000: #17ac84;
  --cpd-color-green-1100: #1fc090;
  --cpd-color-green-1200: #72d5ae;
  --cpd-color-green-1300: #b5e8d1;
  --cpd-color-green-1400: #d9f4e7;
  --cpd-color-cyan-100: #001144;
  --cpd-color-cyan-200: #001448;
  --cpd-color-cyan-300: #001b4e;
  --cpd-color-cyan-400: #002559;
  --cpd-color-cyan-500: #003468;
  --cpd-color-cyan-600: #003f75;
  --cpd-color-cyan-700: #005188;
  --cpd-color-cyan-800: #0271aa;
  --cpd-color-cyan-900: #0093be;
  --cpd-color-cyan-1000: #02a7c6;
  --cpd-color-cyan-1100: #21bacd;
  --cpd-color-cyan-1200: #78d0dc;
  --cpd-color-cyan-1300: #b8e5eb;
  --cpd-color-cyan-1400: #dbf2f5;
  --cpd-color-blue-100: #00055a;
  --cpd-color-blue-200: #00095d;
  --cpd-color-blue-300: #001264;
  --cpd-color-blue-400: #001e6f;
  --cpd-color-blue-500: #062d80;
  --cpd-color-blue-600: #083891;
  --cpd-color-blue-700: #0b49ab;
  --cpd-color-blue-800: #0e67d9;
  --cpd-color-blue-900: #4187eb;
  --cpd-color-blue-1000: #5e99f0;
  --cpd-color-blue-1100: #7aacf4;
  --cpd-color-blue-1200: #a1c4f8;
  --cpd-color-blue-1300: #cbdffc;
  --cpd-color-blue-1400: #e4eefe;
  --cpd-color-purple-100: #1a0055;
  --cpd-color-purple-200: #1c005a;
  --cpd-color-purple-300: #22006a;
  --cpd-color-purple-400: #2c0080;
  --cpd-color-purple-500: #3d009e;
  --cpd-color-purple-600: #4a0db1;
  --cpd-color-purple-700: #5a27c6;
  --cpd-color-purple-800: #7849ec;
  --cpd-color-purple-900: #9171f9;
  --cpd-color-purple-1000: #9e87fc;
  --cpd-color-purple-1100: #ad9cfe;
  --cpd-color-purple-1200: #c4baff;
  --cpd-color-purple-1300: #dedaff;
  --cpd-color-purple-1400: #eeebff;
  --cpd-color-fuchsia-100: #28003d;
  --cpd-color-fuchsia-200: #2e0044;
  --cpd-color-fuchsia-300: #37004e;
  --cpd-color-fuchsia-400: #46005e;
  --cpd-color-fuchsia-500: #560f6f;
  --cpd-color-fuchsia-600: #65177d;
  --cpd-color-fuchsia-700: #7d2394;
  --cpd-color-fuchsia-800: #aa36ba;
  --cpd-color-fuchsia-900: #c560cf;
  --cpd-color-fuchsia-1000: #cf78d7;
  --cpd-color-fuchsia-1100: #d991de;
  --cpd-color-fuchsia-1200: #e5b1e9;
  --cpd-color-fuchsia-1300: #f1d4f3;
  --cpd-color-fuchsia-1400: #f8e9f9;
  --cpd-color-pink-100: #37000f;
  --cpd-color-pink-200: #3c0012;
  --cpd-color-pink-300: #450018;
  --cpd-color-pink-400: #550024;
  --cpd-color-pink-500: #6d0036;
  --cpd-color-pink-600: #7c0c41;
  --cpd-color-pink-700: #99114f;
  --cpd-color-pink-800: #ce1865;
  --cpd-color-pink-900: #f4427d;
  --cpd-color-pink-1000: #fa658f;
  --cpd-color-pink-1100: #fe84a2;
  --cpd-color-pink-1200: #ffabbe;
  --cpd-color-pink-1300: #ffd2dc;
  --cpd-color-pink-1400: #ffe8ed;
  --cpd-color-alpha-gray-100: hsla(214, 10%, 86%, 0.02);
  --cpd-color-alpha-gray-200: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-300: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-400: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-500: hsla(214, 41%, 97%, 0.15);
  --cpd-color-alpha-gray-600: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-700: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-800: hsla(216, 100%, 94%, 0.41);
  --cpd-color-alpha-gray-900: hsla(211, 94%, 94%, 0.54);
  --cpd-color-alpha-gray-1000: hsla(213, 93%, 94%, 0.61);
  --cpd-color-alpha-gray-1100: hsla(215, 92%, 95%, 0.68);
  --cpd-color-alpha-gray-1200: hsla(215, 74%, 96%, 0.79);
  --cpd-color-alpha-gray-1300: hsla(213, 73%, 97%, 0.89);
  --cpd-color-alpha-gray-1400: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-red-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-red-600: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-700: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-800: hsla(357, 99%, 57%, 0.81);
  --cpd-color-alpha-red-900: hsl(1, 98%, 61%, 1);
  --cpd-color-alpha-red-1000: hsl(3, 100%, 68%, 1);
  --cpd-color-alpha-red-1100: hsl(5, 100%, 74%, 1);
  --cpd-color-alpha-red-1200: hsl(7, 100%, 82%, 1);
  --cpd-color-alpha-red-1300: hsl(8, 100%, 90%, 1);
  --cpd-color-alpha-red-1400: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-orange-600: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-700: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-800: hsla(21, 100%, 50%, 0.71);
  --cpd-color-alpha-orange-900: hsla(26, 99%, 52%, 0.85);
  --cpd-color-alpha-orange-1000: hsla(29, 99%, 53%, 0.92);
  --cpd-color-alpha-orange-1100: hsla(27, 98%, 62%, 0.97);
  --cpd-color-alpha-orange-1200: hsla(26, 97%, 75%, 0.99);
  --cpd-color-alpha-orange-1300: hsl(24, 100%, 86%, 1);
  --cpd-color-alpha-orange-1400: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-yellow-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-300: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-400: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-500: hsl(23, 100%, 18%, 1);
  --cpd-color-alpha-yellow-600: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-700: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-800: hsl(35, 100%, 31%, 1);
  --cpd-color-alpha-yellow-900: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-1000: hsl(41, 100%, 40%, 1);
  --cpd-color-alpha-yellow-1100: hsl(44, 100%, 43%, 1);
  --cpd-color-alpha-yellow-1200: hsla(46, 98%, 52%, 0.94);
  --cpd-color-alpha-yellow-1300: hsl(47, 99%, 67%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 5%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 12%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-700: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-800: hsla(112, 98%, 52%, 0.45);
  --cpd-color-alpha-lime-900: hsla(107, 98%, 57%, 0.58);
  --cpd-color-alpha-lime-1000: hsla(105, 97%, 58%, 0.66);
  --cpd-color-alpha-lime-1100: hsla(102, 98%, 60%, 0.74);
  --cpd-color-alpha-lime-1200: hsla(102, 100%, 68%, 0.84);
  --cpd-color-alpha-lime-1300: hsla(104, 100%, 84%, 0.92);
  --cpd-color-alpha-lime-1400: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-green-100: hsl(144, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-300: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-400: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-500: hsl(160, 100%, 12%, 1);
  --cpd-color-alpha-green-600: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-700: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-900: hsla(164, 98%, 53%, 0.58);
  --cpd-color-alpha-green-1000: hsla(163, 99%, 55%, 0.65);
  --cpd-color-alpha-green-1100: hsla(162, 98%, 57%, 0.74);
  --cpd-color-alpha-green-1200: hsla(156, 97%, 76%, 0.83);
  --cpd-color-alpha-green-1300: hsla(152, 93%, 88%, 0.91);
  --cpd-color-alpha-green-1400: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-cyan-100: hsl(225, 100%, 13%, 1);
  --cpd-color-alpha-cyan-200: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-300: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-400: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-500: hsl(210, 100%, 20%, 1);
  --cpd-color-alpha-cyan-600: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-700: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-800: hsla(200, 100%, 37%, 0.88);
  --cpd-color-alpha-cyan-900: hsl(194, 100%, 37%, 1);
  --cpd-color-alpha-cyan-1000: hsla(189, 100%, 44%, 0.88);
  --cpd-color-alpha-cyan-1100: hsla(186, 98%, 57%, 0.79);
  --cpd-color-alpha-cyan-1200: hsla(187, 100%, 77%, 0.85);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 89%, 0.92);
  --cpd-color-alpha-cyan-1400: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-blue-100: hsl(237, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-300: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-400: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-500: hsla(221, 100%, 37%, 0.63);
  --cpd-color-alpha-blue-600: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-700: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-800: hsla(214, 99%, 53%, 0.84);
  --cpd-color-alpha-blue-900: hsla(215, 98%, 63%, 0.92);
  --cpd-color-alpha-blue-1000: hsla(216, 99%, 69%, 0.94);
  --cpd-color-alpha-blue-1100: hsla(215, 97%, 74%, 0.96);
  --cpd-color-alpha-blue-1200: hsla(216, 100%, 82%, 0.97);
  --cpd-color-alpha-blue-1300: hsla(216, 96%, 90%, 0.99);
  --cpd-color-alpha-blue-1400: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-purple-100: hsl(258, 100%, 17%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-300: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-400: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-500: hsl(263, 100%, 31%, 1);
  --cpd-color-alpha-purple-600: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-700: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-800: hsla(257, 100%, 65%, 0.92);
  --cpd-color-alpha-purple-900: hsla(254, 99%, 72%, 0.98);
  --cpd-color-alpha-purple-1000: hsla(252, 98%, 77%, 0.99);
  --cpd-color-alpha-purple-1100: hsl(250, 98%, 80%, 1);
  --cpd-color-alpha-purple-1200: hsl(249, 100%, 87%, 1);
  --cpd-color-alpha-purple-1300: hsl(246, 100%, 93%, 1);
  --cpd-color-alpha-purple-1400: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(279, 100%, 12%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-400: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-500: hsla(287, 100%, 52%, 0.38);
  --cpd-color-alpha-fuchsia-600: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-700: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 63%, 0.71);
  --cpd-color-alpha-fuchsia-900: hsla(295, 97%, 72%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 98%, 78%, 0.83);
  --cpd-color-alpha-fuchsia-1100: hsla(297, 98%, 82%, 0.86);
  --cpd-color-alpha-fuchsia-1200: hsla(296, 97%, 88%, 0.91);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 100%, 94%, 0.95);
  --cpd-color-alpha-fuchsia-1400: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-pink-100: hsl(344, 100%, 11%, 1);
  --cpd-color-alpha-pink-200: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-300: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-400: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-500: hsl(330, 100%, 21%, 1);
  --cpd-color-alpha-pink-600: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-700: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-800: hsla(335, 99%, 55%, 0.8);
  --cpd-color-alpha-pink-900: hsla(340, 99%, 63%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(343, 100%, 70%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(345, 98%, 76%, 1);
  --cpd-color-alpha-pink-1200: hsl(346, 100%, 84%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 91%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 96%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: dark){
@layer cpd-base{
:root {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #14171b;
  --cpd-color-gray-200: #181a1f;
  --cpd-color-gray-300: #1d1f24;
  --cpd-color-gray-400: #26282d;
  --cpd-color-gray-500: #323539;
  --cpd-color-gray-600: #3c3f44;
  --cpd-color-gray-700: #4a4f55;
  --cpd-color-gray-800: #656c76;
  --cpd-color-gray-900: #808994;
  --cpd-color-gray-1000: #9199a4;
  --cpd-color-gray-1100: #a3aab4;
  --cpd-color-gray-1200: #bdc3cc;
  --cpd-color-gray-1300: #d9dee4;
  --cpd-color-gray-1400: #ebeef2;
  --cpd-color-red-100: #370000;
  --cpd-color-red-200: #3e0000;
  --cpd-color-red-300: #470000;
  --cpd-color-red-400: #590000;
  --cpd-color-red-500: #710000;
  --cpd-color-red-600: #830009;
  --cpd-color-red-700: #9f0d1e;
  --cpd-color-red-800: #d1212a;
  --cpd-color-red-900: #fd3e3c;
  --cpd-color-red-1000: #ff665d;
  --cpd-color-red-1100: #ff877c;
  --cpd-color-red-1200: #ffaea4;
  --cpd-color-red-1300: #ffd4cd;
  --cpd-color-red-1400: #ffe9e6;
  --cpd-color-orange-100: #380000;
  --cpd-color-orange-200: #3c0000;
  --cpd-color-orange-300: #470000;
  --cpd-color-orange-400: #580000;
  --cpd-color-orange-500: #710000;
  --cpd-color-orange-600: #830500;
  --cpd-color-orange-700: #972206;
  --cpd-color-orange-800: #b94607;
  --cpd-color-orange-900: #da670d;
  --cpd-color-orange-1000: #eb7a12;
  --cpd-color-orange-1100: #f6913d;
  --cpd-color-orange-1200: #fbb37e;
  --cpd-color-orange-1300: #ffd5b9;
  --cpd-color-orange-1400: #ffeadb;
  --cpd-color-yellow-100: #360000;
  --cpd-color-yellow-200: #3a0300;
  --cpd-color-yellow-300: #410900;
  --cpd-color-yellow-400: #4c1400;
  --cpd-color-yellow-500: #5c2400;
  --cpd-color-yellow-600: #682e03;
  --cpd-color-yellow-700: #7c3e02;
  --cpd-color-yellow-800: #9d5b00;
  --cpd-color-yellow-900: #bc7a00;
  --cpd-color-yellow-1000: #cc8c00;
  --cpd-color-yellow-1100: #db9f00;
  --cpd-color-yellow-1200: #efbb0b;
  --cpd-color-yellow-1300: #fedb58;
  --cpd-color-yellow-1400: #ffedb1;
  --cpd-color-lime-100: #001b00;
  --cpd-color-lime-200: #002000;
  --cpd-color-lime-300: #002600;
  --cpd-color-lime-400: #003000;
  --cpd-color-lime-500: #003e00;
  --cpd-color-lime-600: #004a00;
  --cpd-color-lime-700: #005c00;
  --cpd-color-lime-800: #1d7c13;
  --cpd-color-lime-900: #389b20;
  --cpd-color-lime-1000: #47ad26;
  --cpd-color-lime-1100: #56c02c;
  --cpd-color-lime-1200: #77d94f;
  --cpd-color-lime-1300: #b6eca3;
  --cpd-color-lime-1400: #daf6d0;
  --cpd-color-green-100: #001c0b;
  --cpd-color-green-200: #001f0e;
  --cpd-color-green-300: #002513;
  --cpd-color-green-400: #002e1b;
  --cpd-color-green-500: #003d29;
  --cpd-color-green-600: #004832;
  --cpd-color-green-700: #005a43;
  --cpd-color-green-800: #007a62;
  --cpd-color-green-900: #129a78;
  --cpd-color-green-1000: #17ac84;
  --cpd-color-green-1100: #1fc090;
  --cpd-color-green-1200: #72d5ae;
  --cpd-color-green-1300: #b5e8d1;
  --cpd-color-green-1400: #d9f4e7;
  --cpd-color-cyan-100: #001144;
  --cpd-color-cyan-200: #001448;
  --cpd-color-cyan-300: #001b4e;
  --cpd-color-cyan-400: #002559;
  --cpd-color-cyan-500: #003468;
  --cpd-color-cyan-600: #003f75;
  --cpd-color-cyan-700: #005188;
  --cpd-color-cyan-800: #0271aa;
  --cpd-color-cyan-900: #0093be;
  --cpd-color-cyan-1000: #02a7c6;
  --cpd-color-cyan-1100: #21bacd;
  --cpd-color-cyan-1200: #78d0dc;
  --cpd-color-cyan-1300: #b8e5eb;
  --cpd-color-cyan-1400: #dbf2f5;
  --cpd-color-blue-100: #00055a;
  --cpd-color-blue-200: #00095d;
  --cpd-color-blue-300: #001264;
  --cpd-color-blue-400: #001e6f;
  --cpd-color-blue-500: #062d80;
  --cpd-color-blue-600: #083891;
  --cpd-color-blue-700: #0b49ab;
  --cpd-color-blue-800: #0e67d9;
  --cpd-color-blue-900: #4187eb;
  --cpd-color-blue-1000: #5e99f0;
  --cpd-color-blue-1100: #7aacf4;
  --cpd-color-blue-1200: #a1c4f8;
  --cpd-color-blue-1300: #cbdffc;
  --cpd-color-blue-1400: #e4eefe;
  --cpd-color-purple-100: #1a0055;
  --cpd-color-purple-200: #1c005a;
  --cpd-color-purple-300: #22006a;
  --cpd-color-purple-400: #2c0080;
  --cpd-color-purple-500: #3d009e;
  --cpd-color-purple-600: #4a0db1;
  --cpd-color-purple-700: #5a27c6;
  --cpd-color-purple-800: #7849ec;
  --cpd-color-purple-900: #9171f9;
  --cpd-color-purple-1000: #9e87fc;
  --cpd-color-purple-1100: #ad9cfe;
  --cpd-color-purple-1200: #c4baff;
  --cpd-color-purple-1300: #dedaff;
  --cpd-color-purple-1400: #eeebff;
  --cpd-color-fuchsia-100: #28003d;
  --cpd-color-fuchsia-200: #2e0044;
  --cpd-color-fuchsia-300: #37004e;
  --cpd-color-fuchsia-400: #46005e;
  --cpd-color-fuchsia-500: #560f6f;
  --cpd-color-fuchsia-600: #65177d;
  --cpd-color-fuchsia-700: #7d2394;
  --cpd-color-fuchsia-800: #aa36ba;
  --cpd-color-fuchsia-900: #c560cf;
  --cpd-color-fuchsia-1000: #cf78d7;
  --cpd-color-fuchsia-1100: #d991de;
  --cpd-color-fuchsia-1200: #e5b1e9;
  --cpd-color-fuchsia-1300: #f1d4f3;
  --cpd-color-fuchsia-1400: #f8e9f9;
  --cpd-color-pink-100: #37000f;
  --cpd-color-pink-200: #3c0012;
  --cpd-color-pink-300: #450018;
  --cpd-color-pink-400: #550024;
  --cpd-color-pink-500: #6d0036;
  --cpd-color-pink-600: #7c0c41;
  --cpd-color-pink-700: #99114f;
  --cpd-color-pink-800: #ce1865;
  --cpd-color-pink-900: #f4427d;
  --cpd-color-pink-1000: #fa658f;
  --cpd-color-pink-1100: #fe84a2;
  --cpd-color-pink-1200: #ffabbe;
  --cpd-color-pink-1300: #ffd2dc;
  --cpd-color-pink-1400: #ffe8ed;
  --cpd-color-alpha-gray-100: hsla(214, 10%, 86%, 0.02);
  --cpd-color-alpha-gray-200: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-300: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-400: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-500: hsla(214, 41%, 97%, 0.15);
  --cpd-color-alpha-gray-600: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-700: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-800: hsla(216, 100%, 94%, 0.41);
  --cpd-color-alpha-gray-900: hsla(211, 94%, 94%, 0.54);
  --cpd-color-alpha-gray-1000: hsla(213, 93%, 94%, 0.61);
  --cpd-color-alpha-gray-1100: hsla(215, 92%, 95%, 0.68);
  --cpd-color-alpha-gray-1200: hsla(215, 74%, 96%, 0.79);
  --cpd-color-alpha-gray-1300: hsla(213, 73%, 97%, 0.89);
  --cpd-color-alpha-gray-1400: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-red-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-red-600: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-700: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-800: hsla(357, 99%, 57%, 0.81);
  --cpd-color-alpha-red-900: hsl(1, 98%, 61%, 1);
  --cpd-color-alpha-red-1000: hsl(3, 100%, 68%, 1);
  --cpd-color-alpha-red-1100: hsl(5, 100%, 74%, 1);
  --cpd-color-alpha-red-1200: hsl(7, 100%, 82%, 1);
  --cpd-color-alpha-red-1300: hsl(8, 100%, 90%, 1);
  --cpd-color-alpha-red-1400: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-orange-600: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-700: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-800: hsla(21, 100%, 50%, 0.71);
  --cpd-color-alpha-orange-900: hsla(26, 99%, 52%, 0.85);
  --cpd-color-alpha-orange-1000: hsla(29, 99%, 53%, 0.92);
  --cpd-color-alpha-orange-1100: hsla(27, 98%, 62%, 0.97);
  --cpd-color-alpha-orange-1200: hsla(26, 97%, 75%, 0.99);
  --cpd-color-alpha-orange-1300: hsl(24, 100%, 86%, 1);
  --cpd-color-alpha-orange-1400: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-yellow-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-300: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-400: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-500: hsl(23, 100%, 18%, 1);
  --cpd-color-alpha-yellow-600: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-700: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-800: hsl(35, 100%, 31%, 1);
  --cpd-color-alpha-yellow-900: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-1000: hsl(41, 100%, 40%, 1);
  --cpd-color-alpha-yellow-1100: hsl(44, 100%, 43%, 1);
  --cpd-color-alpha-yellow-1200: hsla(46, 98%, 52%, 0.94);
  --cpd-color-alpha-yellow-1300: hsl(47, 99%, 67%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 5%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 12%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-700: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-800: hsla(112, 98%, 52%, 0.45);
  --cpd-color-alpha-lime-900: hsla(107, 98%, 57%, 0.58);
  --cpd-color-alpha-lime-1000: hsla(105, 97%, 58%, 0.66);
  --cpd-color-alpha-lime-1100: hsla(102, 98%, 60%, 0.74);
  --cpd-color-alpha-lime-1200: hsla(102, 100%, 68%, 0.84);
  --cpd-color-alpha-lime-1300: hsla(104, 100%, 84%, 0.92);
  --cpd-color-alpha-lime-1400: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-green-100: hsl(144, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-300: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-400: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-500: hsl(160, 100%, 12%, 1);
  --cpd-color-alpha-green-600: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-700: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-900: hsla(164, 98%, 53%, 0.58);
  --cpd-color-alpha-green-1000: hsla(163, 99%, 55%, 0.65);
  --cpd-color-alpha-green-1100: hsla(162, 98%, 57%, 0.74);
  --cpd-color-alpha-green-1200: hsla(156, 97%, 76%, 0.83);
  --cpd-color-alpha-green-1300: hsla(152, 93%, 88%, 0.91);
  --cpd-color-alpha-green-1400: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-cyan-100: hsl(225, 100%, 13%, 1);
  --cpd-color-alpha-cyan-200: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-300: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-400: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-500: hsl(210, 100%, 20%, 1);
  --cpd-color-alpha-cyan-600: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-700: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-800: hsla(200, 100%, 37%, 0.88);
  --cpd-color-alpha-cyan-900: hsl(194, 100%, 37%, 1);
  --cpd-color-alpha-cyan-1000: hsla(189, 100%, 44%, 0.88);
  --cpd-color-alpha-cyan-1100: hsla(186, 98%, 57%, 0.79);
  --cpd-color-alpha-cyan-1200: hsla(187, 100%, 77%, 0.85);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 89%, 0.92);
  --cpd-color-alpha-cyan-1400: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-blue-100: hsl(237, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-300: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-400: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-500: hsla(221, 100%, 37%, 0.63);
  --cpd-color-alpha-blue-600: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-700: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-800: hsla(214, 99%, 53%, 0.84);
  --cpd-color-alpha-blue-900: hsla(215, 98%, 63%, 0.92);
  --cpd-color-alpha-blue-1000: hsla(216, 99%, 69%, 0.94);
  --cpd-color-alpha-blue-1100: hsla(215, 97%, 74%, 0.96);
  --cpd-color-alpha-blue-1200: hsla(216, 100%, 82%, 0.97);
  --cpd-color-alpha-blue-1300: hsla(216, 96%, 90%, 0.99);
  --cpd-color-alpha-blue-1400: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-purple-100: hsl(258, 100%, 17%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-300: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-400: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-500: hsl(263, 100%, 31%, 1);
  --cpd-color-alpha-purple-600: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-700: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-800: hsla(257, 100%, 65%, 0.92);
  --cpd-color-alpha-purple-900: hsla(254, 99%, 72%, 0.98);
  --cpd-color-alpha-purple-1000: hsla(252, 98%, 77%, 0.99);
  --cpd-color-alpha-purple-1100: hsl(250, 98%, 80%, 1);
  --cpd-color-alpha-purple-1200: hsl(249, 100%, 87%, 1);
  --cpd-color-alpha-purple-1300: hsl(246, 100%, 93%, 1);
  --cpd-color-alpha-purple-1400: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(279, 100%, 12%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-400: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-500: hsla(287, 100%, 52%, 0.38);
  --cpd-color-alpha-fuchsia-600: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-700: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 63%, 0.71);
  --cpd-color-alpha-fuchsia-900: hsla(295, 97%, 72%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 98%, 78%, 0.83);
  --cpd-color-alpha-fuchsia-1100: hsla(297, 98%, 82%, 0.86);
  --cpd-color-alpha-fuchsia-1200: hsla(296, 97%, 88%, 0.91);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 100%, 94%, 0.95);
  --cpd-color-alpha-fuchsia-1400: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-pink-100: hsl(344, 100%, 11%, 1);
  --cpd-color-alpha-pink-200: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-300: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-400: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-500: hsl(330, 100%, 21%, 1);
  --cpd-color-alpha-pink-600: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-700: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-800: hsla(335, 99%, 55%, 0.8);
  --cpd-color-alpha-pink-900: hsla(340, 99%, 63%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(343, 100%, 70%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(345, 98%, 76%, 1);
  --cpd-color-alpha-pink-1200: hsl(346, 100%, 84%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 91%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 96%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-semantic{
.cpd-theme-dark.cpd-theme-dark {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-500);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: dark){
@layer cpd-semantic{
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-500);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-base{
.cpd-theme-dark-hc.cpd-theme-dark-hc {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #181a1f;
  --cpd-color-gray-200: #1d1f24;
  --cpd-color-gray-300: #26282d;
  --cpd-color-gray-400: #2b2e33;
  --cpd-color-gray-500: #3c3f44;
  --cpd-color-gray-600: #4a4f55;
  --cpd-color-gray-700: #606770;
  --cpd-color-gray-800: #79818d;
  --cpd-color-gray-900: #acb4bd;
  --cpd-color-gray-1000: #b8bfc7;
  --cpd-color-gray-1100: #c8ced5;
  --cpd-color-gray-1200: #d5dae1;
  --cpd-color-gray-1300: #ebeef2;
  --cpd-color-gray-1400: #f2f5f7;
  --cpd-color-red-100: #3e0000;
  --cpd-color-red-200: #470000;
  --cpd-color-red-300: #590000;
  --cpd-color-red-400: #640000;
  --cpd-color-red-500: #830009;
  --cpd-color-red-600: #9f0d1e;
  --cpd-color-red-700: #c81e28;
  --cpd-color-red-800: #f52f33;
  --cpd-color-red-900: #ff968c;
  --cpd-color-red-1000: #ffa79d;
  --cpd-color-red-1100: #ffbdb5;
  --cpd-color-red-1200: #ffcfc8;
  --cpd-color-red-1300: #ffe9e6;
  --cpd-color-red-1400: #fff2ef;
  --cpd-color-orange-100: #3c0000;
  --cpd-color-orange-200: #470000;
  --cpd-color-orange-300: #580000;
  --cpd-color-orange-400: #650000;
  --cpd-color-orange-500: #830500;
  --cpd-color-orange-600: #972206;
  --cpd-color-orange-700: #b44007;
  --cpd-color-orange-800: #d15f0b;
  --cpd-color-orange-900: #f89d58;
  --cpd-color-orange-1000: #faad73;
  --cpd-color-orange-1100: #fdc197;
  --cpd-color-orange-1200: #fed0b1;
  --cpd-color-orange-1300: #ffeadb;
  --cpd-color-orange-1400: #fff2ea;
  --cpd-color-yellow-100: #3a0300;
  --cpd-color-yellow-200: #410900;
  --cpd-color-yellow-300: #4c1400;
  --cpd-color-yellow-400: #541d00;
  --cpd-color-yellow-500: #682e03;
  --cpd-color-yellow-600: #7c3e02;
  --cpd-color-yellow-700: #985600;
  --cpd-color-yellow-800: #b47200;
  --cpd-color-yellow-900: #e3aa00;
  --cpd-color-yellow-1000: #ebb607;
  --cpd-color-yellow-1100: #f7c816;
  --cpd-color-yellow-1200: #fed632;
  --cpd-color-yellow-1300: #ffedb1;
  --cpd-color-yellow-1400: #fff4d0;
  --cpd-color-lime-100: #002000;
  --cpd-color-lime-200: #002600;
  --cpd-color-lime-300: #003000;
  --cpd-color-lime-400: #003700;
  --cpd-color-lime-500: #004a00;
  --cpd-color-lime-600: #005c00;
  --cpd-color-lime-700: #187611;
  --cpd-color-lime-800: #31941d;
  --cpd-color-lime-900: #5eca2f;
  --cpd-color-lime-1000: #6ad639;
  --cpd-color-lime-1100: #92e175;
  --cpd-color-lime-1200: #afe99a;
  --cpd-color-lime-1300: #daf6d0;
  --cpd-color-lime-1400: #e9f9e3;
  --cpd-color-green-100: #001f0e;
  --cpd-color-green-200: #002513;
  --cpd-color-green-300: #002e1b;
  --cpd-color-green-400: #003622;
  --cpd-color-green-500: #004832;
  --cpd-color-green-600: #005a43;
  --cpd-color-green-700: #00745c;
  --cpd-color-green-800: #109173;
  --cpd-color-green-900: #37c998;
  --cpd-color-green-1000: #61d2a6;
  --cpd-color-green-1100: #8fddbc;
  --cpd-color-green-1200: #ace6cc;
  --cpd-color-green-1300: #d9f4e7;
  --cpd-color-green-1400: #e9f8f1;
  --cpd-color-cyan-100: #001448;
  --cpd-color-cyan-200: #001b4e;
  --cpd-color-cyan-300: #002559;
  --cpd-color-cyan-400: #002d61;
  --cpd-color-cyan-500: #003f75;
  --cpd-color-cyan-600: #005188;
  --cpd-color-cyan-700: #006ca4;
  --cpd-color-cyan-800: #008aba;
  --cpd-color-cyan-900: #46c3d2;
  --cpd-color-cyan-1000: #6bccd9;
  --cpd-color-cyan-1100: #93d9e2;
  --cpd-color-cyan-1200: #afe2e9;
  --cpd-color-cyan-1300: #dbf2f5;
  --cpd-color-cyan-1400: #eaf7f9;
  --cpd-color-blue-100: #00095d;
  --cpd-color-blue-200: #001264;
  --cpd-color-blue-300: #001e6f;
  --cpd-color-blue-400: #032677;
  --cpd-color-blue-500: #083891;
  --cpd-color-blue-600: #0b49ab;
  --cpd-color-blue-700: #0e61d1;
  --cpd-color-blue-800: #337fe9;
  --cpd-color-blue-900: #89b5f6;
  --cpd-color-blue-1000: #9ac0f8;
  --cpd-color-blue-1100: #b2cffa;
  --cpd-color-blue-1200: #c5dbfc;
  --cpd-color-blue-1300: #e4eefe;
  --cpd-color-blue-1400: #eff5fe;
  --cpd-color-purple-100: #1c005a;
  --cpd-color-purple-200: #22006a;
  --cpd-color-purple-300: #2c0080;
  --cpd-color-purple-400: #350090;
  --cpd-color-purple-500: #4a0db1;
  --cpd-color-purple-600: #5a27c6;
  --cpd-color-purple-700: #7343e6;
  --cpd-color-purple-800: #8b66f8;
  --cpd-color-purple-900: #b6a7ff;
  --cpd-color-purple-1000: #c0b5ff;
  --cpd-color-purple-1100: #cec7ff;
  --cpd-color-purple-1200: #dad5ff;
  --cpd-color-purple-1300: #eeebff;
  --cpd-color-purple-1400: #f5f3ff;
  --cpd-color-fuchsia-100: #2e0044;
  --cpd-color-fuchsia-200: #37004e;
  --cpd-color-fuchsia-300: #46005e;
  --cpd-color-fuchsia-400: #4f0368;
  --cpd-color-fuchsia-500: #65177d;
  --cpd-color-fuchsia-600: #7d2394;
  --cpd-color-fuchsia-700: #a233b3;
  --cpd-color-fuchsia-800: #c153cb;
  --cpd-color-fuchsia-900: #dd9de3;
  --cpd-color-fuchsia-1000: #e3abe7;
  --cpd-color-fuchsia-1100: #eac0ed;
  --cpd-color-fuchsia-1200: #f0cff2;
  --cpd-color-fuchsia-1300: #f8e9f9;
  --cpd-color-fuchsia-1400: #fbf1fb;
  --cpd-color-pink-100: #3c0012;
  --cpd-color-pink-200: #450018;
  --cpd-color-pink-300: #550024;
  --cpd-color-pink-400: #61002d;
  --cpd-color-pink-500: #7c0c41;
  --cpd-color-pink-600: #99114f;
  --cpd-color-pink-700: #c51761;
  --cpd-color-pink-800: #f12c75;
  --cpd-color-pink-900: #ff92ac;
  --cpd-color-pink-1000: #ffa4b9;
  --cpd-color-pink-1100: #ffbbca;
  --cpd-color-pink-1200: #ffccd7;
  --cpd-color-pink-1300: #ffe8ed;
  --cpd-color-pink-1400: #fff1f4;
  --cpd-color-alpha-gray-100: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-200: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-300: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-400: hsla(227, 29%, 91%, 0.13);
  --cpd-color-alpha-gray-500: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-600: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-700: hsla(214, 79%, 93%, 0.39);
  --cpd-color-alpha-gray-800: hsla(216, 94%, 93%, 0.51);
  --cpd-color-alpha-gray-900: hsla(211, 91%, 96%, 0.72);
  --cpd-color-alpha-gray-1000: hsla(213, 100%, 97%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(212, 100%, 97%, 0.82);
  --cpd-color-alpha-gray-1200: hsla(217, 77%, 97%, 0.88);
  --cpd-color-alpha-gray-1300: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-gray-1400: hsla(204, 71%, 99%, 0.97);
  --cpd-color-alpha-red-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-500: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-600: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-700: hsla(357, 100%, 57%, 0.77);
  --cpd-color-alpha-red-800: hsla(359, 100%, 59%, 0.96);
  --cpd-color-alpha-red-900: hsl(5, 100%, 78%, 1);
  --cpd-color-alpha-red-1000: hsl(6, 100%, 81%, 1);
  --cpd-color-alpha-red-1100: hsl(6, 100%, 86%, 1);
  --cpd-color-alpha-red-1200: hsl(8, 100%, 89%, 1);
  --cpd-color-alpha-red-1300: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-red-1400: hsl(11, 100%, 97%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-500: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-600: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-700: hsla(20, 100%, 49%, 0.7);
  --cpd-color-alpha-orange-800: hsla(26, 99%, 51%, 0.81);
  --cpd-color-alpha-orange-900: hsla(26, 98%, 67%, 0.98);
  --cpd-color-alpha-orange-1000: hsla(26, 100%, 73%, 0.98);
  --cpd-color-alpha-orange-1100: hsl(25, 96%, 79%, 1);
  --cpd-color-alpha-orange-1200: hsl(24, 98%, 85%, 1);
  --cpd-color-alpha-orange-1300: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-orange-1400: hsl(23, 100%, 96%, 1);
  --cpd-color-alpha-yellow-100: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-300: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-400: hsl(21, 100%, 17%, 1);
  --cpd-color-alpha-yellow-500: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-600: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-700: hsl(34, 100%, 30%, 1);
  --cpd-color-alpha-yellow-800: hsl(38, 100%, 35%, 1);
  --cpd-color-alpha-yellow-900: hsl(45, 100%, 45%, 1);
  --cpd-color-alpha-yellow-1000: hsla(46, 99%, 51%, 0.92);
  --cpd-color-alpha-yellow-1100: hsla(48, 99%, 54%, 0.97);
  --cpd-color-alpha-yellow-1200: hsl(48, 99%, 60%, 1);
  --cpd-color-alpha-yellow-1300: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 91%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-700: hsla(114, 100%, 52%, 0.42);
  --cpd-color-alpha-lime-800: hsla(109, 99%, 57%, 0.55);
  --cpd-color-alpha-lime-900: hsla(101, 99%, 60%, 0.78);
  --cpd-color-alpha-lime-1000: hsla(101, 99%, 62%, 0.83);
  --cpd-color-alpha-lime-1100: hsla(103, 97%, 75%, 0.88);
  --cpd-color-alpha-lime-1200: hsla(103, 98%, 83%, 0.91);
  --cpd-color-alpha-lime-1300: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-lime-1400: hsla(104, 92%, 95%, 0.98);
  --cpd-color-alpha-green-100: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-300: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-400: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-500: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-600: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-700: hsl(168, 100%, 23%, 1);
  --cpd-color-alpha-green-800: hsla(165, 98%, 53%, 0.54);
  --cpd-color-alpha-green-900: hsla(159, 97%, 62%, 0.78);
  --cpd-color-alpha-green-1000: hsla(156, 100%, 73%, 0.81);
  --cpd-color-alpha-green-1100: hsla(154, 98%, 82%, 0.86);
  --cpd-color-alpha-green-1200: hsla(153, 94%, 87%, 0.9);
  --cpd-color-alpha-green-1300: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-green-1400: hsla(150, 80%, 96%, 0.98);
  --cpd-color-alpha-cyan-100: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-200: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-300: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-400: hsl(212, 100%, 19%, 1);
  --cpd-color-alpha-cyan-500: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-600: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-700: hsl(200, 100%, 32%, 1);
  --cpd-color-alpha-cyan-800: hsl(195, 100%, 37%, 1);
  --cpd-color-alpha-cyan-900: hsla(186, 99%, 66%, 0.81);
  --cpd-color-alpha-cyan-1000: hsla(187, 99%, 74%, 0.84);
  --cpd-color-alpha-cyan-1100: hsla(187, 98%, 82%, 0.88);
  --cpd-color-alpha-cyan-1200: hsla(188, 97%, 87%, 0.91);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-cyan-1400: hsla(187, 89%, 97%, 0.98);
  --cpd-color-alpha-blue-100: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-300: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-400: hsla(222, 100%, 28%, 0.82);
  --cpd-color-alpha-blue-500: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-600: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 52%, 0.81);
  --cpd-color-alpha-blue-800: hsla(215, 99%, 60%, 0.91);
  --cpd-color-alpha-blue-900: hsla(216, 97%, 77%, 0.97);
  --cpd-color-alpha-blue-1000: hsla(216, 100%, 81%, 0.97);
  --cpd-color-alpha-blue-1100: hsla(216, 100%, 86%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(216, 97%, 89%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-blue-1400: hsl(216, 88%, 97%, 1);
  --cpd-color-alpha-purple-100: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-300: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-400: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-500: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-600: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-700: hsla(258, 98%, 64%, 0.9);
  --cpd-color-alpha-purple-800: hsla(255, 100%, 71%, 0.97);
  --cpd-color-alpha-purple-900: hsl(250, 100%, 83%, 1);
  --cpd-color-alpha-purple-1000: hsl(249, 100%, 86%, 1);
  --cpd-color-alpha-purple-1100: hsl(248, 100%, 89%, 1);
  --cpd-color-alpha-purple-1200: hsl(247, 100%, 92%, 1);
  --cpd-color-alpha-purple-1300: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-purple-1400: hsl(250, 100%, 98%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-400: hsla(286, 100%, 23%, 0.85);
  --cpd-color-alpha-fuchsia-500: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-600: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-700: hsla(293, 97%, 62%, 0.68);
  --cpd-color-alpha-fuchsia-800: hsla(296, 99%, 70%, 0.78);
  --cpd-color-alpha-fuchsia-900: hsla(295, 100%, 85%, 0.88);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 97%, 87%, 0.9);
  --cpd-color-alpha-fuchsia-1100: hsla(296, 92%, 90%, 0.93);
  --cpd-color-alpha-fuchsia-1200: hsla(297, 95%, 92%, 0.95);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-fuchsia-1400: hsla(300, 71%, 97%, 0.99);
  --cpd-color-alpha-pink-100: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-200: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-300: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-400: hsl(332, 100%, 19%, 1);
  --cpd-color-alpha-pink-500: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-600: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-700: hsla(335, 99%, 55%, 0.76);
  --cpd-color-alpha-pink-800: hsla(338, 98%, 58%, 0.95);
  --cpd-color-alpha-pink-900: hsl(346, 100%, 79%, 1);
  --cpd-color-alpha-pink-1000: hsl(346, 100%, 82%, 1);
  --cpd-color-alpha-pink-1100: hsl(347, 100%, 87%, 1);
  --cpd-color-alpha-pink-1200: hsl(347, 100%, 90%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 96%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 97%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: dark) and (prefers-contrast: more){
@layer cpd-base{
:root {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #181a1f;
  --cpd-color-gray-200: #1d1f24;
  --cpd-color-gray-300: #26282d;
  --cpd-color-gray-400: #2b2e33;
  --cpd-color-gray-500: #3c3f44;
  --cpd-color-gray-600: #4a4f55;
  --cpd-color-gray-700: #606770;
  --cpd-color-gray-800: #79818d;
  --cpd-color-gray-900: #acb4bd;
  --cpd-color-gray-1000: #b8bfc7;
  --cpd-color-gray-1100: #c8ced5;
  --cpd-color-gray-1200: #d5dae1;
  --cpd-color-gray-1300: #ebeef2;
  --cpd-color-gray-1400: #f2f5f7;
  --cpd-color-red-100: #3e0000;
  --cpd-color-red-200: #470000;
  --cpd-color-red-300: #590000;
  --cpd-color-red-400: #640000;
  --cpd-color-red-500: #830009;
  --cpd-color-red-600: #9f0d1e;
  --cpd-color-red-700: #c81e28;
  --cpd-color-red-800: #f52f33;
  --cpd-color-red-900: #ff968c;
  --cpd-color-red-1000: #ffa79d;
  --cpd-color-red-1100: #ffbdb5;
  --cpd-color-red-1200: #ffcfc8;
  --cpd-color-red-1300: #ffe9e6;
  --cpd-color-red-1400: #fff2ef;
  --cpd-color-orange-100: #3c0000;
  --cpd-color-orange-200: #470000;
  --cpd-color-orange-300: #580000;
  --cpd-color-orange-400: #650000;
  --cpd-color-orange-500: #830500;
  --cpd-color-orange-600: #972206;
  --cpd-color-orange-700: #b44007;
  --cpd-color-orange-800: #d15f0b;
  --cpd-color-orange-900: #f89d58;
  --cpd-color-orange-1000: #faad73;
  --cpd-color-orange-1100: #fdc197;
  --cpd-color-orange-1200: #fed0b1;
  --cpd-color-orange-1300: #ffeadb;
  --cpd-color-orange-1400: #fff2ea;
  --cpd-color-yellow-100: #3a0300;
  --cpd-color-yellow-200: #410900;
  --cpd-color-yellow-300: #4c1400;
  --cpd-color-yellow-400: #541d00;
  --cpd-color-yellow-500: #682e03;
  --cpd-color-yellow-600: #7c3e02;
  --cpd-color-yellow-700: #985600;
  --cpd-color-yellow-800: #b47200;
  --cpd-color-yellow-900: #e3aa00;
  --cpd-color-yellow-1000: #ebb607;
  --cpd-color-yellow-1100: #f7c816;
  --cpd-color-yellow-1200: #fed632;
  --cpd-color-yellow-1300: #ffedb1;
  --cpd-color-yellow-1400: #fff4d0;
  --cpd-color-lime-100: #002000;
  --cpd-color-lime-200: #002600;
  --cpd-color-lime-300: #003000;
  --cpd-color-lime-400: #003700;
  --cpd-color-lime-500: #004a00;
  --cpd-color-lime-600: #005c00;
  --cpd-color-lime-700: #187611;
  --cpd-color-lime-800: #31941d;
  --cpd-color-lime-900: #5eca2f;
  --cpd-color-lime-1000: #6ad639;
  --cpd-color-lime-1100: #92e175;
  --cpd-color-lime-1200: #afe99a;
  --cpd-color-lime-1300: #daf6d0;
  --cpd-color-lime-1400: #e9f9e3;
  --cpd-color-green-100: #001f0e;
  --cpd-color-green-200: #002513;
  --cpd-color-green-300: #002e1b;
  --cpd-color-green-400: #003622;
  --cpd-color-green-500: #004832;
  --cpd-color-green-600: #005a43;
  --cpd-color-green-700: #00745c;
  --cpd-color-green-800: #109173;
  --cpd-color-green-900: #37c998;
  --cpd-color-green-1000: #61d2a6;
  --cpd-color-green-1100: #8fddbc;
  --cpd-color-green-1200: #ace6cc;
  --cpd-color-green-1300: #d9f4e7;
  --cpd-color-green-1400: #e9f8f1;
  --cpd-color-cyan-100: #001448;
  --cpd-color-cyan-200: #001b4e;
  --cpd-color-cyan-300: #002559;
  --cpd-color-cyan-400: #002d61;
  --cpd-color-cyan-500: #003f75;
  --cpd-color-cyan-600: #005188;
  --cpd-color-cyan-700: #006ca4;
  --cpd-color-cyan-800: #008aba;
  --cpd-color-cyan-900: #46c3d2;
  --cpd-color-cyan-1000: #6bccd9;
  --cpd-color-cyan-1100: #93d9e2;
  --cpd-color-cyan-1200: #afe2e9;
  --cpd-color-cyan-1300: #dbf2f5;
  --cpd-color-cyan-1400: #eaf7f9;
  --cpd-color-blue-100: #00095d;
  --cpd-color-blue-200: #001264;
  --cpd-color-blue-300: #001e6f;
  --cpd-color-blue-400: #032677;
  --cpd-color-blue-500: #083891;
  --cpd-color-blue-600: #0b49ab;
  --cpd-color-blue-700: #0e61d1;
  --cpd-color-blue-800: #337fe9;
  --cpd-color-blue-900: #89b5f6;
  --cpd-color-blue-1000: #9ac0f8;
  --cpd-color-blue-1100: #b2cffa;
  --cpd-color-blue-1200: #c5dbfc;
  --cpd-color-blue-1300: #e4eefe;
  --cpd-color-blue-1400: #eff5fe;
  --cpd-color-purple-100: #1c005a;
  --cpd-color-purple-200: #22006a;
  --cpd-color-purple-300: #2c0080;
  --cpd-color-purple-400: #350090;
  --cpd-color-purple-500: #4a0db1;
  --cpd-color-purple-600: #5a27c6;
  --cpd-color-purple-700: #7343e6;
  --cpd-color-purple-800: #8b66f8;
  --cpd-color-purple-900: #b6a7ff;
  --cpd-color-purple-1000: #c0b5ff;
  --cpd-color-purple-1100: #cec7ff;
  --cpd-color-purple-1200: #dad5ff;
  --cpd-color-purple-1300: #eeebff;
  --cpd-color-purple-1400: #f5f3ff;
  --cpd-color-fuchsia-100: #2e0044;
  --cpd-color-fuchsia-200: #37004e;
  --cpd-color-fuchsia-300: #46005e;
  --cpd-color-fuchsia-400: #4f0368;
  --cpd-color-fuchsia-500: #65177d;
  --cpd-color-fuchsia-600: #7d2394;
  --cpd-color-fuchsia-700: #a233b3;
  --cpd-color-fuchsia-800: #c153cb;
  --cpd-color-fuchsia-900: #dd9de3;
  --cpd-color-fuchsia-1000: #e3abe7;
  --cpd-color-fuchsia-1100: #eac0ed;
  --cpd-color-fuchsia-1200: #f0cff2;
  --cpd-color-fuchsia-1300: #f8e9f9;
  --cpd-color-fuchsia-1400: #fbf1fb;
  --cpd-color-pink-100: #3c0012;
  --cpd-color-pink-200: #450018;
  --cpd-color-pink-300: #550024;
  --cpd-color-pink-400: #61002d;
  --cpd-color-pink-500: #7c0c41;
  --cpd-color-pink-600: #99114f;
  --cpd-color-pink-700: #c51761;
  --cpd-color-pink-800: #f12c75;
  --cpd-color-pink-900: #ff92ac;
  --cpd-color-pink-1000: #ffa4b9;
  --cpd-color-pink-1100: #ffbbca;
  --cpd-color-pink-1200: #ffccd7;
  --cpd-color-pink-1300: #ffe8ed;
  --cpd-color-pink-1400: #fff1f4;
  --cpd-color-alpha-gray-100: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-200: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-300: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-400: hsla(227, 29%, 91%, 0.13);
  --cpd-color-alpha-gray-500: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-600: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-700: hsla(214, 79%, 93%, 0.39);
  --cpd-color-alpha-gray-800: hsla(216, 94%, 93%, 0.51);
  --cpd-color-alpha-gray-900: hsla(211, 91%, 96%, 0.72);
  --cpd-color-alpha-gray-1000: hsla(213, 100%, 97%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(212, 100%, 97%, 0.82);
  --cpd-color-alpha-gray-1200: hsla(217, 77%, 97%, 0.88);
  --cpd-color-alpha-gray-1300: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-gray-1400: hsla(204, 71%, 99%, 0.97);
  --cpd-color-alpha-red-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-500: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-600: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-700: hsla(357, 100%, 57%, 0.77);
  --cpd-color-alpha-red-800: hsla(359, 100%, 59%, 0.96);
  --cpd-color-alpha-red-900: hsl(5, 100%, 78%, 1);
  --cpd-color-alpha-red-1000: hsl(6, 100%, 81%, 1);
  --cpd-color-alpha-red-1100: hsl(6, 100%, 86%, 1);
  --cpd-color-alpha-red-1200: hsl(8, 100%, 89%, 1);
  --cpd-color-alpha-red-1300: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-red-1400: hsl(11, 100%, 97%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-500: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-600: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-700: hsla(20, 100%, 49%, 0.7);
  --cpd-color-alpha-orange-800: hsla(26, 99%, 51%, 0.81);
  --cpd-color-alpha-orange-900: hsla(26, 98%, 67%, 0.98);
  --cpd-color-alpha-orange-1000: hsla(26, 100%, 73%, 0.98);
  --cpd-color-alpha-orange-1100: hsl(25, 96%, 79%, 1);
  --cpd-color-alpha-orange-1200: hsl(24, 98%, 85%, 1);
  --cpd-color-alpha-orange-1300: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-orange-1400: hsl(23, 100%, 96%, 1);
  --cpd-color-alpha-yellow-100: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-300: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-400: hsl(21, 100%, 17%, 1);
  --cpd-color-alpha-yellow-500: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-600: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-700: hsl(34, 100%, 30%, 1);
  --cpd-color-alpha-yellow-800: hsl(38, 100%, 35%, 1);
  --cpd-color-alpha-yellow-900: hsl(45, 100%, 45%, 1);
  --cpd-color-alpha-yellow-1000: hsla(46, 99%, 51%, 0.92);
  --cpd-color-alpha-yellow-1100: hsla(48, 99%, 54%, 0.97);
  --cpd-color-alpha-yellow-1200: hsl(48, 99%, 60%, 1);
  --cpd-color-alpha-yellow-1300: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 91%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-700: hsla(114, 100%, 52%, 0.42);
  --cpd-color-alpha-lime-800: hsla(109, 99%, 57%, 0.55);
  --cpd-color-alpha-lime-900: hsla(101, 99%, 60%, 0.78);
  --cpd-color-alpha-lime-1000: hsla(101, 99%, 62%, 0.83);
  --cpd-color-alpha-lime-1100: hsla(103, 97%, 75%, 0.88);
  --cpd-color-alpha-lime-1200: hsla(103, 98%, 83%, 0.91);
  --cpd-color-alpha-lime-1300: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-lime-1400: hsla(104, 92%, 95%, 0.98);
  --cpd-color-alpha-green-100: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-300: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-400: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-500: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-600: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-700: hsl(168, 100%, 23%, 1);
  --cpd-color-alpha-green-800: hsla(165, 98%, 53%, 0.54);
  --cpd-color-alpha-green-900: hsla(159, 97%, 62%, 0.78);
  --cpd-color-alpha-green-1000: hsla(156, 100%, 73%, 0.81);
  --cpd-color-alpha-green-1100: hsla(154, 98%, 82%, 0.86);
  --cpd-color-alpha-green-1200: hsla(153, 94%, 87%, 0.9);
  --cpd-color-alpha-green-1300: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-green-1400: hsla(150, 80%, 96%, 0.98);
  --cpd-color-alpha-cyan-100: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-200: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-300: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-400: hsl(212, 100%, 19%, 1);
  --cpd-color-alpha-cyan-500: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-600: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-700: hsl(200, 100%, 32%, 1);
  --cpd-color-alpha-cyan-800: hsl(195, 100%, 37%, 1);
  --cpd-color-alpha-cyan-900: hsla(186, 99%, 66%, 0.81);
  --cpd-color-alpha-cyan-1000: hsla(187, 99%, 74%, 0.84);
  --cpd-color-alpha-cyan-1100: hsla(187, 98%, 82%, 0.88);
  --cpd-color-alpha-cyan-1200: hsla(188, 97%, 87%, 0.91);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-cyan-1400: hsla(187, 89%, 97%, 0.98);
  --cpd-color-alpha-blue-100: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-300: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-400: hsla(222, 100%, 28%, 0.82);
  --cpd-color-alpha-blue-500: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-600: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 52%, 0.81);
  --cpd-color-alpha-blue-800: hsla(215, 99%, 60%, 0.91);
  --cpd-color-alpha-blue-900: hsla(216, 97%, 77%, 0.97);
  --cpd-color-alpha-blue-1000: hsla(216, 100%, 81%, 0.97);
  --cpd-color-alpha-blue-1100: hsla(216, 100%, 86%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(216, 97%, 89%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-blue-1400: hsl(216, 88%, 97%, 1);
  --cpd-color-alpha-purple-100: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-300: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-400: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-500: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-600: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-700: hsla(258, 98%, 64%, 0.9);
  --cpd-color-alpha-purple-800: hsla(255, 100%, 71%, 0.97);
  --cpd-color-alpha-purple-900: hsl(250, 100%, 83%, 1);
  --cpd-color-alpha-purple-1000: hsl(249, 100%, 86%, 1);
  --cpd-color-alpha-purple-1100: hsl(248, 100%, 89%, 1);
  --cpd-color-alpha-purple-1200: hsl(247, 100%, 92%, 1);
  --cpd-color-alpha-purple-1300: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-purple-1400: hsl(250, 100%, 98%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-400: hsla(286, 100%, 23%, 0.85);
  --cpd-color-alpha-fuchsia-500: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-600: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-700: hsla(293, 97%, 62%, 0.68);
  --cpd-color-alpha-fuchsia-800: hsla(296, 99%, 70%, 0.78);
  --cpd-color-alpha-fuchsia-900: hsla(295, 100%, 85%, 0.88);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 97%, 87%, 0.9);
  --cpd-color-alpha-fuchsia-1100: hsla(296, 92%, 90%, 0.93);
  --cpd-color-alpha-fuchsia-1200: hsla(297, 95%, 92%, 0.95);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-fuchsia-1400: hsla(300, 71%, 97%, 0.99);
  --cpd-color-alpha-pink-100: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-200: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-300: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-400: hsl(332, 100%, 19%, 1);
  --cpd-color-alpha-pink-500: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-600: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-700: hsla(335, 99%, 55%, 0.76);
  --cpd-color-alpha-pink-800: hsla(338, 98%, 58%, 0.95);
  --cpd-color-alpha-pink-900: hsl(346, 100%, 79%, 1);
  --cpd-color-alpha-pink-1000: hsl(346, 100%, 82%, 1);
  --cpd-color-alpha-pink-1100: hsl(347, 100%, 87%, 1);
  --cpd-color-alpha-pink-1200: hsl(347, 100%, 90%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 96%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 97%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-semantic{
.cpd-theme-dark-hc.cpd-theme-dark-hc {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-500);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: dark) and (prefers-contrast: more){
@layer cpd-semantic{
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-500);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-web{

/*
 * Copyright 2025 New Vector Ltd
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._pill_187tn_8 {
  border-radius: 38px;
  font: var(--cpd-font-body-xs-semibold);
  color: var(--cpd-color-text-on-solid-primary);
  background-color: #3ecf8e;
  background-color: var(--cpd-color-icon-success-primary);
  padding: 0 var(--cpd-space-2x);
  block-size: 20px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (forced-colors: active) {
  ._pill_187tn_8 {
    outline: 1px solid transparent;
  }
}
/*
 * Copyright 2025 New Vector Ltd
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._unread_cti0f_8 {
  inline-size: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

  ._unread_cti0f_8 div {
    block-size: 8px;
    inline-size: 8px;
    background-color: var(--cpd-color-icon-secondary);
    border-radius: 100%;
  }

@media (forced-colors: active) {
  ._unread_cti0f_8 div {
    outline: 1px solid transparent;
  }
}
/*
 * Copyright 2025 New Vector Ltd
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._unread-counter_1147r_8 {
  border-radius: 38px;
  font: var(--cpd-font-body-xs-semibold);
  color: var(--cpd-color-text-on-solid-primary);
  background-color: #3ecf8e;
  background-color: var(--cpd-color-icon-success-primary);
  block-size: 20px;
  min-inline-size: 20px;
  padding: 0 var(--cpd-space-1-5x);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (forced-colors: active) {
  ._unread-counter_1147r_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* TODO: Review entire file for semantic token definiton */

._alert_zx76t_10 {
  container-type: inline-size;
  container-name: alert;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: var(--cpd-space-3x);
  padding: var(--cpd-space-4x);
  border-radius: 8px;
  border: 1px solid;
}

._alert_zx76t_10[data-type="success"] {
  background-color: var(--cpd-color-green-200);
  border-color: #2e80de;
  border-color: var(--cpd-color-green-500);
}

._alert_zx76t_10[data-type="critical"] {
  background-color: var(--cpd-color-red-200);
  border-color: var(--cpd-color-red-500);
}

._alert_zx76t_10[data-type="info"] {
  background-color: var(--cpd-color-blue-200);
  border-color: var(--cpd-color-blue-500);
}

._content_zx76t_37 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--cpd-space-3x);
}

._text-content_zx76t_44 {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}

[data-type="success"] :is(._title_zx76t_48, ._icon_zx76t_48) {
  color: #e9f2fb;
  color: var(--cpd-color-green-900);
}

[data-type="critical"] :is(._title_zx76t_48, ._icon_zx76t_48) {
  color: var(--cpd-color-red-900);
}

[data-type="info"] :is(._title_zx76t_48, ._icon_zx76t_48) {
  color: var(--cpd-color-blue-900);
}

._alert_zx76t_10 p {
  margin: 0;
}

._actions_zx76t_64 {
  -webkit-box-flex: 0;
      -ms-flex: 0;
          flex: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--cpd-space-1x);
  -ms-flex-item-align: center;
      align-self: center;
}

._icon_zx76t_48 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* @TODO 600px break should be a token */

/* wrap actions into a stacked layout when the alert is <=600px */
@container alert (max-width: 600px) {
  ._content_zx76t_37 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  ._text-content_zx76t_44 {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
  }
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._icon-button_1215g_8 {
  --cpd-icon-button-indicator-border-size: calc(
    var(--cpd-icon-button-size) * 0.0625
  );

  inline-size: var(--cpd-icon-button-size);
  block-size: var(--cpd-icon-button-size);

  /* the icon is 0.75 the size of the button, so add padding to put it in the middle */
  padding: calc(var(--cpd-icon-button-size) * 0.125);
  aspect-ratio: 1 / 1;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  border-radius: 50%;
  position: relative;
  background: transparent;
  line-height: 0px;
}
  ._icon-button_1215g_8[data-kind="primary"] * {
    color: var(--cpd-color-icon-secondary);
  }

._icon-button_1215g_8[data-kind="secondary"] {
  background: var(--cpd-color-bg-subtle-secondary);
}

  ._icon-button_1215g_8[data-kind="secondary"] * {
    color: var(--cpd-color-icon-secondary);
  }

._no-background_1215g_42[data-kind="secondary"] {
  background: transparent;
}

._icon-button_1215g_8[aria-disabled="true"] {
  cursor: not-allowed;
}

  ._icon-button_1215g_8[aria-disabled="true"] * {
    color: var(--cpd-color-icon-disabled);
  }

/**
 * Hover state
 */

@media (hover) {
  ._icon-button_1215g_8:not([aria-disabled="true"]):hover {
    background: var(--cpd-color-bg-subtle-primary);
  }

    ._icon-button_1215g_8:not([aria-disabled="true"]):hover * {
      color: var(--cpd-color-icon-primary);
    }
}

._icon-button_1215g_8:not([aria-disabled="true"]):active {
  background: var(--cpd-color-bg-subtle-primary);
}

  ._icon-button_1215g_8:not([aria-disabled="true"]):active * {
    color: var(--cpd-color-icon-primary);
  }

@media (hover) {
  ._icon-button_1215g_8:not([aria-disabled="true"])[data-indicator]:is(:hover)::before {
    /* Same colour as the background */
    border: var(--cpd-icon-button-indicator-border-size) solid
      var(--cpd-color-bg-subtle-primary);
    inset-block-start: 0;
    inset-inline-end: 0;
  }
}

._icon-button_1215g_8:not([aria-disabled="true"])[data-indicator]:is(:active)::before {
  /* Same colour as the background */
  border: var(--cpd-icon-button-indicator-border-size) solid
    var(--cpd-color-bg-subtle-primary);
  inset-block-start: 0;
  inset-inline-end: 0;
}

@media (hover) {
  ._icon-button_1215g_8:not([aria-disabled="true"])._destructive_1215g_95:hover {
    background: var(--cpd-color-bg-critical-subtle-hovered);
    outline: 1px solid var(--cpd-color-border-critical-subtle);
  }
}
  ._icon-button_1215g_8:not([aria-disabled="true"])._destructive_1215g_95 * {
    color: var(--cpd-color-icon-critical-primary);
  }
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * Note this is very closely coupled to the indicator mask SVG as this masks out
 * the icon behind to draw the 'stroke' around the indicator dot.
 *
 * The SVG is a 24x24px black square with a circle of radius 6 positioned
 * 4px above and to the right of the canvas. This is the size of the indicator
 * dot plus the stroke (dimensions calculated from the figma).
 */

._indicator-icon_147l5_17 {
  /* This is called 'button size' but the docs say 'icon size' */
  inline-size: var(--cpd-icon-button-size);
  block-size: var(--cpd-icon-button-size);
  aspect-ratio: 1 / 1;
  color: var(--cpd-color-icon-tertiary);
  position: relative;
}

._indicator-icon_147l5_17 svg {
  inline-size: 100%;
  block-size: 100%;
}

._indicator-icon_147l5_17[data-indicator] svg {
  -webkit-mask-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20fill='none'%20version='1.1'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m0%200v24h24v-16.359a6%206%200%200%201-2%200.35938%206%206%200%200%201-6-6%206%206%200%200%201%200.35938-2h-16.359z'%20fill='%23000'%20stroke-width='0'/%3e%3c/svg%3e");
          mask-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20fill='none'%20version='1.1'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m0%200v24h24v-16.359a6%206%200%200%201-2%200.35938%206%206%200%200%201-6-6%206%206%200%200%201%200.35938-2h-16.359z'%20fill='%23000'%20stroke-width='0'/%3e%3c/svg%3e");
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
          mask-size: 100%;
}

._indicator-icon_147l5_17[data-indicator]::before {
  content: "";
  position: absolute;

  /* The dot is 1/12th above & to the right of the canvas */
  inset-block-start: -8.3333%;
  inset-inline-end: -8.3333%;

  /* and is 1/3rd the size of the canvas */
  inline-size: 33.3333%;
  block-size: 33.333%;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;

  --background-color: var(--cpd-color-icon-primary);

  background-color: var(--background-color);
}

._indicator-icon_147l5_17[data-indicator="success"]::before {
  --background-color: var(--cpd-color-icon-success-primary);
}

._indicator-icon_147l5_17[data-indicator="critical"]::before {
  --background-color: var(--cpd-color-icon-critical-primary);
}

@media (forced-colors: active) {
  ._indicator-icon_147l5_17[data-indicator]::before {
    border: 1px solid var(--background-color);
  }
}
/*
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._tooltip_1nqnq_8 {
  font: var(--cpd-font-body-xs-medium);
  padding: var(--cpd-space-1-5x) var(--cpd-space-3x);
  background: var(--cpd-color-alpha-gray-1400);
  color: var(--cpd-color-text-on-solid-primary);
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  cursor: pointer;
}

._tooltip_1nqnq_8._invisible_1nqnq_21 {
  /* Hide the tooltip in a way that allows it to act as an accessible label,
  even when invisible */
  clip-path: inset(50%);
  pointer-events: none;
}

._caption_1nqnq_28 {
  font-weight: var(--cpd-font-weight-regular);
  color: var(--cpd-color-text-secondary);
}

._arrow_1nqnq_33 {
  /* same color as the tooltip background */
  fill: var(--cpd-color-alpha-gray-1400);
}

@media (forced-colors: active) {
  ._tooltip_1nqnq_8:not(._invisible_1nqnq_21) {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/**
 * Font – Body – Extra Small
 */

._font-body-xs-regular_6v6n8_12 {
  letter-spacing: var(--cpd-font-letter-spacing-body-xs);
  font: var(--cpd-font-body-xs-regular);
}

._font-body-xs-semibold_6v6n8_17 {
  letter-spacing: var(--cpd-font-letter-spacing-body-xs);
  font: var(--cpd-font-body-xs-semibold);
}

._font-body-xs-medium_6v6n8_22 {
  letter-spacing: var(--cpd-font-letter-spacing-body-xs);
  font: var(--cpd-font-body-xs-medium);
}

/**
 * Font – Body – Small
 */

._font-body-sm-regular_6v6n8_31 {
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  font: var(--cpd-font-body-sm-regular);
}

._font-body-sm-semibold_6v6n8_36 {
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  font: var(--cpd-font-body-sm-semibold);
}

._font-body-sm-medium_6v6n8_41 {
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  font: var(--cpd-font-body-sm-medium);
}

/**
 * Font – Body – Medium
 */

._font-body-md-regular_6v6n8_50 {
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
  font: var(--cpd-font-body-md-regular);
}

._font-body-md-semibold_6v6n8_55 {
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
  font: var(--cpd-font-body-md-semibold);
}

._font-body-md-medium_6v6n8_60 {
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
  font: var(--cpd-font-body-md-medium);
}

/**
 * Font – Body – Large
 */

._font-body-lg-regular_6v6n8_69 {
  letter-spacing: var(--cpd-font-letter-spacing-body-lg);
  font: var(--cpd-font-body-lg-regular);
}

._font-body-lg-semibold_6v6n8_74 {
  letter-spacing: var(--cpd-font-letter-spacing-body-lg);
  font: var(--cpd-font-body-lg-semibold);
}

._font-body-lg-medium_6v6n8_79 {
  letter-spacing: var(--cpd-font-letter-spacing-body-lg);
  font: var(--cpd-font-body-lg-medium);
}

/**
 * Font – Heading – Small
 */

._font-heading-sm-regular_6v6n8_88 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-sm);
  font: var(--cpd-font-heading-sm-regular);
}

._font-heading-sm-semibold_6v6n8_93 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-sm);
  font: var(--cpd-font-heading-sm-semibold);
}

._font-heading-sm-medium_6v6n8_98 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-sm);
  font: var(--cpd-font-heading-sm-medium);
}

/**
 * Font – Heading – Medium
 */

._font-heading-md-regular_6v6n8_107 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-md);
  font: var(--cpd-font-heading-md-regular);
}

._font-heading-md-semibold_6v6n8_112 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-md);
  font: var(--cpd-font-heading-md-semibold);
}

/**
 * Font – Heading – Large
 */

._font-heading-lg-regular_6v6n8_121 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
  font: var(--cpd-font-heading-lg-regular);
}

._font-heading-lg-semibold_6v6n8_126 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
  font: var(--cpd-font-heading-lg-semibold);
}

/**
 * Font – Heading – Extra Large
 */

._font-heading-xl-regular_6v6n8_135 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-xl);
  font: var(--cpd-font-heading-xl-regular);
}

._font-heading-xl-semibold_6v6n8_140 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-xl);
  font: var(--cpd-font-heading-xl-semibold);
}

/**
  * Reset font-feature-settings after letter-spacing has been tweaked.
  * We want to apply Inter Dynamic metrics (https://rsms.me/inter/dynmetrics/)
  * We need to tweak the `letter-spacing` property and doing so, disables by
  * default the optional ligatures
  * `font-feature-settings` allows us to override this behaviour and have the
  * correct ligatures and the proper dynamic metric spacing.
  */
._typography_6v6n8_153 {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
          font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-feature-settings: var(--cpd-font-feature-settings);
          font-feature-settings: var(--cpd-font-feature-settings);
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._avatar_va14e_8 {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;

  /* -2px to account for the border styling below */
  line-height: calc(var(--cpd-avatar-size) - 2px);
  text-align: center;
  font-size: min(calc(var(--cpd-avatar-size) * 0.5625), 60px);
  text-transform: uppercase;
  speak: none; /* stylelint-disable-line declaration-property-value-no-unknown */
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Twemoji",
        "Apple Color Emoji", "Segoe UI Emoji", Arial, sans-serif;
  font-family: var(--cpd-font-family-sans);
  font-weight: bold;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; /* stylelint-disable-line defensive-css/no-user-select-none */

  /* Set a background color to help with visual consistency when displaying
   * avatars with a translucent background */
  background: var(--cpd-color-bg-canvas-default);
}

button._avatar_va14e_8 {
  /**
   * The avatar can be a button element, we need to reset its style
   */
  padding: 0;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

button._avatar_va14e_8:disabled {
  cursor: not-allowed;
}

._avatar_va14e_8,
._image_va14e_43 {
  aspect-ratio: 1 / 1;
  inline-size: var(--cpd-avatar-size);
  border-radius: var(--cpd-avatar-radius);
}

._image_va14e_43 {
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}

/* Additional selector for button to raise selector above button.avatar */
button._avatar-imageless_va14e_55,
._avatar-imageless_va14e_55 {
  /* In the future we'd prefer to pass the HEX code as the data attr
     and use `attr(data-color)` to avoid the style declaration from below
     but this is currently not supported in all browsers */
  background: var(--cpd-avatar-bg);
  color: var(--cpd-avatar-color);

  /* Additional style to ensure visibility in contrast-mode */
  border: 1px solid var(--cpd-avatar-bg);
}

._avatar_va14e_8[data-color] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-1);
  --cpd-avatar-color: var(--cpd-color-text-decorative-1);
}

._avatar_va14e_8[data-color="2"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-2);
  --cpd-avatar-color: var(--cpd-color-text-decorative-2);
}

._avatar_va14e_8[data-color="3"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-3);
  --cpd-avatar-color: var(--cpd-color-text-decorative-3);
}

._avatar_va14e_8[data-color="4"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-4);
  --cpd-avatar-color: var(--cpd-color-text-decorative-4);
}

._avatar_va14e_8[data-color="5"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-5);
  --cpd-avatar-color: var(--cpd-color-text-decorative-5);
}

._avatar_va14e_8[data-color="6"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-6);
  --cpd-avatar-color: var(--cpd-color-text-decorative-6);
}

._avatar_va14e_8[data-type="round"] {
  --cpd-avatar-radius: 50%;
}

._avatar_va14e_8[data-type="square"] {
  --cpd-avatar-radius: 25%;
}

/**
 * Stacked avatars 
 */

._stacked-avatars_va14e_109::after {
  content: "";
  display: table;
  clear: both;
}

._stacked-avatars_va14e_109 ._avatar_va14e_8 {
  float: inline-start;
}

._stacked-avatars_va14e_109 ._avatar_va14e_8:not(:last-child) {
  /* injected in the document from AvatarStack.tsx */
  clip-path: url("#cpdAvatarClip");
}

._stacked-avatars_va14e_109 > *:not(:first-child) {
  -webkit-margin-start: calc(var(--cpd-avatar-size) * -0.4);
          margin-inline-start: calc(var(--cpd-avatar-size) * -0.4);
}

._clip-path_va14e_128 {
  /* In theory the SVG is invisible, but we still need to ensure it doesn't
  affect the page's layout or otherwise make an appearance */
  position: fixed;
  inset-inline-start: -9999px;
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._badge_10dml_8 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: var(--cpd-space-1x);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 9999px; /* pill effect */
  padding: var(--cpd-space-1x) var(--cpd-space-3x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-block-size: 28px;
}

._has-icon_10dml_18 {
  -webkit-padding-start: var(--cpd-space-2x);
          padding-inline-start: var(--cpd-space-2x);
}

._badge_10dml_8[data-kind="default"] {
  border: 1px solid var(--cpd-color-border-interactive-secondary);

  /* To keep the same height than the other badges despite the border  */
  padding-block: calc(var(--cpd-space-1x) - 1px);
  outline: none;
  color: #ffffff;
  color: var(--cpd-color-text-primary);
}

  ._badge_10dml_8[data-kind="default"] svg {
    color: var(--cpd-color-icon-primary);
  }

._badge_10dml_8[data-kind="grey"] {
  background: var(--cpd-color-bg-badge-secondary);
  color: #ffffff;
  color: var(--cpd-color-text-primary);
}

  ._badge_10dml_8[data-kind="grey"] svg {
    color: var(--cpd-color-icon-primary);
  }

._badge_10dml_8[data-kind="on-solid"] {
  background: var(--cpd-color-bg-badge-primary);
  color: var(--cpd-color-text-on-solid-primary);
}

  ._badge_10dml_8[data-kind="on-solid"] svg {
    color: var(--cpd-color-icon-on-solid-primary);
  }

._badge_10dml_8[data-kind="blue"] {
  background: var(--cpd-color-bg-badge-info);
  color: var(--cpd-color-text-badge-info);
}

  ._badge_10dml_8[data-kind="blue"] svg {
    color: var(--cpd-color-icon-info-primary);
  }

._badge_10dml_8[data-kind="green"] {
  background: var(--cpd-color-bg-badge-accent);
  color: var(--cpd-color-text-badge-accent);
}

  ._badge_10dml_8[data-kind="green"] svg {
    color: var(--cpd-color-icon-accent-primary);
  }

._badge_10dml_8[data-kind="red"] {
  background: var(--cpd-color-bg-badge-critical);
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

  ._badge_10dml_8[data-kind="red"] svg {
    color: var(--cpd-color-icon-critical-primary);
  }

@media (forced-colors: active) {
  ._badge_10dml_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._breadcrumb_t96w3_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  block-size: 40px;
  gap: var(--cpd-space-3x);
  -webkit-padding-after: var(--cpd-space-3x);
          padding-block-end: var(--cpd-space-3x);
  -webkit-border-after: 1px solid var(--cpd-color-alpha-gray-400);
          border-block-end: 1px solid var(--cpd-color-alpha-gray-400);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

  ._breadcrumb_t96w3_8 ._pages_t96w3_17 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-1x);

    /* override list styles */
    list-style-type: "";
    margin: 0;
    padding: 0;
  }

    ._breadcrumb_t96w3_8 ._pages_t96w3_17 a {
      cursor: pointer;
    }

    ._breadcrumb_t96w3_8 ._pages_t96w3_17 ._last-page_t96w3_30 {
      font: var(--cpd-font-body-sm-regular);
      color: var(--cpd-color-text-secondary);
    }

    /*
     * Breadcrumb separator
     * We want this separator to be only visual and to not be in the accessibility tree.
     * The nav html element already provides an accessible way to separate the links.
     */
    ._breadcrumb_t96w3_8 ._pages_t96w3_17 li + li::before {
      display: inline-block;
      margin: 0 0.3em 0 0.25em;
      -webkit-transform: rotate(15deg);
              transform: rotate(15deg);
      -webkit-border-end: 1px solid var(--cpd-color-text-secondary);
              border-inline-end: 1px solid var(--cpd-color-text-secondary);
      block-size: var(--cpd-space-3x);
      content: "";
    }

    /* Last page */
      ._breadcrumb_t96w3_8 ._pages_t96w3_17 :last-child span {
        -webkit-padding-start: var(--cpd-space-1x);
                padding-inline-start: var(--cpd-space-1x);
      }
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._link_k9ljz_8 {
  display: inline-block;
  text-decoration: underline;
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  font-weight: var(--cpd-font-weight-medium);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  padding-inline: 0.25rem;
}

._link_k9ljz_8[data-kind="primary"] {
  color: #ffffff;
  color: var(--cpd-color-text-primary);
}

._link_k9ljz_8[data-kind="critical"] {
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

@media (hover) {
  ._link_k9ljz_8[data-kind="primary"]:hover {
    background: #182533;
    background: var(--cpd-color-gray-300);
  }

  ._link_k9ljz_8[data-kind="critical"]:hover {
    background: var(--cpd-color-red-300);
  }
}

._link_k9ljz_8:active {
  color: var(--cpd-color-text-on-solid-primary);
}

._link_k9ljz_8[data-kind="primary"]:active {
  background: #ffffff;
  background: var(--cpd-color-text-primary);
}

._link_k9ljz_8[data-kind="critical"]:active {
  background: #e0454b;
  background: var(--cpd-color-text-critical-primary);
}

._link_k9ljz_8[data-size="md"] {
  font-size: var(--cpd-font-size-body-md);
}

._link_k9ljz_8[data-size="sm"] {
  font-size: var(--cpd-font-size-body-sm);
}
/*
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._button_1nw83_8 {
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--cpd-space-2x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font: var(--cpd-font-body-md-semibold);
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  -webkit-transition-property: color, background-color, border-color;
  transition-property: color, background-color, border-color;
}

a._button_1nw83_8 {
  /* Make the width match that of a real button */
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;

  /* Buttons should not be underlined */
  text-decoration: none;
}

._button_1nw83_8 > svg {
  -webkit-transition: color 0.1s;
  transition: color 0.1s;
}

._button_1nw83_8[aria-disabled="true"] {
  cursor: not-allowed;
  pointer-events: all !important;
  color: var(--cpd-color-text-disabled) !important;
}

._button_1nw83_8[aria-disabled="true"] > svg {
  color: var(--cpd-color-icon-disabled) !important;
}

/**
 * SIZES
 */

._button_1nw83_8[data-size="lg"] {
  padding-block: var(--cpd-space-2x);
  padding-inline: var(--cpd-space-8x);
  min-block-size: var(--cpd-space-12x);
}

  ._button_1nw83_8[data-size="lg"]._icon-only_1nw83_53 {
    padding-inline: var(--cpd-space-2x);
    block-size: var(--cpd-space-12x);
    inline-size: var(--cpd-space-12x);
  }

._button_1nw83_8[data-size="lg"]._has-icon_1nw83_60:not(._icon-only_1nw83_53) {
  -webkit-padding-start: var(--cpd-space-7x);
          padding-inline-start: var(--cpd-space-7x);
}

._button_1nw83_8[data-size="md"] {
  padding-block: var(--cpd-space-1x);
  padding-inline: var(--cpd-space-5x);
  min-block-size: var(--cpd-space-9x);
}

  ._button_1nw83_8[data-size="md"]._icon-only_1nw83_53 {
    padding-inline: var(--cpd-space-1x);
    block-size: var(--cpd-space-9x);
    inline-size: var(--cpd-space-9x);
  }

._button_1nw83_8[data-size="md"]._has-icon_1nw83_60:not(._icon-only_1nw83_53) {
  -webkit-padding-start: var(--cpd-space-4x);
          padding-inline-start: var(--cpd-space-4x);
}

/**
 * KINDS
 */

._button_1nw83_8[data-kind="primary"] {
  color: var(--cpd-color-text-on-solid-primary);
  background: #2e80de;
  background: var(--cpd-color-bg-action-primary-rest);
  border-width: 0;
}

._button_1nw83_8[data-kind="primary"] > svg {
  color: var(--cpd-color-icon-on-solid-primary);
}

@media (hover) {
  ._button_1nw83_8[data-kind="primary"]:hover {
    background: #3a8fe6;
    background: var(--cpd-color-bg-action-primary-hovered);
  }
}

._button_1nw83_8[data-kind="primary"]:active,
._button_1nw83_8[data-kind="primary"][aria-expanded="true"] {
  background: #175fb0;
  background: var(--cpd-color-bg-action-primary-pressed);
}

._button_1nw83_8[data-kind="primary"][aria-disabled="true"] {
  /* !important to override destructive background */
  background: var(--cpd-color-bg-subtle-primary) !important;
}

._button_1nw83_8[data-kind="primary"]._destructive_1nw83_110 {
  background: var(--cpd-color-bg-critical-primary);
}

@media (hover) {
  ._button_1nw83_8[data-kind="primary"]._destructive_1nw83_110:hover {
    background: var(--cpd-color-bg-critical-hovered);
  }
}

._button_1nw83_8[data-kind="primary"]._destructive_1nw83_110:active,
._button_1nw83_8[data-kind="primary"]._destructive_1nw83_110[aria-expanded="true"] {
  /* TODO: We're waiting for this value to be formalized as a semantic token */
  background: var(--cpd-color-red-1100);
}

._button_1nw83_8[data-kind="secondary"] {
  border: 1px solid var(--cpd-color-border-interactive-secondary);
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  background: var(--cpd-color-bg-canvas-default);
}

._button_1nw83_8[data-kind="secondary"] > svg {
  color: var(--cpd-color-icon-primary);
}

@media (hover) {
  ._button_1nw83_8[data-kind="secondary"]:hover {
    border-color: var(--cpd-color-border-interactive-hovered);
    background: var(--cpd-color-bg-subtle-secondary);
  }
}

._button_1nw83_8[data-kind="secondary"]:active,
._button_1nw83_8[data-kind="secondary"][aria-expanded="true"] {
  border-color: var(--cpd-color-border-interactive-hovered);
  background: var(--cpd-color-bg-subtle-primary);
}

._button_1nw83_8[data-kind="secondary"][aria-disabled="true"] {
  /* !important to override destructive values */
  border-color: var(--cpd-color-border-interactive-secondary) !important;
  background: var(--cpd-color-bg-subtle-secondary) !important;
}

._button_1nw83_8[data-kind="secondary"]._destructive_1nw83_110 {
  border-color: var(--cpd-color-border-critical-subtle);
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

._button_1nw83_8[data-kind="secondary"]._destructive_1nw83_110 > svg {
  color: var(--cpd-color-icon-critical-primary);
}

@media (hover) {
  ._button_1nw83_8[data-kind="secondary"]._destructive_1nw83_110:hover {
    border-color: var(--cpd-color-border-critical-hovered);
    background: var(--cpd-color-bg-critical-subtle);
  }
}

._button_1nw83_8[data-kind="secondary"]._destructive_1nw83_110:active,
._button_1nw83_8[data-kind="secondary"]._destructive_1nw83_110[aria-expanded="true"] {
  border-color: var(--cpd-color-border-critical-hovered);
  background: var(--cpd-color-bg-critical-subtle-hovered);
}

._button_1nw83_8[data-kind="tertiary"] {
  border: none;
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  text-decoration: underline;
  background: transparent;
}

@media (hover) {
  ._button_1nw83_8[data-kind="tertiary"]:hover {
    background: var(--cpd-color-bg-subtle-secondary);
  }
}

._button_1nw83_8[data-kind="tertiary"]:active,
._button_1nw83_8[data-kind="tertiary"][aria-expanded="true"] {
  background: var(--cpd-color-bg-subtle-primary);
}

._button_1nw83_8[data-kind="tertiary"][aria-disabled="true"] {
  color: var(--cpd-color-text-disabled);

  /* !important to override destructive background */
  background: transparent !important;
}

._button_1nw83_8[data-kind="tertiary"]._destructive_1nw83_110 {
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

@media (hover) {
  ._button_1nw83_8[data-kind="tertiary"]._destructive_1nw83_110:hover {
    background: var(--cpd-color-bg-critical-subtle);
  }
}

._button_1nw83_8[data-kind="tertiary"]._destructive_1nw83_110:active,
._button_1nw83_8[data-kind="tertiary"]._destructive_1nw83_110[aria-expanded="true"] {
  background: var(--cpd-color-bg-critical-subtle-hovered);
}

@media (forced-colors: active) {
  ._button_1nw83_8[data-kind="primary"] {
    outline: 1px solid transparent;
  }
}
/*
 * Copyright 2025 New Vector Ltd
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._chat-filter_5qdp0_8 {
  font: var(--cpd-font-body-sm-medium);
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  background-color: transparent;
  border: var(--cpd-border-width-1) solid
    var(--cpd-color-border-interactive-secondary);
  border-radius: 99px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: var(--cpd-space-1x) var(--cpd-space-2x);
}

@media (hover) {
  ._chat-filter_5qdp0_8:hover {
    border-color: var(--cpd-color-border-interactive-primary);
    background: var(--cpd-color-bg-subtle-primary);
  }
}

._chat-filter_5qdp0_8[aria-selected="true"] {
  border-color: #2e80de;
  border-color: var(--cpd-color-bg-action-primary-rest);
  background: #2e80de;
  background: var(--cpd-color-bg-action-primary-rest);
  color: var(--cpd-color-text-on-solid-primary);
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_z8zo1_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

  ._container_z8zo1_8 label {
    font: var(--cpd-font-body-md-medium);
    -webkit-margin-after: var(--cpd-space-1x);
            margin-block-end: var(--cpd-space-1x);
  }

  ._container_z8zo1_8 button {
    inline-size: 100%;
    border: 1px solid var(--cpd-color-border-interactive-primary);
    background: var(--cpd-color-bg-canvas-default);
    border-radius: 0.5rem;
    padding: var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-3x)
      var(--cpd-space-4x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    font: var(--cpd-font-body-md-regular);
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--cpd-space-4x);
  }
      @media (prefers-reduced-motion: no-preference) {

    ._container_z8zo1_8 button svg {
        -webkit-transition: -webkit-transform 0.1s linear;
        transition: -webkit-transform 0.1s linear;
        transition: transform 0.1s linear;
        transition: transform 0.1s linear, -webkit-transform 0.1s linear
    }
      }

  /**
   * When the dropdown is open, rotate the arrow icon
   */
    ._container_z8zo1_8 button[aria-expanded="true"] svg {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
    }

  ._container_z8zo1_8 button._placeholder_z8zo1_49 {
    color: var(--cpd-color-text-secondary);
  }

  ._container_z8zo1_8 ._border_z8zo1_53 {
    display: none;
    -webkit-border-start: 1px solid var(--cpd-color-border-interactive-secondary);
            border-inline-start: 1px solid var(--cpd-color-border-interactive-secondary);
    -webkit-border-end: 1px solid var(--cpd-color-border-interactive-secondary);
            border-inline-end: 1px solid var(--cpd-color-border-interactive-secondary);
    block-size: var(--cpd-space-1x);
    -webkit-margin-before: calc(var(--cpd-space-1x) * -1);
            margin-block-start: calc(var(--cpd-space-1x) * -1);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  ._container_z8zo1_8 ._content_z8zo1_62 {
    display: none;
    position: relative;
  }

    ._container_z8zo1_8 ._content_z8zo1_62 ul {
      /**
       * To make the component going over the other elements
       */
      position: absolute;
      display: block;
      inline-size: 100%;
      background: var(--cpd-color-bg-canvas-default);
      border: 1px solid var(--cpd-color-border-interactive-secondary);
      -webkit-border-before: 0;
              border-block-start: 0;
      border-end-start-radius: var(--cpd-space-4x);
      border-end-end-radius: var(--cpd-space-4x);
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      -webkit-box-shadow: 0 4px 24px 0 rgb(27 29 34 / 10%);
              box-shadow: 0 4px 24px 0 rgb(27 29 34 / 10%);
      margin: 0;
      padding: 0;
      -webkit-padding-after: var(--cpd-space-4x);
              padding-block-end: var(--cpd-space-4x);
      cursor: pointer;
    }

      ._container_z8zo1_8 ._content_z8zo1_62 ul li {
        list-style-type: "";
        font: var(--cpd-font-body-md-medium);
        padding: var(--cpd-space-3x) var(--cpd-space-4x);
        -webkit-border-after: 1px solid #182533;
                border-block-end: 1px solid #182533;
        -webkit-border-after: 1px solid var(--cpd-color-gray-300);
                border-block-end: 1px solid var(--cpd-color-gray-300);
        color: var(--cpd-color-text-secondary);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--cpd-space-4x);
      }

        @media (hover) {
          ._container_z8zo1_8 ._content_z8zo1_62 ul li:hover {
            background: var(--cpd-color-gray-200);
          }
        }

        ._container_z8zo1_8 ._content_z8zo1_62 ul li[aria-selected="true"] {
          color: #ffffff;
          color: var(--cpd-color-text-primary);
          background: #182533;
          background: var(--cpd-color-gray-300);
        }

  ._container_z8zo1_8 ._open_z8zo1_110 {
    display: block;
  }

  ._container_z8zo1_8 ._help_z8zo1_114 {
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
  }

  ._container_z8zo1_8 ._error_z8zo1_119 {
    font: var(--cpd-font-body-sm-medium);
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-2x);
  }

  ._container_z8zo1_8 ._error_z8zo1_119,
  ._container_z8zo1_8 ._help_z8zo1_114 {
    -webkit-margin-before: var(--cpd-space-2x);
            margin-block-start: var(--cpd-space-2x);
  }
    ._container_z8zo1_8[aria-invalid="true"] label {
      color: #e0454b;
      color: var(--cpd-color-text-critical-primary);
    }

    ._container_z8zo1_8[aria-invalid="true"] button {
      border-color: #e0454b;
      border-color: var(--cpd-color-text-critical-primary);
    }
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_1s836_8 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
}

._control_1s836_13 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-padding-end: var(--cpd-space-12x) !important;
          padding-inline-end: var(--cpd-space-12x) !important;

  /* From the flexbox spec:
   *   "By default, flex items won’t shrink below their minimum content size"
   * This allows the element to shrink lower than its natural default size.
   */
  min-inline-size: 0;
}

._action_1s836_24 {
  all: unset;
  color: var(--cpd-color-icon-secondary);
  background-color: transparent;
  cursor: pointer;
  position: absolute;
  inset-block: var(--cpd-space-2x);
  inset-inline-end: var(--cpd-space-2x);
  padding: var(--cpd-space-1x);
  overflow: visible;
  border-radius: 50%;
}

._action_1s836_24 > svg {
  inline-size: var(--cpd-space-6x);
  block-size: var(--cpd-space-6x);
}

@media (hover) {
  ._action_1s836_24:hover {
    color: var(--cpd-color-icon-primary);
    background-color: var(--cpd-color-bg-subtle-secondary);
  }
}

._action_1s836_24:focus-visible {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

._control_1s836_13[disabled] + ._action_1s836_24 {
  pointer-events: none;
  color: var(--cpd-color-text-disabled);
}

._control_1s836_13[readonly] + ._action_1s836_24 {
  pointer-events: none;
  color: var(--cpd-color-text-secondary);
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._control_d83jn_10 {
  border: 1px solid var(--cpd-color-border-interactive-primary);
  background: var(--cpd-color-bg-canvas-default);
  border-radius: 0.5rem;
  padding: var(--cpd-space-3x) var(--cpd-space-4x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;

  /**
  * Disable contextual alternate ligatures in inputs
  * https://github.com/rsms/inter/issues/222
  * https://github.com/rsms/inter/blob/master/src/features/calt.fea
  */
  -webkit-font-feature-settings: "calt" 0;
          font-feature-settings: "calt" 0;
}

@media (hover) {
  ._control_d83jn_10:hover {
    border-color: var(--cpd-color-border-interactive-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }
}

._control_d83jn_10:active {
  border-color: var(--cpd-color-border-interactive-hovered);
}

/* stylelint-disable-next-line defensive-css/require-focus-visible */
._control_d83jn_10:focus {
  outline: 2px solid var(--cpd-color-border-focused);
  border-color: transparent;
}

._control_d83jn_10[data-invalid] {
  border-color: #e0454b;
  border-color: var(--cpd-color-text-critical-primary);
}

._control_d83jn_10:disabled {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-canvas-disabled);
  border-color: var(--cpd-color-border-disabled);
  color: var(--cpd-color-text-disabled);
  cursor: not-allowed;
}

._control_d83jn_10[readonly] {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-subtle-secondary);
  border-color: var(--cpd-color-bg-subtle-secondary);
  color: var(--cpd-color-text-secondary);
}

._control_d83jn_10._enable-ligatures_d83jn_63 {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
          font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-feature-settings: var(--cpd-font-feature-settings);
          font-feature-settings: var(--cpd-font-feature-settings);
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_153f2_10 {
  --size: 20px;

  display: grid;
  inline-size: 20px;
  inline-size: var(--size);
  block-size: 20px;
  block-size: var(--size);
}

._input_153f2_18,
._ui_153f2_19 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  grid-area: 1/1;
  inline-size: var(--size);
  block-size: var(--size);
}

._input_153f2_18 {
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

._ui_153f2_19 {
  pointer-events: none;
  border-radius: 4px; /* TODO: Ought to be a token */
  border: 1px solid;
  border-color: var(--cpd-color-border-interactive-primary);
}

._ui_153f2_19 svg {
  inline-size: var(--size);
  block-size: var(--size);

  /* compensate for the parent border */
  margin: -1px;

  /** Default, rest state */
  color: transparent;
}

._input_153f2_18:checked + ._ui_153f2_19 {
  background-color: var(--cpd-color-bg-accent-rest);
  border-color: var(--cpd-color-bg-accent-rest);
}

._input_153f2_18:checked + ._ui_153f2_19 svg {
  color: var(--cpd-color-icon-on-solid-primary);
}

._input_153f2_18:focus-visible + ._ui_153f2_19 {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

._input_153f2_18[disabled] {
  cursor: not-allowed;
}

._input_153f2_18[disabled] + ._ui_153f2_19 {
  border-color: var(--cpd-color-border-disabled);
  background: var(--cpd-color-bg-canvas-disabled);
}

._input_153f2_18[readonly] {
  pointer-events: none;
}

._input_153f2_18[readonly] + ._ui_153f2_19 {
  border-color: var(--cpd-color-border-interactive-secondary);
  background: var(--cpd-color-bg-subtle-secondary);
}

._input_153f2_18[disabled]:checked + ._ui_153f2_19 {
  border-color: var(--cpd-color-bg-action-primary-disabled);
  background: var(--cpd-color-bg-action-primary-disabled);
}

._input_153f2_18[readonly]:checked + ._ui_153f2_19 svg {
  color: var(--cpd-color-icon-secondary);
}

@media (hover) {
  ._input_153f2_18:not([disabled], [readonly], :checked):hover + ._ui_153f2_19 {
    border-color: var(--cpd-color-bg-accent-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }

  ._input_153f2_18:not([disabled], [readonly], :checked):hover + ._ui_153f2_19 svg {
    color: var(--cpd-color-icon-quaternary);
  }

  ._input_153f2_18:not([disabled], [readonly]):checked:hover + ._ui_153f2_19 {
    border-color: var(--cpd-color-bg-accent-hovered);
    background: var(--cpd-color-bg-accent-hovered);
  }

  ._input_153f2_18[data-invalid]:not([disabled], [readonly]):checked:hover + ._ui_153f2_19 {
    border-color: var(--cpd-color-bg-critical-hovered);
    background: var(--cpd-color-bg-critical-hovered);
  }
}

._input_153f2_18[data-invalid]:not([disabled], :checked, [readonly]) + ._ui_153f2_19 {
  border-color: var(--cpd-color-border-critical-primary);
}

._input_153f2_18[data-invalid]:not([disabled], [readonly]):checked + ._ui_153f2_19 {
  background-color: var(--cpd-color-bg-critical-primary);
  border-color: var(--cpd-color-bg-critical-primary);
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._controls_17lij_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}

  ._controls_17lij_8 > input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-inline-size: 0;
  }

._button-group_17lij_18 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  inset-block-start: var(--cpd-space-1x);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--cpd-space-2x);
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Styling the Radix UI Form component */

/**
 * ROOT: Form Element
 */

._root_19upo_16 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-5x);
}

/**
 * FIELD: Wrapper around label, control and message
 */

._field_19upo_26 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);
}

._inline-field_19upo_32 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--cpd-space-2x);
}

._inline-field-body_19upo_38 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

._inline-field-control_19upo_44 {
  /* The control should have the same height as the label */
  block-size: calc(
    var(--cpd-font-size-body-md) * var(--cpd-font-line-height-regular)
  );

  /* Align the control in the middle of the label */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/**
 * LABEL
 */

._label_19upo_59 {
  font: var(--cpd-font-body-md-medium);
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
}

._label_19upo_59[for] {
  cursor: pointer;
}

._label_19upo_59[data-invalid] {
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

/* Currently working everywhere but on Firefox (only behind a labs flag)
https://developer.mozilla.org/en-US/docs/Web/CSS/:has#browser_compatibility */
._label_19upo_59:has(~ * input[disabled]),
._label_19upo_59:has(~ input[disabled]),
._inline-field-control_19upo_44:has(input[disabled]) ~ ._inline-field-body_19upo_38 ._label_19upo_59 {
  color: var(--cpd-color-text-disabled);
  cursor: not-allowed;
}

/**
 * Help and error messages
 */

._message_19upo_85 {
  font: var(--cpd-font-body-sm-regular);
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  -webkit-margin-before: var(--cpd-space-1x);
          margin-block-start: var(--cpd-space-1x);
}

._help-message_19upo_91 {
  color: var(--cpd-color-text-secondary);
}

._error-message_19upo_95 {
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

._success-message_19upo_99 {
  color: #3ecf8e;
  color: var(--cpd-color-text-success-primary);
}

/* Currently working everywhere but on Firefox (only behind a labs flag)
https://developer.mozilla.org/en-US/docs/Web/CSS/:has#browser_compatibility */
input[disabled] ~ ._message_19upo_85,
*:has(input[disabled]) ~ ._message_19upo_85,
._inline-field-control_19upo_44:has(input[disabled]) ~ ._inline-field-body_19upo_38 ._message_19upo_85 {
  color: var(--cpd-color-text-disabled);
}

._message_19upo_85 > svg {
  display: inline-block;
  vertical-align: bottom;
  -webkit-margin-end: var(--cpd-space-2x);
          margin-inline-end: var(--cpd-space-2x);

  /* Calculate the size of the icon based on the font size and line height */
  block-size: calc(1em * var(--cpd-font-line-height-regular));
  inline-size: calc(1em * var(--cpd-font-line-height-regular));
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

@-webkit-keyframes _spin_1855a_1 {
  from {
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }

  to {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

@keyframes _spin_1855a_1 {
  from {
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }

  to {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

._icon_1855a_18 {
  color: var(--cpd-color-icon-secondary);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  inline-size: 100%;
  block-size: 100%;
}

  @media (prefers-reduced-motion: no-preference) {

._icon_1855a_18 {
    -webkit-animation: 1s linear _spin_1855a_1 infinite;
            animation: 1s linear _spin_1855a_1 infinite
}
  }
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_17qhw_10 {
  --gap: var(--cpd-space-3x);
  --digit-size: var(--cpd-space-10x);
  --digit-height: var(--cpd-space-12x);

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--gap);

  /* The input is positioned absolutely
     so the container needs to be positioned relatively */
  position: relative;
}

._control_17qhw_25 {
  all: unset;

  /** TODO: semantic token */
  font-family: var(--cpd-font-family-mono), ui-monospace, monospace;
  font-weight: 700;

  /* Position the input to fill the container */
  position: absolute;
  inset: 0;

  /* Spacing between digits is set to the gap
     plus the size of one digit box
     minus the size of one character */
  letter-spacing: calc(var(--gap) + var(--digit-size) - 1ch);
  line-height: var(--digit-height);

  /* The padding at the start positions the first digit at the middle of the digit box */
  -webkit-padding-start: calc(var(--cpd-space-10x) / 2 - (1ch / 2));
          padding-inline-start: calc(var(--cpd-space-10x) / 2 - (1ch / 2));

  /* The negative margin at the end is to keep space for the cursor when the input is full */
  -webkit-margin-end: calc(-1 * (var(--cpd-space-10x) + var(--cpd-space-3x)));
          margin-inline-end: calc(-1 * (var(--cpd-space-10x) + var(--cpd-space-3x)));
}

._digit_17qhw_49 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  inline-size: var(--cpd-space-10x);
  block-size: var(--cpd-space-12x);
  border: 1px solid var(--cpd-color-border-interactive-primary);
  background: var(--cpd-color-bg-canvas-default);
  border-radius: 0.5rem;
  padding: var(--cpd-space-3x) var(--cpd-space-4x);
}

@media (hover) {
  ._control_17qhw_25:hover ~ ._digit_17qhw_49 {
    border-color: var(--cpd-color-border-interactive-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }
}

._control_17qhw_25:disabled {
  color: var(--cpd-color-text-disabled);
  cursor: not-allowed;
}

._control_17qhw_25:disabled ~ ._digit_17qhw_49 {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-canvas-disabled);
  border-color: var(--cpd-color-border-disabled);
}

._control_17qhw_25[readonly] {
  color: var(--cpd-color-text-secondary);
}

._control_17qhw_25[readonly] ~ ._digit_17qhw_49 {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-subtle-secondary);
  border-color: var(--cpd-color-bg-subtle-secondary);
}

._control_17qhw_25[data-invalid] ~ ._digit_17qhw_49 {
  border-color: #e0454b;
  border-color: var(--cpd-color-text-critical-primary);
}

/* stylelint-disable-next-line defensive-css/require-focus-visible */
._control_17qhw_25:focus ~ ._digit_17qhw_49:not([data-filled]) {
  outline: 2px solid var(--cpd-color-border-focused);
  border-color: transparent;
}

._digit_17qhw_49[data-selected] {
  border-color: var(--cpd-color-border-focused);
  background-color: var(--cpd-color-bg-info-subtle);
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_1ug7n_10 {
  --size: 20px;

  display: grid;
  inline-size: 20px;
  inline-size: var(--size);
  block-size: 20px;
  block-size: var(--size);
}

._input_1ug7n_18,
._ui_1ug7n_19 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  grid-area: 1/1;
  inline-size: var(--size);
  block-size: var(--size);
}

._input_1ug7n_18 {
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

._ui_1ug7n_19 {
  pointer-events: none;
  border-radius: 50%;
  border: 1px solid;
  border-color: var(--cpd-color-border-interactive-primary);

  /* To align the ::after pseudo-element to the center of the radio button */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

._ui_1ug7n_19::after {
  content: "";
  inline-size: 6px;
  block-size: 6px;
  border-radius: 50%;
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;

  /* Additional style to ensure visibility in contrast-mode */
  border: 1px solid transparent;
  color: transparent;
}

._input_1ug7n_18:checked + ._ui_1ug7n_19 {
  background-color: var(--cpd-color-bg-accent-rest);
  border-color: var(--cpd-color-bg-accent-rest);
  color: inherit;
}

._input_1ug7n_18:checked + ._ui_1ug7n_19::after {
  background: var(--cpd-color-icon-on-solid-primary);
  border-color: var(--cpd-color-icon-on-solid-primary);
  color: inherit;
}

._input_1ug7n_18:focus-visible + ._ui_1ug7n_19 {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

._input_1ug7n_18[readonly] {
  pointer-events: none;
}

._input_1ug7n_18[readonly] + ._ui_1ug7n_19 {
  border-color: var(--cpd-color-border-interactive-secondary);
  background: var(--cpd-color-bg-subtle-secondary);
}

._input_1ug7n_18[disabled] {
  cursor: not-allowed;
}

._input_1ug7n_18[disabled] + ._ui_1ug7n_19 {
  border-color: var(--cpd-color-border-disabled);
  background: var(--cpd-color-bg-canvas-disabled);
}

._input_1ug7n_18[disabled]:checked + ._ui_1ug7n_19 {
  border-color: var(--cpd-color-bg-action-primary-disabled);
  background: var(--cpd-color-bg-action-primary-disabled);
}

._input_1ug7n_18[readonly]:checked + ._ui_1ug7n_19::after {
  background-color: var(--cpd-color-icon-secondary);
  border-color: var(--cpd-color-icon-secondary);
  color: inherit;
}

@media (hover) {
  ._input_1ug7n_18:not([disabled], [readonly], :checked):hover + ._ui_1ug7n_19 {
    border-color: var(--cpd-color-bg-accent-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }

  ._input_1ug7n_18:not([disabled], [readonly], :checked):hover + ._ui_1ug7n_19::after {
    background: var(--cpd-color-icon-quaternary);
    border-color: var(--cpd-color-icon-quaternary);
    color: inherit;
  }

  ._input_1ug7n_18:not([disabled], [readonly]):checked:hover + ._ui_1ug7n_19 {
    border-color: var(--cpd-color-bg-accent-hovered);
    background: var(--cpd-color-bg-accent-hovered);
  }

  ._input_1ug7n_18[data-invalid]:not([disabled], [readonly]):checked:hover + ._ui_1ug7n_19 {
    border-color: var(--cpd-color-bg-critical-hovered);
    background: var(--cpd-color-bg-critical-hovered);
  }
}

._input_1ug7n_18[data-invalid]:not([disabled], [readonly], :checked) + ._ui_1ug7n_19 {
  border-color: var(--cpd-color-border-critical-primary);
}

._input_1ug7n_18[data-invalid]:not([disabled], [readonly]):checked + ._ui_1ug7n_19 {
  background-color: var(--cpd-color-bg-critical-primary);
  border-color: var(--cpd-color-bg-critical-primary);
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_udcm8_10 {
  display: grid;
  inline-size: 2.25rem;
  block-size: 1.25rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

._container_udcm8_10 > * {
  grid-area: 1/1;
  inline-size: inherit;
  block-size: inherit;
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

._container_udcm8_10 > ._input_udcm8_24 {
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

._container_udcm8_10 > ._input_udcm8_24[disabled] {
  cursor: not-allowed;
}

._ui_udcm8_34 {
  pointer-events: none;
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  border: 1px solid var(--cpd-color-border-interactive-primary);
  background: var(--cpd-color-bg-canvas-default);
  position: relative;
  padding: 1px;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-property: background-color, border-color;
  transition-property: background-color, border-color;
}

._input_udcm8_24:checked + ._ui_udcm8_34 {
  background: var(--cpd-color-bg-accent-rest);
  border-color: var(--cpd-color-bg-accent-rest);
}

._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-icon-secondary);

  content: "";
  display: block;
  block-size: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--dot-color);

  /* Additional style to ensure visibility in contrast-mode */
  border: 1px solid var(--dot-color);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-property: background-color, -webkit-transform;
  transition-property: background-color, -webkit-transform;
  transition-property: background-color, transform;
  transition-property: background-color, transform, -webkit-transform;
}

/* Note the use of :focus-visible rather than :focus to avoid showing the focus
ring after a simple click */
._input_udcm8_24:focus-visible + ._ui_udcm8_34 {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

:checked + ._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-icon-on-solid-primary);

  -webkit-transform: translateX(100%);

          transform: translateX(100%);
}

@media (hover) {
  :checked:not([disabled]):hover + ._ui_udcm8_34 {
    background: var(--cpd-color-bg-accent-hovered);
    border-color: var(--cpd-color-bg-accent-hovered);
  }
}

:checked:active + ._ui_udcm8_34 {
  background: var(--cpd-color-bg-accent-hovered);
  border-color: var(--cpd-color-bg-accent-hovered);
}

._input_udcm8_24[readonly] {
  pointer-events: none;
}

._input_udcm8_24[readonly] + ._ui_udcm8_34 {
  border-color: var(--cpd-color-border-interactive-secondary);
  background: var(--cpd-color-bg-subtle-secondary);
}

._input_udcm8_24[readonly] + ._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-icon-secondary);
}

._input_udcm8_24[disabled] + ._ui_udcm8_34 {
  border-color: var(--cpd-color-border-disabled);
  background: var(--cpd-color-bg-canvas-disabled);
}

._input_udcm8_24[disabled] + ._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-bg-action-primary-disabled);
}

._input_udcm8_24[readonly]:checked + ._ui_udcm8_34 {
  border-color: var(--cpd-color-icon-secondary);
  background: var(--cpd-color-icon-secondary);
}

._input_udcm8_24[readonly]:checked + ._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-icon-on-solid-primary);
}

._input_udcm8_24[disabled]:checked + ._ui_udcm8_34 {
  background: var(--cpd-color-bg-action-primary-disabled);
  border-color: var(--cpd-color-bg-action-primary-disabled);
}

._input_udcm8_24[disabled]:checked + ._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-icon-on-solid-primary);
}

@media (hover) {
  ._input_udcm8_24:not(:checked, [disabled], [readonly]):hover + ._ui_udcm8_34 {
    border-color: var(--cpd-color-border-interactive-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }
}

._input_udcm8_24:not(:checked, [disabled], [readonly]):active + ._ui_udcm8_34 {
  border-color: var(--cpd-color-border-interactive-hovered);
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._glass_sepwu_8 {
  border-radius: var(--cpd-space-9x);
  padding: var(--cpd-space-3x);

  /* We use an outline here to create an "inner border", rather than one that
  adds to the component's size */
  outline: var(--cpd-border-width-1) solid var(--cpd-color-alpha-gray-400);
  outline-offset: calc(-1 * var(--cpd-border-width-1));
  background: var(--cpd-color-alpha-gray-400);
  backdrop-filter: blur(20px);
}

._glass_sepwu_8 > :first-child {
  border-radius: var(--cpd-space-6x);
  inline-size: 100%;
  block-size: 100%;
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._big-icon_1ssbv_8 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: var(--cpd-space-4x);
  border-radius: var(--cpd-space-2x);
}

  ._big-icon_1ssbv_8 > svg {
    inline-size: 32px;
    block-size: 32px;
  }

._big-icon_1ssbv_8[data-size="md"] {
  padding: var(--cpd-space-3x);
}

._big-icon_1ssbv_8[data-size="sm"] {
  padding: var(--cpd-space-3x);
}

  ._big-icon_1ssbv_8[data-size="sm"] > svg {
    inline-size: 24px;
    block-size: 24px;
  }

._big-icon_1ssbv_8[data-kind="primary"] {
  background-color: var(--cpd-color-bg-subtle-secondary);
  color: var(--cpd-color-icon-primary);
}

._big-icon_1ssbv_8[data-kind="critical"] {
  background-color: var(--cpd-color-bg-critical-subtle);
  color: var(--cpd-color-icon-critical-primary);
}

._big-icon_1ssbv_8[data-kind="success"] {
  background-color: var(--cpd-color-bg-success-subtle);
  color: #3ecf8e;
  color: var(--cpd-color-icon-success-primary);
}

@media (forced-colors: active) {
  ._big-icon_1ssbv_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._item_bym9p_8 {
  display: grid;
  grid-template: "icon label ." auto "empty1 label empty2" auto / auto auto minmax(
      /* Reserve space for the chevron so that the layout doesn't shift on
      hover */
      var(--cpd-space-2x),
      1fr
    );
  place-items: center end;
  padding-block: var(--cpd-space-2x);
  padding-inline: var(--cpd-space-4x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  inline-size: 100%;
  min-inline-size: 200px;
  color: var(--cpd-color-text-secondary);
  background: var(--cpd-color-bg-action-secondary-rest);
}

._item_bym9p_8._interactive_bym9p_26,
._item_bym9p_8[data-state] {
  cursor: pointer;
}

._item_bym9p_8._no-label_bym9p_31 {
  grid-template: "icon ." auto / auto 1fr;
}

._label_bym9p_35 {
  grid-area: label;
  -webkit-margin-end: var(--cpd-space-4x);
          margin-inline-end: var(--cpd-space-4x);
  text-align: start;
  word-break: break-word; /* stylelint-disable-line declaration-property-value-keyword-no-deprecated */
}

._item_bym9p_8._no-icon_bym9p_42 {
  grid-template: "label ." auto / auto 1fr;
}

  ._item_bym9p_8._no-icon_bym9p_42 ._label_bym9p_35 {
    /* Without icon, the height changes when hovered */
    min-block-size: 24px;
  }

._icon_bym9p_51 {
  grid-area: icon;
  -webkit-margin-end: var(--cpd-space-3x);
          margin-inline-end: var(--cpd-space-3x);
}

._item_bym9p_8._no-label_bym9p_31 ._icon_bym9p_51 {
  -webkit-margin-end: var(--cpd-space-4x);
          margin-inline-end: var(--cpd-space-4x);
}

._nav-hint_bym9p_60 {
  /* Hidden until the item is hovered over */
  display: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

button._item_bym9p_8 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
}

._item_bym9p_8[data-kind="primary"] > ._label_bym9p_35 {
  color: #ffffff;
  color: var(--cpd-color-text-primary);
}

._item_bym9p_8[data-kind="primary"] > ._icon_bym9p_51 {
  color: var(--cpd-color-icon-primary);
}

._item_bym9p_8[data-kind="primary"] > ._nav-hint_bym9p_60 {
  color: var(--cpd-color-icon-tertiary);
}

._item_bym9p_8[data-kind="critical"] > ._label_bym9p_35 {
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

._item_bym9p_8[data-kind="critical"] > ._icon_bym9p_51,
._item_bym9p_8[data-kind="critical"] > ._nav-hint_bym9p_60 {
  color: var(--cpd-color-icon-critical-primary);
}

/* Submenu triggers: always show the chevron and apply hover style when open */
._item_bym9p_8[data-state] > ._nav-hint_bym9p_60 {
  display: inline;
  display: initial;
}

._item_bym9p_8[data-state] > ._nav-hint_bym9p_60 ~ * {
  display: none;
}

._item_bym9p_8[data-state="open"][data-kind="primary"] {
  background: var(--cpd-color-bg-action-secondary-hovered);
}

._item_bym9p_8[data-state="open"][data-kind="critical"] {
  background: var(--cpd-color-bg-critical-subtle);
}

@media (hover) {
  ._item_bym9p_8._interactive_bym9p_26[data-kind="primary"]:hover,
  ._item_bym9p_8[data-state][data-kind="primary"]:hover {
    background: var(--cpd-color-bg-action-secondary-hovered);
  }

  ._item_bym9p_8._interactive_bym9p_26[data-kind="critical"]:hover,
  ._item_bym9p_8[data-state][data-kind="critical"]:hover {
    background: var(--cpd-color-bg-critical-subtle);
  }

  /* Replace the children with the navigation hint on hover */
  ._item_bym9p_8._interactive_bym9p_26:hover > ._nav-hint_bym9p_60 {
    display: inline;
    display: initial;
  }

  ._item_bym9p_8._interactive_bym9p_26:hover > ._nav-hint_bym9p_60 ~ * {
    display: none;
  }
}

._item_bym9p_8._interactive_bym9p_26[data-kind="primary"]:active,
._item_bym9p_8[data-state][data-kind="primary"]:active {
  background: var(--cpd-color-bg-action-secondary-pressed);
}

._item_bym9p_8._interactive_bym9p_26[data-kind="critical"]:active,
._item_bym9p_8[data-state][data-kind="critical"]:active {
  background: var(--cpd-color-bg-critical-subtle-hovered);
}

._item_bym9p_8[data-kind]._disabled_bym9p_140 {
  pointer-events: none;
}

._item_bym9p_8[data-kind]._disabled_bym9p_140 > ._label_bym9p_35,
._item_bym9p_8[data-kind]._disabled_bym9p_140 > ._icon_bym9p_51,
._item_bym9p_8[data-kind]._disabled_bym9p_140 > ._nav-hint_bym9p_60 {
  color: var(--cpd-color-text-disabled);
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._bg_610zp_8 {
  position: fixed;
  inset: 0;

  /* TODO: This value is used across modals and menu drawers, so would be worth
  tokenizing */
  background: rgb(3 12 27 / 52.8%);
}

._drawer_610zp_17 {
  position: fixed;
  background: var(--cpd-color-bg-canvas-default);
  inset-block-end: 0;
  inset-inline: 0;

  /* Cap the inline content size at 520px, filling the rest of the space with
  padding */
  padding-inline: max(0px, calc((100% - 520px) / 2));
  border-start-start-radius: 28px;
  border-start-start-radius: var(--border-radius);
  border-start-end-radius: 28px;
  border-start-end-radius: var(--border-radius);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;

  /* Drawer comes in the Android style by default */
  --border-radius: 28px;
  --handle-block-size: 4px;
  --handle-inline-size: 32px;
  --handle-inset-block-start: var(--cpd-space-4x);
  --handle-inset-block-end: 0px;
  --content-inset-block-start: calc(
    var(--handle-inset-block-start) + var(--handle-block-size) +
      var(--handle-inset-block-end)
  );
}

._drawer_610zp_17[data-platform="ios"] {
  --border-radius: 10px;
  --handle-block-size: 5px;
  --handle-inline-size: 36px;
  --handle-inset-block-start: var(--cpd-space-1-5x);
  --handle-inset-block-end: 1px;
}

._body_610zp_51 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-2x);
  padding-block: calc(var(--content-inset-block-start) + var(--cpd-space-6x))
    var(--cpd-space-12x);
  border-start-start-radius: var(--border-radius);
  border-start-end-radius: var(--border-radius);

  /* Even with overflow: auto, the content can still overflow at the corners
  where it meets with the curved border. A contain: paint fixes that. */
  contain: paint;
  overflow: auto;
  scrollbar-width: none;

  --cpd-separator-spacing: 0;
  --cpd-separator-inset: var(--cpd-space-4x);
}

._body_610zp_51::before {
  content: "";
  position: absolute;
  block-size: var(--handle-block-size);
  inset-inline: calc((100% - var(--handle-inline-size)) / 2);
  inset-block-start: var(--handle-inset-block-start);
  background: var(--cpd-color-icon-secondary);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._menu_1kl3y_8 {
  border-radius: var(--cpd-space-3x);
  background: var(--cpd-color-bg-canvas-default);

  /* Here we use outline to create a border internal to the container. The Radix
  menu component may try to override it with outline: none, hence the need for
  !important. */
  outline: var(--cpd-border-width-1) solid
    var(--cpd-color-border-interactive-secondary) !important;
  outline-offset: calc(-1 * var(--cpd-border-width-1));
  -webkit-box-shadow: 0 4px 24px 0 rgb(0 0 0 / 10%);
          box-shadow: 0 4px 24px 0 rgb(0 0 0 / 10%);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  max-inline-size: 320px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);
  padding-block: var(--cpd-space-5x) var(--cpd-space-4x);

  --cpd-separator-spacing: 0;
  --cpd-separator-inset: var(--cpd-space-4x);
}

@-webkit-keyframes _slide-in_1kl3y_1 {
  from {
    opacity: 0;
    -webkit-transform: translate(0, var(--cpd-space-3x));
            transform: translate(0, var(--cpd-space-3x));
  }
}

@keyframes _slide-in_1kl3y_1 {
  from {
    opacity: 0;
    -webkit-transform: translate(0, var(--cpd-space-3x));
            transform: translate(0, var(--cpd-space-3x));
  }
}

._menu_1kl3y_8[data-state="open"] {
  /* Disable linter, we have a reduced motion style below */
  /* stylelint-disable-next-line defensive-css/require-prefers-reduced-motion */
  -webkit-animation: _slide-in_1kl3y_1 180ms;
          animation: _slide-in_1kl3y_1 180ms;
}

@-webkit-keyframes _fade-in_1kl3y_1 {
  from {
    opacity: 0;
  }
}

@keyframes _fade-in_1kl3y_1 {
  from {
    opacity: 0;
  }
}

@-webkit-keyframes _fade-out_1kl3y_1 {
  to {
    opacity: 0;
  }
}

@keyframes _fade-out_1kl3y_1 {
  to {
    opacity: 0;
  }
}

@media (prefers-reduced-motion) {
  ._menu_1kl3y_8[data-state="open"] {
    -webkit-animation-name: _fade-in_1kl3y_1;
            animation-name: _fade-in_1kl3y_1;
  }

  ._menu_1kl3y_8[data-state="closed"] {
    -webkit-animation-name: _fade-out_1kl3y_1;
            animation-name: _fade-out_1kl3y_1;
  }
}

._title_1kl3y_65 {
  /** Override MenuTitle margin top **/
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}
/*
 * Copyright 2025 New Vector Ltd
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._menu-title_1sgvx_8 {
  color: var(--cpd-color-text-secondary);
  padding-inline: var(--cpd-space-4x);
  -webkit-padding-after: calc(var(--cpd-space-2x) - var(--cpd-border-width-1));
          padding-block-end: calc(var(--cpd-space-2x) - var(--cpd-border-width-1));
  -webkit-border-after: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
          border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
  margin-block: var(--cpd-space-2x);
}
/* Copyright 2025 New Vector Ltd.
 * Copyright 2023 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._nav-bar_pmal2_8 {
  -webkit-border-after: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
          border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
  margin: var(--cpd-space-6x) 0;
  padding: 0;
}

._nav-bar-items_pmal2_14 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--cpd-space-3x);
  list-style-type: "";
  padding: 0;
  margin: 0;
}

._nav-tab_pmal2_25 {
  padding: var(--cpd-space-4x) 0;
  position: relative;
}

/* Underline effect */
._nav-tab_pmal2_25::before {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  block-size: 0;
  border-radius: 9999px 9999px 0 0;
  border-radius: var(--cpd-radius-pill-effect) var(--cpd-radius-pill-effect) 0 0;
  background-color: #2e80de;
  background-color: var(--cpd-color-bg-action-primary-rest);
}

  @media (prefers-reduced-motion: no-preference) {
._nav-tab_pmal2_25::before {
    -webkit-transition: height 0.1s ease-in-out;
    transition: height 0.1s ease-in-out
}
  }

._nav-tab_pmal2_25[data-current]::before {
  /* This is not exactly right: designs says 3px, but there are no variables for that */
  block-size: var(--cpd-border-width-4);
}

._nav-item_pmal2_50 {
  padding-block: var(--cpd-space-1x);
  padding-inline: var(--cpd-space-2x);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--cpd-space-2x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: transparent;
  border: 0;
  font: var(--cpd-font-body-md-medium);
  color: var(--cpd-color-text-secondary);
  text-decoration: none;
}

@media (hover) {
  ._nav-item_pmal2_50:not([disabled]):hover {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-subtle-secondary);
  }
}

._nav-item_pmal2_50:focus-visible {
  outline: var(--cpd-color-border-focused) var(--cpd-border-width-2) solid;
}

._nav-item_pmal2_50:not([disabled]):active {
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  background-color: var(--cpd-color-bg-subtle-primary);
}

._nav-item_pmal2_50[aria-current],
._nav-item_pmal2_50[aria-selected="true"] {
  color: #ffffff;
  color: var(--cpd-color-text-primary);
}

._nav-item_pmal2_50[disabled] {
  cursor: not-allowed;

  /* Enable pointer events for svgs even with fill=none */
  pointer-events: all !important;
  color: var(--cpd-color-text-disabled);
}

@media (forced-colors: active) {
  ._nav-tab_pmal2_25[data-current]::before {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2026 Element Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._header_14jk4_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--cpd-space-2x);
  max-inline-size: 480px;
}

._header_14jk4_8[data-size="md"] ._icon_14jk4_16 {
  -webkit-margin-after: var(--cpd-space-2x);
          margin-block-end: var(--cpd-space-2x);
}

._header_14jk4_8[data-size="lg"] ._icon_14jk4_16 {
  -webkit-margin-after: var(--cpd-space-4x);
          margin-block-end: var(--cpd-space-4x);
}

._header_14jk4_8 > h1 {
  margin: 0;
  text-align: center;
}

._header_14jk4_8 > p {
  color: var(--cpd-color-text-secondary);
  text-align: center;
  margin: 0;
}

._header_14jk4_8[data-size="md"] > p {
  font: var(--cpd-font-body-md-regular);
}

._header_14jk4_8[dat-size="lg"] > p {
  font: var(--cpd-font-body-lg-regular);
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._progress-bar_1kvi5_8 {
  position: relative;
  background-color: var(--cpd-color-gray-200);
  border: 1px solid var(--cpd-color-gray-400);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  overflow: hidden;
}

  ._progress-bar_1kvi5_8[data-size="sm"] {
    block-size: var(--cpd-space-2x);
  }

  ._progress-bar_1kvi5_8[data-size="lg"] {
    block-size: var(--cpd-space-4x);
  }

._progress-bar-container_1kvi5_24 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);

  --cpd-progress-bar-main: var(--cpd-color-text-secondary);
  --cpd-progress-bar-muted: var(--cpd-color-gray-800);
}

  ._progress-bar-container_1kvi5_24[data-tint="green"] {
    --cpd-progress-bar-main: var(--cpd-color-text-success-primary);
    --cpd-progress-bar-muted: var(--cpd-color-green-800);
  }

  ._progress-bar-container_1kvi5_24[data-tint="lime"] {
    --cpd-progress-bar-main: var(--cpd-color-lime-900);
    --cpd-progress-bar-muted: var(--cpd-color-lime-800);
  }

  ._progress-bar-container_1kvi5_24[data-tint="orange"] {
    --cpd-progress-bar-main: var(--cpd-color-orange-900);
    --cpd-progress-bar-muted: var(--cpd-color-orange-800);
  }

  ._progress-bar-container_1kvi5_24[data-tint="red"] {
    --cpd-progress-bar-main: var(--cpd-color-text-critical-primary);
    --cpd-progress-bar-muted: var(--cpd-color-red-800);
  }

._progress-bar-label_1kvi5_53 {
  font: var(--cpd-font-body-sm-medium);
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  color: var(--cpd-progress-bar-main);
}

._progress-bar-indicator_1kvi5_59 {
  position: absolute;
  inset: 0;

  /* sqrt(number of stripes * 2 * (stripe width)^2) = sqrt(4 * 2 * 2^2) = sqrt(32) */
}

  @media (prefers-reduced-motion: no-preference) {

._progress-bar-indicator_1kvi5_59 {
    -webkit-transition: -webkit-transform 0.2s ease-in-out;
    transition: -webkit-transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}
  }

  ._progress-bar-indicator_1kvi5_59{

  background-image: linear-gradient(
    135deg,
    var(--cpd-progress-bar-muted) 0%,
    var(--cpd-progress-bar-muted) 25%,
    var(--cpd-progress-bar-main) 25%,
    var(--cpd-progress-bar-main) 50%,
    var(--cpd-progress-bar-muted) 50%,
    var(--cpd-progress-bar-muted) 75%,
    var(--cpd-progress-bar-main) 75%,
    var(--cpd-progress-bar-main) 100%,
    var(--cpd-progress-bar-muted) 100%
  );
  background-size: 5.6569px 5.6569px;
}

@media (forced-colors: active) {
  ._progress-bar-indicator_1kvi5_59 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._content_16f2y_8 {
  /* 320px + 20px padding left + 20px padding right */
  max-inline-size: 320px;
  border-radius: var(--cpd-space-3x);
  background: #2e80de;
  background: var(--cpd-color-bg-action-primary-rest);
  padding: var(--cpd-space-5x) var(--cpd-space-6x);

  /* from figma */
  -webkit-box-shadow: 0 4px 24px 0 rgb(0 0 0 / 10%);
          box-shadow: 0 4px 24px 0 rgb(0 0 0 / 10%);

  /*
  * Grid, we want to have the following layout:
  * ----------------------------------
  * -  ---------------   ----------  -
  * -  | heading     |   |        |  -
  * -  --------------    | button |  -
  * -  ---------------   | button |  -
  * -  | description |   |        |  -
  * -  ---------------   ----------  -
  * ----------------------------------
  */
  display: grid;
  grid-template:
    "header button" auto
    "description button" auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column-gap: var(--cpd-space-6x);
  -webkit-column-gap: var(--cpd-space-6x);
     -moz-column-gap: var(--cpd-space-6x);
          column-gap: var(--cpd-space-6x);
}

._header_16f2y_37 {
  margin: 0;
  color: var(--cpd-color-text-on-solid-primary);
  grid-area: header;
}

._description_16f2y_43 {
  color: var(--cpd-color-gray-500);
  grid-area: description;
}

._button_16f2y_48 {
  color: var(--cpd-color-bg-subtle-secondary);
  grid-area: button;
}

._arrow_16f2y_53 {
  fill: #2e80de;
  fill: var(--cpd-color-bg-action-primary-rest);
}

@media (forced-colors: active) {
  ._content_16f2y_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._search_1lktl_8 {
  border: 1px solid var(--cpd-color-border-interactive-secondary);
  border-radius: 9999px;
  block-size: 36px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  /* !important to override Field's default flex settings */
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  gap: var(--cpd-space-2x) !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: var(--cpd-space-1-5x) var(--cpd-space-3x);
}

@media (hover) {
  ._search_1lktl_8:hover {
    border-color: var(--cpd-color-border-interactive-hovered);
  }
}

._search_1lktl_8:active {
  border-color: var(--cpd-color-border-interactive-hovered);
}

._search_1lktl_8:focus-within {
  border-color: currentcolor;
}

._icon_1lktl_37 {
  color: var(--cpd-color-icon-secondary);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media (hover) {
  ._search_1lktl_8:hover ._icon_1lktl_37 {
    color: var(--cpd-color-icon-primary);
  }
}

._search_1lktl_8:active ._icon_1lktl_37 {
  color: var(--cpd-color-icon-primary);
}

._input_1lktl_52 {
  border: 0;
  background: inherit;
  outline: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-inline-size: 0;
}

._input_1lktl_52::-webkit-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1lktl_52::-moz-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1lktl_52:-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1lktl_52::-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1lktl_52::placeholder {
  color: var(--cpd-color-text-secondary);
}

/* stylelint-disable-next-line defensive-css/require-focus-visible */
._input_1lktl_52:focus::-webkit-input-placeholder {
  color: var(--cpd-color-text-secondary);
}
._input_1lktl_52:focus::-moz-placeholder {
  color: var(--cpd-color-text-secondary);
}
._input_1lktl_52:focus:-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}
._input_1lktl_52:focus::-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}
._input_1lktl_52:focus::placeholder {
  color: var(--cpd-color-text-secondary);
}

@media (hover) {
  ._search_1lktl_8:hover ._input_1lktl_52::-webkit-input-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1lktl_8:hover ._input_1lktl_52::-moz-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1lktl_8:hover ._input_1lktl_52:-ms-input-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1lktl_8:hover ._input_1lktl_52::-ms-input-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1lktl_8:hover ._input_1lktl_52::placeholder {
    color: var(--cpd-color-text-secondary);
  }
}
/*
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._separator_13qwf_8 {
  --cpd-separator-color: var(--cpd-color-separator-primary);
  --cpd-separator-size: 1px;

  background-color: var(--cpd-separator-color);
}

._separator_13qwf_8[data-kind="secondary"] {
  --cpd-separator-color: var(--cpd-color-separator-secondary);
}

._separator_13qwf_8[data-kind="section"] {
  --cpd-separator-size: 2px;
}

._separator_13qwf_8[data-orientation="horizontal"] {
  margin-block: var(--cpd-separator-spacing);
  margin-inline: 0;
  margin-inline: var(--cpd-separator-inset);
  block-size: var(--cpd-separator-size);
}

._separator_13qwf_8[data-orientation="vertical"] {
  margin-inline: var(--cpd-separator-spacing);
  margin-block: 0;
  margin-block: var(--cpd-separator-inset);
  inline-size: var(--cpd-separator-size);
}

@media (forced-colors: active) {
  ._separator_13qwf_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2026 Element Creations Ltd.
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE in the repository root for full details.
*/
  ._toggle_13rnk_9[data-size="lg"] {
    --cpd-switch-button-size: 44px;
    --cpd-switch-icon-size: 24px;
  }

  ._toggle_13rnk_9[data-size="md"] {
    --cpd-switch-button-size: 32px;
    --cpd-switch-icon-size: 20px;
  }

  ._toggle_13rnk_9{

  padding: var(--cpd-space-0-5x);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  background: var(--cpd-color-bg-canvas-default);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  border: 1px solid var(--cpd-color-border-interactive-secondary);
}

  @media (forced-colors) {

._toggle_13rnk_9 {
    /* Firefox seems to lose borders in practice (https://github.com/element-hq/compound-web/pull/482#discussion_r3136544962) so redefine this here. */
    border: 1px solid
}
  }

  ._toggle_13rnk_9 svg {
    display: block;
    position: absolute;
    pointer-events: none;
    color: var(--cpd-color-icon-primary);
    -webkit-transition: color 0.1s;
    transition: color 0.1s;
    inline-size: var(--cpd-switch-icon-size);
    block-size: var(--cpd-switch-icon-size);
    -webkit-margin-before: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
            margin-block-start: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
  }

  ._toggle_13rnk_9 svg:nth-child(2) {
    inset-inline-start: var(--cpd-space-0-5x);
    -webkit-margin-start: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
            margin-inline-start: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
  }

  ._toggle_13rnk_9 svg:nth-child(4) {
    inset-inline-end: var(--cpd-space-0-5x);
    -webkit-margin-end: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
            margin-inline-end: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
  }

  ._toggle_13rnk_9 input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;

    /* Safari puts a margin on these, which is not removed via appearance: none */
    margin: 0;
    block-size: var(--cpd-switch-button-size);
    inline-size: var(--cpd-switch-button-size);
    cursor: pointer;
    border-radius: 9999px;
    border-radius: var(--cpd-radius-pill-effect);
    background: var(--cpd-color-bg-action-secondary-rest);
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
    -webkit-transition: background-color 0.1s;
    transition: background-color 0.1s;
    border: 1px solid var(--cpd-color-border-interactive-secondary);
  }

  ._toggle_13rnk_9 input:first-child {
    -webkit-margin-end: 5px;
            margin-inline-end: 5px;
  }

  @media (hover: hover) {
    ._toggle_13rnk_9 input:hover {
      border-color: var(--cpd-color-border-interactive-primary);
      background: var(--cpd-color-bg-action-secondary-hovered);
      -webkit-box-shadow: none;
              box-shadow: none;
    }

    ._toggle_13rnk_9 input:checked:hover {
      background: #3a8fe6;
      background: var(--cpd-color-bg-action-primary-hovered);
    }
  }

  ._toggle_13rnk_9 input:active {
    background: var(--cpd-color-bg-action-secondary-pressed);
    -webkit-box-shadow: none;
            box-shadow: none;
  }

  ._toggle_13rnk_9 input:checked {
    border: medium none currentcolor;
    border: initial;
    background: #2e80de;
    background: var(--cpd-color-bg-action-primary-rest);
  }

    @media (forced-colors) {

  ._toggle_13rnk_9 input:checked {
      border: 3px solid
  }
    }

  ._toggle_13rnk_9 input:checked + svg {
    color: var(--cpd-color-icon-on-solid-primary);
  }

  ._toggle_13rnk_9 input:checked:active {
    background: #175fb0;
    background: var(--cpd-color-bg-action-primary-pressed);
  }
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._toast-container_1ysb3_8 {
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  background-color: #2e80de;
  background-color: var(--cpd-color-bg-action-primary-rest);
  color: var(--cpd-color-text-on-solid-primary);
  border-radius: 99px;
  padding: var(--cpd-space-2x) var(--cpd-space-4x);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--cpd-space-2x);
}

@media (forced-colors: active) {
  ._toast-container_1ysb3_8 {
    outline: 1px solid transparent;
  }
}

._icon_1ysb3_26 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

._has-close_1ysb3_30 {
  gap: var(--cpd-space-3x);
}

._content_1ysb3_34 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--cpd-space-2x);
}

._close_1ysb3_41 {
  -ms-flex-item-align: start;
      align-self: flex-start;
  padding: var(--cpd-space-0-5x) !important;
}
    ._close_1ysb3_41:not(:hover, :focus-visible) * {
      /* Override default color of icon button. The container background is different than the default canvas color */
      color: var(--cpd-color-icon-on-solid-primary) !important;
    }
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._visual-list_6zpfn_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);
  margin: 0;
  padding: 0;
  list-style-type: "";
  border-radius: var(--cpd-space-3x);
  overflow: hidden;
}

@media (forced-colors: active) {
  ._visual-list_6zpfn_8 {
    outline: 1px solid transparent;
  }
}
/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._visual-list-item_1nc1y_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--cpd-space-3x);
  padding: var(--cpd-space-3x) var(--cpd-space-4x);
  background-color: var(--cpd-color-bg-subtle-secondary);
  font: var(--cpd-font-body-md-medium);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

._visual-list-item-icon_1nc1y_17 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--cpd-color-icon-secondary);
}

._visual-list-item-icon-success_1nc1y_22 {
  color: #3ecf8e;
  color: var(--cpd-color-icon-success-primary);
}

._visual-list-item-icon-destructive_1nc1y_26 {
  color: var(--cpd-color-icon-critical-primary);
}

@media (forced-colors: active) {
  ._visual-list-item_1nc1y_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
  --cpd-radius-pill-effect: 9999px;

  /* Default icon and avatar size */
  --cpd-icon-button-size: var(--cpd-space-8x);
  --cpd-avatar-size: var(--cpd-space-16x);

  /**
  * We want to apply Inter Dynamic metrics (https://rsms.me/inter/dynmetrics/)
  * We need to tweak the `letter-spacing` property and doing so, disables by
  * default the optional ligatures
  * `font-feature-settings` allows us to override this behaviour and have the
  * correct ligatures and the proper dynamic metric spacing.
  */
  --cpd-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  --cpd-separator-spacing: var(--cpd-space-2x);
  --cpd-separator-inset: 0;
}

html,
body,
input {
  font: var(--cpd-font-body-md-regular);
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
          font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-feature-settings: var(--cpd-font-feature-settings);
          font-feature-settings: var(--cpd-font-feature-settings);
}

html,
body {
  block-size: 100%;
  font-size: var(--cpd-font-size-root);
}

body {
  background: var(--cpd-color-bg-canvas-default);
}
/*$vite$:1*/
}
@layer app-web{
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
}
@layer app-web{
/*dark */
.markdown-body {
  color-scheme: dark;
  /** CSS default easing. Use for hover state changes and micro-interactions. */
  /** Accelerating motion. Use for elements exiting the viewport (moving off-screen). */
  /** Smooth acceleration and deceleration. Use for elements moving or morphing within the viewport. */
  /** Decelerating motion. Use for elements entering the viewport or appearing on screen. */
  /** Constant motion with no acceleration. Use for continuous animations like progress bars or loaders. */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  font-weight: 400;
  color: #f0f6fc;
  background-color: #0d1117;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  font-size: 16px;
  line-height: 1.5;
  word-wrap: break-word;
}

.markdown-body a {
  text-decoration: underline;
  text-underline-offset: .2rem;
}

.markdown-body .octicon {
  display: inline-block;
  fill: currentColor;
  vertical-align: text-bottom;
}

.markdown-body h1:hover .anchor .octicon-link:before,
.markdown-body h2:hover .anchor .octicon-link:before,
.markdown-body h3:hover .anchor .octicon-link:before,
.markdown-body h4:hover .anchor .octicon-link:before,
.markdown-body h5:hover .anchor .octicon-link:before,
.markdown-body h6:hover .anchor .octicon-link:before {
  width: 16px;
  height: 16px;
  content: ' ';
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
  mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
}

.markdown-body details,
.markdown-body figcaption,
.markdown-body figure {
  display: block;
}

.markdown-body summary {
  display: list-item;
}

.markdown-body [hidden] {
  display: none !important;
}

.markdown-body a {
  background-color: rgba(0,0,0,0);
  color: #4493f8;
  text-decoration: none;
}

.markdown-body abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted;
}

.markdown-body b,
.markdown-body strong {
  font-weight: 600;
}

.markdown-body dfn {
  font-style: italic;
}

.markdown-body h1 {
  margin: .67em 0;
  font-weight: 600;
  padding-bottom: .3em;
  font-size: 2em;
  border-bottom: 1px solid #3d444db3;
}

.markdown-body mark {
  background-color: #bb800926;
  color: #f0f6fc;
}

.markdown-body small {
  font-size: 90%;
}

.markdown-body sub,
.markdown-body sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

.markdown-body sub {
  bottom: -0.25em;
}

.markdown-body sup {
  top: -0.5em;
}

.markdown-body img {
  border-style: none;
  max-width: 100%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.markdown-body code,
.markdown-body kbd,
.markdown-body pre,
.markdown-body samp {
  font-family: monospace;
  font-size: 1em;
}

.markdown-body figure {
  margin: 1em 2.5rem;
}

.markdown-body hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  overflow: hidden;
  background: rgba(0,0,0,0);
  border-bottom: 1px solid #3d444db3;
  height: .25em;
  padding: 0;
  margin: 1.5rem 0;
  background-color: #3d444d;
  border: 0;
}

.markdown-body input {
  font: inherit;
  margin: 0;
  overflow: visible;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.markdown-body [type=button],
.markdown-body [type=reset],
.markdown-body [type=submit] {
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
}

.markdown-body [type=checkbox],
.markdown-body [type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

.markdown-body [type=number]::-webkit-inner-spin-button,
.markdown-body [type=number]::-webkit-outer-spin-button {
  height: auto;
}

.markdown-body [type=search]::-webkit-search-cancel-button,
.markdown-body [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.markdown-body ::-webkit-input-placeholder {
  color: inherit;
  opacity: .54;
}

.markdown-body ::-webkit-file-upload-button {
  -webkit-appearance: button;
  appearance: button;
  font: inherit;
}

.markdown-body a:hover {
  text-decoration: underline;
}

.markdown-body ::-webkit-input-placeholder {
  color: #9198a1;
  opacity: 1;
}

.markdown-body ::-moz-placeholder {
  color: #9198a1;
  opacity: 1;
}

.markdown-body :-ms-input-placeholder {
  color: #9198a1;
  opacity: 1;
}

.markdown-body ::-ms-input-placeholder {
  color: #9198a1;
  opacity: 1;
}

.markdown-body ::placeholder {
  color: #9198a1;
  opacity: 1;
}

.markdown-body hr::before {
  display: table;
  content: "";
}

.markdown-body hr::after {
  display: table;
  clear: both;
  content: "";
}

.markdown-body table {
  border-spacing: 0;
  border-collapse: collapse;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  overflow: auto;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  font-variant: tabular-nums;
}

.markdown-body td,
.markdown-body th {
  padding: 0;
}

.markdown-body details summary {
  cursor: pointer;
}

.markdown-body a:focus,
.markdown-body [role=button]:focus,
.markdown-body input[type=radio]:focus,
.markdown-body input[type=checkbox]:focus {
  outline: 2px solid var(--borderColor-accent-emphasis);
  outline-offset: -2px;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.markdown-body a:focus:not(:focus-visible),
.markdown-body [role=button]:focus:not(:focus-visible),
.markdown-body input[type=radio]:focus:not(:focus-visible),
.markdown-body input[type=checkbox]:focus:not(:focus-visible) {
  outline: solid 1px rgba(0,0,0,0);
}

.markdown-body a:focus-visible,
.markdown-body [role=button]:focus-visible,
.markdown-body input[type=radio]:focus-visible,
.markdown-body input[type=checkbox]:focus-visible {
  outline: 2px solid var(--borderColor-accent-emphasis);
  outline-offset: -2px;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.markdown-body a:not([class]):focus,
.markdown-body a:not([class]):focus-visible,
.markdown-body input[type=radio]:focus,
.markdown-body input[type=radio]:focus-visible,
.markdown-body input[type=checkbox]:focus,
.markdown-body input[type=checkbox]:focus-visible {
  outline-offset: 0;
}

.markdown-body kbd {
  display: inline-block;
  padding: 0.25rem;
  font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  line-height: 10px;
  color: #f0f6fc;
  vertical-align: middle;
  background-color: #151b23;
  border: solid 1px var(--borderColor-muted);
  border-bottom-color: var(--borderColor-muted);
  border-radius: 6px;
  -webkit-box-shadow: inset 0 -1px 0 var(--borderColor-muted);
          box-shadow: inset 0 -1px 0 var(--borderColor-muted);
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.25;
}

.markdown-body h2 {
  font-weight: 600;
  padding-bottom: .3em;
  font-size: 1.5em;
  border-bottom: 1px solid #3d444db3;
}

.markdown-body h3 {
  font-weight: 600;
  font-size: 1.25em;
}

.markdown-body h4 {
  font-weight: 600;
  font-size: 1em;
}

.markdown-body h5 {
  font-weight: 600;
  font-size: .875em;
}

.markdown-body h6 {
  font-weight: 600;
  font-size: .85em;
  color: #9198a1;
}

.markdown-body p {
  margin-top: 0;
  margin-bottom: 10px;
}

.markdown-body blockquote {
  margin: 0;
  padding: 0 1em;
  color: #9198a1;
  border-left: .25em solid #3d444d;
}

.markdown-body ul,
.markdown-body ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2em;
}

.markdown-body ol ol,
.markdown-body ul ol {
  list-style-type: lower-roman;
}

.markdown-body ul ul ol,
.markdown-body ul ol ol,
.markdown-body ol ul ol,
.markdown-body ol ol ol {
  list-style-type: lower-alpha;
}

.markdown-body dd {
  margin-left: 0;
}

.markdown-body tt,
.markdown-body code,
.markdown-body samp {
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 12px;
}

.markdown-body pre {
  margin-top: 0;
  margin-bottom: 0;
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 12px;
  word-wrap: normal;
}

.markdown-body .octicon {
  display: inline-block;
  overflow: visible !important;
  vertical-align: text-bottom;
  fill: currentColor;
}

.markdown-body input::-webkit-outer-spin-button,
.markdown-body input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
          appearance: none;
}

.markdown-body .mr-2 {
  margin-right: 0.5rem !important;
}

.markdown-body::before {
  display: table;
  content: "";
}

.markdown-body::after {
  display: table;
  clear: both;
  content: "";
}

.markdown-body>*:first-child {
  margin-top: 0 !important;
}

.markdown-body>*:last-child {
  margin-bottom: 0 !important;
}

.markdown-body a:not([href]) {
  color: inherit;
  text-decoration: none;
}

.markdown-body .absent {
  color: #f85149;
}

.markdown-body .anchor {
  float: left;
  padding-right: 0.25rem;
  margin-left: -20px;
  line-height: 1;
}

.markdown-body .anchor:focus {
  outline: none;
}

.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre,
.markdown-body details {
  margin-top: 0;
  margin-bottom: 1rem;
}

.markdown-body blockquote>:first-child {
  margin-top: 0;
}

.markdown-body blockquote>:last-child {
  margin-bottom: 0;
}

.markdown-body h1 .octicon-link,
.markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link,
.markdown-body h6 .octicon-link {
  color: #f0f6fc;
  vertical-align: middle;
  visibility: hidden;
}

.markdown-body h1:hover .anchor,
.markdown-body h2:hover .anchor,
.markdown-body h3:hover .anchor,
.markdown-body h4:hover .anchor,
.markdown-body h5:hover .anchor,
.markdown-body h6:hover .anchor {
  text-decoration: none;
}

.markdown-body h1:hover .anchor .octicon-link,
.markdown-body h2:hover .anchor .octicon-link,
.markdown-body h3:hover .anchor .octicon-link,
.markdown-body h4:hover .anchor .octicon-link,
.markdown-body h5:hover .anchor .octicon-link,
.markdown-body h6:hover .anchor .octicon-link {
  visibility: visible;
}

.markdown-body h1 tt,
.markdown-body h1 code,
.markdown-body h2 tt,
.markdown-body h2 code,
.markdown-body h3 tt,
.markdown-body h3 code,
.markdown-body h4 tt,
.markdown-body h4 code,
.markdown-body h5 tt,
.markdown-body h5 code,
.markdown-body h6 tt,
.markdown-body h6 code {
  padding: 0 .2em;
  font-size: inherit;
}

.markdown-body summary h1,
.markdown-body summary h2,
.markdown-body summary h3,
.markdown-body summary h4,
.markdown-body summary h5,
.markdown-body summary h6 {
  display: inline-block;
}

.markdown-body summary h1 .anchor,
.markdown-body summary h2 .anchor,
.markdown-body summary h3 .anchor,
.markdown-body summary h4 .anchor,
.markdown-body summary h5 .anchor,
.markdown-body summary h6 .anchor {
  margin-left: -40px;
}

.markdown-body summary h1,
.markdown-body summary h2 {
  padding-bottom: 0;
  border-bottom: 0;
}

.markdown-body ul.no-list,
.markdown-body ol.no-list {
  padding: 0;
  list-style-type: none;
}

.markdown-body ol[type="a s"] {
  list-style-type: lower-alpha;
}

.markdown-body ol[type="A s"] {
  list-style-type: upper-alpha;
}

.markdown-body ol[type="i s"] {
  list-style-type: lower-roman;
}

.markdown-body ol[type="I s"] {
  list-style-type: upper-roman;
}

.markdown-body ol[type="1"] {
  list-style-type: decimal;
}

.markdown-body div>ol:not([type]) {
  list-style-type: decimal;
}

.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
  margin-top: 0;
  margin-bottom: 0;
}

.markdown-body li>p {
  margin-top: 1rem;
}

.markdown-body li+li {
  margin-top: .25em;
}

.markdown-body dl {
  padding: 0;
}

.markdown-body dl dt {
  padding: 0;
  margin-top: 1rem;
  font-size: 1em;
  font-style: italic;
  font-weight: 600;
}

.markdown-body dl dd {
  padding: 0 1rem;
  margin-bottom: 1rem;
}

.markdown-body table th {
  font-weight: 600;
}

.markdown-body table th,
.markdown-body table td {
  padding: 6px 13px;
  border: 1px solid #3d444d;
}

.markdown-body table td>:last-child {
  margin-bottom: 0;
}

.markdown-body table tr {
  background-color: #0d1117;
  border-top: 1px solid #3d444db3;
}

.markdown-body table tr:nth-child(2n) {
  background-color: #151b23;
}

.markdown-body table img {
  background-color: rgba(0,0,0,0);
}

.markdown-body img[align=right] {
  padding-left: 20px;
}

.markdown-body img[align=left] {
  padding-right: 20px;
}

.markdown-body .emoji {
  max-width: none;
  vertical-align: text-top;
  background-color: rgba(0,0,0,0);
}

.markdown-body span.frame {
  display: block;
  overflow: hidden;
}

.markdown-body span.frame>span {
  display: block;
  float: left;
  width: auto;
  padding: 7px;
  margin: 13px 0 0;
  overflow: hidden;
  border: 1px solid #3d444d;
}

.markdown-body span.frame span img {
  display: block;
  float: left;
}

.markdown-body span.frame span span {
  display: block;
  padding: 5px 0 0;
  clear: both;
  color: #f0f6fc;
}

.markdown-body span.align-center {
  display: block;
  overflow: hidden;
  clear: both;
}

.markdown-body span.align-center>span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: center;
}

.markdown-body span.align-center span img {
  margin: 0 auto;
  text-align: center;
}

.markdown-body span.align-right {
  display: block;
  overflow: hidden;
  clear: both;
}

.markdown-body span.align-right>span {
  display: block;
  margin: 13px 0 0;
  overflow: hidden;
  text-align: right;
}

.markdown-body span.align-right span img {
  margin: 0;
  text-align: right;
}

.markdown-body span.float-left {
  display: block;
  float: left;
  margin-right: 13px;
  overflow: hidden;
}

.markdown-body span.float-left span {
  margin: 13px 0 0;
}

.markdown-body span.float-right {
  display: block;
  float: right;
  margin-left: 13px;
  overflow: hidden;
}

.markdown-body span.float-right>span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: right;
}

.markdown-body code,
.markdown-body tt {
  padding: .2em .4em;
  margin: 0;
  font-size: 85%;
  white-space: break-spaces;
  background-color: #656c7633;
  border-radius: 6px;
}

.markdown-body code br,
.markdown-body tt br {
  display: none;
}

.markdown-body del code {
  text-decoration: inherit;
}

.markdown-body samp {
  font-size: 85%;
}

.markdown-body pre code {
  font-size: 100%;
}

.markdown-body pre>code {
  padding: 0;
  margin: 0;
  word-break: normal;
  white-space: pre;
  background: rgba(0,0,0,0);
  border: 0;
}

.markdown-body .highlight {
  margin-bottom: 1rem;
}

.markdown-body .highlight pre {
  margin-bottom: 0;
  word-break: normal;
}

.markdown-body .highlight pre,
.markdown-body pre {
  padding: 1rem;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  color: #f0f6fc;
  background-color: #151b23;
  border-radius: 6px;
}

.markdown-body pre code,
.markdown-body pre tt {
  display: inline;
  padding: 0;
  margin: 0;
  overflow: visible;
  line-height: inherit;
  word-wrap: normal;
  background-color: rgba(0,0,0,0);
  border: 0;
}

.markdown-body .csv-data td,
.markdown-body .csv-data th {
  padding: 5px;
  overflow: hidden;
  font-size: 12px;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

.markdown-body .csv-data .blob-num {
  padding: 10px 0.5rem 9px;
  text-align: right;
  background: #0d1117;
  border: 0;
}

.markdown-body .csv-data tr {
  border-top: 0;
}

.markdown-body .csv-data th {
  font-weight: 600;
  background: #151b23;
  border-top: 0;
}

.markdown-body [data-footnote-ref]::before {
  content: "[";
}

.markdown-body [data-footnote-ref]::after {
  content: "]";
}

.markdown-body .footnotes {
  font-size: 12px;
  color: #9198a1;
  border-top: 1px solid #3d444d;
}

.markdown-body .footnotes ol {
  padding-left: 1rem;
}

.markdown-body .footnotes ol ul {
  display: inline-block;
  padding-left: 1rem;
  margin-top: 1rem;
}

.markdown-body .footnotes li {
  position: relative;
}

.markdown-body .footnotes li:target::before {
  position: absolute;
  top: calc(0.5rem*-1);
  right: calc(0.5rem*-1);
  bottom: calc(0.5rem*-1);
  left: calc(1.5rem*-1);
  pointer-events: none;
  content: "";
  border: 2px solid #1f6feb;
  border-radius: 6px;
}

.markdown-body .footnotes li:target {
  color: #f0f6fc;
}

.markdown-body .footnotes .data-footnote-backref g-emoji {
  font-family: monospace;
}

.markdown-body .pl-c {
  color: #9198a1;
}

.markdown-body .pl-c1,
.markdown-body .pl-s .pl-v {
  color: #79c0ff;
}

.markdown-body .pl-e,
.markdown-body .pl-en {
  color: #d2a8ff;
}

.markdown-body .pl-smi,
.markdown-body .pl-s .pl-s1 {
  color: #f0f6fc;
}

.markdown-body .pl-ent {
  color: #7ee787;
}

.markdown-body .pl-k {
  color: #ff7b72;
}

.markdown-body .pl-s,
.markdown-body .pl-pds,
.markdown-body .pl-s .pl-pse .pl-s1,
.markdown-body .pl-sr,
.markdown-body .pl-sr .pl-cce,
.markdown-body .pl-sr .pl-sre,
.markdown-body .pl-sr .pl-sra {
  color: #a5d6ff;
}

.markdown-body .pl-v,
.markdown-body .pl-smw {
  color: #ffa657;
}

.markdown-body .pl-bu {
  color: #f85149;
}

.markdown-body .pl-ii {
  color: var(--fgColor-danger);
  background-color: var(--bgColor-danger-muted);
}

.markdown-body .pl-c2 {
  color: #f0f6fc;
  background-color: #b62324;
}

.markdown-body .pl-sr .pl-cce {
  font-weight: bold;
  color: #7ee787;
}

.markdown-body .pl-ml {
  color: #f2cc60;
}

.markdown-body .pl-mh,
.markdown-body .pl-mh .pl-en,
.markdown-body .pl-ms {
  font-weight: bold;
  color: #1f6feb;
}

.markdown-body .pl-mi {
  font-style: italic;
  color: #f0f6fc;
}

.markdown-body .pl-mb {
  font-weight: bold;
  color: #f0f6fc;
}

.markdown-body .pl-md {
  color: #ffdcd7;
  background-color: #67060c;
}

.markdown-body .pl-mi1 {
  color: #aff5b4;
  background-color: #033a16;
}

.markdown-body .pl-mc {
  color: #ffdfb6;
  background-color: #5a1e02;
}

.markdown-body .pl-mi2 {
  color: #f0f6fc;
  background-color: #1158c7;
}

.markdown-body .pl-mdr {
  font-weight: bold;
  color: #d2a8ff;
}

.markdown-body .pl-ba {
  color: #9198a1;
}

.markdown-body .pl-sg {
  color: #3d444d;
}

.markdown-body .pl-corl {
  text-decoration: underline;
  color: #a5d6ff;
}

.markdown-body [role=button]:focus:not(:focus-visible),
.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),
.markdown-body button:focus:not(:focus-visible),
.markdown-body summary:focus:not(:focus-visible),
.markdown-body a:focus:not(:focus-visible) {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.markdown-body [tabindex="0"]:focus:not(:focus-visible),
.markdown-body details-dialog:focus:not(:focus-visible) {
  outline: none;
}

.markdown-body g-emoji {
  display: inline-block;
  min-width: 1ch;
  font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  font-size: 1em;
  font-style: normal !important;
  font-weight: 400;
  line-height: 1;
  vertical-align: -0.075em;
}

.markdown-body g-emoji img {
  width: 1em;
  height: 1em;
}

.markdown-body a:has(>p,>div,>pre,>blockquote) {
  display: block;
}

.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible {
  outline: 2px solid var(--borderColor-accent-emphasis);
  outline-offset: 2px;
}

.markdown-body .task-list-item {
  list-style-type: none;
}

.markdown-body .task-list-item label {
  font-weight: 400;
}

.markdown-body .task-list-item.enabled label {
  cursor: pointer;
}

.markdown-body .task-list-item+.task-list-item {
  margin-top: 0.25rem;
}

.markdown-body .task-list-item .handle {
  display: none;
}

.markdown-body .task-list-item-checkbox {
  margin: 0 .2em .25em -1.4em;
  vertical-align: middle;
}

.markdown-body ul:dir(rtl) .task-list-item-checkbox {
  margin: 0 -1.6em .25em .2em;
}

.markdown-body ol:dir(rtl) .task-list-item-checkbox {
  margin: 0 -1.6em .25em .2em;
}

.markdown-body .contains-task-list:hover .task-list-item-convert-container,
.markdown-body .contains-task-list:focus-within .task-list-item-convert-container {
  display: block;
  width: auto;
  height: 24px;
  overflow: visible;
  clip-path: none;
}

.markdown-body ::-webkit-calendar-picker-indicator {
  -webkit-filter: invert(50%);
          filter: invert(50%);
}

.markdown-body .markdown-alert {
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  color: inherit;
  border-left: .25em solid #3d444d;
}

.markdown-body .markdown-alert>:first-child {
  margin-top: 0;
}

.markdown-body .markdown-alert>:last-child {
  margin-bottom: 0;
}

.markdown-body .markdown-alert .markdown-alert-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}

.markdown-body .markdown-alert.markdown-alert-note {
  border-left-color: #1f6feb;
}

.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {
  color: #4493f8;
}

.markdown-body .markdown-alert.markdown-alert-important {
  border-left-color: #8957e5;
}

.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {
  color: #ab7df8;
}

.markdown-body .markdown-alert.markdown-alert-warning {
  border-left-color: #9e6a03;
}

.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {
  color: #d29922;
}

.markdown-body .markdown-alert.markdown-alert-tip {
  border-left-color: #238636;
}

.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {
  color: #3fb950;
}

.markdown-body .markdown-alert.markdown-alert-caution {
  border-left-color: #da3633;
}

.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {
  color: #f85149;
}

.markdown-body>*:first-child>.heading-element:first-child {
  margin-top: 0 !important;
}

.markdown-body .highlight pre:has(+.zeroclipboard-container) {
  min-height: 52px;
}
}
/* PLX Midnight webfont (@font-face for Plus Jakarta Sans) */
/* PLX Midnight theme overlay — last import so it tops the app-web layer */


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlcy8wYzZkZGZjMWNjMjcwOGE4NTAwOC90aGVtZS1kYXJrLmNzcyIsIm1hcHBpbmdzIjoiQUFBQSxnRUFBZ0U7QUNDaEUsZ0VBQWdFO0FDRGhFO0FBR0E7QUFxQkE7QUN4QkE7O0FBQUE7Ozs7OztDQU1DOztBQUVEOzs7Ozs7RUFNRTs7QUFFRjs7Ozs7OztFQU9FLEVBTXFCLGlEQUFpRCxFQUVqRCxpREFBaUQsRUFFakQsaURBQWlELEVBRWpELGlEQUFpRCxFQUVuRCxvREFBb0QsRUFHckQsb0RBQW9ELEVBR25ELG9EQUFvRCxFQUd2RCxvREFBb0Q7QUFPdEU7QUNyREE7O0FBQUE7RUFDRTs7QUFFRixpQkFBaUI7QUFDakI7SUFDSSxzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLDREQUFnRjtBQUNwRjtBQUNBLDZIQUE2SDtBQUM3SDtJQUNJLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsNERBQWdGO0FBQ3BGO0FBQ0E7SUFDSSxzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLDREQUFnRjtBQUNwRjtBQUNBO0FDcEJBOztBQUFBO0lBQ0ksMEVBQTBFO0lBQzFFLHVCQUF1QjtBQUMzQjs7QUFFQTs7O29FQUdvRTtBQUNwRTs7NkVBRTZFOztBQVM3RSw0R0FBNEc7QUFDNUcseUJBQXlCO0FBNEJ6Qix5QkFBeUI7O0FBRXpCOzs7Ozs7Ozs7RUFTRTs7QUFnQkYscUNBQXFDO0FBQ3JDLHlCQUF5QjtBQUl6Qix5QkFBeUI7O0FBRXpCLDBCQUEwQjtBQUMxQix5QkFBeUI7QUFFekIseUJBQXlCOztBQUV6QixxRkFBcUY7QUFDckYseUJBQXlCO0FBV3pCLHlCQUF5Qjs7QUFFekIsOERBQThEO0FBQzlELHlCQUF5QjtBQWN6Qix5QkFBeUI7O0FBRXpCLGVBQWU7QUFDZix5QkFBeUI7QUFFekIseUJBQXlCOztBQUV6QixZQUFZO0FBQ1oseUJBQXlCO0FBR3pCLHlCQUF5Qjs7QUFFekIsV0FBVztBQUNYLHlCQUF5QjtBQUd6Qix5QkFBeUI7O0FBRXpCLFNBQVM7QUFD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O0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsaUNBQWlDO0VBQ2pDLGlDQUFpQztFQUNqQyxpQ0FBaUM7RUFDakMsaUNBQWlDO0VBQ2pDLGlDQUFpQztFQUNqQyw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxvREFBb0Q7RUFDcEQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxtREFBbUQ7RUFDbkQsb0RBQW9EO0VBQ3BELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsa0RBQWtEO0VBQ2xELG1EQUFtRDtFQUNuRCxvREFBb0Q7RUFDcEQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxrREFBa0Q7RUFDbEQsZ0RBQWdEO0VBQ2hELGdEQUFnRDtFQUNoRCx1REFBdUQ7RUFDdkQsdURBQXVEO0VBQ3ZELHVEQUF1RDtFQUN2RCx1REFBdUQ7RUFDdkQsdURBQXVEO0VBQ3ZELHNEQUFzRDtFQUN0RCx1REFBdUQ7RUFDdkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELHVEQUF1RDtFQUN2RCx1REFBdUQ7RUFDdkQsdURBQXVEO0VBQ3ZELHVEQUF1RDtFQUN2RCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG9EQUFvRDtFQUNwRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxtREFBbUQ7RUFDbkQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQsc0RBQXNEO0VBQ3RELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELGtEQUFrRDtFQUNsRCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHVEQUF1RDtFQUN2RCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxvREFBb0Q7RUFDcEQsbURBQW1EO0VBQ25ELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxvREFBb0Q7RUFDcEQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsc0RBQXNEO0VBQ3RELHNE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NkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGlDQUFpQztFQUNqQyxpQ0FBaUM7RUFDakMsaUNBQWlDO0VBQ2pDLGlDQUFpQztFQUNqQyxpQ0FBaUM7RUFDakMsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QixxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxxREFBcUQ7RUFDckQsb0RBQW9EO0VBQ3BELHFEQUFxRDtFQUNyRCxzREFBc0Q7RUFDdEQsb0RBQW9EO0VBQ3BELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsa0RBQWtEO0VBQ2xELG1EQUFtRDtFQUNuRCxvREFBb0Q7RUFDcEQsaURBQWlEO0VBQ2pELGtEQUFrRDtFQUNsRCxnREFBZ0Q7RUFDaEQsZ0RBQWdEO0VBQ2hELGdEQUFnRDtFQUNoRCxnREFBZ0Q7RUFDaEQsdURBQXVEO0VBQ3ZELHVEQUF1RDtFQUN2RCx1REFBdUQ7RUFDdkQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCx1REFBdUQ7RUFDdkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxrREFBa0Q7RUFDbEQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCx1REFBdUQ7RUFDdkQsdURBQXVEO0VBQ3ZELHVEQUF1RDtFQUN2RCx1REFBdUQ7RUFDdkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxvREFBb0Q7RUFDcEQsbURBQW1EO0VBQ25ELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELG9EQUFvRDtFQUNwRCxxREFBcUQ7RUFDckQsc0RBQXNEO0VBQ3RELG9EQUFvRDtFQUNwRCxxREFBcUQ7RUFDckQsa0RBQWtEO0VBQ2xELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsc0RBQXNEO0VBQ3RELHVEQUF1RDtFQUN2RCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxvREFBb0Q7RUFDcEQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxxREFBcUQ7RUFDckQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELGtEQUFrRDtFQUNsRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHNEQUFzRDtFQUN0RCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsdURBQXVEO0VBQ3ZELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQs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LCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQywrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZC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RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFD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b0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCO0FBRUE7QWxaemxDQSw0REFBNEQ7QUFFNUQsMEVBQTBFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvdGhlbWVzL2RhcmsvY3NzL2RhcmsucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvX2NvbXBvdW5kLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9fZm9udC1zaXplcy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL3RoZW1lcy9saWdodC9jc3MvX2ZvbnRzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvdGhlbWVzL2xpZ2h0L2Nzcy9fbGlnaHQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy90aGVtZXMvZGFyay9jc3MvX2RhcmsucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy90aGVtZXMvbGlnaHQvY3NzL19tb2RzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL19jb21wb25lbnRzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL19hbmltYXRpb25zLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL19jb21tb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvX3NwYWNpbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vbWFwbGlicmUtZ2xANS4yNC4wL25vZGVfbW9kdWxlcy9tYXBsaWJyZS1nbC9kaXN0L21hcGxpYnJlLWdsLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi88bm8gc291cmNlPiIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvbkxpc3RJdGVtLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19CZWFjb25TdGF0dXMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvblN0YXR1c1Rvb2x0aXAucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvblZpZXdEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0RpYWxvZ093bkJlYWNvblN0YXR1cy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fRGlhbG9nU2lkZWJhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fTGVmdFBhbmVsTGl2ZVNoYXJlV2FybmluZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fTGl2ZVRpbWVSZW1haW5pbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX093bkJlYWNvblN0YXR1cy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fU2hhcmVMYXRlc3RMb2NhdGlvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fU3R5bGVkTGl2ZUJlYWNvbkljb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9jb250ZXh0X21lbnVzL19LZWJhYkNvbnRleHRNZW51LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9wb2xscy9fUG9sbERldGFpbEhlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvcG9sbHMvX1BvbGxMaXN0SXRlbS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvcG9sbHMvX1BvbGxMaXN0SXRlbUVuZGVkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvX0FwcFBlcm1pc3Npb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9fQXBwV2FybmluZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19GaWx0ZXJEcm9wZG93bi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19GaWx0ZXJUYWJHcm91cC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19MZWFybk1vcmUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fRW5hYmxlTGl2ZVNoYXJlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX0xpdmVEdXJhdGlvbkRyb3Bkb3duLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX0xvY2F0aW9uU2hhcmVNZW51LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcEVycm9yLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcEZhbGxiYWNrLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcmtlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19TaGFyZURpYWxvZ0J1dHRvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fU2hhcmVUeXBlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX1pvb21CdXR0b25zLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbWVzc2FnZXMvX01CZWFjb25Cb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbWVzc2FnZXMvc2hhcmVkL19NZWRpYVByb2Nlc3NpbmdFcnJvci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3BvbGxzL19Qb2xsT3B0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvX0FkZFJlbW92ZVRocmVlcGlkcy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0N1cnJlbnREZXZpY2VTZWN0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlRGV0YWlsSGVhZGluZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZURldGFpbHMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlU2VjdXJpdHlDYXJkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlVGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZVR5cGVJY29uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRmlsdGVyZWREZXZpY2VMaXN0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRmlsdGVyZWREZXZpY2VMaXN0SGVhZGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fU2VjdXJpdHlSZWNvbW1lbmRhdGlvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19TZWxlY3RhYmxlRGV2aWNlVGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2VuY3J5cHRpb24vX0tleVN0b3JhZ2VQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL3NoYXJlZC9fU2V0dGluZ3NTdWJzZWN0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3Mvc2hhcmVkL19TZXR0aW5nc1N1YnNlY3Rpb25IZWFkaW5nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc3BhY2VzL19RdWlja1RoZW1lU3dpdGNoZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy90eXBvZ3JhcGh5L19DYXB0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvdW5kL19JY29uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvdW5kL19TdWNjZXNzRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0F1dG9IaWRlU2Nyb2xsYmFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0F1dG9jb21wbGV0ZUlucHV0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0JhY2tkcm9wUGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fQ29tcGF0aWJpbGl0eVBhZ2UucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fQ29udGV4dHVhbE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fRXJyb3JNZXNzYWdlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0ZpbGVEcm9wVGFyZ2V0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0ZpbGVQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19HZW5lcmljRHJvcGRvd25NZW51LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0hvbWVQYWdlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0xhcmdlTG9hZGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0xlZnRQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19NYWluU3BsaXQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fTWF0cml4Q2hhdC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19Ob25VcmdlbnRUb2FzdENvbnRhaW5lci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19QaWN0dXJlSW5QaWN0dXJlRHJhZ2dlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19RdWlja1NldHRpbmdzQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1JpZ2h0UGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fUm9vbVNlYXJjaC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19Sb29tVmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19TZWFyY2hCb3gucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fU3BhY2VIaWVyYXJjaHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fU3BhY2VQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19TcGFjZVBpbGxCdXR0b24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fU3BhY2VSb29tVmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19TcGxhc2hQYWdlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1RhYmJlZFZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fVGhyZWFkc0FjdGl2aXR5Q2VudHJlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1RvYXN0Q29udGFpbmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1VwbG9hZEJhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19WaWV3U291cmNlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fQ29tcGxldGVTZWN1cml0eS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL2F1dGgvX0NvbmZpcm1TZXNzaW9uTG9ja1RoZWZ0Vmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL2F1dGgvX0xvZ2luLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fTG9naW5TcGxhc2hWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fTW9iaWxlUmVnaXN0cmF0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fUmVnaXN0cmF0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fU2Vzc2lvbkxvY2tTdG9sZW5WaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fU2V0dXBFbmNyeXB0aW9uQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy90aGVtZXMvX3BseC1mb250cy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy90aGVtZXMvX3BseC10ZWxlZ3JhbS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdWRpb19tZXNzYWdlcy9fUGxheWJhY2tDb250YWluZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXVkaW9fbWVzc2FnZXMvX1NlZWtCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXVkaW9fbWVzc2FnZXMvX1dhdmVmb3JtLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX0F1dGhCb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX0F1dGhGb290ZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fQXV0aEhlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19BdXRoSGVhZGVyTG9nby5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19BdXRoUGFnZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19Db21wbGV0ZVNlY3VyaXR5Qm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19Db3VudHJ5RHJvcGRvd24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fRGVmYXVsdFdlbGNvbWUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX0xhbmd1YWdlU2VsZWN0b3IucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fTG9naW5XaXRoUVIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fUGFzc3BocmFzZUZpZWxkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX1dlbGNvbWUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXZhdGFycy9fQmFzZUF2YXRhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdmF0YXJzL19EZWNvcmF0ZWRSb29tQXZhdGFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F2YXRhcnMvX1Jvb21BdmF0YXJWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F2YXRhcnMvX1dpZGdldEF2YXRhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdmF0YXJzL19XaXRoUHJlc2VuY2VJbmRpY2F0b3IucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYmV0YS9fQmV0YUNhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvY29udGV4dF9tZW51cy9fRGV2aWNlQ29udGV4dE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvY29udGV4dF9tZW51cy9fSWNvbml6ZWRDb250ZXh0TWVudS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9jb250ZXh0X21lbnVzL19MZWdhY3lDYWxsQ29udGV4dE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0FuYWx5dGljc0xlYXJuTW9yZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19CdWdSZXBvcnREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQ2hhbmdlbG9nRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NvbXBvdW5kRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NvbmZpcm1LZXlTdG9yYWdlT2ZmRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NvbmZpcm1TcGFjZVVzZXJBY3Rpb25EaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQ29uZmlybVVzZXJBY3Rpb25EaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQ3JlYXRlUm9vbURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19DcmVhdGVTZWN0aW9uRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NyZWF0ZVN1YnNwYWNlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NyeXB0by5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19EZWFjdGl2YXRlQWNjb3VudERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19EZXZ0b29sc0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19FeHBvcnREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fRmVlZGJhY2tEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fRm9yd2FyZERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19HZW5lcmljRmVhdHVyZUZlZWRiYWNrRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0luY29taW5nU2FzRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0ludml0ZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19JbnZpdGVQcm9ncmVzc0JvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fSm9pblJ1bGVEcm9wZG93bi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19MZWF2ZVNwYWNlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0xvY2F0aW9uVmlld0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Mb2dvdXREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Nb2RhbFdpZGdldERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Qb2xsQ3JlYXRlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1JlZ2lzdHJhdGlvbkVtYWlsUHJvbXB0RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1JlbW92ZVNlY3Rpb25EaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fUmVwb3J0Um9vbURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Sb29tU2V0dGluZ3NEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fUm9vbVNldHRpbmdzRGlhbG9nQnJpZGdlcy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Sb29tVXBncmFkZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2VydmVyT2ZmbGluZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19TZXJ2ZXJQaWNrZXJEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2V0RW1haWxEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2V0dGluZ3NEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2hhcmVEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2xhc2hDb21tYW5kSGVscERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19TcGFjZVByZWZlcmVuY2VzRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1NwYWNlU2V0dGluZ3NEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU3BvdGxpZ2h0RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1Rlcm1zRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1VucGluQWxsRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1VudHJ1c3RlZERldmljZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19VcGxvYWRDb25maXJtRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1VzZXJTZXR0aW5nc0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19WZXJpZnlFTWFpbERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9pbnZpdGUvX1Vua25vd25JZGVudGl0eVVzZXJzV2FybmluZ0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0NyZWF0ZUNyb3NzU2lnbmluZ0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0tleUJhY2t1cEZhaWxlZERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19SZXN0b3JlS2V5QmFja3VwRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpcmVjdG9yeS9fTmV0d29ya0Ryb3Bkb3duLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19BY2Nlc3NpYmxlQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19Db3B5YWJsZVRleHQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fRGlhbFBhZEJhY2tzcGFjZUJ1dHRvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fRHJvcGRvd24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0VkaXRhYmxlSXRlbUxpc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0Vycm9yQm91bmRhcnkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0V4dGVybmFsTGluay5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fRmFjZVBpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0ZpZWxkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19HZW5lcmljRXZlbnRMaXN0U3VtbWFyeS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fSW1hZ2VWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19JbmZvVG9vbHRpcC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fSW5saW5lU3Bpbm5lci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fSW50ZXJhY3RpdmVUb29sdGlwLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19JbnZpdGVSZWFzb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0xhYmVsbGVkQ2hlY2tib3gucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0xhbmd1YWdlRHJvcGRvd24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX01pbmlBdmF0YXJVcGxvYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUGlsbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUG93ZXJTZWxlY3Rvci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUHJvZ3Jlc3NCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1FSQ29kZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUmVwbHlDaGFpbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUmVzaXplSGFuZGxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19SaWNoVGV4dC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUm9vbUFsaWFzRmllbGQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1NTT0J1dHRvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1NlYXJjaFdhcm5pbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1NlcnZlclBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fU2V0dGluZ3NEcm9wZG93bi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fU2V0dGluZ3NGbGFnLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19TcGlubmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19TdHlsZWRSYWRpb0J1dHRvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fU3ludGF4SGlnaGxpZ2h0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19UYWdDb21wb3Nlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fVGV4dFdpdGhUb29sdGlwLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19Ub2dnbGVTd2l0Y2gucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1ZhbGlkYXRpb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZW1vamlwaWNrZXIvX0Vtb2ppUGlja2VyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2xvY2F0aW9uL19Mb2NhdGlvblBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fQ2FsbEV2ZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19DcmVhdGVFdmVudC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fRGlzYW1iaWd1YXRlZFByb2ZpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX0xlZ2FjeUNhbGxFdmVudC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fTUltYWdlUmVwbHlCb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19NTG9jYXRpb25Cb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19NUG9sbEJvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX01TdGlja2VyQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fTWVzc2FnZUFjdGlvbkJhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fVGV4dHVhbEV2ZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19UaHJlYWRBY3Rpb25CYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX2NvbW1vbl9DcnlwdG9FdmVudC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9wb2xscy9wb2xsSGlzdG9yeS9fUG9sbEhpc3RvcnkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcG9sbHMvcG9sbEhpc3RvcnkvX1BvbGxIaXN0b3J5TGlzdC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yaWdodF9wYW5lbC9fQmFzZUNhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX0VtcHR5U3RhdGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX0VuY3J5cHRpb25JbmZvLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19FeHRlbnNpb25zQ2FyZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yaWdodF9wYW5lbC9fUGlubmVkTWVzc2FnZXNDYXJkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19Sb29tU3VtbWFyeUNhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX1RocmVhZFBhbmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19UaW1lbGluZUNhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX1VzZXJJbmZvLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19WZXJpZmljYXRpb25QYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yaWdodF9wYW5lbC9fV2lkZ2V0Q2FyZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tX3NldHRpbmdzL19BbGlhc1NldHRpbmdzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL1Jvb21MaXN0UGFuZWwvX1Jvb21MaXN0UGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0FwcHNEcmF3ZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0F1dG9jb21wbGV0ZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fQXV4UGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0Jhc2ljTWVzc2FnZUNvbXBvc2VyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19DYWxsR3Vlc3RMaW5rQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19FMkVJY29uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19FMkVJY29uVmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fRWRpdE1lc3NhZ2VDb21wb3Nlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fRW1vamlCdXR0b24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0V2ZW50QnViYmxlVGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fRXZlbnRUaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19IaXN0b3J5VGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fSVJDTGF5b3V0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19JbnZpdGVkSWNvblZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0p1bXBUb0JvdHRvbUJ1dHRvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fTGVnYWN5Um9vbUxpc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0xlZ2FjeVJvb21MaXN0SGVhZGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19MaXZlQ29udGVudFN1bW1hcnkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX01lbWJlckxpc3RIZWFkZXJWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19NZW1iZXJMaXN0Vmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fTWVtYmVyVGlsZVZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX01lc3NhZ2VDb21wb3Nlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19OZXdSb29tSW50cm8ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX05vdGlmaWNhdGlvbkJhZGdlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19PdmVyZmxvd1RpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Bpbm5lZEV2ZW50VGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUGlubmVkTWVzc2FnZUJhbm5lci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUGx4TWVkaWFQaWNrZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1ByZXNlbmNlSWNvblZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1ByZXNlbmNlTGFiZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1JlYWRSZWNlaXB0R3JvdXAucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1JlcGx5UHJldmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUmVwbHlUaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tQnJlYWRjcnVtYnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21DYWxsQmFubmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tSGVhZGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tSW5mb0xpbmUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21Lbm9ja3NCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21QcmV2aWV3QmFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tUHJldmlld0NhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21TZWFyY2hBdXhQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUm9vbVN1Ymxpc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21UaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tVXBncmFkZVdhcm5pbmdCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1NlbmRNZXNzYWdlQ29tcG9zZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1N0aWNrZXJzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19UaGlyZFBhcnR5TWVtYmVySW5mby5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fVG9wVW5yZWFkTWVzc2FnZXNCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1VzZXJJZGVudGl0eVdhcm5pbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19XaG9Jc1R5cGluZ1RpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9fRWRpdFd5c2l3eWdDb21wb3Nlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy93eXNpd3lnX2NvbXBvc2VyL19TZW5kV3lzaXd5Z0NvbXBvc2VyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL3d5c2l3eWdfY29tcG9zZXIvY29tcG9uZW50cy9fRWRpdG9yLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL3d5c2l3eWdfY29tcG9zZXIvY29tcG9uZW50cy9fRm9ybWF0dGluZ0J1dHRvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9jb21wb25lbnRzL19MaW5rTW9kYWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0F2YXRhclNldHRpbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0ZvbnRTY2FsaW5nUGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0ltYWdlU2l6ZVBhbmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19JbnRlZ3JhdGlvbk1hbmFnZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0pvaW5SdWxlU2V0dGluZ3MucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0tleWJvYXJkU2hvcnRjdXQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0xheW91dFN3aXRjaGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19Ob3RpZmljYXRpb25QdXNoZXJTZXR0aW5ncy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fTm90aWZpY2F0aW9uU2V0dGluZ3MyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19Ob3RpZmljYXRpb25zLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19QaG9uZU51bWJlcnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1Bvd2VyTGV2ZWxTZWxlY3Rvci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fUm9vbVByb2ZpbGVTZXR0aW5ncy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fU2V0SW50ZWdyYXRpb25NYW5hZ2VyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19TZXR0aW5nc0ZpZWxkc2V0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19TZXR0aW5nc0hlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fU2V0dGluZ3NTdWJoZWFkZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1NwZWxsQ2hlY2tMYW5ndWFnZXMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1RoZW1lQ2hvaWNlUGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1VwZGF0ZUNoZWNrQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19Vc2VyUGVyc29uYWxJbmZvU2V0dGluZ3MucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1VzZXJQcm9maWxlU2V0dGluZ3MucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvZW5jcnlwdGlvbi9fQWR2YW5jZWRQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19DaGFuZ2VSZWNvdmVyeUtleS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19FbmNyeXB0aW9uQ2FyZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19FbmNyeXB0aW9uQ2FyZEVtcGhhc2lzZWRDb250ZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL2VuY3J5cHRpb24vX1JlY292ZXJ5UGFuZWxPdXRPZlN5bmMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvZW5jcnlwdGlvbi9fUmVzZXRJZGVudGl0eVBhbmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzQmFubmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzSW5kZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzU2VjdGlvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL19TZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3Jvb20vX05vdGlmaWNhdGlvblNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvcm9vbS9fUGVvcGxlUm9vbVNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvcm9vbS9fUm9sZXNSb29tU2V0dGluZ3NUYWIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy9yb29tL19TZWN1cml0eVJvb21TZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX0FwcGVhcmFuY2VVc2VyU2V0dGluZ3NUYWIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19Cb3RzVXNlclNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fSGVscFVzZXJTZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX0tleWJvYXJkVXNlclNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fTWVkaWFQcmV2aWV3QWNjb3VudFNldHRpbmdzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fTWpvbG5pclVzZXJTZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX1ByZWZlcmVuY2VzVXNlclNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19TaWRlYmFyVXNlclNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NwYWNlcy9fU3BhY2VCYXNpY1NldHRpbmdzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NwYWNlcy9fU3BhY2VDaGlsZHJlblBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zcGFjZXMvX1NwYWNlQ3JlYXRlTWVudS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy90ZXJtcy9fSW5saW5lVGVybXNBZ3JlZW1lbnQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdG9hc3RzL19BbmFseXRpY3NUb2FzdC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy90b2FzdHMvX0luY29taW5nQ2FsbFRvYXN0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3RvYXN0cy9fSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdG9hc3RzL19Ob25VcmdlbnRFY2hvRmFpbHVyZVRvYXN0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3R5cG9ncmFwaHkvX0hlYWRpbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdmVyaWZpY2F0aW9uL19WZXJpZmljYXRpb25TaG93U2FzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3ZvaXAvTGVnYWN5Q2FsbFZpZXcvX0xlZ2FjeUNhbGxWaWV3QnV0dG9ucy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19DYWxsRHVyYXRpb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fQ2FsbFZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fRGlhbFBhZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19EaWFsUGFkQ29udGV4dE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fRGlhbFBhZE1vZGFsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3Rm9yUm9vbS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19MZWdhY3lDYWxsVmlld0hlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19MZWdhY3lDYWxsVmlld1NpZGViYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fVmlkZW9GZWVkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC1mb250LWZhbGxiYWNrcy5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC1jb21tb24tYmFzZS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC1jb21tb24tc2VtYW50aWMuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtbGlnaHQtYmFzZS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1saWdodC1iYXNlLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZlY3Rvci1pbStjb21wb3VuZC1kZXNpZ24tXzQ4M2FiZDNhYTNkNmZhNDU1MGRhMzVlMjJlMjY2NWY0L25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWxpZ2h0LXNlbWFudGljLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZlY3Rvci1pbStjb21wb3VuZC1kZXNpZ24tXzQ4M2FiZDNhYTNkNmZhNDU1MGRhMzVlMjJlMjY2NWY0L25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWxpZ2h0LXNlbWFudGljLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZlY3Rvci1pbStjb21wb3VuZC1kZXNpZ24tXzQ4M2FiZDNhYTNkNmZhNDU1MGRhMzVlMjJlMjY2NWY0L25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWxpZ2h0LWhjLWJhc2UuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtbGlnaHQtaGMtYmFzZS1tcS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1saWdodC1oYy1zZW1hbnRpYy5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1saWdodC1oYy1zZW1hbnRpYy1tcS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1kYXJrLWJhc2UuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtZGFyay1iYXNlLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZlY3Rvci1pbStjb21wb3VuZC1kZXNpZ24tXzQ4M2FiZDNhYTNkNmZhNDU1MGRhMzVlMjJlMjY2NWY0L25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWRhcmstc2VtYW50aWMuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtZGFyay1zZW1hbnRpYy1tcS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1kYXJrLWhjLWJhc2UuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtZGFyay1oYy1iYXNlLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZlY3Rvci1pbStjb21wb3VuZC1kZXNpZ24tXzQ4M2FiZDNhYTNkNmZhNDU1MGRhMzVlMjJlMjY2NWY0L25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWRhcmstaGMtc2VtYW50aWMuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtZGFyay1oYy1zZW1hbnRpYy1tcS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtd2ViQDkuM185ZjQyM2I3N2VkZTc1N2JkZmMyYmRiNTIzODNkMDU1YS9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC13ZWIvZGlzdC9zdHlsZS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvc3R5bGVzL2F0b20tb25lLWRhcmsubWluLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vZ2l0aHViLW1hcmtkb3duLWNzc0A1LjkuMC9ub2RlX21vZHVsZXMvZ2l0aHViLW1hcmtkb3duLWNzcy9naXRodWItbWFya2Rvd24tZGFyay5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGxheWVyIGNvbXBvdW5kLXRva2VucywgY29tcG91bmQtd2ViLCBzaGFyZWQtY29tcG9uZW50cywgYXBwLXdlYjtcclxuXHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9yZXMvY3NzL19mb250LXNpemVzLnBjc3NcIiBsYXllcihhcHAtd2ViKTtcclxuQGltcG9ydCBcIi4uLy4uL2xpZ2h0L2Nzcy9fZm9udHMucGNzc1wiIGxheWVyKGFwcC13ZWIpO1xyXG5AaW1wb3J0IFwiLi4vLi4vbGlnaHQvY3NzL19saWdodC5wY3NzXCIgbGF5ZXIoYXBwLXdlYik7XHJcbkBpbXBvcnQgXCJfZGFyay5wY3NzXCIgbGF5ZXIoYXBwLXdlYik7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWdodC9jc3MvX21vZHMucGNzc1wiIGxheWVyKGFwcC13ZWIpO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vcmVzL2Nzcy9fY29tcG9uZW50cy5wY3NzXCIgbGF5ZXIoYXBwLXdlYik7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9yZXMvY3NzL19jb21wb3VuZC5wY3NzXCI7XHJcbkBpbXBvcnQgdXJsKFwiaGlnaGxpZ2h0LmpzL3N0eWxlcy9hdG9tLW9uZS1kYXJrLm1pbi5jc3NcIikgbGF5ZXIoYXBwLXdlYik7XHJcbkBpbXBvcnQgdXJsKFwiZ2l0aHViLW1hcmtkb3duLWNzcy9naXRodWItbWFya2Rvd24tZGFyay5jc3NcIikgbGF5ZXIoYXBwLXdlYik7XHJcbi8qIFBMWCBNaWRuaWdodCB3ZWJmb250IChAZm9udC1mYWNlIGZvciBQbHVzIEpha2FydGEgU2FucykgKi9cclxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3Jlcy9jc3MvdGhlbWVzL19wbHgtZm9udHMucGNzc1wiIGxheWVyKGFwcC13ZWIpO1xyXG4vKiBQTFggTWlkbmlnaHQgdGhlbWUgb3ZlcmxheSDigJQgbGFzdCBpbXBvcnQgc28gaXQgdG9wcyB0aGUgYXBwLXdlYiBsYXllciAqL1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vcmVzL2Nzcy90aGVtZXMvX3BseC10ZWxlZ3JhbS5wY3NzXCIgbGF5ZXIoYXBwLXdlYik7XHJcbiIsIi8qIFNoYXJlZCBjYXNjYWRlIG9yZGVyOiBDb21wb3VuZCB0b2tlbnMsIENvbXBvdW5kIFdlYiwgc2hhcmVkIGNvbXBvbmVudHMsIHRoZW4gYXBwIG92ZXJyaWRlcy4gKi9cclxuQGxheWVyIGNvbXBvdW5kLXRva2VucywgY29tcG91bmQtd2ViLCBzaGFyZWQtY29tcG9uZW50cywgYXBwLXdlYjtcclxuXHJcbi8qIE1vZHVsZXMgYnVuZGxlZCB3aXRoIGNvbXBvdW5kIGFwcGx5IGNvbXBvdW5kIGxhc3RseS4gSW4gb3JkZXIgdG8gY2F0Y2ggaXNzdWUgZHVlIHRvIGNzcyBjbGFzcyBvcmRlcmluZywgd2UgcHV0IGNvbXBvdW5kIGF0IHRoZSBlbmQgKi9cclxuQGltcG9ydCB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY29tcG91bmQtZGVzaWduLXRva2Vucy5jc3NcIikgbGF5ZXIoY29tcG91bmQtdG9rZW5zKTtcclxuQGltcG9ydCB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLXdlYi9kaXN0L3N0eWxlLmNzc1wiKSBsYXllcihjb21wb3VuZC13ZWIpO1xyXG4iLCIvKiBFc3RhYmxpc2ggYSBsYXllciBvcmRlciB0aGF0IGFsbG93cyBzZW1hbnRpYyB0b2tlbnMgdG8gYmUgY3VzdG9taXplZCwgYnV0IG5vdCBiYXNlIHRva2Vucy5cbiAqIFRoZSBsYXllcnMgYXJlIHByZWZpeGVkIGJ5ICdjcGQtJyBiZWNhdXNlIFRhaWx3aW5kIHdpbGwgaW50ZXJwcmV0ICdAbGF5ZXIgYmFzZScgZGlyZWN0aXZlcy5cbiAqL1xuQGxheWVyIGNwZC1zZW1hbnRpYywgY3VzdG9tLCBjcGQtYmFzZTtcblxuQGltcG9ydCB1cmwoXCIuL2NwZC1mb250LWZhbGxiYWNrcy5jc3NcIik7XG5AaW1wb3J0IHVybChcIi4vY3BkLWNvbW1vbi1iYXNlLmNzc1wiKSBsYXllcihjcGQtYmFzZSkgc2NyZWVuO1xuQGltcG9ydCB1cmwoXCIuL2NwZC1jb21tb24tc2VtYW50aWMuY3NzXCIpIGxheWVyKGNwZC1zZW1hbnRpYykgc2NyZWVuO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1saWdodC1iYXNlLmNzc1wiKSBsYXllcihjcGQtYmFzZSkgc2NyZWVuO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1saWdodC1iYXNlLW1xLmNzc1wiKSBsYXllcihjcGQtYmFzZSkgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGxpZ2h0KTtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtbGlnaHQtc2VtYW50aWMuY3NzXCIpIGxheWVyKGNwZC1zZW1hbnRpYykgc2NyZWVuO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1saWdodC1zZW1hbnRpYy1tcS5jc3NcIikgbGF5ZXIoY3BkLXNlbWFudGljKSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1saWdodC1oYy1iYXNlLmNzc1wiKSBsYXllcihjcGQtYmFzZSkgc2NyZWVuO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1saWdodC1oYy1iYXNlLW1xLmNzc1wiKSBsYXllcihjcGQtYmFzZSkgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGxpZ2h0KSBhbmQgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1saWdodC1oYy1zZW1hbnRpYy5jc3NcIikgbGF5ZXIoY3BkLXNlbWFudGljKSBzY3JlZW47XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWxpZ2h0LWhjLXNlbWFudGljLW1xLmNzc1wiKSBsYXllcihjcGQtc2VtYW50aWMpIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCkgYW5kIChwcmVmZXJzLWNvbnRyYXN0OiBtb3JlKTtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtZGFyay1iYXNlLmNzc1wiKSBsYXllcihjcGQtYmFzZSkgc2NyZWVuO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1kYXJrLWJhc2UtbXEuY3NzXCIpIGxheWVyKGNwZC1iYXNlKSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayk7XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWRhcmstc2VtYW50aWMuY3NzXCIpIGxheWVyKGNwZC1zZW1hbnRpYykgc2NyZWVuO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1kYXJrLXNlbWFudGljLW1xLmNzc1wiKSBsYXllcihjcGQtc2VtYW50aWMpIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKTtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtZGFyay1oYy1iYXNlLmNzc1wiKSBsYXllcihjcGQtYmFzZSkgc2NyZWVuO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1kYXJrLWhjLWJhc2UtbXEuY3NzXCIpIGxheWVyKGNwZC1iYXNlKSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgYW5kIChwcmVmZXJzLWNvbnRyYXN0OiBtb3JlKTtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtZGFyay1oYy1zZW1hbnRpYy5jc3NcIikgbGF5ZXIoY3BkLXNlbWFudGljKSBzY3JlZW47XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWRhcmstaGMtc2VtYW50aWMtbXEuY3NzXCIpIGxheWVyKGNwZC1zZW1hbnRpYykgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIGFuZCAocHJlZmVycy1jb250cmFzdDogbW9yZSk7XG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLypcclxuICogU0NTUyB2YXJpYWJsZXMgZGVmaW5pbmcgYSByYW5nZSBvZiBmb250IHNpemVzLlxyXG4gKlxyXG4gKiBUaGVzZSBhcmUgZGVmaW5lZCBpbiBgcmVtYCBzbyB0aGF0IHRoZXkgc2NhbGUgd2l0aCB0aGUgYGZvbnQtc2l6ZWAgb2YgdGhlIHJvb3QgZWxlbWVudCAod2hpY2ggaXMgYWRqdXN0YWJsZSB2aWEgdGhlXHJcbiAqIFwiRm9udCBzaXplXCIgc2V0dGluZykuIFRoZXkgZXhpc3QgdG8gbWFrZSB0aGUgam9iIG9mIGNvbnZlcnRpbmcgZGVzaWducyAod2hpY2ggdGVuZCB0byBiZSBiYXNlZCBpbiBwaXhlbHMpIGludG8gQ1NTXHJcbiAqIGVhc2llci5cclxuICovXHJcblxyXG4vKlxyXG4gKiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdyAqZGVwcmVjYXRlZCogYW5kIHNob3VsZCBub3QgYmUgdXNlZCBpbiBuZXcgY29kZTsgaW5zdGVhZCBDb21wb3VuZCB0eXBvZ3JhcGhpYyB0b2tlbnNcclxuICogc2hvdWxkIGJlIHVzZWQuIERpcmVjdCBlcXVpdmFsZW50cyBmb3IgdGhlc2Ugb2xkIGZvbnQgc2l6ZSB0b2tlbnMgYXJlIGxpc3RlZCBiZWxvdzsgd2hlcmUgbm8gZXF1aXZhbGVudCBleGlzdHMsXHJcbiAqIHRoYXQgc3VnZ2VzdHMgdGhhdCB0aGUgZGVzaWduIGlzIHVzaW5nIGEgbm9uLXN0YW5kYXJkIGZvbnQgc2l6ZSBhbmQgc2hvdWxkIGJlIHVwZGF0ZWQuXHJcbiAqXHJcbiAqIEluIGZhY3QsIG1vZGVybiBGaWdtYSBkZXNpZ25zIHNob3VsZCBhY3R1YWxseSB1c2UgYSBuYW1lZCBUeXBvZ3JhcGh5IHN0eWxlIHN1Y2ggYXMgXCJXZWIvZm9udC9oZWFkaW5nL3NtL3NlbWlib2xkXCIsXHJcbiAqIHRyYW5zbGF0ZXMgZGlyZWN0bHkgdG8gYGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tc2VtaWJvbGQpYC5cclxuICovXHJcbiRmb250LTFweDogMC4wNjI1cmVtO1xyXG4kZm9udC04cHg6IDAuNXJlbTtcclxuJGZvbnQtOXB4OiAwLjU2MjVyZW07XHJcbiRmb250LTEwcHg6IDAuNjI1cmVtO1xyXG4kZm9udC0xMC00cHg6IDAuNjI3NXJlbTtcclxuJGZvbnQtMTFweDogMC42ODc1cmVtOyAvKiBDb21wb3VuZCBlcXVpdmFsZW50OiAtLWNwZC1mb250LXNpemUtYm9keS14cyAqL1xyXG4kZm9udC0xMnB4OiAwLjc1cmVtO1xyXG4kZm9udC0xM3B4OiAwLjgxMjVyZW07IC8qIENvbXBvdW5kIGVxdWl2YWxlbnQ6IC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXNtICovXHJcbiRmb250LTE0cHg6IDAuODc1cmVtO1xyXG4kZm9udC0xNXB4OiAwLjkzNzVyZW07IC8qIENvbXBvdW5kIGVxdWl2YWxlbnQ6IC0tY3BkLWZvbnQtc2l6ZS1ib2R5LW1kICovXHJcbiRmb250LTE2cHg6IDFyZW07XHJcbiRmb250LTE3cHg6IDEuMDYyNXJlbTsgLyogQ29tcG91bmQgZXF1aXZhbGVudDogLS1jcGQtZm9udC1zaXplLWJvZHktbGcgKi9cclxuJGZvbnQtMThweDogMS4xMjVyZW07XHJcbiRmb250LTIwcHg6IDEuMjVyZW07IC8qIENvbXBvdW5kIGVxdWl2YWxlbnQ6IC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXNtICovXHJcbiRmb250LTIycHg6IDEuMzc1cmVtO1xyXG4kZm9udC0yM3B4OiAxLjQzNzVyZW07XHJcbiRmb250LTI0cHg6IDEuNXJlbTsgLyogQ29tcG91bmQgZXF1aXZhbGVudDogLS1jcGQtZm9udC1zaXplLWhlYWRpbmctbWQgKi9cclxuJGZvbnQtMjVweDogMS41NjI1cmVtO1xyXG4kZm9udC0yNnB4OiAxLjYyNXJlbTtcclxuJGZvbnQtMjhweDogMS43NXJlbTsgLyogQ29tcG91bmQgZXF1aXZhbGVudDogLS1jcGQtZm9udC1zaXplLWhlYWRpbmctbGcgKi9cclxuJGZvbnQtMjlweDogMS44MTI1cmVtO1xyXG4kZm9udC0zMHB4OiAxLjg3NXJlbTtcclxuJGZvbnQtMzJweDogMnJlbTsgLyogQ29tcG91bmQgZXF1aXZhbGVudDogLS1jcGQtZm9udC1zaXplLWhlYWRpbmcteGwgKi9cclxuJGZvbnQtMzRweDogMi4xMjVyZW07XHJcbiRmb250LTM1cHg6IDIuMTg3NXJlbTtcclxuJGZvbnQtMzlweDogMi40Mzc1cmVtO1xyXG4kZm9udC00MnB4OiAyLjYyNXJlbTtcclxuJGZvbnQtNDRweDogMi43NXJlbTtcclxuJGZvbnQtNDhweDogM3JlbTtcclxuIiwiLyogdGhlICdzcmMnIGxpbmtzIGFyZSByZWxhdGl2ZSB0byB0aGUgYnVuZGxlLmNzcywgd2hpY2ggaXMgaW4gYSBzdWJkaXJlY3RvcnkuXHJcbiAqL1xyXG5cclxuLyogVHdlbW9qaSBDT0xSICovXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiVHdlbW9qaVwiO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHNyYzogdXJsKFwiL3Jlcy9mb250cy9Ud2Vtb2ppX01vemlsbGEvVHdlbW9qaU1vemlsbGEtY29sci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxufVxyXG4vKiBGb3IgYXQgbGVhc3QgQ2hyb21lIG9uIFdpbmRvd3MgMTAsIHdlIGhhdmUgdG8gZXhwbGljdGx5IGFkZCBleHRyYSB3ZWlnaHRzIGZvciB0aGUgZW1vamkgdG8gYXBwZWFyIGluIGJvbGQgbWVzc2FnZXMsIGV0Yy4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUd2Vtb2ppXCI7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgc3JjOiB1cmwoXCIvcmVzL2ZvbnRzL1R3ZW1vamlfTW96aWxsYS9Ud2Vtb2ppTW96aWxsYS1jb2xyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiVHdlbW9qaVwiO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHNyYzogdXJsKFwiL3Jlcy9mb250cy9Ud2Vtb2ppX01vemlsbGEvVHdlbW9qaU1vemlsbGEtY29sci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxufVxyXG4iLCI6cm9vdCB7XHJcbiAgICAvKiBUaGlzIGlzIHNldCB0byBUd2Vtb2ppIHdoZW4gdGhlIHVzZXIgb3B0cyBpbnRvIHRoZSBidW5kbGVkIGVtb2ppIGZvbnQgKi9cclxuICAgIC0tZW1vamktZm9udC1mYW1pbHk6IFwiXCI7XHJcbn1cclxuXHJcbi8qIE51bml0byBhbmQgSW50ZXIgbGFja3MgY29tYmluaW5nIGRpYWNyaXRpY3MsIHNvIHRoZXNlIHdpbGwgZmFsbCB0aHJvdWdoXHJcbiAgIHRvIHRoZSBuZXh0IGZvbnQuIEhlbGV2ZXRpY2EncyBkaWFjcml0aWNzIHNvbWV0aW1lcyBkbyBub3QgY29tYmluZVxyXG4gICBuaWNlbHkgKG9uIE9TWCwgYXQgbGVhc3QpIGFuZCByZXN1bHQgaW4gYSBodWdlIGhvcml6b250YWwgbWVzcy5cclxuICAgQXJpYWwgZW1waXJpY2FsbHkgZ2V0cyBpdCByaWdodCwgaGVuY2UgcHJpb3JpdGlzaW5nIEFyaWFsIGhlcmUuICovXHJcbi8qIE5vdG8gQ29sb3IgRW1vamkgY29udGFpbnMgZGlnaXRzLCBpbiBmaXhlZC13aWR0aCwgdGhlcmVmb3JlIGNhdXNpbmdcclxuICAgZGlnaXRzIGluIGZsb3dlZCB0ZXh0IHRvIHN0YW5kIG91dC5cclxuICAgVE9ETzogQ29uc2lkZXIgcHV0dGluZyBhbGwgZW1vamkgZm9udHMgdG8gdGhlIGVuZCByYXRoZXIgdGhhbiB0aGUgZnJvbnQuICovXHJcbiRmb250LWZhbWlseTpcclxuICAgIFwiSW50ZXJcIiwgdmFyKC0tZW1vamktZm9udC1mYW1pbHkpLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmLFxyXG4gICAgXCJOb3RvIENvbG9yIEVtb2ppXCI7XHJcblxyXG4kbW9ub3NwYWNlLWZvbnQtZmFtaWx5OlxyXG4gICAgXCJGaXJhIENvZGVcIiwgdmFyKC0tZW1vamktZm9udC1mYW1pbHkpLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZSxcclxuICAgIFwiTm90byBDb2xvciBFbW9qaVwiO1xyXG5cclxuLyogQ29sb3JzIGZyb20gRmlnbWEgQ29tcG91bmQgaHR0cHM6Ly93d3cuZmlnbWEuY29tL2ZpbGUvWDRYVEg5aVMyS0dKMndGS0Rxa3llZC9Db21wb3VuZD9ub2RlLWlkPTU1OSUzQTEyMCAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kcHJpbWFyeS1jb250ZW50OiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuJHNlY29uZGFyeS1jb250ZW50OiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4kdGVydGlhcnktY29udGVudDogdmFyKC0tY3BkLWNvbG9yLWdyYXktODAwKTtcclxuJHF1YXRlcm5hcnktY29udGVudDogdmFyKC0tY3BkLWNvbG9yLWdyYXktNjAwKTtcclxuJHF1aW5hcnktY29udGVudDogdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcclxuXHJcbiRzeXN0ZW06IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XHJcbiRzeXN0ZW0tdHJhbnNwYXJlbnQ6ICNlMWU2ZWMwMDtcclxuJGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiRvdmVybGF5LWJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDApO1xyXG5cclxuJHBhbmVsczogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xyXG4kcGFuZWwtYWN0aW9uczogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwKTtcclxuXHJcbiRzZXBhcmF0b3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XHJcblxyXG4kYWNjZW50OiB2YXIoLS1jcGQtY29sb3ItdGV4dC1hY3Rpb24tYWNjZW50KTtcclxuJGFsZXJ0OiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcclxuJGxpbmtzOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1saW5rLWV4dGVybmFsKTtcclxuJGxpbmstZXh0ZXJuYWw6IHZhcigtLWNwZC1jb2xvci10ZXh0LWxpbmstZXh0ZXJuYWwpO1xyXG5cclxuJHVzZXJuYW1lLXZhcmlhbnQxLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTEpO1xyXG4kdXNlcm5hbWUtdmFyaWFudDItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMik7XHJcbiR1c2VybmFtZS12YXJpYW50My1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0zKTtcclxuJHVzZXJuYW1lLXZhcmlhbnQ0LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTQpO1xyXG4kdXNlcm5hbWUtdmFyaWFudDUtY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtNSk7XHJcbiR1c2VybmFtZS12YXJpYW50Ni1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS02KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGluZyBhIGBzZW1hbnRpY2AgY29sb3Igc2NhbGUuIFRoaXMgd2lsbCBub3QgYmUgbmVlZGVkIHdpdGggdGhlIG5ld1xyXG4gKiB2aXN1YWwgbGFuZ3VhZ2UsIGJ1dCBuZWNlc3NhcnkgZHVyaW5nIHRoZSB0cmFuc2l0aW9uIHBlcmlvZFxyXG4gKiBUaGlzIGFic3RyYWN0IHRoZSBgZ3JlZW5gIGF3YXkgZnJvbSB3aGVyZSBhY2NlbnQgc2hhZGVzIGFyZSB1c2VkXHJcbiAqIFRha2U6IGBiYWNrZ3JvdW5kOiByZ2JhKCRhY2NlbnQsIDAuMSk7YFxyXG4gKiB3b3VsZCBiZSB0cmFuc2Zvcm1lZCB0bzogYGJhY2tncm91bmQ6ICRhY2NlbnQtMzAwO2BcclxuICpcclxuICogVG8gdXNlIHVuZGVyIHZlcnkgcmFyZSBjaXJjdW1zdGFuY2VzLCBhbHdheXMgcHJlZmVyIHRoZSBzZW1hbnRpY3MgZGVmaW5lZFxyXG4gKiBpbiBodHRwczovL2NvbXBvdW5kLmVsZW1lbnQuaW8vP3BhdGg9L2RvY3MvdG9rZW5zLXNlbWFudGljLWNvbG9ycy0tZG9jc1xyXG4gKi9cclxuJGFjY2VudC0xMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMDApO1xyXG4kYWNjZW50LTIwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTIwMCk7XHJcbiRhY2NlbnQtMzAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMzAwKTtcclxuJGFjY2VudC00MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi00MDApO1xyXG4kYWNjZW50LTUwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XHJcbiRhY2NlbnQtNjAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNjAwKTtcclxuJGFjY2VudC03MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi03MDApO1xyXG4kYWNjZW50LTgwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTgwMCk7XHJcbiRhY2NlbnQtOTAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcclxuJGFjY2VudC0xMDAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTAwMCk7XHJcbiRhY2NlbnQtMTEwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xyXG4kYWNjZW50LTEyMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMjAwKTtcclxuJGFjY2VudC0xMzAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTMwMCk7XHJcbiRhY2NlbnQtMTQwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTE0MDApO1xyXG5cclxuLyogUmV1c2VkIEZpZ21hIG5vbi1jb21wb3VuZCBjb2xvcnMgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGludmVydGVkLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XHJcbiRoZWFkZXItcGFuZWwtYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XHJcbiRoZWFkZXItcGFuZWwtYmctaG92ZXI6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LWhvdmVyZWQpO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogVGhlbWUgc3BlY2lmaWMgY29sb3JzICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRpY29uLWJ1dHRvbi1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogQ29sb3JzIHRoYXQgYXJlbid0IGluIEZpZ21hIGFuZCBhcmUgdGhlbWUgc3BlY2lmaWMgLSB3ZSBuZWVkIHRvIGdldCByaWQgb2YgdGhlc2UgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHNlbGVjdGlvbi1mZy1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiR5ZWxsb3ctYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLXllbGxvdy0yMDApO1xyXG4kc2Vjb25kYXJ5LWFjY2VudC1jb2xvcjogI2YyZjVmODtcclxuJGJ1dHRvbi1mZy1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiRuZXV0cmFsLWJhZGdlLWNvbG9yOiAjZGJkYmRiO1xyXG4kc3Ryb25nLWlucHV0LWJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcclxuJHByZXZpZXctd2lkZ2V0LWJhci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcclxuJGFjY2VudC1mZy1jb2xvcjogI2Y0ZjZmYTtcclxuJGFjY2VudC1hbHQ6IHZhcigtLWNwZC1jb2xvci10ZXh0LWxpbmstZXh0ZXJuYWwpO1xyXG4kaW5mby1wbGludGgtZmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTkwMCk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBDb2xvcnMgdGhhdCBhcmVuJ3QgaW4gRmlnbWEgLSB3ZSBuZWVkIHRvIGdldCByaWQgb2YgdGhlc2UgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGRhcmstcGFuZWwtYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuJG11dGVkLWZnLWNvbG9yOiAjNjE3MDhiO1xyXG4kbGlnaHQtZmctY29sb3I6ICM3NDc0NzQ7XHJcbiRmb2N1cy1iZy1jb2xvcjogJHByZXZpZXctd2lkZ2V0LWJhci1jb2xvcjtcclxuJGluZm8tcGxpbnRoLWJnLWNvbG9yOiAjZjdmN2Y3O1xyXG4kZXZlbnQtc2VsZWN0ZWQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuJHRvcGxlZnRtZW51LWNvbG9yOiAjMjEyMTIxO1xyXG4kcm9vbXRvcGljLWNvbG9yOiAjOWU5ZTllO1xyXG4kc3BhY2VQYW5lbC1iZy1jb2xvcjogcmdiYSgyMzIsIDIzMiwgMjMyLCAwLjc3KTtcclxuJHBhbmVsLWdyYWRpZW50OiByZ2JhKDI0MiwgMjQ1LCAyNDgsIDApLCByZ2JhKDI0MiwgMjQ1LCAyNDgsIDEpO1xyXG4kaDMtY29sb3I6ICMzZDNiMzk7XHJcbiRldmVudC1oaWdobGlnaHQtYmctY29sb3I6ICR5ZWxsb3ctYmFja2dyb3VuZDtcclxuJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I6ICM5MWExYzA7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBCbG9ja3F1b3RlICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRibG9ja3F1b3RlLWJhci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFRvb2x0aXAgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHRvb2x0aXAtdGltZWxpbmUtYmctY29sb3I6ICRpbnZlcnRlZC1iZy1jb2xvcjtcclxuJHRvb2x0aXAtdGltZWxpbmUtZmctY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogV2lkZ2V0ICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiR3aWRnZXQtbWVudS1iYXItYmctY29sb3I6ICRzZWNvbmRhcnktYWNjZW50LWNvbG9yO1xyXG4kd2lkZ2V0LWJvZHktYmctY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogTWVudSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kbWVudS1ib3JkZXItY29sb3I6ICNlN2U3ZTc7XHJcbiRtZW51LWJnLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuJG1lbnUtYm94LXNoYWRvdy1jb2xvcjogcmdiYSgxMTgsIDEzMSwgMTU2LCAwLjYpO1xyXG4kbWVudS1zZWxlY3RlZC1jb2xvcjogI2Y1ZjhmYTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFNldHRpbmdzICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRzZXR0aW5ncy1ncmV5LWZnLWNvbG9yOiAjYTJhMmEyO1xyXG4kc2V0dGluZ3Mtc3Vic2VjdGlvbi1mZy1jb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogUm9vbSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kcm9vbS1pY29uLXVucmVhZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogUm9vbUhlYWRlciAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kcm9vbWhlYWRlci1hZGRyb29tLWJnLWNvbG9yOiByZ2JhKDkyLCAxMDAsIDExMiwgMC4yKTtcclxuJHJvb21oZWFkZXItYWRkcm9vbS1mZy1jb2xvcjogIzVjNjQ3MDtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFJpY2gtdGV4dC1lZGl0b3IgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHBpbGwtYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcclxuJHBpbGwtaG92ZXItYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1ob3ZlcmVkKTtcclxuJHBpbGwtcHJlc3MtYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1wcmVzc2VkKTtcclxuJHJ0ZS1iZy1jb2xvcjogI2U5ZTllOTtcclxuJHJ0ZS1jb2RlLWJnLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogUHJlc2VuY2UgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHByZXNlbmNlLWF3YXk6ICNkOWIwNzI7XHJcbi8qIG5vdCB1c2luZyBhIGNvbXBvdW5kIGNvbG9yIGhlcmUgZm9yIG5vdyBhcyB3ZSB3YW50IHRvIGhhdmUgdGhlIHNhbWUgY29sb3IgaW5cclxuICAgbGlnaHQgYW5kIGRhcmsgdGhlbWUuIFVudGlsIHdlIGhhdmUgYSBub24tc3ltZXRyaWNhbCB0b2tlbiBmb3IgaXQsIGxldCdzIGtlZXBcclxuICAgaXQgaGFyZGNvZGVkIHRvIHRoZSBmb2xsb3dpbmcgdmFsdWUgKi9cclxuJHByZXNlbmNlLW9mZmxpbmU6ICNlM2U4ZjA7XHJcbiRwcmVzZW5jZS1idXN5OiAkYWxlcnQ7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBJbnB1dHMgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGlucHV0LWJvcmRlci1jb2xvcjogJG1lbnUtYm9yZGVyLWNvbG9yO1xyXG4kaW5wdXQtZGFya2VyLWJnLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4kaW5wdXQtZGFya2VyLWZnLWNvbG9yOiAjOWZhOWJhO1xyXG4kaW5wdXQtbGlnaHRlci1iZy1jb2xvcjogJHNlY29uZGFyeS1hY2NlbnQtY29sb3I7XHJcbiRpbnB1dC11bmRlcmxpbmUtY29sb3I6IHJnYmEoMTUxLCAxNTEsIDE1MSwgMC41KTtcclxuJGlucHV0LWZnLWNvbG9yOiByZ2JhKDc0LCA3NCwgNzQsIDAuOSk7XHJcbiRpbnB1dC1wbGFjZWhvbGRlcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIERpYWxvZyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kZGlhbG9nLXRpdGxlLWZnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuJGRpYWxvZy1iYWNrZHJvcC1jb2xvcjogIzAzMGMxYjRkO1xyXG4kZGlhbG9nLWNsb3NlLWZnLWNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XHJcbiRkaWFsb2ctY2xvc2UtZXh0ZXJuYWwtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogSW1hZ2VCb2R5ICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRpbWFnZWJvZHktZ2lmbGFiZWw6IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuJGltYWdlYm9keS1naWZsYWJlbC1ib3JkZXI6IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuJGltYWdlYm9keS1naWZsYWJlbC1jb2xvcjogJGFjY2VudC1mZy1jb2xvcjtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFJvb21MaXN0ICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRyb29tbGlzdC1iZy1jb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjkpO1xyXG4kcm9vbXN1Ymxpc3Qtc2tlbGV0b24tdWktYmc6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRiYWNrZ3JvdW5kIDAlLCAjZmZmZmZmMDAgMTAwJSk7XHJcbiRyb29tdGlsZS1kZWZhdWx0LWJhZGdlLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogZTJlICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRlMmUtdmVyaWZpZWQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXN1Y2Nlc3MtcHJpbWFyeSk7XHJcbiRlMmUtd2FybmluZy1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XHJcbiRlMmUtdmVyaWZpZWQtY29sb3ItbGlnaHQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0zMDApO1xyXG4kZTJlLXdhcm5pbmctY29sb3ItbGlnaHQ6IHZhcigtLWNwZC1jb2xvci1yZWQtMzAwKTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFRhYmJlZCB2aWV3cyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kdGFiLWxhYmVsLWZnLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiR0YWItbGFiZWwtYWN0aXZlLWZnLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogQnV0dG9ucyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kYnV0dG9uLXByaW1hcnktZmctY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4kYnV0dG9uLXNlY29uZGFyeS1iZy1jb2xvcjogJGFjY2VudC1mZy1jb2xvcjtcclxuJGJ1dHRvbi1kYW5nZXItZmctY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4kYnV0dG9uLWRhbmdlci1kaXNhYmxlZC1mZy1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiRidXR0b24tZGFuZ2VyLWRpc2FibGVkLWJnLWNvbG9yOiAjZjViNmJiOyAvKiBUT0RPOiBWZXJpZnkgY29sb3IgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFRvZ2dsZSBzd2l0Y2ggKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHRvZ2dsZXN3LW9mZi1jb2xvcjogI2MxYzlkNjtcclxuJHRvZ2dsZXN3LWJhbGwtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIEF1dGhwYWdlICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRhdXRocGFnZS1wcmltYXJ5LWNvbG9yOiAjMjMyZjMyO1xyXG4kYXV0aHBhZ2UtYmctY29sb3I6ICMyZTM2NDk7XHJcbiRhdXRocGFnZS1tb2RhbC1iZy1jb2xvcjogJHJvb21saXN0LWJnLWNvbG9yO1xyXG4vKiBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgbW9kYWwsIHdoZW4gdGhlIGJhY2tncm91bmQgaXMgYmx1cnJlZCAqL1xyXG4kYXV0aHBhZ2UtbW9kYWwtY29udGVudC13aXRoLWJsdXItYmctY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1LCAwLjU5KTtcclxuJGF1dGhwYWdlLWZvY3VzLWJnLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XHJcbiRhdXRocGFnZS1sYW5nLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiRhdXRocGFnZS1wcmltYXJ5LWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4kYXV0aHBhZ2Utc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBNZXNzYWdlIGFjdGlvbiBiYXIgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJG1lc3NhZ2UtYWN0aW9uLWJhci1iZy1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiRtZXNzYWdlLWFjdGlvbi1iYXItZmctY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiRtZXNzYWdlLWFjdGlvbi1iYXItYm9yZGVyLWNvbG9yOiAjZTllZGYxO1xyXG4kbWVzc2FnZS1hY3Rpb24tYmFyLWhvdmVyLWJvcmRlci1jb2xvcjogJGZvY3VzLWJnLWNvbG9yO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogUmVhY3Rpb24gcm93ICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRyZWFjdGlvbi1yb3ctYnV0dG9uLWhvdmVyLWJvcmRlci1jb2xvcjogJGZvY3VzLWJnLWNvbG9yO1xyXG4kcmVhY3Rpb24tcm93LWJ1dHRvbi1zZWxlY3RlZC1iZy1jb2xvcjogI2U5ZmZmOTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFZvaWNlIG1lc3NhZ2VzICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIFRoZXNlIHR3byBkb24ndCBjaGFuZ2UgYmV0d2VlbiB0aGVtZXMuIFRoZXkgYXJlIHRoZSAkYWxlcnQsIGJ1dCB3ZSBkb24ndCB3YW50ICovXHJcbi8qIGN1c3RvbSB0aGVtZXMgdG8gYWZmZWN0IHRoZW0gYnkgYWNjaWRlbnQuICovXHJcbiR2b2ljZS1yZWNvcmQtc3RvcC1zeW1ib2wtY29sb3I6ICNmZjViNTU7XHJcbiR2b2ljZS1yZWNvcmQtbGl2ZS1jaXJjbGUtY29sb3I6ICNmZjViNTU7XHJcbiR2b2ljZS1yZWNvcmQtc3RvcC1ib3JkZXItY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiR2b2ljZS1yZWNvcmQtaWNvbi1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBCdWJibGUgdGlsZXMgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGV2ZW50YnViYmxlLXNlbGYtYmc6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0zMDApO1xyXG4kZXZlbnRidWJibGUtb3RoZXJzLWJnOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xyXG4kZXZlbnRidWJibGUtYmctaG92ZXI6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIExpZ2h0Ym94ICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIG5vdCB1c2luZyBhIGNvbXBvdW5kIGNvbG9yIGhlcmUgZm9yIG5vdyBhcyB3ZSB3YW50IHRvIGhhdmUgdGhlIHNhbWUgY29sb3IgaW5cclxuICAgbGlnaHQgYW5kIGRhcmsgdGhlbWUuIFVudGlsIHdlIGhhdmUgYSBub24tc3ltZXRyaWNhbCB0b2tlbiBmb3IgaXQsIGxldCdzIGtlZXBcclxuICAgaXQgaGFyZGNvZGVkIHRvIHRoZSBmb2xsb3dpbmcgdmFsdWUgKi9cclxuJGxpZ2h0Ym94LWZnLWNvbG9yOiAjZmZmO1xyXG4kbGlnaHRib3gtYmFja2dyb3VuZC1iZy1jb2xvcjogIzAwMDtcclxuJGxpZ2h0Ym94LWJhY2tncm91bmQtYmctb3BhY2l0eTogMC45NTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFZvSVAgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGNhbGwtdmlldy1idXR0b24tb24tZm9yZWdyb3VuZDogJHNlY29uZGFyeS1jb250ZW50O1xyXG4kY2FsbC12aWV3LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuJGNhbGwtdmlldy1idXR0b24tb2ZmLWZvcmVncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4kY2FsbC12aWV3LWJ1dHRvbi1vZmYtYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb250ZW50O1xyXG4kY2FsbC12aWV3LWNvbnRlbnQtYmFja2dyb3VuZDogIzIxMjYyYztcclxuXHJcbiR2aWRlby1mZWVkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjMzk0MDQ5OyAvKiBYWFg6IENvbG9yIGZyb20gZGFyayB0aGVtZSAqL1xyXG4kdm9pcGNhbGwtcGxpbnRoLWNvbG9yOiAkc3lzdGVtO1xyXG5cclxuLyogQWxsIG9mIHRoZXNlIGFyZSBmcm9tIGRhcmsgdGhlbWUgKi9cclxuJGNhbGwtc3lzdGVtOiAjMjEyNjJjO1xyXG4kY2FsbC1iYWNrZ3JvdW5kOiAjMTUxOTFlO1xyXG4kY2FsbC1wcmltYXJ5LWNvbnRlbnQ6ICNmZmZmZmY7XHJcbi8qIFRoaXMgb25lIGlzIGZyb20gbGlnaHQgdGhlbWUgKi9cclxuJGNhbGwtbGlnaHQtcXVhdGVybmFyeS1jb250ZW50OiAjYzFjNmNkO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogT25lLW9mZiBjb2xvcnMgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHByb2dyZXNzYmFyLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xyXG4ka2JkLWJvcmRlci1jb2xvcjogJHN0cm9uZy1pbnB1dC1ib3JkZXItY29sb3I7XHJcbiR2aXN1YWwtYmVsbC1iZy1jb2xvcjogI2ZhYTtcclxuJGV2ZW50LXRpbWVzdGFtcC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuJGNvbXBvc2VyLXNoYWRvdy1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA0KTtcclxuJGJyZWFkY3J1bWItcGxhY2Vob2xkZXItYmctY29sb3I6ICNlOGVlZjU7XHJcbiRyZXNlbmQtYnV0dG9uLWRpdmlkZXItY29sb3I6ICRpbnB1dC1kYXJrZXItYmctY29sb3I7XHJcbiRpbmxpbmVjb2RlLWJvcmRlci1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuJGlubGluZWNvZGUtYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcclxuJGNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xyXG4kc2Nyb2xsYmFyLXRodW1iLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiRzZWxlY3RlZC1jb2xvcjogJHNlY29uZGFyeS1hY2NlbnQtY29sb3I7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBPbmUtb2ZmIGdsb2JhbCBjb2xvcnMgLSB0aGVzZSBhcHBseSB0byBib3RoIHRoZW1lcyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kcGlubmVkLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuJGF2YXRhci1pbml0aWFsLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuJHByaW1hcnktaGFpcmxpbmUtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4kc2Vjb25kYXJ5LWhhaXJsaW5lLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xyXG4kZm9jdXMtYnJpZ2h0bmVzczogMTA1JTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIGJsdXIgYW1vdW50cyBmb3IgbGVmdCBsZWZ0IHBhbmVsIChvbmx5IGZvciBlbGVtZW50IHRoZW1lKSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG46cm9vdCB7XHJcbiAgICAtLWxwLWJhY2tncm91bmQtYmx1cjogNDBweDtcclxufVxyXG5cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIExvY2F0aW9uIHNoYXJpbmcgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGxvY2F0aW9uLW1hcmtlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XHJcbiRsb2NhdGlvbi1saXZlLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItcHVycGxlLTkwMCk7XHJcbiRsb2NhdGlvbi1saXZlLXNlY29uZGFyeS1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXB1cnBsZS02MDApO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuYm9keSB7XHJcbiAgICBjb2xvci1zY2hlbWU6IGxpZ2h0O1xyXG59XHJcblxyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogZGlmZiBoaWdobGlnaHQgY29sb3JzICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbi5obGpzLWFkZGl0aW9uIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi01MDApO1xyXG59XHJcblxyXG4uaGxqcy1kZWxldGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItcmVkLTUwMCk7XHJcbn1cclxuXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiIsIi8qIENvbG9ycyBmcm9tIEZpZ21hIENvbXBvdW5kIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL1g0WFRIOWlTMktHSjJ3RktEcWt5ZWQvQ29tcG91bmQ/bm9kZS1pZD01NTklM0E3NDEgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHByaW1hcnktY29udGVudDogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiRzZWNvbmRhcnktY29udGVudDogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuJHRlcnRpYXJ5LWNvbnRlbnQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTgwMCk7XHJcbiRxdWF0ZXJuYXJ5LWNvbnRlbnQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTYwMCk7XHJcbiRxdWluYXJ5LWNvbnRlbnQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XHJcblxyXG4kc3lzdGVtOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xyXG4kc3lzdGVtLXRyYW5zcGFyZW50OiAjZTFlNmVjMDA7XHJcbiRiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4kb3ZlcmxheS1iYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMzAwKTtcclxuXHJcbiRwYW5lbHM6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuJHBhbmVsLWFjdGlvbnM6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMCk7XHJcblxyXG4kc2VwYXJhdG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xyXG5cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFJvb21MaXN0ICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRyb29tbGlzdC1iZy1jb2xvcjogcmdiYSgzOCwgNDAsIDQ1LCAwLjkpO1xyXG4kcm9vbXN1Ymxpc3Qtc2tlbGV0b24tdWktYmc6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRiYWNrZ3JvdW5kIDAlLCAjZmZmZmZmMDAgMTAwJSk7XHJcbiRyb29tdGlsZS1kZWZhdWx0LWJhZGdlLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyoqXHJcbiAqIENyZWF0aW5nIGEgYHNlbWFudGljYCBjb2xvciBzY2FsZS4gVGhpcyB3aWxsIG5vdCBiZSBuZWVkZWQgd2l0aCB0aGUgbmV3XHJcbiAqIHZpc3VhbCBsYW5ndWFnZSwgYnV0IG5lY2Vzc2FyeSBkdXJpbmcgdGhlIHRyYW5zaXRpb24gcGVyaW9kXHJcbiAqIFRoaXMgYWJzdHJhY3QgdGhlIGBncmVlbmAgYXdheSBmcm9tIHdoZXJlIGFjY2VudCBzaGFkZXMgYXJlIHVzZWRcclxuICogVGFrZTogYGJhY2tncm91bmQ6IHJnYmEoJGFjY2VudCwgMC4xKTtgXHJcbiAqIHdvdWxkIGJlIHRyYW5zZm9ybWVkIHRvOiBgYmFja2dyb3VuZDogJGFjY2VudC0zMDA7YFxyXG4gKlxyXG4gKiBUbyB1c2UgdW5kZXIgdmVyeSByYXJlIGNpcmN1bXN0YW5jZXMsIGFsd2F5cyBwcmVmZXIgdGhlIHNlbWFudGljcyBkZWZpbmVkXHJcbiAqIGluIGh0dHBzOi8vY29tcG91bmQuZWxlbWVudC5pby8/cGF0aD0vZG9jcyAvdG9rZW5zLXNlbWFudGljLWNvbG9ycy0tZG9jc1xyXG4gKi9cclxuJGFjY2VudC0xMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMDApO1xyXG4kYWNjZW50LTIwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTIwMCk7XHJcbiRhY2NlbnQtMzAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMzAwKTtcclxuJGFjY2VudC00MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi00MDApO1xyXG4kYWNjZW50LTUwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XHJcbiRhY2NlbnQtNjAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNjAwKTtcclxuJGFjY2VudC03MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi03MDApO1xyXG4kYWNjZW50LTgwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTgwMCk7XHJcbiRhY2NlbnQtOTAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcclxuJGFjY2VudC0xMDAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTAwMCk7XHJcbiRhY2NlbnQtMTEwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xyXG4kYWNjZW50LTEyMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMjAwKTtcclxuJGFjY2VudC0xMzAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTMwMCk7XHJcbiRhY2NlbnQtMTQwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTE0MDApO1xyXG5cclxuLyogUmV1c2VkIEZpZ21hIG5vbi1jb21wb3VuZCBjb2xvcnMgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGludmVydGVkLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XHJcbiRoZWFkZXItcGFuZWwtYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuJGhlYWRlci1wYW5lbC1iZy1ob3ZlcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktaG92ZXJlZCk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBUaGVtZSBzcGVjaWZpYyBjb2xvcnMgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGljb24tYnV0dG9uLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBDb2xvcnMgdGhhdCBhcmVuJ3QgaW4gRmlnbWEgYW5kIGFyZSB0aGVtZSBzcGVjaWZpYyAtIHdlIG5lZWQgdG8gZ2V0IHJpZCBvZiB0aGVzZSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kaGVhZGVyLXBhbmVsLXRleHQtc2Vjb25kYXJ5LWNvbG9yOiAjYzhjOGNkO1xyXG4kcm9vbS1oaWdobGlnaHQtY29sb3I6ICMzNDNhNDY7XHJcbiR0ZXh0LXNlY29uZGFyeS1jb2xvcjogI2I5YmVjNjtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIENvbG9ycyB0aGF0IGFyZW4ndCBpbiBGaWdtYSAtIHdlIG5lZWQgdG8gZ2V0IHJpZCBvZiB0aGVzZSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kZGFyay1wYW5lbC1iZy1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xyXG4kbXV0ZWQtZmctY29sb3I6ICRoZWFkZXItcGFuZWwtdGV4dC1wcmltYXJ5LWNvbG9yO1xyXG4kbGlnaHQtZmctY29sb3I6ICRoZWFkZXItcGFuZWwtdGV4dC1zZWNvbmRhcnktY29sb3I7XHJcbiRmb2N1cy1iZy1jb2xvcjogJHJvb20taGlnaGxpZ2h0LWNvbG9yO1xyXG4kaW5mby1wbGludGgtYmctY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XHJcbiRldmVudC1zZWxlY3RlZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xyXG4kdG9wbGVmdG1lbnUtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiRyb29tdG9waWMtY29sb3I6ICR0ZXh0LXNlY29uZGFyeS1jb2xvcjtcclxuJHNwYWNlUGFuZWwtYmctY29sb3I6IHJnYmEoMzgsIDM5LCA0MywgMC44Mik7XHJcbiRwYW5lbC1ncmFkaWVudDogcmdiYSgzNCwgMzgsIDQ2LCAwKSwgcmdiYSgzNCwgMzgsIDQ2LCAxKTtcclxuJGgzLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4kZXZlbnQtaGlnaGxpZ2h0LWJnLWNvbG9yOiAjMjUyNzFmO1xyXG4kaGVhZGVyLXBhbmVsLXRleHQtcHJpbWFyeS1jb2xvcjogJHRleHQtc2Vjb25kYXJ5LWNvbG9yO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogVG9vbHRpcCAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kdG9vbHRpcC10aW1lbGluZS1iZy1jb2xvcjogJHNwYWNlUGFuZWwtYmctY29sb3I7XHJcbiR0b29sdGlwLXRpbWVsaW5lLWZnLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogV2lkZ2V0ICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiR3aWRnZXQtbWVudS1iYXItYmctY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XHJcbiR3aWRnZXQtYm9keS1iZy1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBNZW51ICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRtZW51LWJvcmRlci1jb2xvcjogIzAwMDAwMDtcclxuJG1lbnUtYmctY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XHJcbiRtZW51LWJveC1zaGFkb3ctY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4kbWVudS1zZWxlY3RlZC1jb2xvcjogJHJvb20taGlnaGxpZ2h0LWNvbG9yO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogU2V0dGluZ3MgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHNldHRpbmdzLXByb2ZpbGUtYnV0dG9uLWJnLWNvbG9yOiAjZTdlN2U3O1xyXG4kc2V0dGluZ3Mtc3Vic2VjdGlvbi1mZy1jb2xvcjogJHRleHQtc2Vjb25kYXJ5LWNvbG9yO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogUm9vbSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kcm9vbS1pY29uLXVucmVhZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogUm9vbUhlYWRlciAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kcm9vbWhlYWRlci1hZGRyb29tLWJnLWNvbG9yOiByZ2JhKDkyLCAxMDAsIDExMiwgMC4zKTtcclxuJHJvb21oZWFkZXItYWRkcm9vbS1mZy1jb2xvcjogJHByaW1hcnktY29udGVudDtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFJpY2gtdGV4dC1lZGl0b3IgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHBpbGwtYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcclxuJHBpbGwtaG92ZXItYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1ob3ZlcmVkKTtcclxuJHBpbGwtcHJlc3MtYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1wcmVzc2VkKTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIElucHV0cyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiByZ2JhKDIzMSwgMjMxLCAyMzEsIDAuMik7XHJcbiRpbnB1dC1kYXJrZXItYmctY29sb3I6ICMxODFiMjE7XHJcbiRpbnB1dC1kYXJrZXItZmctY29sb3I6ICM2MTcwOGI7XHJcbiRpbnB1dC1saWdodGVyLWJnLWNvbG9yOiAjZjJmNWY4O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXI6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBEaWFsb2cgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGRpYWxvZy10aXRsZS1mZy1jb2xvcjogJHByaW1hcnktY29udGVudDtcclxuJGRpYWxvZy1iYWNrZHJvcC1jb2xvcjogIzAwMDAwMDgwO1xyXG4kZGlhbG9nLWNsb3NlLWZnLWNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XHJcbiRkaWFsb2ctY2xvc2UtZXh0ZXJuYWwtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBSb29tTGlzdCAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kc3lzdGVtOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcbiRyb29tc3VibGlzdC1za2VsZXRvbi11aS1iZzogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzNlNDQ0YyAwJSwgIzNlNDQ0YzAwIDEwMCUpO1xyXG4kcm9vbXRpbGUtZGVmYXVsdC1iYWRnZS1iZy1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFRhYmJlZCB2aWV3cyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kdGFiLWxhYmVsLWZnLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiR0YWItbGFiZWwtYWN0aXZlLWZnLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogQnV0dG9ucyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kYnV0dG9uLXByaW1hcnktZmctY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiRidXR0b24tc2Vjb25kYXJ5LWJnLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuJGJ1dHRvbi1kYW5nZXItZmctY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiRidXR0b24tZGFuZ2VyLWRpc2FibGVkLWZnLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogVG9nZ2xlIHN3aXRjaCAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kdG9nZ2xlc3ctb2ZmLWNvbG9yOiAkcm9vbS1oaWdobGlnaHQtY29sb3I7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBBdXRocGFnZSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kYXV0aHBhZ2UtcHJpbWFyeS1jb2xvcjogJHByaW1hcnktY29udGVudDtcclxuLyogYmFja2dyb3VuZCBjb2xvdXIgb2YgdGhlIG1vZGFsLCB3aGVuIHRoZSBiYWNrZ3JvdW5kIGlzIGJsdXJyZWQgKi9cclxuJGF1dGhwYWdlLW1vZGFsLWNvbnRlbnQtd2l0aC1ibHVyLWJnLWNvbG9yOiByZ2IoMCwgMCwgMCwgMC41OSk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBNZXNzYWdlIGFjdGlvbiBiYXIgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJG1lc3NhZ2UtYWN0aW9uLWJhci1iZy1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcclxuJG1lc3NhZ2UtYWN0aW9uLWJhci1mZy1jb2xvcjogJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I7XHJcbiRtZXNzYWdlLWFjdGlvbi1iYXItYm9yZGVyLWNvbG9yOiAjNjE2YjdmO1xyXG4kbWVzc2FnZS1hY3Rpb24tYmFyLWhvdmVyLWJvcmRlci1jb2xvcjogJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBSZWFjdGlvbiByb3cgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHJlYWN0aW9uLXJvdy1idXR0b24taG92ZXItYm9yZGVyLWNvbG9yOiAkaGVhZGVyLXBhbmVsLXRleHQtcHJpbWFyeS1jb2xvcjtcclxuJHJlYWN0aW9uLXJvdy1idXR0b24tc2VsZWN0ZWQtYmctY29sb3I6ICMxZjY5NTQ7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBWb2ljZSBtZXNzYWdlcyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kdm9pY2UtcmVjb3JkLXN0b3AtYm9yZGVyLWNvbG9yOiAkcXVhdGVybmFyeS1jb250ZW50O1xyXG4kdm9pY2UtcmVjb3JkLWljb24tY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBCdWJibGUgdGlsZXMgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGV2ZW50YnViYmxlLXNlbGYtYmc6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0zMDApO1xyXG4kZXZlbnRidWJibGUtb3RoZXJzLWJnOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xyXG4kZXZlbnRidWJibGUtYmctaG92ZXI6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIExpZ2h0Ym94ICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRsaWdodGJveC1iYWNrZ3JvdW5kLWJnLWNvbG9yOiAkbWVudS1ib3JkZXItY29sb3I7XHJcbiRsaWdodGJveC1iYWNrZ3JvdW5kLWJnLW9wYWNpdHk6IDAuODU7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBWb0lQICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRjYWxsLXZpZXctYnV0dG9uLW9uLWZvcmVncm91bmQ6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiRjYWxsLXZpZXctYnV0dG9uLW9uLWJhY2tncm91bmQ6ICRzeXN0ZW07XHJcbiRjYWxsLXZpZXctYnV0dG9uLW9mZi1mb3JlZ3JvdW5kOiAkc3lzdGVtO1xyXG4kY2FsbC12aWV3LWJ1dHRvbi1vZmYtYmFja2dyb3VuZDogJHByaW1hcnktY29udGVudDtcclxuJGNhbGwtdmlldy1jb250ZW50LWJhY2tncm91bmQ6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcblxyXG4kdmlkZW8tZmVlZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJHN5c3RlbTtcclxuXHJcbiRjYWxsLXN5c3RlbTogJHN5c3RlbTtcclxuJGNhbGwtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiRjYWxsLXByaW1hcnktY29udGVudDogJHByaW1hcnktY29udGVudDtcclxuJGNhbGwtbGlnaHQtcXVhdGVybmFyeS1jb250ZW50OiAjYzFjNmNkO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogTG9jYXRpb24gc2hhcmluZyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kbG9jYXRpb24tbGl2ZS1jb2xvcjogIzVjNTZmNTtcclxuJGxvY2F0aW9uLWxpdmUtc2Vjb25kYXJ5LWNvbG9yOiAjZGVkZGZkO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogTG9jYXRpb24gc2hhcmluZyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1idXR0b24ge1xyXG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG59XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBPbmUtb2ZmIGNvbG9ycyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kcHJvZ3Jlc3NiYXItYmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTIwMCk7XHJcbiRrYmQtYm9yZGVyLWNvbG9yOiAkc3Ryb25nLWlucHV0LWJvcmRlci1jb2xvcjtcclxuJHZpc3VhbC1iZWxsLWJnLWNvbG9yOiAjODAwO1xyXG4kZXZlbnQtdGltZXN0YW1wLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4kY29tcG9zZXItc2hhZG93LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjgpO1xyXG4kYnJlYWRjcnVtYi1wbGFjZWhvbGRlci1iZy1jb2xvcjogIzI3MmMzNTtcclxuJHJlc2VuZC1idXR0b24tZGl2aWRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktNzAwKTtcclxuJGlubGluZWNvZGUtYm9yZGVyLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4kaW5saW5lY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xyXG4kY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3I6ICMyYTMwMzk7XHJcbiRzY3JvbGxiYXItdGh1bWItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuJHNlbGVjdGVkLWNvbG9yOiAkcm9vbS1oaWdobGlnaHQtY29sb3I7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBibHVyIGFtb3VudHMgZm9yIGxlZnQgbGVmdCBwYW5lbCAob25seSBmb3IgZWxlbWVudCB0aGVtZSkgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuOnJvb3Qge1xyXG4gICAgLS1scC1iYWNrZ3JvdW5kLWJsdXI6IDQ1cHg7XHJcbn1cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbmJvZHkge1xyXG4gICAgY29sb3Itc2NoZW1lOiBkYXJrO1xyXG59XHJcblxyXG4vKiBOYXN0eSBoYWNrcyB0byBhcHBseSBhIGZpbHRlciB0byBhcmJpdHJhcnkgbW9ub2Nocm9tZSBhcnR3b3JrIHRvIG1ha2UgaXQgKi9cclxuLyogYmV0dGVyIG1hdGNoIHRoZSB0aGVtZS4gIFR5cGljYWxseSBhcHBsaWVkIHRvIGRhcmsgZ3JleSAnb2ZmJyBidXR0b25zIG9yICovXHJcbi8qIGxpZ2h0IGdyZXkgJ29uJyBidXR0b25zLiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4ubXhfZmlsdGVyRmxpcENvbG9yIHtcclxuICAgIGZpbHRlcjogaW52ZXJ0KDEpO1xyXG59XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBtYXJrZG93biBvdmVycmlkZXMgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHtcclxuICAgIHRhYmxlIHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWJvcmRlci1jb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyOm50aC1jaGlsZCgybikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgwODA4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogZGlmZiBoaWdobGlnaHQgY29sb3JzICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbi5obGpzLXRhZyB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogV2l0aG91dCB0aGlzIHRoZXknZCBiZSB3ZWlyZGx5IGJsdWUgd2hpY2ggZG9lc24ndCBtYXRjaCB0aGUgdGhlbWUgKi9cclxufVxyXG5cclxuLmhsanMtYWRkaXRpb24ge1xyXG4gICAgYmFja2dyb3VuZDogIzFhNGI1OTtcclxufVxyXG5cclxuLmhsanMtZGVsZXRpb24ge1xyXG4gICAgYmFja2dyb3VuZDogIzUzMjMyYTtcclxufVxyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogU3BsYXNoIFBhZ2UgR3JhZGllbnQgKi9cclxuLm14X1NwbGFzaFBhZ2U6OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOlxyXG4gICAgICAgIHJhZGlhbC1ncmFkaWVudCg1My44NSUgNjYuNzUlIGF0IDg3LjU1JSAwJSwgaHNsYSgwZGVnLCAwJSwgMTElLCAwLjE1KSAwJSwgaHNsYSgyNTBkZWcsIDEwMCUsIDg4JSwgMCkgMTAwJSksXHJcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KDQxLjkzJSA0MS45MyUgYXQgMCUgMCUsIGhzbGEoMGRlZywgMCUsIDM4JSwgMC4yOCkgMCUsIGhzbGEoMjUwZGVnLCAxMDAlLCA4OCUsIDApIDEwMCUpLFxyXG4gICAgICAgIHJhZGlhbC1ncmFkaWVudCgxMDAlIDEwMCUgYXQgMCUgMCUsIGhzbGEoMjUwZGVnLCAxMDAlLCA4OCUsIDAuMykgMCUsIGhzbGEoMGRlZywgMTAwJSwgODYlLCAwKSAxMDAlKSxcclxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoMTA2LjM1JSA5Ni4yNiUgYXQgMTAwJSAwJSwgaHNsYSgyNWRlZywgMTAwJSwgODglLCAwLjQpIDAlLCBoc2xhKDE2N2RlZywgNzYlLCA4MiUsIDApIDEwMCUpICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLyogc2lkZWJhciBibHVycmVkIGF2YXRhciBiYWNrZ3JvdW5kICovXHJcblxyXG4vKiBpZiBiYWNrZHJvcC1maWx0ZXIgaXMgc3VwcG9ydGVkLCAqL1xyXG4vKiBzZXQgdGhlIHVzZXIgYXZhdGFyIChpZiBhbnkpIGFzIGEgYmFja2dyb3VuZCBzbyAqL1xyXG4vKiBpdCBjYW4gYmUgYmx1cnJlZCBieSB0aGUgdGFnIHBhbmVsIGFuZCByb29tIGxpc3QgKi9cclxuXHJcbi5teF9Sb29tU3VibGlzdF9zaG93TkJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKlxyXG4gICAgZGF0YS1raW5kIGlzIHVzZWQgYnkgdGhlIENvbXBvdW5kIDxMaW5rPiBjb21wb25lbnQgYW5kIHRoZXJlZm9yZSBkb2VzIG5vdCBvdmVycmlkZSB0aGVtLlxyXG4gICAgVGhpcyBpcyBob3JyaWJsZSwgYnV0IHdpbGwgZ2V0IGxlc3MgaG9ycmlibGUgd2hlbiBsaW5rcyBpbiB0aGUgYXBwIGFyZSByZXBsYWNlZCB3aXRoXHJcbiAgICA8TGluaz4uXHJcbiovXHJcbmE6bm90KFtkYXRhLWtpbmRdKSB7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpsaW5rLFxyXG4gICAgJjp2aXNpdGVkIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYXV0b2dlbmVyYXRlZCBieSByZXRoZW1lbmRleC5zaCAqL1xuQGltcG9ydCBcIi4vX2FuaW1hdGlvbnMucGNzc1wiO1xuQGltcG9ydCBcIi4vX2NvbW1vbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi9fZm9udC1zaXplcy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9fc3BhY2luZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fQmVhY29uTGlzdEl0ZW0ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvblN0YXR1cy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fQmVhY29uU3RhdHVzVG9vbHRpcC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fQmVhY29uVmlld0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fRGlhbG9nT3duQmVhY29uU3RhdHVzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19EaWFsb2dTaWRlYmFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19MZWZ0UGFuZWxMaXZlU2hhcmVXYXJuaW5nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19MaXZlVGltZVJlbWFpbmluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fT3duQmVhY29uU3RhdHVzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19TaGFyZUxhdGVzdExvY2F0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19TdHlsZWRMaXZlQmVhY29uSWNvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2NvbnRleHRfbWVudXMvX0tlYmFiQ29udGV4dE1lbnUucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL3BvbGxzL19Qb2xsRGV0YWlsSGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9wb2xscy9fUG9sbExpc3RJdGVtLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9wb2xscy9fUG9sbExpc3RJdGVtRW5kZWQucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9fQXBwUGVybWlzc2lvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19BcHBXYXJuaW5nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvX0ZpbHRlckRyb3Bkb3duLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvX0ZpbHRlclRhYkdyb3VwLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvX0xlYXJuTW9yZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19FbmFibGVMaXZlU2hhcmUucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fTGl2ZUR1cmF0aW9uRHJvcGRvd24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fTG9jYXRpb25TaGFyZU1lbnUucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fTWFwRXJyb3IucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fTWFwRmFsbGJhY2sucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fTWFya2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX1NoYXJlRGlhbG9nQnV0dG9ucy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19TaGFyZVR5cGUucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fWm9vbUJ1dHRvbnMucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9tZXNzYWdlcy9fTUJlYWNvbkJvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9tZXNzYWdlcy9zaGFyZWQvX01lZGlhUHJvY2Vzc2luZ0Vycm9yLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvcG9sbHMvX1BvbGxPcHRpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9fQWRkUmVtb3ZlVGhyZWVwaWRzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fQ3VycmVudERldmljZVNlY3Rpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19EZXZpY2VEZXRhaWxIZWFkaW5nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlRGV0YWlscy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZUV4cGFuZERldGFpbHNCdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19EZXZpY2VTZWN1cml0eUNhcmQucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19EZXZpY2VUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlVHlwZUljb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19GaWx0ZXJlZERldmljZUxpc3QucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19GaWx0ZXJlZERldmljZUxpc3RIZWFkZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19TZWN1cml0eVJlY29tbWVuZGF0aW9ucy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX1NlbGVjdGFibGVEZXZpY2VUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZW5jcnlwdGlvbi9fS2V5U3RvcmFnZVBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3Mvc2hhcmVkL19TZXR0aW5nc1N1YnNlY3Rpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9zaGFyZWQvX1NldHRpbmdzU3Vic2VjdGlvbkhlYWRpbmcucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zcGFjZXMvX1F1aWNrVGhlbWVTd2l0Y2hlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3R5cG9ncmFwaHkvX0NhcHRpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG91bmQvX0ljb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG91bmQvX1N1Y2Nlc3NEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fQXV0b0hpZGVTY3JvbGxiYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fQXV0b2NvbXBsZXRlSW5wdXQucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fQmFja2Ryb3BQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19Db21wYXRpYmlsaXR5UGFnZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19Db250ZXh0dWFsTWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19FcnJvck1lc3NhZ2UucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fRmlsZURyb3BUYXJnZXQucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fRmlsZVBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0dlbmVyaWNEcm9wZG93bk1lbnUucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fSG9tZVBhZ2UucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fTGFyZ2VMb2FkZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fTGVmdFBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX01haW5TcGxpdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19NYXRyaXhDaGF0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX05vblVyZ2VudFRvYXN0Q29udGFpbmVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1BpY3R1cmVJblBpY3R1cmVEcmFnZ2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1F1aWNrU2V0dGluZ3NCdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fUmlnaHRQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19Sb29tU2VhcmNoLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1Jvb21WaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1NlYXJjaEJveC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19TcGFjZUhpZXJhcmNoeS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19TcGFjZVBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1NwYWNlUGlsbEJ1dHRvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19TcGFjZVJvb21WaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1NwbGFzaFBhZ2UucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fVGFiYmVkVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19UaHJlYWRzQWN0aXZpdHlDZW50cmUucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fVG9hc3RDb250YWluZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fVXBsb2FkQmFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1ZpZXdTb3VyY2UucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19Db21wbGV0ZVNlY3VyaXR5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvYXV0aC9fQ29uZmlybVNlc3Npb25Mb2NrVGhlZnRWaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvYXV0aC9fTG9naW4ucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19Mb2dpblNwbGFzaFZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19Nb2JpbGVSZWdpc3RyYXRpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19SZWdpc3RyYXRpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19TZXNzaW9uTG9ja1N0b2xlblZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9hdXRoL19TZXR1cEVuY3J5cHRpb25Cb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3RoZW1lcy9fcGx4LWZvbnRzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3RoZW1lcy9fcGx4LXRlbGVncmFtLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1ZGlvX21lc3NhZ2VzL19QbGF5YmFja0NvbnRhaW5lci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdWRpb19tZXNzYWdlcy9fU2Vla0Jhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdWRpb19tZXNzYWdlcy9fV2F2ZWZvcm0ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fQXV0aEJvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fQXV0aEZvb3Rlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19BdXRoSGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0F1dGhIZWFkZXJMb2dvLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0F1dGhQYWdlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0NvbXBsZXRlU2VjdXJpdHlCb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0NvdW50cnlEcm9wZG93bi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19EZWZhdWx0V2VsY29tZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fTGFuZ3VhZ2VTZWxlY3Rvci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19Mb2dpbldpdGhRUi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19QYXNzcGhyYXNlRmllbGQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fV2VsY29tZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdmF0YXJzL19CYXNlQXZhdGFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F2YXRhcnMvX0RlY29yYXRlZFJvb21BdmF0YXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXZhdGFycy9fUm9vbUF2YXRhclZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXZhdGFycy9fV2lkZ2V0QXZhdGFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F2YXRhcnMvX1dpdGhQcmVzZW5jZUluZGljYXRvci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9iZXRhL19CZXRhQ2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9jb250ZXh0X21lbnVzL19EZXZpY2VDb250ZXh0TWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9jb250ZXh0X21lbnVzL19JY29uaXplZENvbnRleHRNZW51LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2NvbnRleHRfbWVudXMvX0xlZ2FjeUNhbGxDb250ZXh0TWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19BZGRFeGlzdGluZ1RvU3BhY2VEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQW5hbHl0aWNzTGVhcm5Nb3JlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0J1Z1JlcG9ydERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19DaGFuZ2Vsb2dEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQ29tcG91bmREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQ29uZmlybUtleVN0b3JhZ2VPZmZEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Db25maXJtVXNlckFjdGlvbkRpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19DcmVhdGVSb29tRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0NyZWF0ZVNlY3Rpb25EaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQ3JlYXRlU3Vic3BhY2VEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQ3J5cHRvLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0RlYWN0aXZhdGVBY2NvdW50RGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0RldnRvb2xzRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0V4cG9ydERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19GZWVkYmFja0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Gb3J3YXJkRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0dlbmVyaWNGZWF0dXJlRmVlZGJhY2tEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fSW5jb21pbmdTYXNEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fSW52aXRlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0ludml0ZVByb2dyZXNzQm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Kb2luUnVsZURyb3Bkb3duLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0xlYXZlU3BhY2VEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fTG9jYXRpb25WaWV3RGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0xvZ291dERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fTWVzc2FnZUVkaXRIaXN0b3J5RGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX01vZGFsV2lkZ2V0RGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1BvbGxDcmVhdGVEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fUmVnaXN0cmF0aW9uRW1haWxQcm9tcHREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fUmVtb3ZlU2VjdGlvbkRpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19SZXBvcnRSb29tRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1Jvb21TZXR0aW5nc0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Sb29tU2V0dGluZ3NEaWFsb2dCcmlkZ2VzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1Jvb21VcGdyYWRlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1Jvb21VcGdyYWRlV2FybmluZ0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19TZXJ2ZXJPZmZsaW5lRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1NlcnZlclBpY2tlckRpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19TZXRFbWFpbERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19TZXR0aW5nc0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19TaGFyZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19TbGFzaENvbW1hbmRIZWxwRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1NwYWNlUHJlZmVyZW5jZXNEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU3BhY2VTZXR0aW5nc0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19TcG90bGlnaHREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fVGVybXNEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fVW5waW5BbGxEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fVW50cnVzdGVkRGV2aWNlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1VwbG9hZENvbmZpcm1EaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fVXNlclNldHRpbmdzRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1ZlcmlmeUVNYWlsRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL2ludml0ZS9fVW5rbm93bklkZW50aXR5VXNlcnNXYXJuaW5nRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9zZWN1cml0eS9fQ3JlYXRlQ3Jvc3NTaWduaW5nRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9zZWN1cml0eS9fS2V5QmFja3VwRmFpbGVkRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX1Jlc3RvcmVLZXlCYWNrdXBEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlyZWN0b3J5L19OZXR3b3JrRHJvcGRvd24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0FjY2Vzc2libGVCdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0NvcHlhYmxlVGV4dC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19EaWFsUGFkQmFja3NwYWNlQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Ecm9wZG93bi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRWRpdGFibGVJdGVtTGlzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRXJyb3JCb3VuZGFyeS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRXh0ZXJuYWxMaW5rLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19GYWNlUGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRmllbGQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19JbWFnZVZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0luZm9Ub29sdGlwLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19JbmxpbmVTcGlubmVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19JbnRlcmFjdGl2ZVRvb2x0aXAucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0ludml0ZVJlYXNvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fTGFiZWxsZWRDaGVja2JveC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fTGFuZ3VhZ2VEcm9wZG93bi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fTWluaUF2YXRhclVwbG9hZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19QaWxsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Qb3dlclNlbGVjdG9yLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Qcm9ncmVzc0Jhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fUVJDb2RlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19SZXBseUNoYWluLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19SZXNpemVIYW5kbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1JpY2hUZXh0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Sb29tQWxpYXNGaWVsZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fU1NPQnV0dG9ucy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fU2VhcmNoV2FybmluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fU2VydmVyUGlja2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19TZXR0aW5nc0Ryb3Bkb3duLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19TZXR0aW5nc0ZsYWcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1NwaW5uZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1N0eWxlZFJhZGlvQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19TeW50YXhIaWdobGlnaHQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1RhZ0NvbXBvc2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19UZXh0V2l0aFRvb2x0aXAucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1RvZ2dsZVN3aXRjaC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fVmFsaWRhdGlvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbW9qaXBpY2tlci9fRW1vamlQaWNrZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbG9jYXRpb24vX0xvY2F0aW9uUGlja2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19DYWxsRXZlbnQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX0NyZWF0ZUV2ZW50LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19EaXNhbWJpZ3VhdGVkUHJvZmlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTGVnYWN5Q2FsbEV2ZW50LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19NSW1hZ2VSZXBseUJvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX01Mb2NhdGlvbkJvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX01Qb2xsQm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTVN0aWNrZXJCb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19NZXNzYWdlQWN0aW9uQmFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19UZXh0dWFsRXZlbnQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX1RocmVhZEFjdGlvbkJhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fY29tbW9uX0NyeXB0b0V2ZW50LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3BvbGxzL3BvbGxIaXN0b3J5L19Qb2xsSGlzdG9yeS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9wb2xscy9wb2xsSGlzdG9yeS9fUG9sbEhpc3RvcnlMaXN0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19CYXNlQ2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yaWdodF9wYW5lbC9fRW1wdHlTdGF0ZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yaWdodF9wYW5lbC9fRW5jcnlwdGlvbkluZm8ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX0V4dGVuc2lvbnNDYXJkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19QaW5uZWRNZXNzYWdlc0NhcmQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX1Jvb21TdW1tYXJ5Q2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yaWdodF9wYW5lbC9fVGhyZWFkUGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX1RpbWVsaW5lQ2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yaWdodF9wYW5lbC9fVXNlckluZm8ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX1ZlcmlmaWNhdGlvblBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19XaWRnZXRDYXJkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21fc2V0dGluZ3MvX0FsaWFzU2V0dGluZ3MucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvUm9vbUxpc3RQYW5lbC9fUm9vbUxpc3RQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fQXBwc0RyYXdlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fQXV0b2NvbXBsZXRlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19BdXhQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fQmFzaWNNZXNzYWdlQ29tcG9zZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0NhbGxHdWVzdExpbmtCdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0UyRUljb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0UyRUljb25WaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19FZGl0TWVzc2FnZUNvbXBvc2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19FbW9qaUJ1dHRvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fRXZlbnRCdWJibGVUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19FdmVudFRpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0hpc3RvcnlUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19JUkNMYXlvdXQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0ludml0ZWRJY29uVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fSnVtcFRvQm90dG9tQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19MZWdhY3lSb29tTGlzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fTGVnYWN5Um9vbUxpc3RIZWFkZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0xpdmVDb250ZW50U3VtbWFyeS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fTWVtYmVyTGlzdEhlYWRlclZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX01lbWJlckxpc3RWaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19NZW1iZXJUaWxlVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fTWVzc2FnZUNvbXBvc2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX05ld1Jvb21JbnRyby5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fTm90aWZpY2F0aW9uQmFkZ2UucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX092ZXJmbG93VGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUGlubmVkRXZlbnRUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19QaW5uZWRNZXNzYWdlQmFubmVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19QbHhNZWRpYVBpY2tlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUHJlc2VuY2VJY29uVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUHJlc2VuY2VMYWJlbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUmVhZFJlY2VpcHRHcm91cC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUmVwbHlQcmV2aWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19SZXBseVRpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21CcmVhZGNydW1icy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUm9vbUNhbGxCYW5uZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21IZWFkZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21JbmZvTGluZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUm9vbUtub2Nrc0Jhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUm9vbVByZXZpZXdCYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21QcmV2aWV3Q2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUm9vbVNlYXJjaEF1eFBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tU3VibGlzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUm9vbVRpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21VcGdyYWRlV2FybmluZ0Jhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fU2VuZE1lc3NhZ2VDb21wb3Nlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fU3RpY2tlcnMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1RoaXJkUGFydHlNZW1iZXJJbmZvLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Ub3BVbnJlYWRNZXNzYWdlc0Jhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fVXNlcklkZW50aXR5V2FybmluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fVm9pY2VSZWNvcmRDb21wb3NlclRpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1dob0lzVHlwaW5nVGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy93eXNpd3lnX2NvbXBvc2VyL19FZGl0V3lzaXd5Z0NvbXBvc2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL3d5c2l3eWdfY29tcG9zZXIvX1NlbmRXeXNpd3lnQ29tcG9zZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9jb21wb25lbnRzL19FZGl0b3IucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9jb21wb25lbnRzL19Gb3JtYXR0aW5nQnV0dG9ucy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy93eXNpd3lnX2NvbXBvc2VyL2NvbXBvbmVudHMvX0xpbmtNb2RhbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fQXZhdGFyU2V0dGluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fRm9udFNjYWxpbmdQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fSW1hZ2VTaXplUGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX0ludGVncmF0aW9uTWFuYWdlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fSm9pblJ1bGVTZXR0aW5ncy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fS2V5Ym9hcmRTaG9ydGN1dC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fTGF5b3V0U3dpdGNoZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX05vdGlmaWNhdGlvblB1c2hlclNldHRpbmdzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19Ob3RpZmljYXRpb25TZXR0aW5nczIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX05vdGlmaWNhdGlvbnMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1Bob25lTnVtYmVycy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fUG93ZXJMZXZlbFNlbGVjdG9yLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19Sb29tUHJvZmlsZVNldHRpbmdzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19TZXRJbnRlZ3JhdGlvbk1hbmFnZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1NldHRpbmdzRmllbGRzZXQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1NldHRpbmdzSGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19TZXR0aW5nc1N1YmhlYWRlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fU3BlbGxDaGVja0xhbmd1YWdlcy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fVGhlbWVDaG9pY2VQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fVXBkYXRlQ2hlY2tCdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1VzZXJQZXJzb25hbEluZm9TZXR0aW5ncy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fVXNlclByb2ZpbGVTZXR0aW5ncy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19BZHZhbmNlZFBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL2VuY3J5cHRpb24vX0NoYW5nZVJlY292ZXJ5S2V5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL2VuY3J5cHRpb24vX0VuY3J5cHRpb25DYXJkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL2VuY3J5cHRpb24vX0VuY3J5cHRpb25DYXJkRW1waGFzaXNlZENvbnRlbnQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvZW5jcnlwdGlvbi9fUmVjb3ZlcnlQYW5lbE91dE9mU3luYy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19SZXNldElkZW50aXR5UGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy9fU2V0dGluZ3NCYW5uZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy9fU2V0dGluZ3NJbmRlbnQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy9fU2V0dGluZ3NTZWN0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvcm9vbS9fTm90aWZpY2F0aW9uU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy9yb29tL19QZW9wbGVSb29tU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy9yb29tL19Sb2xlc1Jvb21TZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3Jvb20vX1NlY3VyaXR5Um9vbVNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fQXBwZWFyYW5jZVVzZXJTZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX0JvdHNVc2VyU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19IZWxwVXNlclNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fS2V5Ym9hcmRVc2VyU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19NZWRpYVByZXZpZXdBY2NvdW50U2V0dGluZ3MucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19Nam9sbmlyVXNlclNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fUHJlZmVyZW5jZXNVc2VyU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19TZWN1cml0eVVzZXJTZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX1NpZGViYXJVc2VyU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc3BhY2VzL19TcGFjZUJhc2ljU2V0dGluZ3MucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc3BhY2VzL19TcGFjZUNoaWxkcmVuUGlja2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NwYWNlcy9fU3BhY2VDcmVhdGVNZW51LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Rlcm1zL19JbmxpbmVUZXJtc0FncmVlbWVudC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy90b2FzdHMvX0FuYWx5dGljc1RvYXN0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3RvYXN0cy9fSW5jb21pbmdDYWxsVG9hc3QucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdG9hc3RzL19JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy90b2FzdHMvX05vblVyZ2VudEVjaG9GYWlsdXJlVG9hc3QucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdHlwb2dyYXBoeS9fSGVhZGluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92ZXJpZmljYXRpb24vX1ZlcmlmaWNhdGlvblNob3dTYXMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9MZWdhY3lDYWxsVmlldy9fTGVnYWN5Q2FsbFZpZXdCdXR0b25zLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvX0NhbGxEdXJhdGlvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19DYWxsVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19EaWFsUGFkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvX0RpYWxQYWRDb250ZXh0TWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19EaWFsUGFkTW9kYWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9fTGVnYWN5Q2FsbFZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9fTGVnYWN5Q2FsbFZpZXdGb3JSb29tLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3SGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3U2lkZWJhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19WaWRlb0ZlZWQucGNzc1wiO1xuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qKlxyXG4gKiBSZWFjdCBUcmFuc2l0aW9uIEdyb3VwIGFuaW1hdGlvbnMgYXJlIHByZWZpeGVkIHdpdGggJ214X3J0Zy0tJyBzbyB0aGF0IHdlXHJcbiAqIGtub3cgdGhleSBzaG91bGQgbm90IGJlIHVzZWQgYW55d2hlcmUgb3V0c2lkZSBvZiBSZWFjdCBUcmFuc2l0aW9uIEdyb3Vwcy5cclxuKi9cclxuXHJcbi5teF9ydGctLWZhZGUtZW50ZXIge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG4ubXhfcnRnLS1mYWRlLWVudGVyLWFjdGl2ZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlO1xyXG59XHJcbi5teF9ydGctLWZhZGUtZXhpdCB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcbi5teF9ydGctLWZhZGUtZXhpdC1hY3RpdmUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZTtcclxufVxyXG5cclxuOnJvb3Qge1xyXG4gICAgLS1ob3Zlci10cmFuc2l0aW9uOiAwLjA4cyBjdWJpYy1iZXppZXIoMC40NiwgMC4wMywgMC41MiwgMC45Nik7IC8qIHF1YWRyYXRpYyAqL1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG14LS1hbmltLXB1bHNlIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG14X0RpYWxvZ19saWdodGJveF9iYWNrZ3JvdW5kX2tleWZyYW1lcyB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6ICRsaWdodGJveC1iYWNrZ3JvdW5kLWJnLW9wYWNpdHk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbXhfSW1hZ2VWaWV3X3BhbmVsX2tleWZyYW1lcyB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikge1xyXG4gICAgQGtleWZyYW1lcyBteC0tYW5pbS1wdWxzZSB7XHJcbiAgICAgICAgLyogT3ZlcnJpZGUgYWxsIGtleWZyYW1lcyBpbiByZWR1Y2VkLW1vdGlvbiAqL1xyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgbXhfRGlhbG9nX2xpZ2h0Ym94X2JhY2tncm91bmRfa2V5ZnJhbWVzIHtcclxuICAgICAgICAvKiBPdmVycmlkZSBhbGwga2V5ZnJhbWVzIGluIHJlZHVjZWQtbW90aW9uICovXHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBteF9JbWFnZVZpZXdfcGFuZWxfa2V5ZnJhbWVzIHtcclxuICAgICAgICAvKiBPdmVycmlkZSBhbGwga2V5ZnJhbWVzIGluIHJlZHVjZWQtbW90aW9uICovXHJcbiAgICB9XHJcblxyXG4gICAgLm14X3J0Zy0tZmFkZS1lbnRlci1hY3RpdmUge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgICAubXhfcnRnLS1mYWRlLWV4aXQtYWN0aXZlIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOS0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkNcclxuQ29weXJpZ2h0IDIwMTctMjAxOSBOZXcgVmVjdG9yIEx0ZFxyXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG5AaW1wb3J0IFwiLi9fZm9udC1zaXplcy5wY3NzXCI7XHJcbkBpbXBvcnQgXCIuL19hbmltYXRpb25zLnBjc3NcIjtcclxuQGltcG9ydCBcIi4vX3NwYWNpbmcucGNzc1wiO1xyXG5AaW1wb3J0IHVybChcIm1hcGxpYnJlLWdsL2Rpc3QvbWFwbGlicmUtZ2wuY3NzXCIpO1xyXG5cclxuOnJvb3Qge1xyXG4gICAgLS1jb250YWluZXItYm9yZGVyLXdpZHRoOiA4cHg7XHJcbiAgICAtLWNvbnRhaW5lci1nYXAtd2lkdGg6IDhweDsgLyogb25seSBldmVuIG51bWJlcnMgc2hvdWxkIGJlIHVzZWQgYmVjYXVzZSBvdGhlcndpc2Ugd2UgZ2V0IDAuNXB4IG1hcmdpbiB2YWx1ZXMuICovXHJcbiAgICAtLXRyYW5zaXRpb24tc2hvcnQ6IDAuMXM7XHJcbiAgICAtLXRyYW5zaXRpb24tc3RhbmRhcmQ6IDAuM3M7XHJcbiAgICAtLWJ1dHRvbnMtZGlhbG9nLWdhcC1yb3c6ICRzcGFjaW5nLTg7XHJcbiAgICAtLWJ1dHRvbnMtZGlhbG9nLWdhcC1jb2x1bW46ICRzcGFjaW5nLTg7XHJcbiAgICAtLU1Cb2R5LWJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIC0tRXZlbnRUaWxlQnViYmxlX21hcmdpbi1ibG9jazogMTBweDtcclxuICAgIC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aDogNDZweDsgLyogOCArIDMwIChhdmF0YXIpICsgOCAqL1xyXG5cclxuICAgIC8qIEV4cGVjdGVkIHotaW5kZXhlcyBmb3IgZGlhbG9nczpcclxuICAgICAgICA0MDAwIC0gRGVmYXVsdCB3cmFwcGVyIGluZGV4XHJcbiAgICAgICAgNDAwOSAtIFN0YXRpYyBkaWFsb2cgYmFja2dyb3VuZFxyXG4gICAgICAgIDQwMTAgLSBTdGF0aWMgZGlhbG9nIGl0c2VsZlxyXG4gICAgICAgIDQwMTEgLSBTdGFuZGFyZCBkaWFsb2cgYmFja2dyb3VuZFxyXG4gICAgICAgIDQwMTIgLSBTdGFuZGFyZCBkaWFsb2cgaXRzZWxmXHJcblxyXG4gICAgICAgVGhlc2UgYXJlIHNldCB1cCBzdWNoIHRoYXQgdGhlIHN0YXRpYyBkaWFsb2cgYWx3YXlzIGFwcGVhcnNcclxuICAgICAgIHVuZGVybmVhdGggdGhlIHN0YW5kYXJkIGRpYWxvZ3MuXHJcbiAgICAgKi9cclxuICAgIC0tZGlhbG9nLXpJbmRleC13cmFwcGVyLWRlZmF1bHQ6IDQwMDA7XHJcbiAgICAtLWRpYWxvZy16SW5kZXgtc3RhdGljLWJhY2tncm91bmQ6IDQwMDk7XHJcbiAgICAtLWRpYWxvZy16SW5kZXgtc3RhdGljOiBjYWxjKHZhcigtLWRpYWxvZy16SW5kZXgtc3RhdGljLWJhY2tncm91bmQpICsgMSk7IC8qIDQwMTAgKi9cclxuICAgIC0tZGlhbG9nLXpJbmRleC1zdGFuZGFyZC1iYWNrZ3JvdW5kOiBjYWxjKHZhcigtLWRpYWxvZy16SW5kZXgtc3RhdGljKSArIDEpOyAvKiA0MDExICovXHJcbiAgICAtLWRpYWxvZy16SW5kZXgtc3RhbmRhcmQ6IGNhbGModmFyKC0tZGlhbG9nLXpJbmRleC1zdGFuZGFyZC1iYWNrZ3JvdW5kKSArIDEpOyAvKiA0MDEyICovXHJcbn1cclxuXHJcbiNtYXRyaXhjaGF0IHtcclxuICAgIC8qIFRoaXMgaXMgcmVxdWlyZWQgdG8gZW5zdXJlIENvbXBvdW5kIHRvb2x0aXBzIGNvcnJlY3RseSBkcmF3IHdoZXJlIHRoZXkgc2hvdWxkIHdpdGggei1pbmRleDogYXV0byAqL1xyXG4gICAgY29udGFpbjogc3RyaWN0O1xyXG59XHJcbiNteF9Db250ZXh0dWFsTWVudV9Db250YWluZXIsXHJcbiNteF9QZXJzaXN0ZWRFbGVtZW50X2NvbnRhaW5lcixcclxuI214X0RpYWxvZ19Db250YWluZXIsXHJcbiNteF9EaWFsb2dfU3RhdGljQ29udGFpbmVyIHtcclxuICAgIC8qIFRoaXMgaXMgcmVxdWlyZWQgdG8gZW5zdXJlIENvbXBvdW5kIHRvb2x0aXBzIGNvcnJlY3RseSBkcmF3IHdoZXJlIHRoZXkgc2hvdWxkIHdpdGggei1pbmRleDogYXV0byAqL1xyXG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogRGlzYWJsZSBwb2ludGVyIGV2ZW50cyBpbnNpZGUgdGhlIHBlcnNpc3RlbnRFbGVtZW50IGNvbnRhaW5lciB3aGVuIHRoZSByb29tLWxpc3QgaXMgYmVpbmcgcmVzaXplZC5cclxuICogVGhpcyBpcyBuZWNlc3NhcnkgdG8gYXZvaWQgdGhlIHBvaW50ZXIgZXZlbnRzIGZyb20gYmVpbmcgaGlqYWNrZWQgYnkgdGhlIGNvbnRlbnQgcmVuZGVyZWQgaW5zaWRlXHJcbiAqIHRoYXQgZGl2LlxyXG4gKi9cclxuOnJvb3Q6aGFzKC5teF9TZXBhcmF0b3JbZGF0YS1zZXBhcmF0b3I9XCJhY3RpdmVcIl0pICNteF9QZXJzaXN0ZWRFbGVtZW50X2NvbnRhaW5lciB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFdlIG5lZWQgdG8gaW5jcmVhc2UgdGhlIHNwZWNpZmljaXR5IG9mIHRoZSBzZWxlY3RvciB0byBvdmVycmlkZSB0aGVcclxuICogY3VzdG9tIHByb3BlcnR5IHNldCBieSB0aGUgZGVzaWduIHRva2VucyBwYWNrYWdlXHJcbiAqL1xyXG5bY2xhc3NePVwiY3BkLXRoZW1lXCJdW2NsYXNzXj1cImNwZC10aGVtZVwiXSB7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBkZXNpZ24gdG9rZW5zIHBhY2thZ2UgY3VycmVudGx5IGRvZXMgbm90IGV4cG9zZSB0aGUgZmFsbGJhY2sgZm9udHNcclxuICAgICAqIFdlIHdhbnQgdG8ga2VlcCBvbiByZS11c2luZyBgJGZvbnQtZmFtaWx5YCB0byBub3QgYnJlYWsgY3VzdG9tIHRoZW1lc1xyXG4gICAgICogYW5kIGJlY2F1c2Ugd2UgY2FuIHRvIHVzZSBgVHdlbW9qaWAgdG8gZGlzcGxheSBlbW9qaSByYXRoZXIgdGhhbiB1c2luZ1xyXG4gICAgICogc3lzdGVtIG9uZXNcclxuICAgICAqL1xyXG4gICAgLS1jcGQtZm9udC1mYW1pbHktc2FuczogJGZvbnQtZmFtaWx5O1xyXG59XHJcblxyXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb24pIHtcclxuICAgIDpyb290IHtcclxuICAgICAgICAtLXRyYW5zaXRpb24tc2hvcnQ6IDA7XHJcbiAgICAgICAgLS10cmFuc2l0aW9uLXN0YW5kYXJkOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5odG1sIHtcclxuICAgIC8qIGhhY2sgdG8gc3RvcCBvdmVyc2Nyb2xsIGJvdW5jZSBvbiBPU1ggYW5kIGlPUy5cclxuICAgICAgIE4uQi4gQnJlYWtzIHRoaW5ncyB3aGVuIHdlIGhhdmUgbGVnaXRpbWF0ZSBob3Jpem9udGFsIG92ZXJzY3JvbGwgKi9cclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAvKiBTdG9wIHNpbWlsYXIgb3ZlcnNjcm9sbCBib3VuY2UgaW4gRmlyZWZveCBOaWdodGx5IGZvciBtYWNPUyAqL1xyXG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgICAvKiAhaW1wb3J0YW50IGJlY2F1c2UgY29tcG91bmQgb3ZlcnJpZGVzIHRoZXNlIGZvbnQgc2V0dGluZ3MgZm9yIGJvZHkgKi9cclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcikgIWltcG9ydGFudDtcclxuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kKSAhaW1wb3J0YW50O1xyXG4gICAgLyoqXHJcbiAgICAgKiBXZSB3YW50IHRvIGFwcGx5IEludGVyIER5bmFtaWMgbWV0cmljcyAoaHR0cHM6Ly9yc21zLm1lL2ludGVyL2R5bm1ldHJpY3MvKVxyXG4gICAgICogV2UgbmVlZCB0byB0d2VhayB0aGUgYGxldHRlci1zcGFjaW5nYCBwcm9wZXJ0eSBhbmQgZG9pbmcgc28sIGRpc2FibGVzIGJ5XHJcbiAgICAgKiBkZWZhdWx0IHRoZSBvcHRpb25hbCBsaWdhdHVyZXNcclxuICAgICAqIGBmb250LWZlYXR1cmUtc2V0dGluZ3NgIGFsbG93cyB1cyB0byBvdmVycmlkZSB0aGlzIGJlaGF2aW91ciBhbmQgaGF2ZSB0aGVcclxuICAgICAqIGNvcnJlY3QgbGlnYXR1cmVzIGFuZCB0aGUgcHJvcGVyIGR5bmFtaWMgbWV0cmljIHNwYWNpbmcuXHJcbiAgICAgKi9cclxuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczpcclxuICAgICAgICBcImtlcm5cIiAxLFxyXG4gICAgICAgIFwibGlnYVwiIDEsXHJcbiAgICAgICAgXCJjYWx0XCIgMSAhaW1wb3J0YW50O1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBib3JkZXI6IDBweDtcclxuICAgIG1hcmdpbjogMHB4O1xyXG5cclxuICAgIC8qIG5lZWRlZCB0byBtYXRjaCB0aGUgZGVzaWducyBjb3JyZWN0bHkgb24gbWFjT1MgKi9cclxuICAgIC8qIHNlZSBodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL2VsZW1lbnQtd2ViL2lzc3Vlcy8xMTQyNSAqL1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG5wcmUsXHJcbmNvZGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRtb25vc3BhY2UtZm9udC1mYW1pbHk7XHJcbiAgICBmb250LXNpemU6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmVycm9yLFxyXG4ud2FybmluZyxcclxuLnRleHQtZXJyb3IsXHJcbi50ZXh0LXdhcm5pbmcge1xyXG4gICAgY29sb3I6ICRhbGVydDtcclxufVxyXG5cclxuLnRleHQtc3VjY2VzcyB7XHJcbiAgICBjb2xvcjogJGFjY2VudDtcclxufVxyXG5cclxuLnRleHQtbXV0ZWQge1xyXG4gICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxufVxyXG5cclxuLnRleHQtcHJpbWFyeSB7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxufVxyXG5cclxuLnRleHQtc2Vjb25kYXJ5IHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9WZXJpZmllZCB7XHJcbiAgICBjb2xvcjogJGUyZS12ZXJpZmllZC1jb2xvcjtcclxufVxyXG5cclxuLm14X1VudHJ1c3RlZCB7XHJcbiAgICBjb2xvcjogJGUyZS13YXJuaW5nLWNvbG9yO1xyXG59XHJcblxyXG5iIHtcclxuICAgIC8qIE9uIEZpcmVmb3gsIHRoZSBkZWZhdWx0IHdlaWdodCBmb3IgYDxiPmAgaXMgYGJvbGRlcmAgd2hpY2ggcmVzdWx0cyBpbiBubyBib2xkICovXHJcbiAgICAvKiBlZmZlY3Qgc2luY2Ugd2Ugb25seSBoYXZlIHNwZWNpZmljIHdlaWdodHMgb2Ygb3VyIGZvbnRzIGF2YWlsYWJsZS4gKi9cclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKiBLZWVwIHRoZSBsZWdhY3kgbGluayBjb2xvdXIgd2l0aG91dCBvdmVycmlkaW5nIENvbXBvdW5kIGFuY2hvcnMgb3Igc2hhcmVkIHRpbWVzdGFtcCBzdHlsaW5nLiAqL1xyXG5hOndoZXJlKDpub3QoW2RhdGEta2luZF0pOm5vdCgubXhfTWVzc2FnZVRpbWVzdGFtcCkpOmhvdmVyLFxyXG5hOndoZXJlKDpub3QoW2RhdGEta2luZF0pOm5vdCgubXhfTWVzc2FnZVRpbWVzdGFtcCkpOmxpbmssXHJcbmE6d2hlcmUoOm5vdChbZGF0YS1raW5kXSk6bm90KC5teF9NZXNzYWdlVGltZXN0YW1wKSk6dmlzaXRlZCB7XHJcbiAgICBjb2xvcjogJGFjY2VudC1hbHQ7XHJcbn1cclxuXHJcbjpub3QoLm14X25vX3RleHRpbnB1dCk6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpID4gaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbjpub3QoLm14X25vX3RleHRpbnB1dCk6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcclxuOm5vdCgubXhfbm9fdGV4dGlucHV0KTpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCkgPiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xyXG4gICAgcGFkZGluZzogOXB4O1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInRleHRcIl0ubXhfdGV4dGlucHV0X2ljb24sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ubXhfdGV4dGlucHV0X2ljb24ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzNnB4O1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwcHggY2VudGVyO1xyXG59XHJcblxyXG4vKiBGSVhNRSBUSEVNRSAtIFRpbnQgYnkgQ1NTIHJhdGhlciB0aGFuIHJlZmVyZW5jaW5nIGEgZHVwbGljYXRlIGFzc2V0ICovXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLm14X3RleHRpbnB1dF9pY29uLm14X3RleHRpbnB1dF9zZWFyY2gsXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ubXhfdGV4dGlucHV0X2ljb24ubXhfdGV4dGlucHV0X3NlYXJjaCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvc2VhcmNoLnN2Z1wiKTtcclxufVxyXG5cclxuLyogZG9udCBzZWFyY2ggVUkgYXMgbm90IGFsbCBicm93c2VycyBzdXBwb3J0IGl0LCAqL1xyXG4vKiB3ZSBpbXBsZW1lbnQgaXQgb3Vyc2VsdmVzIHdoZXJlIG5lZWRlZCBpbnN0ZWFkICovXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogT3ZlcnJpZGUgRmlyZWZveCdzIFVBIHN0eWxlIHNvIHdlIGdldCBhIGNvbnNpc3RlbnQgbG9vayBhY3Jvc3MgYnJvd3NlcnMgKi9cclxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxyXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xyXG4gICAgb3BhY2l0eTogaW5pdGlhbDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxudGV4dGFyZWEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxufVxyXG5cclxuLyogUmVxdWlyZWQgYnkgRmlyZWZveCAqL1xyXG50ZXh0YXJlYSB7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcclxudGV4dGFyZWE6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIFRoaXMgaXMgdXNlZCB0byBoaWRlIHRoZSBzdGFuZGFyZCBvdXRsaW5lIGFkZGVkIGJ5IGJyb3dzZXJzIGZvciAqL1xyXG4vKiBhY2Nlc3NpYmxlIChmb2N1c2FibGUpIGNvbXBvbmVudHMuIE5vdCBpbnRlbmRlZCBmb3IgYnV0dG9ucywgYnV0ICovXHJcbi8qIHNob3VsZCBiZSB1c2VkIG9uIHRoaW5ncyBsaWtlIGZvY3VzYWJsZSBjb250YWluZXJzIHdoZXJlIHRoZSBvdXRsaW5lICovXHJcbi8qIGlzIHVzdWFsbHkgbm90IGhlbHBpbmcgYW55b25lLiAqL1xyXG4qOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLyogb3ZlcnJpZGUgZGVmYXVsdHMgKi9cclxuZmllbGRzZXQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLWlubGluZTogdW5zZXQ7XHJcbiAgICBwYWRkaW5nLWJsb2NrOiB1bnNldDtcclxuICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcclxuICAgIG1pbi1pbmxpbmUtc2l6ZTogdW5zZXQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbnN1bW1hcnkge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5sZWdlbmQge1xyXG4gICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4vKiAubXhfdGV4dGlucHV0IGlzIGEgY29udGFpbmVyIGZvciBhIHRleHQgaW5wdXQgKi9cclxuLyogKyBzb21lIG90aGVyIGNvbnRyb2xzIGxpa2UgYnV0dG9ucywgLi4uICovXHJcbi8qIGl0IGhhcyB0aGUgYXBwZWFyYW5jZSBvZiBhIHRleHQgYm94IHNvIHRoZSBjb250cm9scyAqL1xyXG4vKiBhcHBlYXIgdG8gYmUgcGFydCBvZiB0aGUgaW5wdXQgKi9cclxuXHJcbi5teF9EaWFsb2csXHJcbi5teF9NYXRyaXhDaGF0X3dyYXBwZXIge1xyXG4gICAgLm14X3RleHRpbnB1dCA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgLm14X3RleHRpbnB1dCA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgICA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbiAgICAubXhfdGV4dGlucHV0IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiAkaW5wdXQtZGFya2VyLWZnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWhhaXJsaW5lLWNvbG9yO1xyXG4gICAgICAgIC8qIHRoZXNlIHRoaW5ncyBzaG91bGQgcHJvYmFibHkgbm90IGJlIGRlZmluZWQgZ2xvYmFsbHkgKi9cclxuICAgICAgICBtYXJnaW46IDlweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfdGV4dGlucHV0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIsXHJcbiAgICA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl06OnBsYWNlaG9sZGVyLFxyXG4gICAgLm14X3RleHRpbnB1dCBpbnB1dDo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFByZXZlbnQgdWdseSBkb3R0ZWQgaGlnaGxpZ2h0IGFyb3VuZCBzZWxlY3RlZCBlbGVtZW50cyBpbiBGaXJlZm94ICovXHJcbjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi8qIFRoZXNlIGFyZSBtYWdpYyBjb25zdGFudHMgd2hpY2ggYXJlIGV4Y2x1ZGVkIGZyb20gdGludGluZywgdG8gbGV0IHRoZW1lcyAqL1xyXG4vKiAod2hpY2ggb25seSBoYXZlIENTUykgdGVsbCB0aGUgYXBwIHdoYXQgdGhlaXIgbm9uLXRpbnRlZCAqL1xyXG4vKiBjb2xvdXJzY2hlbWUgaXMgYnkgaW5zcGVjdGluZyB0aGUgc3R5bGVzaGVldCBET00uICovXHJcbi8qIFRoZXkgYXJlIG5vdCB1c2VkIGZvciBsYXlvdXQhISAqL1xyXG4jbXhfdGhlbWVfYWNjZW50Q29sb3Ige1xyXG4gICAgY29sb3I6ICRhY2NlbnQ7XHJcbn1cclxuXHJcbiNteF90aGVtZV9zZWNvbmRhcnlBY2NlbnRDb2xvciB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1hY2NlbnQtY29sb3I7XHJcbn1cclxuXHJcbi5teF9EaWFsb2dfd3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiB2YXIoLS1kaWFsb2ctekluZGV4LXdyYXBwZXItZGVmYXVsdCk7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0RpYWxvZ19ib3JkZXIge1xyXG4gICAgei1pbmRleDogdmFyKC0tZGlhbG9nLXpJbmRleC1zdGFuZGFyZCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tY3BkLXNwYWNlLTZ4KSk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAubXhfRGlhbG9nX2xpZ2h0Ym94ICYge1xyXG4gICAgICAgIC8qIFRoZSBsaWdodGJveCBpc24ndCBzbyBtdWNoIG9mIGEgZGlhbG9nIGFzIGEgZnVsbHNjcmVlbiBvdmVybGF5LiBXZVxyXG4gICAgICAgIGRvbid0IHdhbnQgdGhlIGdsYXNzIGJvcmRlci4gKi9cclxuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcclxuICAgIH1cclxufVxyXG5cclxuLm14X0RpYWxvZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkbGlnaHQtZmctY29sb3I7XHJcbiAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtOHgpIHZhcigtLWNwZC1zcGFjZS0xMHgpO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgLm14X0RpYWxvZ19zdGF0aWNXcmFwcGVyICYge1xyXG4gICAgICAgIHotaW5kZXg6IHZhcigtLWRpYWxvZy16SW5kZXgtc3RhdGljKTtcclxuICAgICAgICBjb250YWluOiBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfbGlnaHRib3ggJiB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFN0eWxlcyBjb3BpZWQvaW5zcGlyZWQgYnkgR3JvdXBMYXlvdXQsIFJlcGx5VGlsZSwgYW5kIEV2ZW50VGlsZSB2YXJpYW50cy4gKi9cclxuICAgIC5tYXJrZG93bi1ib2R5IHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDsgLyogaW5oZXJpdCB0aGUgY29sb3VyIGZyb20gdGhlIGRhcmsgb3IgbGlnaHQgdGhlbWUgYnkgZGVmYXVsdCAoYnV0IG5vdCBmb3IgY29kZSBibG9ja3MpICovXHJcblxyXG4gICAgICAgIHByZSxcclxuICAgICAgICBjb2RlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtb25vc3BhY2UtZm9udC1mYW1pbHkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogdGhpcyBzZWxlY3RvciB3cm9uZ2x5IGFwcGxpZXMgdG8gY29kZSBibG9ja3MgdG9vIGJ1dCB3ZSB3aWxsIHVuc2V0IGl0IGluIHRoZSBuZXh0IG9uZSAqL1xyXG4gICAgICAgIGNvZGUge1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IC8qIGRvbid0IGNvbGxhcHNlIHNwYWNlcyBpbiBpbmxpbmUgY29kZSBibG9ja3MgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHByZSB7XHJcbiAgICAgICAgICAgIC8qIGhhdmUgdG8gdXNlIG92ZXJsYXkgcmF0aGVyIHRoYW4gYXV0byBvdGhlcndpc2UgTGludXggYW5kIFdpbmRvd3MgKi9cclxuICAgICAgICAgICAgLyogQ2hyb21lIGdldHMgdmVyeSBjb25mdXNlZCBhYm91dCB2ZXJ0aWNhbCBzcGFjaW5nOiAqL1xyXG4gICAgICAgICAgICAvKiBodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL3ZlY3Rvci13ZWIvaXNzdWVzLzc1NCAqL1xyXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBvdmVybGF5O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG5cclxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb2RlIHtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7IC8qIHdlIHdhbnQgY29kZSBibG9ja3MgdG8gYmUgc2Nyb2xsYWJsZSBhbmQgbm90IHdyYXAgKi9cclxuXHJcbiAgICAgICAgICAgICAgICA+ICoge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIsXHJcbiAgICAgICAgaDMsXHJcbiAgICAgICAgaDQsXHJcbiAgICAgICAgaDUsXHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIE1ha2UgaDEgYW5kIGgyIHRoZSBzYW1lIHNpemUgYXMgaDMuICovXHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIEdGTSAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50LWFsdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRibG9ja3F1b3RlLWJhci1jb2xvcjtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRGlhbG9nX2ZpeGVkV2lkdGgge1xyXG4gICAgd2lkdGg6IDYwdnc7XHJcbiAgICBtYXgtd2lkdGg6IDcwNHB4O1xyXG59XHJcblxyXG4ubXhfRGlhbG9nX2JhY2tncm91bmQge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRpYWxvZy1iYWNrZHJvcC1jb2xvcjtcclxuICAgIHotaW5kZXg6IHZhcigtLWRpYWxvZy16SW5kZXgtc3RhbmRhcmQtYmFja2dyb3VuZCk7XHJcblxyXG4gICAgJi5teF9EaWFsb2dfc3RhdGljQmFja2dyb3VuZCB7XHJcbiAgICAgICAgei1pbmRleDogdmFyKC0tZGlhbG9nLXpJbmRleC1zdGF0aWMtYmFja2dyb3VuZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ193cmFwcGVyV2l0aFN0YXRpY1VuZGVyICYge1xyXG4gICAgICAgIC8qIFJvdWdobHkgaGFsZiBvZiB3aGF0IGl0IHdvdWxkIG5vcm1hbGx5IGJlIC0gd2UgZG9uJ3Qgd2FudCB0byBibGFjayBvdXQgKi9cclxuICAgICAgICAvKiB0aGUgYXBwLCBqdXN0IG1ha2UgaXQgY2xlYXIgdGhhdCB0aGUgZGlhbG9ncyBhcmUgc3RhY2tlZC4gKi9cclxuICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ19saWdodGJveCAmIHtcclxuICAgICAgICBvcGFjaXR5OiAkbGlnaHRib3gtYmFja2dyb3VuZC1iZy1vcGFjaXR5O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGJveC1iYWNrZ3JvdW5kLWJnLWNvbG9yO1xyXG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBteF9EaWFsb2dfbGlnaHRib3hfYmFja2dyb3VuZF9rZXlmcmFtZXM7XHJcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcclxuICAgIH1cclxufVxyXG5cclxuLm14X0RpYWxvZ190aXRsZUltYWdlIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbn1cclxuXHJcbi5teF9EaWFsb2dfdGl0bGUge1xyXG4gICAgY29sb3I6ICRkaWFsb2ctdGl0bGUtZmctY29sb3I7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1sZyk7XHJcblxyXG4gICAgJi5kYW5nZXIge1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EaWFsb2dfaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDIwcHg7IC8qIFJlc2VydmUgcm9vbSBmb3IgdGhlIGNsb3NlIGJ1dHRvbiAqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuXHJcbiAgICAmLm14X0RpYWxvZ19oZWFkZXJXaXRoQnV0dG9uID4gLm14X0RpYWxvZ190aXRsZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG5AZGVmaW5lLW1peGluIGN1c3RvbWlzZWRDYW5jZWxCdXR0b24ge1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EaWFsb2dfY2FuY2VsQnV0dG9uIHtcclxuICAgIEBtaXhpbiBjdXN0b21pc2VkQ2FuY2VsQnV0dG9uO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbn1cclxuXHJcbi5teF9EaWFsb2dfY29udGVudCB7XHJcbiAgICBtYXJnaW46IDI0cHggMCA2OHB4O1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG59XHJcblxyXG4ubXhfRGlhbG9nX2J1dHRvbnMge1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjA7XHJcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgLm14X0RpYWxvZ19idXR0b25zX2FkZGl0aXZlIHtcclxuICAgICAgICAvKiBUaGUgY29uc3VtZXIgaXMgcmVzcG9uc2libGUgZm9yIHBvc2l0aW9uaW5nIHRoZWlyIGVsZW1lbnRzLiAqL1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfYnV0dG9uc19yb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcclxuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xyXG5cclxuICAgICAgICAvKiBkZWZhdWx0IGdhcCBhbW9uZyBlbGVtZW50cyAqL1xyXG4gICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWJ1dHRvbnMtZGlhbG9nLWdhcC1jb2x1bW4pO1xyXG4gICAgICAgIHJvdy1nYXA6IHZhcigtLWJ1dHRvbnMtZGlhbG9nLWdhcC1yb3cpO1xyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgLyogb3ZlcnJpZGUgdGhlIG1hcmdpbiBzZXR0aW5ncyAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGRlZmluZS1taXhpbiBteF9EaWFsb2dCdXR0b24ge1xyXG4gICAgLyogYWxpZ24gaW1hZ2VzIGluIGJ1dHRvbnMgKGVnIHNwaW5uZXJzKSAqL1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGJvcmRlcjogMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBjb2xvcjogJGJ1dHRvbi1mZy1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgcGFkZGluZzogN3B4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICY6bm90KDpmb2N1cy12aXNpYmxlKSB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLyogWFhYOiBPdXIgYnV0dG9uIHN0eWxlIGFyZSBhIG1lc3M6IGJ1dHRvbnMgdGhhdCBoYXBwZW4gdG8gYXBwZWFyIGluIGRpYWxvZ3MgZ2V0IHNwZWNpYWwgc3R5bGVzIGFwcGxpZWRcclxuICogdG8gdGhlbSB0aGF0IG5vIGJ1dHRvbiBhbnl3aGVyZSBlbHNlIGluIHRoZSBhcHAgZ2V0cyBieSBkZWZhdWx0LiBJbiBwcmFjdGljZSwgYnV0dG9ucyBpbiBvdGhlciBwbGFjZXNcclxuICogaW4gdGhlIGFwcCBsb29rIHRoZSBzYW1lIGJ5IGJlaW5nIEFjY2Vzc2libGVCdXR0b25zLCBvciBwb3NzaWJseSBieSBoYXZpbmcgZXhwbGljdCBidXR0b24gY2xhc3Nlcy5cclxuICogV2Ugc2hvdWxkIGdvIHRocm91Z2ggYW5kIGhhdmUgb25lIGNvbnNpc3RlbnQgc2V0IG9mIHN0eWxlcyBmb3IgYnV0dG9ucyB0aHJvdWdob3V0IHRoZSBhcHAuXHJcbiAqIEZvciBub3csIEkgYW0gZHVwbGljYXRpbmcgdGhlIHNlbGVjdG9ycyBoZXJlIGZvciBteF9EaWFsb2cgYW5kIG14X0RpYWxvZ0J1dHRvbnMuXHJcbiAqL1xyXG4ubXhfRGlhbG9nXHJcbiAgICBidXR0b246bm90KFxyXG4gICAgICAgIC5teF9FbmNyeXB0aW9uVXNlclNldHRpbmdzVGFiIGJ1dHRvbixcclxuICAgICAgICAubXhfRW5jcnlwdGlvbkNhcmQgYnV0dG9uLFxyXG4gICAgICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzIGJ1dHRvbixcclxuICAgICAgICAubXhfU2hhcmVEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9VbnBpbkFsbERpYWxvZyBidXR0b24sXHJcbiAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUgYnV0dG9uLFxyXG4gICAgICAgIC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uLFxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLFxyXG4gICAgICAgIC5teF9JZGVudGl0eVNlcnZlclBpY2tlciBidXR0b24sXHJcbiAgICAgICAgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfc2VjdGlvbiBidXR0b24sXHJcbiAgICAgICAgLm14X0ludml0ZURpYWxvZ19lZGl0b3IgYnV0dG9uLFxyXG4gICAgICAgIC5teF9Vbmtub3duSWRlbnRpdHlVc2Vyc1dhcm5pbmdEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9UaHJlYWRBY3Rpb25CYXIgYnV0dG9uLFxyXG4gICAgICAgIC5teF9IaXN0b3J5QWN0aW9uQmFyIGJ1dHRvbixcclxuICAgICAgICBbY2xhc3N8PVwibWFwbGlicmVnbFwiXVxyXG4gICAgKSxcclxuLm14X0RpYWxvZ19idXR0b25zIGJ1dHRvbjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24sIC5teF9BY2Nlc3NpYmxlQnV0dG9uKSxcclxuLm14X0RpYWxvZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxyXG4ubXhfRGlhbG9nX2J1dHRvbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICBAbWl4aW4gbXhfRGlhbG9nQnV0dG9uO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tYnV0dG9ucy1kaWFsb2ctZ2FwLWNvbHVtbik7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcblxyXG4gICAgLyogZmxpcCBjb2xvdXJzIGZvciB0aGUgc2Vjb25kYXJ5IG9uZXMgKi9cclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxufVxyXG5cclxuLm14X0RpYWxvZ1xyXG4gICAgYnV0dG9uOm5vdChcclxuICAgICAgICAubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbixcclxuICAgICAgICBbY2xhc3N8PVwibWFwbGlicmVnbFwiXSxcclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbixcclxuICAgICAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5ncyBidXR0b24sXHJcbiAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUgYnV0dG9uLFxyXG4gICAgICAgIC5teF9VbnBpbkFsbERpYWxvZyBidXR0b24sXHJcbiAgICAgICAgLm14X1NoYXJlRGlhbG9nIGJ1dHRvbixcclxuICAgICAgICAubXhfRW5jcnlwdGlvblVzZXJTZXR0aW5nc1RhYiBidXR0b24sXHJcbiAgICAgICAgLm14X1Vua25vd25JZGVudGl0eVVzZXJzV2FybmluZ0RpYWxvZyBidXR0b25cclxuICAgICk6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxufVxyXG5cclxuLm14X0RpYWxvZ1xyXG4gICAgYnV0dG9uOm5vdChcclxuICAgICAgICAubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbixcclxuICAgICAgICBbY2xhc3N8PVwibWFwbGlicmVnbFwiXSxcclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbixcclxuICAgICAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5ncyBidXR0b24sXHJcbiAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUgYnV0dG9uLFxyXG4gICAgICAgIC5teF9VbnBpbkFsbERpYWxvZyBidXR0b24sXHJcbiAgICAgICAgLm14X1NoYXJlRGlhbG9nIGJ1dHRvbixcclxuICAgICAgICAubXhfRW5jcnlwdGlvblVzZXJTZXR0aW5nc1RhYiBidXR0b24sXHJcbiAgICAgICAgLm14X0ludml0ZURpYWxvZ19zZWN0aW9uIGJ1dHRvbixcclxuICAgICAgICAubXhfSW52aXRlRGlhbG9nX2VkaXRvciBidXR0b24sXHJcbiAgICAgICAgLm14X1Vua25vd25JZGVudGl0eVVzZXJzV2FybmluZ0RpYWxvZyBidXR0b25cclxuICAgICk6Zm9jdXMsXHJcbi5teF9EaWFsb2cgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcclxuLm14X0RpYWxvZ19idXR0b25zIGJ1dHRvbjpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24sIC5teF9BY2Nlc3NpYmxlQnV0dG9uKTpmb2N1cyxcclxuLm14X0RpYWxvZ19idXR0b25zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xyXG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKCRmb2N1cy1icmlnaHRuZXNzKTtcclxufVxyXG5cclxuLm14X0RpYWxvZyBidXR0b24ubXhfRGlhbG9nX3ByaW1hcnk6bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uLCBbY2xhc3N8PVwibWFwbGlicmVnbFwiXSksXHJcbi5teF9EaWFsb2cgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5teF9EaWFsb2dfcHJpbWFyeSxcclxuLm14X0RpYWxvZ19idXR0b25zXHJcbiAgICBidXR0b246bm90KFxyXG4gICAgICAgIC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uLFxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLFxyXG4gICAgICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzIGJ1dHRvbixcclxuICAgICAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSBidXR0b24sXHJcbiAgICAgICAgLm14X1VucGluQWxsRGlhbG9nIGJ1dHRvbixcclxuICAgICAgICAubXhfU2hhcmVEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9FbmNyeXB0aW9uVXNlclNldHRpbmdzVGFiIGJ1dHRvbixcclxuICAgICAgICAubXhfVW5rbm93bklkZW50aXR5VXNlcnNXYXJuaW5nRGlhbG9nIGJ1dHRvblxyXG4gICAgKSxcclxuLm14X0RpYWxvZ19idXR0b25zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ubXhfRGlhbG9nX3ByaW1hcnkge1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XHJcbiAgICBtaW4td2lkdGg6IDE1NnB4O1xyXG59XHJcblxyXG4ubXhfRGlhbG9nIGJ1dHRvbi5kYW5nZXI6bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uLCBbY2xhc3N8PVwibWFwbGlicmVnbFwiXSksXHJcbi5teF9EaWFsb2cgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5kYW5nZXIsXHJcbi5teF9EaWFsb2dfYnV0dG9uc1xyXG4gICAgYnV0dG9uLmRhbmdlcjpub3QoXHJcbiAgICAgICAgLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24sXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24sXHJcbiAgICAgICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgYnV0dG9uLFxyXG4gICAgICAgIC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIGJ1dHRvbixcclxuICAgICAgICAubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9TaGFyZURpYWxvZyBidXR0b24sXHJcbiAgICAgICAgLm14X0VuY3J5cHRpb25Vc2VyU2V0dGluZ3NUYWIgYnV0dG9uLFxyXG4gICAgICAgIC5teF9Vbmtub3duSWRlbnRpdHlVc2Vyc1dhcm5pbmdEaWFsb2cgYnV0dG9uXHJcbiAgICApLFxyXG4ubXhfRGlhbG9nX2J1dHRvbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5kYW5nZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xyXG59XHJcblxyXG4ubXhfRGlhbG9nIGJ1dHRvbi53YXJuaW5nOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbiwgW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0pLFxyXG4ubXhfRGlhbG9nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ud2FybmluZyB7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXN1YnRsZSk7XHJcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5teF9EaWFsb2dcclxuICAgIGJ1dHRvbjpub3QoXHJcbiAgICAgICAgLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24sXHJcbiAgICAgICAgW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0sXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24sXHJcbiAgICAgICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgYnV0dG9uLFxyXG4gICAgICAgIC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIGJ1dHRvbixcclxuICAgICAgICAubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9TaGFyZURpYWxvZyBidXR0b24sXHJcbiAgICAgICAgLm14X0VuY3J5cHRpb25Vc2VyU2V0dGluZ3NUYWIgYnV0dG9uLFxyXG4gICAgICAgIC5teF9Vbmtub3duSWRlbnRpdHlVc2Vyc1dhcm5pbmdEaWFsb2cgYnV0dG9uXHJcbiAgICApOmRpc2FibGVkLFxyXG4ubXhfRGlhbG9nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06ZGlzYWJsZWQsXHJcbi5teF9EaWFsb2dfYnV0dG9ucyBidXR0b246bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uLCAubXhfQWNjZXNzaWJsZUJ1dHRvbik6ZGlzYWJsZWQsXHJcbi5teF9EaWFsb2dfYnV0dG9ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1mZy1jb2xvcjtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICRsaWdodC1mZy1jb2xvcjtcclxuICAgIG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLyogU3Bpbm5lciBEaWFsb2cgb3ZlcmlkZSAqL1xyXG4ubXhfRGlhbG9nX3dyYXBwZXIubXhfRGlhbG9nX3NwaW5uZXIge1xyXG4gICAgLyogVGhpcyBpcyBub3QgYSByZWFsIGRpYWxvZywgc28gd2Ugc2hvdWxkbid0IHNob3cgYSBnbGFzcyBib3JkZXIgKi9cclxuICAgIC5teF9EaWFsb2dfYm9yZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nIHtcclxuICAgICAgICBpbmxpbmUtc2l6ZTogYXV0bztcclxuICAgICAgICBibG9jay1zaXplOiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICAgICAgLyogRG9uJ3Qgc2hvdyBzY3JvbGwtYmFycyBvbiBzcGlubmVyIGRpYWxvZ3MgKi9cclxuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBUT0RPOiBSZXZpZXcgbXhfR2VuZXJhbEJ1dHRvbiB1c2FnZSB0byBzZWUgaWYgaXQgY2FuIHVzZSBhIGRpZmZlcmVudCBjbGFzcyAqL1xyXG4vKiBUaGVzZSBjbGFzc2VzIHdlcmUgYnJvdWdodCBpbiBmcm9tIHRoZSBvbGQgVXNlclNldHRpbmdzIGFuZCBhcmUgaW5jbHVkZWQgaGVyZSB0byBhdm9pZCAqL1xyXG4vKiBicmVha2luZyB0aGUgYXBwLiAqL1xyXG4vKiBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vZWxlbWVudC13ZWIvaXNzdWVzLzg0MjAgKi9cclxuLm14X0dlbmVyYWxCdXR0b24ge1xyXG4gICAgQG1peGluIG14X0RpYWxvZ0J1dHRvbjtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuLm14X1RleHRJbnB1dERpYWxvZ19sYWJlbCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XHJcbn1cclxuXHJcbi5teF9UZXh0SW5wdXREaWFsb2dfaW5wdXQge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICAgIHBhZGRpbmc6IDlweDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi5teF9idXR0b25fcm93IHtcclxuICAgIG1hcmdpbi10b3A6IDY5cHg7XHJcbn1cclxuXHJcbi8qIHVzZXJuYW1lIGNvbG9ycyAqL1xyXG4vKiB1c2VkIGJ5IFNlbmRlclByb2ZpbGUgJiBSb29tUHJldmlld0JhciAqL1xyXG4ubXhfVXNlcm5hbWVfY29sb3IxIHtcclxuICAgIGNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDEtY29sb3I7XHJcbn1cclxuXHJcbi5teF9Vc2VybmFtZV9jb2xvcjIge1xyXG4gICAgY29sb3I6ICR1c2VybmFtZS12YXJpYW50Mi1jb2xvcjtcclxufVxyXG5cclxuLm14X1VzZXJuYW1lX2NvbG9yMyB7XHJcbiAgICBjb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQzLWNvbG9yO1xyXG59XHJcblxyXG4ubXhfVXNlcm5hbWVfY29sb3I0IHtcclxuICAgIGNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDQtY29sb3I7XHJcbn1cclxuXHJcbi5teF9Vc2VybmFtZV9jb2xvcjUge1xyXG4gICAgY29sb3I6ICR1c2VybmFtZS12YXJpYW50NS1jb2xvcjtcclxufVxyXG5cclxuLm14X1VzZXJuYW1lX2NvbG9yNiB7XHJcbiAgICBjb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQ2LWNvbG9yO1xyXG59XHJcblxyXG4ubXhfQXBwV2FybmluZyxcclxuLm14X0FwcFBlcm1pc3Npb24ge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG5AZGVmaW5lLW1peGluIFByb2dyZXNzQmFyQ29sb3VyICRjb2xvdXIge1xyXG4gICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIH1cclxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBkZWZpbmUtbWl4aW4gUHJvZ3Jlc3NCYXJCZ0NvbG91ciAkY29sb3VyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XHJcbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIH1cclxufVxyXG5cclxuQGRlZmluZS1taXhpbiBQcm9ncmVzc0JhckJvcmRlclJhZGl1cyAkcmFkaXVzIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIH1cclxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyLFxyXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIH1cclxufVxyXG5cclxuQGRlZmluZS1taXhpbiB1bnJlYWwtZm9jdXMge1xyXG4gICAgb3V0bGluZS13aWR0aDogMnB4O1xyXG4gICAgb3V0bGluZS1zdHlsZTogc29saWQ7XHJcbiAgICBvdXRsaW5lLWNvbG9yOiBIaWdobGlnaHQ7XHJcblxyXG4gICAgLyogV2ViS2l0IGdldHMgaXRzIG5hdGl2ZSBmb2N1cyBzdHlsZXMuICovXHJcbiAgICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xyXG4gICAgICAgIG91dGxpbmUtY29sb3I6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcclxuICAgICAgICBvdXRsaW5lLXN0eWxlOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG5AZGVmaW5lLW1peGluIExlZ2FjeUNhbGxCdXR0b24ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWZnLWNvbG9yO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBkZWZpbmUtbWl4aW4gVGhyZWFkUmVwbGllc0Ftb3VudCB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMCAkc3BhY2luZy0xMiAwICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbkBkZWZpbmUtbWl4aW4gVGhyZWFkU3VtbWFyeUljb24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIGNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XHJcbn1cclxuXHJcbkBkZWZpbmUtbWl4aW4gY29tcG9zZXJCdXR0b25IaWdoTGlnaHQge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AZGVmaW5lLW1peGluIGNvbXBvc2VyQnV0dG9uICRib3JkZXItcmFkaXVzLCAkaG92ZXItY29sb3IsICRob3Zlci1iZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X2xpbmVDbGFtcCB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IHZhcigtLW14LWxpbmUtY2xhbXAsIDEpO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogTGF5b3V0IGNvbXBhdGliaWxpdHkgaG9vayBmb3IgdGltZXN0YW1wIHBsYWNlbWVudCBpbiBleGlzdGluZyBhcHAvd2ViIHRpbWVsaW5lIHN1cmZhY2VzLiAqL1xyXG4ubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgLyogZW5hYmxlIHRoZSB3aWR0aCBzZXR0aW5nIGJlbG93ICovXHJcbiAgICB3aWR0aDogdmFyKC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aCk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qIFNDU1MgdmFyaWFibGVzIHJlcHJlc2VudGluZyBhIHJhbmdlIG9mIHN0YW5kYXJkIGxlbmd0aHMuXHJcbiAqXHJcbiAqIEF2b2lkIHVzaW5nIHRoZXNlIGluIG5ldyBjb2RlOiB3ZSBjYW5ub3QgYWRqdXN0IHRoZWlyIHZhbHVlcyB3aXRob3V0IGNhdXNpbmcgbWFzc2l2ZSBjb25mdXNpb24sIHNvIHRoZXkgYXJlXHJcbiAqIGVmZmVjdGl2ZWx5IGVxdWl2YWxlbnQgdG8gdXNpbmcgaGFyZGNvZGVkIHZhbHVlcy5cclxuICpcclxuICogSW4gZnV0dXJlLCB3ZSBwbGFuIHRvIGludHJvZHVjZSB2YXJpYWJsZXMgbmFtZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHB1cnBvc2UgcmF0aGVyIHRoYW4gdGhlaXIgc2l6ZS4gQWRkaXRpb25hbGx5LFxyXG4gKiB3ZSB3YW50IHN3aXRjaCB0byBjdXN0b20gQ1NTIHByb3BlcnRpZXMgKGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vZWxlbWVudC13ZWIvaXNzdWVzLzIxNjU2KSwgc28gd2UgbWlnaHQgaGF2ZVxyXG4gKiBgLS1zcGFjaW5nLXN0YW5kYXJkYCBvciBzb21ldGhpbmcuIEZvciBub3csIHlvdSBtaWdodCBhcyB3ZWxsIHVzZSBoYXJkY29kZWQgcHggdmFsdWVzIGZvciBsZW5ndGhzIChleGNlcHQgZm9yIGZvbnRcclxuICogc2l6ZXMsIGZvciB3aGljaCBzZWUgdGhlIGAkZm9udC08Tj5weGAgdmFyaWFibGVzKS5cclxuICovXHJcbiRzcGFjaW5nLTI6IDJweDtcclxuJHNwYWNpbmctNDogNHB4O1xyXG4kc3BhY2luZy04OiA4cHg7XHJcbiRzcGFjaW5nLTEyOiAxMnB4O1xyXG4kc3BhY2luZy0xNjogMTZweDtcclxuJHNwYWNpbmctMjA6IDIwcHg7XHJcbiRzcGFjaW5nLTI0OiAyNHB4O1xyXG4kc3BhY2luZy0yODogMjhweDtcclxuJHNwYWNpbmctMzI6IDMycHg7XHJcbiRzcGFjaW5nLTQwOiA0MHB4O1xyXG4kc3BhY2luZy00ODogNDhweDtcclxuJHNwYWNpbmctNjQ6IDY0cHg7XHJcbiIsIi5tYXBsaWJyZWdsLW1hcHtmb250OjEycHgvMjBweCBIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYigwIDAgMC8wKX0ubWFwbGlicmVnbC1jYW52YXN7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS5tYXBsaWJyZWdsLW1hcDpmdWxsc2NyZWVue2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWNvbXBhc3N7dG91Y2gtYWN0aW9uOm5vbmV9Lm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLWludGVyYWN0aXZlLC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNze2N1cnNvcjpncmFiOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtaW50ZXJhY3RpdmUubWFwbGlicmVnbC10cmFjay1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC1pbnRlcmFjdGl2ZTphY3RpdmUsLm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWNvbXBhc3M6YWN0aXZle2N1cnNvcjpncmFiYmluZ30ubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtdG91Y2gtem9vbS1yb3RhdGUsLm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLXRvdWNoLXpvb20tcm90YXRlIC5tYXBsaWJyZWdsLWNhbnZhc3t0b3VjaC1hY3Rpb246cGFuLXggcGFuLXl9Lm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLXRvdWNoLWRyYWctcGFuLC5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC1kcmFnLXBhbiAubWFwbGlicmVnbC1jYW52YXN7dG91Y2gtYWN0aW9uOnBpbmNoLXpvb219Lm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLXRvdWNoLXpvb20tcm90YXRlLm1hcGxpYnJlZ2wtdG91Y2gtZHJhZy1wYW4sLm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLXRvdWNoLXpvb20tcm90YXRlLm1hcGxpYnJlZ2wtdG91Y2gtZHJhZy1wYW4gLm1hcGxpYnJlZ2wtY2FudmFze3RvdWNoLWFjdGlvbjpub25lfS5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC1kcmFnLXBhbi5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmVzLC5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC1kcmFnLXBhbi5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmVzIC5tYXBsaWJyZWdsLWNhbnZhc3t0b3VjaC1hY3Rpb246cGFuLXggcGFuLXl9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCwubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1yaWdodCwubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0LC5tYXBsaWJyZWdsLWN0cmwtdG9wLXJpZ2h0e3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyfS5tYXBsaWJyZWdsLWN0cmwtdG9wLWxlZnR7bGVmdDowO3RvcDowfS5tYXBsaWJyZWdsLWN0cmwtdG9wLXJpZ2h0e3JpZ2h0OjA7dG9wOjB9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdHtib3R0b206MDtsZWZ0OjB9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHR7Ym90dG9tOjA7cmlnaHQ6MH0ubWFwbGlicmVnbC1jdHJse2NsZWFyOmJvdGg7cG9pbnRlci1ldmVudHM6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfS5tYXBsaWJyZWdsLWN0cmwtdG9wLWxlZnQgLm1hcGxpYnJlZ2wtY3RybHtmbG9hdDpsZWZ0O21hcmdpbjoxMHB4IDAgMCAxMHB4fS5tYXBsaWJyZWdsLWN0cmwtdG9wLXJpZ2h0IC5tYXBsaWJyZWdsLWN0cmx7ZmxvYXQ6cmlnaHQ7bWFyZ2luOjEwcHggMTBweCAwIDB9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCAubWFwbGlicmVnbC1jdHJse2Zsb2F0OmxlZnQ7bWFyZ2luOjAgMCAxMHB4IDEwcHh9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQgLm1hcGxpYnJlZ2wtY3RybHtmbG9hdDpyaWdodDttYXJnaW46MCAxMHB4IDEwcHggMH0ubWFwbGlicmVnbC1jdHJsLWdyb3Vwe2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjRweH0ubWFwbGlicmVnbC1jdHJsLWdyb3VwOm5vdCg6ZW1wdHkpe2JveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMCwwLDAsLjEpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5tYXBsaWJyZWdsLWN0cmwtZ3JvdXA6bm90KDplbXB0eSl7Ym94LXNoYWRvdzowIDAgMCAycHggQnV0dG9uVGV4dH19Lm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjlweDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3dpZHRoOjI5cHh9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b24rYnV0dG9ue2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGR9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b24rYnV0dG9ue2JvcmRlci10b3A6MXB4IHNvbGlkIEJ1dHRvblRleHR9fS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1idXR0b246Zm9jdXMsLm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b246Zm9jdXN7Ym94LXNoYWRvdzowIDAgMnB4IDJweCAjMDA5NmZmfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZH0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbjpkaXNhYmxlZCAubWFwbGlicmVnbC1jdHJsLWljb257b3BhY2l0eTouMjV9QG1lZGlhIChob3Zlcjpob3Zlcil7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSl9fS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KX0ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6MCAwIDJweCAycHggIzAwOTZmZn0ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6bm9uZX0ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwfS5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uOmZvY3VzOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDAgNHB4IDRweH0ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpvbmx5LWNoaWxke2JvcmRlci1yYWRpdXM6aW5oZXJpdH0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtem9vbS1vdXQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xMCAxM2MtLjc1IDAtMS41Ljc1LTEuNSAxLjVTOS4yNSAxNiAxMCAxNmg5Yy43NSAwIDEuNS0uNzUgMS41LTEuNVMxOS43NSAxMyAxOSAxM3onLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXpvb20taW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xNC41IDguNWMtLjc1IDAtMS41Ljc1LTEuNSAxLjV2M2gtM2MtLjc1IDAtMS41Ljc1LTEuNSAxLjVTOS4yNSAxNiAxMCAxNmgzdjNjMCAuNzUuNzUgMS41IDEuNSAxLjVTMTYgMTkuNzUgMTYgMTl2LTNoM2MuNzUgMCAxLjUtLjc1IDEuNS0xLjVTMTkuNzUgMTMgMTkgMTNoLTN2LTNjMC0uNzUtLjc1LTEuNS0xLjUtMS41Jy8lM0UlM0Mvc3ZnJTNFXCIpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC16b29tLW91dCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTEwIDEzYy0uNzUgMC0xLjUuNzUtMS41IDEuNVM5LjI1IDE2IDEwIDE2aDljLjc1IDAgMS41LS43NSAxLjUtMS41UzE5Ljc1IDEzIDE5IDEzeicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtem9vbS1pbiAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTE0LjUgOC41Yy0uNzUgMC0xLjUuNzUtMS41IDEuNXYzaC0zYy0uNzUgMC0xLjUuNzUtMS41IDEuNVM5LjI1IDE2IDEwIDE2aDN2M2MwIC43NS43NSAxLjUgMS41IDEuNVMxNiAxOS43NSAxNiAxOXYtM2gzYy43NSAwIDEuNS0uNzUgMS41LTEuNVMxOS43NSAxMyAxOSAxM2gtM3YtM2MwLS43NS0uNzUtMS41LTEuNS0xLjUnLyUzRSUzQy9zdmclM0VcIil9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC16b29tLW91dCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xMCAxM2MtLjc1IDAtMS41Ljc1LTEuNSAxLjVTOS4yNSAxNiAxMCAxNmg5Yy43NSAwIDEuNS0uNzUgMS41LTEuNVMxOS43NSAxMyAxOSAxM3onLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXpvb20taW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTQuNSA4LjVjLS43NSAwLTEuNS43NS0xLjUgMS41djNoLTNjLS43NSAwLTEuNS43NS0xLjUgMS41UzkuMjUgMTYgMTAgMTZoM3YzYzAgLjc1Ljc1IDEuNSAxLjUgMS41UzE2IDE5Ljc1IDE2IDE5di0zaDNjLjc1IDAgMS41LS43NSAxLjUtMS41UzE5Ljc1IDEzIDE5IDEzaC0zdi0zYzAtLjc1LS43NS0xLjUtMS41LTEuNScvJTNFJTNDL3N2ZyUzRVwiKX19Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWZ1bGxzY3JlZW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00yNCAxNnY1LjVjMCAxLjc1LS43NSAyLjUtMi41IDIuNUgxNnYtMWwzLTEuNS00LTUuNSAxLTEgNS41IDQgMS41LTN6TTYgMTZsMS41IDMgNS41LTQgMSAxLTQgNS41IDMgMS41djFINy41QzUuNzUgMjQgNSAyMy4yNSA1IDIxLjVWMTZ6bTctMTF2MWwtMyAxLjUgNCA1LjUtMSAxLTUuNS00TDYgMTNINVY3LjVDNSA1Ljc1IDUuNzUgNSA3LjUgNXptMTEgMi41YzAtMS43NS0uNzUtMi41LTIuNS0yLjVIMTZ2MWwzIDEuNS00IDUuNSAxIDEgNS41LTQgMS41IDNoMXonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXNocmluayAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xOC41IDE2Yy0xLjc1IDAtMi41Ljc1LTIuNSAyLjVWMjRoMWwxLjUtMyA1LjUgNCAxLTEtNC01LjUgMy0xLjV2LTF6TTEzIDE4LjVjMC0xLjc1LS43NS0yLjUtMi41LTIuNUg1djFsMyAxLjVMNCAyNGwxIDEgNS41LTQgMS41IDNoMXptMy04YzAgMS43NS43NSAyLjUgMi41IDIuNUgyNHYtMWwtMy0xLjVMMjUgNWwtMS0xLTUuNSA0TDE3IDVoLTF6TTEwLjUgMTNjMS43NSAwIDIuNS0uNzUgMi41LTIuNVY1aC0xbC0xLjUgM0w1IDQgNCA1bDQgNS41TDUgMTJ2MXonLyUzRSUzQy9zdmclM0VcIil9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWZ1bGxzY3JlZW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00yNCAxNnY1LjVjMCAxLjc1LS43NSAyLjUtMi41IDIuNUgxNnYtMWwzLTEuNS00LTUuNSAxLTEgNS41IDQgMS41LTN6TTYgMTZsMS41IDMgNS41LTQgMSAxLTQgNS41IDMgMS41djFINy41QzUuNzUgMjQgNSAyMy4yNSA1IDIxLjVWMTZ6bTctMTF2MWwtMyAxLjUgNCA1LjUtMSAxLTUuNS00TDYgMTNINVY3LjVDNSA1Ljc1IDUuNzUgNSA3LjUgNXptMTEgMi41YzAtMS43NS0uNzUtMi41LTIuNS0yLjVIMTZ2MWwzIDEuNS00IDUuNSAxIDEgNS41LTQgMS41IDNoMXonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXNocmluayAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTE4LjUgMTZjLTEuNzUgMC0yLjUuNzUtMi41IDIuNVYyNGgxbDEuNS0zIDUuNSA0IDEtMS00LTUuNSAzLTEuNXYtMXpNMTMgMTguNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDV2MWwzIDEuNUw0IDI0bDEgMSA1LjUtNCAxLjUgM2gxem0zLThjMCAxLjc1Ljc1IDIuNSAyLjUgMi41SDI0di0xbC0zLTEuNUwyNSA1bC0xLTEtNS41IDRMMTcgNWgtMXpNMTAuNSAxM2MxLjc1IDAgMi41LS43NSAyLjUtMi41VjVoLTFsLTEuNSAzTDUgNCA0IDVsNCA1LjVMNSAxMnYxeicvJTNFJTNDL3N2ZyUzRVwiKX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWZ1bGxzY3JlZW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMjQgMTZ2NS41YzAgMS43NS0uNzUgMi41LTIuNSAyLjVIMTZ2LTFsMy0xLjUtNC01LjUgMS0xIDUuNSA0IDEuNS0zek02IDE2bDEuNSAzIDUuNS00IDEgMS00IDUuNSAzIDEuNXYxSDcuNUM1Ljc1IDI0IDUgMjMuMjUgNSAyMS41VjE2em03LTExdjFsLTMgMS41IDQgNS41LTEgMS01LjUtNEw2IDEzSDVWNy41QzUgNS43NSA1Ljc1IDUgNy41IDV6bTExIDIuNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDE2djFsMyAxLjUtNCA1LjUgMSAxIDUuNS00IDEuNSAzaDF6Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1zaHJpbmsgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTguNSAxNmMtMS43NSAwLTIuNS43NS0yLjUgMi41VjI0aDFsMS41LTMgNS41IDQgMS0xLTQtNS41IDMtMS41di0xek0xMyAxOC41YzAtMS43NS0uNzUtMi41LTIuNS0yLjVINXYxbDMgMS41TDQgMjRsMSAxIDUuNS00IDEuNSAzaDF6bTMtOGMwIDEuNzUuNzUgMi41IDIuNSAyLjVIMjR2LTFsLTMtMS41TDI1IDVsLTEtMS01LjUgNEwxNyA1aC0xek0xMC41IDEzYzEuNzUgMCAyLjUtLjc1IDIuNS0yLjVWNWgtMWwtMS41IDNMNSA0IDQgNWw0IDUuNUw1IDEydjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpfX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtY29tcGFzcyAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyMzMzMycgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nbTEwLjUgMTQgNC04IDQgOHonLyUzRSUzQ3BhdGggZmlsbD0nJTIzY2NjJyBkPSdtMTAuNSAxNiA0IDggNC04eicvJTNFJTNDL3N2ZyUzRVwiKX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtY29tcGFzcyAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nbTEwLjUgMTQgNC04IDQgOHonLyUzRSUzQ3BhdGggZmlsbD0nJTIzY2NjJyBkPSdtMTAuNSAxNiA0IDggNC04eicvJTNFJTNDL3N2ZyUzRVwiKX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWNvbXBhc3MgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdtMTAuNSAxNCA0LTggNCA4eicvJTNFJTNDcGF0aCBmaWxsPSclMjNjY2MnIGQ9J20xMC41IDE2IDQgOCA0LTh6Jy8lM0UlM0Mvc3ZnJTNFXCIpfX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2xvYmUgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzMzMycgdmlld0JveD0nMCAwIDIyIDIyJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOC41Jy8lM0UlM0NwYXRoIGQ9J00xNy41IDExYzAgNC44MTktMy4wMiA4LjUtNi41IDguNVM0LjUgMTUuODE5IDQuNSAxMSA3LjUyIDIuNSAxMSAyLjVzNi41IDMuNjgxIDYuNSA4LjVaJy8lM0UlM0NwYXRoIGQ9J00xMy41IDExYzAgMi40NDctLjMzMSA0LjY0LS44NTMgNi4yMDYtLjI2Mi43ODUtLjU2MiAxLjM4NC0uODcyIDEuNzc3LS4zMTQuMzk5LS41OC41MTctLjc3NS41MTdzLS40NjEtLjExOC0uNzc1LS41MTdjLS4zMS0uMzkzLS42MS0uOTkyLS44NzItMS43NzdDOC44MzEgMTUuNjQgOC41IDEzLjQ0NiA4LjUgMTFzLjMzMS00LjY0Ljg1My02LjIwNmMuMjYyLS43ODUuNTYyLTEuMzg0Ljg3Mi0xLjc3Ny4zMTQtLjM5OS41OC0uNTE3Ljc3NS0uNTE3cy40NjEuMTE4Ljc3NS41MTdjLjMxLjM5My42MS45OTIuODcyIDEuNzc3LjUyMiAxLjU2NS44NTMgMy43Ni44NTMgNi4yMDZaJy8lM0UlM0NwYXRoIGQ9J00xMSA3LjVjLTEuOTA5IDAtMy42MjItLjE2Ni00Ljg0NS0uNDI4LS42MTYtLjEzMi0xLjA4LS4yODMtMS4zNzktLjQzNGExLjMgMS4zIDAgMCAxLS4yMjQtLjEzOHEuMDctLjA1OC4yMjQtLjEzOGMuMjk5LS4xNTEuNzYzLS4zMDIgMS4zNzktLjQzNEM3LjM3OCA1LjY2NiA5LjA5MSA1LjUgMTEgNS41czMuNjIyLjE2NiA0Ljg0NS40MjhjLjYxNi4xMzIgMS4wOC4yODMgMS4zNzkuNDM0LjEwNS4wNTMuMTc3LjEuMjI0LjEzOHEtLjA3LjA1OC0uMjI0LjEzOGMtLjI5OS4xNTEtLjc2My4zMDItMS4zNzkuNDM0LTEuMjIzLjI2Mi0yLjkzNi40MjgtNC44NDUuNDI4Wk00LjQ4NiA2LjQzNlpNMTEgMTYuNWMtMS45MDkgMC0zLjYyMi0uMTY2LTQuODQ1LS40MjgtLjYxNi0uMTMyLTEuMDgtLjI4My0xLjM3OS0uNDM0YTEuMyAxLjMgMCAwIDEtLjIyNC0uMTM4IDEuMyAxLjMgMCAwIDEgLjIyNC0uMTM4Yy4yOTktLjE1MS43NjMtLjMwMiAxLjM3OS0uNDM0QzcuMzc4IDE0LjY2NiA5LjA5MSAxNC41IDExIDE0LjVzMy42MjIuMTY2IDQuODQ1LjQyOGMuNjE2LjEzMiAxLjA4LjI4MyAxLjM3OS40MzQuMTA1LjA1My4xNzcuMS4yMjQuMTM4YTEuMyAxLjMgMCAwIDEtLjIyNC4xMzhjLS4yOTkuMTUxLS43NjMuMzAyLTEuMzc5LjQzNC0xLjIyMy4yNjItMi45MzYuNDI4LTQuODQ1LjQyOFptLTYuNTE0LTEuMDY0Wk0xMSAxMi41Yy0yLjQ2IDAtNC42NzItLjIyMi02LjI1NS0uNTc0LS43OTYtLjE3Ny0xLjQwNi0uMzgtMS44MDUtLjU5YTEuNSAxLjUgMCAwIDEtLjM5LS4yNzIuMy4zIDAgMCAxLS4wNDctLjA2NC4zLjMgMCAwIDEgLjA0OC0uMDY0Yy4wNjYtLjA3My4xODktLjE2Ny4zODktLjI3Mi4zOTktLjIxIDEuMDA5LS40MTMgMS44MDUtLjU5QzYuMzI4IDkuNzIyIDguNTQgOS41IDExIDkuNXM0LjY3Mi4yMjIgNi4yNTYuNTc0Yy43OTUuMTc3IDEuNDA1LjM4IDEuODA0LjU5LjIuMTA1LjMyMy4yLjM5LjI3MmEuMy4zIDAgMCAxIC4wNDcuMDY0LjMuMyAwIDAgMS0uMDQ4LjA2NCAxLjQgMS40IDAgMCAxLS4zODkuMjcyYy0uMzk5LjIxLTEuMDA5LjQxMy0xLjgwNC41OS0xLjU4NC4zNTItMy43OTYuNTc0LTYuMjU2LjU3NFptLTguNTAxLTEuNTF2LjAwMnptMCAuMDE4di4wMDJ6bTE3LjAwMi4wMDJ2LS4wMDJ6bTAtLjAxOHYtLjAwMnonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdsb2JlLWVuYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzMzYjVlNScgdmlld0JveD0nMCAwIDIyIDIyJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOC41Jy8lM0UlM0NwYXRoIGQ9J00xNy41IDExYzAgNC44MTktMy4wMiA4LjUtNi41IDguNVM0LjUgMTUuODE5IDQuNSAxMSA3LjUyIDIuNSAxMSAyLjVzNi41IDMuNjgxIDYuNSA4LjVaJy8lM0UlM0NwYXRoIGQ9J00xMy41IDExYzAgMi40NDctLjMzMSA0LjY0LS44NTMgNi4yMDYtLjI2Mi43ODUtLjU2MiAxLjM4NC0uODcyIDEuNzc3LS4zMTQuMzk5LS41OC41MTctLjc3NS41MTdzLS40NjEtLjExOC0uNzc1LS41MTdjLS4zMS0uMzkzLS42MS0uOTkyLS44NzItMS43NzdDOC44MzEgMTUuNjQgOC41IDEzLjQ0NiA4LjUgMTFzLjMzMS00LjY0Ljg1My02LjIwNmMuMjYyLS43ODUuNTYyLTEuMzg0Ljg3Mi0xLjc3Ny4zMTQtLjM5OS41OC0uNTE3Ljc3NS0uNTE3cy40NjEuMTE4Ljc3NS41MTdjLjMxLjM5My42MS45OTIuODcyIDEuNzc3LjUyMiAxLjU2NS44NTMgMy43Ni44NTMgNi4yMDZaJy8lM0UlM0NwYXRoIGQ9J00xMSA3LjVjLTEuOTA5IDAtMy42MjItLjE2Ni00Ljg0NS0uNDI4LS42MTYtLjEzMi0xLjA4LS4yODMtMS4zNzktLjQzNGExLjMgMS4zIDAgMCAxLS4yMjQtLjEzOHEuMDctLjA1OC4yMjQtLjEzOGMuMjk5LS4xNTEuNzYzLS4zMDIgMS4zNzktLjQzNEM3LjM3OCA1LjY2NiA5LjA5MSA1LjUgMTEgNS41czMuNjIyLjE2NiA0Ljg0NS40MjhjLjYxNi4xMzIgMS4wOC4yODMgMS4zNzkuNDM0LjEwNS4wNTMuMTc3LjEuMjI0LjEzOHEtLjA3LjA1OC0uMjI0LjEzOGMtLjI5OS4xNTEtLjc2My4zMDItMS4zNzkuNDM0LTEuMjIzLjI2Mi0yLjkzNi40MjgtNC44NDUuNDI4Wk00LjQ4NiA2LjQzNlpNMTEgMTYuNWMtMS45MDkgMC0zLjYyMi0uMTY2LTQuODQ1LS40MjgtLjYxNi0uMTMyLTEuMDgtLjI4My0xLjM3OS0uNDM0YTEuMyAxLjMgMCAwIDEtLjIyNC0uMTM4IDEuMyAxLjMgMCAwIDEgLjIyNC0uMTM4Yy4yOTktLjE1MS43NjMtLjMwMiAxLjM3OS0uNDM0QzcuMzc4IDE0LjY2NiA5LjA5MSAxNC41IDExIDE0LjVzMy42MjIuMTY2IDQuODQ1LjQyOGMuNjE2LjEzMiAxLjA4LjI4MyAxLjM3OS40MzQuMTA1LjA1My4xNzcuMS4yMjQuMTM4YTEuMyAxLjMgMCAwIDEtLjIyNC4xMzhjLS4yOTkuMTUxLS43NjMuMzAyLTEuMzc5LjQzNC0xLjIyMy4yNjItMi45MzYuNDI4LTQuODQ1LjQyOFptLTYuNTE0LTEuMDY0Wk0xMSAxMi41Yy0yLjQ2IDAtNC42NzItLjIyMi02LjI1NS0uNTc0LS43OTYtLjE3Ny0xLjQwNi0uMzgtMS44MDUtLjU5YTEuNSAxLjUgMCAwIDEtLjM5LS4yNzIuMy4zIDAgMCAxLS4wNDctLjA2NC4zLjMgMCAwIDEgLjA0OC0uMDY0Yy4wNjYtLjA3My4xODktLjE2Ny4zODktLjI3Mi4zOTktLjIxIDEuMDA5LS40MTMgMS44MDUtLjU5QzYuMzI4IDkuNzIyIDguNTQgOS41IDExIDkuNXM0LjY3Mi4yMjIgNi4yNTYuNTc0Yy43OTUuMTc3IDEuNDA1LjM4IDEuODA0LjU5LjIuMTA1LjMyMy4yLjM5LjI3MmEuMy4zIDAgMCAxIC4wNDcuMDY0LjMuMyAwIDAgMS0uMDQ4LjA2NCAxLjQgMS40IDAgMCAxLS4zODkuMjcyYy0uMzk5LjIxLTEuMDA5LjQxMy0xLjgwNC41OS0xLjU4NC4zNTItMy43OTYuNTc0LTYuMjU2LjU3NFptLTguNTAxLTEuNTF2LjAwMnptMCAuMDE4di4wMDJ6bTE3LjAwMi4wMDJ2LS4wMDJ6bTAtLjAxOHYtLjAwMnonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXRlcnJhaW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyMiAyMiclM0UlM0NwYXRoIGQ9J20xLjc1NCAxMy40MDYgNC40NTMtNC44NTEgMy4wOSAzLjA5IDMuMjgxIDMuMjc3Ljk2OS0uOTY5LTMuMzA5LTMuMzEyIDMuODQ0LTQuMTIxIDYuMTQ4IDYuODg2aDEuMDgydi0uODU1bC03LjIwNy04LjA3LTQuODQgNS4xODdMNi4xNjkgNi41N2wtNS40OCA1Ljk2NXYuODcxWk0uNjg4IDE2Ljg0NGgyMC42MjV2MS4zNzVILjY4OFptMCAwJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC10ZXJyYWluLWVuYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyBmaWxsPSclMjMzM2I1ZTUnIHZpZXdCb3g9JzAgMCAyMiAyMiclM0UlM0NwYXRoIGQ9J20xLjc1NCAxMy40MDYgNC40NTMtNC44NTEgMy4wOSAzLjA5IDMuMjgxIDMuMjc3Ljk2OS0uOTY5LTMuMzA5LTMuMzEyIDMuODQ0LTQuMTIxIDYuMTQ4IDYuODg2aDEuMDgydi0uODU1bC03LjIwNy04LjA3LTQuODQgNS4xODdMNi4xNjkgNi41N2wtNS40OCA1Ljk2NXYuODcxWk0uNjg4IDE2Ljg0NGgyMC42MjV2MS4zNzVILjY4OFptMCAwJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlOmRpc2FibGVkIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzYWFhJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQ3BhdGggZmlsbD0ncmVkJyBkPSdtMTQgNSAxIDEtOSA5LTEtMXonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZSAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyMzMzYjVlNScgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUtZXJyb3IgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNlNTg5NzgnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyMzMzYjVlNScgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZC1lcnJvciAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2U1NGUzMycgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyAubWFwbGlicmVnbC1jdHJsLWljb257YW5pbWF0aW9uOm1hcGxpYnJlZ2wtc3BpbiAycyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZSAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGU6ZGlzYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjM5OTknIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDcGF0aCBmaWxsPSdyZWQnIGQ9J20xNCA1IDEgMS05IDktMS0xeicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzNiNWU1JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZS1lcnJvciAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2U1ODk3OCcgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzNiNWU1JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kLWVycm9yIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzZTU0ZTMzJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0Mvc3ZnJTNFXCIpfX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXsubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGU6ZGlzYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjM2NjYnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDcGF0aCBmaWxsPSdyZWQnIGQ9J20xNCA1IDEgMS05IDktMS0xeicvJTNFJTNDL3N2ZyUzRVwiKX19QGtleWZyYW1lcyBtYXBsaWJyZWdsLXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19YS5tYXBsaWJyZWdsLWN0cmwtbG9nb3tiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4OCcgaGVpZ2h0PScyMycgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZmlsbC1vcGFjaXR5PScuNCcgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMTcuNDA4IDE2Ljc5NmgtMS44MjdsMi41MDEtMTIuMDk1aC4xOThsMy4zMjQgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTkgMy4yNTgtNi41MzNoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTI5IDUuNjQ0aC0uMDk4bC0yLjkxNC01LjY0NC0uNzU3LTEuNzEtLjM0NSAxLjcxem0xLjk1OC0zLjQyLS43MjYgMy42NjNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMzIgMS4wMTFoLTEuODI3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI5LTEuNTA5bDIuNTAxLTEyLjA5NWExLjI1NSAxLjI1NSAwIDAgMSAxLjIzLTEuMDAxaC4xOTdhMS4yNSAxLjI1IDAgMCAxIDEuMTIuNjg1bDMuMTkgNi4yNzMgMy4xMjUtNi4yNjNhMS4yNSAxLjI1IDAgMCAxIDEuMTIzLS42OTVoLjE4MWExLjI1NSAxLjI1NSAwIDAgMSAxLjIyNy45OTFsMS40NDMgNi43MWE1IDUgMCAwIDEgLjMxNC0uNzg3bC4wMDktLjAxNmE0LjYgNC42IDAgMCAxIDEuNzc3LTEuODg3Yy43ODItLjQ2IDEuNjY4LS42NjcgMi42MTEtLjY2N2E0LjYgNC42IDAgMCAxIDEuNy4zMmwuMzA2LjEzNGMuMjEtLjE2LjQ3NC0uMjU2Ljc1OS0uMjU2aDEuNjk0YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjEyLjkyNSAxLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi0uOTI1aDEuNzExYy4yODQgMCAuNTQ1LjA5NC43NTUuMjUyLjYxMy0uMyAxLjMxMi0uNDUgMi4wNzUtLjQ1IDEuMzU2IDAgMi41NTcuNDQ1IDMuNDgyIDEuNHEuNDcuNDguNzYzIDEuMDY0VjQuNzAxYTEuMjU1IDEuMjU1IDAgMCAxIDEuMjU1LTEuMjU1aDEuODZBMS4yNTUgMS4yNTUgMCAwIDEgNTQuNDQgNC43djkuMTk0aDIuMjE3Yy4xOSAwIC4zNy4wNDMuNTMyLjExOHYtNC43N2MwLS4zNTYuMTQ3LS42NzguMzg1LS45MDZhMi40MiAyLjQyIDAgMCAxLS42ODItMS43MWMwLS42NjUuMjY3LTEuMjUzLjczNS0xLjdhMi40NSAyLjQ1IDAgMCAxIDEuNzIyLS42NzQgMi40MyAyLjQzIDAgMCAxIDEuNzA1LjY3NXEuMzE4LjMwMi41MDQuNjgzVjQuN2ExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjc0NEExLjI1NSAxLjI1NSAwIDAgMSA2NS44MTIgNC43djMuMzM1YTQuOCA0LjggMCAwIDEgMS41MjYtLjI0NmMuOTM4IDAgMS44MTcuMjE0IDIuNTkuNjlhNC40NyA0LjQ3IDAgMCAxIDEuNjcgMS43NDN2LS45OGExLjI1NSAxLjI1NSAwIDAgMSAxLjI1Ni0xLjI1NmgxLjc3N2MuMjMzIDAgLjQ1MS4wNjQuNjM5LjE3NGEzLjQgMy40IDAgMCAxIDEuNTY3LS4zNzJjLjM0NiAwIC44NjEuMDIgMS4yODUuMjMyYTEuMjUgMS4yNSAwIDAgMSAuNjg5IDEuMDA0IDQuNyA0LjcgMCAwIDEgLjg1My0uNTg4Yy43OTUtLjQ0IDEuNjc1LS42NDcgMi42MS0uNjQ3IDEuMzg1IDAgMi42NS4zOSAzLjUyNSAxLjM5Ni44MzYuOTM4IDEuMTY4IDIuMTczIDEuMTY4IDMuNTI4cS0uMDAxLjUxNS0uMDU2IDEuMDUxYTEuMjU1IDEuMjU1IDAgMCAxLS45NDcgMS4wOWwuNDA4Ljk1MmExLjI1NSAxLjI1NSAwIDAgMS0uNDc3IDEuNTUyYy0uNDE4LjI2OC0uOTIuNDYzLTEuNDU4LjYxMi0uNjEzLjE3MS0xLjMwNC4yNDQtMi4wNDkuMjQ0LTEuMDYgMC0yLjA0My0uMjA3LTIuODg2LS42OThsLS4wMTUtLjAwOGMtLjc5OC0uNDgtMS40MTktMS4xMzUtMS44MTgtMS45NjNsLS4wMDQtLjAwOGE1LjggNS44IDAgMCAxLS41NDgtMi41MTJxMC0uNDI5LjA1My0uODQzYTEuMyAxLjMgMCAwIDEtLjMzMy0uMDg2bC0uMTY2LS4wMDRjLS4yMjMgMC0uNDI2LjA2Mi0uNjQzLjIyOC0uMDMuMDI0LS4xNDIuMTM5LS4xNDIuNTl2My44ODNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTZoLTEuNzc3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU2VjE1LjY5bC0uMDMyLjA1N2E0LjggNC44IDAgMCAxLTEuODYgMS44MzMgNS4wNCA1LjA0IDAgMCAxLTIuNDg0LjYzNCA0LjUgNC41IDAgMCAxLTEuOTM1LS40MjQgMS4yNSAxLjI1IDAgMCAxLS43NjQuMjU4aC0xLjcxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU1VjcuNjg3YTIuNCAyLjQgMCAwIDEtLjQyOC42MjVjLjI1My4yMy40MTIuNTYxLjQxMi45M3Y3LjU1M2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NiAxLjI1NWgtMS44NDNhMS4yNSAxLjI1IDAgMCAxLS44OTQtLjM3M2MtLjIyOC4yMy0uNTQ0LjM3My0uODk0LjM3M0g1MS4zMmExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NXYtMS4yNTFsLS4wNjEuMTE3YTQuNyA0LjcgMCAwIDEtMS43ODIgMS44ODQgNC43NyA0Ljc3IDAgMCAxLTIuNDg1LjY3IDUuNiA1LjYgMCAwIDEtMS40ODUtLjE4OGwuMDA5IDIuNzY0YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU1IDEuMjU5aC0xLjcyOWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NS0xLjI1NXYtMy41MzdhMS4yNTUgMS4yNTUgMCAwIDEtMS4xNjcuNzkzaC0xLjY3OWExLjI1IDEuMjUgMCAwIDEtLjc3LS4yNjMgNC41IDQuNSAwIDAgMS0xLjk0NS40MjljLS44ODUgMC0xLjcyNC0uMjEtMi40OTUtLjYzMmwtLjAxNy0uMDFhNSA1IDAgMCAxLTEuMDgxLS44MzYgMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTQgMS4zMTJoLTEuODFhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMjgtLjk5bC0uNzgyLTMuNjI1LTIuMDQ0IDMuOTM5YTEuMjUgMS4yNSAwIDAgMS0xLjExNS42NzZoLS4wOThhMS4yNSAxLjI1IDAgMCAxLTEuMTE2LS42OGwtMi4wNjEtMy45OTR6TTM1LjkyIDE2LjYzbC4yMDctLjExNC4yMjMtLjE1cS40OTMtLjM1Ni43MzUtLjc4NWwuMDYxLS4xMTguMDMzIDEuMzMyaDEuNjc4VjkuMjQyaC0xLjY5NGwtLjAzMyAxLjI2N3EtLjEzMy0uMzI5LS41MjYtLjY1OGwtLjAzMi0uMDI4YTMuMiAzLjIgMCAwIDAtLjY2OC0uNDI4bC0uMjctLjEyYTMuMyAzLjMgMCAwIDAtMS4yMzUtLjIzcS0xLjEzNi0uMDAxLTEuOTc0LjQ5M2EzLjM2IDMuMzYgMCAwIDAtMS4zIDEuMzgycS0uNDQ1Ljg5LS40NDQgMi4wNzQgMCAxLjIuNTEgMi4xMDdhMy44IDMuOCAwIDAgMCAxLjM4MiAxLjM4MSAzLjkgMy45IDAgMCAwIDEuODkzLjQ3N3EuNzk1IDAgMS40NTUtLjMzem0tMi43ODktNS4zOHEtLjU3Ni42NzUtLjU3NSAxLjc2MiAwIDEuMTAyLjU1OSAxLjc5NC41NzYuNjc1IDEuNjQ1LjY3NWEyLjI1IDIuMjUgMCAwIDAgLjkzNC0uMTkgMi4yIDIuMiAwIDAgMCAuNDY4LS4yOWwuMTc4LS4xNjFhMi4yIDIuMiAwIDAgMCAuMzk3LS41NjFxLjI0NC0uNS4yNDQtMS4xNXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2wtLjA0My0uMDc3YTIuMiAyLjIgMCAwIDAtLjYzMy0uNzA5bC0uMTMtLjA4Ni0uMDQ3LS4wMjhhMi4xIDIuMSAwIDAgMC0xLjA3My0uMjg1cS0xLjA1MiAwLTEuNjI5LjY5MnptMi4zMTYgMi43MDZjLjE2My0uMTcuMjgtLjQwNy4yOC0uODN2LS4xMTRjMC0uMjkyLS4wNi0uNTA4LS4xNS0uNjhhLjk2Ljk2IDAgMCAwLS4zNTMtLjM4OS44NS44NSAwIDAgMC0uNDY0LS4xMjdjLS40IDAtLjU2LjExNC0uNjY0LjIzOWwtLjAxLjAxMmMtLjE0OC4xNzQtLjI3NS40NS0uMjc1Ljk0NSAwIC41MDYuMTIyLjgwMS4yNy45OS4wOTcuMTEuMjY2LjIyNC42OC4yMjQuMzAzIDAgLjUwNC0uMDkuNjg3LS4yNjl6bTcuNTQ1IDEuNzA1YTIuNiAyLjYgMCAwIDAgLjMzMS40MjNxLjMxOS4zMy43NTUuNTQ4bC4xNzMuMDc0cS42NS4yNTUgMS40OS4yNTUgMS4wMiAwIDEuODQ0LS40OTNhMy40NSAzLjQ1IDAgMCAwIDEuMzE2LTEuNHEuNDkzLS45MDQuNDkzLTIuMDg5IDAtMS45MDktLjk4OC0yLjkxMy0uOTg4LTEuMDItMi41ODQtMS4wMi0uODk4IDAtMS41NzUuMzQ3YTMgMyAwIDAgMC0uNDE1LjI2MmwtLjE5OS4xNjZhMy40IDMuNCAwIDAgMC0uNjQuODJWOS4yNDJoLTEuNzEydjExLjU1M2gxLjcyOWwtLjAxNy01LjEzNHptLjUzLTEuMTM4cS4yMDYuMjkuNDguNWwuMTU1LjExLjA1My4wMzRxLjUxLjI5NiAxLjExOS4yOTcgMS4wNyAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS40MzUgMC0uODM1LjE2YTIgMiAwIDAgMC0uMjg0LjEzNiAyIDIgMCAwIDAtLjM2My4yNTQgMi4yIDIuMiAwIDAgMC0uNDYuNTY5bC0uMDgyLjE2MmEyLjYgMi42IDAgMCAwLS4yMTMgMS4wNzJ2LjExNXEwIC43MDcuMjk2IDEuMjY3bC4xMzUuMjExem0uOTY0LS44MThhMS4xIDEuMSAwIDAgMCAuMzY3LjM4NS45NC45NCAwIDAgMCAuNDc2LjExOGMuNDIzIDAgLjU5LS4xMTcuNjg3LS4yMy4xNTktLjE5NC4yOC0uNDc4LjI4LS45NSAwLS41My0uMTMzLS44LS4yNjYtLjk1MmwtLjAyMS0uMDI1Yy0uMDc4LS4wOTQtLjIzMS0uMjIxLS42OC0uMjIxYTEgMSAwIDAgMC0uNTAzLjEzNWwtLjAxMi4wMDdhLjg2Ljg2IDAgMCAwLS4zMzUuMzQzYy0uMDczLjEzMy0uMTMyLjMyNC0uMTMyLjYxNHYuMTE1YTEuNCAxLjQgMCAwIDAgLjE0LjY2em0xNS43LTYuMjIycS4zNDctLjM0Ni4zNDYtLjg1NmExLjA1IDEuMDUgMCAwIDAtLjM0NS0uNzkgMS4xOCAxLjE4IDAgMCAwLS44NC0uMzI5cS0uNTEgMC0uODU1LjMzYTEuMDUgMS4wNSAwIDAgMC0uMzQ2Ljc5cTAgLjUxLjM0Ni44NTUuMzQ1LjM0Ni44NTYuMzQ2LjUxIDAgLjgzOS0uMzQ2em00LjMzNyA5LjMxNC4wMzMtMS4zMzJxLjE5MS40MDMuNTkuNzQ3bC4wOTguMDgxYTQgNCAwIDAgMCAuMzE2LjIyNGwuMjIzLjEyMmEzLjIgMy4yIDAgMCAwIDEuNDQuMzIyIDMuOCAzLjggMCAwIDAgMS44NzUtLjQ3NyAzLjUgMy41IDAgMCAwIDEuMzgyLTEuMzY2cS41MjctLjg5LjUyNi0yLjA5IDAtMS4xODQtLjQ0NC0yLjA3M2EzLjI0IDMuMjQgMCAwIDAtMS4yODMtMS4zOTlxLS44MjMtLjUxLTEuOTQyLS41MWEzLjUgMy41IDAgMCAwLTEuNTI3LjM0NGwtLjA4Ni4wNDMtLjE2NS4wOWEzIDMgMCAwIDAtLjMzLjIxNHEtLjQzMi4zMTUtLjY1Ni43MDdhMiAyIDAgMCAwLS4wOTkuMTk4bC4wODItMS4yODNWNC43MDFoLTEuNzQ0djEyLjA5NXptLjQ3My0yLjUwOWEyLjUgMi41IDAgMCAwIC41NjYuN3EuMTE3LjA5OC4yNDUuMThsLjE0NC4wOGEyLjEgMi4xIDAgMCAwIC45NzUuMjMycTEuMDcgMCAxLjY0NS0uNjc1LjU3Ni0uNjkuNTc2LTEuNzc4IDAtMS4xMDItLjU3Ni0xLjc3Ny0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMiAyLjIgMCAwIDAtMS4wMTUuMjM1cS0uMjIuMTEzLS40MTUuMjgybC0uMTUuMTQyYTIuMSAyLjEgMCAwIDAtLjQyLjU5NHEtLjIyMy40NzktLjIyMyAxLjF2LjExNXEwIC43MDUuMjkzIDEuMjZ6bTIuNjE2LS4yOTNjLjE1Ny0uMTkxLjI4LS40NzkuMjgtLjk2NyAwLS41MS0uMTMtLjc5LS4yNzYtLjk2MWwtLjAyMS0uMDI2Yy0uMDgyLS4xLS4yMzItLjIyNS0uNjctLjIyNWEuODcuODcgMCAwIDAtLjY4MS4yNzlsLS4wMTIuMDExYy0uMTU0LjE1NS0uMjc0LjM4LS4yNzQuODA3di4xMTVjMCAuMjg1LjA1Ny40OTkuMTQ0LjY2OWExLjEgMS4xIDAgMCAwIC4zNjcuNDA1Yy4xMzcuMDgyLjI4LjEyMy40NTUuMTIzLjQyMyAwIC41OS0uMTE4LjY4Ni0uMjN6bTguMjY2LTMuMDEzcS4zNDUtLjEzLjcyNC0uMTRsLjA2OS0uMDAycS40OTMgMCAuNjQyLjA5OWwuMjQ3LTEuNzk0cS0uMTk2LS4wOTktLjcxNy0uMDk5YTIuMyAyLjMgMCAwIDAtLjU0NS4wNjMgMiAyIDAgMCAwLS40MTEuMTQ4IDIuMiAyLjIgMCAwIDAtLjQuMjQ5IDIuNSAyLjUgMCAwIDAtLjQ4NS40OTkgMi43IDIuNyAwIDAgMC0uMzIuNTgxbC0uMDUuMTM3di0xLjQ4aC0xLjc3OHY3LjU1M2gxLjc3N3YtMy44ODRxMC0uNTQ2LjE1OS0uOTQzYTEuNSAxLjUgMCAwIDEgLjQ2Ni0uNjM2IDIuNSAyLjUgMCAwIDEgLjM5OS0uMjUzIDIgMiAwIDAgMSAuMjI0LS4wOTl6bTkuNzg0IDIuNjU2LjA1LS45MjJxMC0xLjc0My0uODU2LTIuNjk4LS44MzgtLjk3LTIuNTg0LS45Ny0xLjExOS0uMDAxLTIuMDA3LjQ5M2EzLjQ2IDMuNDYgMCAwIDAtMS40IDEuMzgycS0uNDkzLjkwNi0uNDkzIDIuMTA2IDAgMS4wNy40MjggMS45NzUuNDI4Ljg5IDEuMzMyIDEuNDMyLjkwNi41MjYgMi4yNTUuNTI2Ljk3MyAwIDEuNjY4LS4xODVsLjA0NC0uMDEyLjEzNS0uMDRxLjYxMy0uMTg0Ljk4NC0uNDIxbC0uNTQyLTEuMjY3cS0uMy4xNjItLjY0Mi4yNzRsLS4yOTcuMDg3cS0uNTEuMTMxLTEuMy4xMzEtLjk1NCAwLTEuNDk3LS40NDRhMS42IDEuNiAwIDAgMS0uMTkyLS4xOTNxLS4zNjYtLjQ0LS41MTItMS4yMzRsLS4wMDQtLjAyMXptLTUuNDI3LTEuMjU2LS4wMDMuMDIyaDMuNzUydi0uMTM4cS0uMDExLS43MjctLjI4OC0xLjExOGExIDEgMCAwIDAtLjE1Ni0uMTc2cS0uNDYtLjQyOC0xLjMxNi0uNDI4LS45ODYgMC0xLjQ5NC42MDQtLjM3OS40NS0uNDk0IDEuMjM0em0tMjcuMDUzIDIuNzdWNC43aC0xLjg2djEyLjA5NWg1LjMzM1YxNS4xNXptNy4xMDMtNS45MDh2Ny41NTNoLTEuODQzVjkuMjQyaDEuODQzeicvJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J20xOS42MyAxMS4xNTEtLjc1Ny0xLjcxLS4zNDUgMS43MS0xLjEyIDUuNjQ0aC0xLjgyN0wxOC4wODMgNC43aC4xOTdsMy4zMjUgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTlMMjYuODM5IDQuN2guMTgxbDIuNiAxMi4wOTVoLTEuODFsLTEuMjE4LTUuNjQ0LS4zNjItMS43MS0uNjU4IDEuNzEtMi45MyA1LjY0NGgtLjA5OGwtMi45MTMtNS42NDR6bTE0LjgzNiA1LjgxcS0xLjAyIDAtMS44OTMtLjQ3OGEzLjggMy44IDAgMCAxLTEuMzgxLTEuMzgycS0uNTEtLjkwNi0uNTEtMi4xMDYgMC0xLjE4NS40NDQtMi4wNzRhMy4zNiAzLjM2IDAgMCAxIDEuMy0xLjM4MnEuODM5LS40OTQgMS45NzQtLjQ5NGEzLjMgMy4zIDAgMCAxIDEuMjM0LjIzMSAzLjMgMy4zIDAgMCAxIC45Ny41NzVxLjM5Ni4zMy41MjcuNjU5bC4wMzMtMS4yNjdoMS42OTR2Ny41NTNIMzcuMThsLS4wMzMtMS4zMzJxLS4yNzkuNTkzLTEuMDIgMS4wNTNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLjQ0NHptLjI5Ni0xLjQ4MnEuOTM4IDAgMS41OC0uNjQyLjY0Mi0uNjYuNjQyLTEuNzExdi0uMTE1cTAtLjcwOC0uMjk2LTEuMjY3YTIuMiAyLjIgMCAwIDAtLjgwNy0uODcyIDIuMSAyLjEgMCAwIDAtMS4xMTktLjMxM3EtMS4wNTMgMC0xLjYyOS42OTItLjU3NS42NzUtLjU3NSAxLjc2IDAgMS4xMDMuNTU5IDEuNzk1LjU3Ny42NzUgMS42NDUuNjc1em02LjUyMS02LjIzN2gxLjcxMXYxLjRxLjkwNi0xLjU5NyAyLjgzLTEuNTk3IDEuNTk2IDAgMi41ODQgMS4wMi45ODggMS4wMDUuOTg4IDIuOTE0IDAgMS4xODUtLjQ5MyAyLjA5YTMuNDYgMy40NiAwIDAgMS0xLjMxNiAxLjM5OSAzLjUgMy41IDAgMCAxLTEuODQ0LjQ5M3EtLjk1NCAwLTEuNjYyLS4zMjlhMi42NyAyLjY3IDAgMCAxLTEuMDg2LS45N2wuMDE3IDUuMTM0aC0xLjcyOHptNC4wNDggNi4yMnExLjA3IDAgMS42NDUtLjY3NC41NzctLjY5LjU3Ni0xLjc2MiAwLTEuMTE5LS41NzYtMS43NzctLjU1OC0uNjc1LTEuNjQ1LS42NzUtLjU5MiAwLTEuMTIuMjk2LS41MS4yOC0uODIyLjgyMy0uMjk2LjUyNy0uMjk2IDEuMjM0di4xMTVxMCAuNzA4LjI5NiAxLjI2Ny4zMTMuNTQzLjgyMy44NTUuNTEuMjk2IDEuMTE5LjI5N3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZTFlM2U5JyBkPSdNNTEuMzI1IDQuN2gxLjg2djEwLjQ1aDMuNDczdjEuNjQ2aC01LjMzM3ptNy4xMiA0LjU0MmgxLjg0M3Y3LjU1M2gtMS44NDN6bS45MDUtMS40MTVhMS4xNiAxLjE2IDAgMCAxLS44NTYtLjM0NiAxLjE3IDEuMTcgMCAwIDEtLjM0Ni0uODU2IDEuMDUgMS4wNSAwIDAgMSAuMzQ2LS43OXEuMzQ2LS4zMjkuODU2LS4zMjkuNDk0IDAgLjgzOS4zM2ExLjA1IDEuMDUgMCAwIDEgLjM0NS43OSAxLjE2IDEuMTYgMCAwIDEtLjM0NS44NTVxLS4zMy4zNDYtLjg0LjM0NnptNy44NzUgOS4xMzNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLS40NDRxLS43MjMtLjQ2LTEuMDA0LTEuMDUzbC0uMDMzIDEuMzMyaC0xLjcxVjQuNzAxaDEuNzQzdjQuNjU3bC0uMDgyIDEuMjgzcS4yNzktLjY1OCAxLjA4Ni0xLjExOWEzLjUgMy41IDAgMCAxIDEuNzc4LS40NzdxMS4xMTkgMCAxLjk0Mi41MWEzLjI0IDMuMjQgMCAwIDEgMS4yODMgMS40cS40NDUuODg4LjQ0NCAyLjA3MiAwIDEuMjAxLS41MjYgMi4wOWEzLjUgMy41IDAgMCAxLTEuMzgyIDEuMzY2IDMuOCAzLjggMCAwIDEtMS44NzYuNDc3em0tLjI5Ni0xLjQ4MXExLjA2OSAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzctMS43NzggMC0xLjEwMi0uNTc3LTEuNzc2LS41Ni0uNjkxLTEuNjQ1LS42OTJhMi4xMiAyLjEyIDAgMCAwLTEuNTguNjU5cS0uNjQyLjY0MS0uNjQyIDEuNjk0di4xMTVxMCAuNzEuMjk2IDEuMjY3YTIuNCAyLjQgMCAwIDAgLjgwNy44NzIgMi4xIDIuMSAwIDAgMCAxLjExOS4zMTN6bTUuOTI3LTYuMjM3aDEuNzc3djEuNDgxcS4yNjMtLjc1Ny44NTYtMS4yMTdhMi4xNCAyLjE0IDAgMCAxIDEuMzQ5LS40NnEuNTI3IDAgLjcyNC4wOThsLS4yNDcgMS43OTRxLS4xNDktLjA5OS0uNjQyLS4wOTktLjc3NCAwLTEuNDE2LjQ5NC0uNjI2LjQ5My0uNjI2IDEuNTh2My44ODNoLTEuNzc3VjkuMjQyem05LjUzNCA3LjcxOHEtMS4zNSAwLTIuMjU1LS41MjYtLjkwNC0uNTQzLTEuMzMyLTEuNDMyYTQuNiA0LjYgMCAwIDEtLjQyOC0xLjk3NXEwLTEuMi40OTMtMi4xMDZhMy40NiAzLjQ2IDAgMCAxIDEuNC0xLjM4MnEuODg5LS40OTUgMi4wMDctLjQ5NCAxLjc0NCAwIDIuNTg0Ljk3Ljg1NS45NTYuODU2IDIuNyAwIC40NDQtLjA1LjkyaC01LjQzcS4xOCAxLjAwNS43MDggMS40NS41NDIuNDQzIDEuNDk3LjQ0My43OSAwIDEuMy0uMTMxYTQgNCAwIDAgMCAuOTM4LS4zNjJsLjU0MiAxLjI2N3EtLjQxMS4yNjMtMS4xMTkuNDYtLjcwOC4xOTgtMS43MTEuMTk3em0xLjU5Ni00LjU1OHEuMDE2LTEuMDItLjQ0NC0xLjQzMi0uNDYtLjQyOC0xLjMxNi0uNDI4LTEuNzI4IDAtMS45OTEgMS44NnonLyUzRSUzQ3BhdGggZD0nTTUuMDc0IDE1Ljk0OGEuNDg0LjY1NyAwIDAgMC0uNDg2LjY1OXYxLjg0YS40ODQuNjU3IDAgMCAwIC40ODYuNjU5aDQuMTAxYS40ODQuNjU3IDAgMCAwIC40ODYtLjY1OXYtMS44NGEuNDg0LjY1NyAwIDAgMC0uNDg2LS42NTl6bTMuNTYgMS4xNkg1LjYxN3YuODM4aDMuMDE3eicgc3R5bGU9J2ZpbGw6JTIzZmZmO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZS13aWR0aDoxLjAzNjAwMDAxJy8lM0UlM0NnIHN0eWxlPSdzdHJva2Utd2lkdGg6MS4xMjYwMzU0NSclM0UlM0NwYXRoIGQ9J00tOS40MDgtMS40MTZjLTMuODMzLS4wMjUtNy4wNTYgMi45MTItNy4wOCA2LjYxNS0uMDIgMy4wOCAxLjY1MyA0LjgzMiAzLjEwNyA2LjI2OC45MDMuODkyIDEuNzIxIDEuNzQgMi4zMiAyLjkwMmwtLjUyNS0uMDA0Yy0uNTQzLS4wMDMtLjk5Mi4zMDQtMS4yNC42MzlhMS44NyAxLjg3IDAgMCAwLS4zNjIgMS4xMjFsLS4wMTEgMS44NzdjLS4wMDMuNDAyLjEwNC43ODcuMzQ3IDEuMTI1LjI0NC4zMzguNjg4LjY1MyAxLjIzLjY1Nmw0LjE0Mi4wMjhjLjU0Mi4wMDMuOTktLjMwNiAxLjIzOC0uNjQxYTEuODcgMS44NyAwIDAgMCAuMzYzLTEuMTIxbC4wMTItMS44NzVhMS44NyAxLjg3IDAgMCAwLS4zNDgtMS4xMjdjLS4yNDMtLjMzOC0uNjg4LS42NTMtMS4yMy0uNjU2bC0uNTE4LS4wMDRjLjU5Ny0xLjE0NSAxLjQyNS0xLjk4MyAyLjM0OC0yLjg3IDEuNDczLTEuNDE0IDMuMTgtMy4xNDkgMy4yLTYuMjI2LS4wMTYtMy41OS0yLjkyMy02LjY4NC02Ljk5My02LjcwN20tLjAwNiAxLjF2LjAwMmMzLjI3NC4wMiA1LjkyIDIuNTMyIDUuOSA1LjYtLjAxNyAyLjcwNi0xLjM5IDQuMDI2LTIuODYzIDUuNDQtMS4wMzQuOTk0LTIuMTE4IDIuMDMzLTIuODE0IDMuNjMzLS4wMTguMDQxLS4wNTIuMDU1LS4wNzUuMDY1cS0uMDEzLjAwNC0uMDIuMDFhLjM0LjM0IDAgMCAxLS4yMjYuMDg0LjM0LjM0IDAgMCAxLS4yMjQtLjA4NmwtLjA5Mi0uMDc3Yy0uNjk5LTEuNjE1LTEuNzY4LTIuNjY5LTIuNzgxLTMuNjctMS40NTQtMS40MzUtMi43OTctMi43NjItMi43OC01LjQ3OC4wMi0zLjA2NyAyLjctNS41NDUgNS45NzUtNS41MjNtLS4wMiAyLjgyNmMtMS42Mi0uMDEtMi45NDQgMS4zMTUtMi45NTUgMi45Ni0uMDEgMS42NDYgMS4yOTUgMi45ODggMi45MTYgMi45OTloLjAwMmMxLjYyMS4wMSAyLjk0My0xLjMxNiAyLjk1My0yLjk2MS4wMTEtMS42NDYtMS4yOTQtMi45ODgtMi45MTYtMi45OThtLS4wMDUgMS4xYzEuMDE3LjAwNiAxLjgyOS44MyAxLjgyMiAxLjg5cy0uODMgMS44NzQtMS44NDggMS44NjdjLTEuMDE4LS4wMDYtMS44MjktLjgzLTEuODIyLTEuODlzLjgzLTEuODc0IDEuODQ4LTEuODY4bS0yLjE1NSAxMS44NTcgNC4xNC4wMjVjLjI3MS4wMDIuNDkuMzA1LjQ4Ny42NzZsLS4wMTMgMS44NzVjLS4wMDMuMzctLjIyNC42Ny0uNDk1LjY2OGwtNC4xNC0uMDI1Yy0uMjctLjAwMi0uNDg3LS4zMDYtLjQ4NS0uNjc2bC4wMTItMS44NzVjLjAwMy0uMzcuMjI0LS42Ny40OTQtLjY2OCcgc3R5bGU9J2NvbG9yOiUyMzAwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTptZWRpdW07bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6JTIzMDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7d3JpdGluZy1tb2RlOmxyLXRiO2RpcmVjdGlvbjpsdHI7dGV4dC1vcmllbnRhdGlvbjptaXhlZDtkb21pbmFudC1iYXNlbGluZTphdXRvO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtjb2xvci1pbnRlcnBvbGF0aW9uOnNSR0I7Y29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOmxpbmVhclJHQjtzb2xpZC1jb2xvcjolMjMwMDA7c29saWQtb3BhY2l0eToxO3ZlY3Rvci1lZmZlY3Q6bm9uZTtmaWxsOiUyMzAwMDtmaWxsLW9wYWNpdHk6LjQ7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO2NvbG9yLXJlbmRlcmluZzphdXRvO2ltYWdlLXJlbmRlcmluZzphdXRvO3NoYXBlLXJlbmRlcmluZzphdXRvO3RleHQtcmVuZGVyaW5nOmF1dG8nIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQ3BhdGggZD0nTS05LjQxNS0uMzE2Qy0xMi42OS0uMzM4LTE1LjM3IDIuMTQtMTUuMzkgNS4yMDdjLS4wMTcgMi43MTYgMS4zMjYgNC4wNDEgMi43OCA1LjQ3NyAxLjAxMyAxIDIuMDgxIDIuMDU1IDIuNzggMy42N2wuMDkyLjA3NmEuMzQuMzQgMCAwIDAgLjIyNS4wODYuMzQuMzQgMCAwIDAgLjIyNy0uMDgzbC4wMTktLjAxYy4wMjItLjAwOS4wNTctLjAyNC4wNzQtLjA2NC42OTctMS42IDEuNzgtMi42NCAyLjgxNC0zLjYzNCAxLjQ3My0xLjQxNCAyLjg0Ny0yLjczMyAyLjg2NC01LjQ0LjAyLTMuMDY3LTIuNjI3LTUuNTgtNS45MDEtNS42MDFtLS4wNTcgOC43ODRjMS42MjEuMDExIDIuOTQ0LTEuMzE1IDIuOTU1LTIuOTYuMDEtMS42NDYtMS4yOTUtMi45ODgtMi45MTYtMi45OTktMS42MjItLjAxLTIuOTQ1IDEuMzE1LTIuOTU1IDIuOTZzMS4yOTUgMi45ODkgMi45MTYgMycgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZTFlM2U5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tMTEuNTk0IDE1LjQ2NWMtLjI3LS4wMDItLjQ5Mi4yOTctLjQ5NC42NjhsLS4wMTIgMS44NzZjLS4wMDMuMzcxLjIxNC42NzMuNDg1LjY3NWw0LjE0LjAyN2MuMjcxLjAwMi40OTItLjI5OC40OTUtLjY2OGwuMDEyLTEuODc3Yy4wMDMtLjM3LS4yMTUtLjY3Mi0uNDg1LS42NzR6JyBzdHlsZT0nY2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDolMjNmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6LjQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjNweDttYXJnaW46MCAwIC00cHggLTRweDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6ODhweH1hLm1hcGxpYnJlZ2wtY3RybC1sb2dvLm1hcGxpYnJlZ2wtY29tcGFjdHt3aWR0aDoxNHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpe2EubWFwbGlicmVnbC1jdHJsLWxvZ297YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4OCcgaGVpZ2h0PScyMycgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZmlsbC1vcGFjaXR5PScuNCcgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMTcuNDA4IDE2Ljc5NmgtMS44MjdsMi41MDEtMTIuMDk1aC4xOThsMy4zMjQgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTkgMy4yNTgtNi41MzNoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTI5IDUuNjQ0aC0uMDk4bC0yLjkxNC01LjY0NC0uNzU3LTEuNzEtLjM0NSAxLjcxem0xLjk1OC0zLjQyLS43MjYgMy42NjNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMzIgMS4wMTFoLTEuODI3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI5LTEuNTA5bDIuNTAxLTEyLjA5NWExLjI1NSAxLjI1NSAwIDAgMSAxLjIzLTEuMDAxaC4xOTdhMS4yNSAxLjI1IDAgMCAxIDEuMTIuNjg1bDMuMTkgNi4yNzMgMy4xMjUtNi4yNjNhMS4yNSAxLjI1IDAgMCAxIDEuMTIzLS42OTVoLjE4MWExLjI1NSAxLjI1NSAwIDAgMSAxLjIyNy45OTFsMS40NDMgNi43MWE1IDUgMCAwIDEgLjMxNC0uNzg3bC4wMDktLjAxNmE0LjYgNC42IDAgMCAxIDEuNzc3LTEuODg3Yy43ODItLjQ2IDEuNjY4LS42NjcgMi42MTEtLjY2N2E0LjYgNC42IDAgMCAxIDEuNy4zMmwuMzA2LjEzNGMuMjEtLjE2LjQ3NC0uMjU2Ljc1OS0uMjU2aDEuNjk0YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjEyLjkyNSAxLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi0uOTI1aDEuNzExYy4yODQgMCAuNTQ1LjA5NC43NTUuMjUyLjYxMy0uMyAxLjMxMi0uNDUgMi4wNzUtLjQ1IDEuMzU2IDAgMi41NTcuNDQ1IDMuNDgyIDEuNHEuNDcuNDguNzYzIDEuMDY0VjQuNzAxYTEuMjU1IDEuMjU1IDAgMCAxIDEuMjU1LTEuMjU1aDEuODZBMS4yNTUgMS4yNTUgMCAwIDEgNTQuNDQgNC43djkuMTk0aDIuMjE3Yy4xOSAwIC4zNy4wNDMuNTMyLjExOHYtNC43N2MwLS4zNTYuMTQ3LS42NzguMzg1LS45MDZhMi40MiAyLjQyIDAgMCAxLS42ODItMS43MWMwLS42NjUuMjY3LTEuMjUzLjczNS0xLjdhMi40NSAyLjQ1IDAgMCAxIDEuNzIyLS42NzQgMi40MyAyLjQzIDAgMCAxIDEuNzA1LjY3NXEuMzE4LjMwMi41MDQuNjgzVjQuN2ExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjc0NEExLjI1NSAxLjI1NSAwIDAgMSA2NS44MTIgNC43djMuMzM1YTQuOCA0LjggMCAwIDEgMS41MjYtLjI0NmMuOTM4IDAgMS44MTcuMjE0IDIuNTkuNjlhNC40NyA0LjQ3IDAgMCAxIDEuNjcgMS43NDN2LS45OGExLjI1NSAxLjI1NSAwIDAgMSAxLjI1Ni0xLjI1NmgxLjc3N2MuMjMzIDAgLjQ1MS4wNjQuNjM5LjE3NGEzLjQgMy40IDAgMCAxIDEuNTY3LS4zNzJjLjM0NiAwIC44NjEuMDIgMS4yODUuMjMyYTEuMjUgMS4yNSAwIDAgMSAuNjg5IDEuMDA0IDQuNyA0LjcgMCAwIDEgLjg1My0uNTg4Yy43OTUtLjQ0IDEuNjc1LS42NDcgMi42MS0uNjQ3IDEuMzg1IDAgMi42NS4zOSAzLjUyNSAxLjM5Ni44MzYuOTM4IDEuMTY4IDIuMTczIDEuMTY4IDMuNTI4cS0uMDAxLjUxNS0uMDU2IDEuMDUxYTEuMjU1IDEuMjU1IDAgMCAxLS45NDcgMS4wOWwuNDA4Ljk1MmExLjI1NSAxLjI1NSAwIDAgMS0uNDc3IDEuNTUyYy0uNDE4LjI2OC0uOTIuNDYzLTEuNDU4LjYxMi0uNjEzLjE3MS0xLjMwNC4yNDQtMi4wNDkuMjQ0LTEuMDYgMC0yLjA0My0uMjA3LTIuODg2LS42OThsLS4wMTUtLjAwOGMtLjc5OC0uNDgtMS40MTktMS4xMzUtMS44MTgtMS45NjNsLS4wMDQtLjAwOGE1LjggNS44IDAgMCAxLS41NDgtMi41MTJxMC0uNDI5LjA1My0uODQzYTEuMyAxLjMgMCAwIDEtLjMzMy0uMDg2bC0uMTY2LS4wMDRjLS4yMjMgMC0uNDI2LjA2Mi0uNjQzLjIyOC0uMDMuMDI0LS4xNDIuMTM5LS4xNDIuNTl2My44ODNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTZoLTEuNzc3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU2VjE1LjY5bC0uMDMyLjA1N2E0LjggNC44IDAgMCAxLTEuODYgMS44MzMgNS4wNCA1LjA0IDAgMCAxLTIuNDg0LjYzNCA0LjUgNC41IDAgMCAxLTEuOTM1LS40MjQgMS4yNSAxLjI1IDAgMCAxLS43NjQuMjU4aC0xLjcxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU1VjcuNjg3YTIuNCAyLjQgMCAwIDEtLjQyOC42MjVjLjI1My4yMy40MTIuNTYxLjQxMi45M3Y3LjU1M2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NiAxLjI1NWgtMS44NDNhMS4yNSAxLjI1IDAgMCAxLS44OTQtLjM3M2MtLjIyOC4yMy0uNTQ0LjM3My0uODk0LjM3M0g1MS4zMmExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NXYtMS4yNTFsLS4wNjEuMTE3YTQuNyA0LjcgMCAwIDEtMS43ODIgMS44ODQgNC43NyA0Ljc3IDAgMCAxLTIuNDg1LjY3IDUuNiA1LjYgMCAwIDEtMS40ODUtLjE4OGwuMDA5IDIuNzY0YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU1IDEuMjU5aC0xLjcyOWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NS0xLjI1NXYtMy41MzdhMS4yNTUgMS4yNTUgMCAwIDEtMS4xNjcuNzkzaC0xLjY3OWExLjI1IDEuMjUgMCAwIDEtLjc3LS4yNjMgNC41IDQuNSAwIDAgMS0xLjk0NS40MjljLS44ODUgMC0xLjcyNC0uMjEtMi40OTUtLjYzMmwtLjAxNy0uMDFhNSA1IDAgMCAxLTEuMDgxLS44MzYgMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTQgMS4zMTJoLTEuODFhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMjgtLjk5bC0uNzgyLTMuNjI1LTIuMDQ0IDMuOTM5YTEuMjUgMS4yNSAwIDAgMS0xLjExNS42NzZoLS4wOThhMS4yNSAxLjI1IDAgMCAxLTEuMTE2LS42OGwtMi4wNjEtMy45OTR6TTM1LjkyIDE2LjYzbC4yMDctLjExNC4yMjMtLjE1cS40OTMtLjM1Ni43MzUtLjc4NWwuMDYxLS4xMTguMDMzIDEuMzMyaDEuNjc4VjkuMjQyaC0xLjY5NGwtLjAzMyAxLjI2N3EtLjEzMy0uMzI5LS41MjYtLjY1OGwtLjAzMi0uMDI4YTMuMiAzLjIgMCAwIDAtLjY2OC0uNDI4bC0uMjctLjEyYTMuMyAzLjMgMCAwIDAtMS4yMzUtLjIzcS0xLjEzNi0uMDAxLTEuOTc0LjQ5M2EzLjM2IDMuMzYgMCAwIDAtMS4zIDEuMzgycS0uNDQ1Ljg5LS40NDQgMi4wNzQgMCAxLjIuNTEgMi4xMDdhMy44IDMuOCAwIDAgMCAxLjM4MiAxLjM4MSAzLjkgMy45IDAgMCAwIDEuODkzLjQ3N3EuNzk1IDAgMS40NTUtLjMzem0tMi43ODktNS4zOHEtLjU3Ni42NzUtLjU3NSAxLjc2MiAwIDEuMTAyLjU1OSAxLjc5NC41NzYuNjc1IDEuNjQ1LjY3NWEyLjI1IDIuMjUgMCAwIDAgLjkzNC0uMTkgMi4yIDIuMiAwIDAgMCAuNDY4LS4yOWwuMTc4LS4xNjFhMi4yIDIuMiAwIDAgMCAuMzk3LS41NjFxLjI0NC0uNS4yNDQtMS4xNXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2wtLjA0My0uMDc3YTIuMiAyLjIgMCAwIDAtLjYzMy0uNzA5bC0uMTMtLjA4Ni0uMDQ3LS4wMjhhMi4xIDIuMSAwIDAgMC0xLjA3My0uMjg1cS0xLjA1MiAwLTEuNjI5LjY5MnptMi4zMTYgMi43MDZjLjE2My0uMTcuMjgtLjQwNy4yOC0uODN2LS4xMTRjMC0uMjkyLS4wNi0uNTA4LS4xNS0uNjhhLjk2Ljk2IDAgMCAwLS4zNTMtLjM4OS44NS44NSAwIDAgMC0uNDY0LS4xMjdjLS40IDAtLjU2LjExNC0uNjY0LjIzOWwtLjAxLjAxMmMtLjE0OC4xNzQtLjI3NS40NS0uMjc1Ljk0NSAwIC41MDYuMTIyLjgwMS4yNy45OS4wOTcuMTEuMjY2LjIyNC42OC4yMjQuMzAzIDAgLjUwNC0uMDkuNjg3LS4yNjl6bTcuNTQ1IDEuNzA1YTIuNiAyLjYgMCAwIDAgLjMzMS40MjNxLjMxOS4zMy43NTUuNTQ4bC4xNzMuMDc0cS42NS4yNTUgMS40OS4yNTUgMS4wMiAwIDEuODQ0LS40OTNhMy40NSAzLjQ1IDAgMCAwIDEuMzE2LTEuNHEuNDkzLS45MDQuNDkzLTIuMDg5IDAtMS45MDktLjk4OC0yLjkxMy0uOTg4LTEuMDItMi41ODQtMS4wMi0uODk4IDAtMS41NzUuMzQ3YTMgMyAwIDAgMC0uNDE1LjI2MmwtLjE5OS4xNjZhMy40IDMuNCAwIDAgMC0uNjQuODJWOS4yNDJoLTEuNzEydjExLjU1M2gxLjcyOWwtLjAxNy01LjEzNHptLjUzLTEuMTM4cS4yMDYuMjkuNDguNWwuMTU1LjExLjA1My4wMzRxLjUxLjI5NiAxLjExOS4yOTcgMS4wNyAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS40MzUgMC0uODM1LjE2YTIgMiAwIDAgMC0uMjg0LjEzNiAyIDIgMCAwIDAtLjM2My4yNTQgMi4yIDIuMiAwIDAgMC0uNDYuNTY5bC0uMDgyLjE2MmEyLjYgMi42IDAgMCAwLS4yMTMgMS4wNzJ2LjExNXEwIC43MDcuMjk2IDEuMjY3bC4xMzUuMjExem0uOTY0LS44MThhMS4xIDEuMSAwIDAgMCAuMzY3LjM4NS45NC45NCAwIDAgMCAuNDc2LjExOGMuNDIzIDAgLjU5LS4xMTcuNjg3LS4yMy4xNTktLjE5NC4yOC0uNDc4LjI4LS45NSAwLS41My0uMTMzLS44LS4yNjYtLjk1MmwtLjAyMS0uMDI1Yy0uMDc4LS4wOTQtLjIzMS0uMjIxLS42OC0uMjIxYTEgMSAwIDAgMC0uNTAzLjEzNWwtLjAxMi4wMDdhLjg2Ljg2IDAgMCAwLS4zMzUuMzQzYy0uMDczLjEzMy0uMTMyLjMyNC0uMTMyLjYxNHYuMTE1YTEuNCAxLjQgMCAwIDAgLjE0LjY2em0xNS43LTYuMjIycS4zNDctLjM0Ni4zNDYtLjg1NmExLjA1IDEuMDUgMCAwIDAtLjM0NS0uNzkgMS4xOCAxLjE4IDAgMCAwLS44NC0uMzI5cS0uNTEgMC0uODU1LjMzYTEuMDUgMS4wNSAwIDAgMC0uMzQ2Ljc5cTAgLjUxLjM0Ni44NTUuMzQ1LjM0Ni44NTYuMzQ2LjUxIDAgLjgzOS0uMzQ2em00LjMzNyA5LjMxNC4wMzMtMS4zMzJxLjE5MS40MDMuNTkuNzQ3bC4wOTguMDgxYTQgNCAwIDAgMCAuMzE2LjIyNGwuMjIzLjEyMmEzLjIgMy4yIDAgMCAwIDEuNDQuMzIyIDMuOCAzLjggMCAwIDAgMS44NzUtLjQ3NyAzLjUgMy41IDAgMCAwIDEuMzgyLTEuMzY2cS41MjctLjg5LjUyNi0yLjA5IDAtMS4xODQtLjQ0NC0yLjA3M2EzLjI0IDMuMjQgMCAwIDAtMS4yODMtMS4zOTlxLS44MjMtLjUxLTEuOTQyLS41MWEzLjUgMy41IDAgMCAwLTEuNTI3LjM0NGwtLjA4Ni4wNDMtLjE2NS4wOWEzIDMgMCAwIDAtLjMzLjIxNHEtLjQzMi4zMTUtLjY1Ni43MDdhMiAyIDAgMCAwLS4wOTkuMTk4bC4wODItMS4yODNWNC43MDFoLTEuNzQ0djEyLjA5NXptLjQ3My0yLjUwOWEyLjUgMi41IDAgMCAwIC41NjYuN3EuMTE3LjA5OC4yNDUuMThsLjE0NC4wOGEyLjEgMi4xIDAgMCAwIC45NzUuMjMycTEuMDcgMCAxLjY0NS0uNjc1LjU3Ni0uNjkuNTc2LTEuNzc4IDAtMS4xMDItLjU3Ni0xLjc3Ny0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMiAyLjIgMCAwIDAtMS4wMTUuMjM1cS0uMjIuMTEzLS40MTUuMjgybC0uMTUuMTQyYTIuMSAyLjEgMCAwIDAtLjQyLjU5NHEtLjIyMy40NzktLjIyMyAxLjF2LjExNXEwIC43MDUuMjkzIDEuMjZ6bTIuNjE2LS4yOTNjLjE1Ny0uMTkxLjI4LS40NzkuMjgtLjk2NyAwLS41MS0uMTMtLjc5LS4yNzYtLjk2MWwtLjAyMS0uMDI2Yy0uMDgyLS4xLS4yMzItLjIyNS0uNjctLjIyNWEuODcuODcgMCAwIDAtLjY4MS4yNzlsLS4wMTIuMDExYy0uMTU0LjE1NS0uMjc0LjM4LS4yNzQuODA3di4xMTVjMCAuMjg1LjA1Ny40OTkuMTQ0LjY2OWExLjEgMS4xIDAgMCAwIC4zNjcuNDA1Yy4xMzcuMDgyLjI4LjEyMy40NTUuMTIzLjQyMyAwIC41OS0uMTE4LjY4Ni0uMjN6bTguMjY2LTMuMDEzcS4zNDUtLjEzLjcyNC0uMTRsLjA2OS0uMDAycS40OTMgMCAuNjQyLjA5OWwuMjQ3LTEuNzk0cS0uMTk2LS4wOTktLjcxNy0uMDk5YTIuMyAyLjMgMCAwIDAtLjU0NS4wNjMgMiAyIDAgMCAwLS40MTEuMTQ4IDIuMiAyLjIgMCAwIDAtLjQuMjQ5IDIuNSAyLjUgMCAwIDAtLjQ4NS40OTkgMi43IDIuNyAwIDAgMC0uMzIuNTgxbC0uMDUuMTM3di0xLjQ4aC0xLjc3OHY3LjU1M2gxLjc3N3YtMy44ODRxMC0uNTQ2LjE1OS0uOTQzYTEuNSAxLjUgMCAwIDEgLjQ2Ni0uNjM2IDIuNSAyLjUgMCAwIDEgLjM5OS0uMjUzIDIgMiAwIDAgMSAuMjI0LS4wOTl6bTkuNzg0IDIuNjU2LjA1LS45MjJxMC0xLjc0My0uODU2LTIuNjk4LS44MzgtLjk3LTIuNTg0LS45Ny0xLjExOS0uMDAxLTIuMDA3LjQ5M2EzLjQ2IDMuNDYgMCAwIDAtMS40IDEuMzgycS0uNDkzLjkwNi0uNDkzIDIuMTA2IDAgMS4wNy40MjggMS45NzUuNDI4Ljg5IDEuMzMyIDEuNDMyLjkwNi41MjYgMi4yNTUuNTI2Ljk3MyAwIDEuNjY4LS4xODVsLjA0NC0uMDEyLjEzNS0uMDRxLjYxMy0uMTg0Ljk4NC0uNDIxbC0uNTQyLTEuMjY3cS0uMy4xNjItLjY0Mi4yNzRsLS4yOTcuMDg3cS0uNTEuMTMxLTEuMy4xMzEtLjk1NCAwLTEuNDk3LS40NDRhMS42IDEuNiAwIDAgMS0uMTkyLS4xOTNxLS4zNjYtLjQ0LS41MTItMS4yMzRsLS4wMDQtLjAyMXptLTUuNDI3LTEuMjU2LS4wMDMuMDIyaDMuNzUydi0uMTM4cS0uMDExLS43MjctLjI4OC0xLjExOGExIDEgMCAwIDAtLjE1Ni0uMTc2cS0uNDYtLjQyOC0xLjMxNi0uNDI4LS45ODYgMC0xLjQ5NC42MDQtLjM3OS40NS0uNDk0IDEuMjM0em0tMjcuMDUzIDIuNzdWNC43aC0xLjg2djEyLjA5NWg1LjMzM1YxNS4xNXptNy4xMDMtNS45MDh2Ny41NTNoLTEuODQzVjkuMjQyaDEuODQzeicvJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J20xOS42MyAxMS4xNTEtLjc1Ny0xLjcxLS4zNDUgMS43MS0xLjEyIDUuNjQ0aC0xLjgyN0wxOC4wODMgNC43aC4xOTdsMy4zMjUgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTlMMjYuODM5IDQuN2guMTgxbDIuNiAxMi4wOTVoLTEuODFsLTEuMjE4LTUuNjQ0LS4zNjItMS43MS0uNjU4IDEuNzEtMi45MyA1LjY0NGgtLjA5OGwtMi45MTMtNS42NDR6bTE0LjgzNiA1LjgxcS0xLjAyIDAtMS44OTMtLjQ3OGEzLjggMy44IDAgMCAxLTEuMzgxLTEuMzgycS0uNTEtLjkwNi0uNTEtMi4xMDYgMC0xLjE4NS40NDQtMi4wNzRhMy4zNiAzLjM2IDAgMCAxIDEuMy0xLjM4MnEuODM5LS40OTQgMS45NzQtLjQ5NGEzLjMgMy4zIDAgMCAxIDEuMjM0LjIzMSAzLjMgMy4zIDAgMCAxIC45Ny41NzVxLjM5Ni4zMy41MjcuNjU5bC4wMzMtMS4yNjdoMS42OTR2Ny41NTNIMzcuMThsLS4wMzMtMS4zMzJxLS4yNzkuNTkzLTEuMDIgMS4wNTNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLjQ0NHptLjI5Ni0xLjQ4MnEuOTM4IDAgMS41OC0uNjQyLjY0Mi0uNjYuNjQyLTEuNzExdi0uMTE1cTAtLjcwOC0uMjk2LTEuMjY3YTIuMiAyLjIgMCAwIDAtLjgwNy0uODcyIDIuMSAyLjEgMCAwIDAtMS4xMTktLjMxM3EtMS4wNTMgMC0xLjYyOS42OTItLjU3NS42NzUtLjU3NSAxLjc2IDAgMS4xMDMuNTU5IDEuNzk1LjU3Ny42NzUgMS42NDUuNjc1em02LjUyMS02LjIzN2gxLjcxMXYxLjRxLjkwNi0xLjU5NyAyLjgzLTEuNTk3IDEuNTk2IDAgMi41ODQgMS4wMi45ODggMS4wMDUuOTg4IDIuOTE0IDAgMS4xODUtLjQ5MyAyLjA5YTMuNDYgMy40NiAwIDAgMS0xLjMxNiAxLjM5OSAzLjUgMy41IDAgMCAxLTEuODQ0LjQ5M3EtLjk1NCAwLTEuNjYyLS4zMjlhMi42NyAyLjY3IDAgMCAxLTEuMDg2LS45N2wuMDE3IDUuMTM0aC0xLjcyOHptNC4wNDggNi4yMnExLjA3IDAgMS42NDUtLjY3NC41NzctLjY5LjU3Ni0xLjc2MiAwLTEuMTE5LS41NzYtMS43NzctLjU1OC0uNjc1LTEuNjQ1LS42NzUtLjU5MiAwLTEuMTIuMjk2LS41MS4yOC0uODIyLjgyMy0uMjk2LjUyNy0uMjk2IDEuMjM0di4xMTVxMCAuNzA4LjI5NiAxLjI2Ny4zMTMuNTQzLjgyMy44NTUuNTEuMjk2IDEuMTE5LjI5N3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZTFlM2U5JyBkPSdNNTEuMzI1IDQuN2gxLjg2djEwLjQ1aDMuNDczdjEuNjQ2aC01LjMzM3ptNy4xMiA0LjU0MmgxLjg0M3Y3LjU1M2gtMS44NDN6bS45MDUtMS40MTVhMS4xNiAxLjE2IDAgMCAxLS44NTYtLjM0NiAxLjE3IDEuMTcgMCAwIDEtLjM0Ni0uODU2IDEuMDUgMS4wNSAwIDAgMSAuMzQ2LS43OXEuMzQ2LS4zMjkuODU2LS4zMjkuNDk0IDAgLjgzOS4zM2ExLjA1IDEuMDUgMCAwIDEgLjM0NS43OSAxLjE2IDEuMTYgMCAwIDEtLjM0NS44NTVxLS4zMy4zNDYtLjg0LjM0NnptNy44NzUgOS4xMzNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLS40NDRxLS43MjMtLjQ2LTEuMDA0LTEuMDUzbC0uMDMzIDEuMzMyaC0xLjcxVjQuNzAxaDEuNzQzdjQuNjU3bC0uMDgyIDEuMjgzcS4yNzktLjY1OCAxLjA4Ni0xLjExOWEzLjUgMy41IDAgMCAxIDEuNzc4LS40NzdxMS4xMTkgMCAxLjk0Mi41MWEzLjI0IDMuMjQgMCAwIDEgMS4yODMgMS40cS40NDUuODg4LjQ0NCAyLjA3MiAwIDEuMjAxLS41MjYgMi4wOWEzLjUgMy41IDAgMCAxLTEuMzgyIDEuMzY2IDMuOCAzLjggMCAwIDEtMS44NzYuNDc3em0tLjI5Ni0xLjQ4MXExLjA2OSAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzctMS43NzggMC0xLjEwMi0uNTc3LTEuNzc2LS41Ni0uNjkxLTEuNjQ1LS42OTJhMi4xMiAyLjEyIDAgMCAwLTEuNTguNjU5cS0uNjQyLjY0MS0uNjQyIDEuNjk0di4xMTVxMCAuNzEuMjk2IDEuMjY3YTIuNCAyLjQgMCAwIDAgLjgwNy44NzIgMi4xIDIuMSAwIDAgMCAxLjExOS4zMTN6bTUuOTI3LTYuMjM3aDEuNzc3djEuNDgxcS4yNjMtLjc1Ny44NTYtMS4yMTdhMi4xNCAyLjE0IDAgMCAxIDEuMzQ5LS40NnEuNTI3IDAgLjcyNC4wOThsLS4yNDcgMS43OTRxLS4xNDktLjA5OS0uNjQyLS4wOTktLjc3NCAwLTEuNDE2LjQ5NC0uNjI2LjQ5My0uNjI2IDEuNTh2My44ODNoLTEuNzc3VjkuMjQyem05LjUzNCA3LjcxOHEtMS4zNSAwLTIuMjU1LS41MjYtLjkwNC0uNTQzLTEuMzMyLTEuNDMyYTQuNiA0LjYgMCAwIDEtLjQyOC0xLjk3NXEwLTEuMi40OTMtMi4xMDZhMy40NiAzLjQ2IDAgMCAxIDEuNC0xLjM4MnEuODg5LS40OTUgMi4wMDctLjQ5NCAxLjc0NCAwIDIuNTg0Ljk3Ljg1NS45NTYuODU2IDIuNyAwIC40NDQtLjA1LjkyaC01LjQzcS4xOCAxLjAwNS43MDggMS40NS41NDIuNDQzIDEuNDk3LjQ0My43OSAwIDEuMy0uMTMxYTQgNCAwIDAgMCAuOTM4LS4zNjJsLjU0MiAxLjI2N3EtLjQxMS4yNjMtMS4xMTkuNDYtLjcwOC4xOTgtMS43MTEuMTk3em0xLjU5Ni00LjU1OHEuMDE2LTEuMDItLjQ0NC0xLjQzMi0uNDYtLjQyOC0xLjMxNi0uNDI4LTEuNzI4IDAtMS45OTEgMS44NnonLyUzRSUzQ3BhdGggZD0nTTUuMDc0IDE1Ljk0OGEuNDg0LjY1NyAwIDAgMC0uNDg2LjY1OXYxLjg0YS40ODQuNjU3IDAgMCAwIC40ODYuNjU5aDQuMTAxYS40ODQuNjU3IDAgMCAwIC40ODYtLjY1OXYtMS44NGEuNDg0LjY1NyAwIDAgMC0uNDg2LS42NTl6bTMuNTYgMS4xNkg1LjYxN3YuODM4aDMuMDE3eicgc3R5bGU9J2ZpbGw6JTIzZmZmO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZS13aWR0aDoxLjAzNjAwMDAxJy8lM0UlM0NnIHN0eWxlPSdzdHJva2Utd2lkdGg6MS4xMjYwMzU0NSclM0UlM0NwYXRoIGQ9J00tOS40MDgtMS40MTZjLTMuODMzLS4wMjUtNy4wNTYgMi45MTItNy4wOCA2LjYxNS0uMDIgMy4wOCAxLjY1MyA0LjgzMiAzLjEwNyA2LjI2OC45MDMuODkyIDEuNzIxIDEuNzQgMi4zMiAyLjkwMmwtLjUyNS0uMDA0Yy0uNTQzLS4wMDMtLjk5Mi4zMDQtMS4yNC42MzlhMS44NyAxLjg3IDAgMCAwLS4zNjIgMS4xMjFsLS4wMTEgMS44NzdjLS4wMDMuNDAyLjEwNC43ODcuMzQ3IDEuMTI1LjI0NC4zMzguNjg4LjY1MyAxLjIzLjY1Nmw0LjE0Mi4wMjhjLjU0Mi4wMDMuOTktLjMwNiAxLjIzOC0uNjQxYTEuODcgMS44NyAwIDAgMCAuMzYzLTEuMTIxbC4wMTItMS44NzVhMS44NyAxLjg3IDAgMCAwLS4zNDgtMS4xMjdjLS4yNDMtLjMzOC0uNjg4LS42NTMtMS4yMy0uNjU2bC0uNTE4LS4wMDRjLjU5Ny0xLjE0NSAxLjQyNS0xLjk4MyAyLjM0OC0yLjg3IDEuNDczLTEuNDE0IDMuMTgtMy4xNDkgMy4yLTYuMjI2LS4wMTYtMy41OS0yLjkyMy02LjY4NC02Ljk5My02LjcwN20tLjAwNiAxLjF2LjAwMmMzLjI3NC4wMiA1LjkyIDIuNTMyIDUuOSA1LjYtLjAxNyAyLjcwNi0xLjM5IDQuMDI2LTIuODYzIDUuNDQtMS4wMzQuOTk0LTIuMTE4IDIuMDMzLTIuODE0IDMuNjMzLS4wMTguMDQxLS4wNTIuMDU1LS4wNzUuMDY1cS0uMDEzLjAwNC0uMDIuMDFhLjM0LjM0IDAgMCAxLS4yMjYuMDg0LjM0LjM0IDAgMCAxLS4yMjQtLjA4NmwtLjA5Mi0uMDc3Yy0uNjk5LTEuNjE1LTEuNzY4LTIuNjY5LTIuNzgxLTMuNjctMS40NTQtMS40MzUtMi43OTctMi43NjItMi43OC01LjQ3OC4wMi0zLjA2NyAyLjctNS41NDUgNS45NzUtNS41MjNtLS4wMiAyLjgyNmMtMS42Mi0uMDEtMi45NDQgMS4zMTUtMi45NTUgMi45Ni0uMDEgMS42NDYgMS4yOTUgMi45ODggMi45MTYgMi45OTloLjAwMmMxLjYyMS4wMSAyLjk0My0xLjMxNiAyLjk1My0yLjk2MS4wMTEtMS42NDYtMS4yOTQtMi45ODgtMi45MTYtMi45OThtLS4wMDUgMS4xYzEuMDE3LjAwNiAxLjgyOS44MyAxLjgyMiAxLjg5cy0uODMgMS44NzQtMS44NDggMS44NjdjLTEuMDE4LS4wMDYtMS44MjktLjgzLTEuODIyLTEuODlzLjgzLTEuODc0IDEuODQ4LTEuODY4bS0yLjE1NSAxMS44NTcgNC4xNC4wMjVjLjI3MS4wMDIuNDkuMzA1LjQ4Ny42NzZsLS4wMTMgMS44NzVjLS4wMDMuMzctLjIyNC42Ny0uNDk1LjY2OGwtNC4xNC0uMDI1Yy0uMjctLjAwMi0uNDg3LS4zMDYtLjQ4NS0uNjc2bC4wMTItMS44NzVjLjAwMy0uMzcuMjI0LS42Ny40OTQtLjY2OCcgc3R5bGU9J2NvbG9yOiUyMzAwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTptZWRpdW07bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6JTIzMDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7d3JpdGluZy1tb2RlOmxyLXRiO2RpcmVjdGlvbjpsdHI7dGV4dC1vcmllbnRhdGlvbjptaXhlZDtkb21pbmFudC1iYXNlbGluZTphdXRvO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtjb2xvci1pbnRlcnBvbGF0aW9uOnNSR0I7Y29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOmxpbmVhclJHQjtzb2xpZC1jb2xvcjolMjMwMDA7c29saWQtb3BhY2l0eToxO3ZlY3Rvci1lZmZlY3Q6bm9uZTtmaWxsOiUyMzAwMDtmaWxsLW9wYWNpdHk6LjQ7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO2NvbG9yLXJlbmRlcmluZzphdXRvO2ltYWdlLXJlbmRlcmluZzphdXRvO3NoYXBlLXJlbmRlcmluZzphdXRvO3RleHQtcmVuZGVyaW5nOmF1dG8nIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQ3BhdGggZD0nTS05LjQxNS0uMzE2Qy0xMi42OS0uMzM4LTE1LjM3IDIuMTQtMTUuMzkgNS4yMDdjLS4wMTcgMi43MTYgMS4zMjYgNC4wNDEgMi43OCA1LjQ3NyAxLjAxMyAxIDIuMDgxIDIuMDU1IDIuNzggMy42N2wuMDkyLjA3NmEuMzQuMzQgMCAwIDAgLjIyNS4wODYuMzQuMzQgMCAwIDAgLjIyNy0uMDgzbC4wMTktLjAxYy4wMjItLjAwOS4wNTctLjAyNC4wNzQtLjA2NC42OTctMS42IDEuNzgtMi42NCAyLjgxNC0zLjYzNCAxLjQ3My0xLjQxNCAyLjg0Ny0yLjczMyAyLjg2NC01LjQ0LjAyLTMuMDY3LTIuNjI3LTUuNTgtNS45MDEtNS42MDFtLS4wNTcgOC43ODRjMS42MjEuMDExIDIuOTQ0LTEuMzE1IDIuOTU1LTIuOTYuMDEtMS42NDYtMS4yOTUtMi45ODgtMi45MTYtMi45OTktMS42MjItLjAxLTIuOTQ1IDEuMzE1LTIuOTU1IDIuOTZzMS4yOTUgMi45ODkgMi45MTYgMycgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZTFlM2U5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tMTEuNTk0IDE1LjQ2NWMtLjI3LS4wMDItLjQ5Mi4yOTctLjQ5NC42NjhsLS4wMTIgMS44NzZjLS4wMDMuMzcxLjIxNC42NzMuNDg1LjY3NWw0LjE0LjAyN2MuMjcxLjAwMi40OTItLjI5OC40OTUtLjY2OGwuMDEyLTEuODc3Yy4wMDMtLjM3LS4yMTUtLjY3Mi0uNDg1LS42NzR6JyBzdHlsZT0nY2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDolMjNmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6LjQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7YS5tYXBsaWJyZWdsLWN0cmwtbG9nb3tiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4OCcgaGVpZ2h0PScyMycgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZmlsbC1vcGFjaXR5PScuNCcgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMTcuNDA4IDE2Ljc5NmgtMS44MjdsMi41MDEtMTIuMDk1aC4xOThsMy4zMjQgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTkgMy4yNTgtNi41MzNoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTI5IDUuNjQ0aC0uMDk4bC0yLjkxNC01LjY0NC0uNzU3LTEuNzEtLjM0NSAxLjcxem0xLjk1OC0zLjQyLS43MjYgMy42NjNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMzIgMS4wMTFoLTEuODI3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI5LTEuNTA5bDIuNTAxLTEyLjA5NWExLjI1NSAxLjI1NSAwIDAgMSAxLjIzLTEuMDAxaC4xOTdhMS4yNSAxLjI1IDAgMCAxIDEuMTIuNjg1bDMuMTkgNi4yNzMgMy4xMjUtNi4yNjNhMS4yNSAxLjI1IDAgMCAxIDEuMTIzLS42OTVoLjE4MWExLjI1NSAxLjI1NSAwIDAgMSAxLjIyNy45OTFsMS40NDMgNi43MWE1IDUgMCAwIDEgLjMxNC0uNzg3bC4wMDktLjAxNmE0LjYgNC42IDAgMCAxIDEuNzc3LTEuODg3Yy43ODItLjQ2IDEuNjY4LS42NjcgMi42MTEtLjY2N2E0LjYgNC42IDAgMCAxIDEuNy4zMmwuMzA2LjEzNGMuMjEtLjE2LjQ3NC0uMjU2Ljc1OS0uMjU2aDEuNjk0YTEuMjU1IDEuMjU1IDAgMCAxIDEuMjEyLjkyNSAxLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi0uOTI1aDEuNzExYy4yODQgMCAuNTQ1LjA5NC43NTUuMjUyLjYxMy0uMyAxLjMxMi0uNDUgMi4wNzUtLjQ1IDEuMzU2IDAgMi41NTcuNDQ1IDMuNDgyIDEuNHEuNDcuNDguNzYzIDEuMDY0VjQuNzAxYTEuMjU1IDEuMjU1IDAgMCAxIDEuMjU1LTEuMjU1aDEuODZBMS4yNTUgMS4yNTUgMCAwIDEgNTQuNDQgNC43djkuMTk0aDIuMjE3Yy4xOSAwIC4zNy4wNDMuNTMyLjExOHYtNC43N2MwLS4zNTYuMTQ3LS42NzguMzg1LS45MDZhMi40MiAyLjQyIDAgMCAxLS42ODItMS43MWMwLS42NjUuMjY3LTEuMjUzLjczNS0xLjdhMi40NSAyLjQ1IDAgMCAxIDEuNzIyLS42NzQgMi40MyAyLjQzIDAgMCAxIDEuNzA1LjY3NXEuMzE4LjMwMi41MDQuNjgzVjQuN2ExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjc0NEExLjI1NSAxLjI1NSAwIDAgMSA2NS44MTIgNC43djMuMzM1YTQuOCA0LjggMCAwIDEgMS41MjYtLjI0NmMuOTM4IDAgMS44MTcuMjE0IDIuNTkuNjlhNC40NyA0LjQ3IDAgMCAxIDEuNjcgMS43NDN2LS45OGExLjI1NSAxLjI1NSAwIDAgMSAxLjI1Ni0xLjI1NmgxLjc3N2MuMjMzIDAgLjQ1MS4wNjQuNjM5LjE3NGEzLjQgMy40IDAgMCAxIDEuNTY3LS4zNzJjLjM0NiAwIC44NjEuMDIgMS4yODUuMjMyYTEuMjUgMS4yNSAwIDAgMSAuNjg5IDEuMDA0IDQuNyA0LjcgMCAwIDEgLjg1My0uNTg4Yy43OTUtLjQ0IDEuNjc1LS42NDcgMi42MS0uNjQ3IDEuMzg1IDAgMi42NS4zOSAzLjUyNSAxLjM5Ni44MzYuOTM4IDEuMTY4IDIuMTczIDEuMTY4IDMuNTI4cS0uMDAxLjUxNS0uMDU2IDEuMDUxYTEuMjU1IDEuMjU1IDAgMCAxLS45NDcgMS4wOWwuNDA4Ljk1MmExLjI1NSAxLjI1NSAwIDAgMS0uNDc3IDEuNTUyYy0uNDE4LjI2OC0uOTIuNDYzLTEuNDU4LjYxMi0uNjEzLjE3MS0xLjMwNC4yNDQtMi4wNDkuMjQ0LTEuMDYgMC0yLjA0My0uMjA3LTIuODg2LS42OThsLS4wMTUtLjAwOGMtLjc5OC0uNDgtMS40MTktMS4xMzUtMS44MTgtMS45NjNsLS4wMDQtLjAwOGE1LjggNS44IDAgMCAxLS41NDgtMi41MTJxMC0uNDI5LjA1My0uODQzYTEuMyAxLjMgMCAwIDEtLjMzMy0uMDg2bC0uMTY2LS4wMDRjLS4yMjMgMC0uNDI2LjA2Mi0uNjQzLjIyOC0uMDMuMDI0LS4xNDIuMTM5LS4xNDIuNTl2My44ODNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTZoLTEuNzc3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU2VjE1LjY5bC0uMDMyLjA1N2E0LjggNC44IDAgMCAxLTEuODYgMS44MzMgNS4wNCA1LjA0IDAgMCAxLTIuNDg0LjYzNCA0LjUgNC41IDAgMCAxLTEuOTM1LS40MjQgMS4yNSAxLjI1IDAgMCAxLS43NjQuMjU4aC0xLjcxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2LTEuMjU1VjcuNjg3YTIuNCAyLjQgMCAwIDEtLjQyOC42MjVjLjI1My4yMy40MTIuNTYxLjQxMi45M3Y3LjU1M2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NiAxLjI1NWgtMS44NDNhMS4yNSAxLjI1IDAgMCAxLS44OTQtLjM3M2MtLjIyOC4yMy0uNTQ0LjM3My0uODk0LjM3M0g1MS4zMmExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NXYtMS4yNTFsLS4wNjEuMTE3YTQuNyA0LjcgMCAwIDEtMS43ODIgMS44ODQgNC43NyA0Ljc3IDAgMCAxLTIuNDg1LjY3IDUuNiA1LjYgMCAwIDEtMS40ODUtLjE4OGwuMDA5IDIuNzY0YTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU1IDEuMjU5aC0xLjcyOWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NS0xLjI1NXYtMy41MzdhMS4yNTUgMS4yNTUgMCAwIDEtMS4xNjcuNzkzaC0xLjY3OWExLjI1IDEuMjUgMCAwIDEtLjc3LS4yNjMgNC41IDQuNSAwIDAgMS0xLjk0NS40MjljLS44ODUgMC0xLjcyNC0uMjEtMi40OTUtLjYzMmwtLjAxNy0uMDFhNSA1IDAgMCAxLTEuMDgxLS44MzYgMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTQgMS4zMTJoLTEuODFhMS4yNTUgMS4yNTUgMCAwIDEtMS4yMjgtLjk5bC0uNzgyLTMuNjI1LTIuMDQ0IDMuOTM5YTEuMjUgMS4yNSAwIDAgMS0xLjExNS42NzZoLS4wOThhMS4yNSAxLjI1IDAgMCAxLTEuMTE2LS42OGwtMi4wNjEtMy45OTR6TTM1LjkyIDE2LjYzbC4yMDctLjExNC4yMjMtLjE1cS40OTMtLjM1Ni43MzUtLjc4NWwuMDYxLS4xMTguMDMzIDEuMzMyaDEuNjc4VjkuMjQyaC0xLjY5NGwtLjAzMyAxLjI2N3EtLjEzMy0uMzI5LS41MjYtLjY1OGwtLjAzMi0uMDI4YTMuMiAzLjIgMCAwIDAtLjY2OC0uNDI4bC0uMjctLjEyYTMuMyAzLjMgMCAwIDAtMS4yMzUtLjIzcS0xLjEzNi0uMDAxLTEuOTc0LjQ5M2EzLjM2IDMuMzYgMCAwIDAtMS4zIDEuMzgycS0uNDQ1Ljg5LS40NDQgMi4wNzQgMCAxLjIuNTEgMi4xMDdhMy44IDMuOCAwIDAgMCAxLjM4MiAxLjM4MSAzLjkgMy45IDAgMCAwIDEuODkzLjQ3N3EuNzk1IDAgMS40NTUtLjMzem0tMi43ODktNS4zOHEtLjU3Ni42NzUtLjU3NSAxLjc2MiAwIDEuMTAyLjU1OSAxLjc5NC41NzYuNjc1IDEuNjQ1LjY3NWEyLjI1IDIuMjUgMCAwIDAgLjkzNC0uMTkgMi4yIDIuMiAwIDAgMCAuNDY4LS4yOWwuMTc4LS4xNjFhMi4yIDIuMiAwIDAgMCAuMzk3LS41NjFxLjI0NC0uNS4yNDQtMS4xNXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2wtLjA0My0uMDc3YTIuMiAyLjIgMCAwIDAtLjYzMy0uNzA5bC0uMTMtLjA4Ni0uMDQ3LS4wMjhhMi4xIDIuMSAwIDAgMC0xLjA3My0uMjg1cS0xLjA1MiAwLTEuNjI5LjY5MnptMi4zMTYgMi43MDZjLjE2My0uMTcuMjgtLjQwNy4yOC0uODN2LS4xMTRjMC0uMjkyLS4wNi0uNTA4LS4xNS0uNjhhLjk2Ljk2IDAgMCAwLS4zNTMtLjM4OS44NS44NSAwIDAgMC0uNDY0LS4xMjdjLS40IDAtLjU2LjExNC0uNjY0LjIzOWwtLjAxLjAxMmMtLjE0OC4xNzQtLjI3NS40NS0uMjc1Ljk0NSAwIC41MDYuMTIyLjgwMS4yNy45OS4wOTcuMTEuMjY2LjIyNC42OC4yMjQuMzAzIDAgLjUwNC0uMDkuNjg3LS4yNjl6bTcuNTQ1IDEuNzA1YTIuNiAyLjYgMCAwIDAgLjMzMS40MjNxLjMxOS4zMy43NTUuNTQ4bC4xNzMuMDc0cS42NS4yNTUgMS40OS4yNTUgMS4wMiAwIDEuODQ0LS40OTNhMy40NSAzLjQ1IDAgMCAwIDEuMzE2LTEuNHEuNDkzLS45MDQuNDkzLTIuMDg5IDAtMS45MDktLjk4OC0yLjkxMy0uOTg4LTEuMDItMi41ODQtMS4wMi0uODk4IDAtMS41NzUuMzQ3YTMgMyAwIDAgMC0uNDE1LjI2MmwtLjE5OS4xNjZhMy40IDMuNCAwIDAgMC0uNjQuODJWOS4yNDJoLTEuNzEydjExLjU1M2gxLjcyOWwtLjAxNy01LjEzNHptLjUzLTEuMTM4cS4yMDYuMjkuNDguNWwuMTU1LjExLjA1My4wMzRxLjUxLjI5NiAxLjExOS4yOTcgMS4wNyAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS40MzUgMC0uODM1LjE2YTIgMiAwIDAgMC0uMjg0LjEzNiAyIDIgMCAwIDAtLjM2My4yNTQgMi4yIDIuMiAwIDAgMC0uNDYuNTY5bC0uMDgyLjE2MmEyLjYgMi42IDAgMCAwLS4yMTMgMS4wNzJ2LjExNXEwIC43MDcuMjk2IDEuMjY3bC4xMzUuMjExem0uOTY0LS44MThhMS4xIDEuMSAwIDAgMCAuMzY3LjM4NS45NC45NCAwIDAgMCAuNDc2LjExOGMuNDIzIDAgLjU5LS4xMTcuNjg3LS4yMy4xNTktLjE5NC4yOC0uNDc4LjI4LS45NSAwLS41My0uMTMzLS44LS4yNjYtLjk1MmwtLjAyMS0uMDI1Yy0uMDc4LS4wOTQtLjIzMS0uMjIxLS42OC0uMjIxYTEgMSAwIDAgMC0uNTAzLjEzNWwtLjAxMi4wMDdhLjg2Ljg2IDAgMCAwLS4zMzUuMzQzYy0uMDczLjEzMy0uMTMyLjMyNC0uMTMyLjYxNHYuMTE1YTEuNCAxLjQgMCAwIDAgLjE0LjY2em0xNS43LTYuMjIycS4zNDctLjM0Ni4zNDYtLjg1NmExLjA1IDEuMDUgMCAwIDAtLjM0NS0uNzkgMS4xOCAxLjE4IDAgMCAwLS44NC0uMzI5cS0uNTEgMC0uODU1LjMzYTEuMDUgMS4wNSAwIDAgMC0uMzQ2Ljc5cTAgLjUxLjM0Ni44NTUuMzQ1LjM0Ni44NTYuMzQ2LjUxIDAgLjgzOS0uMzQ2em00LjMzNyA5LjMxNC4wMzMtMS4zMzJxLjE5MS40MDMuNTkuNzQ3bC4wOTguMDgxYTQgNCAwIDAgMCAuMzE2LjIyNGwuMjIzLjEyMmEzLjIgMy4yIDAgMCAwIDEuNDQuMzIyIDMuOCAzLjggMCAwIDAgMS44NzUtLjQ3NyAzLjUgMy41IDAgMCAwIDEuMzgyLTEuMzY2cS41MjctLjg5LjUyNi0yLjA5IDAtMS4xODQtLjQ0NC0yLjA3M2EzLjI0IDMuMjQgMCAwIDAtMS4yODMtMS4zOTlxLS44MjMtLjUxLTEuOTQyLS41MWEzLjUgMy41IDAgMCAwLTEuNTI3LjM0NGwtLjA4Ni4wNDMtLjE2NS4wOWEzIDMgMCAwIDAtLjMzLjIxNHEtLjQzMi4zMTUtLjY1Ni43MDdhMiAyIDAgMCAwLS4wOTkuMTk4bC4wODItMS4yODNWNC43MDFoLTEuNzQ0djEyLjA5NXptLjQ3My0yLjUwOWEyLjUgMi41IDAgMCAwIC41NjYuN3EuMTE3LjA5OC4yNDUuMThsLjE0NC4wOGEyLjEgMi4xIDAgMCAwIC45NzUuMjMycTEuMDcgMCAxLjY0NS0uNjc1LjU3Ni0uNjkuNTc2LTEuNzc4IDAtMS4xMDItLjU3Ni0xLjc3Ny0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMiAyLjIgMCAwIDAtMS4wMTUuMjM1cS0uMjIuMTEzLS40MTUuMjgybC0uMTUuMTQyYTIuMSAyLjEgMCAwIDAtLjQyLjU5NHEtLjIyMy40NzktLjIyMyAxLjF2LjExNXEwIC43MDUuMjkzIDEuMjZ6bTIuNjE2LS4yOTNjLjE1Ny0uMTkxLjI4LS40NzkuMjgtLjk2NyAwLS41MS0uMTMtLjc5LS4yNzYtLjk2MWwtLjAyMS0uMDI2Yy0uMDgyLS4xLS4yMzItLjIyNS0uNjctLjIyNWEuODcuODcgMCAwIDAtLjY4MS4yNzlsLS4wMTIuMDExYy0uMTU0LjE1NS0uMjc0LjM4LS4yNzQuODA3di4xMTVjMCAuMjg1LjA1Ny40OTkuMTQ0LjY2OWExLjEgMS4xIDAgMCAwIC4zNjcuNDA1Yy4xMzcuMDgyLjI4LjEyMy40NTUuMTIzLjQyMyAwIC41OS0uMTE4LjY4Ni0uMjN6bTguMjY2LTMuMDEzcS4zNDUtLjEzLjcyNC0uMTRsLjA2OS0uMDAycS40OTMgMCAuNjQyLjA5OWwuMjQ3LTEuNzk0cS0uMTk2LS4wOTktLjcxNy0uMDk5YTIuMyAyLjMgMCAwIDAtLjU0NS4wNjMgMiAyIDAgMCAwLS40MTEuMTQ4IDIuMiAyLjIgMCAwIDAtLjQuMjQ5IDIuNSAyLjUgMCAwIDAtLjQ4NS40OTkgMi43IDIuNyAwIDAgMC0uMzIuNTgxbC0uMDUuMTM3di0xLjQ4aC0xLjc3OHY3LjU1M2gxLjc3N3YtMy44ODRxMC0uNTQ2LjE1OS0uOTQzYTEuNSAxLjUgMCAwIDEgLjQ2Ni0uNjM2IDIuNSAyLjUgMCAwIDEgLjM5OS0uMjUzIDIgMiAwIDAgMSAuMjI0LS4wOTl6bTkuNzg0IDIuNjU2LjA1LS45MjJxMC0xLjc0My0uODU2LTIuNjk4LS44MzgtLjk3LTIuNTg0LS45Ny0xLjExOS0uMDAxLTIuMDA3LjQ5M2EzLjQ2IDMuNDYgMCAwIDAtMS40IDEuMzgycS0uNDkzLjkwNi0uNDkzIDIuMTA2IDAgMS4wNy40MjggMS45NzUuNDI4Ljg5IDEuMzMyIDEuNDMyLjkwNi41MjYgMi4yNTUuNTI2Ljk3MyAwIDEuNjY4LS4xODVsLjA0NC0uMDEyLjEzNS0uMDRxLjYxMy0uMTg0Ljk4NC0uNDIxbC0uNTQyLTEuMjY3cS0uMy4xNjItLjY0Mi4yNzRsLS4yOTcuMDg3cS0uNTEuMTMxLTEuMy4xMzEtLjk1NCAwLTEuNDk3LS40NDRhMS42IDEuNiAwIDAgMS0uMTkyLS4xOTNxLS4zNjYtLjQ0LS41MTItMS4yMzRsLS4wMDQtLjAyMXptLTUuNDI3LTEuMjU2LS4wMDMuMDIyaDMuNzUydi0uMTM4cS0uMDExLS43MjctLjI4OC0xLjExOGExIDEgMCAwIDAtLjE1Ni0uMTc2cS0uNDYtLjQyOC0xLjMxNi0uNDI4LS45ODYgMC0xLjQ5NC42MDQtLjM3OS40NS0uNDk0IDEuMjM0em0tMjcuMDUzIDIuNzdWNC43aC0xLjg2djEyLjA5NWg1LjMzM1YxNS4xNXptNy4xMDMtNS45MDh2Ny41NTNoLTEuODQzVjkuMjQyaDEuODQzeicvJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J20xOS42MyAxMS4xNTEtLjc1Ny0xLjcxLS4zNDUgMS43MS0xLjEyIDUuNjQ0aC0xLjgyN0wxOC4wODMgNC43aC4xOTdsMy4zMjUgNi41MzMuOTg4IDIuMTkuOTg4LTIuMTlMMjYuODM5IDQuN2guMTgxbDIuNiAxMi4wOTVoLTEuODFsLTEuMjE4LTUuNjQ0LS4zNjItMS43MS0uNjU4IDEuNzEtMi45MyA1LjY0NGgtLjA5OGwtMi45MTMtNS42NDR6bTE0LjgzNiA1LjgxcS0xLjAyIDAtMS44OTMtLjQ3OGEzLjggMy44IDAgMCAxLTEuMzgxLTEuMzgycS0uNTEtLjkwNi0uNTEtMi4xMDYgMC0xLjE4NS40NDQtMi4wNzRhMy4zNiAzLjM2IDAgMCAxIDEuMy0xLjM4MnEuODM5LS40OTQgMS45NzQtLjQ5NGEzLjMgMy4zIDAgMCAxIDEuMjM0LjIzMSAzLjMgMy4zIDAgMCAxIC45Ny41NzVxLjM5Ni4zMy41MjcuNjU5bC4wMzMtMS4yNjdoMS42OTR2Ny41NTNIMzcuMThsLS4wMzMtMS4zMzJxLS4yNzkuNTkzLTEuMDIgMS4wNTNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLjQ0NHptLjI5Ni0xLjQ4MnEuOTM4IDAgMS41OC0uNjQyLjY0Mi0uNjYuNjQyLTEuNzExdi0uMTE1cTAtLjcwOC0uMjk2LTEuMjY3YTIuMiAyLjIgMCAwIDAtLjgwNy0uODcyIDIuMSAyLjEgMCAwIDAtMS4xMTktLjMxM3EtMS4wNTMgMC0xLjYyOS42OTItLjU3NS42NzUtLjU3NSAxLjc2IDAgMS4xMDMuNTU5IDEuNzk1LjU3Ny42NzUgMS42NDUuNjc1em02LjUyMS02LjIzN2gxLjcxMXYxLjRxLjkwNi0xLjU5NyAyLjgzLTEuNTk3IDEuNTk2IDAgMi41ODQgMS4wMi45ODggMS4wMDUuOTg4IDIuOTE0IDAgMS4xODUtLjQ5MyAyLjA5YTMuNDYgMy40NiAwIDAgMS0xLjMxNiAxLjM5OSAzLjUgMy41IDAgMCAxLTEuODQ0LjQ5M3EtLjk1NCAwLTEuNjYyLS4zMjlhMi42NyAyLjY3IDAgMCAxLTEuMDg2LS45N2wuMDE3IDUuMTM0aC0xLjcyOHptNC4wNDggNi4yMnExLjA3IDAgMS42NDUtLjY3NC41NzctLjY5LjU3Ni0xLjc2MiAwLTEuMTE5LS41NzYtMS43NzctLjU1OC0uNjc1LTEuNjQ1LS42NzUtLjU5MiAwLTEuMTIuMjk2LS41MS4yOC0uODIyLjgyMy0uMjk2LjUyNy0uMjk2IDEuMjM0di4xMTVxMCAuNzA4LjI5NiAxLjI2Ny4zMTMuNTQzLjgyMy44NTUuNTEuMjk2IDEuMTE5LjI5N3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZTFlM2U5JyBkPSdNNTEuMzI1IDQuN2gxLjg2djEwLjQ1aDMuNDczdjEuNjQ2aC01LjMzM3ptNy4xMiA0LjU0MmgxLjg0M3Y3LjU1M2gtMS44NDN6bS45MDUtMS40MTVhMS4xNiAxLjE2IDAgMCAxLS44NTYtLjM0NiAxLjE3IDEuMTcgMCAwIDEtLjM0Ni0uODU2IDEuMDUgMS4wNSAwIDAgMSAuMzQ2LS43OXEuMzQ2LS4zMjkuODU2LS4zMjkuNDk0IDAgLjgzOS4zM2ExLjA1IDEuMDUgMCAwIDEgLjM0NS43OSAxLjE2IDEuMTYgMCAwIDEtLjM0NS44NTVxLS4zMy4zNDYtLjg0LjM0NnptNy44NzUgOS4xMzNhMy4xNyAzLjE3IDAgMCAxLTEuNjYyLS40NDRxLS43MjMtLjQ2LTEuMDA0LTEuMDUzbC0uMDMzIDEuMzMyaC0xLjcxVjQuNzAxaDEuNzQzdjQuNjU3bC0uMDgyIDEuMjgzcS4yNzktLjY1OCAxLjA4Ni0xLjExOWEzLjUgMy41IDAgMCAxIDEuNzc4LS40NzdxMS4xMTkgMCAxLjk0Mi41MWEzLjI0IDMuMjQgMCAwIDEgMS4yODMgMS40cS40NDUuODg4LjQ0NCAyLjA3MiAwIDEuMjAxLS41MjYgMi4wOWEzLjUgMy41IDAgMCAxLTEuMzgyIDEuMzY2IDMuOCAzLjggMCAwIDEtMS44NzYuNDc3em0tLjI5Ni0xLjQ4MXExLjA2OSAwIDEuNjQ1LS42NzUuNTc3LS42OS41NzctMS43NzggMC0xLjEwMi0uNTc3LTEuNzc2LS41Ni0uNjkxLTEuNjQ1LS42OTJhMi4xMiAyLjEyIDAgMCAwLTEuNTguNjU5cS0uNjQyLjY0MS0uNjQyIDEuNjk0di4xMTVxMCAuNzEuMjk2IDEuMjY3YTIuNCAyLjQgMCAwIDAgLjgwNy44NzIgMi4xIDIuMSAwIDAgMCAxLjExOS4zMTN6bTUuOTI3LTYuMjM3aDEuNzc3djEuNDgxcS4yNjMtLjc1Ny44NTYtMS4yMTdhMi4xNCAyLjE0IDAgMCAxIDEuMzQ5LS40NnEuNTI3IDAgLjcyNC4wOThsLS4yNDcgMS43OTRxLS4xNDktLjA5OS0uNjQyLS4wOTktLjc3NCAwLTEuNDE2LjQ5NC0uNjI2LjQ5My0uNjI2IDEuNTh2My44ODNoLTEuNzc3VjkuMjQyem05LjUzNCA3LjcxOHEtMS4zNSAwLTIuMjU1LS41MjYtLjkwNC0uNTQzLTEuMzMyLTEuNDMyYTQuNiA0LjYgMCAwIDEtLjQyOC0xLjk3NXEwLTEuMi40OTMtMi4xMDZhMy40NiAzLjQ2IDAgMCAxIDEuNC0xLjM4MnEuODg5LS40OTUgMi4wMDctLjQ5NCAxLjc0NCAwIDIuNTg0Ljk3Ljg1NS45NTYuODU2IDIuNyAwIC40NDQtLjA1LjkyaC01LjQzcS4xOCAxLjAwNS43MDggMS40NS41NDIuNDQzIDEuNDk3LjQ0My43OSAwIDEuMy0uMTMxYTQgNCAwIDAgMCAuOTM4LS4zNjJsLjU0MiAxLjI2N3EtLjQxMS4yNjMtMS4xMTkuNDYtLjcwOC4xOTgtMS43MTEuMTk3em0xLjU5Ni00LjU1OHEuMDE2LTEuMDItLjQ0NC0xLjQzMi0uNDYtLjQyOC0xLjMxNi0uNDI4LTEuNzI4IDAtMS45OTEgMS44NnonLyUzRSUzQ3BhdGggZD0nTTUuMDc0IDE1Ljk0OGEuNDg0LjY1NyAwIDAgMC0uNDg2LjY1OXYxLjg0YS40ODQuNjU3IDAgMCAwIC40ODYuNjU5aDQuMTAxYS40ODQuNjU3IDAgMCAwIC40ODYtLjY1OXYtMS44NGEuNDg0LjY1NyAwIDAgMC0uNDg2LS42NTl6bTMuNTYgMS4xNkg1LjYxN3YuODM4aDMuMDE3eicgc3R5bGU9J2ZpbGw6JTIzZmZmO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZS13aWR0aDoxLjAzNjAwMDAxJy8lM0UlM0NnIHN0eWxlPSdzdHJva2Utd2lkdGg6MS4xMjYwMzU0NSclM0UlM0NwYXRoIGQ9J00tOS40MDgtMS40MTZjLTMuODMzLS4wMjUtNy4wNTYgMi45MTItNy4wOCA2LjYxNS0uMDIgMy4wOCAxLjY1MyA0LjgzMiAzLjEwNyA2LjI2OC45MDMuODkyIDEuNzIxIDEuNzQgMi4zMiAyLjkwMmwtLjUyNS0uMDA0Yy0uNTQzLS4wMDMtLjk5Mi4zMDQtMS4yNC42MzlhMS44NyAxLjg3IDAgMCAwLS4zNjIgMS4xMjFsLS4wMTEgMS44NzdjLS4wMDMuNDAyLjEwNC43ODcuMzQ3IDEuMTI1LjI0NC4zMzguNjg4LjY1MyAxLjIzLjY1Nmw0LjE0Mi4wMjhjLjU0Mi4wMDMuOTktLjMwNiAxLjIzOC0uNjQxYTEuODcgMS44NyAwIDAgMCAuMzYzLTEuMTIxbC4wMTItMS44NzVhMS44NyAxLjg3IDAgMCAwLS4zNDgtMS4xMjdjLS4yNDMtLjMzOC0uNjg4LS42NTMtMS4yMy0uNjU2bC0uNTE4LS4wMDRjLjU5Ny0xLjE0NSAxLjQyNS0xLjk4MyAyLjM0OC0yLjg3IDEuNDczLTEuNDE0IDMuMTgtMy4xNDkgMy4yLTYuMjI2LS4wMTYtMy41OS0yLjkyMy02LjY4NC02Ljk5My02LjcwN20tLjAwNiAxLjF2LjAwMmMzLjI3NC4wMiA1LjkyIDIuNTMyIDUuOSA1LjYtLjAxNyAyLjcwNi0xLjM5IDQuMDI2LTIuODYzIDUuNDQtMS4wMzQuOTk0LTIuMTE4IDIuMDMzLTIuODE0IDMuNjMzLS4wMTguMDQxLS4wNTIuMDU1LS4wNzUuMDY1cS0uMDEzLjAwNC0uMDIuMDFhLjM0LjM0IDAgMCAxLS4yMjYuMDg0LjM0LjM0IDAgMCAxLS4yMjQtLjA4NmwtLjA5Mi0uMDc3Yy0uNjk5LTEuNjE1LTEuNzY4LTIuNjY5LTIuNzgxLTMuNjctMS40NTQtMS40MzUtMi43OTctMi43NjItMi43OC01LjQ3OC4wMi0zLjA2NyAyLjctNS41NDUgNS45NzUtNS41MjNtLS4wMiAyLjgyNmMtMS42Mi0uMDEtMi45NDQgMS4zMTUtMi45NTUgMi45Ni0uMDEgMS42NDYgMS4yOTUgMi45ODggMi45MTYgMi45OTloLjAwMmMxLjYyMS4wMSAyLjk0My0xLjMxNiAyLjk1My0yLjk2MS4wMTEtMS42NDYtMS4yOTQtMi45ODgtMi45MTYtMi45OThtLS4wMDUgMS4xYzEuMDE3LjAwNiAxLjgyOS44MyAxLjgyMiAxLjg5cy0uODMgMS44NzQtMS44NDggMS44NjdjLTEuMDE4LS4wMDYtMS44MjktLjgzLTEuODIyLTEuODlzLjgzLTEuODc0IDEuODQ4LTEuODY4bS0yLjE1NSAxMS44NTcgNC4xNC4wMjVjLjI3MS4wMDIuNDkuMzA1LjQ4Ny42NzZsLS4wMTMgMS44NzVjLS4wMDMuMzctLjIyNC42Ny0uNDk1LjY2OGwtNC4xNC0uMDI1Yy0uMjctLjAwMi0uNDg3LS4zMDYtLjQ4NS0uNjc2bC4wMTItMS44NzVjLjAwMy0uMzcuMjI0LS42Ny40OTQtLjY2OCcgc3R5bGU9J2NvbG9yOiUyMzAwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTptZWRpdW07bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6JTIzMDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7d3JpdGluZy1tb2RlOmxyLXRiO2RpcmVjdGlvbjpsdHI7dGV4dC1vcmllbnRhdGlvbjptaXhlZDtkb21pbmFudC1iYXNlbGluZTphdXRvO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtjb2xvci1pbnRlcnBvbGF0aW9uOnNSR0I7Y29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOmxpbmVhclJHQjtzb2xpZC1jb2xvcjolMjMwMDA7c29saWQtb3BhY2l0eToxO3ZlY3Rvci1lZmZlY3Q6bm9uZTtmaWxsOiUyMzAwMDtmaWxsLW9wYWNpdHk6LjQ7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO2NvbG9yLXJlbmRlcmluZzphdXRvO2ltYWdlLXJlbmRlcmluZzphdXRvO3NoYXBlLXJlbmRlcmluZzphdXRvO3RleHQtcmVuZGVyaW5nOmF1dG8nIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQ3BhdGggZD0nTS05LjQxNS0uMzE2Qy0xMi42OS0uMzM4LTE1LjM3IDIuMTQtMTUuMzkgNS4yMDdjLS4wMTcgMi43MTYgMS4zMjYgNC4wNDEgMi43OCA1LjQ3NyAxLjAxMyAxIDIuMDgxIDIuMDU1IDIuNzggMy42N2wuMDkyLjA3NmEuMzQuMzQgMCAwIDAgLjIyNS4wODYuMzQuMzQgMCAwIDAgLjIyNy0uMDgzbC4wMTktLjAxYy4wMjItLjAwOS4wNTctLjAyNC4wNzQtLjA2NC42OTctMS42IDEuNzgtMi42NCAyLjgxNC0zLjYzNCAxLjQ3My0xLjQxNCAyLjg0Ny0yLjczMyAyLjg2NC01LjQ0LjAyLTMuMDY3LTIuNjI3LTUuNTgtNS45MDEtNS42MDFtLS4wNTcgOC43ODRjMS42MjEuMDExIDIuOTQ0LTEuMzE1IDIuOTU1LTIuOTYuMDEtMS42NDYtMS4yOTUtMi45ODgtMi45MTYtMi45OTktMS42MjItLjAxLTIuOTQ1IDEuMzE1LTIuOTU1IDIuOTZzMS4yOTUgMi45ODkgMi45MTYgMycgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZTFlM2U5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tMTEuNTk0IDE1LjQ2NWMtLjI3LS4wMDItLjQ5Mi4yOTctLjQ5NC42NjhsLS4wMTIgMS44NzZjLS4wMDMuMzcxLjIxNC42NzMuNDg1LjY3NWw0LjE0LjAyN2MuMjcxLjAwMi40OTItLjI5OC40OTUtLjY2OGwuMDEyLTEuODc3Yy4wMDMtLjM3LS4yMTUtLjY3Mi0uNDg1LS42NzR6JyBzdHlsZT0nY2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDolMjNmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNDc3Mjc4MjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6LjQnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE1LjU1MyAyLjg1KXNjYWxlKC44ODgwNyknLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKX19Lm1hcGxpYnJlZ2wtY3RybC5tYXBsaWJyZWdsLWN0cmwtYXR0cmlie2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjUpO21hcmdpbjowO3BhZGRpbmc6MCA1cHh9QG1lZGlhIHNjcmVlbnsubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3R7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2NvbG9yOiMwMDA7bWFyZ2luOjEwcHg7bWluLWhlaWdodDoyMHB4O3BhZGRpbmc6MnB4IDI0cHggMnB4IDA7cG9zaXRpb246cmVsYXRpdmV9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0LXNob3d7cGFkZGluZzoycHggMjhweCAycHggOHB4O3Zpc2liaWxpdHk6dmlzaWJsZX0ubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1sZWZ0Pi5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdC1zaG93LC5tYXBsaWJyZWdsLWN0cmwtdG9wLWxlZnQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0LXNob3d7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MnB4IDhweCAycHggMjhweH0ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3QgLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItaW5uZXJ7ZGlzcGxheTpub25lfS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC41KTtiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbC1ydWxlPSdldmVub2RkJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNNCAxMGE2IDYgMCAxIDAgMTIgMCA2IDYgMCAxIDAtMTIgMG01LTNhMSAxIDAgMSAwIDIgMCAxIDEgMCAxIDAtMiAwbTAgM2ExIDEgMCAxIDEgMiAwdjNhMSAxIDAgMSAxLTIgMCcvJTNFJTNDL3N2ZyUzRVwiKTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjEycHg7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MjRweDtvdXRsaW5lOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt3aWR0aDoyNHB4fS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIHN1bW1hcnkubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2xpc3Qtc3R5bGU6bm9uZX0ubWFwbGlicmVnbC1jdHJsLWF0dHJpYiBzdW1tYXJ5Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItYnV0dG9uOjotd2Via2l0LWRldGFpbHMtbWFya2Vye2Rpc3BsYXk6bm9uZX0ubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1sZWZ0IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbiwubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbntsZWZ0OjB9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbiwubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Qtc2hvdyAubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1pbm5lcntkaXNwbGF5OmJsb2NrfS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdC1zaG93IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KX0ubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1yaWdodD4ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Q6YWZ0ZXJ7Ym90dG9tOjA7cmlnaHQ6MH0ubWFwbGlicmVnbC1jdHJsLXRvcC1yaWdodD4ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Q6YWZ0ZXJ7cmlnaHQ6MDt0b3A6MH0ubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0Pi5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdDphZnRlcntsZWZ0OjA7dG9wOjB9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdD4ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Q6YWZ0ZXJ7Ym90dG9tOjA7bGVmdDowfX1AbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdDphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nJTIzZmZmJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J000IDEwYTYgNiAwIDEgMCAxMiAwIDYgNiAwIDEgMC0xMiAwbTUtM2ExIDEgMCAxIDAgMiAwIDEgMSAwIDEgMC0yIDBtMCAzYTEgMSAwIDEgMSAyIDB2M2ExIDEgMCAxIDEtMiAwJy8lM0UlM0Mvc3ZnJTNFXCIpfX1AbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczphY3RpdmUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpey5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdDphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbC1ydWxlPSdldmVub2RkJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNNCAxMGE2IDYgMCAxIDAgMTIgMCA2IDYgMCAxIDAtMTIgMG01LTNhMSAxIDAgMSAwIDIgMCAxIDEgMCAxIDAtMiAwbTAgM2ExIDEgMCAxIDEgMiAwdjNhMSAxIDAgMSAxLTIgMCcvJTNFJTNDL3N2ZyUzRVwiKX19Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIgYXtjb2xvcjpyZ2JhKDAsMCwwLC43NSk7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIgYTpob3Zlcntjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lm1hcGxpYnJlZ2wtYXR0cmliLWVtcHR5e2Rpc3BsYXk6bm9uZX0ubWFwbGlicmVnbC1jdHJsLXNjYWxle2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjc1KTtib3JkZXI6MnB4IHNvbGlkICMzMzM7Ym9yZGVyLXRvcDojMzMzO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMzMzO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmc6MCA1cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5tYXBsaWJyZWdsLXBvcHVwe2Rpc3BsYXk6ZmxleDtsZWZ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWxsLWNoYW5nZTp0cmFuc2Zvcm19Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcCwubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLWxlZnQsLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcC1yaWdodHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbSwubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItYm90dG9tLWxlZnQsLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1yaWdodHtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItbGVmdHtmbGV4LWRpcmVjdGlvbjpyb3d9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5tYXBsaWJyZWdsLXBvcHVwLXRpcHtib3JkZXI6MTBweCBzb2xpZCB0cmFuc3BhcmVudDtoZWlnaHQ6MDt3aWR0aDowO3otaW5kZXg6MX0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wIC5tYXBsaWJyZWdsLXBvcHVwLXRpcHthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItYm90dG9tLWNvbG9yOiNmZmY7Ym9yZGVyLXRvcDpub25lfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci10b3AtbGVmdCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZjtib3JkZXItbGVmdDpub25lO2JvcmRlci10b3A6bm9uZX0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLXJpZ2h0IC5tYXBsaWJyZWdsLXBvcHVwLXRpcHthbGlnbi1zZWxmOmZsZXgtZW5kO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZjtib3JkZXItcmlnaHQ6bm9uZTtib3JkZXItdG9wOm5vbmV9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbSAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpjZW50ZXI7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci10b3AtY29sb3I6I2ZmZn0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItYm90dG9tLWxlZnQgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwe2FsaWduLXNlbGY6ZmxleC1zdGFydDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItdG9wLWNvbG9yOiNmZmZ9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1yaWdodCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpmbGV4LWVuZDtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLXRvcC1jb2xvcjojZmZmfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1sZWZ0IC5tYXBsaWJyZWdsLXBvcHVwLXRpcHthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodC1jb2xvcjojZmZmfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1yaWdodCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpjZW50ZXI7Ym9yZGVyLWxlZnQtY29sb3I6I2ZmZjtib3JkZXItcmlnaHQ6bm9uZX1bZGlyPXJ0bF0gLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWxlZnR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9W2Rpcj1ydGxdIC5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1yaWdodHtmbGV4LWRpcmVjdGlvbjpyb3d9W2Rpcj1ydGxdIC5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci10b3AtbGVmdCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpmbGV4LWVuZH1bZGlyPXJ0bF0gLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcC1yaWdodCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fVtkaXI9cnRsXSAubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItYm90dG9tLWxlZnQgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwe2FsaWduLXNlbGY6ZmxleC1lbmR9W2Rpcj1ydGxdIC5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1ib3R0b20tcmlnaHQgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwe2FsaWduLXNlbGY6ZmxleC1zdGFydH0ubWFwbGlicmVnbC1wb3B1cC1jbG9zZS1idXR0b257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjAgM3B4IDAgMDtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowfS5tYXBsaWJyZWdsLXBvcHVwLWNsb3NlLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KX0ubWFwbGlicmVnbC1wb3B1cC1jb250ZW50e2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjNweDtib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTtwYWRkaW5nOjE1cHggMTBweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci10b3AtbGVmdCAubWFwbGlicmVnbC1wb3B1cC1jb250ZW50e2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLXJpZ2h0IC5tYXBsaWJyZWdsLXBvcHVwLWNvbnRlbnR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItYm90dG9tLWxlZnQgLm1hcGxpYnJlZ2wtcG9wdXAtY29udGVudHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1yaWdodCAubWFwbGlicmVnbC1wb3B1cC1jb250ZW50e2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9Lm1hcGxpYnJlZ2wtcG9wdXAtdHJhY2stcG9pbnRlcntkaXNwbGF5Om5vbmV9Lm1hcGxpYnJlZ2wtcG9wdXAtdHJhY2stcG9pbnRlciAqe3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5tYXBsaWJyZWdsLW1hcDpob3ZlciAubWFwbGlicmVnbC1wb3B1cC10cmFjay1wb2ludGVye2Rpc3BsYXk6ZmxleH0ubWFwbGlicmVnbC1tYXA6YWN0aXZlIC5tYXBsaWJyZWdsLXBvcHVwLXRyYWNrLXBvaW50ZXJ7ZGlzcGxheTpub25lfS5tYXBsaWJyZWdsLW1hcmtlcntsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4yczt3aWxsLWNoYW5nZTp0cmFuc2Zvcm19Lm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3QsLm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3Q6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6IzFkYTFmMjtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6MTVweDt3aWR0aDoxNXB4fS5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90OmJlZm9yZXthbmltYXRpb246bWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWRvdC1wdWxzZSAycyBpbmZpbml0ZTtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGV9Lm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3Q6YWZ0ZXJ7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCAwIDNweCByZ2JhKDAsMCwwLC4zNSk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6XCJcIjtoZWlnaHQ6MTlweDtsZWZ0Oi0ycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0ycHg7d2lkdGg6MTlweH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsubWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWRvdDpiZWZvcmV7YW5pbWF0aW9uOm5vbmV9fUBrZXlmcmFtZXMgbWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWRvdC1wdWxzZXswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfTcwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKDMpfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMSl9fS5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90LXN0YWxle2JhY2tncm91bmQtY29sb3I6I2FhYX0ubWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWRvdC1zdGFsZTphZnRlcntkaXNwbGF5Om5vbmV9Lm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1hY2N1cmFjeS1jaXJjbGV7YmFja2dyb3VuZC1jb2xvcjojMWRhMWYyMzM7Ym9yZGVyLXJhZGl1czoxMDAlO2hlaWdodDoxcHg7d2lkdGg6MXB4fS5tYXBsaWJyZWdsLWNyb3NzaGFpciwubWFwbGlicmVnbC1jcm9zc2hhaXIgLm1hcGxpYnJlZ2wtaW50ZXJhY3RpdmUsLm1hcGxpYnJlZ2wtY3Jvc3NoYWlyIC5tYXBsaWJyZWdsLWludGVyYWN0aXZlOmFjdGl2ZXtjdXJzb3I6Y3Jvc3NoYWlyfS5tYXBsaWJyZWdsLWJveHpvb217YmFja2dyb3VuZDojZmZmO2JvcmRlcjoycHggZG90dGVkICMyMDIwMjA7aGVpZ2h0OjA7bGVmdDowO29wYWNpdHk6LjU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MH0ubWFwbGlicmVnbC1jb29wZXJhdGl2ZS1nZXN0dXJlLXNjcmVlbnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC40KTtjb2xvcjojZmZmO2Rpc3BsYXk6ZmxleDtmb250LXNpemU6MS40ZW07aW5zZXQ6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjEuMjtvcGFjaXR5OjA7cGFkZGluZzoxcmVtO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGVhc2UgMXM7ei1pbmRleDo5OTk5OX0ubWFwbGlicmVnbC1jb29wZXJhdGl2ZS1nZXN0dXJlLXNjcmVlbi5tYXBsaWJyZWdsLXNob3d7b3BhY2l0eToxO3RyYW5zaXRpb246b3BhY2l0eSAuMDVzfS5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmUtc2NyZWVuIC5tYXBsaWJyZWdsLW1vYmlsZS1tZXNzYWdle2Rpc3BsYXk6bm9uZX1AbWVkaWEgKGhvdmVyOm5vbmUpLChwb2ludGVyOmNvYXJzZSl7Lm1hcGxpYnJlZ2wtY29vcGVyYXRpdmUtZ2VzdHVyZS1zY3JlZW4gLm1hcGxpYnJlZ2wtZGVza3RvcC1tZXNzYWdle2Rpc3BsYXk6bm9uZX0ubWFwbGlicmVnbC1jb29wZXJhdGl2ZS1nZXN0dXJlLXNjcmVlbiAubWFwbGlicmVnbC1tb2JpbGUtbWVzc2FnZXtkaXNwbGF5OmJsb2NrfX0ubWFwbGlicmVnbC1wc2V1ZG8tZnVsbHNjcmVlbntoZWlnaHQ6MTAwJSFpbXBvcnRhbnQ7bGVmdDowIWltcG9ydGFudDtwb3NpdGlvbjpmaXhlZCFpbXBvcnRhbnQ7dG9wOjAhaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50O3otaW5kZXg6OTk5OTl9IixudWxsLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0JlYWNvbkxpc3RJdGVtIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctMTIgMDtcclxuXHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN5c3RlbTtcclxuXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5teF9CZWFjb25MaXN0SXRlbV9hdmF0YXJJY29uIHtcclxuICAgIGZsZXg6IDAgMDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG59XHJcblxyXG4ubXhfQmVhY29uTGlzdEl0ZW1fYXZhdGFyIHtcclxuICAgIGZsZXg6IDAgMDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGxvY2F0aW9uLWxpdmUtY29sb3I7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbi5teF9CZWFjb25MaXN0SXRlbV9pbmZvIHtcclxuICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG59XHJcblxyXG4ubXhfQmVhY29uTGlzdEl0ZW1fc3RhdHVzIHtcclxuICAgIC8qIG92ZXJyaWRlIGJlYWNvbiBzdGF0dXMgcGFkZGluZyAqL1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxuXHJcbiAgICAubXhfQmVhY29uU3RhdHVzX2xhYmVsIHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0JlYWNvbkxpc3RJdGVtX2xhc3RVcGRhdGVkIHtcclxuICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweDtcclxufVxyXG5cclxuLm14X0JlYWNvbkxpc3RJdGVtX2ludGVyYWN0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0JlYWNvblN0YXR1cyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblxyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTg7XHJcblxyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yKTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxufVxyXG5cclxuLm14X0JlYWNvblN0YXR1c19Mb2FkaW5nLFxyXG4ubXhfQmVhY29uU3RhdHVzX1N0b3BwZWQge1xyXG4gICAgLS1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9CZWFjb25TdGF0dXNfQWN0aXZlLFxyXG4ubXhfQmVhY29uU3RhdHVzX0Vycm9yIHtcclxuICAgIC0tY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9CZWFjb25TdGF0dXNfaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICB3aWR0aDogMzJweDtcclxuXHJcbiAgICBmbGV4OiAwIDAgMzJweDtcclxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X0JlYWNvblN0YXR1c19kZXNjcmlwdGlvbiB7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE0cHg7XHJcblxyXG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctODtcclxuXHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAubXhfQmVhY29uU3RhdHVzX2Rlc2NyaXB0aW9uX3N0YXR1cyB7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0JlYWNvblN0YXR1c19leHBpcnlUaW1lIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9CZWFjb25TdGF0dXNfbGFiZWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQmVhY29uU3RhdHVzVG9vbHRpcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDQycHg7XHJcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X0JlYWNvblN0YXR1c1Rvb2x0aXBfaW5uZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgYmFja2dyb3VuZDogJG1lbnUtYmctY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiA0cHggNHB4IDEycHggMCAkbWVudS1ib3gtc2hhZG93LWNvbG9yO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQmVhY29uVmlld0RpYWxvZ193cmFwcGVyIC5teF9EaWFsb2cge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG5cclxuICAgIC8qIFVuc2V0IGNvbnRhaW4gYW5kIHBvc2l0aW9uIHRvIGFsbG93IHRoZSBjbG9zZSBidXR0b25cclxuICAgIHRvIGFwcGVhciBvdXRzaWRlIHRoZSBkaWFsb2cgKi9cclxuICAgIGNvbnRhaW46IHVuc2V0O1xyXG4gICAgcG9zaXRpb246IHVuc2V0O1xyXG59XHJcblxyXG4ubXhfQmVhY29uVmlld0RpYWxvZyB7XHJcbiAgICAvKiBzdWJ0cmFjdCAwLjVweCB0byBwcmV2ZW50IHNpbmdsZS1waXhlbCBtYXJnaW4gZHVlIHRvIHJvdW5kaW5nICovXHJcbiAgICB3aWR0aDogY2FsYyg4MHZ3IC0gMC41cHgpO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDgwdmggLSAwLjVweCk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIC8qIHNpZGViYXIgaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkIGluc2lkZSAqL1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC5teF9EaWFsb2dfaGVhZGVyIHtcclxuICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xyXG5cclxuICAgICAgICAubXhfRGlhbG9nX3RpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9EaWFsb2dfY2FuY2VsQnV0dG9uIHtcclxuICAgICAgICAgICAgei1pbmRleDogNDAxMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICByaWdodDogNXZ3O1xyXG4gICAgICAgICAgICB0b3A6IDV2aDtcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpYWxvZy1jbG9zZS1leHRlcm5hbC1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9CZWFjb25WaWV3RGlhbG9nX21hcCB7XHJcbiAgICB3aWR0aDogODB2dztcclxuICAgIGhlaWdodDogODB2aDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLm14X0JlYWNvblZpZXdEaWFsb2dfbWFwRmFsbGJhY2tNZXNzYWdlIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcclxufVxyXG5cclxuLm14X0JlYWNvblZpZXdEaWFsb2dfdmlld0xpc3RCdXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAkc3BhY2luZy0yNDtcclxuICAgIGxlZnQ6ICRzcGFjaW5nLTI0O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGlhbG9nT3duQmVhY29uU3RhdHVzIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogJHNwYWNpbmctMzI7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTE1MHB4O1xyXG4gICAgbGVmdDogNTAlO1xyXG5cclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYm94LXNoYWRvdzogNHB4IDRweCAxMnB4IDAgJG1lbnUtYm94LXNoYWRvdy1jb2xvcjtcclxuXHJcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTEyO1xyXG59XHJcblxyXG4ubXhfRGlhbG9nT3duQmVhY29uU3RhdHVzX2F2YXRhckljb24ge1xyXG4gICAgZmxleDogMCAwO1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbiAgICBtYXJnaW46ICRzcGFjaW5nLTggMCAkc3BhY2luZy04IDA7XHJcbn1cclxuXHJcbi5teF9EaWFsb2dPd25CZWFjb25TdGF0dXNfYXZhdGFyIHtcclxuICAgIGZsZXg6IDAgMDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGxvY2F0aW9uLWxpdmUtY29sb3I7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBtYXJnaW46ICRzcGFjaW5nLTggMCAkc3BhY2luZy04IDA7XHJcbn1cclxuXHJcbi5teF9EaWFsb2dPd25CZWFjb25TdGF0dXNfc3RhdHVzIHtcclxuICAgIGZsZXg6IDEgMTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EaWFsb2dTaWRlYmFyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMjY1cHg7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTE2O1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDRweCA0cHggJG1lbnUtYm94LXNoYWRvdy1jb2xvcjtcclxuXHJcbiAgICAubXhfRGlhbG9nU2lkZWJhcl9oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgIGZsZXg6IDAgMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcclxuXHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIC5teF9EaWFsb2dTaWRlYmFyX2Nsb3NlQnV0dG9uSWNvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ1NpZGViYXJfbGlzdCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmbGV4OiAxIDEgMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLm14X0RpYWxvZ1NpZGViYXJfbm9SZXN1bHRzIHtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTGVmdFBhbmVsTGl2ZVNoYXJlV2FybmluZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgcGFkZGluZzogJHNwYWNpbmctNDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEwcHg7XHJcblxyXG4gICAgLyogcGFuZWwgYmFja2Ryb3BzIG92ZXJsYXkgdGhlIHdob2xlIHNpZGVwYW5lbCAqL1xyXG4gICAgLyogZ28gYWJvdmUgdG8gZ2V0IGhvdmVyIGZvciB0aXRsZSAqL1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG5cclxuLm14X0xlZnRQYW5lbExpdmVTaGFyZVdhcm5pbmdfX2Vycm9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xpdmVUaW1lUmVtYWluaW5nIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Pd25CZWFjb25TdGF0dXNfYnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04O1xyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9Pd25CZWFjb25TdGF0dXNfYnV0dG9uIHtcclxuICAgIC8qIGFsaWduIHRvIHRvcCB0byBtYWtlIHJvb20gZm9yIHRpbWVzdGFtcCAqL1xyXG4gICAgLyogaW4gYnViYmxlIHZpZXcgKi9cclxuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xyXG59XHJcblxyXG4ubXhfT3duQmVhY29uU3RhdHVzX2Rlc3RydWN0aXZlQnV0dG9uIHtcclxuICAgIC8qIG92ZXJyaWRlIGJ1dHRvbiBsaW5rX2lubGluZSBzdHlsZXMgKi9cclxuICAgIGNvbG9yOiAkYWxlcnQgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TaGFyZUxhdGVzdExvY2F0aW9uX2ljb24ge1xyXG4gICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgd2lkdGg6IDEzcHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG59XHJcblxyXG4vKiBkb3VibGUgY2xhc3MgdG8gYmUgbW9yZSBzcGVjaWZpYyB0aGFuIHRoZSBnZW5lcmFsIG14X0NvcHlhYmxlVGV4dCBDU1MgcnVsZSAqL1xyXG4ubXhfQ29weWFibGVUZXh0Lm14X1NoYXJlTGF0ZXN0TG9jYXRpb25fY29weSB7XHJcbiAgICAvKiBvdmVycmlkZSBjb3B5YWJsZSB0ZXh0IHN0eWxlIHRvIG1ha2UgY29tcGFjdCAqL1xyXG4gICAgLm14X0NvcHlhYmxlVGV4dF9jb3B5QnV0dG9uIHtcclxuICAgICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTggIWltcG9ydGFudDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgIHdpZHRoOiAxM3B4O1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTNweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3R5bGVkTGl2ZUJlYWNvbkljb24ge1xyXG4gICAgZmxleC1ncm93OiAwO1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsb2NhdGlvbi1saXZlLWNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkbG9jYXRpb24tbGl2ZS1jb2xvcjtcclxuICAgIHBhZGRpbmc6IDJweDtcclxuICAgIC8qIGNvbG9ycyBpY29uICovXHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5teF9TdHlsZWRMaXZlQmVhY29uSWNvbi5teF9TdHlsZWRMaXZlQmVhY29uSWNvbl9lcnJvciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XHJcbiAgICBib3JkZXItY29sb3I6ICRhbGVydDtcclxufVxyXG5cclxuLm14X1N0eWxlZExpdmVCZWFjb25JY29uLm14X1N0eWxlZExpdmVCZWFjb25JY29uX2lkbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHF1YXRlcm5hcnktY29udGVudDtcclxuICAgIGJvcmRlci1jb2xvcjogJHF1YXRlcm5hcnktY29udGVudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0tlYmFiQ29udGV4dE1lbnVfaWNvbiB7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIGNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Qb2xsRGV0YWlsSGVhZGVyIHtcclxuICAgIC8qIG92ZXJyaWRlIGFjY2Vzc2libGVidXR0b24gc3R5bGUgKi9cclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubXhfUG9sbERldGFpbEhlYWRlcl9pY29uIHtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1BvbGxMaXN0SXRlbSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm14X1BvbGxMaXN0SXRlbV9jb250ZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTg7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfUG9sbExpc3RJdGVtX2ljb24ge1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBjb2xvcjogJHF1YXRlcm5hcnktY29udGVudDtcclxuICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X1BvbGxMaXN0SXRlbV9xdWVzdGlvbiB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUG9sbExpc3RJdGVtRW5kZWQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9Qb2xsTGlzdEl0ZW1FbmRlZF9jb250ZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLm14X1BvbGxMaXN0SXRlbUVuZGVkX3RpdGxlIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCAxZnIgbWluLWNvbnRlbnQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XHJcbn1cclxuXHJcbi5teF9Qb2xsTGlzdEl0ZW1FbmRlZF9pY29uIHtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbi5teF9Qb2xsTGlzdEl0ZW1FbmRlZF9kYXRlIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9Qb2xsTGlzdEl0ZW1FbmRlZF9xdWVzdGlvbiB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfYW5zd2VycyB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTI7XHJcbn1cclxuXHJcbi5teF9Qb2xsTGlzdEl0ZW1FbmRlZF92b3RlQ291bnQge1xyXG4gICAgLyogNnB4IHRvIG1hdGNoIFBvbGxPcHRpb24gcGFkZGluZyAqL1xyXG4gICAgbWFyZ2luOiAkc3BhY2luZy04IDAgMCA2cHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5LTIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0FwcFBlcm1pc3Npb24ge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgd2lkdGg6IDEwMCU7IC8qIG1ha2UgbXhfQXBwUGVybWlzc2lvbiBmaWxsIHdpZHRoIG9mIG14X0FwcFRpbGVCb2R5IHNvIHRoYXQgc2Nyb2xsIGJhciBhcHBlYXJzIG9uIHRoZSBlZGdlICovXHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAubXhfQXBwUGVybWlzc2lvbl9ib2xkZXIsXHJcbiAgICAubXhfQXBwUGVybWlzc2lvbl9jb250ZW50X2JvbGRlciB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB9XHJcbiAgICAubXhfQXBwUGVybWlzc2lvbl9jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tYmxvY2s6IGF1dG87IC8qIHBsYWNlIGF0IHRoZSBjZW50ZXIgKi9cclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDEycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVGV4dFdpdGhUb29sdGlwX3RhcmdldC0taGVscEljb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvbnQtMTRweDsgLyogYWxpZ24gd2l0aCBjaGFyYWN0ZXJzIG9uIHRoZSBzYW1lIGxpbmUgKi9cclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICAgICAgICAgIC5teF9JY29uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBTdWd1cnUgSGlyYWhhcmFcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0FwcFdhcm5pbmcge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xNnB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgaDQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRmlsdGVyRHJvcGRvd24ge1xyXG4gICAgLm14X0Ryb3Bkb3duX21lbnUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgbGVmdDogdW5zZXQ7XHJcbiAgICAgICAgcmlnaHQ6IC0kc3BhY2luZy0xMjtcclxuICAgICAgICB3aWR0aDogMjMycHg7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctMTI7XHJcblxyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYigyMywgMjUsIDI4LCAwLjA1KTtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcclxuXHJcbiAgICAgICAgLm14X0Ryb3Bkb3duX29wdGlvbl9oaWdobGlnaHQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Ryb3Bkb3duX2lucHV0IHtcclxuICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHJcbiAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRHJvcGRvd25fYXJyb3cge1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9GaWx0ZXJEcm9wZG93bl9vcHRpb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctOCAwICRzcGFjaW5nLTggJHNwYWNpbmctMjA7XHJcblxyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxufVxyXG5cclxuLm14X0ZpbHRlckRyb3Bkb3duX29wdGlvblNlbGVjdGVkSWNvbiB7XHJcbiAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICB3aWR0aDogMTRweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogJHNwYWNpbmctODtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5teF9GaWx0ZXJEcm9wZG93bl9vcHRpb25MYWJlbCB7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubXhfRmlsdGVyRHJvcGRvd25fb3B0aW9uRGVzY3JpcHRpb24ge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9GaWx0ZXJUYWJHcm91cCB7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTEyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICYgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Y2hlY2tlZCArIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIC8qIHVuZGVybGluZSAqL1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEuNXB4IDAgMCBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTGVhcm5Nb3JlX2J1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctNDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0VuYWJsZUxpdmVTaGFyZSB7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgcGFkZGluZzogJHNwYWNpbmctMzIgJHNwYWNpbmctMTY7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4ubXhfRW5hYmxlTGl2ZVNoYXJlX2hlYWRpbmcge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTI0O1xyXG59XHJcblxyXG4ubXhfRW5hYmxlTGl2ZVNoYXJlX2ljb24ge1xyXG4gICAgaGVpZ2h0OiA1OHB4O1xyXG4gICAgd2lkdGg6IDU4cHg7XHJcbn1cclxuXHJcbi5teF9FbmFibGVMaXZlU2hhcmVfZGVzY3JpcHRpb24ge1xyXG4gICAgcGFkZGluZzogMCAkc3BhY2luZy0yNDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTMyO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XHJcbn1cclxuXHJcbi5teF9FbmFibGVMaXZlU2hhcmVfYnV0dG9uIHtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTMyO1xyXG4gICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MaXZlRHVyYXRpb25Ecm9wZG93biB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xvY2F0aW9uU2hhcmVNZW51IHtcclxuICAgIHdpZHRoOiAzNzVweDtcclxuICAgIGhlaWdodDogNDYwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01hcEVycm9yIHtcclxuICAgIHBhZGRpbmc6IDEwMHB4ICRzcGFjaW5nLTMyIDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLS1teC1tYXAtZXJyb3ItaWNvbi1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgLS1teC1tYXAtZXJyb3ItaWNvbi1zaXplOiA1OHB4O1xyXG59XHJcblxyXG4ubXhfTWFwRXJyb3IubXhfTWFwRXJyb3JfaXNNaW5pbWlzZWQge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTI0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVscztcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNnB4O1xyXG5cclxuICAgIC0tbXgtbWFwLWVycm9yLWljb24tY29sb3I6ICRhbGVydDtcclxuICAgIC0tbXgtbWFwLWVycm9yLWljb24tc2l6ZTogMjZweDtcclxuXHJcbiAgICAubXhfTWFwRXJyb3JfbWVzc2FnZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIG1heC13aWR0aDogMjc1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01hcEVycm9yX2hlYWRpbmcge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy04O1xyXG4gICAgICAgIC8qIG92ZXJyaWRlIGgzIGhlYWRpbmcgc2l6ZSAqL1xyXG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X01hcEVycm9yX21lc3NhZ2Uge1xyXG4gICAgbWFyZ2luOiAkc3BhY2luZy0xNiAwICRzcGFjaW5nLTMyO1xyXG59XHJcblxyXG4ubXhfTWFwRXJyb3JfaGVhZGluZyB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctMjQ7XHJcbn1cclxuXHJcbi5teF9NYXBFcnJvcl9pY29uIHtcclxuICAgIGhlaWdodDogdmFyKC0tbXgtbWFwLWVycm9yLWljb24tc2l6ZSk7XHJcbiAgICB3aWR0aDogdmFyKC0tbXgtbWFwLWVycm9yLWljb24tc2l6ZSk7XHJcbiAgICBjb2xvcjogdmFyKC0tbXgtbWFwLWVycm9yLWljb24tY29sb3IpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWFwRmFsbGJhY2sge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xyXG59XHJcblxyXG4ubXhfTWFwRmFsbGJhY2tfYmcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICBjb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ubXhfTWFwRmFsbGJhY2tfaWNvbiB7XHJcbiAgICB3aWR0aDogNjVweDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTE2O1xyXG4gICAgY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NYXJrZXJfZGVmYXVsdENvbG9yIHtcclxuICAgIGNvbG9yOiAkYWNjZW50O1xyXG59XHJcblxyXG4ubXhfTWFya2VyX2JvcmRlciB7XHJcbiAgICB3aWR0aDogNDJweDtcclxuICAgIGhlaWdodDogNDJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDNweCA1cHggcmdiKDAsIDAsIDAsIDAuMikpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgLyogY2FyZXQgZG93biAqL1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAtNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTWFya2VyX2ljb24ge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TaGFyZURpYWxvZ0J1dHRvbnMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbn1cclxuXHJcbmJ1dHRvbi5teF9TaGFyZURpYWxvZ0J1dHRvbnNfYnV0dG9uIHtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgIG9wYWNpdHk6IDAuODtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6ICRzcGFjaW5nLTE2O1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgICYubGVmdCB7XHJcbiAgICAgICAgbGVmdDogJHNwYWNpbmctMTY7XHJcbiAgICB9XHJcblxyXG4gICAgJi5yaWdodCB7XHJcbiAgICAgICAgcmlnaHQ6ICRzcGFjaW5nLTE2O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU2hhcmVEaWFsb2dCdXR0b25zX2J1dHRvbi1pY29uIHtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luOiAycHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TaGFyZVR5cGUge1xyXG4gICAgZmxleDogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBwYWRkaW5nOiA2MHB4ICRzcGFjaW5nLTEyICRzcGFjaW5nLTMyO1xyXG5cclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICAgIC5teF9TaGFyZVR5cGVfd3JhcHBlcl9vcHRpb25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcm93LWdhcDogJHNwYWNpbmctMTI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTI7XHJcblxyXG4gICAgICAgIC5teF9TaGFyZVR5cGVfb3B0aW9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy04ICRzcGFjaW5nLTIwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG5cclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TaGFyZVR5cGVfYmFkZ2Uge1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgd2lkdGg6IDYwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0yMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3JkZXI6IDE0cHggc29saWQgJGFjY2VudDtcclxuICAgIC8qIGNvbG9ycyBpY29uICovXHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4ubXhfU2hhcmVUeXBlX2hlYWRpbmcge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTMyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfU2hhcmVUeXBlX29wdGlvbi1pY29uIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctMTI7XHJcbiAgICBmbGV4OiAwIDAgNDBweDtcclxuICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcbiAgICAvKiBMaXZlIGlzIHN0eWxlZCBieSBTdHlsZWRMaXZlQmVhY29uSWNvbiAqL1xyXG5cclxuICAgICYuT3duIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5QaW4ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDdweDtcclxuICAgICAgICAvKiBjb2xvcnMgaWNvbiAqL1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1pvb21CdXR0b25zIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogJHNwYWNpbmctMzI7XHJcbiAgICByaWdodDogJHNwYWNpbmctMjQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHJvdy1nYXA6ICRzcGFjaW5nLTg7XHJcblxyXG4gICAgLm14X1pvb21CdXR0b25zX2J1dHRvbiB7XHJcbiAgICAgICAgJFpvb21CdXR0b25zX2J1dHRvbi1zaXplOiAyNHB4O1xyXG5cclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGhlaWdodDogJFpvb21CdXR0b25zX2J1dHRvbi1zaXplO1xyXG4gICAgICAgIHdpZHRoOiAkWm9vbUJ1dHRvbnNfYnV0dG9uLXNpemU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCAxMnB4IHJnYigwLCAwLCAwLCAwLjI1KTtcclxuXHJcbiAgICAgICAgLm14X1pvb21CdXR0b25zX2ljb24ge1xyXG4gICAgICAgICAgICAkWm9vbUJ1dHRvbnNfaWNvbi1zaXplOiAxMnB4O1xyXG5cclxuICAgICAgICAgICAgaGVpZ2h0OiAkWm9vbUJ1dHRvbnNfaWNvbi1zaXplO1xyXG4gICAgICAgICAgICB3aWR0aDogJFpvb21CdXR0b25zX2ljb24tc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTUJlYWNvbkJvZHkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAyMjBweDtcclxuICAgIG1heC13aWR0aDogMzI1cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1NQm9keS1ib3JkZXItcmFkaXVzKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5teF9NQmVhY29uQm9keS5teF9NQmVhY29uQm9keV93aXRob3V0TWFwIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAubXhfTUJlYWNvbkJvZHlfY2hpbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTUJlYWNvbkJvZHlfd2l0aG91dE1hcENvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVscztcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLm14X01CZWFjb25Cb2R5X3dpdGhvdXRNYXBJbmZvTGFzdFVwZGF0ZWQge1xyXG4gICAgLyogNDhweCBsaW5lcyB1cCB3aXRoIGljb24gaW4gQmVhY29uU3RhdHVzICovXHJcbiAgICBtYXJnaW4tdG9wOiAtJHNwYWNpbmctODtcclxuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctOCAkc3BhY2luZy04IDQ4cHg7XHJcblxyXG4gICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMHB4O1xyXG59XHJcblxyXG4ubXhfTUJlYWNvbkJvZHlfbWFwIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogMDsgLyoga2VlcHMgdGhlIGVudGlyZSBtYXAgdW5kZXIgdGhlIG1lc3NhZ2UgYWN0aW9uIGJhcnMgKi9cclxuXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5teF9NQmVhY29uQm9keV9tYXBGYWxsYmFjayxcclxuLm14X01CZWFjb25Cb2R5X21hcEVycm9yIHtcclxuICAgIC8qIHB1c2hlcyBzcGlubmVyL2ljb24gdXAgKi9cclxuICAgIC8qIHRvIGFwcGVhciBtb3JlIGNlbnRlcmVkIHdpdGggdGhlIGZvb3RlciAqL1xyXG4gICAgcGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm14X01CZWFjb25Cb2R5X21hcEVycm9ySW50ZXJhY3RpdmUge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubXhfTUJlYWNvbkJvZHlfbWFwRmFsbGJhY2sge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4ubXhfTUJlYWNvbkJvZHlfY2hpbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICBvcGFjaXR5OiAwLjg1O1xyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTUJlYWNvbkJvZHkge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDQ1MHB4O1xyXG59XHJcblxyXG4ubXhfUmVwbHlUaWxlIC5teF9NQmVhY29uQm9keSB7XHJcbiAgICAvKiBQcmV2ZW50IGNsaWNraW5nIGEgYmVhY29uIHdpdGhpbiBhIHJlcGx5ICovXHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01lZGlhUHJvY2Vzc2luZ0Vycm9yX0ljb24ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy00O1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUG9sbE9wdGlvbiB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgcGFkZGluZzogNnB4IDEycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCxcclxuICAgIC5teF9Qb2xsT3B0aW9uX2VuZGVkT3B0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMnB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9zcGFjZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Qb2xsT3B0aW9uLFxyXG4vKiBsYWJlbCBoYXMgY3Vyc29yOiBkZWZhdWx0IGluIHVzZXItYWdlbnQgc3R5bGVzaGVldCAqL1xyXG4vKiBvdmVycmlkZSAqL1xyXG4ubXhfUG9sbE9wdGlvbl9saXZlLW9wdGlvbiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5teF9Qb2xsT3B0aW9uX2NvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLm14X1BvbGxPcHRpb25fb3B0aW9uVm90ZUNvdW50IHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4ubXhfUG9sbE9wdGlvbl93aW5uZXJJY29uIHtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4ubXhfUG9sbE9wdGlvbl9jaGVja2VkIHtcclxuICAgIC5teF9Qb2xsT3B0aW9uX3BvcHVsYXJpdHlCYWNrZ3JvdW5kIHtcclxuICAgICAgICAubXhfUG9sbE9wdGlvbl9wb3B1bGFyaXR5QW1vdW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIG92ZXJyaWRlIGNoZWNrZWQgcmFkaW8gYnV0dG9uIHN0eWxpbmcgdG8gc2hvdyBjaGVja21hcmsgaW5zdGVhZCAqL1xyXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NoZWNrZWQge1xyXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgZGl2IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcblxyXG4gICAgICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUG9sbE9wdGlvbl9lbmRlZC5teF9Qb2xsT3B0aW9uX2NoZWNrZWQge1xyXG4gICAgLm14X1BvbGxPcHRpb25fcG9wdWxhcml0eUJhY2tncm91bmQge1xyXG4gICAgICAgIC5teF9Qb2xsT3B0aW9uX3BvcHVsYXJpdHlBbW91bnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtdGVydGlhcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBvdmVycmlkZSBjaGVja2VkIHJhZGlvIGJ1dHRvbiBzdHlsaW5nIHRvIHNob3cgY2hlY2ttYXJrIGluc3RlYWQgKi9cclxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jaGVja2VkIHtcclxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGRpdiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIG9wdGlvbnMgbm90IGFjdGlvbmFibGUgaW4gdGhlc2Ugc3RhdGVzICovXHJcbi5teF9Qb2xsT3B0aW9uX2NoZWNrZWQsXHJcbi5teF9Qb2xsT3B0aW9uX2VuZGVkIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ubXhfUG9sbE9wdGlvbl9wb3B1bGFyaXR5QmFja2dyb3VuZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogOHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XHJcblxyXG4gICAgLm14X1BvbGxPcHRpb25fcG9wdWxhcml0eUFtb3VudCB7XHJcbiAgICAgICAgd2lkdGg6IDAlO1xyXG4gICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLypcclxuICogVGhlc2UgdXNlZCB0byBsaXZlIGluIEdlbmVyYWwgVXNlciBTZXR0aW5ncy4gVGhlc2UgY29tcG9uZW50cyBhcmUgaG9ycmlibHkgZHVwbGljYXRpdmVcclxuICogYnV0IHNoYXJlIHRoZSBzYW1lIHN0eWxlcy4gRm9yIG5vdyBJJ20gcHV0dGluZyB0aGVtIGhlcmUgc28gSSBjYW4gcmVuYW1lZCB0aGUgZ2VuZXJhbFxyXG4gKiB0YWIgc2Vuc2libHkgYW5kIGJlZm9yZSBJIGNhbiByZWZhY3RvciB0aGVzZSBjb21wb25lbnRzLlxyXG4gKi9cclxuXHJcbi5teF9BZGRSZW1vdmVUaHJlZXBpZHNfZXhpc3Rpbmcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9BZGRSZW1vdmVUaHJlZXBpZHNfZXhpc3RpbmdfYWRkcmVzcyxcclxuLm14X0FkZFJlbW92ZVRocmVlcGlkc19leGlzdGluZ19wcm9tcHRUZXh0IHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5teF9BZGRSZW1vdmVUaHJlZXBpZHNfZXhpc3RpbmdfYnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcbi5teF9FbWFpbEFkZHJlc3Nlc1Bob25lTnVtYmVyc192ZXJpZnkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLm14X0VtYWlsQWRkcmVzc2VzUGhvbmVOdW1iZXJzX2V4aXN0aW5nX2J1dHRvbiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xyXG59XHJcblxyXG4ubXhfRW1haWxBZGRyZXNzZXNQaG9uZU51bWJlcnNfdmVyaWZ5X2luc3RydWN0aW9ucyB7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ3VycmVudERldmljZVNlY3Rpb25fZGV2aWNlRGV0YWlscyB7XHJcbiAgICAvKiBhbGlnbiB3aXRoIHRleHQgb2Ygc2Vzc2lvbiB0aWxlICovXHJcbiAgICBtYXJnaW4tbGVmdDogNTZweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0RldmljZURldGFpbEhlYWRpbmcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfRGV2aWNlRGV0YWlsSGVhZGluZ19yZW5hbWVDdGEge1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nX3JlbmFtZUZvcm0ge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogJHNwYWNpbmctMTY7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nX3JlbmFtZUZvcm1CdXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG5cclxuICAgIC5teF9TcGlubmVyIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nX3JlbmFtZUZvcm1JbnB1dCB7XHJcbiAgICAvKiBvdmVycmlkZSBmaWVsZCBzdHlsZXMgKi9cclxuICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLTQgMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubXhfRGV2aWNlRGV0YWlsSGVhZGluZ19yZW5hbWVGb3JtSGVhZGluZyB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nX3JlbmFtZUZvcm1FcnJvciB7XHJcbiAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctNDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGV2aWNlRGV0YWlscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTY7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0yNDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VEZXRhaWxzX3NlY3Rpb24ge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTIwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMjA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuXHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAkc3BhY2luZy0yNDtcclxuICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0RldmljZURldGFpbHNfc2VjdGlvbkhlYWRpbmcge1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cclxuICAgIC5teF9EZXZpY2VEZXRhaWxzX3NlY3Rpb25TdWJoZWFkaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTRweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy00O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRGV2aWNlRGV0YWlsc19tZXRhZGF0YVRhYmxlIHtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG5cclxuICAgIHRoIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14RGV2aWNlRGV0YWlsc19tZXRhZGF0YUxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14RGV2aWNlRGV0YWlsc19tZXRhZGF0YVZhbHVlIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0RldmljZURldGFpbHNfc2lnbk91dEJ1dHRvbkNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAkc3BhY2luZy00O1xyXG59XHJcblxyXG4ubXhfRGV2aWNlRGV0YWlsc19wdXNoTm90aWZpY2F0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC5teF9Ub2dnbGVTd2l0Y2gge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0RldmljZUV4cGFuZERldGFpbHNCdXR0b24ge1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xyXG5cclxuICAgIC0taWNvbi10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uLm14X0RldmljZUV4cGFuZERldGFpbHNCdXR0b25fZXhwYW5kZWQge1xyXG4gICAgLS1pY29uLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICRzeXN0ZW07XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHF1aW5hcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0RldmljZUV4cGFuZERldGFpbHNCdXR0b25faWNvbiB7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB3aWR0aDogMjRweDtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgIHRyYW5zZm9ybTogdmFyKC0taWNvbi10cmFuc2Zvcm0pO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGV2aWNlU2VjdXJpdHlDYXJkIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgcGFkZGluZzogJHNwYWNpbmctMTY7XHJcblxyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLm14X0RldmljZVNlY3VyaXR5Q2FyZF9pY29uIHtcclxuICAgIGZsZXg6IDAgMCA0MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctMTY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcblxyXG4gICAgY29sb3I6IHZhcigtLWljb24tY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XHJcblxyXG4gICAgJi5WZXJpZmllZCB7XHJcbiAgICAgICAgLS1pY29uLWNvbG9yOiAkZTJlLXZlcmlmaWVkLWNvbG9yO1xyXG4gICAgICAgIC0tYmFja2dyb3VuZC1jb2xvcjogJGUyZS12ZXJpZmllZC1jb2xvci1saWdodDtcclxuICAgIH1cclxuXHJcbiAgICAmLlVudmVyaWZpZWQge1xyXG4gICAgICAgIC0taWNvbi1jb2xvcjogJGUyZS13YXJuaW5nLWNvbG9yO1xyXG4gICAgICAgIC0tYmFja2dyb3VuZC1jb2xvcjogJGUyZS13YXJuaW5nLWNvbG9yLWxpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgICYuSW5hY3RpdmUge1xyXG4gICAgICAgIC0taWNvbi1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIC0tYmFja2dyb3VuZC1jb2xvcjogJHBhbmVscztcclxuICAgIH1cclxufVxyXG5cclxuLm14X0RldmljZVNlY3VyaXR5Q2FyZF9jb250ZW50IHtcclxuICAgIGZsZXg6IDEgMTtcclxufVxyXG4ubXhfRGV2aWNlU2VjdXJpdHlDYXJkX2hlYWRpbmcge1xyXG4gICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctNCAwO1xyXG59XHJcbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfYWN0aW9ucyB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0RldmljZVRpbGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VUaWxlX2ludGVyYWN0aXZlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLm14X0RldmljZVRpbGVfaW5mbyB7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxufVxyXG5cclxuLm14X0RldmljZVRpbGVfbWV0YWRhdGEge1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctNDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfRGV2aWNlVGlsZV9pbmFjdGl2ZUljb24ge1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLm14X0RldmljZVRpbGVfYWN0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcclxuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGV2aWNlVHlwZUljb24ge1xyXG4gICAgZmxleDogMCAwIGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbiAgICAvKiBjcmVhdGVzIHNwYWNlIGZvciB2ZXJpZmljYXRpb24gaWNvbiB0byBvdmVybGFwICovXHJcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTggJHNwYWNpbmctOCAwO1xyXG59XHJcblxyXG4ubXhfRGV2aWNlVHlwZUljb25fZGV2aWNlSWNvbldyYXBwZXIge1xyXG4gICAgLS1iYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWxzO1xyXG4gICAgLS1pY29uLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIGJvcmRlcjogJHNwYWNpbmctOCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGNvbG9yOiB2YXIoLS1pY29uLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3IpO1xyXG59XHJcblxyXG4ubXhfRGV2aWNlVHlwZUljb25fc2VsZWN0ZWQgLm14X0RldmljZVR5cGVJY29uX2RldmljZUljb25XcmFwcGVyIHtcclxuICAgIC0tYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIC0taWNvbi1jb2xvcjogJGJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VUeXBlSWNvbl9kZXZpY2VJY29uIHtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG59XHJcblxyXG4ubXhfRGV2aWNlVHlwZUljb25fdmVyaWZpY2F0aW9uSWNvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ7XHJcblxyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgIGNvbG9yOiB2YXIoLS12LWljb24tY29sb3IpO1xyXG5cclxuICAgICYudmVyaWZpZWQge1xyXG4gICAgICAgIC0tdi1pY29uLWNvbG9yOiAkZTJlLXZlcmlmaWVkLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYudW52ZXJpZmllZCB7XHJcbiAgICAgICAgLS12LWljb24tY29sb3I6ICRlMmUtd2FybmluZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdCB7XHJcbiAgICAubXhfRHJvcGRvd24ge1xyXG4gICAgICAgIGZsZXg6IDEgMCA4MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0X2xpc3Qge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogJHNwYWNpbmctMTY7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTE2O1xyXG59XHJcblxyXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0X2xpc3RJdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0X3NlY3VyaXR5Q2FyZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0zMjtcclxufVxyXG5cclxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdF9ub1Jlc3VsdHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0zMjtcclxufVxyXG5cclxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdF9oZWFkZXJCdXR0b24ge1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAvKiBvdmVycmlkZSBpbmxpbmUgYnV0dG9uIHN0eWxpbmcgKi9cclxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbi5teF9GaWx0ZXJlZERldmljZUxpc3RfZGV2aWNlRGV0YWlscyB7XHJcbiAgICAvKiBhbGlnbiB3aXRoIHRleHQgb2Ygc2Vzc2lvbiB0aWxlICovXHJcbiAgICBtYXJnaW4tbGVmdDogODhweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdEhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZ2FwOiAkc3BhY2luZy0xNjtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNDhweDtcclxuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctMTY7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0zMjtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWxzO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAvKiBIaWdoZXIgc3BlY2lmaWNpdHkgc2VsZWN0b3IgdG8gb3ZlcnJpZGUgdGhlIGZsZXgtc3RhcnQgdmFsdWUgKi9cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0SGVhZGVyX2xhYmVsIHtcclxuICAgIGZsZXg6IDEgMSAxMDAlO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2VjdXJpdHlSZWNvbW1lbmRhdGlvbnNfc3BhY2luZyB7XHJcbiAgICBoZWlnaHQ6ICRzcGFjaW5nLTE2O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0LDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZWxlY3RhYmxlRGV2aWNlVGlsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm14X1NlbGVjdGFibGVEZXZpY2VUaWxlX2NoZWNrYm94IHtcclxuICAgIGZsZXg6IDEgMDtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X0tleVN0b3JhZ2VQYW5lbF90b2dnbGVSb3cge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NldHRpbmdzU3Vic2VjdGlvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgJi5teF9TZXR0aW5nc1N1YnNlY3Rpb25fbmV3VWkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICB9XHJcblxyXG4gICAgKltyb2xlPVwic2VwYXJhdG9yXCJdIHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBUaGUgZ2FwIGJldHdlZW4gc3Vic2VjdGlvbnMgaXMgMzJweCBhbmQgaW5zaWRlIHRoZSBzdWJzZWN0aW9uIGlzIDI0cHguXHJcbiAgICAgICAgICogVGhlIHNlcGFyYXRvciBzZXBhcmF0ZXMgdGhlIHN1YnNlY3Rpb25zLCBzbyBpdCBzaG91bGQgaGF2ZSB0aGUgc2FtZSBnYXAgYXMgdGhlIHN1YnNlY3Rpb25zLlxyXG4gICAgICAgICAqIFdlIGFkZCAxMnB4IGFuZCB0aGUgc2VwYXJhdG9yIHNwYWNpbmcgKDhweCkgdG8gdGhlIHRvcCBtYXJnaW4gdG8gbWFrZSB0aGUgc2VwYXJhdG9yIHZpc3VhbGx5IGNlbnRlcmVkIGJldHdlZW4gdGhlIHN1YnNlY3Rpb25zLlxyXG4gICAgICAgICAqICFpbXBvcnRhbnQgYmVjYXVzZSBpdCdzIG92ZXJyaWRpbmcgY29tcG91bmQgbWFyZ2luLlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS01eCkgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1NldHRpbmdzU3Vic2VjdGlvbl9kZXNjcmlwdGlvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG59XHJcblxyXG4ubXhfU2V0dGluZ3NTdWJzZWN0aW9uX3RleHQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxufVxyXG5cclxuLm14X1NldHRpbmdzU3Vic2VjdGlvbl9jb250ZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIC8qIHNldHRpbmcgbWlud2lkdGggMCBtYWtlcyBjb2x1bW5zIGRlZmluaXRlbHkgc2l6ZWQgZml4aW5nIGhvcml6b250YWwgb3ZlcmZsb3cgKi9cclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XHJcbiAgICBqdXN0aWZ5LWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjQ7XHJcblxyXG4gICAgc3VtbWFyeSB7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICB9XHJcbiAgICBkZXRhaWxzW29wZW5dIHtcclxuICAgICAgICBzdW1tYXJ5IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9TZXR0aW5nc1N1YnNlY3Rpb25fY29udGVudFN0cmV0Y2gge1xyXG4gICAgICAgIGp1c3RpZnktaXRlbXM6IHN0cmV0Y2g7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9TZXR0aW5nc1N1YnNlY3Rpb25fbm9IZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgJi5teF9TZXR0aW5nc1N1YnNlY3Rpb25fY29udGVudF9uZXdVaSB7XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzU3Vic2VjdGlvbl9kcm9wZG93biB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzNjBweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NldHRpbmdzU3Vic2VjdGlvbkhlYWRpbmcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG59XHJcblxyXG4ubXhfU2V0dGluZ3NTdWJzZWN0aW9uSGVhZGluZ19oZWFkaW5nIHtcclxuICAgIGZsZXg6IDEgMSAxMDAlO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUXVpY2tUaGVtZVN3aXRjaGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIC5teF9Ecm9wZG93biB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Ecm9wZG93bl9tZW51IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUXVpY2tUaGVtZVN3aXRjaGVyX2hlYWRpbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ2FwdGlvbiB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAmLm14X0NhcHRpb25fZXJyb3Ige1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qXHJcbiAqIENvbXBvdW5kIGljb25cclxuXHJcbiAqIHtAbGluayBodHRwczovL3d3dy5maWdtYS5jb20vZmlsZS9YNFhUSDlpUzJLR0oyd0ZLRHFreWVkfVxyXG4gKi9cclxuXHJcbi5teF9JY29uIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi5teF9JY29uX2FjY2VudCB7XHJcbiAgICBjb2xvcjogJGFjY2VudDtcclxufVxyXG5cclxuLm14X0ljb25fYmctYWNjZW50LWxpZ2h0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtMzAwO1xyXG59XHJcblxyXG4ubXhfSWNvbl9hbGVydCB7XHJcbiAgICBjb2xvcjogJGFsZXJ0O1xyXG59XHJcblxyXG4ubXhfSWNvbl9jaXJjbGUtNDAge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIGZsZXg6IDAgMCA0MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbn1cclxuXHJcbi5teF9JY29uXzgge1xyXG4gICAgZmxleDogMCAwIDhweDtcclxuICAgIGhlaWdodDogOHB4O1xyXG4gICAgd2lkdGg6IDhweDtcclxufVxyXG5cclxuLm14X0ljb25fMTAge1xyXG4gICAgZmxleDogMCAwIDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICB3aWR0aDogMTBweDtcclxufVxyXG5cclxuLm14X0ljb25fMTIge1xyXG4gICAgZmxleDogMCAwIDEycHg7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICB3aWR0aDogMTJweDtcclxufVxyXG5cclxuLm14X0ljb25fMTYge1xyXG4gICAgZmxleDogMCAwIDE2cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxufVxyXG5cclxuLm14X0ljb25fMjQge1xyXG4gICAgZmxleDogMCAwIDI0cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB3aWR0aDogMjRweDtcclxufVxyXG5cclxuLm14X0ljb25fMzIge1xyXG4gICAgZmxleDogMCAwIDMycHg7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICB3aWR0aDogMzJweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1N1Y2Nlc3NEaWFsb2cge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC5teF9JY29uIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2hlYWRlciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctMTY7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ19jb250ZW50IHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLTQwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfYnV0dG9ucyB7XHJcbiAgICAgICAgLm14X0RpYWxvZ19idXR0b25zX3JvdyB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgYnV0dG9uLm14X0RpYWxvZ19wcmltYXJ5IHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzI4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLyogbWFrZSBhbnkgc2Nyb2xsYmFyIGdyZXkgYW5kIHRoaW4gKi9cclxuaHRtbCB7XHJcbiAgICBzY3JvbGxiYXItY29sb3I6ICRzY3JvbGxiYXItdGh1bWItY29sb3IgdHJhbnNwYXJlbnQ7XHJcbn1cclxuLyogc2Nyb2xsYmFyLXdpZHRoIGlzIG5vdCBpbmhlcml0ZWQgKGJ1dCAtY29sb3IgaXMsIHdoeT8hKSwgKi9cclxuLyogc28gZGVjbGFyZSBpdCBvbiBldmVyeSBlbGVtZW50ICovXHJcbioge1xyXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xyXG59XHJcblxyXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIHdpZHRoOiA2cHg7XHJcbiAgICBoZWlnaHQ6IDZweDtcclxufVxyXG5cclxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Nyb2xsYmFyLXRodW1iLWNvbG9yO1xyXG59XHJcblxyXG4vKiBtYWtlIGF1dG8taGlkZSBzY3JvbGxiYXJzIG5vdCB0cmFuc3BhcmVudCBhZ2FpbiBvbiBob3ZlciAqL1xyXG4ubXhfQXV0b0hpZGVTY3JvbGxiYXI6aG92ZXIge1xyXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiAkc2Nyb2xsYmFyLXRodW1iLWNvbG9yIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Nyb2xsYmFyLXRodW1iLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBtYWtlIHNjcm9sbGJhcnMgdHJhbnNwYXJlbnQgZm9yIGF1dG9oaWRlIHNjcm9sbGJhcnMgKi9cclxuLm14X0F1dG9IaWRlU2Nyb2xsYmFyIHtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBvdmVyZmxvdy15OiBvdmVybGF5OyAvKiB3aGVyZSBzdXBwb3J0ZWQgKi9cclxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X3NlYXJjaF9pY29uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04O1xyXG4gICAgZmlsbDogJHNlY29uZGFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzO1xyXG5cclxuICAgID4gaW5wdXQge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgbWluLXdpZHRoOiA0MCU7XHJcbiAgICAgICAgcmVzaXplOiBub25lO1xyXG4gICAgICAgIC8qIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZCB0byBieXBhc3MgZ2xvYmFsIGlucHV0IHN0eWxlcy4gKi9cclxuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy04IDlweDtcclxuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yLS1mb2N1c2VkIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGxpbmtzO1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yLS1oYXMtc3VnZ2VzdGlvbnMge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yX3NlbGVjdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVJbnB1dF9lZGl0b3Jfc2VsZWN0aW9uX3BpbGwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy04O1xyXG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctODtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR1c2VybmFtZS12YXJpYW50MS1jb2xvcjtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yX3NlbGVjdGlvbl9yZW1vdmVfYnV0dG9uIHN2ZyB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfbWF0Y2hlcyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaW5rcztcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xyXG4gICAgei1pbmRleDogMTAwMDtcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X3N1Z2dlc3Rpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy04O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgID4gKiB7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X3N1Z2dlc3Rpb24tLXNlbGVjdGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X3N1Z2dlc3Rpb25fdGl0bGUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfc3VnZ2VzdGlvbl9kZXNjcmlwdGlvbiB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDIxLTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9CYWNrZHJvcFBhbmVsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZmlsdGVyOiBibHVyKHZhcigtLWxwLWJhY2tncm91bmQtYmx1cikpO1xyXG4gICAgLyogRm9yY2UgYSBuZXcgbGF5ZXIgZm9yIHRoZSBiYWNrZHJvcFBhbmVsIHNvIGl0J3MgYmV0dGVyIGhhcmR3YXJlIHN1cHBvcnRlZCAqL1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG59XHJcblxyXG4ubXhfQmFja2Ryb3BQYW5lbC0taW1hZ2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuIiwiLm14X0NvbXBhdGliaWxpdHlQYWdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1NTtcclxufVxyXG5cclxuLm14X0NvbXBhdGliaWxpdHlQYWdlX2JveCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBpbnNldDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHdpZHRoOiA1MDBweDtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNjO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiA1MDAwO1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfYmFja2dyb3VuZCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIGJveC1zaGFkb3c6IDBweCA0cHggMjRweCByZ2IoMCwgMCwgMCwgMC4xKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiA1MDAxO1xyXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfcmlnaHQge1xyXG4gICAgcmlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudS5teF9Db250ZXh0dWFsTWVudV93aXRoQ2hldnJvbl9yaWdodCB7XHJcbiAgICByaWdodDogOHB4O1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfY2hldnJvbl9yaWdodCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogLThweDtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICRtZW51LWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfbGVmdCB7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnUubXhfQ29udGV4dHVhbE1lbnVfd2l0aENoZXZyb25fbGVmdCB7XHJcbiAgICBsZWZ0OiA4cHg7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudV9jaGV2cm9uX2xlZnQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLThweDtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCAkbWVudS1iZy1jb2xvcjtcclxuICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X3RvcCB7XHJcbiAgICB0b3A6IDA7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudS5teF9Db250ZXh0dWFsTWVudV93aXRoQ2hldnJvbl90b3Age1xyXG4gICAgdG9wOiA4cHg7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudV9jaGV2cm9uX3RvcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB0b3A6IC04cHg7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgJG1lbnUtYmctY29sb3I7XHJcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X2JvdHRvbSB7XHJcbiAgICBib3R0b206IDA7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudS5teF9Db250ZXh0dWFsTWVudV93aXRoQ2hldnJvbl9ib3R0b20ge1xyXG4gICAgYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudV9jaGV2cm9uX2JvdHRvbSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICBib3R0b206IC04cHg7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgJG1lbnUtYmctY29sb3I7XHJcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X3JpZ2h0QWxpZ25lZCB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfYm90dG9tQWxpZ25lZCB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRXJyb3JNZXNzYWdlIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIGdhcDogJHNwYWNpbmctODtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuICAgIG1pbi1oZWlnaHQ6IDIuNGVtO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG5Aa2V5ZnJhbWVzIG14X0ZpbGVEcm9wVGFyZ2V0X2FuaW1hdGlvbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuOTU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9GaWxlRHJvcFRhcmdldCB7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICBmb250LXNpemU6ICRmb250LTE4cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBvcGFjaXR5OiAwLjk1O1xyXG5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDMwMDA7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgYW5pbWF0aW9uOiBteF9GaWxlRHJvcFRhcmdldF9hbmltYXRpb247XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbXhfRmlsZURyb3BUYXJnZXRfaW1hZ2VfYW5pbWF0aW9uIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRmlsZURyb3BUYXJnZXRfaW1hZ2Uge1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbiAgICBhbmltYXRpb246IG14X0ZpbGVEcm9wVGFyZ2V0X2ltYWdlX2FuaW1hdGlvbjtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9GaWxlUGFuZWwge1xyXG4gICAgb3JkZXI6IDI7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgIC5teF9Sb29tVmlld19tZXNzYWdlTGlzdFdyYXBwZXIge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3Qge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBGSVhNRTogcmF0aGVyIHRoYW4gaGF2aW5nIEV2ZW50VGlsZSdzIGRlZmF1bHQgQ1NTIGJlIGZvciBNZXNzYWdlUGFuZWwsXHJcbiAgIHdlIHNob3VsZCBtYWtlIEV2ZW50VGlsZSBhIGJhc2UgQ1NTIGNsYXNzIGFuZCBjdXN0b21pc2UgaXQgc3BlY2lmaWNhbGx5XHJcbiAgIGZvciB1c2FnZSBpbiB7TWVzc2FnZSxGaWxlLE5vdGlmaWNhdGlvbn1QYW5lbC4gKi9cclxuXHJcbiAgICAvKiBPdmVycmlkZXMgZm9yIHRoZSBhdHRhY2htZW50IGJvZHkgdGlsZXMgKi9cclxuICAgIC5teF9FdmVudFRpbGUge1xyXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcblxyXG4gICAgICAgICYgKyAubXhfRXZlbnRUaWxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTUZpbGVCb2R5IFtkYXRhLXR5cGU9XCJkb3dubG9hZFwiXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfSW1hZ2VCb2R5IHtcclxuICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogYW5jaG9yIGxpbmsgYXMgd3JhcHBlciAqL1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlsc0xpbmsge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9zZW5kZXJEZXRhaWxzIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZXZlbnQtdGltZXN0YW1wLWNvbG9yOyAvKiBmb3IgZWxsaXBzaXMuIENvbG9yIG9mIGRpc3BsYXlOYW1lIGFuZCBteGlkIGlzIGluaGVyaXRlZCAqL1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9idXR0b24ge1xyXG4gICAgcGFkZGluZzogM3B4IDRweCAzcHggOHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9HZW5lcmljRHJvcGRvd25NZW51X2J1dHRvbjpob3ZlcixcclxuLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfYnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgIGJhY2tncm91bmQ6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudV93cmFwcGVyLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfd3JhcHBlciB7XHJcbiAgICAubXhfQ29udGV4dHVhbE1lbnUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG5cclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiKDIzLCAyNSwgMjgsIDAuMDUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Db250ZXh0dWFsTWVudV9jaGV2cm9uX3RvcCB7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICByaWdodDogMjJweDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGJvcmRlcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG1lbnUtYmctY29sb3I7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC04cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9HZW5lcmljRHJvcGRvd25NZW51X2RpdmlkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTlweDtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCAzMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgPiAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1oZWFkZXIgPiAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWxhYmVsIHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1pdGVtIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1zZWxlY3RlZC1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1jaGVja0ljb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxyXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSG9tZVBhZ2Uge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogbWluKDEwMCUgLSA1MHB4LCA5NjBweCk7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcclxuICAgIGNvbnRhaW5lci1uYW1lOiBob21lcGFnZTtcclxufVxyXG5cclxuLm14X0hvbWVQYWdlX2RlZmF1bHQge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0zMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjVweDtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NaW5pQXZhdGFyVXBsb2FkZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Ib21lUGFnZV9kZWZhdWx0X2J1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICBnYXA6IDVweCA0MHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAxM3B4O1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEzMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTVweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjBweDtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7IC8qIG9uIGFsbCB0aGVtZXMgKi9cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmOyAvKiBvbiBhbGwgdGhlbWVzICovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBjb250YWluZXIgaG9tZXBhZ2UgKG1heC13aWR0aDogNTU5cHgpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblxyXG4gICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MYXJnZUxvYWRlciB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgLm14X1NwaW5uZXIge1xyXG4gICAgICAgIGZsZXg6IHVuc2V0O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMzdmg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xhcmdlTG9hZGVyX3RleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01hdHJpeENoYXQtLXdpdGgtYXZhdGFyIHtcclxuICAgIC5teF9MZWZ0UGFuZWwsXHJcbiAgICAubXhfTGVmdFBhbmVsIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RDb250YWluZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTGVmdFBhbmVsX291dGVyV3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ubXhfTGVmdFBhbmVsX3dyYXBwZXIsXHJcbi5teF9MZWZ0UGFuZWwge1xyXG4gICAgLS1jb2xsYXBzZWRXaWR0aDogNjhweDtcclxufVxyXG5cclxuLm14X0xlZnRQYW5lbF9wYW5lbCB7XHJcbiAgICAubXhfTGVmdFBhbmVsX291dGVyV3JhcHBlciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTGVmdFBhbmVsX3dyYXBwZXItLXVzZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTGVmdFBhbmVsX3dyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgaGVpZ2h0OiAxMDAlOyAvKiBlbnN1cmUgc3BhY2UgcGFuZWwgaXMgc3RpbGwgc2Nyb2xsYWJsZSB3aXRoIGFuIG91dGVyIHdyYXBwZXIgKi9cclxuXHJcbiAgICAubXhfTGVmdFBhbmVsX3dyYXBwZXItLXVzZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyb29tbGlzdC1iZy1jb2xvcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8qIEZvciBlbmhhbmNlZCB2aXNpYmlsaXR5IHVuZGVyIGNvbnRyYXN0IGNvbnRyb2wgKi9cclxuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICZbZGF0YS1jb2xsYXBzZWRdIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb2xsYXBzZWRXaWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTGVmdFBhbmVsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRyb29tbGlzdC1iZy1jb2xvcjtcclxuXHJcbiAgICAvKiBDcmVhdGUgYSByb3ctYmFzZWQgZmxleGJveCBmb3IgdGhlIHNwYWNlIHBhbmVsIGFuZCB0aGUgcm9vbSBsaXN0ICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgY29udGFpbjogY29udGVudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgLyogTm90ZTogVGhlICdyb29tIGxpc3QnIGluIHRoaXMgY29udGV4dCBpcyBhY3R1YWxseSBldmVyeXRoaW5nIHRoYXQgaXNuJ3QgdGhlIHRhZyAqL1xyXG4gICAgLyogcGFuZWwsIHN1Y2ggYXMgdGhlIG1lbnUgb3B0aW9ucywgYnJlYWRjcnVtYnMsIGZpbHRlcmluZywgZXRjICovXHJcbiAgICAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm9vbWxpc3QtYmctY29sb3I7XHJcbiAgICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIC8qIENyZWF0ZSBhbm90aGVyIGZsZXhib3ggKHRoaXMgdGltZSBhIGNvbHVtbikgZm9yIHRoZSByb29tIGxpc3QgY29tcG9uZW50cyAqL1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgLm14X0xlZnRQYW5lbF91c2VySGVhZGVyIHtcclxuICAgICAgICAgICAgLyogMTJweCB0b3AsIDEycHggc2lkZXMsIDIwcHggYm90dG9tICh1c2luZyAxM3B4IGJvdHRvbSB0byBhY2NvdW50XHJcbiAgICAgICAgICAgICAqIGZvciBpbnRlcm5hbCB3aGl0ZXNwYWNlIGluIHRoZSBicmVhZGNydW1icylcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOyAvKiB0byBjb252aW5jZSBzYWZhcmkncyBsYXlvdXQgZW5naW5lIHRoZSBmbGV4Ym94IGlzIGZpbmUgKi9cclxuXHJcbiAgICAgICAgICAgIC8qIENyZWF0ZSBhbm90aGVyIGZsZXhib3ggY29sdW1uIGZvciB0aGUgcm93cyB0byBzdGFjayB3aXRoaW4gKi9cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9MZWZ0UGFuZWxfYnJlYWRjcnVtYnNDb250YWluZXIge1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDEycHggMCAxMnB4O1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgLyogQ3JlYXRlIHlldCBhbm90aGVyIGZsZXhib3gsIHRoaXMgdGltZSB3aXRoaW4gdGhlIHJvdywgdG8gZW5zdXJlIGl0ZW1zIHN0YXkgKi9cclxuICAgICAgICAgICAgLyogYWxpZ25lZCBjb3JyZWN0bHkuIFRoaXMgaXMgYWxzbyBhIHJvdy1iYXNlZCBmbGV4Ym94LiAqL1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBjb250YWluOiBjb250ZW50O1xyXG5cclxuICAgICAgICAgICAgJi5teF9JbmRpY2F0b3JTY3JvbGxiYXJfbGVmdE92ZXJmbG93IHtcclxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIGJsYWNrIDUlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5teF9JbmRpY2F0b3JTY3JvbGxiYXJfcmlnaHRPdmVyZmxvdyB7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIGJsYWNrLCBibGFjayA5NSUsIHRyYW5zcGFyZW50KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5teF9JbmRpY2F0b3JTY3JvbGxiYXJfcmlnaHRPdmVyZmxvdy5teF9JbmRpY2F0b3JTY3JvbGxiYXJfbGVmdE92ZXJmbG93IHtcclxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIGJsYWNrIDUlLCBibGFjayA5NSUsIHRyYW5zcGFyZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0xlZnRQYW5lbF9maWx0ZXJDb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTJweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweCAwIDhweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDsgLyogdG8gY29udmluY2Ugc2FmYXJpJ3MgbGF5b3V0IGVuZ2luZSB0aGUgZmxleGJveCBpcyBmaW5lICovXHJcblxyXG4gICAgICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG9yZ2FuaXplIHRoZSBpbnB1dHMgKi9cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICYgKyAubXhfTGVnYWN5Um9vbUxpc3RIZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0xlZnRQYW5lbF9kaWFsUGFkQnV0dG9uLFxyXG4gICAgICAgICAgICAubXhfTGVmdFBhbmVsX2V4cGxvcmVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMS01eCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAvKiBGb3IgZW5oYW5jZWQgdmlzaWJpbGl0eSB1bmRlciBjb250cmFzdCBjb250cm9sICovXHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0xlZ2FjeVJvb21MaXN0SGVhZGVyOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9MZWZ0UGFuZWxfcm9vbUxpc3RXcmFwcGVyIHtcclxuICAgICAgICAgICAgLyogTWFrZSB0aGUgeS1zY3JvbGxiYXIgbW9yZSByZXNwb25zaXZlICovXHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgLyogc28gd2UncmUgbm90IHVwIGFnYWluc3QgdGhlIHNlYXJjaC9maWx0ZXIgKi9cclxuICAgICAgICAgICAgZmxleDogMSAwIDA7IC8qIG5lZWRlZCBpbiBTYWZhcmkgdG8gcHJvcGVybHkgc2V0IGZsZXgtYmFzaXMgKi9cclxuXHJcbiAgICAgICAgICAgICYubXhfTGVmdFBhbmVsX3Jvb21MaXN0V3JhcHBlcl9zdGlja3lCb3R0b20ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfTGVmdFBhbmVsX3Jvb21MaXN0V3JhcHBlcl9zdGlja3lUb3Age1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9MZWZ0UGFuZWxfYWN0dWFsUm9vbUxpc3RDb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGZvciBzdGlja3kgaGVhZGVycyAqL1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8qIGVuc3VyZSBzY3JvbGxpbmcgc3RpbGwgd29ya3MgKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogVGhlc2Ugc3R5bGVzIG92ZXJyaWRlIHRoZSBkZWZhdWx0cyBmb3IgdGhlIG1pbmltaXplZCAoNjZweCkgbGF5b3V0ICovXHJcbiAgICAmLm14X0xlZnRQYW5lbF9taW5pbWl6ZWQge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWNvbGxhcHNlZFdpZHRoKTtcclxuXHJcbiAgICAgICAgICAgIC5teF9MZWZ0UGFuZWxfdXNlckhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9MZWZ0UGFuZWxfZmlsdGVyQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8qIE9yZ2FuaXplIHRoZSBmbGV4Ym94IGludG8gYSBjZW50ZXJlZCBjb2x1bW4gbGF5b3V0ICovXHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0xlZnRQYW5lbF9kaWFsUGFkQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0xlZnRQYW5lbF9leHBsb3JlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9MZWZ0UGFuZWxfbmV3Um9vbUxpc3Qge1xyXG4gICAgLyogVGhldyBuZXcgcm9vbXMgbGlzdCBpcyBub3QgZGVzaWduZWQgdG8gYmUgY29sbGFwc2VkIHRvIGp1c3QgaWNvbnMuICovXHJcbiAgICAvKiAyMjQgKyA2OChzcGFjZXMgYmFyKSB3YXMgZGVlbWVkIGJ5IGRlc2lnbiB0byBiZSBhIGdvb2QgbWluaW11bSBmb3IgdGhlIGxlZnQgcGFuZWwuICovXHJcbiAgICAtLWNvbGxhcHNlZFdpZHRoOiAyMjRweDtcclxuICAgIC8qIEltcG9ydGFudCB0byBmb3JjZSB0aGUgY29sb3Igb24gRUQgdGl0bGViYXIgdW50aWwgd2UgcmVtb3ZlIHRoZSBvbGQgcm9vbSBsaXN0ICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNsZWZ0LXBhbmVsIC5teF9MZWZ0UGFuZWxfd3JhcHBlci0tdXNlciB7XHJcbiAgICAvKlxyXG4gICAgICogRGlzYWJsZSBiYWNrZ3JvdW5kIHdoZW4gdXNpbmcgdGhlIG5ldyByb29tIGxpc3QuXHJcbiAgICAgKiBUaGlzIGJhY2tncm91bmQgc29tZXRpbWVzIHNob3dzIHdoZW4gdGhlIHBhbmVsIGlzIHJlc2l6ZWQgYW5kIGl0IGxvb2tzIGxpa2UgYSB0aGlja2VyIGJvcmRlci5cclxuICAgICAqL1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWFpblNwbGl0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLm14X01haW5TcGxpdCA+IC5teF9SaWdodFBhbmVsX1Jlc2l6ZVdyYXBwZXIge1xyXG4gICAgJjpob3ZlciAubXhfUmVzaXplSGFuZGxlLS1ob3Jpem9udGFsOjpiZWZvcmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1MCUsIC01MCUpO1xyXG5cclxuICAgICAgICBoZWlnaHQ6IDY0cHg7IC8qIHRvIG1hdGNoIHdpZHRoIG9mIHRoZSBvbmVzIG9uIHJvb21saXN0ICovXHJcbiAgICAgICAgd2lkdGg6IDRweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWF0cml4Q2hhdF9zcGxhc2gge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLyogUExYIGJyYW5kZWQgbG9hZGluZyBzdGF0ZTogYnJhbmQgbWFyayBhYm92ZSBhIGNlbnRlcmVkIHNwaW5uZXIgb24gdGhlXHJcbiAgICAgICBhcHAgYmFja2dyb3VuZC4gUmVwbGFjZXMgdGhlIGJhcmUvYmxhbmsgY2VudGVyZWQgc3Bpbm5lci4gKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZ2FwOiAyOHB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LCAjMEUxNjIxKTtcclxufVxyXG5cclxuLm14X01hdHJpeENoYXRfc3BsYXNoTG9nbyB7XHJcbiAgICB3aWR0aDogODhweDtcclxuICAgIGhlaWdodDogODhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XHJcbn1cclxuXHJcbi8qIFJlLWNlbnRlciB0aGUgc3Bpbm5lciBpdHNlbGY6IHRoZSBkZWZhdWx0IFNwaW5uZXIgdXNlcyBhYnNvbHV0ZSBjZW50ZXJpbmdcclxuICAgd2hpY2ggd2Ugb3ZlcnJpZGUgaW5zaWRlIHRoZSBmbGV4IHNwbGFzaC4gKi9cclxuLm14X01hdHJpeENoYXRfc3BsYXNoIC5teF9TcGlubmVyIHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5teF9NYXRyaXhDaGF0X3dyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLm14X01hdHJpeFRvb2xiYXIge1xyXG4gICAgb3JkZXI6IDE7XHJcblxyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4ubXhfTWF0cml4Q2hhdCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgIGZsZXg6IDE7XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKiBub3QgdGhlIGxlZnQgcGFuZWwsIGFuZCBub3QgdGhlIHJlc2l6ZSBoYW5kbGUsIHNvIHRoZSByb29tdmlldyBhbmQgZnJpZW5kcyAqL1xyXG4ubXhfTWF0cml4Q2hhdCA+IDpub3QoLm14X0xlZnRQYW5lbCk6bm90KC5teF9TcGFjZVBhbmVsKTpub3QoLm14X1Jlc2l6ZUhhbmRsZSk6bm90KC5teF9MZWZ0UGFuZWxfb3V0ZXJXcmFwcGVyKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICBmbGV4OiAxIDEgMDtcclxuICAgIG1pbi13aWR0aDogMDtcclxuXHJcbiAgICAvKiBUbyBmaXggaHR0cHM6Ly9naXRodWIuY29tL3ZlY3Rvci1pbS9lbGVtZW50LXdlYi9pc3N1ZXMvMzI5OCB3aGVyZSBTYWZhcmlcclxuICAgICAgIG5lZWRlZCBoZWlnaHQgMTAwJSBhbGwgdGhlIHdheSBkb3duIHRvIHRoZSBIb21lUGFnZS4gSGVpZ2h0IGRvZXMgbm90XHJcbiAgICAgICBoYXZlIHRvIGJlIGF1dG8sIGVtcGlyaWNhbGx5LlxyXG4gICAgKi9cclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLm14X01hdHJpeENoYXQgPiAubXhfUmVzaXplSGFuZGxlLS1ob3Jpem9udGFsOmhvdmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblxyXG4gICAgICAgIGhlaWdodDogNjRweDsgLyogdG8gbWF0Y2ggd2lkdGggb2YgdGhlIG9uZXMgb24gcm9vbWxpc3QgKi9cclxuICAgICAgICB3aWR0aDogNHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTm9uVXJnZW50VG9hc3RDb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAzMHB4O1xyXG4gICAgbGVmdDogMjhweDtcclxuICAgIHotaW5kZXg6IDEwMTsgLyogc2FtZSBsZXZlbCBhcyBvdGhlciB0b2FzdHMgKi9cclxuXHJcbiAgICAubXhfTm9uVXJnZW50VG9hc3RDb250YWluZXJfdG9hc3Qge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcblxyXG4gICAgICAgIC8qIFdlIGRvbid0IHVzZSB2YXJpYWJsZXMgb24gdGhlIGNvbG91cnMgYmVjYXVzZSB3ZSB3YW50IGl0IHRvIGJlIHRoZSBzYW1lICovXHJcbiAgICAgICAgLyogaW4gYWxsIHRoZW1lcy4gKi9cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxOTFjO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI2IEVsZW1lbnQgQ3JlYXRpb25zIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1BpY3R1cmVJblBpY3R1cmVEcmFnZ2VyIHtcclxuICAgIGN1cnNvcjogZ3JhYjtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIC8qIERpc3BsYXkgYWJvdmUgYW55IHdpZGdldCBlbGVtZW50cyAqL1xyXG4gICAgei1pbmRleDogMTAyO1xyXG59XHJcblxyXG4ubXhfUGljdHVyZUluUGljdHVyZURyYWdnZXI6YWN0aXZlIHtcclxuICAgIGN1cnNvcjogZ3JhYmJpbmc7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQsMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1F1aWNrU2V0dGluZ3NCdXR0b24ge1xyXG4gICAgLyogIWltcG9ydGFudCBvdmVycmlkZSBjb21wb3VuZCAqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDEycHggYXV0byAxMnB4O1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgZmlsbDogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5leHBhbmRlZCk6aG92ZXIge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIG92ZXJyaWRlIGNvbXBvdW5kIGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB3aGVuIGhvdmVyZWRcclxuICAgICAgICAgKiBzaG91bGQgZGlzYXBwZWFyIHdoZW4gdGhlIHNwYWNlIHBhbmVsIHdpbGwgYmUgbWlncmF0ZWQgdG8gY29tcG91bmRcclxuICAgICAgICAgKi9cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVhdGVybmFyeS1jb250ZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZXhwYW5kZWQge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIG92ZXJyaWRlIGNvbXBvdW5kIGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB3aGVuIGhvdmVyZWRcclxuICAgICAgICAgKiBzaG91bGQgZGlzYXBwZWFyIHdoZW4gdGhlIHNwYWNlIHBhbmVsIHdpbGwgYmUgbWlncmF0ZWQgdG8gY29tcG91bmRcclxuICAgICAgICAgKi9cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAvKiBhbGlnbiB3aXRoIHNldHRpbmdzIGljb24gKi9cclxuICAgICAgICBtYXJnaW4tbGVmdDogMjFweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogbW9kaWZ5IGludGVybmFsIGNzcyBvZiB0aGUgY29tcG91bmQgY29tcG9uZW50XHJcbiAgICAgICAgICogZGlydHkgYnV0IHdlIG5lZWQgdG8gYWRkIHRoZSBsYWJlbCBpbnRvIHRoZSBpbmRpY2F0b3IgaWNvbiBidXR0b25cclxuICAgICAgICAgKiovXHJcbiAgICAgICAgJiA+IGRpdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAvKiBhbGlnbiB3aXRoIHNldHRpbmdzIGxhYmVsICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcclxuICAgICAgICAgICAgLyogcmVxdWlyZWQgdG8gc2V0IHRoZSBpY29uIHdpZHRoIHdoZW4gaW50byBhIGZsZXggY29udGFpbmVyICovXHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fbGFiZWwge1xyXG4gICAgICAgICAgICAvKiAhaW1wb3J0YW50IG92ZXJyaWRlIGNvbXBvdW5kICAqL1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9Db250ZXh0TWVudVdyYXBwZXIgLm14X0NvbnRleHR1YWxNZW51IHtcclxuICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gICAgY29udGFpbjogdW5zZXQ7IC8qIGxldCB0aGUgZHJvcGRvd24gcGFpbnQgYmV5b25kIHRoZSBjb250ZXh0IG1lbnUgKi9cclxuXHJcbiAgICA+IGRpdiA+IGgyIHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgPiBkaXYgPiBoNCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMTJweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9tb3JlT3B0aW9uc0J1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS03eCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9vcHRpb24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAvKiBDb3JyZWN0bHkgbGluZSB1cCBpY29ucyBhbmQgdGV4dC4gKi9cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9RdWlja1NldHRpbmdzQnV0dG9uX0NvbnRleHRNZW51V3JhcHBlcl9uZXdfcm9vbV9saXN0IHtcclxuICAgIC5teF9RdWlja1RoZW1lU3dpdGNoZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9RdWlja1NldHRpbmdzQnV0dG9uX2ljb24ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9SaWdodFBhbmVsIHtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRzZXBhcmF0b3I7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgY29udGFpbjogc3RyaWN0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuXHJcbiAgICAubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3Qge1xyXG4gICAgICAgIHBhZGRpbmc6IDE0cHggMThweDsgLyogdG9wIGFuZCBib3R0b20gaXMgNHB4IHNtYWxsZXIgdG8gYmFsYW5jZSB3aXRoIHRoZSBwYWRkaW5nIHNldCBhYm92ZSAqL1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUmlnaHRQYW5lbCAubXhfTWVtYmVyTGlzdCxcclxuLm14X1JpZ2h0UGFuZWwgLm14X01lbWJlckluZm8ge1xyXG4gICAgb3JkZXI6IDI7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxufVxyXG5cclxuLm14X1JpZ2h0UGFuZWwgLm14X1Jvb21WaWV3X21lc3NhZ2VQYW5lbFNwaW5uZXIge1xyXG4gICAgb3JkZXI6IDI7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qIE5vdGU6IHRoaXMgY29tcG9uZW50IGV4cGVjdHMgdG8gYmUgY29udGFpbmVkIHdpdGhpbiBhIGZsZXhib3ggKi9cclxuLm14X1Jvb21TZWFyY2gge1xyXG4gICAgZmxleDogMTtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xyXG4gICAgLyoga2VlcCBib3JkZXIgdGhpY2tuZXNzIGNvbnNpc3RlbnQgdG8gcHJldmVudCBtb3ZlbWVudCAqL1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICBwYWRkaW5nOiAxcHg7XHJcblxyXG4gICAgLyogQ3JlYXRlIGEgZmxleGJveCBmb3IgdGhlIGljb25zIChlYXNpZXIgdG8gbWFuYWdlKSAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIC5teF9Sb29tU2VhcmNoX2ljb24ge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tU2VhcmNoX3Nwb3RsaWdodFRyaWdnZXJUZXh0IHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAvKiB0aGUgZm9sbG93aW5nIHJ1bGVzIGFyZSB0byBtYXRjaCB0aGF0IG9mIGEgcmVhbCBpbnB1dCBmaWVsZCAqL1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgbWFyZ2luOiA5cHg7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21TZWFyY2hfc2hvcnRjdXRQcm9tcHQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuICAgICAgICBwYWRkaW5nOiAycHggNHB4O1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBjb2xvcjogJGxpZ2h0LWZnLWNvbG9yO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1Jvb21TZWFyY2hfbWluaW1pemVkIHtcclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogMzJweDtcclxuICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgICAgICAubXhfUm9vbVNlYXJjaF9pY29uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21TZWFyY2hfc2hvcnRjdXRQcm9tcHQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgLm14X1Jvb21TZWFyY2hfc3BvdGxpZ2h0VHJpZ2dlclRleHQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVNlYXJjaF9zaG9ydGN1dFByb21wdCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21TZWFyY2hfaWNvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbjpyb290IHtcclxuICAgIC0tUm9vbVZpZXdfTWVzc2FnZUxpc3QtcGFkZGluZzogMThweDtcclxufVxyXG5cclxuLm14X0xlZnRQYW5lbF9wYW5lbCB7XHJcbiAgICAubXhfUm9vbVZpZXdfd3JhcHBlciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC8qIENvbnRhaW4gdGhlIGFtb3VudCBvZiBsYXllcnMgcmVuZGVyZWQgYnkgY29uc3RyYWluaW5nIHdoYXQgYWN0dWFsbHkgbmVlZHMgcmUtbGF5ZXJpbmcgdmlhIGNzcyAqL1xyXG4gICAgY29udGFpbjogc3RyaWN0O1xyXG59XHJcblxyXG4ubXhfUm9vbVZpZXcge1xyXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC5teF9NYWluU3BsaXQge1xyXG4gICAgICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19hdXhQYW5lbF9oaWRkZW5IaWdobGlnaHRzIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcclxuICAgIHBhZGRpbmc6IDEwcHggMjZweDtcclxuICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19tZXNzYWdlUGFuZWwge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgZmxleDogMSAxIDA7XHJcbiAgICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19tZXNzYWdlUGFuZWxTZWFyY2hTcGlubmVyIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvcmVzL2ltZy90eXBpbmctaW5kaWNhdG9yLTJ4LmdpZlwiKTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAzNjdweDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjVweDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBjb2xvcjogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAyODZweDtcclxuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDI1cHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfYm9keSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICBjb250YWluZXItdHlwZTogc2l6ZTtcclxuICAgIGNvbnRhaW5lci1uYW1lOiByb29tdmlldztcclxuXHJcbiAgICAubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsLFxyXG4gICAgLm14X1Jvb21WaWV3X21lc3NhZ2VQYW5lbFNwaW5uZXIsXHJcbiAgICAubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsU2VhcmNoU3Bpbm5lciB7XHJcbiAgICAgICAgb3JkZXI6IDI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21WaWV3X3RpbWVsaW5lIHtcclxuICAgICAgICAvKiBvZmZzZXQgcGFyZW50IGZvciBteF9Sb29tVmlld190b3BVbnJlYWRNZXNzYWdlc0JhciAgKi9cclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpIC8gMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19zdGF0dXNBcmVhIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxleDogMCAwIGF1dG87XHJcblxyXG4gICAgbWF4LWhlaWdodDogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcclxufVxyXG5cclxuLm14X1Jvb21WaWV3X3N0YXR1c0FyZWFfZXhwYW5kZWQge1xyXG4gICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19zdGF0dXNBcmVhQm94IHtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19zdGF0dXNBcmVhQm94X2xpbmUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDY1cHg7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxufVxyXG5cclxuLm14X1Jvb21WaWV3X21lc3NhZ2VMaXN0V3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19zZWFyY2hSZXN1bHRzUGFuZWwge1xyXG4gICAgLm14X1Jvb21WaWV3X21lc3NhZ2VMaXN0V3JhcHBlciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgICAgICA+IC5teF9Sb29tVmlld19NZXNzYWdlTGlzdCA+IGxpID4gb2wge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21WaWV3X2VtcHR5IHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcclxuICAgIHBhZGRpbmc6IDAgMjRweDtcclxuICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IC8qIHZpc3VhbGx5IGNlbnRlciB0aGUgY29udGVudCAoaW50ZW50aW9uYWwgb2Zmc2V0KSAqL1xyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3Qge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgcGFkZGluZzogdmFyKC0tUm9vbVZpZXdfTWVzc2FnZUxpc3QtcGFkZGluZyk7IC8qIG14X1Byb2ZpbGVSZXNpemVyIGRlcGVuZHMgb24gdGhpcyB2YWx1ZSAqL1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgLyogbmVlZGVkIGFzIG1pbi1oZWlnaHQgaXMgc2V0IHRvIGNsaWVudEhlaWdodCBpbiBTY3JvbGxQYW5lbFxyXG4gICAgdG8gcHJldmVudCBzaHJpbmtpbmcgd2hlbiBXaG9Jc1R5cGluZ1RpbGUgaXMgaGlkZGVuICovXHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2Nyb2xsUGFuZWwgJiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgICBjb250ZW50LXZpc2liaWxpdHk6IGF1dG87XHJcbiAgICAgICAgY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVZpZXctLWxvY2FsIC5teF9TY3JvbGxQYW5lbCAmIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21WaWV3X2luQ2FsbCB7XHJcbiAgICAubXhfUm9vbVZpZXdfc3RhdHVzQXJlYUJveF9saW5lIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGhlaWdodDogMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IHtcclxuICAgIC5teF9Sb29tVmlld19NZXNzYWdlTGlzdCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21WaWV3X3N0YXR1c0FyZWFCb3gge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQycHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZWFyY2hCb3gge1xyXG4gICAgZmxleDogMSAxIDA7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICBtaW4taGVpZ2h0OiAzNnB4OyAvKiB0byBhdm9pZCBqdW1waW5nIHdoZW4gdGhlIFggdG8gY2xlYXIgc2hvd3MvaGlkZXMgKi9cclxuXHJcbiAgICAmLm14X1NlYXJjaEJveF9ibHVycmVkOm5vdCg6aG92ZXIpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2VhcmNoQm94X2Nsb3NlQnV0dG9uIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDlweDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0LDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcge1xyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcclxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NlYXJjaEJveCB7XHJcbiAgICAgICAgbWFyZ2luOiAyNHB4IDAgMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfbm9SZXN1bHRzIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X2xpc3RIZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTJweDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuXHJcbiAgICAgICAgLm14X1NwYWNlSGllcmFyY2h5X2xpc3RIZWFkZXJfaGVhZGVyIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdEhlYWRlcl9idXR0b25zIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZmxvdzogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiAxMnB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xyXG5cclxuICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDEycHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9vdXRsaW5lLFxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9vdXRsaW5lIHtcclxuICAgICAgICAgICAgcGFkZGluZzogM3B4IDEycHg7IC8qIHRvIGFjY291bnQgZm9yIHRoZSAxcHggYm9yZGVyICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUhpZXJhcmNoeV9lcnJvciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDEycHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xyXG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvaWNvbnMvZXJyb3Itc29saWQuc3ZnXCIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbUNvdW50IHtcclxuICAgICAgICA+IGgzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xOHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjJweDtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfc3Vic3BhY2VfdG9nZ2xlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogLTFweDtcclxuICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9TcGFjZUhpZXJhcmNoeV9zdWJzcGFjZV90b2dnbGVfc2hvd24gc3ZnIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUhpZXJhcmNoeV9zdWJzcGFjZV9jaGlsZHJlbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfbGlzdCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgbGkubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVXcmFwcGVyIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMTZweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgIGdhcDogNnB4IDEycHg7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogNnB4IDhweDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7IC8qIHdyYXAgYWN0aW9uIGJ1dHRvbnMgKi9cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9uYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm14X0luZm9Ub29sdGlwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfam9pbmVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5teF9JbmZvVG9vbHRpcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9qb2luZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlX2luZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1NwYWNlSGllcmFyY2h5X2FjdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9vdXRsaW5lLFxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9vdXRsaW5lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDE2cHg7IC8qIHRvIGFjY291bnQgZm9yIHRoZSAxcHggYm9yZGVyICovXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNwYWNlUGFuZWwtYmctY29sb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5teF9TcGFjZUhpZXJhcmNoeV9qb2luaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGUsXHJcbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfc3Vic3BhY2VfY2hpbGRyZW4ge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNwYWNlUGFuZWwtYmctY29sb3I7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbGVmdDogNnB4O1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUhpZXJhcmNoeV9hY3Rpb25zIHtcclxuICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfYWN0aW9uc1RleHQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGhyIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE0MSwgMTUxLCAxNjUsIDAuMik7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X2NyZWF0ZVJvb20ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMTZweCBhdXRvIDA7XHJcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3BhY2VQYW5lbCB7XHJcbiAgICAtLWFjdGl2ZUJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xyXG4gICAgLS1hY3RpdmVCb3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAtLWFjdGl2ZUJvcmRlci10cmFuc3BhcmVudC1nYXA6IDFweDtcclxuICAgIC0tZ3V0dGVyU2l6ZTogMTRweDtcclxuICAgIC0taGVpZ2h0LW5lc3RlZDogMjRweDtcclxuICAgIC0taGVpZ2h0LXRvcExldmVsOiAzMnB4O1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzcGFjZVBhbmVsLWJnLWNvbG9yO1xyXG4gICAgZmxleDogMCAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLyogRml4IGZvciB0aGUgYmx1cnJlZCBhdmF0YXItYmFja2dyb3VuZCAqL1xyXG4gICAgei1pbmRleDogMTtcclxuXHJcbiAgICAvKiBGb3IgZW5oYW5jZWQgdmlzaWJpbGl0eSB1bmRlciBjb250cmFzdCBjb250cm9sICovXHJcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgLyogQ3JlYXRlIGFub3RoZXIgZmxleGJveCBzbyB0aGUgUGFuZWwgZmlsbHMgdGhlIGNvbnRhaW5lciAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgJi5jb2xsYXBzZWQge1xyXG4gICAgICAgIHdpZHRoOiA2OHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYubmV3VWkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VQYW5lbF90b2dnbGVDb2xsYXBzZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgdG9wOiAxOXB4OyAvKiB2LWFsaWduIHdpdGggYXZhdGFyICovXHJcbiAgICAgICAgcmlnaHQ6IC04cHg7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICAvKiBTbGlnaHQgYWxpZ25tZW50IHR3ZWFrIHRvIGNlbnRlciB0aGUgYXNzZXQgKi9cclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KC5leHBhbmRlZCkge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5leHBhbmRlZCBzdmcge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAvKiBTbGlnaHQgYWxpZ25tZW50IHR3ZWFrIHRvIGNlbnRlciB0aGUgYXNzZXQgKi9cclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIgLm14X1NwYWNlUGFuZWxfdG9nZ2xlQ29sbGFwc2UsXHJcbiAgICAubXhfU3BhY2VQYW5lbF90b2dnbGVDb2xsYXBzZTpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC8qIEZvciBlbmhhbmNlZCB2aXNpYmlsaXR5IHVuZGVyIGNvbnRyYXN0IGNvbnRyb2wgKi9cclxuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlQnV0dG9uX3RvZ2dsZUNvbGxhcHNlIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSXRlbV9kcmFnZ2luZyB7XHJcbiAgICAgICAgLm14X1NwYWNlQnV0dG9uX3RvZ2dsZUNvbGxhcHNlIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VJdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcblxyXG4gICAgICAgICYubXhfU3BhY2VJdGVtX25hcnJvdyB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VJdGVtLmNvbGxhcHNlZCB7XHJcbiAgICAgICAgJiA+IC5teF9TcGFjZUJ1dHRvbiA+IC5teF9TcGFjZUJ1dHRvbl90b2dnbGVDb2xsYXBzZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0xMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+IC5teF9TcGFjZVRyZWVMZXZlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUl0ZW1fbmV3IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSXRlbTpub3QoLmhhc1N1YlNwYWNlcykgPiAubXhfU3BhY2VCdXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ndXR0ZXJTaXplKTtcclxuICAgICAgICBtaW4td2lkdGg6IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlQnV0dG9uIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDRweCA0cHggNHB4IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIHVubGF5ZXJlZCBjdXJzb3I6IGdyYWI7IHJ1bGUgZnJvbSByZWFjdC1iZWF1dGlmdWwtZG5kICovXHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICYubXhfU3BhY2VCdXR0b25fYWN0aXZlIHtcclxuICAgICAgICAgICAgJjpub3QoLm14X1NwYWNlQnV0dG9uX25hcnJvdykgLm14X1NwYWNlQnV0dG9uX3NlbGVjdGlvbldyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWN0aXZlQmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfU3BhY2VCdXR0b25fbmFycm93IC5teF9TcGFjZUJ1dHRvbl9zZWxlY3Rpb25XcmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWFjdGl2ZUJvcmRlci10cmFuc3BhcmVudC1nYXApO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggdmFyKC0tYWN0aXZlQm9yZGVyLWNvbG9yKSBzb2xpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlQnV0dG9uX3NlbGVjdGlvbldyYXBwZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X1NwYWNlQnV0dG9uX25hcnJvdyAubXhfU3BhY2VCdXR0b25fc2VsZWN0aW9uV3JhcHBlciB7XHJcbiAgICAgICAgICAgIGZsZXg6IGluaXRpYWw7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlQnV0dG9uX25hbWUge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3BhY2VCdXR0b25fdG9nZ2xlQ29sbGFwc2Uge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1ndXR0ZXJTaXplKTtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIC8qIFJlLWFsaWduIHdpdGggcGFyZW50ICovXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlQnV0dG9uX2ljb24ge1xyXG4gICAgICAgICAgICAvKiBDYWxjdWxhdGUgaGVpZ2h0IGV4Y2x1ZGluZyBwYWRkaW5nIHRvIGFsbG93IHN2ZyB0byBpbmhlcml0ICovXHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWhlaWdodC10b3BMZXZlbCkgLSAxNHB4KTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWhlaWdodC10b3BMZXZlbCkgLSAxNHB4KTtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgcGFkZGluZzogN3B4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9TcGFjZUJ1dHRvbl9uZXcgLm14X1NwYWNlQnV0dG9uX2ljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyAvKiBUT0RPIHRyYW5zaXRpb24gKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9TcGFjZUJ1dHRvbl9uZXdDYW5jZWwgLm14X1NwYWNlQnV0dG9uX2ljb24gc3ZnIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlQnV0dG9uX21lbnVCdXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMC01eCk7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA0cHg7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZVRyZWVMZXZlbCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuXHJcbiAgICAgICAgLm14X1NwYWNlVHJlZUxldmVsIHtcclxuICAgICAgICAgICAgLyogSW5kZW50IHN1YnNwYWNlcyAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUJ1dHRvbl9hdmF0YXJXcmFwcGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlUGFuZWxfYmFkZ2VDb250YWluZXIge1xyXG4gICAgICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggdG8gbWFrZSBhbGlnbmluZyBkb3QgYmFkZ2VzIGVhc2llciAqL1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IC0zcHg7XHJcbiAgICAgICAgdG9wOiAtM3B4O1xyXG5cclxuICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMnB4OyAvKiBjZW50ZXJpbmcgKi9cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZV9kb3Qge1xyXG4gICAgICAgICAgICAvKiBtYWtlIHRoZSBzbWFsbGVyIGRvdCBvY2N1cHkgdGhlIHNhbWUgd2lkdGggZm9yIGNlbnRlcmluZyAqL1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTFweCAwIDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRzcGFjZVBhbmVsLWJnLWNvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlXzJjaGFyLFxyXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZV8zY2hhciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLTVweCAtNXB4IDAgMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHNwYWNlUGFuZWwtYmctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUJ1dHRvbjpob3ZlcixcclxuICAgIC5teF9TcGFjZUJ1dHRvbjpmb2N1cy13aXRoaW4sXHJcbiAgICAubXhfU3BhY2VCdXR0b25faGFzTWVudU9wZW4ge1xyXG4gICAgICAgICY6bm90KC5teF9TcGFjZUJ1dHRvbl9uYXJyb3cpOm5vdCgubXhfU3BhY2VCdXR0b25faW52aXRlKSAubXhfU3BhY2VCdXR0b25fbWVudUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VJdGVtOm5vdCgubXhfU3BhY2VJdGVtX25ldykge1xyXG4gICAgICAgIC5teF9TcGFjZUJ1dHRvbjpob3ZlcixcclxuICAgICAgICAubXhfU3BhY2VCdXR0b246Zm9jdXMtd2l0aGluLFxyXG4gICAgICAgIC5teF9TcGFjZUJ1dHRvbl9oYXNNZW51T3BlbiB7XHJcbiAgICAgICAgICAgICY6bm90KC5teF9TcGFjZUJ1dHRvbl9uYXJyb3cpOm5vdCgubXhfU3BhY2VCdXR0b25faW52aXRlKSAubXhfU3BhY2VCdXR0b25fbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDU2cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIHJvb3Qgc3BhY2UgYnV0dG9ucyBhcmUgYmlnZ2VyIGFuZCBub3QgaW5kZW50ZWQgKi9cclxuICAgICYgPiAubXhfQXV0b0hpZGVTY3JvbGxiYXIge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDE2cHggMDtcclxuICAgICAgICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XHJcblxyXG4gICAgICAgICYubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX3RvcE92ZXJmbG93IHtcclxuICAgICAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQsIGJsYWNrIDE2cHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9JbmRpY2F0b3JTY3JvbGxiYXJfYm90dG9tT3ZlcmZsb3cge1xyXG4gICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICAgICAgICAgICAgICB0byB0b3AsXHJcbiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCxcclxuICAgICAgICAgICAgICAgIHJnYigyNTUsIDI1NSwgMjU1LCAzMCUpIDRweCxcclxuICAgICAgICAgICAgICAgIHJnYigyNTUsIDI1NSwgMjU1LCA1NSUpIDhweCxcclxuICAgICAgICAgICAgICAgIHJnYigyNTUsIDI1NSwgMjU1LCA3NSUpIDEycHgsXHJcbiAgICAgICAgICAgICAgICBibGFjayAxNnB4XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0luZGljYXRvclNjcm9sbGJhcl90b3BPdmVyZmxvdy5teF9JbmRpY2F0b3JTY3JvbGxiYXJfYm90dG9tT3ZlcmZsb3cge1xyXG4gICAgICAgICAgICAvKiBUaGlzIHN0YWNrcyB0d28gZ3JhZGllbnRzIG9uIHRvcCBvZiBvbmUgYW5vdGhlciwgd2hpY2ggbGV0cyB1c1xyXG4gICAgICAgICAgICAgICBoYXZlIGEgZml4ZWQgcGl4ZWwgb2Zmc2V0IGZyb20gYm90aCB0b3AgYW5kIGJvdHRvbSBmb3IgdGhlIGNvbG91ciBzdG9wcy5cclxuICAgICAgICAgICAgICAgTm90ZSB0aGUgdG9wIGZhZGUgaXMgbXVjaCBzbWFsbGVyIGJlY2F1c2UgdGhlIHNwYWNlcyBzdGFydCBjbG9zZSB0byB0aGUgdG9wLFxyXG4gICAgICAgICAgICAgICBzbyBvdGhlcndpc2UgYSBsYXJnZSBncmFkaWVudCBzdWRkZW5seSBhcHBlYXJzIHdoZW4geW91IHNjcm9sbCBkb3duLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgbWFzay1pbWFnZTpcclxuICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50LCBibGFjayAxNnB4KSxcclxuICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcclxuICAgICAgICAgICAgICAgICAgICB0byB0b3AsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmdiKDI1NSwgMjU1LCAyNTUsIDMwJSkgNHB4LFxyXG4gICAgICAgICAgICAgICAgICAgIHJnYigyNTUsIDI1NSwgMjU1LCA1NSUpIDhweCxcclxuICAgICAgICAgICAgICAgICAgICByZ2IoMjU1LCAyNTUsIDI1NSwgNzUlKSAxMnB4LFxyXG4gICAgICAgICAgICAgICAgICAgIGJsYWNrIDE2cHhcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIG1hc2stcG9zaXRpb246XHJcbiAgICAgICAgICAgICAgICAwJSAwJSxcclxuICAgICAgICAgICAgICAgIDAlIDEwMCU7XHJcbiAgICAgICAgICAgIG1hc2stc2l6ZTpcclxuICAgICAgICAgICAgICAgIGNhbGMoMTAwJSAtIDEwcHgpIDUwJSxcclxuICAgICAgICAgICAgICAgIGNhbGMoMTAwJSAtIDEwcHgpIDUwJTtcclxuICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TcGFjZVBhbmVsX2NvbnRleHRNZW51IHtcclxuICAgIG1heC13aWR0aDogMzYwcHg7XHJcblxyXG4gICAgLm14X1NwYWNlUGFuZWxfY29udGV4dE1lbnVfaGVhZGVyIHtcclxuICAgICAgICBtYXJnaW46IDEycHggMTZweCAxMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlUGFuZWxfY29udGV4dE1lbnVfc2VwYXJhdG9yTGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTEycHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TcGFjZVBhbmVsX3NoYXJlUHVibGljU3BhY2Uge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4ubXhfU3BhY2VQYW5lbF9Ub29sdGlwX0tleWJvYXJkU2hvcnRjdXQge1xyXG4gICAga2JkIHtcclxuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNSBFbGVtZW50IENyZWF0aW9ucyBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TcGFjZVBpbGxCdXR0b24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMTZweCAzMnB4IDE2cHggNzJweDtcclxuICAgIHdpZHRoOiA0MzJweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xN3B4O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIGxlZnQ6IDIycHg7XHJcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TcGFjZVJvb21WaWV3IHtcclxuICAgIC0taW5uZXJXaWR0aDogNDI4cHg7XHJcblxyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIGZsZXg6IDE7XHJcblxyXG4gICAgLm14X01haW5TcGxpdCA+IGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZzogODBweCA2MHB4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0taW5uZXJXaWR0aCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1pbm5lcldpZHRoKTtcclxuXHJcbiAgICAgICAgICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAzNjBweCk7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0NHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogdmFyKC0taW5uZXJXaWR0aCk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyAvKiBidXR0b24gYWxpZ25tZW50IHJpZ2h0ICovXHJcblxyXG4gICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMnB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlucHV0Lm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lOyAvKiBvdmVycmlkZSBkZWZhdWx0IHN0eWxlcyAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRmllbGQge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWlubmVyV2lkdGgpO1xyXG5cclxuICAgICAgICAgICAgJiArIC5teF9GaWVsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3BhY2VSb29tVmlld19lcnJvclRleHQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuXHJcbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19oZWFkZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19uYW1lIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyNHB4IDAgMTZweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGdhcDogMTJweCAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2ludml0ZXIge1xyXG4gICAgICAgICAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW5mb0JhciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiAxMnB4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG5cclxuICAgICAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbmZvQmFyX2ludGVyYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMnB4IDEycHg7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0ZhY2VQaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIEZvciBlbmhhbmNlZCB2aXNpYmlsaXR5IHVuZGVyIGNvbnRyYXN0IGNvbnRyb2wgKi9cclxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbnZpdGVCdXR0b24sXHJcbiAgICAgICAgICAgICAgICAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX3NldHRpbmdzQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbnZpdGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxOHB4IDRweCA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX3NldHRpbmdzQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ190b3BpYyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU2VhcmNoQm94IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgZmxleDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlUm9vbVZpZXdfaW52aXRlVGVhbW1hdGVzIHtcclxuICAgICAgICAubXhfU3BhY2VSb29tVmlld19pbnZpdGVUZWFtbWF0ZXNfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI4cHg7XHJcblxyXG4gICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDsgLyogdG8gY2VudGVyIGljb25zICovXHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJiArIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NwbGFzaFBhZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6XHJcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChcclxuICAgICAgICAgICAgICAgIDUzLjg1JSA2Ni43NSUgYXQgODcuNTUlIDAlLFxyXG4gICAgICAgICAgICAgICAgaHNsKDI1MGRlZywgNzYlLCA3MSUsIDAuMjYxKSAwJSxcclxuICAgICAgICAgICAgICAgIGhzbCgyNTBkZWcsIDEwMCUsIDg4JSwgMCkgMTAwJVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoNDEuOTMlIDQxLjkzJSBhdCAwJSAwJSwgaHNsKDIyMmRlZywgMjklLCAyMCUsIDAuMjgpIDAlLCBoc2woMjUwZGVnLCAxMDAlLCA4OCUsIDApIDEwMCUpLFxyXG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoMTAwJSAxMDAlIGF0IDAlIDAlLCBoc2woMjUwZGVnLCAxMDAlLCA4OCUsIDAuMTc0KSAwJSwgaHNsKDBkZWcsIDEwMCUsIDg2JSwgMCkgMTAwJSksXHJcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudCgxMDYuMzUlIDk2LjI2JSBhdCAxMDAlIDAlLCBoc2woMjUwZGVnLCAxMDAlLCA4OCUsIDAuNCkgMCUsIGhzbCgxNjdkZWcsIDc2JSwgODIlLCAwKSAxMDAlKTtcclxuICAgICAgICAvKiBibHVyIHRvIHJlZHVjZSBjb2xvciBiYW5kaW5nIGlzc3VlcyBkdWUgdG8gYWxwaGEtYmxlbmRpbmcgbXVsdGlwbGUgZ3JhZGllbnRzICovXHJcbiAgICAgICAgZmlsdGVyOiBibHVyKDhweCk7XHJcbiAgICAgICAgaW5zZXQ6IC05cHg7XHJcbiAgICAgICAgbWFzazpcclxuICAgICAgICAgICAgLyogbWFzayB0byBkaXRoZXIgcmVzdWx0aW5nIGNvbWJpbmVkIGdyYWRpZW50ICovXHJcbiAgICAgICAgICAgIHVybChcIi9yZXMvaW1nL25vaXNlLnBuZ1wiKSxcclxuICAgICAgICAgICAgLyogZ3JhZGllbnQgdG8gYXBwbHkgZGlmZmVyZW50IGFtb3VudHMgb2YgZGl0aGVyaW5nIHRvIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgZ3JhZGllbnQgKi9cclxuICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIHRvIGJvdHRvbSxcclxuICAgICAgICAgICAgICAgICAgICAvKiAxMCUgZGl0aGVyaW5nIGF0IHRoZSB0b3AgKi8gcmdiKDAsIDAsIDAsIDAuOSkgMjAlLFxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDgwJSBkaXRoZXJpbmcgYXQgdGhlIGJvdHRvbSAqLyByZ2IoMCwgMCwgMCwgMC4yKSAxMDAlXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZFxyXG5Db3B5cmlnaHQgMjAxNyBUcmF2aXMgUmFsc3RvblxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVGFiYmVkVmlldyB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCB2YXIoLS1jcGQtc3BhY2UtOHgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBpbnNldDogMDtcclxuICAgIG1hcmdpbi10b3A6IDhweDtcclxufVxyXG5cclxuLm14X1RhYmJlZFZpZXdfdGFic09uTGVmdCB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVscyB7XHJcbiAgICAgICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMjIwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIG1hcmdpbjogMDsgLyogUmVtb3ZlIHRoZSBkZWZhdWx0IHZhbHVlICovXHJcbiAgICAgICAgcGFkZGluZzogMDsgLyogUmVtb3ZlIHRoZSBkZWZhdWx0IHZhbHVlICovXHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RhYmJlZFZpZXdfdGFiUGFuZWwge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyODBweDsgLyogMjIwcHggc2lkZWJhciArIDYwcHggcGFkZGluZyAqL1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWw6aG92ZXIsXHJcbiAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbF9hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkdGFiLWxhYmVsLWFjdGl2ZS1mZy1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbF9hY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuICAgICAgICAvKiBGb3IgZW5oYW5jZWQgdmlzaWJpbGl0eSB1bmRlciBjb250cmFzdCBjb250cm9sICovXHJcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVGFiYmVkVmlld190YWJzT25Ub3Age1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MnB4O1xyXG5cclxuICAgICAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbF90ZXh0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsX2FjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfdGV4dCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxzIHtcclxuICAgIGNvbG9yOiAkdGFiLWxhYmVsLWZnLWNvbG9yO1xyXG59XHJcblxyXG4ubXhfVGFiYmVkVmlld190YWJMYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1pbi1ibG9jay1zaXplOiA0MHB4O1xyXG4gICAgbWluLWlubGluZS1zaXplOiA0MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgY29sb3IgMC4xcyxcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVGFiYmVkVmlld190YWJMYWJlbF90ZXh0IHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtaW4taGVpZ2h0OiAwOyAvKiBmaXJlZm94ICovXHJcbn1cclxuXHJcbi5teF9UYWJiZWRWaWV3X3RhYlBhbmVsQ29udGVudCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IDA7IC8qIGZpcmVmb3ggKi9cclxufVxyXG5cclxuLyogSGlkZSB0aGUgbGFiZWxzIG9uIHRhYnMsIHNob3dpbmcgb25seSB0aGUgaWNvbnMsIG9uIG5hcnJvdyB2aWV3cG9ydHMuICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgIC5teF9UYWJiZWRWaWV3X3RhYnNPbkxlZnQubXhfVGFiYmVkVmlld19yZXNwb25zaXZlIHtcclxuICAgICAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbF90ZXh0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFiUGFuZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNzJweDsgLyogNDBweCBzaWRlYmFyICsgMzJweCBwYWRkaW5nICovXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVscyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwIDA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlX2NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uIHtcclxuICAgIC8qICFpbXBvcnRhbnQgb3ZlcnJpZGUgY29tcG91bmQgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDhweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxOHB4IGF1dG8gYXV0byBhdXRvO1xyXG5cclxuICAgICYuZXhwYW5kZWQge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIG92ZXJyaWRlIGNvbXBvdW5kIGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB3aGVuIGhvdmVyZWRcclxuICAgICAgICAgKiBzaG91bGQgZGlzYXBwZWFyIHdoZW4gdGhlIHNwYWNlIHBhbmVsIHdpbGwgYmUgbWlncmF0ZWQgdG8gY29tcG91bmRcclxuICAgICAgICAgKi9cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAvKiBhbGlnbiB3aXRoIHNldHRpbmdzIGljb24gKi9cclxuICAgICAgICBtYXJnaW4tbGVmdDogMjFweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogbW9kaWZ5IGludGVybmFsIGNzcyBvZiB0aGUgY29tcG91bmQgY29tcG9uZW50XHJcbiAgICAgICAgICogZGlydHkgYnV0IHdlIG5lZWQgdG8gYWRkIHRoZSBgVGhyZWFkc2AgbGFiZWwgaW50byB0aGUgaW5kaWNhdG9yIGljb24gYnV0dG9uXHJcbiAgICAgICAgICoqL1xyXG4gICAgICAgICYgPiBkaXYge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGlubGluZS1zaXplOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBibG9jay1zaXplOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAxN3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmIC5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVCdXR0b25fSWNvbiB7XHJcbiAgICAgICAgICAgIC8qIGFsaWduIHdpdGggc2V0dGluZ3MgbGFiZWwgKi9cclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICAvKiByZXF1aXJlZCB0byBzZXQgdGhlIGljb24gd2lkdGggd2hlbiBpbnRvIGEgZmxleCBjb250YWluZXIgKi9cclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiAubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uX1RleHQge1xyXG4gICAgICAgICAgICAvKiAhaW1wb3J0YW50IG92ZXJyaWRlIGNvbXBvdW5kICAqL1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5leHBhbmRlZCkge1xyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpob3ZlciAubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uX0ljb24ge1xyXG4gICAgICAgICAgICAvKiAhaW1wb3J0YW50IG92ZXJyaWRlIGNvbXBvdW5kICovXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZmlsbDogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiAubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uX0ljb24ge1xyXG4gICAgICAgIGZpbGw6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZV9yb3dzIHtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIC8qIExldCBzb21lIHNwYWNlIGF0IHRoZSB0b3AgYW5kIHRoZSBib3R0b20gb2YgdGhlIHBvcC11cCAqL1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTtcclxuXHJcbiAgICAubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlUm93IHtcclxuICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcblxyXG4gICAgICAgIC8qIE1ha2UgdGhlIGxhYmVsIG9mIHRoZSBNZW51SXRlbSBzdGF5IG9uIG9uZSBsaW5lIGFuZCB0cnVuY2F0ZSB3aXRoIGVsbGlwc2lzIGlmIG5lZWRlZCAqL1xyXG4gICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIC8qIEFyYml0cmFyeSBzaXplLCBrZWVwIHRoZSBUQUMgYXMgdGhlIHdhbnRlZCB3aWR0aCAqL1xyXG4gICAgICAgICAgICB3aWR0aDogMjAycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBIaWRlIHRoZSBub3RpZmljYXRpb24gYmFkZ2Ugb24gaG92ZXIg4oCUIGNvbXBvdW5kJ3MgYG5hdi1oaW50IH4gKmAgcnVsZSB3b3VsZCBub3JtYWxseVxyXG4gICAgICAgICAqIGRvIHRoaXMsIGJ1dCB0aGUgYXBwLXdlYiBDU1MgbGF5ZXIgb3ZlcnJpZGVzIGNvbXBvdW5kLXdlYiByZWdhcmRsZXNzIG9mIHNwZWNpZmljaXR5LiAqL1xyXG4gICAgICAgICY6aG92ZXIgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVfZW1wdHlDYXB0aW9uIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjYgRWxlbWVudCBDcmVhdGlvbnMgTHRkLlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTktMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVG9hc3RDb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMnB4O1xyXG4gICAgbGVmdDogNjJweDtcclxuICAgIHotaW5kZXg6IDEwMTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAyOHB4IDhweDtcclxuXHJcbiAgICAmLm14X1RvYXN0Q29udGFpbmVyX3N0YWNrZWQ6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBtYXJnaW46IDAgdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xyXG4gICAgICAgIGdyaWQtcm93OiAyIC8gLTE7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDIwcHggcmdiKDAsIDAsIDAsIDAuNSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVG9hc3RfdG9hc3Qge1xyXG4gICAgICAgIGdyaWQtcm93OiAxIC8gMztcclxuICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggMjRweCByZ2IoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjBweCAxZnIgYXV0bztcclxuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgIHJvdy1nYXA6IDRweDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tY3BkLXNwYWNlLTV4KSAtIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkpO1xyXG5cclxuICAgICAgICAmLm14X1RvYXN0X2hhc0ljb24ge1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1RvYXN0X3RpdGxlIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfVG9hc3RfY2xvc2VidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoLm14X1RvYXN0X2hhc0ljb24pIC5teF9Ub2FzdF90aXRsZSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVG9hc3RfdGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbGctc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Ub2FzdF9ib2R5IHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVG9hc3RfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcblxyXG4gICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDk2cHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVG9hc3RfZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI3MnB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMXgpIDAgMTFweCAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Ub2FzdF9kZXZpY2VJRCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2ICwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVXBsb2FkQmFyIHtcclxuICAgIC8qIGxpbmUgdXAgd2l0aCB0aGUgc2hpZWxkIGFyZWEgaW4gdGhlIGNvbXBvc2VyICovXHJcbiAgICBwYWRkaW5nOiA1cHggMjFweCAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlOlxyXG4gICAgICAgIFwiaWNvbiAgICAgZmlsZW5hbWUgY2FuY2VsXCIgYXV0b1xyXG4gICAgICAgIFwicHJvZ3Jlc3MgcHJvZ3Jlc3MgcHJvZ3Jlc3NcIiBhdXRvXHJcbiAgICAgICAgLyBtaW4tY29udGVudCBhdXRvIG1pbi1jb250ZW50O1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMS01eCk7XHJcblxyXG4gICAgJiA+IHN2ZyB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBpY29uO1xyXG4gICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVXBsb2FkQmFyX2ZpbGVuYW1lIHtcclxuICAgICAgICBncmlkLWFyZWE6IGZpbGVuYW1lO1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9VcGxvYWRCYXJfY2FuY2VsIHtcclxuICAgICAgICBncmlkLWFyZWE6IGNhbmNlbDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Byb2dyZXNzQmFyIHtcclxuICAgICAgICBncmlkLWFyZWE6IHByb2dyZXNzO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVGhyZWFkVmlldyB7XHJcbiAgICAubXhfVXBsb2FkQmFyIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9WaWV3U291cmNlIHtcclxuICAgIHByZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9WaWV3U291cmNlX2hlYWRlciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTEyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTEyO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XHJcblxyXG4gICAgICAgIC5teF9Db3B5YWJsZVRleHQge1xyXG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9WaWV3U291cmNlX2hlYWRpbmcge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTdweDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTEyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9WaWV3U291cmNlX2RldGFpbHMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTEyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Db3B5YWJsZVRleHRfYm9yZGVyIHtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ29tcGxldGVTZWN1cml0eV9oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9FMkVJY29uLm14X0NvbXBsZXRlU2VjdXJpdHlfaGVhZGVySWNvbiB7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4ubXhfRTJFSWNvbi5teF9Db21wbGV0ZVNlY3VyaXR5X2hlcm9JY29uIHtcclxuICAgIHdpZHRoOiAxMjhweDtcclxuICAgIGhlaWdodDogMTI4cHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLm14X0NvbXBsZXRlU2VjdXJpdHlfc2tpcCB7XHJcbiAgICBAbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAyNHB4O1xyXG59XHJcblxyXG4ubXhfQ29tcGxldGVTZWN1cml0eV9ib2R5IHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxufVxyXG5cclxuLm14X0NvbXBsZXRlU2VjdXJpdHlfd2FpdGluZyB7XHJcbiAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9Db21wbGV0ZVNlY3VyaXR5X2FjdGlvblJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIG1hcmdpbi10b3A6ICRmb250LTI4cHg7XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDE4cHg7XHJcblxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOS0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Db25maXJtU2Vzc2lvbkxvY2tUaGVmdFZpZXcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfQ29uZmlybVNlc3Npb25Mb2NrVGhlZnRWaWV3X2JvZHkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTG9naW5fc3VibWl0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbn1cclxuXHJcbi5teF9Mb2dpbl9sb2FkZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAycHg7XHJcbiAgICBsZWZ0OiA4cHg7XHJcbn1cclxuXHJcbi5teF9Mb2dpbl9sb2FkZXIgLm14X1NwaW5uZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcblxyXG4ubXhfTG9naW5fbG9hZGVyIC5teF9TcGlubmVyIGltZyB7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxufVxyXG5cclxuLm14X0xvZ2luX2Vycm9yIHtcclxuICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG59XHJcblxyXG4ubXhfTG9naW5fZXJyb3IubXhfTG9naW5fc2VydmVyRXJyb3Ige1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5teF9Mb2dpbl9lcnJvci5teF9Mb2dpbl9zZXJ2ZXJFcnJvci5teF9Mb2dpbl9zZXJ2ZXJFcnJvck5vbkZhdGFsIHtcclxuICAgIGNvbG9yOiAjZmY4ZDEzOyAvKiBPbmx5IHVzZWQgaGVyZSAqL1xyXG59XHJcblxyXG4ubXhfTG9naW5fdHlwZV9jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XHJcblxyXG4gICAgLm14X0ZpZWxkIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Mb2dpbl90eXBlX2xhYmVsIHtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5teF9Mb2dpbl91bmRlcmxpbmVkU2VydmVyTmFtZSB7XHJcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRhY2NlbnQ7XHJcbn1cclxuXHJcbmRpdi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluay5teF9Mb2dpbl9mb3Jnb3Qge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0xvZ2luX3NwaW5uZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDE0cHg7XHJcbn1cclxuXHJcbi5teF9Mb2dpbl9mdWxsV2lkdGhCdXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNS0yMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Mb2dpblNwbGFzaFZpZXdfbWlncmF0aW9uUHJvZ3Jlc3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgLm14X1Byb2dyZXNzQmFyIHtcclxuICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICB3aWR0aDogNjAwcHg7XHJcblxyXG4gICAgICAgIEBtaXhpbiBQcm9ncmVzc0JhckJvcmRlclJhZGl1cyA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Mb2dpblNwbGFzaFZpZXdfc3BsYXNoQnV0dG9ucyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLm14X0xvZ2luU3BsYXNoVmlld19zeW5jRXJyb3Ige1xyXG4gICAgY29sb3I6ICRhY2NlbnQtZmctY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGYyYThiOyAvKiBPbmx5IHVzZWQgaGVyZSAqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDBweDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01vYmlsZVJlZ2lzdGVyX2JvZHkge1xyXG4gICAgcGFkZGluZzogMzJweDtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1JlZ2lzdGVyX21haW5Db250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgbWluLWhlaWdodDogMjcwcHg7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XHJcblxyXG4gICAgICAgICYuc2Vjb25kYXJ5IHtcclxuICAgICAgICAgICAgY29sb3I6ICRhdXRocGFnZS1zZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gaW1nOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTG9naW5fc3VibWl0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUmVnaXN0ZXJfZm9vdGVyQWN0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2IoMTQxLCAxNTEsIDE2NSwgMC4yKTtcclxuXHJcbiAgICA+ICoge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXNzaW9uTG9ja1N0b2xlblZpZXcge1xyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMzJweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjRweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR1cEVuY3J5cHRpb25Cb2R5IHtcclxuICAgIHdpZHRoOiA2MDBweDtcclxufVxyXG4iLCIvKlxuUExYIE1pZG5pZ2h0IGZvbnQg4oCUIFBsdXMgSmFrYXJ0YSBTYW5zLlxuXG5AZm9udC1mYWNlIGRlY2xhcmF0aW9ucyBmb3IgdGhlIFBMWCBwcmltYXJ5IHR5cGVmYWNlLiBGaWxlcyBsaXZlIGluXG5yZXMvZm9udHMvUGx1c0pha2FydGFTYW5zLyBhbmQgYXJlIGNvcGllZCB2ZXJiYXRpbSBpbnRvIHRoZSBidWlsZCBvdXRwdXQgYnlcbndlYnBhY2sncyBhc3NldCBoYW5kbGluZyAocmVmZXJlbmNlZCB2aWEgYWJzb2x1dGUgL3Jlcy8gVVJMcywgbWF0Y2hpbmcgdGhlXG5Ud2Vtb2ppIHBhdHRlcm4gaW4gX2ZvbnRzLnBjc3MpLiBUaGUgZmFtaWx5IGlzIHdpcmVkIGFzIHRoZSBwcmltYXJ5IGZvbnQgaW5cbl9wbHgtdGVsZWdyYW0ucGNzcyAoLS1wbHgtZm9udCkgd2l0aCBhIHN5c3RlbS11aSBmYWxsYmFjay5cbiovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBsdXMgSmFrYXJ0YSBTYW5zXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogdXJsKFwiL3Jlcy9mb250cy9QbHVzSmFrYXJ0YVNhbnMvcGx1cy1qYWthcnRhLXNhbnMtbGF0aW4tNDAwLW5vcm1hbC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBsdXMgSmFrYXJ0YSBTYW5zXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogdXJsKFwiL3Jlcy9mb250cy9QbHVzSmFrYXJ0YVNhbnMvcGx1cy1qYWthcnRhLXNhbnMtbGF0aW4tNTAwLW5vcm1hbC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBsdXMgSmFrYXJ0YSBTYW5zXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogdXJsKFwiL3Jlcy9mb250cy9QbHVzSmFrYXJ0YVNhbnMvcGx1cy1qYWthcnRhLXNhbnMtbGF0aW4tNjAwLW5vcm1hbC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBsdXMgSmFrYXJ0YSBTYW5zXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogdXJsKFwiL3Jlcy9mb250cy9QbHVzSmFrYXJ0YVNhbnMvcGx1cy1qYWthcnRhLXNhbnMtbGF0aW4tNzAwLW5vcm1hbC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBsdXMgSmFrYXJ0YSBTYW5zXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogdXJsKFwiL3Jlcy9mb250cy9QbHVzSmFrYXJ0YVNhbnMvcGx1cy1qYWthcnRhLXNhbnMtbGF0aW4tODAwLW5vcm1hbC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbiIsIi8qXG5QTFggTWlkbmlnaHQgdGhlbWUgb3ZlcmxheS5cblxuQXBwbGllZCBhcyB0aGUgbGFzdCBpbXBvcnQgaW4gdGhlIGRhcmsgdGhlbWUgc28gaXQgc2l0cyBhdCB0aGUgdG9wIG9mIHRoZVxuYGFwcC13ZWJgIGNhc2NhZGUgbGF5ZXIgYW5kIG92ZXJyaWRlcyBFbGVtZW50J3MgZGVmYXVsdHMuIEl0IG1hcHMgdGhlXG5QTFggXCJNaWRuaWdodFwiIGRlc2lnbiB0b2tlbnMgKGRlZXAgbmF2eSBvbiBUQVJESVMgYmx1ZSkgb250byBFbGVtZW50J3NcbmNvbXBvbmVudCBzZWxlY3RvcnMgYW5kIGNvbXBvdW5kIGRlc2lnbiB0b2tlbnMuXG5cblJvYnVzdG5lc3Mgbm90ZXM6XG4tIFdlIG92ZXJyaWRlIHRoZSBydW50aW1lIENTUyBjdXN0b20gcHJvcGVydGllcyAoLS1jcGQtY29sb3ItKikgcmF0aGVyIHRoYW5cbiAgU0NTUyBidWlsZCB2YXJzLCBzbyB0aGlzIGlzIGEgc2luZ2xlIHNlbGYtY29udGFpbmVkIGZpbGUgd2l0aCBubyBidWlsZC1ncmFwaFxuICBjb3VwbGluZy5cbi0gQWxsIGNvbG91cnMvcmFkaWkgYXJlIHNvdXJjZWQgZnJvbSB0aGUgTWlkbmlnaHQgZGVzaWduIGhhbmRvZmYuXG4qL1xuXG46cm9vdCB7XG4gICAgLyogLS0tLSBQTFggLyBNaWRuaWdodCBkYXJrIHRva2VuIGJsb2NrIC0tLS0gKi9cbiAgICAtLXBseC1hY2NlbnQ6ICMyZTgwZGU7ICAgICAgICAgICAgLyogVEFSRElTIGJsdWUg4oCUIGxpbmtzLCBhY3RpdmUsIGJhZGdlcyAqL1xuICAgIC0tcGx4LWFjY2VudC1ob3ZlcjogIzNhOGZlNjsgICAgICAvKiBhY2NlbnQtYnJpZ2h0ICovXG4gICAgLS1wbHgtYWNjZW50LWRlZXA6ICMxNzVmYjA7XG4gICAgLS1wbHgtYWNjZW50LXNvZnQ6IHJnYmEoNDYsIDEyOCwgMjIyLCAwLjE2KTtcbiAgICAtLXBseC1iZzogIzBlMTYyMTsgICAgICAgICAgICAgICAgLyogY2hhdCBhcmVhIGJhY2tncm91bmQgKi9cbiAgICAtLXBseC1iZy1zZWNvbmRhcnk6ICMwZTE2MjE7ICAgICAgLyogc2lkZWJhciAvIHJvb20gbGlzdCBiZyAqL1xuICAgIC0tcGx4LXBhbmVsOiAjMTcyMTJiOyAgICAgICAgICAgICAvKiBzaWRlYmFyLCBoZWFkZXJzLCBjb21wb3NlciAqL1xuICAgIC0tcGx4LXBhbmVsLTI6ICMyMDJiMzY7ICAgICAgICAgICAvKiBjYXJkcywgcG9wb3ZlcnMsIGhvdmVyIHN1cmZhY2VzICovXG4gICAgLS1wbHgtYnViYmxlLWluOiAjMTgyNTMzOyAgICAgICAgIC8qIGluY29taW5nIG1lc3NhZ2UgYnViYmxlICovXG4gICAgLS1wbHgtYnViYmxlLW91dDogIzJlODBkZTsgICAgICAgIC8qIG91dGdvaW5nIChzb2xpZCBmYWxsYmFjazsgZ3JhZGllbnQgYmVsb3cpICovXG4gICAgLS1wbHgtYnViYmxlLW91dC1ncmFkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMmU4MGRlLCAjMTc1ZmIwKTtcbiAgICAtLXBseC1idWJibGUtb3V0LW1ldGE6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7XG4gICAgLS1wbHgtdGV4dDogI2ZmZmZmZjtcbiAgICAtLXBseC10ZXh0LXNlY29uZGFyeTogIzdmOTFhNDsgICAgLyogZGltICovXG4gICAgLS1wbHgtbWV0YTogIzdmOTFhNDtcbiAgICAtLXBseC1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG4gICAgLS1wbHgtZGl2aWRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbiAgICAtLXBseC1yb3ctaG92ZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgLS1wbHgtcm93LWFjdGl2ZTogdmFyKC0tcGx4LWFjY2VudC1zb2Z0KTtcbiAgICAtLXBseC1wbGFjZWhvbGRlcjogIzdmOTFhNDtcbiAgICAtLXBseC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgLS1wbHgtb25saW5lOiAjNGVlMDdhO1xuICAgIC0tcGx4LWRhbmdlcjogI2UwNDU0YjtcbiAgICAtLXBseC1zdWNjZXNzOiAjM2VjZjhlO1xuICAgIC0tcGx4LXJlYWQtdGljazogIzhmZDBmZjtcblxuICAgIC8qIGdlb21ldHJ5ICovXG4gICAgLS1wbHgtcmFkaXVzLWJ1YmJsZTogMTZweDtcbiAgICAtLXBseC1yYWRpdXMtYnViYmxlLXRpZ2h0OiA0cHg7XG4gICAgLS1wbHgtcmFkaXVzLWlucHV0OiAxM3B4O1xuICAgIC0tcGx4LXJhZGl1cy1idXR0b246IDEzcHg7XG4gICAgLS1wbHgtcmFkaXVzLWNhcmQ6IDE0cHg7XG4gICAgLS1wbHgtYXZhdGFyOiA1MnB4O1xuICAgIC0tcGx4LXJvdy1oZWlnaHQ6IDYwcHg7XG4gICAgLS1wbHgtaGVhZGVyLWhlaWdodDogNjBweDtcblxuICAgIC0tcGx4LWZvbnQ6IFwiUGx1cyBKYWthcnRhIFNhbnNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIC0tcGx4LWVhc2UtbGF5ZXI6IDMwMG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKTtcbiAgICAtLXBseC1lYXNlLXNsaWRlOiAzMDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKTtcbiAgICAtLXBseC1lYXNlLXNlbGVjdDogMjAwbXMgZWFzZS1vdXQ7XG59XG5cbi8qIC0tLS0gQWNjZW50OiBmbGlwIEVsZW1lbnQgZ3JlZW4gLT4gTWlkbmlnaHQgVEFSRElTIGJsdWUgLS0tLVxuICAgRWxlbWVudCdzIGFjY2VudCBkZXJpdmVzIGZyb20gdGhlIGNvbXBvdW5kIFwiZ3JlZW5cIiB0b2tlbiByYW1wIGFuZCB0aGVcbiAgIHRleHQtYWN0aW9uIC8gcHJpbWFyeSB0b2tlbnMuIFJlbWFwIHRoZW0gdG8gdGhlIFBMWCBibHVlIHNvIGJ1dHRvbnMsXG4gICBsaW5rcywgYWN0aXZlIHN0YXRlcywgdGhlIHN5bmMgc3Bpbm5lciBhbmQgc2VsZWN0aW9uIGFsbCBiZWNvbWUgYmx1ZS4gKi9cbjpyb290LFxuLmNwZC10aGVtZS1kYXJrLFxuW2NsYXNzKj1cImNwZC10aGVtZVwiXSB7XG4gICAgLyogUHJpbWFyeSB0eXBlZmFjZTogUGx1cyBKYWthcnRhIFNhbnMgcHJvcGFnYXRlcyBhcHAtd2lkZSB2aWEgdGhlIENvbXBvdW5kXG4gICAgICAgc2FucyB0b2tlbiAoZHJpdmVzIGJvZHksIENvbXBvdW5kIGNvbXBvbmVudHMsIGRpYWxvZ3MsIOKApikuICovXG4gICAgLS1jcGQtZm9udC1mYW1pbHktc2FuczpcbiAgICAgICAgXCJQbHVzIEpha2FydGEgU2Fuc1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiVHdlbW9qaVwiLFxuICAgICAgICBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiAgICAtLWNwZC1jb2xvci10ZXh0LWFjdGlvbi1hY2NlbnQ6IHZhcigtLXBseC1hY2NlbnQpO1xuICAgIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3Q6IHZhcigtLXBseC1hY2NlbnQpO1xuICAgIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWhvdmVyZWQ6IHZhcigtLXBseC1hY2NlbnQtaG92ZXIpO1xuICAgIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXByZXNzZWQ6IHZhcigtLXBseC1hY2NlbnQtZGVlcCk7XG4gICAgLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5OiB2YXIoLS1wbHgtdGV4dCk7XG5cbiAgICAvKiBUaGUgZ3JlZW4gcmFtcCBpcyB3aGF0IEVsZW1lbnQgdXNlcyBmb3IgYWNjZW50cyBhbmQgdGhlIE9XTiBidWJibGUgZmlsbC5cbiAgICAgICBSZXBvaW50IHRoZSBtaWQgcmFtcCB0byBibHVlIHNvIG93biBidWJibGVzICsgYWNjZW50cyBmb2xsb3cgTWlkbmlnaHQuICovXG4gICAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiB2YXIoLS1wbHgtYnViYmxlLW91dCk7XG4gICAgLS1jcGQtY29sb3ItZ3JlZW4tNDAwOiB2YXIoLS1wbHgtYWNjZW50KTtcbiAgICAtLWNwZC1jb2xvci1ncmVlbi01MDA6IHZhcigtLXBseC1hY2NlbnQpO1xuICAgIC0tY3BkLWNvbG9yLWdyZWVuLTYwMDogdmFyKC0tcGx4LWFjY2VudC1ob3Zlcik7XG4gICAgLS1jcGQtY29sb3ItZ3JlZW4tNzAwOiB2YXIoLS1wbHgtYWNjZW50LWRlZXApO1xuICAgIC0tY3BkLWNvbG9yLWdyZWVuLTkwMDogI2U5ZjJmYjtcbiAgICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjZTlmMmZiO1xuXG4gICAgLyogaW5jb21pbmcgYnViYmxlID0gbmV1dHJhbCBwYW5lbCAqL1xuICAgIC0tY3BkLWNvbG9yLWdyYXktMzAwOiB2YXIoLS1wbHgtYnViYmxlLWluKTtcblxuICAgIC8qIHN1Y2Nlc3MgLyBvbmxpbmUgKEUyRUUgYWN0aXZlLCBhcHByb3ZlKSAqL1xuICAgIC0tY3BkLWNvbG9yLXRleHQtc3VjY2Vzcy1wcmltYXJ5OiB2YXIoLS1wbHgtc3VjY2Vzcyk7XG4gICAgLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnk6IHZhcigtLXBseC1zdWNjZXNzKTtcbiAgICAvKiBkYW5nZXIgKHNpZ24gb3V0LCBkZW55KSAqL1xuICAgIC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeTogdmFyKC0tcGx4LWRhbmdlcik7XG59XG5cbi8qIC0tLS0gQXBwICsgcm9vbSBiYWNrZ3JvdW5kIC0tLS0gKi9cbi5teF9NYXRyaXhDaGF0X3dyYXBwZXIsXG4ubXhfUm9vbVZpZXcsXG4ubXhfTWFpblNwbGl0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wbHgtYmcpO1xufVxuXG4ubXhfTGVmdFBhbmVsLFxuLm14X1NwYWNlUGFuZWwsXG4ubXhfUm9vbUxpc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1wYW5lbCk7XG59XG5cbi8qIC0tLS0gUExYLTAxMjogcm9vbS1saXN0IHVzZXIgYmFyIChhdmF0YXIgLT4gUHJvZmlsZSAvIFNldHRpbmdzIC8gU2lnbiBvdXQpIC0tLS1cbiAgIE1pZG5pZ2h0IGNoaXAgdGhhdCBob3N0cyB0aGUgcmVzdG9yZWQgVXNlck1lbnUgYXQgdGhlIHRvcCBvZiB0aGUgcm9vbSBsaXN0LiAqL1xuLm14X1Jvb21MaXN0UGFuZWxfdXNlckJhciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBseC1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1wYW5lbCk7XG59XG4ubXhfUm9vbUxpc3RQYW5lbF91c2VyQmFyIC5teF9Vc2VyTWVudSBidXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogNHB4IDZweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBseC1lYXNlLXNlbGVjdCk7XG59XG4ubXhfUm9vbUxpc3RQYW5lbF91c2VyQmFyIC5teF9Vc2VyTWVudSBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1yb3ctaG92ZXIpO1xufVxuLm14X1Jvb21MaXN0UGFuZWxfdXNlckJhciAubXhfQmFzZUF2YXRhcixcbi5teF9Sb29tTGlzdFBhbmVsX3VzZXJCYXIgLm14X1VzZXJNZW51IFtjbGFzcyo9XCJhdmF0YXJcIl0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLyogLS0tLSBUeXBvZ3JhcGh5IC0tLS1cbiAgIF9jb21tb24ucGNzcyBhcHBsaWVzIGBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpICFpbXBvcnRhbnRgIHRvXG4gICBib2R5LCBhIENvbXBvdW5kIGNvbXBvc2l0ZSBzaG9ydGhhbmQgdGhhdCBoYXJkLWNvZGVzIEludGVyIGFzIHRoZSBmYW1pbHkgYW5kXG4gICByZXNldHMgZm9udC1mYW1pbHkuIFdlIHJlLWFzc2VydCB0aGUgUExYIGZhbWlseSB3aXRoICFpbXBvcnRhbnQgQUZURVIgaXQgc29cbiAgIFBsdXMgSmFrYXJ0YSBTYW5zIHdpbnMgYXBwLXdpZGUuICovXG5ib2R5LFxuLm14X01hdHJpeENoYXQge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wbHgtZm9udCkgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT0gTUVTU0FHRSBCVUJCTEVTID09PT09PT09PT09PT09PT09ICovXG4vKiBUZWxlZ3JhbS1zdHlsZSBNaWRuaWdodCBidWJibGVzLiBCdWJibGUgbGF5b3V0IGlzIG5vdyB0aGUgYXBwIGRlZmF1bHRcbiAgIChzZWUgU2V0dGluZ3MudHN4OiBsYXlvdXQgLT4gTGF5b3V0LkJ1YmJsZSkuIFNwZWM6XG4gICAgIC0gb3V0Z29pbmcgPSBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMyRTgwREUsIzE3NUZCMCksIHdoaXRlIHRleHRcbiAgICAgLSBpbmNvbWluZyA9ICMxODI1MzMsIHdoaXRlIHRleHRcbiAgICAgLSAxNnB4IHJhZGl1cywgd2l0aCBhIDRweCBcInRhaWxcIiBjb3JuZXIgb24gdGhlIGJvdHRvbSBlZGdlIG5lYXJlc3RcbiAgICAgICB0aGUgc2VuZGVyIChUZWxlZ3JhbSBsb29rKS4gKi9cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xuICAgIC0tY29ybmVyUmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWJ1YmJsZSk7XG4gICAgLS1ndXR0ZXJTaXplOiA5cHg7XG4gICAgLS1tYXhXaWR0aDogNzQlO1xufVxuXG4vKiBpbmNvbWluZyBidWJibGUgZmlsbCArIHRleHQgKi9cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtYnViYmxlLWluKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dCk7XG59XG5cbi8qIG91dGdvaW5nIGJ1YmJsZSBmaWxsICsgdGV4dCAoTWlkbmlnaHQgZ3JhZGllbnQpXG4gICBQTFgtMDA1OiBzY29wZSB0aGUgZ3JhZGllbnQgdG8gT1dOICptZXNzYWdlKiBidWJibGVzIE9OTFkuIFNldmVyYWwgbm9uLW1lc3NhZ2VcbiAgIHRpbGVzIGFsc28gY2FycnkgZGF0YS1zZWxmPVwidHJ1ZVwiIChzZW5kZXIgaXMgdXMpIGJ1dCBtdXN0IE5PVCBnZXQgdGhlIGdyYWRpZW50OlxuICAgICAtIC5teF9FdmVudFRpbGVfaW5mbyAgICAgICAgICAgIC0+IFwiWCBpbnZpdGVkIFlcIiBtZW1iZXJzaGlwL3N0YXRlIHRpbGVzXG4gICAgIC0gLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIgLT4gXCJFbmNyeXB0aW9uIGVuYWJsZWRcIiBjcnlwdG8vc3RhdGUgZXZlbnQgdGlsZXNcbiAgICAgLSAubXhfRXZlbnRUaWxlX25vU2VuZGVyICAgICAgICAtPiBzZW5kZXItbGVzcyBzdGF0ZSB0aWxlc1xuICAgICAtIHRpbGVzIHdob3NlIGJvZHkgaXMgLm14X0RlY3J5cHRpb25GYWlsdXJlQm9keSAtPiBcImNhbid0IGRlY3J5cHRcIiAvIHZlcmlmeSBuYWdzXG4gICBFeGNsdWRlIGFsbCBvZiB0aGVtLiAqL1xuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdOm5vdCgubXhfRXZlbnRUaWxlX2luZm8pOm5vdCgubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lcik6bm90KC5teF9FdmVudFRpbGVfbm9TZW5kZXIpXG4gICAgLm14X0V2ZW50VGlsZV9saW5lOm5vdCg6aGFzKC5teF9EZWNyeXB0aW9uRmFpbHVyZUJvZHkpKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LWJ1YmJsZS1vdXQtZ3JhZCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyoga2VlcCBtZWRpYSBjb250YWluZXJzIGluc2lkZSBvdXRnb2luZyBidWJibGVzIG9uIHRoZSBncmFkaWVudCAqL1xuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdOm5vdCgubXhfRXZlbnRUaWxlX2luZm8pOm5vdCgubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lcik6bm90KC5teF9FdmVudFRpbGVfbm9TZW5kZXIpXG4gICAgLm14X01lZGlhQm9keSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LWJ1YmJsZS1vdXQtZ3JhZCkgIWltcG9ydGFudDtcbn1cblxuLyogUExYLTAwNTogc3RhdGUgLyBtZW1iZXJzaGlwIC8gaW5mbyAvIGNyeXB0byAvIGRlY3J5cHRpb24tZmFpbHVyZSB0aWxlcyA9XG4gICBuZXV0cmFsLCBubyBidWJibGUgZmlsbCwgcmVnYXJkbGVzcyBvZiB3aG8gc2VudCB0aGVtLiAqL1xuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2xpbmUsXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfbGluZSAubXhfTWVkaWFCb2R5LFxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyIC5teF9FdmVudFRpbGVfbGluZSxcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX25vU2VuZGVyIC5teF9FdmVudFRpbGVfbGluZSxcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lOmhhcygubXhfRGVjcnlwdGlvbkZhaWx1cmVCb2R5KSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfVGV4dHVhbEV2ZW50LFxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2NvbnRlbnQsXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9EZWNyeXB0aW9uRmFpbHVyZUJvZHkge1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG59XG5cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01UZXh0Qm9keSxcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X0V2ZW50VGlsZV9ib2R5LFxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyogY29kZSAvIHF1b3RlcyBpbnNpZGUgYW4gb3V0Z29pbmcgYnViYmxlIG5lZWQgYSB0cmFuc2x1Y2VudCBkYXJrIHBhbmVsIHNvXG4gICB0aGV5IHN0YXkgbGVnaWJsZSBvbiB0aGUgYmx1ZSBncmFkaWVudCAqL1xuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSBwcmUsXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIGNvZGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yMik7XG4gICAgY29sb3I6ICNlYWYzZmY7XG59XG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbn1cblxuLyogdGltZXN0YW1wIC8gbWV0YSBpbnNpZGUgb3V0Z29pbmcgYnViYmxlICovXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X01lc3NhZ2VUaW1lc3RhbXAge1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtYnViYmxlLW91dC1tZXRhKTtcbn1cblxuLyogcmVwbHktcXVvdGUgdGlsZSBzaXR0aW5nIGluc2lkZSBhbiBvdXRnb2luZyBidWJibGUgLT4gcmVhZGFibGUgb24gZ3JhZGllbnQgKi9cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfUmVwbHlDaGFpbiB7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbn1cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfUmVwbHlDaGFpbiAubXhfRXZlbnRUaWxlX2JvZHksXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X1JlcGx5Q2hhaW4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKSAhaW1wb3J0YW50O1xufVxuXG4vKiBzZW5kZXIgbmFtZSBjb2xvdXIgKGdyb3VwIGNoYXRzKSAtPiBsaWdodCB0aW50IGluc3RlYWQgb2YgdGhlIGdyZWVuIHJhbXAgKi9cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlID4gc3Bhbixcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lIHtcbiAgICBjb2xvcjogI2NmZTJmNiAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIC0tLS0gVGFpbCBjb3JuZXJzIChUZWxlZ3JhbSBsb29rKSAtLS0tXG4gICBUaGUgXCJ0YWlsXCIgaXMgYSA0cHggY29ybmVyIG9uIHRoZSBib3R0b20gZWRnZSBuZWFyZXN0IHRoZSBzZW5kZXIuIFRoZSBiYXNlXG4gICBidWJibGUgQ1NTIHJvdW5kcyB0aGUgZmFyLWJvdHRvbSBjb3JuZXIgdG8gLS1jb3JuZXJSYWRpdXM7IHdlIHRpZ2h0ZW4gdGhlXG4gICBuZWFyLWJvdHRvbSBjb3JuZXIuIENvbnRpbnVhdGlvbiB0aWxlcyBhbHNvIHRpZ2h0ZW4gdGhlIGxlYWRpbmcgdG9wIGNvcm5lclxuICAgc28gc3RhY2tlZCBidWJibGVzIHJlYWQgYXMgb25lIGdyb3VwLiAqL1xuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJmYWxzZVwiXS5teF9FdmVudFRpbGVfbGFzdEluU2VjdGlvbiAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLXBseC1yYWRpdXMtYnViYmxlLXRpZ2h0KSAhaW1wb3J0YW50O1xufVxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdLm14X0V2ZW50VGlsZV9sYXN0SW5TZWN0aW9uIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXBseC1yYWRpdXMtYnViYmxlLXRpZ2h0KSAhaW1wb3J0YW50O1xufVxuXG4vKiBncm91cGVkLW1lc3NhZ2UgbGVhZGluZyBjb3JuZXIgKGNvbnRpbnVhdGlvbikgLT4gNHB4ICovXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb25bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWJ1YmJsZS10aWdodCk7XG59XG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9jb250aW51YXRpb25bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWJ1YmJsZS10aWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09IENPTVBPU0VSID09PT09PT09PT09PT09PT09ICovXG4vKiBGbG9hdGluZyByb3VuZGVkIHBhbmVsIHdpdGggYSBzb2Z0IGxpZnQuICovXG4ubXhfTWVzc2FnZUNvbXBvc2VyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiBub25lO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1wYW5lbCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcGx4LWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggdmFyKC0tcGx4LXNoYWRvdyk7XG4gICAgbWFyZ2luOiAwIDEycHggMTJweDtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xufVxuXG4ubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXQge1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dCk7XG59XG5cbi5teF9NZXNzYWdlQ29tcG9zZXJfaW5wdXQ6OnBsYWNlaG9sZGVyLFxuLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0W2NvbnRlbnRlZGl0YWJsZV06ZW1wdHk6OmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLXBseC1wbGFjZWhvbGRlcik7XG59XG5cbi8qIHNlbmQgYnV0dG9uIC0+IGNpcmN1bGFyIGFjY2VudCAqL1xuLm14X01lc3NhZ2VDb21wb3Nlcl9zZW5kTWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LWJ1YmJsZS1vdXQtZ3JhZCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PSBST09NIEhFQURFUiA9PT09PT09PT09PT09PT09PSAqL1xuLm14X1Jvb21IZWFkZXIge1xuICAgIGhlaWdodDogdmFyKC0tcGx4LWhlYWRlci1oZWlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1wYW5lbCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBseC1ib3JkZXIpO1xufVxuXG4ubXhfUm9vbUhlYWRlcl9oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PSBDSEFUIExJU1QgUk9XUyA9PT09PT09PT09PT09PT09PSAqL1xuLm14X1Jvb21UaWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tcGx4LWVhc2Utc2VsZWN0KTtcbn1cblxuLm14X1Jvb21UaWxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wbHgtcm93LWhvdmVyKSAhaW1wb3J0YW50O1xufVxuXG4ubXhfUm9vbVRpbGUubXhfUm9vbVRpbGVfc2VsZWN0ZWQsXG4ubXhfUm9vbVRpbGVbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1yb3ctYWN0aXZlKSAhaW1wb3J0YW50O1xufVxuXG4ubXhfUm9vbVRpbGUubXhfUm9vbVRpbGVfc2VsZWN0ZWQgLm14X1Jvb21UaWxlX3RpdGxlLFxuLm14X1Jvb21UaWxlW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIC5teF9Sb29tVGlsZV90aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXBseC1hY2NlbnQpO1xufVxuXG4vKiB1bnJlYWQgYmFkZ2UgLT4gTWlkbmlnaHQgYWNjZW50IHBpbGwgKi9cbi5teF9Ob3RpZmljYXRpb25CYWRnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGx4LWFjY2VudCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIGF2YXRhcnMgc3RheSBjaXJjdWxhciAqL1xuLm14X1Jvb21UaWxlIC5teF9CYXNlQXZhdGFyIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09IEJVVFRPTlMgLyBSQURJSSA9PT09PT09PT09PT09PT09PSAqL1xuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnksXG4ubXhfRGlhbG9nX3ByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1hY2NlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXBseC1yYWRpdXMtYnV0dG9uKTtcbn1cblxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnk6aG92ZXIsXG4ubXhfRGlhbG9nX3ByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBsaW5rcyAqL1xuYSxcbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayxcbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUge1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtYWNjZW50KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT0gQVVUSCAobG9naW4pIFNDUkVFTiA9PT09PT09PT09PT09PT09PSAqL1xuLyogV0MtMDQgbm90ZTogYSB0ZW1wdGluZyBcImRlYWQgZHVwbGljYXRlXCIgY2xlYW51cCBoZXJlIChkcm9wcGluZyAubXhfQXV0aFBhZ2VcbiAgIGZyb20gdGhpcyBiYWNrZ3JvdW5kLWNvbG9yIGdyb3VwLCBzaW5jZSBMNzUxIHJlLXNldHMgaXQgd2l0aCAhaW1wb3J0YW50KSB3YXNcbiAgIHRyaWFsbGVkIGFuZCBSRVZFUlRFRCDigJQgdGhlIHZpc3VhbC1yZWdyZXNzaW9uIGhhcm5lc3MgY2F1Z2h0IGEgc21hbGwgYnV0IHJlYWxcbiAgIGRpZmYgb24gdGhlIDM5MHB4IG1vYmlsZSBhdXRoIGNhcmQgKG1lYW4tZGlmZiAwLjAwNzYgPiB0b2xlcmFuY2UpLiBLZXB0IGFzLWlzXG4gICB0byBob25vdXIgXCJpZGVudGljYWwgbG9va1wiLiBTZWUgcGxheXdyaWdodC9wbHgtdmlzdWFsL1RIRU1FLUNMRUFOVVAtUExBTi5tZC4gKi9cbi5teF9BdXRoQm9keSxcbi5teF9BdXRoUGFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGx4LWJnKTtcbn1cblxuLm14X0F1dGhCb2R5IHtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQpO1xufVxuXG4ubXhfTG9naW5fc3VibWl0LFxuLm14X0F1dGhCb2R5IC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LWJ1YmJsZS1vdXQtZ3JhZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1idXR0b24pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PSAyRkEgLyBPVFAgQ09ERSBFTlRSWSA9PT09PT09PT09PT09PT09PVxuICAgRWxlbWVudCByZW5kZXJzIHNpbmdsZS1maWVsZCBjb2RlIGVudHJ5IChNU0lTRE4gT1RQLCByZWNvdmVyeS1rZXksIGFuZCB0aGVcbiAgIHRva2VuLXN0eWxlIGF1dGggZmllbGQpLiBTdHlsZSB0aGVzZSB0b3dhcmQgdGhlIE1pZG5pZ2h0IE9UUC1jZWxsIHNwZWM6XG4gICB0YWxsIHJvdW5kZWQgZmllbGRzIChyYWRpdXMgMTMpIHdpdGggYW4gYWNjZW50IGJvcmRlciBvbiBmb2N1cy4gV2hlcmUgYSByZWFsXG4gICA2LWNlbGwgT1RQIGV4aXN0cyBpdCBpbmhlcml0cyB0aGUgc2FtZSBhY2NlbnQvcmFkaXVzIHRva2Vucy4gKi9cbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfbXNpc2RuRW50cnksXG4ubXhfQXV0aEJvZHkgaW5wdXRbdHlwZT1cInRleHRcIl0ubXhfRmllbGRfaW5wdXQsXG4ubXhfUmVnaXN0cmF0aW9uVG9rZW4gaW5wdXQsXG5pbnB1dFtuYW1lPVwidG9rZW5cIl0sXG5pbnB1dFthdXRvY29tcGxldGU9XCJvbmUtdGltZS1jb2RlXCJdIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWlucHV0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wbHgtYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtcGFuZWwtMik7XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19tc2lzZG5FbnRyeSB7XG4gICAgd2lkdGg6IDdlbTtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgZm9udC1zaXplOiAyMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfbXNpc2RuRW50cnk6Zm9jdXMsXG4ubXhfQXV0aEJvZHkgaW5wdXRbdHlwZT1cInRleHRcIl0ubXhfRmllbGRfaW5wdXQ6Zm9jdXMsXG5pbnB1dFthdXRvY29tcGxldGU9XCJvbmUtdGltZS1jb2RlXCJdOmZvY3VzLFxuaW5wdXRbbmFtZT1cInRva2VuXCJdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wbHgtYWNjZW50KSAhaW1wb3J0YW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLXBseC1hY2NlbnQtc29mdCk7XG59XG5cbi8qIE1pZG5pZ2h0IE9UUC1jZWxsIHNjYWZmb2xkOiBpZiBhIDYtY2VsbCBkaWdpdCBncm91cCBpcyByZW5kZXJlZCwgZWFjaCBjZWxsIGlzXG4gICA0Nng1NiB3aXRoIHJhZGl1cyAxMyBhbmQgYW4gYWNjZW50IGJvcmRlciB3aGVuIGFjdGl2ZS4gKi9cbi5teF9QbHhPdHBDZWxsLFxuLmNwZC1vdHAtaW5wdXQsXG5bZGF0YS1vdHAtY2VsbF0ge1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWlucHV0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wbHgtYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtcGFuZWwtMik7XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0KTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubXhfUGx4T3RwQ2VsbDpmb2N1cyxcbi5teF9QbHhPdHBDZWxsW2RhdGEtYWN0aXZlPVwidHJ1ZVwiXSxcbltkYXRhLW90cC1jZWxsXVtkYXRhLWFjdGl2ZT1cInRydWVcIl0ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBseC1hY2NlbnQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1wbHgtYWNjZW50LXNvZnQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PSBSRUdJU1RSQVRJT04gLyBQRU5ESU5HLUFQUFJPVkFMID09PT09PT09PT09PT09PT09XG4gICBUaGUgcG9zdC1yZWdpc3RyYXRpb24gc2NyZWVuIHdhaXRzIGZvciBhZG1pbiBhcHByb3ZhbC4gUmVuZGVyIGEgcHVsc2luZ1xuICAgY29uY2VudHJpYy1yaW5nIFwiYXdhaXRpbmcgYXBwcm92YWxcIiBpbmRpY2F0b3IgYXJvdW5kIHRoZSBjbG9jay9zcGlubmVyLiAqL1xuLm14X0F1dGhCb2R5IC5teF9TcGlubmVyLFxuLm14X1JlZ2lzdHJhdGlvbl93YWl0aW5nRm9yQXBwcm92YWwgLm14X1NwaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogZ2VuZXJpYyBwdWxzaW5nLXJpbmdzIGhlbHBlcjogYWRkIGNsYXNzIG14X1BseFB1bHNlUmluZ3MgKG9yXG4gICBkYXRhLXBseC1wZW5kaW5nKSB0byB0aGUgcGVuZGluZyB3cmFwcGVyIHRvIGdldCBjb25jZW50cmljIHB1bHNlcy4gKi9cbi5teF9QbHhQdWxzZVJpbmdzLFxuW2RhdGEtcGx4LXBlbmRpbmc9XCJ0cnVlXCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubXhfUGx4UHVsc2VSaW5nczo6YmVmb3JlLFxuLm14X1BseFB1bHNlUmluZ3M6OmFmdGVyLFxuW2RhdGEtcGx4LXBlbmRpbmc9XCJ0cnVlXCJdOjpiZWZvcmUsXG5bZGF0YS1wbHgtcGVuZGluZz1cInRydWVcIl06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogNTAlO1xuICAgIHdpZHRoOiA3MnB4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBtYXJnaW46IC0zNnB4IDAgMCAtMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGx4LWFjY2VudCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgYW5pbWF0aW9uOiBwbHgtcHVsc2UtcmluZyAyLjRzIGN1YmljLWJlemllcigwLjIsIDAuNiwgMC4zLCAxKSBpbmZpbml0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5teF9QbHhQdWxzZVJpbmdzOjphZnRlcixcbltkYXRhLXBseC1wZW5kaW5nPVwidHJ1ZVwiXTo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMS4ycztcbn1cblxuQGtleWZyYW1lcyBwbHgtcHVsc2UtcmluZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjU1O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS42KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS42KTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09IENPTlZFUlNBVElPTiBIRUFERVIgKyBDQUxMIE9WRVJMQVkgPT09PT09PT09PT09PT09PT1cbiAgIE1pZG5pZ2h0IHN1cmZhY2VzLCBhY2NlbnQgY2FsbCBidXR0b25zLCBkYW5nZXIgZW5kLWNhbGwsIGFuZCBhbiBcImVuY3J5cHRlZFwiXG4gICBpbmRpY2F0b3IgaW4gdGhlIHN1Y2Nlc3MgZ3JlZW4uIFRoZSBjYWxsLWJ1dHRvbiBhY2NlbnQgLyBkYW5nZXIgY29sb3VycyBmbG93XG4gICB0aHJvdWdoIHRoZSByZW1hcHBlZCAkYWNjZW50IGFuZCAkYWxlcnQgKC0+IC0tcGx4LWRhbmdlcikgdG9rZW5zOyB3ZSBhZGQgdGhlXG4gICBzdXJmYWNlICsgZW5jcnlwdGVkLWluZGljYXRvciArIHB1bHNpbmctYXZhdGFyIHBvbGlzaCBoZXJlLiAqL1xuXG4vKiBjYWxsIHN1cmZhY2VzIC0+IE1pZG5pZ2h0IHBhbmVsICovXG4ubXhfTGVnYWN5Q2FsbFZpZXcsXG4ubXhfQ2FsbFZpZXcsXG4ubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudCxcbi5teF9MZWdhY3lDYWxsVmlld19waXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1wYW5lbCkgIWltcG9ydGFudDtcbn1cblxuLyogcmFkaWFsIGFjY2VudCBiYWNrZHJvcCBiZWhpbmQgdGhlIGNhbGwgY29udGVudCAqL1xuLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgY2lyY2xlIGF0IDUwJSAzOCUsXG4gICAgICAgIHZhcigtLXBseC1hY2NlbnQtc29mdCksXG4gICAgICAgIHRyYW5zcGFyZW50IDYwJVxuICAgICk7XG59XG5cbi8qIGVuZC1jYWxsIC8gaGFuZ3VwIC0+IGRhbmdlciBjaXJjbGUgKi9cbi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX2hhbmd1cCxcbi5teF9DYWxsVmlld0J1dHRvbnNfYnV0dG9uX2hhbmd1cCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGx4LWRhbmdlcikgIWltcG9ydGFudDtcbn1cblxuLyogXCJFbmNyeXB0ZWQgY2FsbFwiIGluZGljYXRvciAtPiBzdWNjZXNzIGdyZWVuIHdpdGggbG9jayAqL1xuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX3NlY3VyZSxcbi5teF9MZWdhY3lDYWxsVmlld19zdGF0dXNfZTJlLFxuLm14X0NhbGxWaWV3X3NlY3VyZSxcbi5teF9FMkVJY29uX3ZlcmlmaWVkIHtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi8qIHB1bHNpbmcgcmluZyBhcm91bmQgdGhlIGNhbGwgYXZhdGFyIHdoaWxlIGNvbm5lY3RpbmcgKi9cbi5teF9MZWdhY3lDYWxsVmlld19hdmF0YXJzQ29udGFpbmVyIC5teF9CYXNlQXZhdGFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubXhfTGVnYWN5Q2FsbFZpZXdfYXZhdGFyc0NvbnRhaW5lciAubXhfQmFzZUF2YXRhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAtOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wbHgtYWNjZW50KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbjogcGx4LXB1bHNlLXJpbmcgMi4ycyBlYXNlLW91dCBpbmZpbml0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogY29udmVyc2F0aW9uIGhlYWRlciBjYWxsIGJ1dHRvbnMgLT4gYWNjZW50IG9uIGhvdmVyICovXG4ubXhfUm9vbUhlYWRlciAubXhfUm9vbUhlYWRlcl9idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtYWNjZW50KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT0gVFJBTlNJVElPTlMgKE1pZG5pZ2h0IGVhc2luZykgPT09PT09PT09PT09PT09PT0gKi9cbi5teF9SaWdodFBhbmVsLFxuLm14X0xlZnRQYW5lbF9vdXRlcldyYXBwZXIge1xuICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSB2YXIoLS1wbHgtZWFzZS1sYXllciksXG4gICAgICAgIHdpZHRoIHZhcigtLXBseC1lYXNlLWxheWVyKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQTFggTUlETklHSFQg4oCUIFdhdmUgIzI3IGNvbnRhaW5lZCBmaXhlcyAoUExYLTAwMy8wMDQvMDA2LzAwNy8wMDgvMDA5LzAxMC8wMTEpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLSBQTFgtMDAzOiBFMkVFIGJhbm5lciAtPiBPTkUgc21hbGwgY2VudGVyZWQgcGlsbCAtLS0tLS0tLS0tXG4gICBUaGUgXCJUaGlzIHJvb20gaXMgZW5kLXRvLWVuZCBlbmNyeXB0ZWRcIiBiYW5uZXIgc2hpcHMgYXNcbiAgIC5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQgKGF1dGhvci1zdXBwbGllZCBjbGFzc2VzLCBzdGFibGUpLlxuICAgRWxlbWVudCByZW5kZXJzIGl0IGFzIGEgbGFyZ2UgZnVsbC13aWR0aCBibHVlIGJhci4gQ29sbGFwc2UgaXQgaW50byBhXG4gICBjb21wYWN0IGNlbnRlcmVkIHBpbGw6IGxvY2sgKyB0ZXh0LCBhY2NlbnQtc29mdCBiZywgcm91bmRlZC4gKi9cbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQsXG4ubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lciAubXhfRXZlbnRUaWxlQnViYmxlIHtcbiAgICBtYXJnaW46IDEwcHggYXV0byAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBmaXQtY29udGVudCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogNnB4IDE0cHggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBnYXA6IDhweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1hY2NlbnQtc29mdCkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wbHgtYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZSAhaW1wb3J0YW50O1xufVxuLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIgLm14X0V2ZW50VGlsZUJ1YmJsZSA+ICosXG4ubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lciAubXhfRXZlbnRUaWxlQnViYmxlIFtjbGFzcyo9XCJ0aXRsZVwiXSB7XG4gICAgZ3JpZC1jb2x1bW46IGF1dG8gIWltcG9ydGFudDtcbiAgICBncmlkLXJvdzogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIgLm14X0V2ZW50VGlsZUJ1YmJsZSBzdmcge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTRweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTRweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtYWNjZW50KSAhaW1wb3J0YW50O1xufVxuLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIgLm14X0V2ZW50VGlsZUJ1YmJsZSBbY2xhc3MqPVwic3VidGl0bGVcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIHRpZ2h0ZW4gdGhlIGlubmVyIGdyaWQgdGhlIHNoYXJlZCBjb21wb25lbnQgdXNlcyAqL1xuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCA+ICoge1xuICAgIGdyaWQtY29sdW1uOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC1yb3c6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQgc3ZnIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDE0cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDE0cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tcGx4LWFjY2VudCkgIWltcG9ydGFudDtcbn1cbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQgW2NsYXNzKj1cInRpdGxlXCJdLFxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCBbY2xhc3MqPVwic3VidGl0bGVcIl0ge1xuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbn1cbi8qIGhpZGUgdGhlIHZlcmJvc2Ugc3VidGl0bGUgLyBcImVuYWJsZSBlbmNyeXB0aW9uXCIgcHJvbXB0IGluc2lkZSB0aGUgcGlsbCAqL1xuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCBbY2xhc3MqPVwic3VidGl0bGVcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogUExYLTAwMyAocGFydCAyKTogdGhlIHRpbWVsaW5lIFwiRW5jcnlwdGlvbiBlbmFibGVkXCIgbS5yb29tLmVuY3J5cHRpb24gc3RhdGUgdGlsZVxuICAgc2hpcHMgYXMgYSBub3JtYWwgRXZlbnRUaWxlIGJ1YmJsZSAoLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIpIHdyYXBwaW5nIGFuIGlubmVyXG4gICAubXhfRXZlbnRUaWxlQnViYmxlIHBpbGwuIFByZXZpb3VzbHkgaXQgbGVha2VkIHRoZSBvdXRnb2luZyBncmFkaWVudCBhcyBhIGZ1bGwtd2lkdGhcbiAgIGJhciAocmVtb3ZlZCBhYm92ZSkuIEhlcmUgd2UgbWFrZSB0aGUgd3JhcHBpbmcgbGluZSBmdWxseSB0cmFuc3BhcmVudC9ib3JkZXJsZXNzIGFuZFxuICAgY2VudHJlIGl0LCBzbyBPTkxZIHRoZSBpbm5lciBjb21wYWN0IHBpbGwgaXMgdmlzaWJsZS4gKi9cbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lciAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgIG1hcmdpbjogNHB4IGF1dG8gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIgLm14X0V2ZW50VGlsZV9saW5lIC5teF9FdmVudFRpbGVfYm9keSxcbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lciAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1RleHR1YWxFdmVudCB7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0gUExYLTAwNDogc3VwcHJlc3MgdmVyaWZ5LWRldmljZSB0aW1lbGluZSBuYWcgLS0tLS0tLS0tLVxuICAgU2VhbWxlc3MgVE9GVTogbmV2ZXIgcHJvbXB0IHRoZSB1c2VyIHRvIHZlcmlmeSB0aGlzIGRldmljZSBmb3IgaGlzdG9yaWNhbFxuICAgbWVzc2FnZXMuIFRoZSB0b2FzdCArIHNldHRpbmdzIHBhdGhzIGFyZSBoYW5kbGVkIGluIGNvZGU7IHRoaXMgaXMgYSBDU1NcbiAgIGJhY2tzdG9wIGZvciBhbnkgdGltZWxpbmUtbGV2ZWwgXCJ2ZXJpZnkgdGhpcyBkZXZpY2VcIiBiYW5uZXIuICovXG4ubXhfUm9vbVZpZXdfYm9keSAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1leHBhbmRlZD1cImZhbHNlXCJdIC5teF9TZXR1cEVuY3J5cHRpb25Cb2R5LFxuLm14X1Jvb21TdGF0dXNCYXJfdW5zZW50QmFkZ2UubXhfUm9vbVN0YXR1c0Jhcl92ZXJpZnlEZXZpY2UsXG5bZGF0YS10ZXN0aWQ9XCJjcnlwdG9FdmVudC12ZXJpZnktcHJvbXB0XCJdLFxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudC5teF9jcnlwdG9FdmVudF92ZXJpZnkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLSBQTFgtMDA2OiBjaGF0IHJvd3MgKG5hbWUgKyBwcmV2aWV3ICsgYmFkZ2UpIC0tLS0tLS0tLS1cbiAgIFRoZSBzaGFyZWQgcm9vbS1saXN0IGNlbGwgcmVuZGVycyByb29tIG5hbWUgKyBtZXNzYWdlIHByZXZpZXcgKyBub3RpZmljYXRpb25cbiAgIGRlY29yYXRpb24uIEJ5IGRlZmF1bHQgdGhlIHJvb20gbmFtZSB1c2VzIC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5IChkaW0pLlxuICAgRm9yY2UgdGhlIHJvb20gbmFtZSBXSElURSBhbmQga2VlcCB0aGUgcHJldmlldyBkaW0uIGRhdGEtdGVzdGlkPVwicm9vbS1uYW1lXCJcbiAgIGlzIGEgc3RhYmxlIGhvb2s7IHRoZSBoYXNoZWQgbW9kdWxlIGNsYXNzZXMgYXJlIHNjb3BlZCB0byB0aGlzIGJ1aWxkLiAqL1xuW2RhdGEtdGVzdGlkPVwicm9vbS1uYW1lXCJdIHtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xufVxuLyogbWVzc2FnZSBwcmV2aWV3ICh0aGUgZGltIHN1YnRpdGxlIHVuZGVyIHRoZSBuYW1lKSBzdGF5cyBkaW0gKyBlbGxpcHNpc2VkICovXG5bZGF0YS10ZXN0aWQ9XCJyb29tLW5hbWVcIl0gKyBkaXYsXG5bZGF0YS10ZXN0aWQ9XCJyb29tLW5hbWVcIl0gfiAubXhfVGV4dCxcbltkYXRhLXRlc3RpZD1cInJvb20tbmFtZVwiXSB+IFtjbGFzcyo9XCJlbGxpcHNpc1wiXSB7XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0LXNlY29uZGFyeSkgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbn1cbi8qIGFjdGl2ZS9zZWxlY3RlZCByb3cgLT4gYWNjZW50LXNvZnQgYmcgKyBhY2NlbnQgbmFtZSAodGhlIHBhY2thZ2UgbWFya3MgdGhlXG4gICBzZWxlY3RlZCBjb250YWluZXI7IHdlIHJlaW5mb3JjZSB0aGUgTWlkbmlnaHQgbG9vaykgKi9cbltjbGFzcyo9XCJfc2VsZWN0ZWRcIl0gW2RhdGEtdGVzdGlkPVwicm9vbS1uYW1lXCJdLFxuW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIFtkYXRhLXRlc3RpZD1cInJvb20tbmFtZVwiXSB7XG4gICAgY29sb3I6IHZhcigtLXBseC1hY2NlbnQpICFpbXBvcnRhbnQ7XG59XG5bY2xhc3MqPVwiX3NlbGVjdGVkXCJdIFtjbGFzcyo9XCJfY29udGFpbmVyXCJdLFxuW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIFtjbGFzcyo9XCJfY29udGFpbmVyXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wbHgtcm93LWFjdGl2ZSkgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLSBQTFgtMDA3OiBmb2xkZXIgcGlsbHMgKEFsbCAvIFVucmVhZCAvIERpcmVjdCAvIEdyb3VwcykgLS0tLS0tLS0tLVxuICAgVGhlIHBpbGxzIHNoaXAgYXMgQ29tcG91bmQgPENoYXRGaWx0ZXI+IGNoaXBzIGluc2lkZSBbZGF0YS10ZXN0aWQ9XCJwcmltYXJ5LWZpbHRlcnNcIl0uXG4gICBUaGUgZmlsdGVyIHNldCArIGxhYmVscyBhcmUgcmVtYXBwZWQgaW4gY29kZS9pMThuLiBIZXJlIHdlIE1pZG5pZ2h0LXN0eWxlIHRoZVxuICAgYWN0aXZlIHBpbGw6IGFjY2VudC1zb2Z0IGJnICsgYWNjZW50IHRleHQuICovXG5bZGF0YS10ZXN0aWQ9XCJwcmltYXJ5LWZpbHRlcnNcIl0gW3JvbGU9XCJvcHRpb25cIl1bYXJpYS1zZWxlY3RlZD1cInRydWVcIl0sXG5bZGF0YS10ZXN0aWQ9XCJwcmltYXJ5LWZpbHRlcnNcIl0gW2FyaWEtcHJlc3NlZD1cInRydWVcIl0sXG5bZGF0YS10ZXN0aWQ9XCJwcmltYXJ5LWZpbHRlcnNcIl0gLm14X0NoYXRGaWx0ZXJfc2VsZWN0ZWQsXG5bZGF0YS10ZXN0aWQ9XCJwcmltYXJ5LWZpbHRlcnNcIl0gW2NsYXNzKj1cIl9zZWxlY3RlZFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGx4LWFjY2VudC1zb2Z0KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtYWNjZW50KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbltkYXRhLXRlc3RpZD1cInByaW1hcnktZmlsdGVyc1wiXSBbcm9sZT1cIm9wdGlvblwiXSxcbltkYXRhLXRlc3RpZD1cInByaW1hcnktZmlsdGVyc1wiXSBidXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0gUExYLTAwODogaG9tZSBlbXB0eSBwYW5lIChjbGVhbiBNaWRuaWdodCBlbXB0eS1zdGF0ZSkgLS0tLS0tLS0tLVxuICAgTmV1dHJhbGlzZSBFbGVtZW50J3MgZmxhdCBibHVlIEhvbWVQYWdlIGNhcmRzIGludG8gTWlkbmlnaHQgcGFuZWwgc3VyZmFjZXMuXG4gICBUaGUgXCJFeHBsb3JlIFB1YmxpYyBSb29tc1wiIGNhcmQgaXMgcmVtb3ZlZCBpbiBIb21lUGFnZS50c3guICovXG4ubXhfSG9tZVBhZ2VfcGx4IC5teF9Ib21lUGFnZV9kZWZhdWx0X3dyYXBwZXIge1xuICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbn1cbi5teF9Ib21lUGFnZV9wbHggLm14X0hvbWVQYWdlX2RlZmF1bHRfYnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LXBhbmVsLTIpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBseC1ib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1jYXJkKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5teF9Ib21lUGFnZV9wbHggLm14X0hvbWVQYWdlX2RlZmF1bHRfYnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LXJvdy1ob3ZlcikgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBseC1hY2NlbnQpICFpbXBvcnRhbnQ7XG59XG4ubXhfSG9tZVBhZ2VfcGx4IC5teF9Ib21lUGFnZV9kZWZhdWx0X2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b246OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGx4LWFjY2VudCkgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLSBQTFgtMDA5OiBzaWduLWluIGJ1dHRvbiAtPiBXSElURSA3MDAgb24gdGhlIGdyYWRpZW50IC0tLS0tLS0tLS0gKi9cbi5teF9Mb2dpbl9zdWJtaXQsXG4ubXhfQXV0aEJvZHkgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5LFxuLm14X0F1dGhQYWdlIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSxcbi5teF9BdXRoQm9keSBmb3JtIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtYnViYmxlLW91dC1ncmFkKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuLm14X0xvZ2luX3N1Ym1pdCAqLFxuLm14X0F1dGhCb2R5IC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSAqIHtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tIFBMWC0wMDliOiBXZWxjb21lLWNhcmQgcHJpbWFyeSBidXR0b24gKFwiU2lnbiBpblwiKSAtPiBXSElURSBsYWJlbCAtLS0tLS0tLS0tXG4gICBCVUdGSVg6IHRoZSBXZWxjb21lIHBhZ2UgcmVuZGVycyA8QnV0dG9uIGFzPVwiYVwiIGtpbmQ9XCJwcmltYXJ5XCI+IGZvciBcIlNpZ24gaW5cIi5cbiAgIFRoZSBnbG9iYWwgYGEgeyBjb2xvcjogdmFyKC0tcGx4LWFjY2VudCkgfWAgcnVsZSBhYm92ZSB0dXJuZWQgaXRzIGxhYmVsIGJsdWUg4oCUXG4gICBpbnZpc2libGUgb24gdGhlIGJsdWUgZ3JhZGllbnQgYnV0dG9uLCBzbyB0aGUgYnV0dG9uIGxvb2tlZCBibGFuay4gRm9yY2UgdGhlXG4gICBwcmltYXJ5IHdlbGNvbWUgYnV0dG9uIChhbmQgaXRzIGlubmVyIHNwYW4pIHdoaXRlOyBrZWVwIHRoZSBncmFkaWVudCBmaWxsLlxuICAgVGhlIFwiQ3JlYXRlIGFjY291bnRcIiBzZWNvbmRhcnkgYnV0dG9uIGtlZXBzIGFjY2VudCB0ZXh0IG9uIGl0cyBkYXJrIHN1cmZhY2UuICovXG4ubXhfRGVmYXVsdFdlbGNvbWVfYnV0dG9ucyBhW2RhdGEta2luZD1cInByaW1hcnlcIl0sXG4ubXhfRGVmYXVsdFdlbGNvbWVfYnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1idWJibGUtb3V0LWdyYWQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG4ubXhfRGVmYXVsdFdlbGNvbWVfYnV0dG9ucyBhW2RhdGEta2luZD1cInByaW1hcnlcIl0gKixcbi5teF9EZWZhdWx0V2VsY29tZV9idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSAqIHtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuLyogc2Vjb25kYXJ5IFwiQ3JlYXRlIGFjY291bnRcIiAtPiBhY2NlbnQgdGV4dCBvbiBhIHBhbmVsIHN1cmZhY2UgKGNsZWFyLCBsZWdpYmxlKSAqL1xuLm14X0RlZmF1bHRXZWxjb21lX2J1dHRvbnMgYVtkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0ge1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtYWNjZW50KSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1wYW5lbC0yKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBseC1ib3JkZXIpICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0gUExYLTAxMC8wMTE6IHNpbmdsZSBjZW50ZXJlZCB+MzYwcHggbG9naW4gY2FyZCAtLS0tLS0tLS0tXG4gICBFbGVtZW50IHJlbmRlcnMgYSB0d28tcGFuZSBtb2RhbCAobG9nbyBhc2lkZSArIGZvcm0pLiBDb2xsYXBzZSB0aGVcbiAgIG1vZGFsQ29udGVudCBmbGV4LXJvdyBpbnRvIGEgc2luZ2xlIGNlbnRlcmVkIGNvbHVtbiBjYXJkLiAqL1xuLm14X0F1dGhQYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGx4LWJnKSAhaW1wb3J0YW50O1xufVxuLm14X0F1dGhQYWdlX21vZGFsQ29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBtaW4oMzYwcHgsIGNhbGMoMTAwdncgLSAzMnB4KSkgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDM2MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAyOHB4IDI0cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtcGFuZWwpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcGx4LWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWNhcmQpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDQwcHggdmFyKC0tcGx4LXNoYWRvdykgIWltcG9ydGFudDtcbn1cbi8qIGhlYWRlciBsb2dvIGJsb2NrIC0+IGNlbnRlcmVkIGNhcmQgaGVhZGVyIChtb25vZ3JhbSArIHdvcmRtYXJrICsgdGFnbGluZSkgKi9cbi5teF9BdXRoSGVhZGVyLFxuLm14X0F1dGhIZWFkZXJMb2dvX3BseCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFBMWC1XRUItMDk6IHBseC1sb2dvLnBuZyBpcyBhIDIzNXg3MiBXT1JETUFSSyBhc3NldCwgbm90IGEgc3F1YXJlIGdseXBoLlxuICAgUmVuZGVyIGl0IGFzIGEgcHJvcGVyIHRpbGUgYXQgaXRzIG5hdGl2ZSBhc3BlY3QgcmF0aW8gKGZpeGVkIGhlaWdodCwgYXV0b1xuICAgd2lkdGgsIG9iamVjdC1maXQ6Y29udGFpbikgc28gaXQgaXMgbmV2ZXIgc3F1aXNoZWQgaW50byBhIDE6MSBib3guIFRoZSBhc3NldFxuICAgYWxyZWFkeSBjYXJyaWVzIHRoZSBcIlBMWFwiIHdvcmRtYXJrLCBzbyB0aGUgcmVkdW5kYW50IHRleHQgd29yZG1hcmsgYmVsb3cgaXQgaXNcbiAgIGhpZGRlbiB0byBhdm9pZCBzaG93aW5nIFwiUExYXCIgdHdpY2UuICovXG4ubXhfQXV0aEhlYWRlckxvZ29fcGx4IC5teF9BdXRoSGVhZGVyTG9nb19tYXJrLFxuLm14X0F1dGhIZWFkZXJMb2dvX3BseCBpbWcge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA0NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAyMTBweCAhaW1wb3J0YW50O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMnB4IGF1dG8gMTBweCAhaW1wb3J0YW50O1xufVxuLm14X0F1dGhIZWFkZXJMb2dvX3dvcmRtYXJrIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXBseC1mb250KTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dCk7XG59XG4ubXhfQXV0aEhlYWRlckxvZ29fdGFnbGluZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbn1cbi8qIGhpZGUgdGhlIGxhbmd1YWdlIHNlbGVjdG9yIGNocm9tZSBpbiB0aGUgY29tcGFjdCBjYXJkICovXG4ubXhfQXV0aEhlYWRlciAubXhfTGFuZ3VhZ2VTZWxlY3RvciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogdGhlIGZvcm0gYm9keSBzaXRzIGJlbG93IHRoZSBoZWFkZXIgaW5zaWRlIHRoZSBzYW1lIGNhcmQgKi9cbi5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQgLm14X0F1dGhCb2R5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDE4cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tIFBMWC1XRUItMTA6IHNpbmdsZSBhdXRoIGNhcmQgKG5vIGRvdWJsZWQgLyBuZXN0ZWQgYm9yZGVyKSAtLS0tLS0tLS0tXG4gICBUaGUgb3V0ZXIgLm14X0F1dGhQYWdlX21vZGFsQ29udGVudCBpcyB0aGUgT05FIGNhcmQgd2l0aCBhIGJvcmRlciArIHNoYWRvdy5cbiAgIEVsZW1lbnQgbmVzdHMgc2V2ZXJhbCBpbm5lciB3cmFwcGVycyAoLm14X0F1dGhCb2R5LCAubXhfQXV0aEhlYWRlckRpc3BsYXksXG4gICAubXhfUmVnaXN0ZXJfbWFpbkNvbnRlbnQpIHRoYXQgZWFjaCBjYXJyeSB0aGVpciBvd24gYm9yZGVyIC8gYm94LXNoYWRvdyAvXG4gICBzdXJmYWNlLCBwcm9kdWNpbmcgYSB2aXNpYmxlIFwiY2FyZCBpbnNpZGUgYSBjYXJkXCIgZG91YmxlIG91dGxpbmUuIFN0cmlwIHRoZVxuICAgY2hyb21lIGZyb20gZXZlcnkgaW5uZXIgd3JhcHBlciBzbyBvbmx5IHRoZSBzaW5nbGUgb3V0ZXIgY2FyZCBmcmFtZSBzaG93cy4gKi9cbi5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQgLm14X0F1dGhCb2R5LFxuLm14X0F1dGhQYWdlX21vZGFsQ29udGVudCAubXhfQXV0aEhlYWRlckRpc3BsYXksXG4ubXhfQXV0aFBhZ2VfbW9kYWxDb250ZW50IC5teF9SZWdpc3Rlcl9tYWluQ29udGVudCxcbi5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQgLm14X0F1dGhCb2R5ID4gZm9ybSxcbi5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQgLm14X0xvZ2luX2JveCB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBMWC1XRUItMTA6IGVxdWFsaXNlIHByaW1hcnktYWN0aW9uIGJ1dHRvbiB3aWR0aHMuIFRoZSBTaWduLWluIC8gQ29udGludWUgL1xuICAgXCJDb250aW51ZSB3aXRoIDJGQVwiLXN0eWxlIHN1Ym1pdCBidXR0b25zIHJlbmRlciBhdCBpbnRyaW5zaWMgd2lkdGgsIHNvIHRoZXlcbiAgIGxvb2sgcmFnZ2VkLiBNYWtlIGV2ZXJ5IGF1dGgtZm9ybSBwcmltYXJ5IHN1Ym1pdCBmdWxsIGNhcmQtd2lkdGggYW5kIG1hdGNoZWRcbiAgIGhlaWdodCBmb3IgYSBjbGVhbiwgYWxpZ25lZCBjb2x1bW4uICovXG4ubXhfQXV0aEJvZHkgLm14X0xvZ2luX3N1Ym1pdCxcbi5teF9BdXRoQm9keSBmb3JtIFt0eXBlPVwic3VibWl0XCJdLFxuLm14X0F1dGhCb2R5IC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSxcbi5teF9BdXRoQm9keSAubXhfTG9naW5fZnVsbFdpZHRoQnV0dG9uLFxuLm14X0F1dGhQYWdlX21vZGFsQ29udGVudCAubXhfU1NPQnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tIFBMWC1XRUItMTg6IGhpZGUgdGhlIG1pZC1jYXJkIFwiRW5nbGlzaFwiIGxhbmd1YWdlIGRyb3Bkb3duIC0tLS0tLS0tLS1cbiAgIFRoZSBMYW5ndWFnZVNlbGVjdG9yIChyZW5kZXJlZCBhcyAubXhfQXV0aEJvZHlfbGFuZ3VhZ2UgaW5zaWRlIHRoZSBmb3JtLCBhbmQgYXNcbiAgIC5teF9MYW5ndWFnZVNlbGVjdG9yIGluIHRoZSBoZWFkZXIpIGlzIG5vdyBjb25maWctZGlzYWJsZWRcbiAgIChkaXNhYmxlX2xvZ2luX2xhbmd1YWdlX3NlbGVjdG9yOnRydWUpIEFORCBoaWRkZW4gaGVyZSBhcyBhIENTUyBiYWNrc3RvcCBzbyBpdFxuICAgY2FuIG5ldmVyIHJlYXBwZWFyIG1pZC1jYXJkIG9uIHRoZSBhdXRoIHNjcmVlbnMuICovXG4ubXhfQXV0aEJvZHkgLm14X0F1dGhCb2R5X2xhbmd1YWdlLFxuLm14X0F1dGhCb2R5X2xhbmd1YWdlLFxuLm14X0F1dGhIZWFkZXIgLm14X0xhbmd1YWdlU2VsZWN0b3IsXG4ubXhfQXV0aFBhZ2VfbW9kYWxDb250ZW50IC5teF9MYW5ndWFnZVNlbGVjdG9yLFxuLm14X0F1dGhQYWdlX21vZGFsQ29udGVudCAubXhfRHJvcGRvd24ubXhfQXV0aEJvZHlfbGFuZ3VhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogZm9vdGVyIHRydXN0IGxpbmUsIGNlbnRlcmVkIHVuZGVyIHRoZSBjYXJkICovXG4ubXhfQXV0aEZvb3Rlcl9wbHgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbn1cbi5teF9BdXRoRm9vdGVyX3BseFRydXN0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0LXNlY29uZGFyeSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBjZW50ZXIgdGhlIGNhcmQgb24gbW9iaWxlIHRvbyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLm14X0F1dGhQYWdlX21vZGFsQ29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMjRweCkgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMjJweCAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBMWC0wMDEg4oCUIE1PQklMRSBTSU5HTEUtUEFORSAoPD05MDBweClcbiAgIFRoZSBuZXcgcm9vbSBsaXN0IHVzZXMgcmVhY3QtcmVzaXphYmxlLXBhbmVscyAoYSBmbGV4IEdyb3VwIHdpdGggdHdvXG4gICBbZGF0YS1wYW5lbF0gY2hpbGRyZW4gKyBhIFtkYXRhLXNlcGFyYXRvcl0pLiBPbiBkZXNrdG9wIHRoZSB0d28gcGFuZXMgc2l0XG4gICBzaWRlLWJ5LXNpZGUuIE9uIG1vYmlsZSB3ZSBjb2xsYXBzZSB0byBPTkUgcGFuZSB0aGF0IHN3YXBzIGJldHdlZW4gdGhlIHJvb21cbiAgIGxpc3QgYW5kIHRoZSBvcGVuIGNvbnZlcnNhdGlvbiwgZHJpdmVuIGJ5IGRhdGEtcGFnZS10eXBlIG9uIC5teF9NYXRyaXhDaGF0LlxuXG4gICAtIGRhdGEtcGFnZS10eXBlICE9IFwicm9vbV92aWV3XCIgIC0+IHNob3cgdGhlIExFRlQgcGFuZWwgKHJvb20gbGlzdCkgZnVsbC13aWR0aCxcbiAgICAgaGlkZSB0aGUgY29udmVyc2F0aW9uIHBhbmVsICsgc2VwYXJhdG9yLlxuICAgLSBkYXRhLXBhZ2UtdHlwZSA9PSBcInJvb21fdmlld1wiICAtPiBzaG93IHRoZSBDT05WRVJTQVRJT04gcGFuZWwgZnVsbC13aWR0aCxcbiAgICAgaGlkZSB0aGUgbGVmdCBwYW5lbCArIHNlcGFyYXRvciwgYW5kIHJldmVhbCB0aGUgYmFjayBhcnJvdyBpbiB0aGUgaGVhZGVyLlxuXG4gICBUaGUgbGlicmFyeSBzZXRzIGlubGluZSBmbGV4IHN0eWxlcyBvbiBlYWNoIFtkYXRhLXBhbmVsXTsgd2Ugb3ZlcnJpZGUgd2l0aFxuICAgIWltcG9ydGFudC4gVGhlIGxlZnQgcGFuZWwgY2FycmllcyBpZD1cImxlZnQtcGFuZWxcIiAoZGF0YS1wYW5lbCBpZCksIHRoZVxuICAgY29udmVyc2F0aW9uIHBhbmVsIGlzIHRoZSBPVEhFUiBbZGF0YS1wYW5lbF0gc2libGluZy4gPT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBiYWNrIGFycm93OiBoaWRkZW4gb24gZGVza3RvcCwgc2hvd24gb24gbW9iaWxlIGluc2lkZSB0aGUgcm9vbSBoZWFkZXIgKi9cbi5teF9Sb29tSGVhZGVyX3BseEJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtYWNjZW50KTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbn1cbi5teF9Sb29tSGVhZGVyX3BseEJhY2s6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1yb3ctaG92ZXIpO1xufVxuLm14X1Jvb21IZWFkZXJfcGx4QmFjayBzdmcge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLyogVGhlIHJlc2l6YWJsZSBHcm91cCBiZWNvbWVzIGEgc2luZ2xlIGZ1bGwtd2lkdGggY29sdW1uLiAqL1xuICAgIC5teF9NYXRyaXhDaGF0IFtkYXRhLWdyb3VwXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogQm90aCBwYW5lbHMgY2FuIHRha2UgdGhlIGZ1bGwgd2lkdGggd2hlbiBzaG93bi4gKi9cbiAgICAubXhfTWF0cml4Q2hhdCBbZGF0YS1wYW5lbF0ge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogTmV2ZXIgc2hvdyB0aGUgcmVzaXplIHNlcGFyYXRvciAvIGhhbmRsZSBvbiBtb2JpbGUuICovXG4gICAgLm14X01hdHJpeENoYXQgW2RhdGEtc2VwYXJhdG9yXSxcbiAgICAubXhfTWF0cml4Q2hhdCAubXhfU2VwYXJhdG9yLFxuICAgIC5teF9NYXRyaXhDaGF0IC5teF9SZXNpemVIYW5kbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogLS0tIExJU1QgVklFVyAobm8gcm9vbSBvcGVuKTogc2hvdyByb29tIGxpc3QsIGhpZGUgY29udmVyc2F0aW9uIC0tLSAqL1xuICAgIC5teF9NYXRyaXhDaGF0Om5vdChbZGF0YS1wYWdlLXR5cGU9XCJyb29tX3ZpZXdcIl0pIFtkYXRhLXBhbmVsXSNsZWZ0LXBhbmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4OiAxIDEgMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXhfTWF0cml4Q2hhdDpub3QoW2RhdGEtcGFnZS10eXBlPVwicm9vbV92aWV3XCJdKSBbZGF0YS1wYW5lbF06bm90KCNsZWZ0LXBhbmVsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiAtLS0gQ09OVkVSU0FUSU9OIFZJRVcgKHJvb20gb3Blbik6IHNob3cgY29udmVyc2F0aW9uLCBoaWRlIHJvb20gbGlzdCAtLS0gKi9cbiAgICAubXhfTWF0cml4Q2hhdFtkYXRhLXBhZ2UtdHlwZT1cInJvb21fdmlld1wiXSBbZGF0YS1wYW5lbF0jbGVmdC1wYW5lbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm14X01hdHJpeENoYXRbZGF0YS1wYWdlLXR5cGU9XCJyb29tX3ZpZXdcIl0gW2RhdGEtcGFuZWxdOm5vdCgjbGVmdC1wYW5lbCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogUmV2ZWFsIHRoZSBiYWNrIGFycm93IG9ubHkgb24gbW9iaWxlLiAqL1xuICAgIC5teF9Sb29tSGVhZGVyX3BseEJhY2sge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG5cbiAgICAvKiBNYWtlIHN1cmUgdGhlIHJvb20gdmlldyArIGl0cyBpbm5lciB3cmFwcGVyIGFjdHVhbGx5IGZpbGwgdGhlIHBhbmUuICovXG4gICAgLm14X01hdHJpeENoYXRbZGF0YS1wYWdlLXR5cGU9XCJyb29tX3ZpZXdcIl0gLm14X1Jvb21WaWV3X3dyYXBwZXIsXG4gICAgLm14X01hdHJpeENoYXRbZGF0YS1wYWdlLXR5cGU9XCJyb29tX3ZpZXdcIl0gLm14X1Jvb21WaWV3IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLSBQTFgtV0VCLTE1OiBzZWNvbmRhcnkgcGFuZWwgKFBlb3BsZSAvIHJvb20taW5mbyAvIG1lbWJlci1pbmZvKVxuICAgICAgIG11c3QgY292ZXIgdGhlIGNvbnZlcnNhdGlvbiBGVUxMLVdJRFRIIG9uIG1vYmlsZSBpbnN0ZWFkIG9mIHNxdWVlemluZyBpblxuICAgICAgIGFzIGEgaGFsZi1wYW5lIGFuZCBsZWFraW5nIHRoZSBwYW5lIHVuZGVybmVhdGguIFRoZSBSaWdodFBhbmVsIGlzIGFcbiAgICAgICBzaWJsaW5nIG92ZXJsYXk7IHBpbiBpdCBvdmVyIHRoZSB3aG9sZSB2aWV3cG9ydCB3aXRoIGEgaGlnaGVyIHotaW5kZXggc29cbiAgICAgICBub3RoaW5nIG9mIHRoZSBwcmlvciBwYW5lIGJsZWVkcyB0aHJvdWdoLiAqL1xuICAgIC5teF9NYXRyaXhDaGF0IC5teF9SaWdodFBhbmVsIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICAgIGluc2V0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiA0MDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1wYW5lbCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLyogdGhlIHJlc2l6ZXIvc2VwYXJhdG9yIG5leHQgdG8gdGhlIHJpZ2h0IHBhbmVsIG11c3QgbmV2ZXIgc2hvdyBvbiBtb2JpbGUgKi9cbiAgICAubXhfUm9vbVZpZXdfY29udGFpbmVyIC5teF9SZXNpemVIYW5kbGUsXG4gICAgLm14X01haW5TcGxpdCA+IC5teF9SZXNpemVIYW5kbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLSBQTFgtV0VCLTE1OiBraWxsIHRoZSBzdHJhbmRlZCBjb21wb3NlciBlbW9qaS9tZWRpYSBidXR0b24gdGhhdFxuICAgICAgIGJsZWVkcyBvdmVyIHRoZSBQZW9wbGUgcGFuZWwuIFRoZSBjb21wb3NlciBidXR0b24gcm93IGlzIHBvc2l0aW9uZWQgd2l0aFxuICAgICAgIGEgc3RhY2tpbmcgY29udGV4dCB0aGF0LCBvbiBuYXJyb3cgd2lkdGhzLCBsZWZ0IHRoZSBtZWRpYS1waWNrZXIgKHNtaWxleSlcbiAgICAgICBidXR0b24gcGFpbnRpbmcgYWJvdmUgdGhlIG9wZW4gcmlnaHQgcGFuZWwuIENvbnN0cmFpbiB0aGUgY29tcG9zZXIgKyBpdHNcbiAgICAgICBidXR0b25zIGJlbG93IHRoZSBSaWdodFBhbmVsIG92ZXJsYXkgYW5kIGNsaXAgb3ZlcmZsb3cgc28gbm8gYnV0dG9uXG4gICAgICAgZXNjYXBlcyB0aGUgY29tcG9zZXIgd3JhcHBlci4gKi9cbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyLFxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgICAubXhfTWF0cml4Q2hhdCAubXhfUmlnaHRQYW5lbCB+ICogLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b24sXG4gICAgLm14X1JpZ2h0UGFuZWxfb3BlbiAubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbiB7XG4gICAgICAgIHotaW5kZXg6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLyogdGhlIHVuaWZpZWQgbWVkaWEgcGlja2VyIHBhbmVsIGFuY2hvcnMgdG8gdGhlIGNvbXBvc2VyOyBrZWVwIGl0IHVuZGVyIHRoZVxuICAgICAgIHJpZ2h0LXBhbmVsIG92ZXJsYXkgYW5kIHdpdGhpbiB0aGUgY29udmVyc2F0aW9uIHBhbmUgb24gbW9iaWxlICovXG4gICAgLm14X1BseE1lZGlhUGlja2VyIHtcbiAgICAgICAgei1pbmRleDogMTIwMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyNHB4KSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLSBQTFgtV0VCLTA4OiByZXBvc2l0aW9uIG5vbi1jcml0aWNhbCB0b2FzdHMgLS0tLS0tLS0tLVxuICAgVXBzdHJlYW0gYW5jaG9ycyB0aGUgdG9hc3Qgc3RhY2sgdG9wLWxlZnQgKHRvcDoxMnB4OyBsZWZ0OjYycHgpLCB3aGVyZSBpdFxuICAgb3ZlcmxhcHMgdGhlIHJvb20gaGVhZGVyIC8gdXNlci1tZW51IGF2YXRhciAvIHNlYXJjaCBvbiBsb2FkLiBXZSd2ZSBhbHJlYWR5XG4gICBzdXBwcmVzc2VkIHRoZSB1bnZlcmlmaWVkLXNlc3Npb25zICsgbm90aWZpY2F0aW9ucyBuYWdzIGluIGNvZGU7IGZvciBhbnlcbiAgIHJlbWFpbmluZyB0b2FzdCAodXBkYXRlIGF2YWlsYWJsZSwgc2VydmVyIGxpbWl0LCBldGMuKSBtb3ZlIHRoZSB3aG9sZSBzdGFjayB0b1xuICAgdGhlIEJPVFRPTS1sZWZ0IHNvIGl0IGNhbiBuZXZlciBjb3ZlciB0aGUgaGVhZGVyLiBDcml0aWNhbCBtb2RhbCBkaWFsb2dzIGFyZSBhXG4gICBzZXBhcmF0ZSBsYXllciBhbmQgYXJlIHVuYWZmZWN0ZWQuICovXG4ubXhfVG9hc3RDb250YWluZXIge1xuICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDE2cHggIWltcG9ydGFudDtcbn1cbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSwgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKiBEZXYgbm90ZTogdGhlcmUncyBubyBhY3R1YWwgY29tcG9uZW50IGNhbGxlZCA8UGxheWJhY2tDb250YWluZXIgLz4uIFRoZXNlIGNsYXNzZXMgKi9cclxuLyogYXJlIHNoYXJlZCBhbW9uZ3N0IG11bHRpcGxlIHZvaWNlIG1lc3NhZ2UgY29tcG9uZW50cy4gKi9cclxuXHJcbi8qIENvbnRhaW5lciBmb3IgbGl2ZSByZWNvcmRpbmcgYW5kIHBsYXliYWNrIGNvbnRyb2xzICovXHJcbi5teF9Wb2ljZU1lc3NhZ2VQcmltYXJ5Q29udGFpbmVyIHtcclxuICAgIC8qIE1hdGNoIG14X01lZGlhQm9keSBzcGFjaW5nLCBvZmZzZXR0aW5nIHRoZSB3YXZlZm9ybSdzIDFweCBpbnRlcm5hbCByaWdodCBwYWRkaW5nLiAqL1xyXG4gICAgcGFkZGluZzogNnB4IDExcHggNnB4IDEycHg7XHJcblxyXG4gICAgLyogQ2hlYXQgYXQgYWxpZ25tZW50IGEgYml0ICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBjb250YWluOiBjb250ZW50O1xyXG5cclxuICAgIC5teF9XYXZlZm9ybSxcclxuICAgIC5teF9SZWNvcmRpbmdQbGF5YmFja190aW1lbGluZUxheW91dE1pZGRsZSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwOyAvKiBQcmV2ZW50IGEgYmxvd291dCAqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFdhdmVmb3JtcyBhcmUgcHJlc2VudCBpbiBsaXZlIHJlY29yZGluZyBvbmx5ICovXHJcbiAgICAubXhfV2F2ZWZvcm0ge1xyXG4gICAgICAgIC8qIGRlZmF1bHQsIG92ZXJyaWRkZW4gaW4gSlMgKi9cclxuICAgICAgICAtLWJhckhlaWdodDogMTtcclxuICAgICAgICAubXhfV2F2ZWZvcm1fYmFyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1YXRlcm5hcnktY29udGVudDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWShtYXgoMC4wNSwgdmFyKC0tYmFySGVpZ2h0KSkpO1xyXG5cclxuICAgICAgICAgICAgJi5teF9XYXZlZm9ybV9iYXJfMTAwcGN0IHtcclxuICAgICAgICAgICAgICAgIC8qIFNtYWxsIGFuaW1hdGlvbiB0byByZW1vdmUgdGhlIG1lY2hhbmljYWwgZmVlbCBvZiBwcm9ncmVzcyAqL1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9DbG9jayB7XHJcbiAgICAgICAgd2lkdGg6ICRmb250LTQycHg7IC8qIHdlJ3JlIG5vdCB1c2luZyBhIG1vbm9zcGFjZSBmb250LCBzbyBmYWtlIGl0ICovXHJcbiAgICAgICAgbWluLXdpZHRoOiAkZm9udC00MnB4OyAvKiBmb3JjZSBzZW5zaWJsZSBsYXlvdXRzIGluIGF3a3dhcmQgZmxleGJveGVzIChmaWxlIHBhbmVsLCBmb3IgZXhhbXBsZSkgKi9cclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IC8qIHdpdGggdGhlIGZpeGVkIHdpZHRoIHRoaXMgZW5kcyB1cCBhcyBhIHZpc3VhbCA4cHggbW9zdCBvZiB0aGUgdGltZSwgYXMgaW50ZW5kZWQuICovXHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IC8qIGlzb2xhdGUgZnJvbSByZWNvcmRpbmcgY2lyY2xlIC8gcGxheSBjb250cm9sICovXHJcbiAgICB9XHJcblxyXG4gICAgLm14X1JlY29yZGluZ1BsYXliYWNrX3RpbWVsaW5lTGF5b3V0TWlkZGxlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7IC8qIHNhbWUgaGVpZ2h0IGFzIG14X1dhdmVmb3JtLCBuZWVkZWQgZm9yIGF1dG9tYXRpYyB2ZXJ0aWNhbCBjZW50ZXJpbmcgKi9cclxuXHJcbiAgICAgICAgLm14X1dhdmVmb3JtIHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NlZWtCYXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgdG9wOiAtMnB4OyAvKiB2aXN1YWxseSB2ZXJ0aWNhbGx5IGNlbnRlcmVkICovXHJcblxyXG4gICAgICAgICAgICAvKiBIaWRlIHRoZSBoYWlybGluZSBwcm9ncmVzcyBiYXIgc2luY2Ugd2UncmUgYXQgMTAwJSBoZWlnaHQuIE5lZWQgdG8gaGF2ZSBkaXN0aW5jdCBydWxlcyAqL1xyXG4gICAgICAgICAgICAvKiBiZWNhdXNlIENTUyBpcyB3ZWlyZC4gKi9cclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6LW1vei1yYW5nZS1wcm9ncmVzcyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvKiBNYWtlIHRoZSB0aHVtYiBlYXNpZXIgdG8gc2VlLiBMaWtlIHRoZSBTZWVrQmFyIG9yaWdpbmFsIHN0eWxlcywgdGhlc2UgbmVlZCB0byBiZSAqL1xyXG4gICAgICAgICAgICAvKiBkaXN0aW5jdC4gV2UgbWFrZSBpdCB0cmFuc3BhcmVudCBzbyBpdCBkb2Vzbid0IHNob3cgdXAgb24gdGhlIFVJLCBidXQgYWxzbyBsYXJnZXIgKi9cclxuICAgICAgICAgICAgLyogc28gaXQncyBlYXNpZXIgdG8gZ3JhYiBieSBtb3VzZSB1c2VycyBpbiBzb21lIGJyb3dzZXJzLiBNb3N0IGJyb3dzZXJzIGxldCB0aGUgdXNlciAqL1xyXG4gICAgICAgICAgICAvKiBtb3ZlIGFuZCBkcmFnIHRoZSB0aHVtYiByZWdhcmRsZXNzIG9mIGhpdHRpbmcgdGhlIHRodW1iLCBob3dldmVyLiAqL1xyXG4gICAgICAgICAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogRm9yIHRpbWVsaW5lLXJlbmRlcmVkIHBsYXliYWNrLCB0aGUgY2xvY2sgaXMgb24gdGhlIG90aGVyIHNpZGUgb2YgdGhlIHdhdmVmb3JtLiAqL1xyXG4gICAgICAgICYgKyAubXhfQ2xvY2sge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgICAgIC8qIFRha2UgdGhlIHBhZGRpbmcgb2ZmIHRoZSBjbG9jayBiZWNhdXNlIGl0J3MgYWNjb3VudGVkIGZvciBieSB0aGUgYHRpbWVsaW5lTGF5b3V0TWlkZGxlYCAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLyogQ1NTIGluc3BpcmF0aW9uIGZyb206ICovXHJcbi8qICogaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9ob3d0by9ob3d0b19qc19yYW5nZXNsaWRlci5hc3AgKi9cclxuLyogKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjgyODM4MDYgKi9cclxuLyogKiBodHRwczovL2Nzcy10cmlja3MuY29tL3N0eWxpbmctY3Jvc3MtYnJvd3Nlci1jb21wYXRpYmxlLXJhbmdlLWlucHV0cy1jc3MvICovXHJcblxyXG4ubXhfU2Vla0JhciB7XHJcbiAgICAvKiBkZWZhdWx0LCBvdmVycmlkZGVuIGluIEpTICovXHJcbiAgICAtLWZpbGxUbzogMTtcclxuXHJcbiAgICAvKiBEZXYgbm90ZTogd2UgZGVsaWJlcmF0ZWx5IGRvIG5vdCBoYXZlIHRoZSAtbXMtdHJhY2sgKGFuZCBmcmllbmRzKSBzZWxlY3RvcnMgYmVjYXVzZSB3ZSBkb24ndCAqL1xyXG4gICAgLyogbmVlZCB0byBzdXBwb3J0IElFLiAqL1xyXG5cclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8qIGRlZmF1bHQgc3R5bGUgb3ZlcnJpZGUgKi9cclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgYmFja2dyb3VuZDogJHF1YXRlcm5hcnktY29udGVudDtcclxuICAgIG91dGxpbmU6IG5vbmU7IC8qIHJlbW92ZSBibHVlIHNlbGVjdGlvbiBib3JkZXIgKi9cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogZm9yIGJlZm9yZSthZnRlciBwc2V1ZG8gZWxlbWVudHMgbGF0ZXIgb24gKi9cclxuXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xyXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8qIGRlZmF1bHQgc3R5bGUgb3ZlcnJpZGUgKi9cclxuXHJcbiAgICAgICAgLyogRGV2IG5vdGU6IFRoaXMgbmVlZHMgdG8gYmUgZHVwbGljYXRlZCB3aXRoIHRoZSAtbW96LXJhbmdlLXRodW1iIHNlbGVjdG9yICovXHJcbiAgICAgICAgLyogYmVjYXVzZSBvdGhlcndpc2UgRWRnZSAod2Via2l0KSB3aWxsIGZhaWwgdG8gc2VlIHRoZSBzdHlsZXMgYW5kIGp1c3QgcmVmdXNlICovXHJcbiAgICAgICAgLyogdG8gYXBwbHkgdGhlbS4gKi9cclxuICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XHJcbiAgICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAvKiBGaXJlZm94IGFkZHMgYSBib3JkZXIgb24gdGhlIHRodW1iICovXHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFRoaXMgaXMgZm9yIHdlYmtpdCBzdXBwb3J0LCBidXQgd2UgY2FuJ3QgbGltaXQgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgaXQgdG8ganVzdCB3ZWJraXQgKi9cclxuICAgIC8qIGJyb3dzZXJzLiBGaXJlZm94IHJlc3BvbmRzIHRvIHdlYmtpdC1wcmVmaXhlZCB2YWx1ZXMgbm93LCB3aGljaCBtZWFucyB3ZSBjYW4ndCB1c2UgbWVkaWEgKi9cclxuICAgIC8qIG9yIHN1cHBvcnQgcXVlcmllcyB0byBzZWxlY3RpdmVseSBhcHBseSB0aGUgcnVsZS4gQW4gdXBzaWRlIGlzIHRoYXQgdGhpcyBDU1MgZG9lc24ndCB3b3JrICovXHJcbiAgICAvKiBpbiBmaXJlZm94LCBzbyBpdCdzIGp1c3Qgd2FzdGVkIENQVS9HUFUgdGltZS4gKi9cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgLyogOjpiZWZvcmUgdG8gZW5zdXJlIGl0IGVuZHMgdXAgdW5kZXIgdGhlIHRodW1iICovXHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgLyogQWJzb2x1dGUgcG9zaXRpb25pbmcgdG8gZW5zdXJlIGl0IG92ZXJsYXBzIHdpdGggdGhlIGV4aXN0aW5nIGJhciAqL1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgLyogU2l6aW5nIHRvIG1hdGNoIHRoZSBiYXIgKi9cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuXHJcbiAgICAgICAgLyogQW5kIGZpbmFsbHkgZHluYW1pYyB3aWR0aCB3aXRob3V0IG92ZXJseSBodXJ0aW5nIHRoZSByZW5kZXJpbmcgZW5naW5lLiAqL1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCh2YXIoLS1maWxsVG8pKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBUaGlzIGlzIGZpcmVmb3gncyBidWlsdC1pbiBzdXBwb3J0IGZvciB0aGUgYWJvdmUsIHdpdGggMTAwJSBsZXNzIGhhY2tzLiAqL1xyXG4gICAgJjo6LW1vei1yYW5nZS1wcm9ncmVzcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEluY3JlYXNlIGNsaWNrYWJsZSBhcmVhIGZvciB0aGUgc2xpZGVyIChhcHByb3hpbWF0ZWx5IHNhbWUgc2l6ZSBhcyBicm93c2VyIGRlZmF1bHQpICovXHJcbiAgICAvKiBXZSBkbyBpdCB0aGlzIHdheSB0byBrZWVwIHRoZSBzYW1lIHBhZGRpbmcgYW5kIG1hcmdpbnMgb2YgdGhlIGVsZW1lbnQsIGF2b2lkaW5nIG1hcmdpbiBtYXRoLiAqL1xyXG4gICAgLyogU291cmNlOiBodHRwczovL2Zyb250LWJhY2suY29tL2V4cGFuZC1jbGlja2FibGUtYXJlYXMtZm9yLWEtYmV0dGVyLXRvdWNoLWV4cGVyaWVuY2UvICovXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtNnB4O1xyXG4gICAgICAgIGJvdHRvbTogLTZweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfV2F2ZWZvcm0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAzMHB4OyAvKiB0YWxsZXN0IGJhciBjYW4gb25seSBiZSAzMHB4ICovXHJcbiAgICB0b3A6IDFweDsgLyogYmVjYXVzZSBvZiBvdXIgYm9yZGVyIHRyaWNrIChzZWUgYmVsb3cpLCB3ZSdyZSBvZmYgYnkgMXB4IG9mIGFsaWdudG1lbnQgKi9cclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLyogc28gdGhlIGJhcnMgZ3JvdyBmcm9tIHRoZSBtaWRkbGUgKi9cclxuXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiB0aGlzIGlzIGNoZWFwZXIgdGhhbiBhIGBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA0cHgpYCBpbiB0aGUgYmFyJ3MgQ1NTLiAqL1xyXG5cclxuICAgIC8qIEEgYmFyIGlzIG1lYW50IHRvIGJlIGEgMngyIGNpcmNsZSB3aGVuIGF0IHplcm8gaGVpZ2h0LCBhbmQgb3RoZXJ3aXNlIGEgMnB4IHdpZGUgbGluZSAqL1xyXG4gICAgLyogd2l0aCByb3VuZGVkIGNhcHMuICovXHJcbiAgICAubXhfV2F2ZWZvcm1fYmFyIHtcclxuICAgICAgICB3aWR0aDogMDsgLyogMHB4IHdpZHRoIG1lYW5zIHdlJ2xsIGVuZCB1cCB1c2luZyB0aGUgYm9yZGVyIGFzIG91ciB3aWR0aCAqL1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyAvKiB0cmFuc3BhcmVudCBtZWFucyB3ZSdsbCB1c2UgdGhlIGJhY2tncm91bmQgY29sb3VyICovXHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyAvKiByb3VuZGVkIGVuZCBjYXBzLCBiYXNlZCBvbiB0aGUgYm9yZGVyICovXHJcbiAgICAgICAgbWluLWhlaWdodDogMDsgLyogbGlrZSB0aGUgd2lkdGgsIHdlJ2xsIHJlbHkgb24gdGhlIGJvcmRlciB0byBnaXZlIHVzIGhlaWdodCAqL1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IC8qIHRoaXMgbWFrZXMgdGhlIGBoZWlnaHQ6IDQyJWAgd29yayBvbiB0aGUgZWxlbWVudCAqL1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7IC8qIHdlIHdhbnQgMnB4IGJldHdlZW4gZWFjaCBiYXIsIHNvIDFweCBvbiBlaXRoZXIgc2lkZSBmb3IgYmFsYW5jZSAqL1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xyXG5cclxuICAgICAgICAvKiBiYWNrZ3JvdW5kIGNvbG9yIGlzIGhhbmRsZWQgYnkgdGhlIHBhcmVudCBjb21wb25lbnRzICovXHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BdXRoQm9keSB7XHJcbiAgICB3aWR0aDogNTAwcHg7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBjb2xvcjogJGF1dGhwYWdlLXNlY29uZGFyeS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1jcGQtc3BhY2UtNngpIHZhcigtLWNwZC1zcGFjZS02eCkgMDtcclxuICAgIHBhZGRpbmc6IDI1cHggNjBweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgc3Ryb25nIHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0F1dGhCb2R5X2ZsZXgge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0yNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcclxuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXNlY29uZGFyeS1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICBoMi5teF9BdXRoQm9keV9jZW50ZXJlZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGE6bGluayxcclxuICAgIGE6aG92ZXIsXHJcbiAgICBhOnZpc2l0ZWQge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F1dGhCb2R5X2ljb24ge1xyXG4gICAgICAgIHdpZHRoOiA0NHB4O1xyXG4gICAgICAgIGhlaWdodDogNDRweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQXV0aEJvZHlfbG9ja0ljb24ge1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BdXRoQm9keV90ZXh0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy00ODtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcclxuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ZpZWxkIGxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXNlY29uZGFyeS1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRmllbGQgaW5wdXQsXHJcbiAgICAubXhfRmllbGQgc2VsZWN0IHtcclxuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ZpZWxkX2xhYmVsQWx3YXlzVG9wTGVmdCBsYWJlbCxcclxuICAgIC5teF9GaWVsZCBzZWxlY3QgKyBsYWJlbCAvKiBBbHdheXMgc2hvdyBhIHNlbGVjdCdzIGxhYmVsIG9uIHRvcCB0byBub3QgY29sbGlkZSB3aXRoIHRoZSB2YWx1ZSAqLyxcclxuICAgIC5teF9GaWVsZCBpbnB1dDpmb2N1cyArIGxhYmVsLFxyXG4gICAgLm14X0ZpZWxkIGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pICsgbGFiZWwsXHJcbiAgICAubXhfRmllbGQgdGV4dGFyZWE6Zm9jdXMgKyBsYWJlbCxcclxuICAgIC5teF9GaWVsZCB0ZXh0YXJlYTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIGxhYmVsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dC5lcnJvciB7XHJcbiAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTG9naW5fc3VibWl0IHtcclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTY7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Vycm9yTWVzc2FnZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ZpZWxkIGlucHV0IHtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9GaWVsZF9zZWxlY3Q6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Ryb3Bkb3duIHtcclxuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Ryb3Bkb3duX2Fycm93IHtcclxuICAgICAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Ryb3Bkb3duX21lbnUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICAubXhfRHJvcGRvd25fb3B0aW9uX2hpZ2hsaWdodCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhdXRocGFnZS1mb2N1cy1iZy1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIHNwZWNpYWxpc2F0aW9uIGZvciBwYXNzd29yZCByZXNldCB2aWV3cyAqL1xyXG4ubXhfQXV0aEJvZHkubXhfQXV0aEJvZHlfZm9yZ290LXBhc3N3b3JkIHtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIHBhZGRpbmc6IDUwcHggMzJweDtcclxuICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTI0IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F1dGhCb2R5X2J1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luX3N1Ym1pdCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctMTY7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F1dGhCb2R5X3RleHQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTMyO1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctODtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F1dGhCb2R5X3NpZ24taW4taW5zdGVhZC1idXR0b24ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F1dGhCb2R5X2ZpZWxkUm93IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0yNDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2hhc0tpbmQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG4gICAgICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9BdXRoQm9keV9kaWQtbm90LXJlY2VpdmUge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG59XHJcblxyXG4ubXhfQXV0aEJvZHlfcmVzZW5kLWJ1dHRvbiB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAkc3BhY2luZy00O1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctNDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQXV0aEJvZHlfZW1haWxQcm9tcHRJY29uIHtcclxuICAgIHdpZHRoOiA1N3B4O1xyXG59XHJcblxyXG4ubXhfQXV0aEJvZHlfZW1haWxQcm9tcHRJY29uLS1zaGlmdGVkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IC0xN3B4OyAvKiBQcmV2ZW50IGxheW91dCBqdW1wIGJ5IHJlbGF0aXZlIHBvc2l0aW9uaW5nLiAqL1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMTdweDsgLyogVGhpcyBpY29uIGlzIGhpZ2hlciB0aGFuIHRoZSBvdGhlciBpY29ucy4gU2hpZnQgdXAgdG8gcHJldmVudCBpY29uIGp1bXBpbmcuICovXHJcbiAgICB3aWR0aDogNTdweDtcclxufVxyXG5cclxuLm14X0F1dGhCb2R5X2ZpZWxkUm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ubXhfQXV0aEJvZHlfZmllbGRSb3cgPiAubXhfRmllbGQge1xyXG4gICAgbWFyZ2luOiAwIDVweDtcclxufVxyXG5cclxuLm14X0F1dGhCb2R5X2ZpZWxkUm93ID4gLm14X0ZpZWxkOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG4ubXhfQXV0aEJvZHlfZmllbGRSb3cgPiAubXhfRmllbGQ6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5teF9BdXRoQm9keV9wYWRkZWRGb290ZXIge1xyXG4gICAgaGVpZ2h0OiA4MHB4OyAvKiBoZWlnaHQgb2YgdGhlIHN1Ym1pdCBidXR0b24gKyByZWdpc3RlciBsaW5rICovXHJcbiAgICBwYWRkaW5nLXRvcDogMjhweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAubXhfQXV0aEJvZHlfcGFkZGVkRm9vdGVyX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcblxyXG4gICAgICAgIC5teF9JbmxpbmVTcGlubmVyIHN2ZyB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfQXV0aEJvZHlfcGFkZGVkRm9vdGVyX3N1YnRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTRweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0F1dGhCb2R5X2NoYW5nZUZsb3cge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgPiBhIHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1NTT0J1dHRvbnMgKyAubXhfQXV0aEJvZHlfY2hhbmdlRmxvdyB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0yNDtcclxufVxyXG5cclxuLm14X0F1dGhCb2R5X3NwaW5uZXIge1xyXG4gICAgbWFyZ2luOiAxZW0gMDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgLm14X0F1dGhCb2R5IHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BdXRoRm9vdGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgIG9wYWNpdHk6IDAuNzI7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiKDAsIDAsIDAsIDApLCByZ2IoMCwgMCwgMCwgMC44KSk7XHJcbn1cclxuXHJcbi5teF9BdXRoRm9vdGVyIGE6bGluayxcclxuLm14X0F1dGhGb290ZXIgYTpob3ZlcixcclxuLm14X0F1dGhGb290ZXIgYTp2aXNpdGVkIHtcclxuICAgIGNvbG9yOiAkYWNjZW50LWZnLWNvbG9yO1xyXG4gICAgbWFyZ2luOiAwIDIycHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0F1dGhIZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMjA2cHg7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDI1cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAubXhfQXV0aEhlYWRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQXV0aEhlYWRlckxvZ28ge1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAwIDI1cHg7XHJcbn1cclxuXHJcbi5teF9BdXRoSGVhZGVyTG9nbyBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgIC5teF9BdXRoSGVhZGVyTG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQXV0aFBhZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0aHBhZ2UtYmctY29sb3I7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi5teF9BdXRoUGFnZV9tb2RhbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAxMDBweCBhdXRvIGF1dG87XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGF1dGhwYWdlLW1vZGFsLWJnLWNvbG9yO1xyXG5cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc2OHB4KSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0F1dGhQYWdlX21vZGFsX3dpdGhCbHVyIHtcclxuICAgICAgICAvKiBBcHBseSBhIGJsdXJyZWQgc2hhZG93IGFyb3VuZCB0aGUgbW9kYWwgKi9cclxuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2IoMCwgMCwgMCwgMC4zMyk7XHJcblxyXG4gICAgICAgIC5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQge1xyXG4gICAgICAgICAgICAvKiBNYWtlIHRoZSBtb2RhbCdzIGJhY2tncm91bmQgc2VtaXRyYW5zcGFyZW50ICovXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhdXRocGFnZS1tb2RhbC1jb250ZW50LXdpdGgtYmx1ci1iZy1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Db21wbGV0ZVNlY3VyaXR5Qm9keSB7XHJcbiAgICBjb2xvcjogJGF1dGhwYWdlLXByaW1hcnktY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggNjBweCAyMHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0yNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG5cclxuICAgIGE6bGluayxcclxuICAgIGE6aG92ZXIsXHJcbiAgICBhOnZpc2l0ZWQge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ291bnRyeURyb3Bkb3duIC5teF9Ecm9wZG93bl9pbnB1dCAubXhfRHJvcGRvd25fb3B0aW9uIHtcclxuICAgIHBhZGRpbmc6IDAgM3B4O1xyXG59XHJcblxyXG4ubXhfQ291bnRyeURyb3Bkb3duIC5teF9Ecm9wZG93bl9hcnJvdyB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XHJcbn1cclxuXHJcbi5teF9Db3VudHJ5RHJvcGRvd25fc2hvcnRPcHRpb24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ubXhfQ291bnRyeURyb3Bkb3duX29wdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNiBFbGVtZW50IENyZWF0aW9ucyBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EZWZhdWx0V2VsY29tZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLm14X0RlZmF1bHRXZWxjb21lX2xvZ28gaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS00eCkgMCB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RlZmF1bHRXZWxjb21lX2J1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTZ4KSAwIHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1zZXBhcmF0b3ItcHJpbWFyeSk7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMzgwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfV2VsY29tZVBhZ2VfcmVnaXN0cmF0aW9uRGlzYWJsZWQge1xyXG4gICAgLm14X0RlZmF1bHRXZWxjb21lX2J1dHRvbnNfcmVnaXN0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHMge1xyXG4gICAgLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c190ZXJtc1N1Ym1pdCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogcHJldmVudCBvdmVyZmxvd2luZyAqL1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX21zaXNkbldyYXBwZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX21zaXNkbkVudHJ5IHtcclxuICAgIGZvbnQtc2l6ZTogMjAwJTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHN0cm9uZy1pbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICB3aWR0aDogNmVtO1xyXG59XHJcblxyXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX21zaXNkbkVudHJ5OmZvY3VzIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQ7XHJcbn1cclxuXHJcbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfbXNpc2RuU3VibWl0IHtcclxuICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxuLyogWFhYOiBUaGlzIHNob3VsZCBiZSBhIGNvbW1vbiBidXR0b24gY2xhc3MgKi9cclxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19tc2lzZG5TdWJtaXQ6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWZnLWNvbG9yO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Rlcm1zUG9saWN5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19wYXNzd29yZFNlY3Rpb24ge1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG59XHJcblxyXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX3Nzb19idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfZW1haWxXcmFwcGVyIHtcclxuICAgIC8qIFwiUmVzZW5kXCIgYnV0dG9uL2xpbmsgKi9cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUge1xyXG4gICAgICAgIC8qIFdlIG5lZWQgdGhpcyB0byBiZSBhbiBpbmxpbmUtYmxvY2sgc28gcG9zaXRpb25pbmcgd29ya3MgY29ycmVjdGx5ICovXHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC8qIFNwaW5uZXIgYXMgZW5kIGFkb3JubWVudCBvZiB0aGUgXCJyZXNlbmRcIiBidXR0b24vbGluayAqL1xyXG4gICAgICAgIC5teF9TcGlubmVyIHtcclxuICAgICAgICAgICAgLyogU3Bpbm5lcnMgYXJlIHVzdWFsbHkgYmxvY2sgZWxlbWVudHMsIGJ1dCB3ZSBuZWVkIGl0IGFzIGlubGluZSBlbGVtZW50ICovXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8qIFNwaW5uZXJzIGJ5IGRlZmF1bHQgZmlsbCBhbGwgYXZhaWxhYmxlIHdpZHRoLCBidXQgd2UgZG9uJ3Qgd2FudCB0aGF0ICovXHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8qIFdlIG5lZWQgdG8gY2VudGVyIHRoZSBzcGlubmVyIHJlbGF0aXZlIHRvIHRoZSBidXR0b24vbGluayAqL1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BdXRoQm9keV9sYW5ndWFnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm14X0F1dGhCb2R5X2xhbmd1YWdlIC5teF9Ecm9wZG93bl9pbnB1dCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcclxuICAgIGNvbG9yOiAkYXV0aHBhZ2UtbGFuZy1jb2xvcjtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG4ubXhfQXV0aEJvZHlfbGFuZ3VhZ2UgLm14X0Ryb3Bkb3duX2Fycm93IHtcclxuICAgIGNvbG9yOiAkYXV0aHBhZ2UtbGFuZy1jb2xvcjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xvZ2luV2l0aFFSU2VjdGlvbiBwIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcclxufVxyXG5cclxuLm14X0xvZ2luV2l0aFFSU2VjdGlvbiB7XHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkgKyBwIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTG9naW5XaXRoUVJTZWN0aW9uIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHN2ZyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTEyO1xyXG59XHJcblxyXG4ubXhfQXV0aFBhZ2UgLm14X0xvZ2luV2l0aFFSIHtcclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uICsgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XHJcbiAgICB9XHJcblxyXG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG59XHJcblxyXG4ubXhfTG9naW5XaXRoUVIge1xyXG4gICAgbWluLWhlaWdodDogMzUwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjRweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAmLm5vcm1hbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaGVpZ2h0OiAxLjNlbTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luV2l0aFFSX3FyV3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0yOCAwO1xyXG5cclxuICAgICAgICAubXhfU3Bpbm5lciB7XHJcbiAgICAgICAgICAgIC8qIE1hdGNoIHRoZSBzaXplIG9mIHRoZSBRUiBjb2RlIHRvIHByZXZlbnQganVtcHMgKi9cclxuICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTG9naW5XaXRoUVJfY29uZmlybWF0aW9uRGlnaXRzIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy00OCBhdXRvO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjRweDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTG9naW5XaXRoUVJfY29uZmlybWF0aW9uQWxlcnQge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctODtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy04O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Mb2dpbldpdGhRUl9zZXBhcmF0b3Ige1xyXG4gICAgICAgIG1hcmdpbjogMWVtIDA7XHJcbiAgICB9XHJcblxyXG4gICAgb2wge1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IC8qIGxpc3QgbWFya2VycyBkbyBub3Qgc3VwcG9ydCB0aGUgb3V0bGluZWQgbnVtYmVyIHN0eWxpbmcgd2UgbmVlZCAqL1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtN3gpO1xyXG4gICAgICAgICAgICBjb2xvcjogMXB4IHNvbGlkICRpbnB1dC1wbGFjZWhvbGRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBDaXJjbGVkIG51bWJlciBsaXN0IGl0ZW0gbWFya2VyICovXHJcbiAgICAgICAgbGk6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC1pdGVtKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1wbGFjZWhvbGRlcjtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsYWJlbFtmb3I9XCJteF9Mb2dpbldpdGhRUl9jaGVja0NvZGVcIl0ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luV2l0aFFSX2ljb24ge1xyXG4gICAgICAgIHdpZHRoOiA1NnB4O1xyXG4gICAgICAgIGhlaWdodDogNTZweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9Mb2dpbldpdGhRUl9pY29uLS1zdWNjZXNzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1Y2Nlc3Mtc3VidGxlKTtcclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0xvZ2luV2l0aFFSX2ljb24tLWNyaXRpY2FsIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZSk7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luV2l0aFFSX2NoZWNrQ29kZV9pbnB1dCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xyXG5cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIC8qIFdvcmthcm91bmQgZm9yIG9uZSBvZiB0aGUgaW5wdXQgcnVsZXMgaW4gX2NvbW1vbi5wY3NzIGJlaW5nIG5vdCBzcGVjaWZpYyBlbm91Z2ggKi9cclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoNDBweCAvIDIgLSAoMWNoIC8gMikpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTG9naW5XaXRoUVJfaGVhZGluZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6ICRzcGFjaW5nLTEyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luV2l0aFFSX0JhY2tCdXR0b24ge1xyXG4gICAgICAgIGhlaWdodDogJHNwYWNpbmctMjg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNwYWNpbmctMjg7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctNDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Mb2dpbldpdGhRUl9icmVhZGNydW1icyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xM3B4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luV2l0aFFSX21haW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0xvZ2luV2l0aFFSX2Vycm9yIC5teF9Mb2dpbldpdGhRUl9tYWluIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Mb2dpbldpdGhRUl9idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6ICRzcGFjaW5nLTE2O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9RUkNvZGUge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTG9naW5XaXRoUVJfc3Bpbm5lciB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbiRQYXNzcGhyYXNlU3RyZW5ndGhIaWdoOiAkYWNjZW50O1xyXG4kUGFzc3BocmFzZVN0cmVuZ3RoTWVkaXVtOiAkdXNlcm5hbWUtdmFyaWFudDUtY29sb3I7XHJcbiRQYXNzcGhyYXNlU3RyZW5ndGhMb3c6ICRhbGVydDtcclxuXHJcbnByb2dyZXNzLm14X1Bhc3NwaHJhc2VGaWVsZF9wcm9ncmVzcyB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBoZWlnaHQ6IDRweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTEwcHg7XHJcbiAgICBsZWZ0OiAwO1xyXG5cclxuICAgIEBtaXhpbiBQcm9ncmVzc0JhckJvcmRlclJhZGl1cyBcIjJweFwiO1xyXG4gICAgQG1peGluIFByb2dyZXNzQmFyQ29sb3VyICRQYXNzcGhyYXNlU3RyZW5ndGhMb3c7XHJcbiAgICAmW3ZhbHVlPVwiMlwiXSxcclxuICAgICZbdmFsdWU9XCIzXCJdIHtcclxuICAgICAgICBAbWl4aW4gUHJvZ3Jlc3NCYXJDb2xvdXIgJFBhc3NwaHJhc2VTdHJlbmd0aE1lZGl1bTtcclxuICAgIH1cclxuICAgICZbdmFsdWU9XCI0XCJdIHtcclxuICAgICAgICBAbWl4aW4gUHJvZ3Jlc3NCYXJDb2xvdXIgJFBhc3NwaHJhc2VTdHJlbmd0aEhpZ2g7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1dlbGNvbWUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMTF4KSB2YXIoLS1jcGQtc3BhY2UtMTJ4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG5cclxuICAgICYubXhfV2VsY29tZVBhZ2VfcmVnaXN0cmF0aW9uRGlzYWJsZWQge1xyXG4gICAgICAgIC5teF9CdXR0b25DcmVhdGVBY2NvdW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9XZWxjb21lIC5teF9BdXRoQm9keV9sYW5ndWFnZSB7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbiAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS0xeCkgMDtcclxufVxyXG5cclxuLyogSW52ZXJ0IGltYWdlIGNvbG91cnMgaW4gZGFyayBtb2RlLiAqL1xyXG4uY3BkLXRoZW1lLWRhcmsgLm14X1dlbGNvbWVQYWdlX2xvZ28ge1xyXG4gICAgZmlsdGVyOiBpbnZlcnQoMSk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbmJ1dHRvbi5teF9CYXNlQXZhdGFyIHtcclxuICAgIC8qIDxidXR0b24+IGlzIGEgZm9ybSBlbGVtZW50IGFuZCBieSBkZWZhdWx0IGl0IHVzZXMgdGhlIHVzZXIgYWdlbnQgKGJyb3dzZXIpIHN0eWxpbmcuXHJcbiAgICAgICBXZSB3YW50IGl0IHRvIGluaGVyaXQgdGhlIGZvbnQtZmFtaWx5IGFuZCBsaW5lLWhlaWdodCBmcm9tIGl0cyBwYXJlbnQuXHJcbiAgICAgKi9cclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EZWNvcmF0ZWRSb29tQXZhdGFyLFxyXG4ubXhfRXh0cmFUaWxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbnRhaW46IGNvbnRlbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuXHJcbiAgICAmLm14X0RlY29yYXRlZFJvb21BdmF0YXJfY3V0b3V0IC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIvcmVzL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L2RlY29yYXRlZC1hdmF0YXItbWFzay5zdmdcIik7XHJcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcclxuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAvKiB0aGUgZm9sbG93aW5nIHBlcmNlbnRhZ2UgYmFzZWQgc2l6aW5ncyBhcmUgdG8gbWF0Y2ggdGhlIHNjYWxhYmxlIHN2ZyBtYXNrIGZvciB0aGUgY3V0b3V0ICovXHJcbiAgICAgICAgYm90dG9tOiA2LjI1JTsgLyogMnB4IGZvciBhIDMyeDMyIGF2YXRhciAqL1xyXG4gICAgICAgIHJpZ2h0OiA2LjI1JTtcclxuICAgICAgICB3aWR0aDogMjUlOyAvKiA4cHggZm9yIGEgMzJ4MzIgYXZhdGFyICovXHJcbiAgICAgICAgaGVpZ2h0OiAyNSU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX2dsb2JlIHN2ZyB7XHJcbiAgICAgICAgLyogT3ZlcnNpemUgdGhlIGljb24gdG8gYWNjb3VudCBmb3IgdGhlIGRlYWQgc3BhY2UgYXJvdW5kIHRoZSBpY29uIHdpdGhpbiB0aGUgY2FudmFzICovXHJcbiAgICAgICAgd2lkdGg6IDEyMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMjAlO1xyXG4gICAgICAgIG1hcmdpbjogLTEwJTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb25fb2ZmbGluZTo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmVzZW5jZS1vZmZsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb25fb25saW5lOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX2F3YXk6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJlc2VuY2UtYXdheTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX2J1c3k6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJlc2VuY2UtYnVzeTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2UsXHJcbiAgICAubXhfUm9vbVRpbGVfYmFkZ2VDb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfUm9vbUF2YXRhclZpZXcge1xyXG4gICAgLS1yb29tLWF2YXRhci1zaXplOiAzMnB4O1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAvKiBLZWVwIHRoZSBjb250YWluZXIgdG8gdGhlIHNhbWUgc2l6ZSB0aGFuIHRoZSBhdmF0YXIgKi9cclxuICAgIGlubGluZS1zaXplOiB2YXIoLS1yb29tLWF2YXRhci1zaXplKTtcclxuICAgIGJsb2NrLXNpemU6IHZhcigtLXJvb20tYXZhdGFyLXNpemUpO1xyXG5cclxuICAgIC5teF9Sb29tQXZhdGFyVmlld19Sb29tQXZhdGFyIHtcclxuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xyXG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21BdmF0YXJWaWV3X1Jvb21BdmF0YXJfaWNvbiB7XHJcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiL3Jlcy9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9yb29tLWF2YXRhci12aWV3LWljb24tbWFzay5zdmdcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21BdmF0YXJWaWV3X1Jvb21BdmF0YXJfcHJlc2VuY2Uge1xyXG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIi9yZXMvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvcm9vbS1hdmF0YXItdmlldy1wcmVzZW5jZS1tYXNrLnN2Z1wiKTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbUF2YXRhclZpZXdfaWNvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICAvKiBQbGFjZSBoYWxmIHRoZSBpY29uIGluc2lkZSB0aGUgYXZhdGFyICovXHJcbiAgICAgICAgLyogQXZhdGFyIHNpemUgLSAoaWNvbiBzaXplICgxNnB4KSAvIDIpICovXHJcbiAgICAgICAgbGVmdDogY2FsYygodmFyKC0tcm9vbS1hdmF0YXItc2l6ZSkgLSA4cHgpKTtcclxuICAgICAgICBib3R0b206IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbUF2YXRhclZpZXdfUHJlc2VuY2VEZWNvcmF0aW9uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgICAgIC8qIFBsYWNlIGhhbGYgdGhlIGljb24gaW5zaWRlIHRoZSBhdmF0YXIgKi9cclxuICAgICAgICAvKiBBdmF0YXIgc2l6ZSAtIChpY29uIHNpemUgKDhweCkgLyAyKSAqL1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoKHZhcigtLXJvb20tYXZhdGFyLXNpemUpIC0gNHB4KSk7XHJcbiAgICAgICAgYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMC01eCk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9XaWRnZXRBdmF0YXIge1xyXG4gICAgLyogIWltcG9ydGFudCBvdmVycmlkZSBjb21wb3VuZCBhdmF0YXIgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbnRhaW46IGNvbnRlbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuXHJcbiAgICAubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yX2ljb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogLTJweDtcclxuICAgICAgICBib3R0b206IC0ycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1dpdGhQcmVzZW5jZUluZGljYXRvcl9pY29uOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1dpdGhQcmVzZW5jZUluZGljYXRvcl9pY29uX29mZmxpbmU6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByZXNlbmNlLW9mZmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1dpdGhQcmVzZW5jZUluZGljYXRvcl9pY29uX29ubGluZTo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9XaXRoUHJlc2VuY2VJbmRpY2F0b3JfaWNvbl9hd2F5OjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmVzZW5jZS1hd2F5O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9XaXRoUHJlc2VuY2VJbmRpY2F0b3JfaWNvbl9idXN5OjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmVzZW5jZS1idXN5O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQmV0YUNhcmQge1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctMjQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWxzO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgLm14X0JldGFDYXJkX2NvbHVtbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgICAgIGdhcDogJHNwYWNpbmctMjA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5teF9CZXRhQ2FyZF9jb2x1bW5zX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuXHJcbiAgICAgICAgICAgIC5teF9CZXRhQ2FyZF90aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMThweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTQgMCAxNHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogJHNwYWNpbmctMTI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9CZXRhQ2FyZF9jYXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfQmV0YUNhcmRfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTEyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0yMCBhdXRvIDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogdGV4dCBtaWdodCBvdmVyZmxvdyAqL1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyOyAvKiBQbGFjZSBmZWVkYmFjayBidXR0b24gdG9wIGFuZCByaWdodCAqL1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0JldGFDYXJkX3JlZnJlc2hXYXJuaW5nIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9CZXRhQ2FyZF9mYXEge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjA7XHJcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLXJlZ3VsYXIpO1xyXG5cclxuICAgICAgICAgICAgICAgID4gaDQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmctMTIgMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQmV0YUNhcmRfY29sdW1uc19pbWFnZV93cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcblxyXG4gICAgICAgICAgICAubXhfQmV0YUNhcmRfY29sdW1uc19pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9CZXRhQ2FyZF9yZWxhdGVkU2V0dGluZ3Mge1xyXG4gICAgICAgIC5teF9TZXR0aW5nc0ZsYWcge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTE2IDAgMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICAubXhfU2V0dGluZ3NGbGFnX21pY3JvY29weSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy00O1xyXG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0JldGFDYXJkX2JldGFQaWxsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYWx0O1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctNCAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWZnLWNvbG9yO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xyXG4gICAgd29yZC1icmVhazoga2VlcC1hbGw7IC8qIGF2b2lkIG11bHRpcGxlIGxpbmVzIG9uIENKSyBsYW5ndWFnZSAqL1xyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EZXZpY2VDb250ZXh0TWVudSB7XHJcbiAgICBtYXgtd2lkdGg6IDI1MnB4O1xyXG5cclxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X2xhYmVsIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAtMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKiBBIGNvbnRleHQgbWVudSB0aGF0IGxhcmdlbHkgZml0cyB0aGUgfCBbaWNvbl0gICAgW2xhYmVsXSB8IGZvcm1hdC4gKi9cclxuLm14X0ljb25pemVkQ29udGV4dE1lbnUge1xyXG4gICAgbWluLXdpZHRoOiAxNDZweDtcclxuICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgIC8qIG92ZXJyaWRlIGRlZmF1bHQgdWwgc3R5bGVzICovXHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3Qge1xyXG4gICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdF9sYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiB0aGUgbm90Rmlyc3QgY2xhc3MgaXMgZm9yIGNhc2VzIHdoZXJlIHRoZSBvcHRpb25MaXN0IG1pZ2h0IGJlIHVuZGVyIGEgaGVhZGVyIG9mIHNvcnRzLiAqL1xyXG4gICAgICAgICY6bnRoLWNoaWxkKG4gKyAyKSxcclxuICAgICAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0X25vdEZpcnN0IHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogcm91bmQgdGhlIHRvcCBjb3JuZXJzIG9mIHRoZSB0b3AgYnV0dG9uIGZvciB0aGUgaG92ZXIgZWZmZWN0IHRvIGJlIGJvdW5kZWQgKi9cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIC5teF9JY29uaXplZENvbnRleHRNZW51X2l0ZW06Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDsgLyogcmFkaXVzIG1hdGNoZXMgLm14X0NvbnRleHR1YWxNZW51ICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiByb3VuZCB0aGUgYm90dG9tIGNvcm5lcnMgb2YgdGhlIGJvdHRvbSBidXR0b24gZm9yIHRoZSBob3ZlciBlZmZlY3QgdG8gYmUgYm91bmRlZCAqL1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDsgLyogcmFkaXVzIG1hdGNoZXMgLm14X0NvbnRleHR1YWxNZW51ICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiByb3VuZCBhbGwgY29ybmVycyBvZiB0aGUgb25seSBidXR0b24gZm9yIHRoZSBob3ZlciBlZmZlY3QgdG8gYmUgYm91bmRlZCAqL1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7IC8qIHJhZGl1cyBtYXRjaGVzIC5teF9Db250ZXh0dWFsTWVudSAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbSB7XHJcbiAgICAgICAgICAgIC8qIHBhZCB0aGUgaW5zaWRlIG9mIHRoZSBidXR0b24gc28gdGhhdCB0aGUgaG92ZXIgYmFja2dyb3VuZCBpcyBwYWRkZWQgdG9vICovXHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuXHJcbiAgICAgICAgICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggdG8gbW9yZSBlYXNpbHkgZGVmaW5lIHRoZSBsaXN0IGl0ZW1zICovXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktaG92ZXJlZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuLm14X0ljb25pemVkQ29udGV4dE1lbnVfbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgLyogbGFiZWxzICovXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcblxyXG4gICAgICAgICAgICAgICAgLyogRWxsaXBzaXplIGFueSB0ZXh0IG92ZXJmbG93ICovXHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICYgKyAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfQmV0YUNhcmRfYmV0YVBpbGwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdF9yZWQge1xyXG4gICAgICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X2l0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFsZXJ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbl9yZWQge1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfYWN0aXZlIHtcclxuICAgICAgICAmLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbSxcclxuICAgICAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0ljb25pemVkQ29udGV4dE1lbnVfY29tcGFjdCB7XHJcbiAgICAgICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdCA+ICoge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTZweCA4cHggMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnLm14X0ljb25pemVkQ29udGV4dE1lbnVfY2hlY2tlZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X3N1YmxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JY29uaXplZENvbnRleHRNZW51X2l0ZW0ubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtRGVzdHJ1Y3RpdmUge1xyXG4gICAgY29sb3I6ICRhbGVydCAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDIwLTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MZWdhY3lDYWxsQ29udGV4dE1lbnVfaXRlbSB7XHJcbiAgICB3aWR0aDogMjA1cHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBjZW50ZXI7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQsMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZURpYWxvZ193cmFwcGVyIHtcclxuICAgIC5teF9EaWFsb2cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZSB7XHJcbiAgICAubXhfU2VhcmNoQm94IHtcclxuICAgICAgICAvKiBUbyBtYXRjaCB0aGUgc3BhY2UgYXJvdW5kIHRoZSB0aXRsZSAqL1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9jb250ZW50IHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9ub1Jlc3VsdHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9zZWN0aW9uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gcHJvdmlkZXMgc3BhY2UgZm9yIHNjcm9sbGJhciBzbyB0aGF0IGNoZWNrYm94IGFuZCBzY3JvbGxiYXIgZG8gbm90IGNvbGxpZGVcclxuXHJcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9mb290ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgLm14X1Byb2dyZXNzQmFyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1peGluIFByb2dyZXNzQmFyQm9yZGVyUmFkaXVzIDhweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZURpYWxvZ19wcm9ncmVzc1RleHQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZXJyb3Ige1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcblxyXG4gICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZXJyb3JIZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Vycm9yQ2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDM2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nX3JldHJ5QnV0dG9uIHN2ZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nIHtcclxuICAgIHdpZHRoOiA0ODBweDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDgwdmg7XHJcblxyXG4gICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZSB7XHJcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TdWJzcGFjZVNlbGVjdG9yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAxNnB4IGF1dG8gNXB4O1xyXG4gICAgfVxyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgICA+IGgxIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMThweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Ryb3Bkb3duX2lucHV0IHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgID4gLm14X0Ryb3Bkb3duX29wdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgZmxleDogdW5zZXQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcblxyXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3Vic3BhY2VTZWxlY3Rvcl9kcm9wZG93bk9wdGlvbkFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TdWJzcGFjZVNlbGVjdG9yX29ubHlTcGFjZSB7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZW50cnkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcblxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgLyogQWxpZ24gY2hlY2tib3hlcy4gKi9cclxuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLyogd2UgY2FuJ3QgdGFyZ2V0IC5teF9CYXNlQXZhdGFyIGhlcmUgYXMgaXQnbGwgYnJlYWsgdGhlIGRlY29yYXRlZCBhdmF0YXIgc3R5bGluZyAqL1xyXG4gICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2VudHJ5X25hbWUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0FuYWx5dGljc0xlYXJuTW9yZURpYWxvZyB7XHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgLm14X0FuYWx5dGljc0xlYXJuTW9yZV9pbWFnZV9ob2xkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9yZXMvaW1nL2VsZW1lbnQtc2hpbnkuc3ZnXCIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcclxuICAgICAgICBoZWlnaHQ6IDExMnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BbmFseXRpY3NMZWFybk1vcmVfY29weSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZW51LWJvcmRlci1jb2xvcjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQW5hbHl0aWNzTGVhcm5Nb3JlX2J1bGxldHMge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BbmFseXRpY3NMZWFybk1vcmVfYnVsbGV0cyBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAwIDAgMzJweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgY29sb3I6ICMwZGJkOGI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQnVnUmVwb3J0RGlhbG9nIHtcclxuICAgIC5teF9CdWdSZXBvcnREaWFsb2dfZG93bmxvYWQge1xyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMThweDsgLyogU3BhY2UgYmV0d2VlbiBcIkRvd25sb2FkaW5nIGxvZ3MuLi5cIiAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTYgQXZpcmFsIERhc2d1cHRhXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9DaGFuZ2Vsb2dEaWFsb2dfY29udGVudCB7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4ubXhfQ2hhbmdlbG9nRGlhbG9nX2xpIHtcclxuICAgIHBhZGRpbmc6IDAuMmVtO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vKiBERVYgTk9URTogVGhpcyBzdHlsZXNoZWV0IGNvdmVycyBkaWFsb2dzIGxpc3RlZCBieSB0aGUgY29tcG91bmQsIGluY2x1ZGluZyAqL1xyXG4vKiBvdmVyIG11bHRpcGxlIFJlYWN0IGNvbXBvbmVudHMuIFRoZSBhY3R1YWwgaW5uZXIgY29udGVudHMgb2YgdGhlIGRpYWxvZyBzaG91bGQgKi9cclxuLyogYmUgaW4gdGhlaXIgcmVzcGVjdGl2ZSBzdHlsZXNoZWV0cy4gKi9cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi8qIE92ZXJyaWRlIGxlZ2FjeS9kZWZhdWx0IHN0eWxlcyBmb3IgZGlhbG9ncyAqL1xyXG4ubXhfRGlhbG9nX3dyYXBwZXIubXhfQ29tcG91bmREaWFsb2cgLm14X0RpYWxvZyB7XHJcbiAgICBwYWRkaW5nOiAwOyAvKiB3ZSdsbCBtYW5hZ2UgaXQgb3Vyc2VsdmVzICovXHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxufVxyXG5cclxuLm14X0NvbXBvdW5kRGlhbG9nIHtcclxuICAgIC5teF9EaWFsb2cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQ29tcG91bmREaWFsb2dfaGVhZGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAzMnB4IDMycHggMTZweCAzMnB4O1xyXG5cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwOyAvKiBtYW5hZ2VkIGJ5IGhlYWRlciBjbGFzcyAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfQ29tcG91bmREaWFsb2dfY2FuY2VsQnV0dG9uIHtcclxuICAgICAgICBAbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbjtcclxuICAgICAgICAvKiBBbGlnbiB3aXRoIGNvcm5lciByYWRpdXMgb2YgZGlhbG9nICovXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICByaWdodDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQ29tcG91bmREaWFsb2dfZm9ybSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQ29tcG91bmREaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDMycHg7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQ29tcG91bmREaWFsb2dfZm9vdGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDMycHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU2Nyb2xsYWJsZUJhc2VEaWFsb2cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgd2lkdGg6IDU0NHB4OyAvKiBmaXhlZCAqL1xyXG4gICAgaGVpZ2h0OiA1MTZweDsgLyogZml4ZWQgKi9cclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICBtYXgtaGVpZ2h0OiA4MCU7XHJcblxyXG4gICAgLm14X0NvbXBvdW5kRGlhbG9nX2Zvb3RlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IC00cHggNHB4IHJnYigwLCAwLCAwLCAwLjA1KTsgLyogaGFyZGNvZGVkIGNvbG91ciBmb3IgYm90aCB0aGVtZXMgKi9cclxuICAgICAgICB6LWluZGV4OiAxOyAvKiBuZWVkZWQgdG8gbWFrZSBmb290ZXIgJiBzaGFkb3cgYXBwZWFyIGFib3ZlIGRpYWxvZyBjb250ZW50ICovXHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Db25maXJtS2V5U3RvcmFnZU9mZkRpYWxvZyB7XHJcbiAgICAubXhfRGlhbG9nX2JvcmRlciB7XHJcbiAgICAgICAgd2lkdGg6IDYwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FbmNyeXB0aW9uQ2FyZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZ193cmFwcGVyIHtcclxuICAgIC5teF9EaWFsb2cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwYWRkaW5nOiAyNHB4IDMycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Db25maXJtU3BhY2VVc2VyQWN0aW9uRGlhbG9nIHtcclxuICAgIHdpZHRoOiA0NDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBoZWlnaHQ6IDUyMHB4O1xyXG5cclxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luOiAxMnB4IDA7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX3JlYXNvbkZpZWxkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Db25maXJtU3BhY2VVc2VyQWN0aW9uRGlhbG9nX3dhcm5pbmcge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xyXG5cclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IC00cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Db25maXJtVXNlckFjdGlvbkRpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQgLm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX3VzZXIge1xyXG4gICAgbWluLWhlaWdodDogNDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbn1cclxuXHJcbi5teF9Db25maXJtVXNlckFjdGlvbkRpYWxvZ19hdmF0YXIge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5teF9Db25maXJtVXNlckFjdGlvbkRpYWxvZ19uYW1lIHtcclxuICAgIHBhZGRpbmctdG9wOiAycHg7XHJcbiAgICBmb250LXNpemU6ICRmb250LTE4cHg7XHJcbn1cclxuXHJcbi5teF9Db25maXJtVXNlckFjdGlvbkRpYWxvZ191c2VySWQge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xM3B4O1xyXG59XHJcblxyXG4ubXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dfcmVhc29uRmllbGQge1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE3IE1pY2hhZWwgVGVsYXR5bnNraSA8N3QzY2hndXlAZ21haWwuY29tPlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19kZXRhaWxzIHtcclxuICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcblxyXG4gICAgLm14X0NyZWF0ZVJvb21EaWFsb2dfZGV0YWlsc19zdW1tYXJ5IHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG5cclxuICAgICAgICAvKiBsaXN0LXN0eWxlIGRvZXNuJ3QgZG8gaXQgZm9yIHdlYmtpdCAqL1xyXG4gICAgICAgICY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoOmZvY3VzLXZpc2libGUpIHtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0NyZWF0ZVJvb21EaWFsb2dfbGFiZWwge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19pbnB1dF9jb250YWluZXIge1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxufVxyXG5cclxuLm14X0NyZWF0ZVJvb21EaWFsb2dfaW5wdXQge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICAgIHBhZGRpbmc6IDlweDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm14X0NyZWF0ZVJvb21EaWFsb2dfYWxpYXNDb250YWluZXIge1xyXG4gICAgLyogbmVlZGVkIHRvIG1ha2UgdGhlIGFsaWFzIGZpZWxkIG9ubHkgZ3JvdyBhcyB3aWRlIGFzIG5lZWRlZCBhcyBvcHBvc2VkIHRvIGZ1bGwgd2lkdGggKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5teF9DcmVhdGVSb29tRGlhbG9nIHtcclxuICAgICYubXhfRGlhbG9nX2ZpeGVkV2lkdGgge1xyXG4gICAgICAgIHdpZHRoOiA0NTBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcCxcclxuICAgIC5teF9GaWVsZF9pbnB1dCBsYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2V0dGluZ3NGbGFnIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXR0aW5nc0ZsYWdfbGFiZWwge1xyXG4gICAgICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVG9nZ2xlU3dpdGNoIHtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2NvbnRlbnQgPiAubXhfU2V0dGluZ3NGbGFnIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9GaWVsZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDAgODVweCAwIDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQ3JlYXRlUm9vbURpYWxvZ19sYWJlbGxlZENoZWNrYm94IHtcclxuICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI2IEVsZW1lbnQgQ3JlYXRpb25zIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X0NyZWF0ZVNlY3Rpb25EaWFsb2cge1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG5cclxuICAgICYubXhfRGlhbG9nX2ZpeGVkV2lkdGgge1xyXG4gICAgICAgIC8qIDU3NnB4IGNvbWluZyBmcm9tIEZpZ21hIGFuZCByZW1vdmUgZXh0ZXJuYWwgcGFkZGluZyAqL1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1NzZweCAtIHZhcigtLWNwZC1zcGFjZS0yMHgpKTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQ3JlYXRlU2VjdGlvbkRpYWxvZ19jb250ZW50IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzNDZweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQ3JlYXRlU2VjdGlvbkRpYWxvZ19mb3JtIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nX3dyYXBwZXIge1xyXG4gICAgLm14X0RpYWxvZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2cge1xyXG4gICAgd2lkdGg6IDQ4MHB4O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuXHJcbiAgICAubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG5cclxuICAgICAgICAubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfYmV0YU5vdGljZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgLm14X0JldGFDYXJkX2JldGFQaWxsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0pvaW5SdWxlRHJvcGRvd24gKyBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfZm9vdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG4gICAgICAgIC5teF9DcmVhdGVTdWJzcGFjZURpYWxvZ19mb290ZXJfcHJvbXB0IHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDM2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfQ3J5cHRvIHtcclxuICAgIHRhYmxlIHtcclxuICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS00eCkgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIDA7XHJcblxyXG4gICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1zZW1pYm9sZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EZWFjdGl2YXRlQWNjb3VudERpYWxvZyAubXhfRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLm14X0RlYWN0aXZhdGVBY2NvdW50RGlhbG9nIC5teF9EZWFjdGl2YXRlQWNjb3VudERpYWxvZ19pbnB1dF9zZWN0aW9uIC5teF9GaWVsZCB7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE3IE1pY2hhZWwgVGVsYXR5bnNraSA8N3QzY2hndXlAZ21haWwuY29tPlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGV2dG9vbHNEaWFsb2dfd3JhcHBlciB7XHJcbiAgICAubXhfRGlhbG9nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ19maXhlZFdpZHRoIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAubXhfRGlhbG9nX2J1dHRvbnMgYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RldlRvb2xzX3RvZ2dsZUZvcm0ge1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0RldlRvb2xzX3Rvb2xIZWFkaW5nIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1zZW1pYm9sZCk7XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19jb250ZW50IHtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19Sb29tU3RhdGVFeHBsb3Jlcl9xdWVyeSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfYnV0dG9uIHtcclxuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfUm9vbVN0YXRlRXhwbG9yZXJfYnV0dG9uX2hhc1NwYWNlcyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLm14X0RldlRvb2xzX2J1dHRvbi5teF9EZXZUb29sc19Sb29tU3RhdGVFeHBsb3Jlcl9idXR0b25fZW1wdHlTdHJpbmcge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfbGFiZWxfbGVmdCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLm14X0RldlRvb2xzX2xhYmVsX3JpZ2h0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLm14X0RldlRvb2xzX2xhYmVsX2JvdHRvbSB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfaW5wdXRSb3cge1xyXG4gICAgZGlzcGxheTogdGFibGUtcm93O1xyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfaW5wdXRMYWJlbENlbGwge1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcclxufVxyXG5cclxuLm14X0RldlRvb2xzX3RleHRhcmVhIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIG1heC13aWR0aDogNjg0cHg7XHJcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19ldmVudFR5cGVTdGF0ZUtleUdyb3VwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19jb250ZW50IC5teF9GaWVsZF9pbnB1dDpmaXJzdC1vZi10eXBlIHtcclxuICAgIG1hcmdpbi1yaWdodDogNDJweDtcclxufVxyXG5cclxuLm14X0RldlRvb2xzX1ZlcmlmaWNhdGlvblJlcXVlc3Qge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIHBhZGRpbmc6IDFweCA1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICBmb250LWZhbWlseTogJG1vbm9zcGFjZS1mb250LWZhbWlseTtcclxuXHJcbiAgICBkbCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1heC1jb250ZW50IGF1dG87XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGRkIHtcclxuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcclxuICAgIH1cclxuXHJcbiAgICBkZDplbXB0eSB7XHJcbiAgICAgICAgY29sb3I6ICM2NjY2NjY7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIihlbXB0eSlcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZHQge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIGR0OjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCI6XCI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyIHtcclxuICAgIHRhYmxlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgLyogQ29sb3VyIGNob2ljZTogZmlyc3Qgb25lIGF1dG9jb21wbGV0ZSBnYXZlIG1lLiAqL1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFjY2VudDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkLFxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgd2lkdGg6IDM2MHB4OyAvKiBcImZlZWxzIHJpZ2h0XCIgbnVtYmVyICovXHJcblxyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkICsgdGQsXHJcbiAgICAgICAgdGggKyB0aCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdHI6aG92ZXIge1xyXG4gICAgICAgICAgICAvKiBDb2xvdXIgY2hvaWNlOiBmaXJzdCBvbmUgYXV0b2NvbXBsZXRlIGdhdmUgbWUuICovXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyX211dGFibGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RldlRvb2xzX1NldHRpbmdzRXhwbG9yZXJfaW1tdXRhYmxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RldlRvb2xzX1NldHRpbmdzRXhwbG9yZXJfZWRpdCB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3Jlcl93YXJuaW5nIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYWxlcnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDRweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyX3NldHRpbmcge1xyXG4gICAgLyogb3ZlcnJpZGUgZGVmYXVsdCBsaW5rIGJ1dHRvbiBjb2xvciAqL1xyXG4gICAgLyogYXMgaXQgaXMgdGhlIHNhbWUgYXMgdGhlIGJhY2tncm91bmQgaGlnaGxpZ2h0ICovXHJcbiAgICAvKiB1c2VkIG9uIGZvY3VzICovXHJcbiAgICBjb2xvcjogJGxpbmtzICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19zdGlja3lfZXhwbG9yZXIge1xyXG4gICAgdGFibGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG5cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoI3VzZXJfaGVhZGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDM1JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGgjc3RpY2t5X2tleV9oZWFkZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aCNleHBpcmVzX2luX2hlYWRlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LWhvdmVyZWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdHI6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMikgc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkLnJlbWFpbmluZ190aW1lX2NvbHVtbiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCwyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRXhwb3J0RGlhbG9nIHtcclxuICAgIC5teF9FeHBvcnREaWFsb2dfc3ViaGVhZGluZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMThweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfRXhwb3J0RGlhbG9nX0V4cG9ydGluZyB7XHJcbiAgICAgICAgLm14X0V4cG9ydERpYWxvZ19vcHRpb25zIHtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRmllbGRfc2VsZWN0OjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgZGl2ID4gZGl2IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgZGl2IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB1bnNldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9GaWVsZF92YWxpZC5teF9GaWVsZCBsYWJlbCxcclxuICAgICAgICAubXhfRmllbGRfdmFsaWQubXhfRmllbGQ6Zm9jdXMtd2l0aGluIGxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ZpZWxkX3ZhbGlkLm14X0ZpZWxkLFxyXG4gICAgICAgIC5teF9GaWVsZF92YWxpZC5teF9GaWVsZDpmb2N1cy13aXRoaW4ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9FeHBvcnREaWFsb2dfcHJvZ3Jlc3Mge1xyXG4gICAgICAgIC5teF9EaWFsb2dfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMThweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGlubmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICBmbGV4OiB1bnNldDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b24gPiAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRmllbGQge1xyXG4gICAgICAgIHdpZHRoOiAyNTZweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRmllbGRfcG9zdGZpeCB7XHJcbiAgICAgICAgcGFkZGluZzogOXB4IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FeHBvcnREaWFsb2dfYXR0YWNobWVudHMtY2hlY2tib3gge1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTY7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9GZWVkYmFja0RpYWxvZyB7XHJcbiAgICBociB7XHJcbiAgICAgICAgbWFyZ2luOiAyNHB4IDA7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuXHJcbiAgICAgICAgPiBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9GZWVkYmFja0RpYWxvZ19zZWN0aW9uIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCA1MnB4IDEycHggNjhweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuXHJcbiAgICAgICAgJiArIC5teF9GZWVkYmFja0RpYWxvZ19zZWN0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gaDMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgbWFyZ2luOiA4cHggMCAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ZlZWRiYWNrRGlhbG9nX3NlY3Rpb25fbWljcm9jb3B5IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEsXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gc3ZnIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAxNnB4O1xyXG4gICAgICAgICAgICB0b3A6IDEycHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcclxuICAgICAgICAgICAgY29sb3I6ICRhdmF0YXItaW5pdGlhbC1jb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRmVlZGJhY2tEaWFsb2dfcmF0ZUFwcCB7XHJcbiAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjpcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSAxcyxcclxuICAgICAgICAgICAgICAgIGJvcmRlciAwLjVzO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBkaXYge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGljb24tYnV0dG9uLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX3NwYWNlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmICsgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fY2hlY2tlZCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBSb2JpbiBUb3duc2VuZCA8cm9iaW5Acm9iaW4udG93bj5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ZvcndhcmREaWFsb2cge1xyXG4gICAgd2lkdGg6IDUyMHB4O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuICAgIGhlaWdodDogODB2aDtcclxuXHJcbiAgICA+IGgzIHtcclxuICAgICAgICBtYXJnaW46IDAgMCA2cHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgPiAubXhfRm9yd2FyZERpYWxvZ19wcmV2aWV3IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzMCU7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFdoZW4gZm9yd2FyZGluZyBtZXNzYWdlcyBmcm9tIGVuY3J5cHRlZCByb29tcywgRXZlbnRUaWxlIHdpbGwgY29tcGxhaW4gKi9cclxuICAgICAgICAvKiB0aGF0IG91ciBwcmV2aWV3IGlzIHVuZW5jcnlwdGVkLCB3aGljaCBkb2Vzbid0IGFjdHVhbGx5IG1hdHRlciAqL1xyXG4gICAgICAgIC8qIFdlIGFsc28gaGlkZSBkb3dubG9hZCBsaW5rcyB0byBub3QgZW5jb3VyYWdlIHVzZXJzIHRvIHRyeSBpbnRlcmFjdGluZyAqL1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uLFxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbixcclxuICAgICAgICAubXhfTUZpbGVCb2R5IFtkYXRhLXR5cGU9XCJkb3dubG9hZFwiXSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gaHIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICAgICAgICBtYXJnaW46IDEycHggMDtcclxuICAgIH1cclxuXHJcbiAgICA+IC5teF9Gb3J3YXJkTGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XHJcblxyXG4gICAgICAgIC5teF9TZWFyY2hCb3gge1xyXG4gICAgICAgICAgICAvKiBUbyBtYXRjaCB0aGUgc3BhY2UgYXJvdW5kIHRoZSB0aXRsZSAqL1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcclxuXHJcbiAgICAgICAgICAgICY6bm90KDpmb2N1cy13aXRoaW4pICsgLm14X0ZvcndhcmRMaXN0X2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgLyogSW5oaWJpdCB0aGUgc3R5bGluZyBpZiBmb2N1cyBpcyBub3Qgd2l0aGluIHRoZSBpbnB1dCB3aGljaCBoYW5kbGVzIGtleWJvYXJkIGFjY2Vzc2liaWxpdHkgKi9cclxuICAgICAgICAgICAgICAgIC0tbXhfRm9yd2FyZExpc3RfZW50cnlfc2VsZWN0ZWRCZ0NvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ZvcndhcmRMaXN0X2NvbnRlbnQge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRm9yd2FyZExpc3Rfbm9SZXN1bHRzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRm9yd2FyZExpc3RfcmVzdWx0cyB7XHJcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0ZvcndhcmRMaXN0X3Jlc3VsdHNMaXN0IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0ZvcndhcmRMaXN0X2VudHJ5IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICYubXhfRm9yd2FyZExpc3RfZW50cnlfYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1teF9Gb3J3YXJkTGlzdF9lbnRyeV9zZWxlY3RlZEJnQ29sb3IsICRzcGFjZVBhbmVsLWJnLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfRm9yd2FyZExpc3Rfcm9vbUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9Gb3J3YXJkTGlzdF9lbnRyeV9uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9Gb3J3YXJkTGlzdF9lbnRyeV9kZXRhaWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfRm9yd2FyZExpc3RfZW50cnlfbmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9Gb3J3YXJkTGlzdF9lbnRyeV9kZXRhaWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0ZvcndhcmRMaXN0X3NlbmRCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoLm14X0ZvcndhcmRMaXN0X2NhblNlbmQpIC5teF9Gb3J3YXJkTGlzdF9zZW5kTGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBIaWRlIHRoZSBcIlNlbmRcIiBsYWJlbCB3aGlsZSBwcmVzZXJ2aW5nIGJ1dHRvbiBzaXplICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYgPiBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogTWF0Y2ggdGhlIGZhaWxlZCB0byBzZW5kIGluZGljYXRvcidzIGNvbG9yIHdpdGggdGhlIGRpc2FibGVkIGJ1dHRvbiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1kaXNhYmxlZC1mZy1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9HZW5lcmljRmVhdHVyZUZlZWRiYWNrRGlhbG9nIHtcclxuICAgIC5teF9HZW5lcmljRmVhdHVyZUZlZWRiYWNrRGlhbG9nX3N1YmhlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSW5jb21pbmdTYXNEaWFsb2dfb3Bwb25lbnRQcm9maWxlX2ltYWdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLm14X0luY29taW5nU2FzRGlhbG9nX29wcG9uZW50UHJvZmlsZSBoMiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTksIDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ludml0ZURpYWxvZ19mbGV4V3JhcHBlciAubXhfRGlhbG9nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX3RyYW5zZmVyV3JhcHBlciAubXhfRGlhbG9nIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy0xNjtcclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ19hZGRyZXNzQmFyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgLyogUmlnaHQgbWFyZ2luIGZvciB0aGUgZGVzaWduLiBXZSBjb3VsZCBhcHBseSB0aGlzIHRvIHRoZSB3aG9sZSBkaWFsb2csIGJ1dCB0aGVuIHRoZSBzY3JvbGxiYXIgKi9cclxuICAgIC8qIGZvciB0aGUgdXNlciBzZWN0aW9uIGdldHMgd2VpcmQuICovXHJcbiAgICBtYXJnaW46ICRzcGFjaW5nLTggNDVweCAwIDA7XHJcblxyXG4gICAgLm14X0ludml0ZURpYWxvZ19lZGl0b3Ige1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSW52aXRlRGlhbG9nX2dvQnV0dG9uIHtcclxuICAgICAgICBtaW4td2lkdGg6IDg2cHg7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMTBweDtcclxuICAgICAgICBoZWlnaHQ6IDQxcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JbnZpdGVEaWFsb2dfc2VjdGlvbiB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctNDtcclxuXHJcbiAgICAubXhfSW52aXRlRGlhbG9nX3NlY3Rpb25fc2hvd01vcmUge1xyXG4gICAgICAgIG1hcmdpbjogN3B4IDE4cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JbnZpdGVEaWFsb2dfc2VjdGlvbl9oaWRkZW5fc3VnZ2VzdGlvbnNfZGlzY2xhaW1lciB7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy04IDAgJHNwYWNpbmctMTYgMDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcblxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxuXHJcbiAgICA+IHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ19mb290ZXIge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XHJcblxyXG4gICAgPiBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0xMiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NvcHlhYmxlVGV4dC5teF9Db3B5YWJsZVRleHRfYm9yZGVyIHtcclxuICAgICAgICB3aWR0aDogdW5zZXQ7IC8qIGZ1bGwgd2lkdGggKi9cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JbnZpdGVEaWFsb2dfb3RoZXIge1xyXG4gICAgLyogUHJldmVudCB0aGUgZGlhbG9nIGZyb20ganVtcGluZyBhcm91bmQgcmFuZG9tbHkgd2hlbiBlbGVtZW50cyBjaGFuZ2UuICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGhlaWdodDogNjAwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSW52aXRlRGlhbG9nX2FkZHJlc3NCYXIge1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9JbnZpdGVEaWFsb2dfdXNlclNlY3Rpb25zIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuXHJcbiAgICAgICAgLm14X0ludml0ZURpYWxvZ19zZWN0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIC5teF9JbnZpdGVQcm9ncmVzc0JvZHkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0xMngpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX3RyYW5zZmVyIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgIC5teF9JbnZpdGVEaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IDQ5NnB4O1xyXG4gICAgICAgIGhlaWdodDogNDMwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gICAgICAgIC5teF9UYWJiZWRWaWV3IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFiUGFuZWxDb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ludml0ZURpYWxvZ19hZGRyZXNzQmFyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRzcGFjaW5nLTg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JbnZpdGVEaWFsb2dfdXNlclNlY3Rpb25zIHtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwIDQ1cHggJHNwYWNpbmctNCAwO1xyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX2hlbHBUZXh0IHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ19kaWFsUGFkIHtcclxuICAgIHdpZHRoOiAyMjRweDtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTE2O1xyXG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcclxuXHJcbiAgICAubXhfSW52aXRlRGlhbG9nX2RpYWxQYWRGaWVsZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICBib3JkZXItaW5saW5lOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICY6Zm9jdXMtd2l0aGluIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9GaWVsZF9wb3N0Zml4IHtcclxuICAgICAgICAgICAgLyogUmVtb3ZlIGJvcmRlciBzZXBhcmF0b3IgYmV0d2VlbiBwb3N0Zml4IGFuZCBmaWVsZCBjb250ZW50ICovXHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbFBhZCB7XHJcbiAgICAgICAgcm93LWdhcDogJHNwYWNpbmctMTY7XHJcbiAgICAgICAgY29sdW1uLWdhcDogNDhweDtcclxuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX3RyYW5zZmVyQ29uc3VsdENvbm5lY3Qge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTE2O1xyXG4gICAgLyogVGhpcyB3YW50cyBhIGRyb3Agc2hhZG93IHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBkaWFsb2csIHNvIHVzZSBuZWdhdGl2ZSBtYXJnaW4gdG8gbWFrZSBpdCBmdWxsIHdpZHRoLFxyXG4gICAgICogdGhlbiBjb21wZW5zYXRlIHdpdGggcGFkZGluZ1xyXG4gICAgICovXHJcbiAgICBwYWRkaW5nLWlubGluZTogJHNwYWNpbmctMjQ7XHJcbiAgICBtYXJnaW4taW5saW5lOiBjYWxjKC0xICogJHNwYWNpbmctMjQpO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX3RyYW5zZmVyQ29uc3VsdENvbm5lY3RfcHVzaFJpZ2h0IHtcclxuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XHJcbn1cclxuXHJcbi5teF9JbnZpdGVEaWFsb2dfdGlsZSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAkc3BhY2luZy04ICRzcGFjaW5nLTEyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAmLm14X0ludml0ZURpYWxvZ190aWxlLS1pbnZpdGVyRXJyb3Ige1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWF4LWNvbnRlbnQgYXV0bzsgLyogbWF4LWNvbnRlbnQgPSBhdmF0YXIgd2lkdGggKi9cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0yNDtcclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfdGlsZS0taW52aXRlckVycm9yX2Vycm9yVGV4dCB7XHJcbiAgICAgICAgICAgIGdyaWQtcm93LXN0YXJ0OiAyO1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcclxuXHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgKiB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSW52aXRlRGlhbG9nX3RpbGVfYXZhdGFyU3RhY2sge1xyXG4gICAgICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGdyaWQtcm93LXN0YXJ0OiAxO1xyXG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xyXG5cclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfSW52aXRlRGlhbG9nX3RpbGVfbmFtZVN0YWNrIHtcclxuICAgICAgICBncmlkLXJvdy1zdGFydDogMTtcclxuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcclxuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIGdhcDogMnB4IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgLm14X0ludml0ZURpYWxvZ190aWxlX25hbWVTdGFja19uYW1lLFxyXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2tfdXNlcklkIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2tfbmFtZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ludml0ZURpYWxvZ190aWxlX25hbWVTdGFja191c2VySWQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX211bHRpSW52aXRlckVycm9yIHtcclxuICAgID4gaDQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JbnZpdGVEaWFsb2dfaWRlbnRpdHlTZXJ2ZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMWVtO1xyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX29uZVRocmVlcGlkIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIG1hcmdpbjogJHNwYWNpbmctOCAwO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSW52aXRlUHJvZ3Jlc3NCb2R5IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbGctcmVndWxhcik7XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0pvaW5SdWxlRHJvcGRvd24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICAgIC5teF9Ecm9wZG93bl9vcHRpb24ge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTMycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMycHg7XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtMS01eCk7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0xLTV4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5teF9Kb2luUnVsZURyb3Bkb3duX2tub2NrOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Kb2luUnVsZURyb3Bkb3duX2ljb24ge1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDZweDtcclxuICAgICAgICB0b3A6IDhweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xlYXZlU3BhY2VEaWFsb2dfd3JhcHBlciB7XHJcbiAgICAubXhfRGlhbG9nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZzogMjRweCAzMnB4O1xyXG5cclxuICAgICAgICAubXhfTGVhdmVTcGFjZURpYWxvZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0NDBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTIwcHg7XHJcblxyXG4gICAgICAgICAgICAubXhfRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICAubXhfTGVhdmVTcGFjZURpYWxvZ19zZWN0aW9uX3dhcm5pbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEycHggMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xvY2F0aW9uVmlld0RpYWxvZ193cmFwcGVyIC5teF9EaWFsb2cge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG59XHJcblxyXG4ubXhfTG9jYXRpb25WaWV3RGlhbG9nIHtcclxuICAgIC8qIHN1YnRyYWN0IDAuNXB4IHRvIHByZXZlbnQgc2luZ2xlLXBpeGVsIG1hcmdpbiBkdWUgdG8gcm91bmRpbmcgKi9cclxuICAgIHdpZHRoOiBjYWxjKDgwdncgLSAwLjVweCk7XHJcbiAgICBoZWlnaHQ6IGNhbGMoODB2aCAtIDAuNXB4KTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgLm14X0RpYWxvZ19oZWFkZXIge1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XHJcblxyXG4gICAgICAgIC5teF9EaWFsb2dfdGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2NhbmNlbEJ1dHRvbiB7XHJcbiAgICAgICAgei1pbmRleDogNDAxMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICB0b3A6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Mb2NhdGlvblZpZXdEaWFsb2dfbWFwIHtcclxuICAgIHdpZHRoOiA4MHZ3O1xyXG4gICAgaGVpZ2h0OiA4MHZoO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBNYW5hbiBTYWRhbmEgPG1hbmFuY29kZXMuZGV2QGdtYWlsLmNvbT5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xvZ291dERpYWxvZyB7XHJcbiAgICB3aWR0aDogMjZyZW07XHJcblxyXG4gICAgLm14X0VuY3J5cHRpb25DYXJkIHtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm14X0VuY3J5cHRpb25DYXJkX2VtcGhhc2lzZWRDb250ZW50IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMTJ4KTtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQsMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ193cmFwcGVyIHtcclxuICAgIC5teF9EaWFsb2cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZyB7XHJcbiAgICB3aWR0aDogNDgwcHg7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgaGVpZ2h0OiA2MHZoO1xyXG5cclxuICAgIC5teF9TZWFyY2hCb3gge1xyXG4gICAgICAgIC8qIFRvIG1hdGNoIHRoZSBzcGFjZSBhcm91bmQgdGhlIHRpdGxlICovXHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX25vUmVzdWx0cyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX3NlY3Rpb24ge1xyXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2VudHJ5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuXHJcbiAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19lbnRyeV9uYW1lIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA4cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfZW50cnlfZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19zZWN0aW9uX3NwYWNlcyB7XHJcbiAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfc2VjdGlvbl9pbmZvIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTJweCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xyXG5cclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfZm9vdGVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgICAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2Zvb3Rlcl9idXR0b25zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuXHJcbiAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgICAgICAgICAmICsgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWVzc2FnZUVkaXRIaXN0b3J5RGlhbG9nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWF4LWhlaWdodDogNjB2aDtcclxufVxyXG5cclxuLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZ19zY3JvbGxQYW5lbCB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxufVxyXG5cclxuLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZ19lcnJvciB7XHJcbiAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfTWVzc2FnZUVkaXRIaXN0b3J5RGlhbG9nX2VkaXRzIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgLm14X0VkaXRIaXN0b3J5TWVzc2FnZV9lbW90ZVNlbmRlciB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ubXhfRWRpdEhpc3RvcnlNZXNzYWdlX2RlbGV0aW9uLFxyXG4gICAgc3Bhbi5teF9FZGl0SGlzdG9yeU1lc3NhZ2VfaW5zZXJ0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAwcHggMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FZGl0SGlzdG9yeU1lc3NhZ2VfZGVsZXRpb24ge1xyXG4gICAgICAgIGNvbG9yOiByZ2IoMjU1LCA3NiwgODUpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDc2LCA4NSwgMC4xKTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRWRpdEhpc3RvcnlNZXNzYWdlX2luc2VydGlvbiB7XHJcbiAgICAgICAgY29sb3I6IHJnYigyNiwgMTY5LCAxMjMpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNiwgMTY5LCAxMjMsIDAuMSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogRW11bGF0ZSBteF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAqL1xyXG4gICAgLm14X0V2ZW50VGlsZSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcblxyXG4gICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1ibG9jay1zdGFydCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWJsb2NrLWVuZCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtbGluZS1oZWlnaHQpO1xyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgICAgICBib3R0b206IC0xcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xyXG4gICAgICAgICAgICByaWdodDogLTEwcHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRldmVudGJ1YmJsZS1iZy1ob3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfSGlzdG9yeUFjdGlvbkJhciB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9IaXN0b3J5QWN0aW9uQmFyIFtkYXRhLXByZXNlbnRhdGlvbj1cImxhYmVsXCJdIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjRweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTW9kYWxXaWRnZXREaWFsb2cge1xyXG4gICAgLm14X01vZGFsV2lkZ2V0RGlhbG9nX3dhcm5pbmcge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcblxyXG4gICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Nb2RhbFdpZGdldERpYWxvZ19idXR0b25zIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24gKyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmcmFtZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA0NTBweDtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUG9sbENyZWF0ZURpYWxvZyB7XHJcbiAgICAubXhfUG9sbENyZWF0ZURpYWxvZ19idXN5IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG92ZXJsYXktYmFja2dyb3VuZDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKG4gKyAyKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1BvbGxDcmVhdGVEaWFsb2dfb3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTFweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyAvKiAxMXB4IGZyb20gdGhlIHRvcCB3aWxsIGNvbGxhcHNlLCBzbyB0aGlzIGNyZWF0ZXMgYSAxNnB4IGdhcCBiZXR3ZWVuIG9wdGlvbnMgKi9cclxuXHJcbiAgICAgICAgLm14X0ZpZWxkIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1BvbGxDcmVhdGVEaWFsb2dfcmVtb3ZlT3B0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Qb2xsQ3JlYXRlRGlhbG9nX2FkZE9wdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyAvKiBhcmJpdHJhcnkgdG8gY3JlYXRlIHNjcm9sbGFibGUgYXJlYSB1bmRlciB0aGUgcG9sbCAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9SZWdpc3RyYXRpb25FbWFpbFByb21wdERpYWxvZyB7XHJcbiAgICB3aWR0aDogNDE3cHg7XHJcblxyXG4gICAgLm14X0RpYWxvZ19jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX3ByaW1hcnkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI2IEVsZW1lbnQgQ3JlYXRpb25zIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X1JlbW92ZVNlY3Rpb25EaWFsb2cge1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUmVwb3J0Um9vbURpYWxvZyxcclxuLm14X0RlY2xpbmVBbmRCbG9ja0ludml0ZURpYWxvZyB7XHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIH1cclxuXHJcbiAgICAvKlxyXG4gICAgICBXb3JrYXJvdW5kIHRvIGZpeCBsYWJlbHMgYXBwZWFyaW5nIHdpdGggdGhlIHdyb25nIGNvbG9yLlxyXG5cclxuICAgICAgLm14X0RpYWxvZyAoaW4gcmVzL2Nzcy9fY29tbW9uLnBjc3MpIHJlZGVmaW5lcyB0aGUgYm9keSBjb2xvclxyXG4gICAgICBhcyAkbGlnaHQtZmctY29sb3IgcmF0aGVyIHRoYW4gdGhlIHN0YW5kYXJkIHByaW1hcnkgY29sb3IuXHJcblxyXG4gICAgICBUaGlzIGZvcmNlcyB0aGUgY29sb3VyIHRvIG1hdGNoIHRoZSBDb21wb3VuZCBzdHlsZSwgYnV0XHJcbiAgICAgIGluIHRoZSBmdXR1cmUgdGhlIERpYWxvZ3Mgc2hvdWxkIG5vdCBmb3JjZSBhIGNvbG9yLlxyXG4gICAgKi9cclxuICAgIGZvcm0gbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0RlY2xpbmVBbmRCbG9ja0ludml0ZURpYWxvZyB7XHJcbiAgICBkaXZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gPiBsYWJlbCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzRmxhZ19sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tU2V0dGluZ3NEaWFsb2cgLm14X0RpYWxvZ190aXRsZSB7XHJcbiAgICAtbXMtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nX0JyaWRnZUxpc3Qge1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cclxuICAgICAgICAmLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0X2xpc3RJdGVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxuXHJcbiAgICAgICAgICAgIC8qIGJvcmRlci1zdHlsZSBhcm91bmQgZWFjaCBicmlkZ2UgbGlzdCBpdGVtICovXHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG5cclxuICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5faWNvbiB7XHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3Byb3RvY29sSWNvbixcclxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfcHJvdG9jb2xJY29uIHNwYW4sXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX25vUHJvdG9jb2xJY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtZGFya2VyLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfbm9Qcm90b2NvbEljb24sXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3Byb3RvY29sSWNvbiBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX25vUHJvdG9jb2xJY29uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDhweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGlucHV0LWRhcmtlci1iZy1jb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3Byb3RvY29sSWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIENvcnJlY3QgbGV0dGVyIHBsYWNlbWVudCAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODUlO1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfZGV0YWlscyxcclxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfbWV0YWRhdGEsXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhX21ldGFkYXRhIGxpLFxyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YV9wcm90b2NvbE5hbWUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YV9kZXRhaWxzLFxyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YV9tZXRhZGF0YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhX21ldGFkYXRhIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfcHJvdG9jb2xOYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZwdDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3dvcmtzcGFjZV9jaGFubmVsX2RldGFpbHMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NoYW5uZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfbWV0YWRhdGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbVVwZ3JhZGVEaWFsb2cge1xyXG4gICAgcGFkZGluZy1yaWdodDogNzBweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTktMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nIHtcclxuICAgIG1heC13aWR0aDogMzh2dztcclxuICAgIHdpZHRoOiAzOHZ3O1xyXG5cclxuICAgIC5teF9Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2dfcHJvZ3Jlc3Mge1xyXG4gICAgICAgIC5teF9Qcm9ncmVzc0JhciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIEBtaXhpbiBQcm9ncmVzc0JhckJvcmRlclJhZGl1cyA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nX3Byb2dyZXNzVGV4dCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nIC5teF9TZXR0aW5nc0ZsYWcge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcbiAgICAubXhfVG9nZ2xlU3dpdGNoIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NlcnZlck9mZmxpbmVEaWFsb2cge1xyXG4gICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogODVweDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuXHJcbiAgICAgICAgaHIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTZweDtcclxuXHJcbiAgICAgICAgICAgIGxpOm50aC1jaGlsZChuICsgMikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0IHtcclxuICAgICAgICAgICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0X3RpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTE1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7IC8qIHNhbWUgYXMgYXZhdGFyICovXHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHRfdGltZWxpbmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1NXB4KTsgLyogMTE1cHggdGltZXN0YW1wIHdpZHRoICsgNDBweCByaWdodCBtYXJnaW4gKi9cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfU2VydmVyT2ZmbGluZURpYWxvZ19jb250ZW50X2NvbnRleHRfdGltZWxpbmVfaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0X3R4biB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0X3R4bl9kZXNjIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTsgLyogMTAwcHggaXMgYW4gYXJiaXRyYXJ5IG1hcmdpbiBmb3IgdGhlIGJ1dHRvbiAqL1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2VydmVyUGlja2VyRGlhbG9nIHtcclxuICAgIHdpZHRoOiA0NjhweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgLm14X0RpYWxvZ19jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICA+IHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luOiAxNnB4IDA7XHJcblxyXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDI0cHggMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTZweCAwIDE2cHggOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXJ2ZXJQaWNrZXJEaWFsb2dfb3RoZXJIb21lc2VydmVyUmFkaW8ge1xyXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGRpdiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXJ2ZXJQaWNrZXJEaWFsb2dfb3RoZXJIb21lc2VydmVyIHtcclxuICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB1bnNldDtcclxuXHJcbiAgICAgICAgPiBpbnB1dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIDhweDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDE4cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXRFbWFpbERpYWxvZ19lbWFpbF9pbnB1dCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgcGFkZGluZzogOXB4O1xyXG4gICAgY29sb3I6ICRpbnB1dC1mZy1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLm14X1NldEVtYWlsRGlhbG9nX2VtYWlsX2lucHV0OmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKiBOb3QgYWN0dWFsbHkgYSBjb21wb25lbnQgYnV0IHRoaW5ncyBzaGFyZWQgYnkgc2V0dGluZ3MgY29tcG9uZW50cyAqL1xyXG4ubXhfVXNlclNldHRpbmdzRGlhbG9nLFxyXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nLFxyXG4ubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyxcclxuLm14X1NwYWNlUHJlZmVyZW5jZXNEaWFsb2cge1xyXG4gICAgd2lkdGg6IDkwdnc7XHJcbiAgICBtYXgtd2lkdGg6IDk4MHB4O1xyXG4gICAgLyogc2V0IHRoZSBoZWlnaHQgdG9vIHNpbmNlIHRhYmJlZCB2aWV3IHNjcm9sbHMgaXRzZWxmLiAqL1xyXG4gICAgaGVpZ2h0OiA4MHZoO1xyXG5cclxuICAgIC5teF9UYWJiZWRWaWV3IHtcclxuICAgICAgICB0b3A6IDkwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RhYmJlZFZpZXcgLm14X1NldHRpbmdzVGFiIHtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIG1pbi13aWR0aDogNTgwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAvKiBQdXQgc29tZSBwYWRkaW5nIG9uIHRoZSBib3R0b20gdG8gYXZvaWQgdGhlIHNldHRpbmdzIHRhYiBmcm9tICovXHJcbiAgICAgICAgLyogY29sbGlkaW5nIGhhcnNobHkgd2l0aCB0aGUgZGlhbG9nIHdoZW4gc2Nyb2xsZWQgZG93bi4gKi9cclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzRGlhbG9nX3RhYkxhYmVsc0FsZXJ0OjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgICAgICBjbGlwLXBhdGg6IGNpcmNsZSg0cHgpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIH1cclxufVxyXG5cclxuLyogT24gbmFycm93IHZpZXdwb3J0cywgdGhlIHRhYiBsYWJlbHMgYXJlIGhpZGRlbiwgc28gd2UgbmVlZCB0byBzaGlmdCB0aGUgaW5kaWNhdG9yIHNvIGl0IGlzbid0IG92ZXIgdGhlIHRhYiBpY29uLiAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAubXhfVXNlclNldHRpbmdzRGlhbG9nLFxyXG4gICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZyxcclxuICAgIC5teF9TcGFjZVNldHRpbmdzRGlhbG9nLFxyXG4gICAgLm14X1NwYWNlUHJlZmVyZW5jZXNEaWFsb2cge1xyXG4gICAgICAgIC5teF9TZXR0aW5nc0RpYWxvZ190YWJMYWJlbHNBbGVydDo6YWZ0ZXIge1xyXG4gICAgICAgICAgICByaWdodDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICAgICAgdG9wOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2hhcmVEaWFsb2cge1xyXG4gICAgLyogVmFsdWUgZnJvbSBmaWdtYSBkZXNpZ24gKi9cclxuICAgIHdpZHRoOiA0MTZweDtcclxuXHJcbiAgICAubXhfRGlhbG9nX2hlYWRlciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICAgICAgLyogT3ZlcnJpZGUgZGlhbG9nIGhlYWRlciBwYWRkaW5nIHRvIGFibGUgdG8gY2VudGVyIGl0ICovXHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TaGFyZURpYWxvZ19jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5teF9TaGFyZURpYWxvZ190b3Age1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TaGFyZURpYWxvZ19zb2NpYWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDhweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NsYXNoQ29tbWFuZEhlbHBEaWFsb2cgLm14X1NsYXNoQ29tbWFuZEhlbHBEaWFsb2dfaGVhZGVyUm93IGgyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxufVxyXG5cclxuLm14X1NsYXNoQ29tbWFuZEhlbHBEaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IHtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3BhY2VQcmVmZXJlbmNlc0RpYWxvZyB7XHJcbiAgICB3aWR0aDogNzAwcHg7XHJcbiAgICBoZWlnaHQ6IDQwMHB4O1xyXG5cclxuICAgID4gaDQge1xyXG4gICAgICAgIG1hcmdpbjogLTEycHggMCAwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RhYmJlZFZpZXcge1xyXG4gICAgICAgIHRvcDogODBweDtcclxuXHJcbiAgICAgICAgLm14X1NldHRpbmdzVGFiIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TcGFjZVNldHRpbmdzRGlhbG9nIHtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICAgIC5teF9TcGFjZVNldHRpbmdzX2Vycm9yVGV4dCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVG9nZ2xlU3dpdGNoIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2V0dGluZ3NUYWJfc2VjdGlvbiB7XHJcbiAgICAgICAgLm14X1NldHRpbmdzVGFiX3NlY3Rpb25fY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJiArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlU2V0dGluZ3NEaWFsb2dfYnV0dG9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA2NHB4O1xyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogN3B4IDE4cHg7XHJcblxyXG4gICAgICAgICAgICAmLm14X1NldHRpbmdzVGFiX3Nob3dBZHZhbmNlZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE4cHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Nwb3RsaWdodERpYWxvZ193cmFwcGVyIHtcclxuICAgIC5teF9EaWFsb2dfYm9yZGVyIHtcclxuICAgICAgICAvKiBEaXNhYmxlIHRoZSBnbGFzcyBib3JkZXIgYXMgdGhpcyBkaWFsb2cgd2Fzbid0IGRlc2lnbmVkIHdpdGggaXQgaW4gbWluZCAqL1xyXG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2cge1xyXG4gICAgICAgIC8qICFpbXBvcnRhbnQgYmVjYXVzZSBpdCdzIG92ZXJyaWRpbmcgY29tcG91bmQgICovXHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiA2MCUgIWltcG9ydGFudDtcclxuICAgICAgICBvdmVyZmxvdy15OiBpbml0aWFsO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbnRhaW46IHVuc2V0OyAvKiBuZWVkZWQgZm9yICNteF9TcG90bGlnaHREaWFsb2dfa2V5Ym9hcmRQcm9tcHQgdG8gbm90IGJlIGN1bGxlZCAqL1xyXG5cclxuICAgICAgICAjbXhfU3BvdGxpZ2h0RGlhbG9nX2tleWJvYXJkUHJvbXB0IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICB0b3A6IC02MHB4OyAvKiByZWxhdGl2ZSB0byB0aGUgdG9wIG9mIHRoZSBtb2RhbCAqL1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgICAgIGtiZCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAkc3BhY2luZy00O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAvKiBUbyBhdm9pZCBhbnkgc3R5bGluZyBpbmhlcmVudCB3aXRoIDxrYmQ+IGVsZW1lbnRzICovXHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU3BvdGxpZ2h0RGlhbG9nIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIC5teF9EaWFsb2dfaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcG90bGlnaHREaWFsb2dfc2VhcmNoQm94IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTEyICRzcGFjaW5nLTE2O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc3lzdGVtO1xyXG5cclxuICAgICAgICA+IC5teF9TcG90bGlnaHREaWFsb2dfZmlsdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctNCAkc3BhY2luZy04ICRzcGFjaW5nLTQgMzdweDtcclxuXHJcbiAgICAgICAgICAgID4gc3ZnIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXItLWNsb3NlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHN5c3RlbTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gaW5wdXQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLm14X1NwaW5uZXIge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTE2O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoOmZvY3VzLXdpdGhpbikgKyAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAvKiBJbmhpYml0IHRoZSBzdHlsaW5nIGlmIGZvY3VzIGlzIG5vdCB3aXRoaW4gdGhlIGlucHV0IHdoaWNoIGhhbmRsZXMga2V5Ym9hcmQgYWNjZXNzaWJpbGl0eSAqL1xyXG4gICAgICAgICAgICAtLW14X1Nwb3RsaWdodERpYWxvZ19vcHRpb25fc2VsZWN0ZWRCZ0NvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgIC8qIEhpZGUgdGhlIGVudGVyIHByb21wdCBhcyBpbiB0aGlzIHN0YXRlIHByZXNzaW5nIGVudGVyIHdvdWxkIG5vdCBhY3R1YXRlIHRoYXQgb3B0aW9uICovXHJcbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfZW50ZXJQcm9tcHQge1xyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICNteF9TcG90bGlnaHREaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctMTY7XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19zZWN0aW9uIHtcclxuICAgICAgICAgICAgPiBoNCxcclxuICAgICAgICAgICAgPiAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlY3Rpb25IZWFkZXIgPiBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiBoNCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlY3Rpb25IZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy04O1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYgKyAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbl9zZWxlY3RlZEJnQ29sb3IsICRxdWluYXJ5LWNvbnRlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudGx5Vmlld2VkIHtcclxuICAgICAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgLyogb2NjbHVkZSB0aGUgMXB4IHZpc2libGUgb2YgdGhlIHZlcnkgbmV4dCB0aWxlIHRvIHByZXZlbnQgaXQgbG9va2luZyBicm9rZW4gKi9cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNThweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNThweDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNThweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA5cHggJHNwYWNpbmctNDsgLyogbWFpbnRhaW4gY2VudGVyaW5nICovXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJiArIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctMTY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyxcclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzLFxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyxcclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMge1xyXG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAtLW14X1Nwb3RsaWdodERpYWxvZ19vcHRpb25fc2VsZWN0ZWRCZ0NvbG9yOiAkc3lzdGVtO1xyXG5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAkc3BhY2luZy00O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tZW5kQWRvcm5tZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9tdWx0aWxpbmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQgJHNwYWNpbmctMjA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX2VudGVyUHJvbXB0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gLm14X1Nwb3RsaWdodERpYWxvZ19tZXRhc3BhY2VSZXN1bHQsXHJcbiAgICAgICAgICAgICAgICA+IC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyLFxyXG4gICAgICAgICAgICAgICAgPiAubXhfQmFzZUF2YXRhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGV0YWlscyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21IZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbU5hbWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbUFsaWFzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbWVudSxcclxuICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1ub3RpZmljYXRpb25zIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgc3ZnLFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW1lbnUsXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW5vdGlmaWNhdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSAubXhfU3BvdGxpZ2h0RGlhbG9nX2VudGVyUHJvbXB0IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfaW52aXRlTGluayxcclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX2NyZWF0ZVJvb20ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG5cclxuICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4ICRzcGFjaW5nLTggM3B4ICRzcGFjaW5nLTI4O1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzIHtcclxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy0zMjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAkc3BhY2luZy00O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vdGhlclNlYXJjaGVzX21lc3NhZ2VTZWFyY2hUZXh0IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9kZXRhaWxzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyA+IGg0ID4gLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19lbnRlclByb21wdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAkc3BhY2luZy00O1xyXG4gICAgICAgICAgICAvKiBUbyBhdm9pZCBhbnkgc3R5bGluZyBpbmhlcmVudCB3aXRoIDxrYmQ+IGVsZW1lbnRzICovXHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfbWV0YXNwYWNlUmVzdWx0IHN2ZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKlxyXG4gKiBUbyBhdm9pZCB2aXN1YWwgZ2xpdGNoaW5nIG9mIHR3byBtb2RhbHMgc3RhY2tpbmcgYnJpZWZseSwgd2UgY3VzdG9taXNlIHRoZVxyXG4gKiB0ZXJtcyBkaWFsb2cgc2l6aW5nIHdoZW4gaXQgd2lsbCBhcHBlYXIgZm9yIHRoZSBpbnRlZ3JhdGlvbiBtYW5hZ2VyIHNvIHRoYXRcclxuICogaXQgZ2V0cyB0aGUgc2FtZSBiYXNpYyBzaXplIGFzIHRoZSBJTSdzIG93biBtb2RhbC5cclxuICovXHJcbi5teF9UZXJtc0RpYWxvZ19mb3JJbnRlZ3JhdGlvbk1hbmFnZXIgLm14X0RpYWxvZ19ib3JkZXIge1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIGhlaWdodDogNzAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLm14X1Rlcm1zRGlhbG9nX3Rlcm1zVGFibGVIZWFkZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4ubXhfVGVybXNEaWFsb2dfdGVybXNUYWJsZSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm14X1Rlcm1zRGlhbG9nX3NlcnZpY2UsXHJcbi5teF9UZXJtc0RpYWxvZ19zdW1tYXJ5IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbn1cclxuIiwiLypcclxuICogQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbiAqIENvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9VbnBpbkFsbERpYWxvZyB7XHJcbiAgICAvKiAzOTYgaXMgY29taW5nIGZyb20gZmlnbWEgYW5kIHdlIHJlbW92ZSB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZ3Mgb2YgdGhlIGRpYWxvZyAqL1xyXG4gICAgd2lkdGg6IGNhbGMoMzk2cHggLSAodmFyKC0tY3BkLXNwYWNlLTEweCkgKiAyKSk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuXHJcbiAgICAubXhfVW5waW5BbGxEaWFsb2dfdGl0bGUge1xyXG4gICAgICAgIC8qIE92ZXJyaWRlIHRoZSBkZWZhdWx0IGhlYWRpbmcgc3R5bGUgKi9cclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VucGluQWxsRGlhbG9nX2J1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtOHgpIHZhcigtLWNwZC1zcGFjZS0yeCkgMCB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9VbnRydXN0ZWREZXZpY2VEaWFsb2cge1xyXG4gICAgLm14X0RpYWxvZ190aXRsZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAubXhfRTJFSWNvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBnYXA6IDhweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVXBsb2FkQ29uZmlybURpYWxvZ19maWxlSWNvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLm14X1VwbG9hZENvbmZpcm1EaWFsb2dfcHJldmlld091dGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm14X1VwbG9hZENvbmZpcm1EaWFsb2dfcHJldmlld0lubmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5teF9VcGxvYWRDb25maXJtRGlhbG9nX2ltYWdlUHJldmlldyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRkaWFsb2ctY2xvc2UtZmctY29sb3I7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NldHRpbmdzRGlhbG9nX3RvYXN0Q29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTEweCk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X1VzZXJTZXR0aW5nc0RpYWxvZ190aXRsZSB7XHJcbiAgICAvKiBPdmVycmlkZSBkZWZhdWx0IGRpYWxvZyBmb250IHN0eWxlICovXHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXJlZ3VsYXIpICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLm14X1VzZXJTZXR0aW5nc0RpYWxvZ190aXRsZV9zdHJvbmcge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbWQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVmVyaWZ5RU1haWxEaWFsb2cge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgdG9wOiAzMDBweDtcclxuXHJcbiAgICAubXhfRGlhbG9nIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTI0ICRzcGFjaW5nLTI0ICRzcGFjaW5nLTE2O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAvKiAhaW1wb3J0YW50IG92ZXJyaWRlIGNvbXBvdW5kICAqL1xyXG4gICAgICAgIHdpZHRoOiA0ODVweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVmVyaWZ5RU1haWxEaWFsb2dfdGV4dC1saWdodCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0F1dGhCb2R5X2RpZC1ub3QtcmVjZWl2ZSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy04O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0RpYWxvZ19jYW5jZWxCdXR0b24ge1xyXG4gICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQsMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZyB7XHJcbiAgICAudGV4dC1tdXRlZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfV2lkZ2V0Q2FwYWJpbGl0aWVzUHJvbXB0RGlhbG9nX2NhcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ19idXR0b25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyAvKiBkb3VibGUgbm9ybWFsICovXHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzRmxhZyB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoJGZvbnQtMTRweCArIDdweCArIDdweCk7IC8qIDdweCB0b3AgJiBib3R0b20gcGFkZGluZyAqL1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG5cclxuICAgICAgICAubXhfVG9nZ2xlU3dpdGNoIHtcclxuICAgICAgICAgICAgLyogZG93bnNpemUgdGhlIHN3aXRjaCArIGJhbGwgKi9cclxuICAgICAgICAgICAgd2lkdGg6ICRmb250LTMycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvbnQtMTVweDtcclxuXHJcbiAgICAgICAgICAgICYubXhfVG9nZ2xlU3dpdGNoX29uID4gLm14X1RvZ2dsZVN3aXRjaF9iYWxsIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICRmb250LTE1cHgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfVG9nZ2xlU3dpdGNoX2JhbGwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiBDb3B5cmlnaHQgMjAyNiBFbGVtZW50IENyZWF0aW9ucyBMdGQuXHJcblxyXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Vua25vd25JZGVudGl0eVVzZXJzV2FybmluZ0RpYWxvZyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGhlaWdodDogNjAwcHg7IC8qIENvbnNpc3RlbmN5IHdpdGggSW52aXRlRGlhbG9nICovXHJcbn1cclxuXHJcbi5teF9Vbmtub3duSWRlbnRpdHlVc2Vyc1dhcm5pbmdEaWFsb2dfaGVhZGVyQ29udGFpbmVyIHtcclxuICAgIC8qIENlbnRyZSB0aGUgUGFnZUhlYWRlciBjb21wb25lbnQgaG9yaXpvbnRhbGx5ICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgLyogU3R5bGluZyBmb3IgdGhlIHJlZ3VsYXIgdGV4dCBpbnNpZGUgdGhlIGhlYWRlciAqL1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1sZy1yZWd1bGFyKTtcclxuXHJcbiAgICAvKiBTcGFjZSBiZWZvcmUgdGhlIGxpc3QgKi9cclxuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG59XHJcblxyXG4ubXhfVW5rbm93bklkZW50aXR5VXNlcnNXYXJuaW5nRGlhbG9nX3VzZXJMaXN0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcblxyXG4gICAgLyogRmlsbCBhdmFpbGFibGUgdmVydGljYWwgc3BhY2UsIGJ1dCBkb24ndCBhbGxvdyBpdCB0byBzaHJpbmsgdG8gbGVzcyB0aGFuIDYwcHggKGFib3V0IHRoZSBoZWlnaHQgb2YgYSBzaW5nbGUgdGlsZSkgKi9cclxuICAgIGZsZXg6IDEgMCA2MHB4O1xyXG5cclxuICAgIC8qIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdWwgcGFkZGluZy9tYXJnaW4gKi9cclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5teF9Vbmtub3duSWRlbnRpdHlVc2Vyc1dhcm5pbmdEaWFsb2dfYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG5cclxuICAgID4gYnV0dG9uIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOCwgMjAxOSAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2cge1xyXG4gICAgJi5teF9FbmNyeXB0aW9uQ2FyZCB7XHJcbiAgICAgICAgLyogb3ZlcnJpZGUgc29tZSBzdHlsZXMgdGhhdCB3ZSBkb24ndCBuZWVkICovXHJcbiAgICAgICAgYm9yZGVyOiAwcHggbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19wcmltYXJ5Q29udGFpbmVyIHtcclxuICAgICAgICAubXhfQWNjZXNzU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUVudHJ5IHtcclxuICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICogQmUgc3BlY2lmaWMgaGVyZSB0byBhdm9pZCBcIm1hcmdpbjogOXB4XCIgZnJvbSBfY29tbW9uLnBjc3NcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpIHtcclxuICAgICAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICAgICAqIEZyb20gZmlnbWE6IGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9kZXNpZ24vWm9kQkx0R25LbVJUR0pvNVNHTG5IMy9FUi0xMzctLUV4Y2x1ZGluZy1JbnNlY3VyZS1EZXZpY2VzP25vZGUtaWQ9MTAyLTQzNzI5JnQ9UW1ld0VOVWQ3ZjZUbXc5VS0xXHJcbiAgICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ0OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlGZWVkYmFjayB7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlGZWVkYmFjay0taW52YWxpZCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0O1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRW5jcnlwdGlvbkNhcmRfYnV0dG9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTIweCk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9DcmVhdGVDcm9zc1NpZ25pbmdEaWFsb2cge1xyXG4gICAgLyogV2h5IHlvdSBhc2s/IEJlY2F1c2UgQ29tcGxldGVTZWN1cml0eUJvZHkgaXMgNjAwcHggc28gdGhpcyBpcyB0aGUgd2lkdGggKi9cclxuICAgIC8qIHdlIGVuZCB1cCB3aGVuIGluIHRoZXJlLCBidXQgd2hlbiBpbiBvdXIgb3duIGRpYWxvZyB3ZSBzZXQgb3VyIG93biB3aWR0aCAqL1xyXG4gICAgLyogc28gbmVlZCB0byBmaXggaXQgdG8gc29tZXRoaW5nIHNlbnNpYmxlIGFzIG90aGVyd2lzZSB3ZSdkIGVuZCB1cCBlaXRoZXIgKi9cclxuICAgIC8qIHJlYWxseSB3aWRlIG9yIHJlYWxseSBuYXJyb3cgZGVwZW5kaW5nIG9uIHRoZSBwaGFzZS4gSSBiZXQgeW91IHdpc2ggeW91ICovXHJcbiAgICAvKiBuZXZlciBhc2tlZC4gKi9cclxuICAgIHdpZHRoOiA1NjBweDtcclxuXHJcbiAgICBkZXRhaWxzIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICBtYXJnaW46IDFlbSAwOyAvKiBlbXVsYXRlIHBhcmFncmFwaCBzcGFjaW5nIGJlY2F1c2Ugd2UgY2FuJ3QgcHV0IHRoaXMgYnV0dG9uIGluIGEgcGFyYWdyYXBoIGR1ZSB0byBIVE1MIHJ1bGVzICovXHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9DcmVhdGVDcm9zc1NpZ25pbmdEaWFsb2cgLm14X0RpYWxvZ190aXRsZSB7XHJcbiAgICAvKiBUT0RPOiBDb25zaWRlciBzZXR0aW5nIHRoaXMgZm9yIGFsbCBkaWFsb2cgdGl0bGVzLiAqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSwgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxOCBOZXcgVmVjdG9yIEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZyB7XHJcbiAgICAvKiBXaHkgeW91IGFzaz8gQmVjYXVzZSBDb21wbGV0ZVNlY3VyaXR5Qm9keSBpcyA2MDBweCBzbyB0aGlzIGlzIHRoZSB3aWR0aCAqL1xyXG4gICAgLyogd2UgZW5kIHVwIHdoZW4gaW4gdGhlcmUsIGJ1dCB3aGVuIGluIG91ciBvd24gZGlhbG9nIHdlIHNldCBvdXIgb3duIHdpZHRoICovXHJcbiAgICAvKiBzbyBuZWVkIHRvIGZpeCBpdCB0byBzb21ldGhpbmcgc2Vuc2libGUgYXMgb3RoZXJ3aXNlIHdlJ2QgZW5kIHVwIGVpdGhlciAqL1xyXG4gICAgLyogcmVhbGx5IHdpZGUgb3IgcmVhbGx5IG5hcnJvdyBkZXBlbmRpbmcgb24gdGhlIHBoYXNlLiBJIGJldCB5b3Ugd2lzaCB5b3UgKi9cclxuICAgIC8qIG5ldmVyIGFza2VkLiAqL1xyXG4gICAgd2lkdGg6IDU2MHB4O1xyXG5cclxuICAgICYubXhfU3VjY2Vzc0RpYWxvZyB7XHJcbiAgICAgICAgcGFkZGluZzogNTZweDsgLyogODBweCBmcm9tIGRlc2lnbiAtIDI0cHggd3JhcHBlciBwYWRkaW5nICovXHJcblxyXG4gICAgICAgIC5teF9EaWFsb2dfdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzRmxhZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcclxuICAgICAgICBmbGV4OiAxIDEgMDtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RvZ2dsZVN3aXRjaCB7XHJcbiAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgZGV0YWlscyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAxZW0gMDsgLyogZW11bGF0ZSBwYXJhZ3JhcGggc3BhY2luZyBiZWNhdXNlIHdlIGNhbid0IHB1dCB0aGlzIGJ1dHRvbiBpbiBhIHBhcmFncmFwaCBkdWUgdG8gSFRNTCBydWxlcyAqL1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZyAubXhfRGlhbG9nX3RpdGxlIHtcclxuICAgIC8qIFRPRE86IENvbnNpZGVyIHNldHRpbmcgdGhpcyBmb3IgYWxsIGRpYWxvZyB0aXRsZXMuICovXHJcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbn1cclxuXHJcbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX2NlbnRlcmVkVGl0bGUsXHJcbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX2NlbnRlcmVkQm9keSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3ByaW1hcnlDb250YWluZXIge1xyXG4gICAgLyogRklYTUU6IHBsaW50aCBjb2xvdXIgaW4gbmV3IHRoZW1lKHMpLiBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50OyAqL1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcblxyXG4gICAgJi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5UHJpbWFyeWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lcjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3ByaW1hcnlDb250YWluZXIgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICBwYWRkaW5nOiAxMXB4O1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19vcHRpb25UaXRsZSB7XHJcbiAgICBjb2xvcjogJGRpYWxvZy10aXRsZS1mZy1jb2xvcjtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xOHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3Bhc3NQaHJhc2VDb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG59XHJcblxyXG4ubXhfRmllbGQubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19wYXNzUGhyYXNlRmllbGQge1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19wYXNzUGhyYXNlTWF0Y2gge1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5Q29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXkge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgY29sb3I6ICRpbmZvLXBsaW50aC1mZy1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmZvLXBsaW50aC1iZy1jb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIHdvcmQtc3BhY2luZzogMWVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICBjb2RlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDMwcmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUJ1dHRvbnMge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IDE2cHg7XHJcbn1cclxuXHJcbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5QnV0dG9uc19jb3B5QnRuIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5QnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19jb250aW51ZVNwaW5uZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMzNweDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19jb250aW51ZVNwaW5uZXIgaW1nIHtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9LZXlCYWNrdXBGYWlsZWREaWFsb2cgLm14X0RpYWxvZ190aXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG59XHJcblxyXG4ubXhfS2V5QmFja3VwRmFpbGVkRGlhbG9nX3RpdGxlIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4O1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfS2V5QmFja3VwRmFpbGVkRGlhbG9nIC5teF9EaWFsb2dfYnV0dG9ucyB7XHJcbiAgICBtYXJnaW4tdG9wOiAzNnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxOCBOZXcgVmVjdG9yIEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUmVzdG9yZUtleUJhY2t1cERpYWxvZ19rZXlTdGF0dXMge1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG4ubXhfUmVzdG9yZUtleUJhY2t1cERpYWxvZ19wcmltYXJ5Q29udGFpbmVyIHtcclxuICAgIC8qIEZJWE1FOiBwbGludGggY29sb3VyIGluIG5ldyB0aGVtZShzKS4gYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDsgKi9cclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi5teF9SZXN0b3JlS2V5QmFja3VwRGlhbG9nX3Bhc3NQaHJhc2VJbnB1dCxcclxuLm14X1Jlc3RvcmVLZXlCYWNrdXBEaWFsb2dfcmVjb3ZlcnlLZXlJbnB1dCB7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLm14X1Jlc3RvcmVLZXlCYWNrdXBEaWFsb2dfY29udGVudCA+IGRpdiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1pbi1oZWlnaHQ6IDExMHB4OyAvKiBFbXBpcmljYWxseSBtZWFzdXJlZCAqL1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTmV0d29ya0Ryb3Bkb3duX3dyYXBwZXIgLm14X0NvbnRleHR1YWxNZW51IHtcclxuICAgIC5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbiB7XHJcbiAgICAgICAgJi5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0taGVhZGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTEyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTQ7XHJcblxyXG4gICAgICAgICAgICA+IC5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0tbGFiZWwgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0tbGFiZWwge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuXHJcbiAgICAgICAgICAgIHNwYW46bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9HZW5lcmljRHJvcGRvd25NZW51X2RpdmlkZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctNDtcclxuXHJcbiAgICAgICAgJiArIC5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbiAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X05ldHdvcmtEcm9wZG93bl9yZW1vdmVTZXJ2ZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAxcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X05ldHdvcmtEcm9wZG93bl9kaWFsb2cgLm14X0RpYWxvZyB7XHJcbiAgICB3aWR0aDogNDV2dztcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICY6d2hlcmUoYnV0dG9uKSB7XHJcbiAgICAgICAgLyogQ2xlYXIgZGVmYXVsdCBidXR0b24gc3R5bGluZyAqL1xyXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbl9wcmltYXJ5LFxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeV9vdXRsaW5lLFxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnksXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9vdXRsaW5lLFxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfc20sXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayxcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2FjY2VudCxcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSxcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfaW5saW5lLFxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2NvbnRlbnRfaW5saW5lLFxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfc20ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcclxuICAgICAgICBwYWRkaW5nOiA3cHggMThweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTsgLyogb3ZlcnJpZGUgZGVmYXVsdCA8YnV0dG9uIC8+IHN0eWxlcyAqL1xyXG4gICAgICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsOyAvKiBwcmV2ZW50IGJ1dHRvbiB0ZXh0IGluIENoaW5lc2UvSmFwYW5lc2UvS29yZWFuIChDSkspIGZyb20gYmVpbmcgY29sbGFwc2VkICovXHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9zbSxcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfc20sXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19zbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9zbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfc20ge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19zbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbixcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnksXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbl9wcmltYXJ5X291dGxpbmUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnksXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnlfb3V0bGluZSxcclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnksXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5X291dGxpbmUsXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9zZWNvbmRhcnkge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeSxcclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeV9vdXRsaW5lLFxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9vdXRsaW5lIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3NlY29uZGFyeSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2RhbmdlciB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XHJcblxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfb3V0bGluZSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtc3VidGxlKTtcclxuXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX3NtIHtcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rLFxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUsXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfaW5saW5lLFxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY29udGVudF9pbmxpbmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmssXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9pbmxpbmUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9jb250ZW50X2lubGluZSB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUsXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfaW5saW5lLFxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY29udGVudF9pbmxpbmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ29weWFibGVUZXh0IHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAmLm14X0NvcHlhYmxlVGV4dF9ib3JkZXIge1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkbGlnaHQtZmctY29sb3I7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NvcHlhYmxlVGV4dF9jb3B5QnV0dG9uIHtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAvKiB1c2luZyBlbSBoZXJlIHRvIGFkYXB0IHRvIHRoZSBsb2NhbCBmb250IHNpemUgKi9cclxuICAgICAgICB3aWR0aDogMWVtO1xyXG4gICAgICAgIGhlaWdodDogMWVtO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIC8qIElmIHRoZSBjb3B5IGJ1dHRvbiBpcyB1c2VkIHdpdGhpbiBhIHNjcm9sbGFibGUgZGl2LCBtYWtlIGl0IHN0aWNrIHRvIHRoZSByaWdodCB3aGlsZSBzY3JvbGxpbmcgKi9cclxuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIC8qIGNlbnRlciB0byBmaXJzdCBsaW5lICovXHJcbiAgICAgICAgdG9wOiAwLjE1ZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMWVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJG1lc3NhZ2UtYWN0aW9uLWJhci1mZy1jb2xvcjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXIge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyX3RhYiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICBvdmVyZmxvdzogb3ZlcmxheTtcclxuXHJcbiAgICAgICAgLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlcl9zb3VyY2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAgICAgLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlcl9zb3VyY2VfdGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogNHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgICAgICAmLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlcl9zb3VyY2VfdGh1bWJuYWlsX3NlbGVjdGVkLFxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlcl9zb3VyY2VfbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNHB4O1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0RpYWxQYWRCYWNrc3BhY2VCdXR0b24ge1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgY29sb3I6ICM4ZDk3YTU7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTcgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0Ryb3Bkb3duIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25fZGlzYWJsZWQge1xyXG4gICAgb3BhY2l0eTogMC4zO1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25faW5wdXQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5teF9Ecm9wZG93bl9pbnB1dC5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbi5teF9Ecm9wZG93bl9pbnB1dDpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYWx0O1xyXG59XHJcblxyXG4vKiBEaXNhYmxlIGRyb3Bkb3duIGhpZ2hsaWdodCBvbiBmb2N1cyAqL1xyXG4ubXhfRHJvcGRvd25faW5wdXQubXhfQWNjZXNzaWJsZUJ1dHRvbjpmb2N1cyB7XHJcbiAgICBmaWx0ZXI6IG5vbmU7XHJcbn1cclxuXHJcbnN2Zy5teF9Ecm9wZG93bl9hcnJvdyB7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIG1hcmdpbi1yaWdodDogM3B4O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9Ecm9wZG93bl9vcHRpb24ge1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTM1cHg7XHJcbiAgICAvKiBPdmVyd3JpdGVzIHRoZSBkZWZhdWx0IHBhZGRpbmcgZm9yIGFueSBsaSBlbGVtZW50cyAqL1xyXG4gICAgcGFkZGluZzogMCA4cHg7XHJcbn1cclxuXHJcbi5teF9Ecm9wZG93bl9pbnB1dCA+IC5teF9Ecm9wZG93bl9vcHRpb24ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9Ecm9wZG93bl9vcHRpb24gZGl2IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5teF9Ecm9wZG93bl9vcHRpb24gaW1nLFxyXG4ubXhfRHJvcGRvd25fb3B0aW9uIC5teF9Ecm9wZG93bl9vcHRpb25fZW1vamkge1xyXG4gICAgbWFyZ2luOiA1cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5teF9Ecm9wZG93bl9vcHRpb25fZW1vamkge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE2cHg7XHJcbn1cclxuXHJcbmlucHV0Lm14X0Ryb3Bkb3duX29wdGlvbixcclxuaW5wdXQubXhfRHJvcGRvd25fb3B0aW9uOmZvY3VzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgLyogWFhYOiBoYWNrIHRvIHByZXZlbnQgdGV4dCBib3ggYmVpbmcgdG9vIGJpZyBhbmQgcHVzaGluZyAqL1xyXG4gICAgLyogaXRzIHBhcmVudCBvdXQgLyBvdmVybGFwcGluZyB0aGUgZHJvcGRvd24gYXJyb3cuIE9ubHkgcmVhbGx5ICovXHJcbiAgICAvKiB3b3JrcyBpbiB0aGUgQ291bnRyeSBkcm9wZG93bi4gKi9cclxuICAgIHdpZHRoOiA2MCU7XHJcbn1cclxuXHJcbi5teF9Ecm9wZG93bl9tZW51IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC0xcHg7XHJcbiAgICByaWdodDogLTFweDtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50LWFsdDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25fbWVudSAubXhfRHJvcGRvd25fb3B0aW9uIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IDM1cHg7XHJcbn1cclxuXHJcbnVsLm14X0Ryb3Bkb3duX21lbnUgbGkubXhfRHJvcGRvd25fb3B0aW9uIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbi5teF9Ecm9wZG93bl9tZW51IC5teF9Ecm9wZG93bl9vcHRpb25faGlnaGxpZ2h0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb2N1cy1iZy1jb2xvcjtcclxufVxyXG5cclxuLm14X0Ryb3Bkb3duX3NlYXJjaFByb21wdCB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxNy0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRWRpdGFibGVJdGVtTGlzdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLm14X0VkaXRhYmxlSXRlbSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4ubXhfRWRpdGFibGVJdGVtX2RlbGV0ZSB7XHJcbiAgICBAbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbjtcclxuICAgIG9yZGVyOiAzO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgbWFzay1zaXplOiAxMDAlO1xyXG59XHJcblxyXG4ubXhfRWRpdGFibGVJdGVtX2VtYWlsIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5teF9FZGl0YWJsZUl0ZW1fcHJvbXB0VGV4dCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBvcmRlcjogMjtcclxufVxyXG5cclxuLm14X0VkaXRhYmxlSXRlbV9jb25maXJtQnRuIHtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4ubXhfRWRpdGFibGVJdGVtX2l0ZW0ge1xyXG4gICAgZmxleDogYXV0byAxIDA7XHJcbiAgICBvcmRlcjogMTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyOHB4KTsgLyogbGVhdmUgc3BhY2UgZm9yIHRoZSByZW1vdmUgYnV0dG9uICovXHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLm14X0VkaXRhYmxlSXRlbUxpc3RfbGFiZWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRXJyb3JCb3VuZGFyeSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9FcnJvckJvdW5kYXJ5X2JvZHkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRXh0ZXJuYWxMaW5rIHtcclxuICAgIGNvbG9yOiAkbGlua3M7XHJcbn1cclxuXHJcbi5teF9FeHRlcm5hbExpbmtfaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogJGZvbnQtMTFweDtcclxuICAgIGhlaWdodDogJGZvbnQtMTFweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwLjNyZW07XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRmFjZVBpbGVfbW9yZSB7XHJcbiAgICAvKiBOZWVkZWQgdG8gY2FsY3VsYXRlIHRoZSBvZmZzZXQgb24gdGhlIGZhY2UgcGlsZSAqL1xyXG4gICAgLS1jcGQtYXZhdGFyLXNpemU6IDI4cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgd2lkdGg6IDI4cHg7XHJcbiAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbHM7XHJcbiAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgLyogRm9yIGVuaGFuY2VkIHZpc2liaWxpdHkgdW5kZXIgY29udHJhc3QgY29udHJvbCAqL1xyXG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ubXhfRmFjZVBpbGVfc3VtbWFyeSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKiBUT0RPOiBDb25zaWRlciB1bmlmeWluZyB3aXRoIGdlbmVyYWwgaW5wdXQgc3R5bGVzIGluIF9saWdodC5wY3NzICovXHJcblxyXG4ubXhfRmllbGQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDFlbSAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4ubXhfRmllbGRfcHJlZml4IHtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLm14X0ZpZWxkX3Bvc3RmaXgge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5teF9GaWVsZCBpbnB1dCxcclxuLm14X0ZpZWxkIHNlbGVjdCxcclxuLm14X0ZpZWxkIHRleHRhcmVhIHtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAvKiBFdmVuIHdpdGhvdXQgYSBib3JkZXIgaGVyZSwgd2Ugc3RpbGwgbmVlZCB0aGlzIGF2b2lkIG92ZXJsYXBwaW5nIHRoZSByb3VuZGVkICovXHJcbiAgICAvKiBjb3JuZXJzIG9uIHRoZSBmaWVsZCBhYm92ZS4gKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHBhZGRpbmc6IDhweCA5cHg7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgZmxleDogMTtcclxuICAgIG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLm14X0ZpZWxkIHNlbGVjdCB7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLm14X0ZpZWxkX3NlbGVjdF9jaGV2cm9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgcmlnaHQ6IDRweDtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5teF9GaWVsZDpmb2N1cy13aXRoaW4ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWFsdDtcclxufVxyXG5cclxuLm14X0ZpZWxkIGlucHV0OmZvY3VzLFxyXG4ubXhfRmllbGQgc2VsZWN0OmZvY3VzLFxyXG4ubXhfRmllbGQgdGV4dGFyZWE6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMDtcclxufVxyXG5cclxuLm14X0ZpZWxkIGlucHV0OjpwbGFjZWhvbGRlcixcclxuLm14X0ZpZWxkIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluIDBzO1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ubXhfRmllbGQgaW5wdXQ6cGxhY2Vob2xkZXItc2hvd246Zm9jdXM6OnBsYWNlaG9sZGVyLFxyXG4ubXhfRmllbGQgdGV4dGFyZWE6cGxhY2Vob2xkZXItc2hvd246Zm9jdXM6OnBsYWNlaG9sZGVyLFxyXG4ubXhfRmllbGQubXhfRmllbGRfcGxhY2Vob2xkZXJJc0hpbnQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4gMC4xcztcclxuICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XHJcbn1cclxuXHJcbi5teF9GaWVsZCBsYWJlbCB7XHJcbiAgICB0cmFuc2l0aW9uOlxyXG4gICAgICAgIGZvbnQtc2l6ZSAwLjI1cyBlYXNlLW91dCAwLjFzLFxyXG4gICAgICAgIGNvbG9yIDAuMjVzIGVhc2Utb3V0IDAuMXMsXHJcbiAgICAgICAgdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0IDAuMXMsXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCAwLjFzO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICBtYXJnaW46IDdweCA4cHg7XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLyogQWxsb3cgY2xpY2tzIHRvIGZhbGwgdGhyb3VnaCB0byB0aGUgaW5wdXQgKi9cclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOyAvKiAxMDAlIG9mIHBhcmVudCBtaW51cyBtYXJnaW4gYW5kIHBhZGRpbmcgKi9cclxufVxyXG5cclxuLm14X0ZpZWxkX2xhYmVsQWx3YXlzVG9wTGVmdCBsYWJlbCxcclxuLm14X0ZpZWxkIHNlbGVjdCArIGxhYmVsIC8qIEFsd2F5cyBzaG93IGEgc2VsZWN0J3MgbGFiZWwgb24gdG9wIHRvIG5vdCBjb2xsaWRlIHdpdGggdGhlIHZhbHVlICovLFxyXG4ubXhfRmllbGQgaW5wdXQ6Zm9jdXMgKyBsYWJlbCxcclxuLm14X0ZpZWxkIGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pICsgbGFiZWwsXHJcbi5teF9GaWVsZCB0ZXh0YXJlYTpmb2N1cyArIGxhYmVsLFxyXG4ubXhfRmllbGQgdGV4dGFyZWE6bm90KDpwbGFjZWhvbGRlci1zaG93bikgKyBsYWJlbCB7XHJcbiAgICB0cmFuc2l0aW9uOlxyXG4gICAgICAgIGZvbnQtc2l6ZSAwLjI1cyBlYXNlLW91dCAwcyxcclxuICAgICAgICBjb2xvciAwLjI1cyBlYXNlLW91dCAwcyxcclxuICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQgMHMsXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCAwcztcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTNweCk7XHJcbiAgICBwYWRkaW5nOiAwIDJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XHJcbn1cclxuXHJcbi5teF9GaWVsZCBpbnB1dDpmb2N1cyArIGxhYmVsLFxyXG4ubXhfRmllbGQgc2VsZWN0OmZvY3VzICsgbGFiZWwsXHJcbi5teF9GaWVsZCB0ZXh0YXJlYTpmb2N1cyArIGxhYmVsIHtcclxuICAgIGNvbG9yOiAkYWNjZW50LWFsdDtcclxufVxyXG5cclxuLm14X0ZpZWxkIHNlbGVjdDpkaXNhYmxlZCxcclxuLm14X0ZpZWxkIHNlbGVjdDpkaXNhYmxlZCArIGxhYmVsLFxyXG4ubXhfRmllbGQgaW5wdXQ6ZGlzYWJsZWQsXHJcbi5teF9GaWVsZCBpbnB1dDpkaXNhYmxlZCArIGxhYmVsLFxyXG4ubXhfRmllbGQgdGV4dGFyZWE6ZGlzYWJsZWQsXHJcbi5teF9GaWVsZCB0ZXh0YXJlYTpkaXNhYmxlZCArIGxhYmVsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRpbmZvLXBsaW50aC1mZy1jb2xvcjtcclxufVxyXG5cclxuLm14X0ZpZWxkX3ZhbGlkIHtcclxuICAgICYubXhfRmllbGQsXHJcbiAgICAmLm14X0ZpZWxkOmZvY3VzLXdpdGhpbiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfRmllbGQgbGFiZWwsXHJcbiAgICAmLm14X0ZpZWxkOmZvY3VzLXdpdGhpbiBsYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9GaWVsZF9pbnZhbGlkIHtcclxuICAgICYubXhfRmllbGQsXHJcbiAgICAmLm14X0ZpZWxkOmZvY3VzLXdpdGhpbiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWxlcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9GaWVsZCBsYWJlbCxcclxuICAgICYubXhfRmllbGQ6Zm9jdXMtd2l0aGluIGxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBDdXN0b21pc2Ugb3RoZXIgY29tcG9uZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgYSBGaWVsZCAqL1xyXG5cclxuLm14X0ZpZWxkIC5teF9Ecm9wZG93bl9pbnB1dCB7XHJcbiAgICBib3JkZXI6IGluaXRpYWw7XHJcbiAgICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xyXG59XHJcblxyXG4ubXhfRmllbGQgLm14X0NvdW50cnlEcm9wZG93biB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X2F2YXRhcnMge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxuICAgIH1cclxuXHJcbiAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfc3BhY2VyIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYzcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTMwcHg7IC8qIFRPRE86IFVzZSBhIHZhcmlhYmxlICovXHJcblxyXG4gICAgICAgIC5teF9JUkNMYXlvdXQgJiB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV90b2dnbGUge1xyXG4gICAgICAgIC8qIFdlIHJldXNlIGEgdGl0bGUgY2FzZWQgdHJhbnNsYXRpb24gKi9cclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXHJcbiAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xyXG4gICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV90b2dnbGUge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgICAgIC0tbWF4V2lkdGg6IDcwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWF2YXRhclNpemUpICsgdmFyKC0tZ3V0dGVyU2l6ZSkpO1xyXG5cclxuICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xyXG5cclxuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDk7IC8qIFRPRE86IFJlbW92ZSAqL1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87IC8qIHJlZHVjZSBjbGlja2FibGUgYXJlYSAqL1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1lbmQpOyAvKiBhcyB0aGUgcGFyZW50IGhhcyB6ZXJvIG1hcmdpbiAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfc3BhY2VyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbZGF0YS1leHBhbmRlZD1cImZhbHNlXCJdIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiA1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBpZGVhbGx5IHdlJ2QgdXNlIGRpc3BsYXk9Y29udGVudHMgaGVyZSBmb3IgdGhlIGxheW91dCB0byBhbGwgd29yayByZWdhcmRsZXNzIG9mIHRoZSAqRUxTIGJ1dCAqL1xyXG4gICAgICAgIC8qIHRoYXQgYnJlYWtzIFNjcm9sbFBhbmVsJ3MgcmVsaWFuY2UgdXBvbiBvZmZzZXRUb3Agc28gd2UgaGF2ZSB0byBoYXZlIGEgYml0IG1vcmUgZmluZXNzZS4gKi9cclxuICAgICAgICAmW2RhdGEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAmIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEzcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctNDtcclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfc3BhY2VyIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RleHR1YWxFdmVudC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9zdW1tYXJ5IHtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogTWFrZSBhbGwgc3RhdGUgZXZlbnRzIG9uZSBvcmRlciBzbWFsbGVyIHRoYW4gdGhlIG90aGVyIGV2ZW50cyAqL1xyXG4gICAgLm14X0V2ZW50VGlsZSB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdW5zdHlsZWRMaXN0IHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4ubXhfVGV4dHVhbEV2ZW50Lm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3N1bW1hcnkge1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9hdmF0YXJzIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xMnB4O1xyXG5cclxuICAgIC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC00cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4kYnV0dG9uLXNpemU6IDMycHg7XHJcbiRidXR0b24tZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG5cclxuOnJvb3Qge1xyXG4gICAgLS1pbWFnZS12aWV3LXBhbmVsLWhlaWdodDogNjhweDtcclxufVxyXG5cclxuLm14X0ltYWdlVmlldyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ubXhfSW1hZ2VWaWV3X2ltYWdlX3dyYXBwZXIge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm14X0ltYWdlVmlld19pbWFnZSB7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAmLm14X0ltYWdlVmlld19pbWFnZV9hbmltYXRpbmcge1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlIDBzO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfSW1hZ2VWaWV3X2ltYWdlX2FuaW1hdGluZ0xvYWRpbmcge1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlIDBzO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW1hZ2VWaWV3X3BhbmVsIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiB2YXIoLS1pbWFnZS12aWV3LXBhbmVsLWhlaWdodCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBteF9JbWFnZVZpZXdfcGFuZWxfa2V5ZnJhbWVzO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcclxufVxyXG5cclxuLm14X0ltYWdlVmlld19pbmZvX3dyYXBwZXIge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWZnLWNvbG9yO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgZmxleC1iYXNpczogMDtcclxufVxyXG5cclxuLm14X0ltYWdlVmlld19pbmZvIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ubXhfSW1hZ2VWaWV3X2luZm9fc2VuZGVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ubXhfSW1hZ2VWaWV3X3RpdGxlIHtcclxuICAgIGNvbG9yOiAkbGlnaHRib3gtZmctY29sb3I7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfSW1hZ2VWaWV3X3Rvb2xiYXIge1xyXG4gICAgLS1pY29uLXNpemU6IDI0cHg7XHJcblxyXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGdhcDogJGJ1dHRvbi1nYXA7XHJcbn1cclxuXHJcbi5teF9JbWFnZVZpZXdfYnV0dG9uIHtcclxuICAgIHBhZGRpbmc6IGNhbGMoKCRidXR0b24tc2l6ZSAtIHZhcigtLWljb24tc2l6ZSkpIC8gMik7XHJcbiAgICB3aWR0aDogdmFyKC0taWNvbi1zaXplKTtcclxuICAgIGhlaWdodDogdmFyKC0taWNvbi1zaXplKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JbWFnZVZpZXdfYnV0dG9uX21vcmUge1xyXG4gICAgLS1pY29uLXNpemU6IDI4cHg7XHJcbn1cclxuXHJcbi5teF9JbWFnZVZpZXdfYnV0dG9uX2Nsb3NlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMjEyNjJjOyAvKiBzYW1lIG9uIGFsbCB0aGVtZXMgKi9cclxufVxyXG5cclxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XHJcbiAgICAubXhfSW1hZ2VWaWV3X2ltYWdlX2FuaW1hdGluZyB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9JbWFnZVZpZXdfaW1hZ2VfYW5pbWF0aW5nTG9hZGluZyB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSW5mb1Rvb2x0aXBfaWNvbiB7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW5mb1Rvb2x0aXBfaWNvbjo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTctMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0lubGluZVNwaW5uZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggNnB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtM3B4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTktMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSW50ZXJhY3RpdmVUb29sdGlwX3dyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogMzk5OTtcclxufVxyXG5cclxuLm14X0ludGVyYWN0aXZlVG9vbHRpcCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogNTAwMTtcclxuICAgIGJveC1zaGFkb3c6XHJcbiAgICAgICAgMCAyNHB4IDhweCByZ2IoMTcgMTcgMjYgLyA0JSksXHJcbiAgICAgICAgMCA4cHggMzJweCByZ2IoMTcgMTcgMjYgLyA0JSk7XHJcbn1cclxuXHJcbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXAubXhfSW50ZXJhY3RpdmVUb29sdGlwX3dpdGhDaGV2cm9uX3RvcCB7XHJcbiAgICB0b3A6IDEwcHg7IC8qIDhweCBjaGV2cm9uICsgMnB4IHNwYWNpbmcgKi9cclxufVxyXG5cclxuLm14X0ludGVyYWN0aXZlVG9vbHRpcC5teF9JbnRlcmFjdGl2ZVRvb2x0aXBfd2l0aENoZXZyb25fbGVmdCB7XHJcbiAgICBsZWZ0OiAxMHB4OyAvKiA4cHggY2hldnJvbiArIDJweCBzcGFjaW5nICovXHJcbn1cclxuXHJcbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXAubXhfSW50ZXJhY3RpdmVUb29sdGlwX3dpdGhDaGV2cm9uX3JpZ2h0IHtcclxuICAgIHJpZ2h0OiAxMHB4OyAvKiA4cHggY2hldnJvbiArIDJweCBzcGFjaW5nICovXHJcbn1cclxuXHJcbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXAubXhfSW50ZXJhY3RpdmVUb29sdGlwX3dpdGhDaGV2cm9uX2JvdHRvbSB7XHJcbiAgICBib3R0b206IDEwcHg7IC8qIDhweCBjaGV2cm9uICsgMnB4IHNwYWNpbmcgKi9cclxufVxyXG5cclxuLm14X0ludGVyYWN0aXZlVG9vbHRpcF9jaGV2cm9uX3RvcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDhweCk7XHJcbiAgICB0b3A6IC04cHg7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyogQWRhcHRlZCBmcm9tIGh0dHBzOi8vY29keWhvdXNlLmNvL2Jsb2cvcG9zdC9jc3Mtcm91bmRlZC10cmlhbmdsZXMtd2l0aC1jbGlwLXBhdGggKi9cclxuLyogYnkgU2ViYXN0aWFubyBHdWVycmllcm8gKEBndWVycmllcm9fc2UpICovXHJcbkBzdXBwb3J0cyAoY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpKSB7XHJcbiAgICAubXhfSW50ZXJhY3RpdmVUb29sdGlwX2NoZXZyb25fdG9wIHtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgM3B4O1xyXG4gICAgICAgIHRvcDogY2FsYygtOHB4IC8gMS40MTQpOyAvKiBzcXJ0KDIpIGJlY2F1c2Ugb2Ygcm90YXRpb24gKi9cclxuICAgIH1cclxufVxyXG5cclxuLm14X0ludGVyYWN0aXZlVG9vbHRpcF9jaGV2cm9uX2JvdHRvbSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDhweCk7XHJcbiAgICBib3R0b206IC04cHg7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyogQWRhcHRlZCBmcm9tIGh0dHBzOi8vY29keWhvdXNlLmNvL2Jsb2cvcG9zdC9jc3Mtcm91bmRlZC10cmlhbmdsZXMtd2l0aC1jbGlwLXBhdGggKi9cclxuLyogYnkgU2ViYXN0aWFubyBHdWVycmllcm8gKEBndWVycmllcm9fc2UpICovXHJcbkBzdXBwb3J0cyAoY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpKSB7XHJcbiAgICAubXhfSW50ZXJhY3RpdmVUb29sdGlwX2NoZXZyb25fYm90dG9tIHtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgM3B4O1xyXG4gICAgICAgIGJvdHRvbTogY2FsYygtOHB4IC8gMS40MTQpOyAvKiBzcXJ0KDIpIGJlY2F1c2Ugb2Ygcm90YXRpb24gKi9cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ludml0ZVJlYXNvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcblxyXG4gICAgLm14X0ludml0ZVJlYXNvbl9yZWFzb24ge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ludml0ZVJlYXNvbl92aWV3IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBpbnNldDogMDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0ludml0ZVJlYXNvbl9oaWRkZW4ge1xyXG4gICAgLm14X0ludml0ZVJlYXNvbl9yZWFzb24ge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSW52aXRlUmVhc29uX3ZpZXcge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQsMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xhYmVsbGVkQ2hlY2tib3gge1xyXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xhbmd1YWdlRHJvcGRvd24ge1xyXG4gICAgLm14X0Ryb3Bkb3duX29wdGlvbiA+IGRpdiB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NaW5pQXZhdGFyVXBsb2FkZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IG1pbi1jb250ZW50O1xyXG5cclxuICAgIC5teF9NaW5pQXZhdGFyVXBsb2FkZXJfaW5kaWNhdG9yIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcblxyXG4gICAgICAgIHJpZ2h0OiAtNnB4O1xyXG4gICAgICAgIGJvdHRvbTogLTZweDtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cclxuICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuXHJcbiAgICAgICAgLm14X01pbmlBdmF0YXJVcGxvYWRlcl9jYW1lcmFJY29uIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9NaW5pQXZhdGFyVXBsb2FkZXJfaW5wdXQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUGlsbCB7XHJcbiAgICBwYWRkaW5nOiAkZm9udC0xcHggMC40ZW0gJGZvbnQtMXB4IDAuNGVtO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE3cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkZm9udC0xNnB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpICFpbXBvcnRhbnQ7IC8qIFRvIG92ZXJyaWRlIC5tYXJrZG93bi1ib2R5ICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlsbC1iZy1jb2xvciAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSAqL1xyXG4gICAgLyogRm9yIGVuaGFuY2VkIHZpc2liaWxpdHkgdW5kZXIgY29udHJhc3QgY29udHJvbCAqL1xyXG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgID4gKiB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9Vc2VyUGlsbF9tZSxcclxuICAgICYubXhfQXRSb29tUGlsbCxcclxuICAgICYubXhfS2V5d29yZFBpbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KSAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSAqL1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaWxsLWhvdmVyLWJnLWNvbG9yICFpbXBvcnRhbnQ7IC8qIFRvIG92ZXJyaWRlIC5tYXJrZG93bi1ib2R5ICovXHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaWxsLXByZXNzLWJnLWNvbG9yICFpbXBvcnRhbnQ7IC8qIFRvIG92ZXJyaWRlIC5tYXJrZG93bi1ib2R5ICovXHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9Vc2VyUGlsbF9tZTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxyXG4gICAgICAgICAgICAtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1ob3ZlcmVkXHJcbiAgICAgICAgKSAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSB8IHNhbWUgb24gYm90aCB0aGVtZXMgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKiBXZSBkb24ndCB3YW50IHRvIGluZGljYXRlIGNsaWNrYWJpbGl0eSAqL1xyXG4gICAgJi5teF9BdFJvb21QaWxsOmhvdmVyLFxyXG4gICAgJi5teF9LZXl3b3JkUGlsbDpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpICFpbXBvcnRhbnQ7IC8qIFRvIG92ZXJyaWRlIC5tYXJrZG93bi1ib2R5ICovXHJcbiAgICAgICAgY3Vyc29yOiB1bnNldDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUsXHJcbiAgICAubXhfQmFzZUF2YXRhciB7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTAuM2VtOyAvKiBPdGhlcndpc2UgdGhlIGdhcCBpcyB0b28gbGFyZ2UgKi9cclxuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMC4yZW07XHJcbiAgICAgICAgbWluLXdpZHRoOiAkZm9udC0xNnB4OyAvKiBlbnN1cmUgdGhlIGF2YXRhciBpcyBub3QgY29tcHJlc3NlZCAqL1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1BpbGxfdGV4dCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICBhJiB7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9QaWxsX0xpbmtJY29uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluay1leHRlcm5hbDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZzogMXB4O1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUGlsbF9Vc2VySWNvbiB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1NwYWNlUGlsbCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUG93ZXJTZWxlY3RvciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm14X1Bvd2VyU2VsZWN0b3IgLm14X0ZpZWxkIHNlbGVjdCxcclxuLm14X1Bvd2VyU2VsZWN0b3IgLm14X0ZpZWxkIGlucHV0IHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbnByb2dyZXNzLm14X1Byb2dyZXNzQmFyIHtcclxuICAgIGhlaWdodDogNnB4O1xyXG4gICAgd2lkdGg6IDYwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlcjogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xyXG5cclxuICAgIEBtaXhpbiBQcm9ncmVzc0JhckJvcmRlclJhZGl1cyA2cHg7XHJcbiAgICBAbWl4aW4gUHJvZ3Jlc3NCYXJDb2xvdXIgdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcclxuICAgIEBtaXhpbiBQcm9ncmVzc0JhckJnQ29sb3VyICRwcm9ncmVzc2Jhci1iZy1jb2xvcjtcclxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDFzO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUVJDb2RlIHtcclxuICAgIGltZyB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOCBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUmVwbHlDaGFpbiB7XHJcbiAgICBtYXJnaW46IDA7IC8qIFJlc2V0IGRlZmF1bHQgYmxvY2txdW90ZSBtYXJnaW4gKi9cclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tdXNlcm5hbWUtY29sb3IpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG5cclxuICAgIC5teF9SZXBseUNoYWluX3Nob3cge1xyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfaW5saW5lIHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogRW5mb3JjZSAnSW4gcmVwbHkgdG8nIHRvIGJlIGEgc2luZ2xlIGxpbmUgKi9cclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgZWFzZSAwLjE1cztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X1JlcGx5Q2hhaW5fY29sb3IxIHtcclxuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDEtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9SZXBseUNoYWluX2NvbG9yMiB7XHJcbiAgICAgICAgLS11c2VybmFtZS1jb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQyLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfUmVwbHlDaGFpbl9jb2xvcjMge1xyXG4gICAgICAgIC0tdXNlcm5hbWUtY29sb3I6ICR1c2VybmFtZS12YXJpYW50My1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1JlcGx5Q2hhaW5fY29sb3I0IHtcclxuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDQtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9SZXBseUNoYWluX2NvbG9yNSB7XHJcbiAgICAgICAgLS11c2VybmFtZS1jb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQ1LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfUmVwbHlDaGFpbl9jb2xvcjYge1xyXG4gICAgICAgIC0tdXNlcm5hbWUtY29sb3I6ICR1c2VybmFtZS12YXJpYW50Ni1jb2xvcjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUmVzaXplSGFuZGxlIHtcclxuICAgIGN1cnNvcjogcm93LXJlc2l6ZTtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG5cclxuICAgICYubXhfUmVzaXplSGFuZGxlLS1ob3Jpem9udGFsIHtcclxuICAgICAgICBtYXJnaW46IDAgLTVweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X1Jlc2l6ZUhhbmRsZS0tdmVydGljYWwge1xyXG4gICAgICAgIG1hcmdpbjogLTVweCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKiBYWFg6IGJsZXVyZ2gsIHdoYXQgaXMgdGhpcz8gVGhlc2UgY2xhc3NlcyB0b3RhbGx5IGJyZWFrIHRoZSBjb21wb25lbnQgKi9cclxuLyogbmFtaW5nIHNjaGVtZTsgaXQncyBjb21wbGV0ZWx5IHVuY2xlYXIgd2hlcmUgb3IgaG93IHRoZXkncmUgYmVpbmcgdXNlZCAqL1xyXG4vKiAtLU1hdHRoZXcgKi9cclxuXHJcbi5teF9NYXJrZG93bl9CT0xEIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ubXhfTWFya2Rvd25fSVRBTElDIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIC8qXHJcbiAgICAvLyBpbnRlcmVzdGluZ2x5LCAqbm90KiB1c2luZyB0aGUgZXhwbGljaXQgaXRhbGljIGZvbnRcclxuICAgIC8vIHZhcmlhbnQgc2VlbXMgeWllbGQgYmV0dGVyIHJlc3VsdHMuXHJcblxyXG4gICAgLy8gY29tcGVuc2F0ZSBmb3IgTnVuaXRvIGl0YWxpY3MgYmVpbmcgdGVycmlibGVcclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZm9udHMvaXNzdWVzLzE3MlxyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTRkZWcpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgKi9cclxufVxyXG5cclxuLm14X01hcmtkb3duX0NPREUge1xyXG4gICAgcGFkZGluZzogMC4yZW0gMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtc2l6ZTogODUlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0ZS1jb2RlLWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcblxyXG4ubXhfTWFya2Rvd25fSFIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcnRlLWJnLWNvbG9yO1xyXG59XHJcblxyXG4ubXhfTWFya2Rvd25fU1RSSUtFVEhST1VHSCB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxufVxyXG5cclxuLm14X0Vtb2ppIHtcclxuICAgIC8qIFNob3VsZCBiZSAxLjhyZW0gZm9yIG91ciBkZWZhdWx0IG1lc3NhZ2UgYm9kaWVzLCBhbmQgc2NhbGUgd2l0aCB0aGUgKi9cclxuICAgIC8qIHN1cnJvdW5kaW5nIHRleHQgKi9cclxuICAgIGZvbnQtc2l6ZTogbWF4KCRmb250LTE4cHgsIDFlbSk7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbUFsaWFzRmllbGQge1xyXG4gICAgLyogaWYgcGFyZW50IGlzIGEgZmxleCBjb250YWluZXIsIHRoaXMgYWxsb3dzIHRoZSAqL1xyXG4gICAgLyogd2lkdGggdG8gYmUgYXMgd2lkZSBhcyBuZWVkZWQsIGFuZCBub3QgMTAwJSAqL1xyXG4gICAgZmxleDogMCAxIGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dDo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRmllbGRfcHJlZml4LFxyXG4gICAgLm14X0ZpZWxkX3Bvc3RmaXgge1xyXG4gICAgICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIHBhZGRpbmc6IDlweCAxMHB4O1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9GaWVsZF9wb3N0Zml4IHtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgLyogdGhpcyBhbGxvd3MgdGhlIGRvbWFpbiBuYW1lIHRvIHNob3cgKi9cclxuICAgICAgICAvKiBhcyBsb25nIGFzIGl0IGRvZXNuJ3QgbWFrZSB0aGUgaW5wdXQgc2hyaW5rICovXHJcbiAgICAgICAgLyogaWYgaXQncyB0b28gYmlnLCBpdCBzaG93cyBhbiBlbGxpcHNpcyAqL1xyXG4gICAgICAgIC8qIDE4MDogMjggZm9yIHByZWZpeCwgMTUyIGZvciBpbnB1dCAqL1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTgwcHgpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU1NPQnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgLm14X1NTT0J1dHRvbnNfcm93ICsgLm14X1NTT0J1dHRvbnNfcm93IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TU09CdXR0b24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAgIHN2ZyxcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDhweDtcclxuICAgICAgICAgICAgdG9wOiA0cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NTT0J1dHRvbl9taW5pIHtcclxuICAgICAgICBzdmcsXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgLyogMzBweCBwYXJlbnQsIDI0cHggc2VsZiAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgKyAubXhfU1NPQnV0dG9uX21pbmkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZWFyY2hXYXJuaW5nIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgMTZweDtcclxuXHJcbiAgICA+ICoge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcblxyXG4gICAgPiBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2VydmVyUGlja2VyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctMTY7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDE0MSwgMTUxLCAxNjUsIDAuMik7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbi1jb250ZW50O1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0bztcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcblxyXG4gICAgPiBoMiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICBncmlkLXJvdzogMTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2VydmVyUGlja2VyX2hlbHAge1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU2VydmVyUGlja2VyX3NlcnZlciB7XHJcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgIGdyaWQtcm93OiAyO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NlcnZlclBpY2tlcl9jaGFuZ2Uge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIGdyaWQtcm93OiAyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXJ2ZXJQaWNrZXJfZGVzYyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDI7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TZXJ2ZXJQaWNrZXJfaGVscERpYWxvZyB7XHJcbiAgICAubXhfRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiA0NTZweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NldHRpbmdzRHJvcGRvd24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC5teF9TZXR0aW5nc0Ryb3Bkb3duX2xhYmVsIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS0xeCkgMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRHJvcGRvd25faW5wdXQge1xyXG4gICAgICAgIHdpZHRoOiAzNjBweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NldHRpbmdzRmxhZyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLm14X1RvZ2dsZVN3aXRjaCB7XHJcbiAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9TZXR0aW5nc0ZsYWdfdG9nZ2xlSW5Gcm9udCB7XHJcbiAgICAgICAgLm14X1RvZ2dsZVN3aXRjaCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1NldHRpbmdzRmxhZ19sYWJlbCB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xyXG59XHJcblxyXG4ubXhfU2V0dGluZ3NGbGFnX21pY3JvY29weSB7XHJcbiAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAvKiBTdXBwb3J0IGNvZGUvcHJlIGVsZW1lbnRzIGluIHNldHRpbmdzIGZsYWcgZGVzY3JpcHRpb25zICovXHJcbiAgICBwcmUsXHJcbiAgICBjb2RlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJG1vbm9zcGFjZS1mb250LWZhbWlseSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydGUtY29kZS1iZy1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2V0dGluZ3NUYWJfbWljcm9jb3B5X3dhcm5pbmc6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCLimqDvuI8gXCI7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NwaW5uZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLm14X01hdHJpeENoYXRfbWlkZGxlUGFuZWwgLm14X1NwaW5uZXIge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKipcclxuKiBUaGlzIGNvbXBvbmVudCBleHBlY3RzIHRoZSBwYXJlbnQgdG8gc3BlY2lmeSBhIHBvc2l0aXZlIHBhZGRpbmcgYW5kXHJcbiogd2lkdGhcclxuKi9cclxuXHJcbi5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XHJcbiAgICAkcmFkaW8tY2lyY2xlLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xyXG4gICAgJGFjdGl2ZS1yYWRpby1jaXJjbGUtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuXHJcbiAgICA+IC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jb250ZW50IHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fc3BhY2VyIHtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcblxyXG4gICAgICAgIGhlaWdodDogJGZvbnQtMTZweDtcclxuICAgICAgICB3aWR0aDogJGZvbnQtMTZweDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICAgIC8qIFJlbW92ZSB0aGUgT1MncyByZXByZXNlbnRhdGlvbiAqL1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcblxyXG4gICAgICAgICsgZGl2IHtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcclxuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC0xNnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogJGZvbnQtMTZweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsgLyogRm9yIHRoZSBoaWdobGlnaHQgb24gZm9jdXMgKi9cclxuXHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyYWRpby1jaXJjbGUtY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb250LTE2cHg7XHJcblxyXG4gICAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvbnQtOHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb250LThweDtcclxuXHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZm9udC04cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgICYgKyBkaXYge1xyXG4gICAgICAgICAgICAgICAgQG1peGluIHVucmVhbC1mb2N1cztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpjaGVja2VkIHtcclxuICAgICAgICAgICAgJiArIGRpdiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtcmFkaW8tY2lyY2xlLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgICAgICYgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtcmFkaW8tY2lyY2xlLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIEZvciBlbmhhbmNlZCB2aXNpYmlsaXR5IHVuZGVyIGNvbnRyYXN0IGNvbnRyb2wgKi9cclxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAmICsgZGl2LFxyXG4gICAgICAgICAgICAmICsgZGl2ICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmICsgZGl2IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHJhZGlvLWNpcmNsZS1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpjaGVja2VkOmRpc2FibGVkIHtcclxuICAgICAgICAgICAgJiArIGRpdiA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmFkaW8tY2lyY2xlLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9pbm5lckxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDRweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1N0eWxlZFJhZGlvQnV0dG9uX291dGxpbmVkIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1kYXJrZXItYmctY29sb3I7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuXHJcbi5teF9TdHlsZWRSYWRpb0J1dHRvbl9jaGVja2VkIHtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTcgTWljaGFlbCBUZWxhdHluc2tpIDw3dDNjaGd1eUBnbWFpbC5jb20+XHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TeW50YXhIaWdobGlnaHQge1xyXG4gICAgLyogaW5oaWJpdCBobGpzIHN0eWxpbmcgKi9cclxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkbGlnaHQtZmctY29sb3IgIWltcG9ydGFudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1RhZ0NvbXBvc2VyIHtcclxuICAgIC5teF9UYWdDb21wb3Nlcl9pbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogNzBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA4cHg7IC8qIG92ZXJyaWRlIGZyb20gYnV0dG9uIHN0eWxlcyAqL1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoOyAvKiBvdmVycmlkZSBkZWZhdWx0IHNldHRpbmdzdGFiIHN0eWxlICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRmllbGQsXHJcbiAgICAgICAgLm14X0ZpZWxkIGlucHV0LFxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgLyogU28gdGhleSBsb29rIHJlbGF0ZWQgdG8gZWFjaCBvdGhlciBieSBmZWVsaW5nIHRoZSBzYW1lICovXHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RhZ0NvbXBvc2VyX3RhZ3Mge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7IC8qIHRoaXMgcGx1cyAxMnB4IGZyb20gdGhlIHRhZ3MgbWFrZXMgMjRweCBmcm9tIHRoZSBpbnB1dCAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9UYWcge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVGFnIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgZ2FwOiA4cHg7XHJcbiAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcXVpbmFyeS1jb250ZW50O1xyXG5cclxuICAgID4gc3ZnOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICB3aWR0aDogMWVtO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RhZ19kZWxldGUge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDEuMDY2NjY2ZW07IC8qIDE2cHg7ICovXHJcbiAgICAgICAgaGVpZ2h0OiAxLjA2NjY2NmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkc3lzdGVtO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG4ubXhfVGV4dFdpdGhUb29sdGlwX3RhcmdldCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbn1cclxuXHJcbi5teF9UZXh0V2l0aFRvb2x0aXBfdG9vbHRpcCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Ub2dnbGVTd2l0Y2gge1xyXG4gICAgLS1Ub2dnbGVTd2l0Y2gtbWluLXdpZHRoOiAkZm9udC00NHB4O1xyXG5cclxuICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0IDAuMXMsXHJcbiAgICAgICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZS1vdXQgMC4xcztcclxuXHJcbiAgICB3aWR0aDogJGZvbnQtNDRweDtcclxuICAgIGhlaWdodDogJGZvbnQtMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcclxuICAgIHBhZGRpbmc6IDJweDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgICAmLm14X1RvZ2dsZVN3aXRjaF9lbmFibGVkIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuICAgICAgICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcclxuXHJcbiAgICAgICAgJi5teF9Ub2dnbGVTd2l0Y2hfb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5teF9Ub2dnbGVTd2l0Y2hfYmFsbCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfVG9nZ2xlU3dpdGNoX29uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcclxuXHJcbiAgICAgICAgPiAubXhfVG9nZ2xlU3dpdGNoX2JhbGwge1xyXG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAkZm9udC0yMHB4KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVG9nZ2xlU3dpdGNoX2JhbGwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6ICRmb250LTIwcHg7XHJcbiAgICBoZWlnaHQ6ICRmb250LTIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkZm9udC0yMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcclxuICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgbGVmdCAwLjE1cyBlYXNlLW91dCAwLjFzLFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1vdXQgMC4xcztcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1ZhbGlkYXRpb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWF4LXdpZHRoOiAyMDBweDtcclxufVxyXG5cclxuLm14X1ZhbGlkYXRpb25fZGV0YWlscyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5teF9WYWxpZGF0aW9uX2Rlc2NyaXB0aW9uICsgLm14X1ZhbGlkYXRpb25fZGV0YWlscyB7XHJcbiAgICBtYXJnaW46IDFlbSAwIDA7XHJcbn1cclxuXHJcbi5teF9WYWxpZGF0aW9uX2RldGFpbCB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfVmFsaWRhdGlvbl92YWxpZCB7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9WYWxpZGF0aW9uX2ludmFsaWQge1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5IFR1bGlyIEFzb2thbiA8dHVsaXJAbWF1bml1bS5uZXQ+XHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9FbW9qaVBpY2tlciB7XHJcbiAgICB3aWR0aDogMzQwcHg7XHJcbiAgICBoZWlnaHQ6IG1pbig0NTBweCwgODB2aCk7XHJcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX2JvZHkge1xyXG4gICAgZmxleDogMTtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICAgIHNjcm9sbGJhci1jb2xvcjogcmdiKDAsIDAsIDAsIDAuMikgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9oZWFkZXIge1xyXG4gICAgcGFkZGluZzogNHB4IDhweCAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZXNzYWdlLWFjdGlvbi1iYXItYm9yZGVyLWNvbG9yO1xyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xeCkgMDtcclxuICAgIC8qIFdlIGhhdmUgdG8gZXhwbGljaXRseSBpbmhlcml0IHRoZSBmb250IGFzIGJ1dHRvbiBicm93c2VyIHN0eWxlcyBhcmUgaW1wbGljaXRseSBpZ25vcmFudCAqL1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcclxuXHJcbiAgICB3aWR0aDogMzZweDtcclxuICAgIGhlaWdodDogMzZweDtcclxuXHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICBmaWx0ZXI6IG9wYWNpdHkoMC4zKTtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRhY2NlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9hbmNob3JfdmlzaWJsZSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGFjY2VudDtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX3NlYXJjaCB7XHJcbiAgICBtYXJnaW46IDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwO1xyXG5cclxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfc2VhcmNoX2ljb24ge1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcbiAgICBtYXJnaW46IDhweDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX2NhdGVnb3J5IHtcclxuICAgIHBhZGRpbmc6IDAgMTJweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX2NhdGVnb3J5X2xhYmVsIHtcclxuICAgIHdpZHRoOiAzMDRweDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tc2VtaWJvbGQpO1xyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfbGlzdCB7XHJcbiAgICB3aWR0aDogMzA0cHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfaXRlbV93cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB3aWR0aDogMzhweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmZvY3VzLXdpdGhpbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJnLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfYm9keV9zaG93SGlnaGxpZ2h0IC5teF9FbW9qaVBpY2tlcl9pdGVtX3dyYXBwZXIgW3RhYmluZGV4PVwiMFwiXSAubXhfRW1vamlQaWNrZXJfaXRlbSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9pdGVtIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMjBweDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9pdGVtX3NlbGVjdGVkIHtcclxuICAgIGNvbG9yOiByZ2IoMCwgMCwgMCwgMC41KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQ7XHJcbiAgICBwYWRkaW5nOiA0cHg7XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9jYXRlZ29yeV9sYWJlbCxcclxuLm14X0Vtb2ppUGlja2VyX3ByZXZpZXdfbmFtZSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LTE2cHg7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX2Zvb3RlciB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG1lc3NhZ2UtYWN0aW9uLWJhci1ib3JkZXItY29sb3I7XHJcbiAgICBtaW4taGVpZ2h0OiA3MnB4O1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfcHJldmlld19lbW9qaSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LTMycHg7XHJcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX3ByZXZpZXdfdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX25hbWUge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9zaG9ydGNvZGUge1xyXG4gICAgY29sb3I6ICRsaWdodC1mZy1jb2xvcjtcclxuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG5cclxuICAgICY6OmJlZm9yZSxcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIjpcIjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX3F1aWNrIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX3F1aWNrX2hlYWRlciAubXhfRW1vamlQaWNrZXJfbmFtZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQ1xyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTG9jYXRpb25QaWNrZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIC8qIHdoZW4gdGhlcmUgYXJlIGVycm9ycyBsb2FkaW5nIHRoZSBtYXAgKi9cclxuICAgIC8qIHRoZSBjYW52YXMgaXMgc3RpbGwgaW5zZXJ0ZWQgKi9cclxuICAgIC8qIGFuZCBjYW4gb3ZlcmxhcCBlcnJvciBtZXNzYWdlL2Nsb3NlIGJ1dHRvbnMgKi9cclxuICAgIC8qIGhpZGUgaXQgKi9cclxuICAgICYubXhfTG9jYXRpb25QaWNrZXJfaGFzRXJyb3Ige1xyXG4gICAgICAgIC5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIsXHJcbiAgICAgICAgLm1hcGxpYnJlZ2wtY29udHJvbC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjbXhfTG9jYXRpb25QaWNrZXJfbWFwIHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgICAgIGZsZXg6IDE7XHJcblxyXG4gICAgICAgIC5tYXBsaWJyZWdsLWN0cmwubWFwbGlicmVnbC1jdHJsLWdyb3VwLFxyXG4gICAgICAgIC5tYXBsaWJyZWdsLWN0cmwubWFwbGlicmVnbC1jdHJsLWF0dHJpYiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctMTY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWFwbGlicmVnbC1jdHJsLm1hcGxpYnJlZ2wtY3RybC1ncm91cCB7XHJcbiAgICAgICAgICAgIC8qIHBsYWNlIGJlbG93IHRoZSBjbG9zZSBidXR0b24gKi9cclxuICAgICAgICAgICAgLyogcGFkZGluZy0xNiArIDI0cHggY2xvc2UgYnV0dG9uICsgcGFkZGluZy0xMCAqL1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1hY2N1cmFjeS1jaXJjbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTG9jYXRpb25QaWNrZXJfZm9vdGVyIHtcclxuICAgICAgICBmbGV4OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctMTY7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcclxuXHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcclxuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0xvY2F0aW9uUGlja2VyX3BpblRleHQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAkc3BhY2luZy0xNjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggMTVweCByZ2IoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0xvY2F0aW9uUGlja2VyX3N1Ym1pdEJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNDhweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NhbGxFdmVudF93cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm14X0NhbGxFdmVudCB7XHJcbiAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTg7XHJcblxyXG4gICAgPiAubXhfQmFzZUF2YXRhcixcclxuICAgID4gLm14X0ljb24ge1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgPiAubXhfSWNvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTQgMDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9MaXZlQ29udGVudFN1bW1hcnkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAtLWZhY2VwaWxlLWJhY2tncm91bmQ6ICRzeXN0ZW07XHJcbn1cclxuXHJcbi5teF9DYWxsRXZlbnRfdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IC8qIGluIHB4IHRvIG1hdGNoIHRoZSBhdmF0YXIgKi9cclxufVxyXG5cclxuLm14X0NhbGxFdmVudF9pbmFjdGl2ZSAubXhfQ2FsbEV2ZW50X3RpdGxlIHN2ZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xyXG59XHJcblxyXG4ubXhfQ2FsbEV2ZW50X2FjdGl2ZSAubXhfQ2FsbEV2ZW50X3RpdGxlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG59XHJcblxyXG4ubXhfQ2FsbEV2ZW50X2NvbHVtbnMge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogJHNwYWNpbmctMTI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4ubXhfVGltZWxpbmVDYXJkIC5teF9DYWxsRXZlbnRfY29sdW1ucyB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbi5teF9DYWxsRXZlbnRfZGV0YWlscyB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDZweDtcclxufVxyXG5cclxuLm14X0NhbGxFdmVudF9idXR0b24ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1pbi13aWR0aDogMTIwcHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE4LTIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9DcmVhdGVFdmVudCB7XHJcbiAgICBtYXJnaW46IHZhcigtLUV2ZW50VGlsZUJ1YmJsZV9tYXJnaW4tYmxvY2spIGF1dG87XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBjb2xvcjogJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLyoqIERpc2FtYmlndWF0ZWQgcHJvZmlsZSBuZWVkcyB0byBoYXZlIGEgZGlmZmVyZW50IGxheW91dCBpbiB0aGUgbWVtYmVyIHRpbGUgKi9cclxuLm14X01lbWJlclRpbGVWaWV3IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfbXhpZCB7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgc3Bhbjpub3QoLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX214aWQpIHtcclxuICAgICAgICAvKipcclxuICAgICAgICBJbiBhIG1lbWJlciB0aWxlLCB0aGlzIHNwYW4gZWxlbWVudCBpcyBhIGZsZXggY2hpbGQgYW5kIHNvXHJcbiAgICAgICAgd2UgbmVlZCB0aGUgZm9sbG93aW5nIGZvciB0ZXh0IG92ZXJmbG93IHRvIHdvcmsuXHJcbiAgICAgICAgKiovXHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLm14X0xlZ2FjeUNhbGxFdmVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6ICRzcGFjaW5nLTQgMDtcclxuXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctNCAwO1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTEyICRzcGFjaW5nLTI0O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstcGFuZWwtYmctY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIHdpZHRoOiA2NSU7XHJcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuXHJcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF9pY29uQnV0dG9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2luZm8ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfaW5mb19iYXNpYyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGdhcDogJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyAvKiBUbyBtYXRjaCBteF9MZWdhY3lDYWxsRXZlbnQgKi9cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3NlbmRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctNDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy0xMjsgLyogU2VlIG14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbnMgKi9cclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogNDJweDsgLyogYXZhdGFyICgzMnB4KSArIG14X0xlZ2FjeUNhbGxFdmVudF9pbmZvX2Jhc2ljIG1hcmdpbiAoMTBweCkgKi9cclxuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcclxuXHJcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfY29udGVudF9idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQG1peGluIExlZ2FjeUNhbGxCdXR0b247XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTEyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnRfdG9vbHRpcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9MZWdhY3lDYWxsRXZlbnRfbmFycm93IHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xyXG4gICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTQgJHNwYWNpbmctMTY7XHJcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjkwcHg7XHJcblxyXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2ljb25CdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGVfaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IC0ycHg7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAubXhfRXZlbnRUaWxlX2UyZUljb24gKyAubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIge1xyXG4gICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAvKiA1cHggKGdhcCkgKyAxNHB4IChlMmUgaWNvbiBzaXplICogbWFzay1zaXplKSArIDlweCAobWFyZ2luLWxlZnQgb2YgZTJlIGljb24pICovXHJcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDVweCArIDE0cHggKyA5cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZV9sZWZ0QWxpZ25lZEJ1YmJsZSB7XHJcbiAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIge1xyXG4gICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnQge1xyXG4gICAgICAgICAgICAmLm14X0xlZ2FjeUNhbGxFdmVudF9uYXJyb3cge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy04ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JUkNMYXlvdXQge1xyXG4gICAgLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIHtcclxuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJHNwYWNpbmctNDsgLyogZGlzcGxheSBncmVlbiBsaW5lICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUdWxpciBBc29rYW4gPHR1bGlyQG1hdW5pdW0ubmV0PlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTUltYWdlUmVwbHlCb2R5LFxyXG4ubXhfTVN0aWNrZXJCb2R5X3dyYXBwZXIge1xyXG4gICAgLm14X01JbWFnZUJvZHlfYmFubmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAkc3BhY2luZy00O1xyXG4gICAgICAgIGxlZnQ6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctNDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1NQm9keS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBtaW4oMTAwJSwgMzUwcHgpO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCwgMC42KTtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTUltYWdlQm9keV9wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAgICAgLm14X0JsdXJoYXNoID4gY2FudmFzIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBteC0tYW5pbS1wdWxzZSAxLjc1cyBpbmZpbml0ZSBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTUltYWdlQm9keV90aHVtYm5haWxfY29udGFpbmVyIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1NQm9keS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGNvbnRhaW46IHBhaW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NSW1hZ2VCb2R5X3RodW1ibmFpbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NSW1hZ2VCb2R5X2dpZkxhYmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgbGVmdDogMTRweDtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZWJvZHktZ2lmbGFiZWw7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGltYWdlYm9keS1naWZsYWJlbC1ib3JkZXI7XHJcbiAgICAgICAgY29sb3I6ICRpbWFnZWJvZHktZ2lmbGFiZWwtY29sb3I7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9NSW1hZ2VSZXBseUJvZHkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGNvbHVtbi1nYXA6ICRzcGFjaW5nLTQ7XHJcblxyXG4gICAgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lciB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7IC8qIFByZXZlbnQgYSBibG93b3V0ICovXHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NTG9jYXRpb25Cb2R5IHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAubXhfTUxvY2F0aW9uQm9keV9tYXAge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogNDUwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICB6LWluZGV4OiAwOyAvKiBrZWVwcyB0aGUgZW50aXJlIG1hcCB1bmRlciB0aGUgbWVzc2FnZSBhY3Rpb24gYmFyICovXHJcblxyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLU1Cb2R5LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLyogSW4gdGhlIHRpbWVsaW5lLCB3ZSBmaXQgdGhlIHdpZHRoIG9mIHRoZSBjb250YWluZXIgKi9cclxuLm14X0V2ZW50VGlsZV9saW5lIC5teF9NTG9jYXRpb25Cb2R5IC5teF9NTG9jYXRpb25Cb2R5X21hcCB7XHJcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NTG9jYXRpb25Cb2R5IC5teF9NTG9jYXRpb25Cb2R5X21hcCB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogNDUwcHg7XHJcbn1cclxuXHJcbi5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB+IC5teF9NTG9jYXRpb25Cb2R5IHtcclxuICAgIG1hcmdpbi10b3A6IDZweDsgLyogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbWF0cml4LW9yZy9tYXRyaXgtcmVhY3Qtc2RrL3B1bGwvODQ0MiAqL1xyXG59XHJcblxyXG4ubXhfUmVwbHlUaWxlIC5teF9NTG9jYXRpb25Cb2R5IHtcclxuICAgIC8qIFByZXZlbnQgY2xpY2tpbmcgYSBsb2NhdGlvbiB3aXRoaW4gYSByZXBseSAqL1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbiRwb2xsLW1heC13aWR0aDogNTUwcHg7XHJcblxyXG4ubXhfTVBvbGxCb2R5IHtcclxuICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICBtaW4td2lkdGg6IDA7IC8qIE92ZXJyaWRlIGZpZWxkc2V0IGRlZmF1bHQgbWluLXdpZHRoOiBtaW4tY29udGVudCAqL1xyXG4gICAgd2lkdGg6IDEwMCU7IC8qIEVuc3VyZSBmaWVsZHNldCB0YWtlcyBmdWxsIGF2YWlsYWJsZSB3aWR0aCAqL1xyXG4gICAgYm9yZGVyOiBub25lOyAvKiBSZW1vdmUgZGVmYXVsdCBmaWVsZHNldCBib3JkZXIgKi9cclxuICAgIHBhZGRpbmc6IDA7IC8qIFJlbW92ZSBkZWZhdWx0IGZpZWxkc2V0IHBhZGRpbmcgKi9cclxuXHJcbiAgICBsZWdlbmQge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbGcpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTVBvbGxCb2R5X2VkaXRlZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcm9vbXRvcGljLWNvbG9yO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01Qb2xsQm9keV90b3RhbFZvdGVzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmxpbmU7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuXHJcbiAgICAgICAgLm14X1NwaW5uZXIge1xyXG4gICAgICAgICAgICBmbGV4OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctODtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFByZXZlbnQgY2xpY2tpbmcgYSBwb2xsIHdpdGhpbiBhIHJlcGx5ICovXHJcbi5teF9SZXBseVRpbGUgLm14X01Qb2xsQm9keSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLm14X01Qb2xsQm9keV9hbGxPcHRpb25zIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTE2O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxuICAgIG1heC13aWR0aDogJHBvbGwtbWF4LXdpZHRoO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NU3RpY2tlckJvZHlfd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDBweDtcclxufVxyXG5cclxuLm14X01TdGlja2VyQm9keV9oaWRkZW4ge1xyXG4gICAgbWF4LXdpZHRoOiAyMjBweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAvKiBUbyBjZW50ZXIgdGhlIHRleHQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgZnJhbWUgKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9NU3RpY2tlckJvZHlfcGxhY2Vob2xkZXIge1xyXG4gICAgLyogY2VudGVyaW5nICovXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDQwcHgpO1xyXG4gICAgdG9wOiBjYWxjKDUwJSAtIDQwcHgpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NZXNzYWdlQWN0aW9uQmFyIHtcclxuICAgIC0tTWVzc2FnZUFjdGlvbkJhci1zaXplLWJ1dHRvbjogMjhweDtcclxuICAgIC0tTWVzc2FnZUFjdGlvbkJhci1zaXplLW1hcmdpbjogM3B4O1xyXG5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogY2FsYyhcclxuICAgICAgICAtMSAqXHJcbiAgICAgICAgICAgIChcclxuICAgICAgICAgICAgICAgIHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1idXR0b24pICsgMiAqXHJcbiAgICAgICAgICAgICAgICAgICAgKHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1tYXJnaW4pICsgdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSlcclxuICAgICAgICAgICAgKVxyXG4gICAgKTtcclxuICAgIHJpZ2h0OiA4cHg7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC8qIEVuc3VyZSB0aGUgYWN0aW9uIGJhciBhcHBlYXJzIGFib3ZlIG90aGVyIHRoaW5ncyBsaWtlIHRoZSByZWFkIG1hcmtlciAqL1xyXG4gICAgLyogYW5kIHNlbmRlciBhdmF0YXIgKGZvciBzbWFsbCBzY3JlZW5zKSAqL1xyXG4gICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgLyogQWRkcyBhIHByZXZpb3VzIGV2ZW50IHNhZmUgYXJlYSBzbyB0aGF0IHlvdSBjYW4ndCBhY2NpZGVudGFsbHkgaG92ZXIgdGhlICovXHJcbiAgICAvKiBwcmV2aW91cyBldmVudCB3aGlsZSB0cnlpbmcgdG8gbW91c2UgaW50byB0aGUgYWN0aW9uIGJhciBvciBmcm9tIHRoZSAqL1xyXG4gICAgLyogcmVhY3QgYnV0dG9uIHRvIGl0cyB0b29sdGlwLiAqL1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAvKiB0b29sdGlwIHNhZmUgbW91c2luZyBhcmVhICsgdG9vbHRpcCBvdmVyaGFuZyArICovXHJcbiAgICAgICAgLyogYWN0aW9uIGJhciArIGFjdGlvbiBiYXIgb2Zmc2V0IGZyb20gZXZlbnQgKi9cclxuICAgICAgICB3aWR0aDogY2FsYygxMHB4ICsgNDhweCArIDEwMCUgKyA4cHgpO1xyXG4gICAgICAgIC8qIHNhZmUgYXJlYSArIGFjdGlvbiBiYXIgKi9cclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMjBweCArIDEwMCUpO1xyXG4gICAgICAgIHRvcDogLTEycHg7XHJcbiAgICAgICAgbGVmdDogLTU4cHg7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgY3Vyc29yOiBpbml0aWFsO1xyXG5cclxuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxpbmUtbGVuZ3RoICovXHJcbiAgICAgICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdXHJcbiAgICAgICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV90b2dnbGVcclxuICAgICAgICAgICAgfiAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdW5zdHlsZWRMaXN0XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfaW5mbzpmaXJzdC1vZi10eXBlXHJcbiAgICAgICAgICAgICYge1xyXG4gICAgICAgICAgICAvKiBpbXByb3ZlIGNsaWNrYWJpbGl0eSBvZiBcImNvbGxhcHNlXCIgbGluayBidXR0b24gb24gYnViYmxlIGxheW91dCBieSByZWR1Y2luZyB3aWR0aCBhbmQgaGVpZ2h0IHZhbHVlcyAqL1xyXG4gICAgICAgICAgICAvKiBteF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV90b2dnbGUgfjogdG8gYXBwbHkgcnVsZXMgdG8gYWN0aW9uIGJhciB3aGVuIFwiY29sbGFwc2VcIiBidXR0b24gaXMgYXZhaWxhYmxlICovXHJcbiAgICAgICAgICAgIC8qIG14X0V2ZW50VGlsZV9pbmZvOmZpcnN0LW9mLXR5cGU6IHRvIGFwcGx5IHJ1bGVzIHRvIHRoZSBpbmZvIGV2ZW50IHRpbGUganVzdCB1bmRlciBcImNvbGxhcHNlXCIgYnV0dG9uICovXHJcbiAgICAgICAgICAgIC8qIFRPRE86IHVzZSBhIG5ldyBjbGFzcyBuYW1lIGluc3RlYWQgKi9cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9pbmZvIC5teF9WaWV3U291cmNlRXZlbnQgfiAmIHtcclxuICAgICAgICAgICAgLyogaW1wcm92ZSBjbGlja2FiaWxpdHkgb2YgdmlldyBzb3VyY2UgZXZlbnQgdG9nZ2xlIGJ1dHRvbiBieSByZW1vdmluZyB2ZXJ0aWNhbCBzYWZlIGFyZWEgKi9cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1RleHR1YWxFdmVudCB7XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVZpZXdfc2VhcmNoUmVzdWx0c1BhbmVsICYge1xyXG4gICAgICAgIG9wYWNpdHk6IHVuc2V0OyAvKiBVbnNldCB0aGUgb3BhY2l0eSB2YWx1ZSBzcGVjaWZpZWQgYWJvdmUgb24gdGhlIHNlYXJjaCByZXN1bHRzIHBhbmVsICovXHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9UZXh0dWFsQm9keV91cmxQcmV2aWV3cyB7XHJcbiAgICAvKiBMZXQgc2hhcmVkLWNvbXBvbmVudHMgb3duIHByZXZpZXcgbGluayBjb2xvdXJzIGluc3RlYWQgb2YgdGhlIGFwcC13aWRlIGFuY2hvciBjb2xvdXIuICovXHJcbiAgICBhOndoZXJlKDpub3QoW2RhdGEta2luZF0pKTpob3ZlcixcclxuICAgIGE6d2hlcmUoOm5vdChbZGF0YS1raW5kXSkpOmxpbmssXHJcbiAgICBhOndoZXJlKDpub3QoW2RhdGEta2luZF0pKTp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogcmV2ZXJ0LWxheWVyO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI2IEVsZW1lbnQgQ3JlYXRpb25zIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X1RocmVhZEFjdGlvbkJhciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB0b3A6IGNhbGMoLTEgKiAoMjhweCArIDIgKiAoM3B4ICsgdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSkpKTtcclxuICAgIHJpZ2h0OiA4cHg7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC8qIEVuc3VyZSB0aGUgYWN0aW9uIGJhciBhcHBlYXJzIGFib3ZlIG90aGVyIHRoaW5ncyBsaWtlIHRoZSByZWFkIG1hcmtlciAqL1xyXG4gICAgLyogYW5kIHNlbmRlciBhdmF0YXIgKGZvciBzbWFsbCBzY3JlZW5zKSAqL1xyXG4gICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgLyogQWRkcyBhIHByZXZpb3VzIGV2ZW50IHNhZmUgYXJlYSBzbyB0aGF0IHlvdSBjYW4ndCBhY2NpZGVudGFsbHkgaG92ZXIgdGhlICovXHJcbiAgICAvKiBwcmV2aW91cyBldmVudCB3aGlsZSB0cnlpbmcgdG8gbW91c2UgaW50byB0aGUgYWN0aW9uIGJhciBvciBmcm9tIHRoZSAqL1xyXG4gICAgLyogcmVhY3QgYnV0dG9uIHRvIGl0cyB0b29sdGlwLiAqL1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAvKiB0b29sdGlwIHNhZmUgbW91c2luZyBhcmVhICsgdG9vbHRpcCBvdmVyaGFuZyArICovXHJcbiAgICAgICAgLyogYWN0aW9uIGJhciArIGFjdGlvbiBiYXIgb2Zmc2V0IGZyb20gZXZlbnQgKi9cclxuICAgICAgICB3aWR0aDogY2FsYygxMHB4ICsgNDhweCArIDEwMCUgKyA4cHgpO1xyXG4gICAgICAgIC8qIHNhZmUgYXJlYSArIGFjdGlvbiBiYXIgKi9cclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMjBweCArIDEwMCUpO1xyXG4gICAgICAgIHRvcDogLTEycHg7XHJcbiAgICAgICAgbGVmdDogLTU4cHg7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgY3Vyc29yOiBpbml0aWFsO1xyXG5cclxuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxpbmUtbGVuZ3RoICovXHJcbiAgICAgICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdXHJcbiAgICAgICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV90b2dnbGVcclxuICAgICAgICAgICAgfiAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdW5zdHlsZWRMaXN0XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfaW5mbzpmaXJzdC1vZi10eXBlXHJcbiAgICAgICAgICAgICYge1xyXG4gICAgICAgICAgICAvKiBpbXByb3ZlIGNsaWNrYWJpbGl0eSBvZiBcImNvbGxhcHNlXCIgbGluayBidXR0b24gb24gYnViYmxlIGxheW91dCBieSByZWR1Y2luZyB3aWR0aCBhbmQgaGVpZ2h0IHZhbHVlcyAqL1xyXG4gICAgICAgICAgICAvKiBteF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV90b2dnbGUgfjogdG8gYXBwbHkgcnVsZXMgdG8gYWN0aW9uIGJhciB3aGVuIFwiY29sbGFwc2VcIiBidXR0b24gaXMgYXZhaWxhYmxlICovXHJcbiAgICAgICAgICAgIC8qIG14X0V2ZW50VGlsZV9pbmZvOmZpcnN0LW9mLXR5cGU6IHRvIGFwcGx5IHJ1bGVzIHRvIHRoZSBpbmZvIGV2ZW50IHRpbGUganVzdCB1bmRlciBcImNvbGxhcHNlXCIgYnV0dG9uICovXHJcbiAgICAgICAgICAgIC8qIFRPRE86IHVzZSBhIG5ldyBjbGFzcyBuYW1lIGluc3RlYWQgKi9cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9pbmZvIC5teF9WaWV3U291cmNlRXZlbnQgfiAmIHtcclxuICAgICAgICAgICAgLyogaW1wcm92ZSBjbGlja2FiaWxpdHkgb2YgdmlldyBzb3VyY2UgZXZlbnQgdG9nZ2xlIGJ1dHRvbiBieSByZW1vdmluZyB2ZXJ0aWNhbCBzYWZlIGFyZWEgKi9cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTksIDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9jcnlwdG9FdmVudCB7XHJcbiAgICBtYXJnaW46IHZhcigtLUV2ZW50VGlsZUJ1YmJsZV9tYXJnaW4tYmxvY2spIGF1dG87XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Qb2xsSGlzdG9yeV9jb250ZW50IHtcclxuICAgIGhlaWdodDogNjAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLm14X1BvbGxIaXN0b3J5X2hlYWRlci5teF9IZWFkaW5nX2gyIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTE2O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUG9sbEhpc3RvcnlMaXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ubXhfUG9sbEhpc3RvcnlMaXN0X2xpc3Qge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luLWJsb2NrOiAwO1xyXG4gICAgcGFkZGluZy1pbmxpbmU6IDA7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAkc3BhY2luZy0yMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLTY0O1xyXG4gICAgbWFyZ2luOiAkc3BhY2luZy0zMiAwO1xyXG5cclxuICAgICYubXhfUG9sbEhpc3RvcnlMaXN0X2xpc3RfRU5ERUQge1xyXG4gICAgICAgIGdhcDogJHNwYWNpbmctMzI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Qb2xsSGlzdG9yeUxpc3Rfbm9SZXN1bHRzIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctNjQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgLm14X1BvbGxIaXN0b3J5TGlzdF9sb2FkTW9yZVBvbGxzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1BvbGxIaXN0b3J5TGlzdF9sb2FkaW5nIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLy8gY2VudGVyIGluIGFsbCBmcmVlIHNwYWNlXHJcbiAgICAvLyB3aGVuIHRoZXJlIGFyZSBubyByZXN1bHRzXHJcbiAgICAmLm14X1BvbGxIaXN0b3J5TGlzdF9ub1Jlc3VsdHNZZXQge1xyXG4gICAgICAgIG1hcmdpbjogYXV0byBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUG9sbEhpc3RvcnlMaXN0X2xvYWRNb3JlUG9sbHMge1xyXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQmFzZUNhcmQge1xyXG4gICAgLS1CYXNlQ2FyZF9FdmVudFRpbGVfbGluZS1wYWRkaW5nLWJsb2NrOiAycHg7XHJcbiAgICAtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZTogMzZweDtcclxuICAgIC0tQmFzZUNhcmRfaGVhZGVyLWJ1dHRvbi1zaXplOiAyOHB4O1xyXG5cclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1tZCk7XHJcblxyXG4gICAgLm14X0Jhc2VDYXJkX2hlYWRlciB7XHJcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAvKiBjaGFuZ2luZyB0aGUgY29sb3IgZnJvbSAkc2VwYXJhdG9yIHRvIHRyYW5zcGFyZW50IGFzIGl0IGlzXHJcbiAgICAgICAgICAgdGhlIGJlc3QgdmlzdWFsIG91dHB1dCBkdXJpbmcgdGhlIHRyYW5zaXRpb24gcGVyaW9kLiBUaGlzIHdpbGwgYmVcclxuICAgICAgICAgICByZWludHJvZHVjZWQgYXQgYSBsYXRlciBzdGFnZS4gKi9cclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCAkc2VwYXJhdG9yO1xyXG5cclxuICAgICAgICAubXhfQmFzZUNhcmRfaGVhZGVyX3NwYWNlciB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDQ0cHg7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuXHJcbiAgICAgICAgICAgIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGVfaGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGVfYnV0dG9uLS1vcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGModmFyKC0tQmFzZUNhcmRfaGVhZGVyLWJ1dHRvbi1zaXplKSAtIDRweCk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tQmFzZUNhcmRfaGVhZGVyLWJ1dHRvbi1zaXplKSAtIDRweCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F1dG9IaWRlU2Nyb2xsYmFyIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Jhc2VDYXJkX2Zvb3RlciB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfc2Vjb25kYXJ5IHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE0MSwgMTUxLCAxNjUsIDAuMik7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlIHtcclxuICAgIC5teF9Db250ZXh0dWFsTWVudSB7XHJcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XHJcblxyXG4gICAgICAgIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDI0cHggcmdiKDAsIDAsIDAsIDAuMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NvbnRleHR1YWxNZW51X2NoZXZyb25fdG9wIHtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIHJpZ2h0OiAyMnB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBib3JkZXI6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC04cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRW1wdHlTdGF0ZSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiA1NnB4O1xyXG4gICAgICAgIGhlaWdodDogNTZweDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgLyogQmxvb20gdXNpbmcgbWFnaWMgbnVtYmVycyBkaXJlY3RseSBvdXQgb2YgRmlnbWEgKi9cclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB3aWR0aDogNjQycHg7XHJcbiAgICAgICAgaGVpZ2h0OiA3NzVweDtcclxuICAgICAgICByaWdodDogLTI1My43N3B4O1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoNDkuOTUlIDQ5Ljk1JSBhdCA1MCUgNTAlLCByZ2IoMTMsIDE4OSwgMTM5LCAwLjEyKSAwJSwgcmdiKDE4LCAxMTUsIDIzNSwgMCkgMTAwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTg5LjY5ZGVnKTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRW5jcnlwdGlvbkluZm9fc3Bpbm5lciB7XHJcbiAgICAubXhfU3Bpbm5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0V4dGVuc2lvbnNDYXJkIHtcclxuICAgIC0tY3BkLXNlcGFyYXRvci1zcGFjaW5nOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgLS1BZGRFeHRlbnNpb24tb3ZlcmxhcDogLTc2cHg7XHJcbiAgICAubXhfQXV0b0hpZGVTY3JvbGxiYXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgICAgIC8qIFN0eWxpbmcgZm9yIHRoZSBcIkFkZCBleHRlbnNpb25zXCIgYnV0dG9uICovXHJcbiAgICAgICAgJiA+IGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRXh0ZW5zaW9uc0NhcmRfY29udGFpbmVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0yMCB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V4dGVuc2lvbnNDYXJkX0J1dHRvbiB7XHJcbiAgICAgICAgLyogdGhpcyBidXR0b24gaXMgc3BlY2lhbCBzbyB3ZSBoYXZlIHRvIG92ZXJyaWRlIHNvbWUgb2YgdGhlIG9yaWdpbmFsIHN0eWxpbmcgKi9cclxuICAgICAgICAvKiBhcyB3ZSB3aWxsIGJlIGFwcGx5aW5nIGl0IGluIGl0cyBjaGlsZHJlbiAqL1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC5teF9XaWRnZXRBdmF0YXIge1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FeHRlbnNpb25zQ2FyZF9pY29uX2FwcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTEyeCkgdmFyKC0tY3BkLXNwYWNlLTJ4KSB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9waW5Ub2dnbGUsXHJcbiAgICAgICAgLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9vcHRpb25zIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTsgLyogdG8gZ2l2ZSBiaWdnZXIgaW50ZXJhY3RpdmUgem9uZSAqL1xyXG4gICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7IC8qIGVxdWFsIHRvIHBhZGRpbmctdG9wIG9mIHBhcmVudCAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTQxLCAxNTEsIDE2NSwgMC4xKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9waW5Ub2dnbGUge1xyXG4gICAgICAgICAgICByaWdodDogOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9vcHRpb25zIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDMycHg7IC8qIDI0ICsgOCAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FeHRlbnNpb25zQ2FyZF9CdXR0b25fcGlubmVkIHtcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRXh0ZW5zaW9uc0NhcmRfYXBwX3BpblRvZ2dsZSBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7IC8qIHJlLWFsaWduIGJhc2VkIG9uIHRoZSBoZWlnaHQgY2hhbmdlICovXHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBwYXNzIHRocm91Z2ggdG8gdGhlIHJlYWwgYnV0dG9uICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIFNldCBsYXlvdXQgZm9yIGV2ZXJ5b25lIGJ1dHRvbiAqL1xyXG4gICAgYVtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMTB4KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRW1wdHlTdGF0ZTo6YmVmb3JlIHtcclxuICAgICAgICAvKiBPdmVybGFwIHRoZSBBZGQgZXh0ZW5zaW9ucyBidXR0b24gKi9cclxuICAgICAgICB0b3A6IHZhcigtLUFkZEV4dGVuc2lvbi1vdmVybGFwKTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRW1wdHlTdGF0ZSB7XHJcbiAgICAgICAgLyogU3RvcCBlbXB0eSBzdGF0ZSBzY3JvbGxpbmcgKi9cclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIHZhcigtLUFkZEV4dGVuc2lvbi1vdmVybGFwKSk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9QaW5uZWRNZXNzYWdlc0NhcmQge1xyXG4gICAgLS11bnBpbi1oZWlnaHQ6IDc2cHg7XHJcblxyXG4gICAgLm14X1Bpbm5lZE1lc3NhZ2VzQ2FyZF93cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuXHJcbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VzQ2FyZF9TZXBhcmF0b3Ige1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIC8qIE92ZXJyaWRlIGRlZmF1bHQgY29tcG91bmQgdmFsdWUgKi9cclxuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUGlubmVkTWVzc2FnZXNDYXJkX3dyYXBwZXJfdW5waW5fYWxsIHtcclxuICAgICAgICAvKiBSZW1vdmUgdGhlIHVucGluIGFsbCBidXR0b24gaGVpZ2h0IGFuZCB0aGUgdG9wIGFuZCBib3R0b20gcGFkZGluZyAgKi9cclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLXVucGluLWhlaWdodCkgLSBjYWxjKHZhcigtLWNwZC1zcGFjZS00eCkgKiAyKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Bpbm5lZE1lc3NhZ2VzQ2FyZF91bnBpbiB7XHJcbiAgICAgICAgLyogTWFrZSBpdCBmbG9hdCBhdCB0aGUgYm90dG9tIG9mIHRoZSB1bnBpbiBwYW5lbCAqL1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS11bnBpbi1oZWlnaHQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IDAgcmdiKDI3LCAyOSwgMzQsIDAuMSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2JvZHkge1xyXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQsIDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tU3VtbWFyeUNhcmQge1xyXG4gICAgLS1jcGQtc2VwYXJhdG9yLWluc2V0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgLS1jcGQtc2VwYXJhdG9yLXNwYWNpbmc6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcblxyXG4gICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF9jb250YWluZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTIwIHZhcigtLWNwZC1zcGFjZS00eCkgMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVN1bW1hcnlDYXJkX3Jvb21OYW1lLFxyXG4gICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF9hbGlhcyB7XHJcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF9hbGlhcyB7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpYyB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG5cclxuICAgICAgICAubXhfUm9vbVN1bW1hcnlDYXJkX3RvcGljX2JveCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpY19jb250YWluZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWNfZWRpdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVN1bW1hcnlDYXJkX3RvcGljX2NoZXZyb24ge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfUm9vbVN1bW1hcnlDYXJkX3RvcGljX2NvbGxhcHNlZCB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpY19jaGV2cm9uIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xM3B4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUm9vbVN1bW1hcnlDYXJkX2JhZGdlcyB7XHJcbiAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS00eCkgMDtcclxufVxyXG5cclxuLm14X1Jvb21TdW1tYXJ5Q2FyZF9zZWFyY2gge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG5cclxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IHVuc2V0OyAvKiBvdmVycmlkZSBfY29tbW9uLnBjc3Mgd2hpY2ggaW5oaWJpdHMgdGhpcyAqL1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUm9vbVN1bW1hcnlDYXJkX3Jvb21OYW1lIHtcclxuICAgIG1hcmdpbjogJHNwYWNpbmctMTIgMCAkc3BhY2luZy00O1xyXG59XHJcblxyXG4ubXhfUm9vbVN1bW1hcnlDYXJkX2JvdHRvbU9wdGlvbnMge1xyXG4gICAgbWFyZ2luOiAwIDAgdmFyKC0tY3BkLXNwYWNlLTh4KTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEtMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVGhyZWFkUGFuZWwge1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuICAgIC5teF9UaHJlYWRQYW5lbEhlYWRlciB7XHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RocmVhZFBhbmVsX3ZlcnRpY2FsX3NlcGFyYXRvciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RocmVhZFBhbmVsX2Ryb3Bkb3duIHtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgICAgICAgICAgcGFkZGluZzogM3B4ICRzcGFjaW5nLTQgM3B4ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9BdXRvSGlkZVNjcm9sbGJhcixcclxuICAgIC5teF9Sb29tVmlld19tZXNzYWdlUGFuZWxTcGlubmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogc2V0IGdhcCBiZXR3ZWVuIHRoZSB0aHJlYWQgdGlsZSBhbmQgdGhlIHJpZ2h0IGJvcmRlciAqL1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xyXG4gICAgICAgIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogLTM2cHg7IC8qIDJweCBhYm92ZSBFdmVudFRpbGUgKi9cclxuICAgICAgICAgICAgei1pbmRleDogMTA7IC8qIFNlZSBfRXZlbnRUaWxlLnBjc3MgKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogRm9yIHN0eWxlIHJ1bGVzIG9mIEV2ZW50VGlsZSBpbiBhIHRocmVhZCwgc2VlIF9FdmVudFRpbGUucGNzcyAqL1xyXG4gICAgJi5teF9UaHJlYWRWaWV3IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAubXhfVGhyZWFkVmlld190aW1lbGluZVBhbmVsV3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMDsgLyogZG9uJ3QgZGlzcGxhY2UgdGhlIGNvbXBvc2VyICovXHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuXHJcbiAgICAgICAgICAgIC5teF9GaWxlRHJvcFRhcmdldCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfc2VuZE1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBNYWtlIHVzZSBvZiB0aGUgc3BhY2UgYWJvdmUgdGhlIGNvbXBvc2VyIGJ1dHRvbnMgdG9vXHJcbiAgICAgICAgLm14X0F1dG9jb21wbGV0ZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxNDBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXhfVGhyZWFkVmlld19uYXJyb3cgLm14X0F1dG9jb21wbGV0ZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMDhweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tVmlld19tZXNzYWdlUGFuZWwge1xyXG4gICAgICAgICYubXhfUm9vbVZpZXdfbWVzc2FnZUxpc3RXcmFwcGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVZpZXdfbWVzc2FnZUxpc3RXcmFwcGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDZweCk7IC8qIDhweCAtIDJweCAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21WaWV3X2VtcHR5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tVmlld19NZXNzYWdlTGlzdCB7XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAkc3BhY2luZy04O1xyXG4gICAgICAgIGNvbnRlbnQtdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlLFxyXG4gICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5IHtcclxuICAgICAgICAvKiBBY2NvdW50IGZvciBzY3JvbGxiYXIgd2hlbiBob3ZlcmluZyAqL1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuICAgICAgICAubXhfVGltZWxpbmVTZXBhcmF0b3Ige1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfY2xhbXA6aG92ZXIge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQmFzZUNhcmRfZm9vdGVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiA0cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlciB7XHJcbiAgICAubXhfVGhyZWFkUGFuZWxfSGVhZGVyX0ZpbHRlck9wdGlvbkl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4IDMwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW50LXNlbGVjdGVkLWNvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJlthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxLCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9UaW1lbGluZUNhcmQge1xyXG4gICAgLm14X1RpbWVsaW5lQ2FyZF90aW1lbGluZSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIG9mZnNldCBwYXJlbnQgZm9yIGp1bXAgdG8gYm90dG9tIGJ1dHRvbiAqL1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9OZXdSb29tSW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZSB7XHJcbiAgICAgICAgLm14X1RocmVhZFN1bW1hcnkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7XHJcblxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTZweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lc3NhZ2UtYWN0aW9uLWJhci1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXHJcbiAgICAgICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAgICAgLS1UaW1lbGluZUNhcmRfUmVhZFJlY2VpcHRHcm91cC1pbnNldC1ibG9jay1zdGFydDogLTZweDtcclxuICAgICAgICAgICAgLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydDogdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlLXNwYWNpbmctaW5saW5lKTtcclxuXHJcbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlX2xpbmUtcGFkZGluZy1ibG9jaykgdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlLXNwYWNpbmctaW5saW5lKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aCk7IC8qIGVuc3VyZSB0aW1lc3RhbXAgaXMgbm90IGhpZGRlbiAqL1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIHtcclxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLyogSW5mbyBldmVudHMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgc2l6ZSBhcyBzdGF0ZSBldmVudHMsIHRob3NlXHJcbiAgICAgICAgICAgICAgICAgKiBhcmUgdXN1YWxseSB3cmFwcGVkIGluIGEgZ2VuZXJpYyBldmVudCBsaXN0IHN1bW1hcnkgKi9cclxuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogLTNweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9tc2dPcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1JlYWRSZWNlaXB0R3JvdXAge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogdmFyKC0tVGltZWxpbmVDYXJkX1JlYWRSZWNlaXB0R3JvdXAtaW5zZXQtYmxvY2stc3RhcnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUsXHJcbiAgICAgICAgICAgIC5teF9UaHJlYWRTdW1tYXJ5IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSkpOyAvKiBpbnN0ZWFkIG9mICRsZWZ0LWd1dHRlciAqL1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUmVwbHlUaWxlIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lOiBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9SZWFjdGlvbnNSb3cge1xyXG4gICAgICAgICAgICAgICAgLyogU2VlOiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctZW5kKSBmb3IgUmVhY3Rpb25zUm93IG9uIF9FdmVudFRpbGUucGNzcyAqL1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9UaHJlYWRTdW1tYXJ5IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtaW4oY2FsYygxMDAlIC0gMzZweCksIDYwMHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJltkYXRhLWxheW91dD1cImlyY1wiXSB7XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyLFxyXG4gICAgICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgICAgIC8qIFJlYWQgcmVjZWlwdCBncm91cCBvbiBjb21wYWN0IG1vZGVybiBsYXlvdXQgKi9cclxuICAgICAgICAgICAgLyogVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIG14X1RpbWVsaW5lQ2FyZCBpcyBhIGNoaWxkIGVsZW1lbnQgd3JhcHBlZCBieSBteF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQsICovXHJcbiAgICAgICAgICAgIC8qIHdoaWNoIHNwZWNpZmllcyB0aGUgZGVmYXVsdCBwb3NpdGlvbiBvZiBteF9SZWFkUmVjZWlwdEdyb3VwIG9uIGNvbXBhY3QgbW9kZXJuIGxheW91dC4gKi9cclxuICAgICAgICAgICAgLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCAmIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcclxuICAgICAgICAgICAgICAgIHRvcDogdmFyKC0tVGltZWxpbmVDYXJkX1JlYWRSZWNlaXB0R3JvdXAtaW5zZXQtYmxvY2stc3RhcnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IGF1dG87IC8qIGVuYWJsZSBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyICovXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8gLm14X01lc3NhZ2VBY3Rpb25CYXIge1xyXG4gICAgICAgICAgICAgICAgLyogMXB4OiBib3JkZXIgd2lkdGggKi9cclxuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGNhbGModmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCkgKyAxcHgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUmVhY3Rpb25zUm93IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogZGlzcGxheSBvbiBob3ZlciAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDVweDtcclxuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeSB7XHJcbiAgICAgICAgJltkYXRhLWxheW91dD1cImlyY1wiXSxcclxuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUsXHJcbiAgICAgICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV91bnN0eWxlZExpc3QgPiAubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9hdmF0YXIgfiAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpOyAvKiBlbnN1cmUgdGltZXN0YW1wIGlzIG5vdCBoaWRkZW4gKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfV2hvSXNUeXBpbmdUaWxlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTEycHg7IC8qIHVuZG8gcGFkZGluZyBvbiB0aGUgbWVzc2FnZSBsaXN0ICovXHJcbiAgICB9XHJcblxyXG4gICAgLm14X1dob0lzVHlwaW5nVGlsZV9hdmF0YXJzIHtcclxuICAgICAgICBmbGV4LWJhc2lzOiA0OHB4OyAvKiAxMiAocGFkZGluZyBvbiBtZXNzYWdlIGxpc3QpICsgMzYgKHBhZGRpbmcgb24gZXZlbnQgbGluZXMpICovXHJcbiAgICB9XHJcblxyXG4gICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdCwgLyogUlIgbmV4dCB0byBhIG1lc3NhZ2Ugb24gdGhlIGV2ZW50IGxpc3Qgc3VtbWFyeSAqL1xyXG4gICAgLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHtcclxuICAgICAgICAvKiBSUiBuZXh0IHRvIGEgbWVzc2FnZSBvbiB0aGUgbWVzc3NnZSBsaXN0ICovXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAgICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcclxuICAgICAgICAgICAgICAgIC8qIDZweDogc2Nyb2xsIGJhciB3aWR0aCAobWFnaWMgbnVtYmVyKSAqL1xyXG4gICAgICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLWNvbG9uLXNwYWNlLWFmdGVyICovXHJcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKFxyXG4gICAgICAgICAgICAgICAgICAgIC0xICogdmFyKC0tUmVhZFJlY2VpcHRHcm91cF9FdmVudEJ1YmJsZVRpbGUtc3BhY2luZy1lbmQpICsgdmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCkgKyA2cHhcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xyXG4gICAgICAgICAgICAgICAgLm14X1JlYWRSZWNlaXB0R3JvdXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IC00cHg7IC8qIGFsaWduIHdpdGggUlIgb3V0c2lkZSBvZiBpbmZvIHRpbGUgKi9cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1VzZXJJbmZvLm14X0Jhc2VDYXJkIHtcclxuICAgIC8qIFVzZXJJbmZvIGhhcyBhIGNpcmN1bGFyIGltYWdlIGF0IHRoZSB0b3Agc28gaXQgZml0cyBiZXR3ZWVuIHRoZSBiYWNrICYgY2xvc2UgYnV0dG9ucyAqL1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xyXG5cclxuICAgIC5teF9Vc2VySW5mb19jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCkgMCB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIG1hcmdpbjogMCB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG5cclxuICAgICAgICAmICsgLm14X1VzZXJJbmZvX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2VwYXJhdG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlckluZm9fbWVtYmVyRGV0YWlsc0NvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVRpbGVfdGl0bGVDb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxNTRweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVRpbGVfYmFkZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21UaWxlX3RpdGxlIHtcclxuICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VzZXJJbmZvX2F2YXRhciB7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMTJ4KSB2YXIoLS1jcGQtc3BhY2UtNHgpIDAgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuXHJcbiAgICAgICAgLm14X1VzZXJJbmZvX2F2YXRhcl90cmFuc2l0aW9uIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXM7XHJcblxyXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XHJcbiAgICAgICAgICAgICAgICAvKiBPdmVycmlkZSB0aGUgY2FsY3VsYXRlZCBmb250LXNpemUgc28gdGhhdCB0aGUgbGV0dGVyIGlzbid0IHRpbnkgKi9cclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0Jhc2VBdmF0YXIsXHJcbiAgICAgICAgICAgIC5teF9CYXNlQXZhdGFyIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy00IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlckluZm9faGVhZGVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtOHgpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Vc2VySW5mb19wcm9maWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG5cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0yMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Vc2VySW5mb19wcm9maWxlX25hbWUge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgLyogbGltaXQgdG8gMiBsaW5lcywgc2hvdyBhbiBlbGxpcHNpcyBpZiBpdCBvdmVyZmxvd3MgKi9cclxuICAgICAgICAgICAgLyogdGhpcyBsb29rcyB3ZWJraXQgc3BlY2lmaWMgYnV0IGlzIHN1cHBvcnRlZCBieSBGaXJlZm94IDY4KyAqL1xyXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG5cclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Vc2VySW5mb19wcm9maWxlX214aWQge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1VzZXJJbmZvX3Byb2ZpbGVTdGF0dXMge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVXNlckluZm9fdGltZXpvbmUge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKiBPdmVycmlkZXMgZm9yIHRoZSBjb3B5IHRvIGNsaXBib2FyZCBidXR0b24gKiovXHJcbiAgICAgICAgLm14X0NvcHlhYmxlVGV4dCB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQ29weWFibGVUZXh0X2NvcHlCdXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHVuc2V0O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQ29weWFibGVUZXh0X2NvcHlCdXR0b246OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeS1hbHBoYSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Vc2VySW5mb190aW1lem9uZSB7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMXgpIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1ByZXNlbmNlTGFiZWwge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlckluZm9fdmVyaWZpY2F0aW9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIGhlaWdodDogMzZweDtcclxuXHJcbiAgICAgICAgLm14X1VzZXJJbmZvX3ZlcmlmaWVkX2JhZGdlIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiA2OHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICAubXhfVXNlckluZm9fdmVyaWZpZWRfaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1VzZXJJbmZvX3ZlcmlmaWVkX2xhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1VzZXJJbmZvX3ZlcmlmaWNhdGlvbl91bmF2YWlsYWJsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlckluZm9fbWVtYmVyRGV0YWlscyB7XHJcbiAgICAgICAgLm14X1VzZXJJbmZvX3Byb2ZpbGVGaWVsZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luOiA2cHggMDtcclxuXHJcbiAgICAgICAgICAgIC5teF9Vc2VySW5mb19yb2xlRGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8qIHRyeSB0byBtYWtlIGl0IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgZHJvcGRvd24gKi9cclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTFweCAwIDEycHggMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0ZpZWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlckluZm9fZmllbGQge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Vc2VySW5mb19zdGF0dXNNZXNzYWdlIHtcclxuICAgICAgICAkc3RhdHVzTnVtYmVyT2ZMaW5lczogMztcclxuXHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTExcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDFyZW0gKiAkc3RhdHVzTnVtYmVyT2ZMaW5lcyk7XHJcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAkc3RhdHVzTnVtYmVyT2ZMaW5lcztcclxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BdXRvSGlkZVNjcm9sbGJhciB7XHJcbiAgICAgICAgZmxleDogMSAxIDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9Vc2VySW5mb19zbWFsbEF2YXRhciB7XHJcbiAgICAgICAgLm14X1VzZXJJbmZvX2F2YXRhciB7XHJcbiAgICAgICAgICAgIC5teF9Vc2VySW5mb19hdmF0YXJfdHJhbnNpdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplIHNvIHRoYXQgdGhlIGxldHRlciBpc24ndCB0aW55ICovXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9WZXJpZmljYXRpb25QYW5lbF92ZXJpZmllZF9zZWN0aW9uLFxyXG4ubXhfVmVyaWZpY2F0aW9uUGFuZWxfcmVjaXByb2NhdGVfc2VjdGlvbiB7XHJcbiAgICAvKiBjZW50ZXIgdGhlIGJpZyBzaGllbGQgaWNvbiAqL1xyXG4gICAgLm14X0UyRUljb24ge1xyXG4gICAgICAgIC8qIE92ZXJyaWRlIGdlbmVyYWwgdXNlciBpbmZvIG1hcmdpbiAqL1xyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCB7XHJcbiAgICAubXhfVXNlckluZm9fY29udGFpbmVyOm5vdCgubXhfVXNlckluZm9fc2VwYXJhdG9yKSB7XHJcbiAgICAgICAgPiBkaXYgPiBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF92ZXJpZnlCeUVtb2ppQnV0dG9uLFxyXG4gICAgICAgIC5teF9Vc2VySW5mb193aWRlQnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0VuY3J5cHRpb25JbmZvX3NwaW5uZXIsXHJcbiAgICAgICAgLm14X1ZlcmlmaWNhdGlvblNob3dTYXMge1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGlubmVyLFxyXG4gICAgICAgIC5teF9WZXJpZmljYXRpb25TaG93U2FzIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX3FyQ29kZSB7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDRweCAwIDRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAvKiBPdmVycmlkZSBnZW5lcmFsIHVzZXIgaW5mbyBtYXJnaW4gKi9cclxuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICBjYW52YXMge1xyXG4gICAgICAgICAgICAvKiBvdmVycmlkZSBoZWlnaHQgYW5kIHdpZHRoIHdoaWNoIGFyZSBzZXQgb24gdGhlIGVsZW1lbnQgZGlyZWN0bHkgKi9cclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF9yZWNpcHJvY2F0ZV9zZWN0aW9uIHtcclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBTcGVjaWFsIGNhc2Ugc3R5bGluZyBmb3IgRW5jcnlwdGlvblBhbmVsIGluIGEgTW9kYWwgZGlhbG9nICovXHJcbi5teF9EaWFsb2csXHJcbi5teF9Db21wbGV0ZVNlY3VyaXR5X2JvZHkge1xyXG4gICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgPiAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9iZXR3ZWVuVGV4dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfc3RhcnRPcHRpb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzEwcHg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgICAgIGNhbnZhcyxcclxuICAgICAgICAgICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2Vfbm9RUiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjIwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjIwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfVmVyaWZpY2F0aW9uUGFuZWxfUVJQaGFzZV9oZWxwVGV4dCB7XHJcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogRW5jcnlwdGlvblBhbmVsIHdoZW4gdmVyaWZpY2F0aW9uIGlzIGRvbmUgKi9cclxuICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF92ZXJpZmllZF9zZWN0aW9uIHtcclxuICAgICAgICAvKiByaWdodCBhbGlnbiB0aGUgXCJHb3QgaXRcIiBidXR0b24gKi9cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX3JlY2lwcm9jYXRlX3NlY3Rpb24ge1xyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX3JlY2lwcm9jYXRlQnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfV2lkZ2V0Q2FyZCB7XHJcbiAgICAubXhfQXBwVGlsZUZ1bGxXaWR0aCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcclxuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0FsaWFzU2V0dGluZ3NfbG9jYWxBZGRyZXNzZXMge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcblxyXG4gICAgLyogbGlzdC1zdHlsZSBkb2Vzbid0IGRvIGl0IGZvciB3ZWJraXQgKi9cclxuICAgICY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuICogQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9Sb29tTGlzdFBhbmVsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi8qIFBMWC0wMTI6IHRvcCB1c2VyIGJhciBob3N0aW5nIHRoZSBhdmF0YXIvVXNlck1lbnUgKFByb2ZpbGUgLyBTZXR0aW5ncyAvIFNpZ24gb3V0KS5cclxuICAgVGhlIE1pZG5pZ2h0IHJlZGVzaWduIHJlbW92ZWQgdGhlIFNwYWNlcyByYWlsIHRoYXQgdXNlZCB0byBob3N0IHRoaXMsIHNvIHdlIG1vdW50XHJcbiAgIGl0IGF0IHRoZSB0b3Agb2YgdGhlIHJvb20gbGlzdC4gKi9cclxuLm14X1Jvb21MaXN0UGFuZWxfdXNlckJhciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgbWluLWhlaWdodDogNTZweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMTBweCA0cHggMTJweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi8qIFRoZSBzaGFyZWQgVXNlck1lbnUgd3JhcHBlciBsYXlzIHRoZSBhdmF0YXIgKyAob3B0aW9uYWwpIGRpc3BsYXluYW1lIGluIGEgcm93LlxyXG4gICBJbnNpZGUgdGhlIHJvb20gbGlzdCBpdCBzaG91bGQgcmVhZCBhcyBhIHRpZHksIHRhcHBhYmxlIGlkZW50aXR5IGNoaXAuICovXHJcbi5teF9Sb29tTGlzdFBhbmVsX3VzZXJCYXIgLm14X1VzZXJNZW51IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4ubXhfUm9vbUxpc3RQYW5lbF91c2VyQmFyIC5teF9Vc2VyTWVudSA+IGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBhdmF0YXIgdHJpZ2dlciBidXR0b24gLT4gaG92ZXIgYWZmb3JkYW5jZSAqL1xyXG4ubXhfUm9vbUxpc3RQYW5lbF91c2VyQmFyIC5teF9Vc2VyTWVudSBidXR0b246aG92ZXIge1xyXG4gICAgb3BhY2l0eTogMC45MjtcclxufVxyXG5cclxuLyogdGhlIGRpc3BsYXluYW1lIHJlbmRlcmVkIHRvIHRoZSByaWdodCBvZiB0aGUgYXZhdGFyIChleHBhbmRlZCBtb2RlKSAqL1xyXG4ubXhfUm9vbUxpc3RQYW5lbF91c2VyQmFyIC5teF9Vc2VyTWVudSA+IHNwYW4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQsICNmZmZmZmYpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQXBwc0RyYXdlciB7XHJcbiAgICAtLW1pbldpZHRoOiAyNDBweDsgLyogVE9ETyB0aGlzIHNob3VsZCBiZSAzMDBweCBidXQgdGhhdCdzIHRvbyBsYXJnZSAqL1xyXG5cclxuICAgIG1hcmdpbjogdmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCk7XHJcbiAgICAvKiBUaGUgbGVmdCBzaWRlIGdhcCBpcyBmdWxseSBoYW5kbGVkIGJ5IHRoaXMgbWFyZ2luLiBUbyBwcm9oaWJpdCBibGVlZGluZyBvbiB3ZWJraXQgYnJvd3Nlci4gKi9cclxuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKSAvIDIpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLyogTm8gYm90dG9tIG1hcmdpbiBmb3IgdGhlIGNvcnJlY3QgZ2FwIHRvIHRoZSBDYWxsVmlldyBiZWxvdy4gKi9cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuXHJcbiAgICAubXhfQXBwc0RyYXdlcl9yZXNpemVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQXBwc0RyYXdlcl9yZXNpemVyX2NvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgLm14X0FwcHNEcmF3ZXJfcmVzaXplcl9jb250YWluZXJfaGFuZGxlIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBucy1yZXNpemU7XHJcblxyXG4gICAgICAgICAgICAvKiBPdmVycmlkZSBzdHlsZXMgZnJvbSBsaWJyYXJ5LCBtYWtpbmcgdGhlIHdob2xlIGFyZWEgdGhlIHRhcmdldCBhcmVhICovXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgLyogVGhpcyBpcyBwb3NpdGlvbmVkIGRpcmVjdGx5IGJlbG93IGZyYW1lICovXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiA1MCUgIWltcG9ydGFudDsgLyogb3ZlcnJpZGUgZnJvbSBsaWJyYXJ5ICovXHJcblxyXG4gICAgICAgICAgICAvKiBXZSB0aGVuIHJlbmRlciB0aGUgcGlsbCBoYW5kbGUgaW4gYW4gOjphZnRlciB0byBrZWVwIGl0IGluIHRoZSBoYW5kbGUncyAqL1xyXG4gICAgICAgICAgICAvKiBhcmVhIHdpdGhvdXQgYmVpbmcgYSBtYXNzaXZlIGxpbmUgYWNyb3NzIHRoZSBzY3JlZW4gKi9cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAvKiBUb2dldGhlciwgdGhlc2UgbWFrZSB0aGUgYmFyIDY0cHggd2lkZSAqL1xyXG4gICAgICAgICAgICAgICAgLyogVGhlc2UgYXJlIGFsc28gb3ZlcnJpZGRlbiBmcm9tIHRoZSBsaWJyYXJ5ICovXHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMycHgpO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gMzJweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLm14X0FwcHNEcmF3ZXJfcmVzaXplcl9jb250YWluZXJfaGFuZGxlOjphZnRlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9SZXNpemVIYW5kbGUtLWhvcml6b250YWw6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogM3B4O1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XHJcblxyXG4gICAgICAgICAgICBoZWlnaHQ6IDY0cHg7IC8qIHRvIG1hdGNoIHdpZHRoIG9mIHRoZSBvbmVzIG9uIHJvb21saXN0ICovXHJcbiAgICAgICAgICAgIHdpZHRoOiA0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9BcHBUaWxlIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIG1pbi13aWR0aDogdmFyKC0tbWluV2lkdGgpO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQXBwc0RyYXdlci0tbWF4aW1pc2VkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FwcHNEcmF3ZXItLXJlc2l6aW5nIC5teF9BcHBUaWxlX3BlcnNpc3RlZFdyYXBwZXIge1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BcHBzRHJhd2VyLS0yYXBwcyAubXhfQXBwVGlsZSB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tbWluV2lkdGgpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5teF9BcHBzRHJhd2VyLS0zYXBwcyAubXhfQXBwVGlsZSB7XHJcbiAgICAgICAgd2lkdGg6IDMzJTtcclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tbWluV2lkdGgpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQXBwc0NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG5cclxuICAgIC5teF9BcHBUaWxlOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1jb250YWluZXItYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLm14X0FwcFRpbGU6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jlc2l6ZUhhbmRsZS0taG9yaXpvbnRhbCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0FwcFRpbGUge1xyXG4gICAgYm9yZGVyOiB2YXIoLS1jb250YWluZXItYm9yZGVyLXdpZHRoKSBzb2xpZCAkd2lkZ2V0LW1lbnUtYmFyLWJnLWNvbG9yO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdpZGdldC1tZW51LWJhci1iZy1jb2xvcjtcclxufVxyXG5cclxuLm14X0FwcFRpbGVGdWxsV2lkdGgge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLyogdG8gb3ZlcnJpZGUgdGhlIGlubGluZSBzdHlsZSBzZXQgYnkgdGhlIHJlc2l6ZXIgKi9cclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IHZhcigtLWNvbnRhaW5lci1ib3JkZXItd2lkdGgpIHNvbGlkICR3aWRnZXQtbWVudS1iYXItYmctY29sb3I7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aWRnZXQtbWVudS1iYXItYmctY29sb3I7XHJcbn1cclxuXHJcbi5teF9BcHBUaWxlX21pbmkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5teF9BcHBUaWxlIC5teF9BcHBUaWxlX3BlcnNpc3RlZFdyYXBwZXIsXHJcbi5teF9BcHBUaWxlRnVsbFdpZHRoIC5teF9BcHBUaWxlX3BlcnNpc3RlZFdyYXBwZXIsXHJcbi5teF9BcHBUaWxlX21pbmkgLm14X0FwcFRpbGVfcGVyc2lzdGVkV3JhcHBlciB7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4ubXhfQXBwVGlsZV9wZXJzaXN0ZWRXcmFwcGVyIGRpdiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLm14X0FwcFRpbGVNZW51QmFyIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aWRnZXQtbWVudS1iYXItYmctY29sb3I7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctdG9wOiAzcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xyXG5cclxuICAgIC5teF9BcHBUaWxlTWVudUJhcl90aXRsZSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuICAgICAgICAubXhfV2lkZ2V0QXZhdGFyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FwcFRpbGVNZW51QmFyX3dpZGdldHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLm14X0FwcFRpbGVNZW51QmFyX3dpZGdldHNfYnV0dG9uIHtcclxuICAgICAgICAgICAgLS1zaXplOiAyNHB4OyAvKiBTaXplIG9mIHRoZSBidXR0b24uIEl0cyBoZWlnaHQgYW5kIHdpZHRoIHZhbHVlcyBzaG91bGQgYmUgc2FtZSAqL1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luOiAwIDRweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xyXG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9JY29uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFJ1bGVzIGFkZGVkIHRvIHRoaXMgc2VsZWN0b3Igc3R5bGUgYXBwVGlsZUJvZHkgZ2VuZXJhbGx5ICovXHJcbi5teF9BcHBUaWxlQm9keSB7XHJcbiAgICAvKiBBcHBseSB0byBldmVyeSB2YXJpYW50IG9mIGFwcFRpbGVCb2R5ICovXHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG4gICAgLyogY29uc3QgbG9hZGluZ0VsZW1lbnQgKi9cclxuICAgIC8qIE5vdGUgdGhlIGxvYWRpbmcgc3Bpbm5lciBhbmQgdGhlIG1lc3NhZ2UgbmV4dCB0byBpdCBhcmUgbm90IGFsd2F5cyBpbmNsdWRlZCBpbiBteF9BcHBUaWxlQm9keS0tbG9hZGluZyAqL1xyXG4gICAgLm14X0FwcFRpbGVCb2R5X2ZhZGVJblNwaW5uZXIge1xyXG4gICAgICAgIC8qIHBsYWNlIHNwaW5uZXIgYW5kIHRoZSBtZXNzYWdlIGF0IHRoZSBjZW50ZXIgb2YgbXhfQXBwVGlsZUJvZHkgKi9cclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyAvKiBtZXNzYWdlIG5leHQgdG8gdGhlIHNwaW5uZXIgKi9cclxuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XHJcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDBtcztcclxuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDUwMG1zO1xyXG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBteF9BcHBUaWxlQm9keV9mYWRlSW5TcGlubmVyQW5pbWF0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQXBwVGlsZUJvZHktLWxhcmdlLFxyXG4gICAgJi5teF9BcHBUaWxlQm9keS0tbWluaSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BcHBUaWxlQm9keS0tbGFyZ2Uge1xyXG4gICAgICAgIC0tQXBwVGlsZUJvZHktaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2lkZ2V0LWJvZHktYmctY29sb3I7XHJcblxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfQXBwVGlsZUJvZHktLWxvYWRpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIC8qIG1hdGNoIGJnIG9mIGJvcmRlciBzbyB0aGF0IHRoZSBjdXQgY29ybmVycyBoYXZlIHRoZSByaWdodCBmaWxsICovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdpZGdldC1ib2R5LWJnLWNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfQXBwVGlsZUJvZHktLWNhbGwge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgIH1cclxuICAgICYubXhfQXBwVGlsZUJvZHktLWNhbGwubXhfQXBwVGlsZUJvZHktLW1pbmkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogYXBwVGlsZUJvZHkgaXMgZW1iZWRkZWQgdG8gUGVyc2lzdGVkRWxlbWVudCBvdXRzaWRlIG9mIG14X0FwcFRpbGUsXHJcbiAgIHNvIHJ1bGVzIHRvIHN0eWxlIGFwcFRpbGVCb2R5IGdlbmVyYWxseSBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGhlcmUuICovXHJcbi5teF9BcHBUaWxlIC5teF9BcHBUaWxlQm9keS0tbGFyZ2UsXHJcbi5teF9BcHBUaWxlRnVsbFdpZHRoIC5teF9BcHBUaWxlQm9keS0tbGFyZ2UsXHJcbi5teF9BcHBUaWxlX21pbmkgLm14X0FwcFRpbGVCb2R5LS1taW5pIHtcclxuICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbXhfQXBwVGlsZUJvZHlfZmFkZUluU3Bpbm5lckFuaW1hdGlvbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuIiwiLm14X0F1dG9jb21wbGV0ZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB6LWluZGV4OiAxMDAxO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xyXG4gICAgb3ZlcmZsb3c6IGNsaXA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJveC1zaGFkb3c6IDBweCAtMTZweCAzMnB4ICRjb21wb3Nlci1zaGFkb3ctY29sb3I7XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVfUHJvdmlkZXJTZWN0aW9uIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBhIFwiYmxvY2tcIiBjb21wbGV0aW9uIHRha2VzIHVwIGEgd2hvbGUgbGluZSAqL1xyXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fYmxvY2sge1xyXG4gICAgbWluLWhlaWdodDogMzRweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBwYWRkaW5nOiAwIDEycHg7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX2Jsb2NrICoge1xyXG4gICAgbWFyZ2luOiAwIDNweDtcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX3BpbGwge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XHJcbiAgICBoZWlnaHQ6ICRmb250LTM0cHg7XHJcbiAgICBwYWRkaW5nOiAwLjRyZW07XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9waWxsID4gKiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuM3JlbTtcclxufVxyXG5cclxuLyogc3R5bGluZyBmb3IgY29tbW9uIGNvbXBsZXRpb24gZWxlbWVudHMgKi9cclxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX3N1YnRpdGxlIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9kZXNjcmlwdGlvbiB7XHJcbiAgICBjb2xvcjogZ3JheTtcclxuICAgIG1pbi13aWR0aDogMTUwcHg7XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9jb250YWluZXJfcGlsbCB7XHJcbiAgICBtYXJnaW46IDEycHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuXHJcbkBjb250YWluZXIgcm9vbXZpZXcgKGhlaWdodCA+PSAwcHgpIHtcclxuICAgIC5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9jb250YWluZXJfcGlsbCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDBjcWg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9jb250YWluZXJfdHJ1bmNhdGUge1xyXG4gICAgLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX3RpdGxlLFxyXG4gICAgLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX3N1YnRpdGxlLFxyXG4gICAgLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICAvKiBFbGxpcHNpcyBmb3IgbG9uZyBuYW1lcy9zdWJ0aXRsZXMvZGVzY3JpcHRpb25zICovXHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb24uc2VsZWN0ZWQsXHJcbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0ZWQtY29sb3I7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlX3Byb3ZpZGVyX25hbWUge1xyXG4gICAgbWFyZ2luOiAxMnB4O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BdXhQYW5lbCB7XHJcbiAgICBtaW4td2lkdGg6IDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwcHggYXV0bztcclxuXHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIge1xyXG4gICAgLyogVGhlc2UgYXJlIHNldCBpbiBKYXZhc2NyaXB0ICovXHJcbiAgICAtLWF2YXRhci1sZXR0ZXI6IFwiXCI7XHJcbiAgICAtLWF2YXRhci1iYWNrZ3JvdW5kOiB1bnNldDtcclxuICAgIC0tYXZhdGFyLWNvbG9yOiB1bnNldDtcclxuICAgIC0tcGxhY2Vob2xkZXI6IFwiXCI7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dEVtcHR5ID4gOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IHZhcigtLXBsYWNlaG9sZGVyKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyB2aXN1YWxiZWxsIHtcclxuICAgICAgICBmcm9tIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZpc3VhbC1iZWxsLWJnLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0byB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0X2Vycm9yIHtcclxuICAgICAgICBhbmltYXRpb246IDAuMnMgdmlzdWFsYmVsbDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXQge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcblxyXG4gICAgICAgIC8qIEZvcmNlIGNhcmV0IG5vZGVzIHRvIGJlIHNlbGVjdGVkIGluIGZ1bGwgc28gdGhhdCB0aGV5IGNhbiBiZSAqL1xyXG4gICAgICAgIC8qIG5hdmlnYXRlZCB0aHJvdWdoIGluIGEgc2luZ2xlIGtleXByZXNzICovXHJcbiAgICAgICAgLmNhcmV0Tm9kZSB7XHJcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBhbGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0X3Nob3VsZFNob3dQaWxsQXZhdGFyIHtcclxuICAgICAgICAgICAgc3Bhbi5teF9Vc2VyUGlsbCxcclxuICAgICAgICAgICAgc3Bhbi5teF9Sb29tUGlsbCxcclxuICAgICAgICAgICAgc3Bhbi5teF9TcGFjZVBpbGwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IGFsbDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogdW5zZXQ7IC8qIFdlIGRvbid0IHdhbnQgaW5kaWNhdGUgY2xpY2thYmlsaXR5ICovXHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIFdlIGRvbid0IHdhbnQgaW5kaWNhdGUgY2xpY2thYmlsaXR5IHwgVG8gb3ZlcnJpZGUgdGhlIG92ZXJyaWRpbmcgb2YgLm1hcmtkb3duLWJvZHkgKi9cclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlsbC1iZy1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8qIGF2YXRhciBwc3VlZG8gZWxlbWVudCAqL1xyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdmFyKC0tYXZhdGFyLWxldHRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRmb250LTE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkZm9udC0xNnB4OyAvKiBlbnN1cmUgdGhlIGF2YXRhciBpcyBub3QgY29tcHJlc3NlZCAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGZvbnQtMTZweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMC4yNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hdmF0YXItYmFja2dyb3VuZCksICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1hdmF0YXItY29sb3IsICRhdmF0YXItaW5pdGlhbC1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb250LTE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGZvbnQtMTZweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTZweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEwLTRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dF9kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIC8qIElnbm9yZSBhbGwgdXNlciBpbnB1dCB0byBhdm9pZCBhY2NpZGVudGFsbHkgdHJpZ2dlcmluZyB0aGUgY29tcG9zZXIgKi9cclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9BdXRvQ29tcGxldGVXcmFwcGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi5teF9Kb2luUnVsZURpYWxvZyB7XHJcbiAgICAubXhfSm9pblJ1bGVEaWFsb2dCdXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGNvbHVtbi1nYXA6IDVweDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRTJFSWNvbiB7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIG1hcmdpbjogMCA5cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLm14X0UyRUljb24ubXhfRTJFSWNvbl9pbmxpbmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRTJFSWNvblZpZXcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0UyRUljb25WaWV3X3dhcm5pbmcge1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xyXG59XHJcblxyXG4ubXhfRTJFSWNvblZpZXdfdmVyaWZpZWQge1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXN1Y2Nlc3MtcHJpbWFyeSk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0VkaXRNZXNzYWdlQ29tcG9zZXIge1xyXG4gICAgLS1FZGl0TWVzc2FnZUNvbXBvc2VyLXBhZGRpbmctaW5saW5lOiAzcHg7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIGRpc2FibGUgb3ZlcmZsb3cgKi9cclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgZ2FwOiA1cHg7XHJcbiAgICBwYWRkaW5nOiAzcHggdmFyKC0tRWRpdE1lc3NhZ2VDb21wb3Nlci1wYWRkaW5nLWlubGluZSk7XHJcblxyXG4gICAgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0IHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcclxuXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0VkaXRNZXNzYWdlQ29tcG9zZXJfYnV0dG9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwLXJldmVyc2U7IC8qIGRpc3BsYXkgXCJTYXZlXCIgb3ZlciBcIkNhbmNlbFwiICovXHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7IC8qIG1hZ2ljIG51bWJlciB0byBhbGlnbiB0aGUgZWRnZSBvZiB0aGUgYnV0dG9uIHdpdGggdGhlIGlucHV0IGFyZWEgKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9FbW9qaUJ1dHRvbiB7XHJcbiAgICBAbWl4aW4gY29tcG9zZXJCdXR0b24gNTAlLCB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpLCB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5teF9FbW9qaUJ1dHRvbl9oaWdobGlnaHQge1xyXG4gICAgQG1peGluIGNvbXBvc2VyQnV0dG9uSGlnaExpZ2h0O1xyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3d5c2l3eWcge1xyXG4gICAgLm14X0Vtb2ppQnV0dG9uIHtcclxuICAgICAgICBAbWl4aW4gY29tcG9zZXJCdXR0b24gNXB4LCAkdGVydGlhcnktY29udGVudCwgJHBhbmVscztcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21WaWV3X2JvZHlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgLm14X1Jvb21WaWV3X3RpbWVsaW5lLFxyXG4gICAgLm14X1Jvb21WaWV3X3N0YXR1c0FyZWEsXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcclxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcclxuICAgIC0tYXZhdGFyU2l6ZTogMzJweDtcclxuICAgIC0tZ3V0dGVyU2l6ZTogMTFweDtcclxuICAgIC0tY29ybmVyUmFkaXVzOiAxMnB4O1xyXG4gICAgLS1tYXhXaWR0aDogNzAlO1xyXG5cclxuICAgIC8qIEZvciBib3RoIGV2ZW50IHRpbGUgYW5kIGV2ZW50IGxpc3Qgc3VtbWFyeSAqL1xyXG4gICAgLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtc3RhcnQ6IDQ5cHg7XHJcbiAgICAtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1lbmQ6IDYwcHg7XHJcblxyXG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLXN0YXJ0KTtcclxuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtZW5kKTtcclxufVxyXG5cclxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAtLUV2ZW50VGlsZV9idWJibGVfbGluZS1tYXJnaW4taW5saW5lLXN0YXJ0OiAtOXB4O1xyXG4gICAgLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1lbmQ6IC0xMnB4O1xyXG4gICAgLS1FdmVudFRpbGVfYnViYmxlX2dhcC1pbmxpbmU6IDVweDtcclxuXHJcbiAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgd2lkdGg6IHVuc2V0OyAvKiBDYW5jZWwgdGhlIGRlZmF1bHQgd2lkdGggKi9cclxuICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RocmVhZFN1bW1hcnkge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCgubXhfRXZlbnRUaWxlX2luZm8pIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkYmFja2dyb3VuZDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgIHotaW5kZXg6IDk7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfRXZlbnRUaWxlX2hpZ2hsaWdodCB7XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRldmVudC1oaWdobGlnaHQtYmctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVudC1oaWdobGlnaHQtYmctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZXZlbnRidWJibGUtYmctaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEZvciByZXBsaWVzICovXHJcbiAgICAubXhfRXZlbnRUaWxlIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICBib3R0b206IC0xcHg7XHJcbiAgICAgICAgbGVmdDogY2FsYygtMSAqIHZhcigtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1zdGFydCkpO1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLWVuZCkpO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJi5teF9FdmVudFRpbGVfc2VsZWN0ZWQge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRldmVudGJ1YmJsZS1iZy1ob3ZlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAkZXZlbnRidWJibGUtYmctaG92ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlLFxyXG4gICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAtLUV2ZW50QnViYmxlVGlsZV9saW5lLW1heC13aWR0aDogNzAlO1xyXG5cclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1FdmVudEJ1YmJsZVRpbGVfbGluZS1tYXgtd2lkdGgpOyAvKiBBbGlnbiBtZXNzYWdlIGJ1YmJsZSBhbmQgZGlzcGxheU5hbWUgKi9cclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDsgLyogZml4ZWQgbGluZSBoZWlnaHQgdG8gcHJldmVudCBlbW9qaSBmcm9tIGJlaW5nIHRhbGxlciB0aGFuIHRleHQgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKiBvdGhlciB1c2VycyBwcm9maWxlIG9uIGJ1YmJsZSBsYXlvdXQgKi9cclxuICAgID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiBkaXNwbGF5IG14aWQgKi9cclxuXHJcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lIHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogdHJ1bmNhdGUgbG9uZyBkaXNwbGF5IG5hbWVzICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XHJcblxyXG4gICAgICAgICAgICAvKiBGb3IgUlRMIGRpc3BsYXlOYW1lICovXHJcbiAgICAgICAgICAgIHVuaWNvZGUtYmlkaTogZW1iZWQ7XHJcbiAgICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX214aWQge1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwOyAvKiBBbGlnbiBteGlkIHdpdGggdHJ1bmNhdGVkIGRpc3BsYXlOYW1lXHJcbiAgICAgICAgICAgICAgICBpbnNpZGUgbXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIGluc2lkZSBteF9Sb29tVmlld19NZXNzYWdlTGlzdCwgb3V0c2lkZSBvZiBteF9SZXBseVRpbGUgKi9cclxuICAgIC8qIChvbiB0aGUgbWFpbiBwYW5lbCBhbmQgdGhlIGNoYXQgcGFuZWwgd2l0aCBhIG1heGltaXplZCB3aWRnZXQpICovXHJcbiAgICA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSxcclxuICAgIC8qIGluc2lkZSBhIHRocmVhZCwgb3V0c2lkZSBvZiBteF9SZXBseVRpbGUgKi9cclxuICAgIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlscyA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLTJweDtcclxuICAgICAgICBsZWZ0OiAycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcclxuICAgICAgICB0b3A6IC0yOHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDk7IC8qIGFib3ZlIHRoZSBhdmF0YXIgKi9cclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVkaWFCb2R5IHtcclxuICAgICAgICAvKiBsZWF2ZSBzcGFjZSBmb3IgdGhlIHRpbWVzdGFtcCAqL1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSW1hZ2VCb2R5IHtcclxuICAgICAgICAubXhfSW1hZ2VCb2R5X2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEuOHJlbSArIHZhcigtLWd1dHRlclNpemUpICsgdmFyKC0tZ3V0dGVyU2l6ZSkpO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IGNhbGMoMS44cmVtICsgdmFyKC0tZ3V0dGVyU2l6ZSkgKyB2YXIoLS1ndXR0ZXJTaXplKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9MZWdhY3lDYWxsRXZlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xyXG5cclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMS01eCkgMDtcclxuICAgICAgICBtYXJnaW4taW5saW5lOiB2YXIoLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1zdGFydCkgdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtZW5kKTtcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtc2VsZj1cImZhbHNlXCJdIHtcclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcclxuXHJcbiAgICAgICAgICAgIC5teF9JbWFnZUJvZHkgLm14X0ltYWdlQm9keV9jb250YWluZXIsXHJcbiAgICAgICAgICAgIC5teF9JbWFnZUJvZHk6OmJlZm9yZSxcclxuICAgICAgICAgICAgLm14X01WaWRlb0JvZHkgLm14X01WaWRlb0JvZHlfY29udGFpbmVyLFxyXG4gICAgICAgICAgICAubXhfTWVkaWFCb2R5LFxyXG4gICAgICAgICAgICAubXhfTUxvY2F0aW9uQm9keV9tYXAsXHJcbiAgICAgICAgICAgIC5teF9NQmVhY29uQm9keSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0zNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X01lc3NhZ2VBY3Rpb25CYXIge1xyXG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoXHJcbiAgICAgICAgICAgICAgICAxMDAlIC0gdmFyKC0tTWVzc2FnZUFjdGlvbkJhci1zaXplLWJ1dHRvbikgLSAyICogdmFyKC0tTWVzc2FnZUFjdGlvbkJhci1zaXplLW1hcmdpbilcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgcmlnaHQ6IGluaXRpYWw7IC8qIFJlc2V0IHRoZSBkZWZhdWx0IHZhbHVlICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVGhyZWFkU3VtbWFyeSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiB2YXIoLS1ndXR0ZXJTaXplKSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1JlYWN0aW9uc1JvdyxcclxuICAgICAgICAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC0tYmFja2dyb3VuZENvbG9yOiAkZXZlbnRidWJibGUtb3RoZXJzLWJnO1xyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1zZWxmPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcclxuXHJcbiAgICAgICAgICAgIC5teF9JbWFnZUJvZHkgLm14X0ltYWdlQm9keV9jb250YWluZXIsXHJcbiAgICAgICAgICAgIC5teF9JbWFnZUJvZHk6OmJlZm9yZSxcclxuICAgICAgICAgICAgLm14X01WaWRlb0JvZHkgLm14X01WaWRlb0JvZHlfY29udGFpbmVyLFxyXG4gICAgICAgICAgICAubXhfTWVkaWFCb2R5LFxyXG4gICAgICAgICAgICAubXhfTUxvY2F0aW9uQm9keV9tYXAsXHJcbiAgICAgICAgICAgIC5teF9NQmVhY29uQm9keSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jb3JuZXJSYWRpdXMpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfc3RpY2tlciB7XHJcbiAgICAgICAgICAgIC8qIGFsaWduIHRpbWVzdGFtcCB3aXRoIHRob3NlIGluc2lkZSBidWJibGVzICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9UaHJlYWRTdW1tYXJ5IHtcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLTEgKiB2YXIoLS1ndXR0ZXJTaXplKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1JlcGx5VGlsZSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9mb290ZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1JlYWN0aW9uc1JvdyB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gICAgICAgICAgICA+IDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAtMTsgLyogTW92aW5nIHRoZSBcImFkZCByZWFjdGlvbiBidXR0b25cIiBiZWZvcmUgdGhlIHJlYWN0aW9ucyAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgIHRvcDogLTE5cHg7IC8qIGhlaWdodCBvZiB0aGUgc2VuZGVyIGJsb2NrICovXHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMzhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9NZWRpYUJvZHkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZXZlbnRidWJibGUtc2VsZi1iZztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcclxuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC0tYmFja2dyb3VuZENvbG9yOiAkZXZlbnRidWJibGUtc2VsZi1iZztcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogNXB4IHZhcigtLUV2ZW50VGlsZV9idWJibGVfZ2FwLWlubGluZSk7XHJcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLUV2ZW50VGlsZV9idWJibGVfbGluZS1tYXJnaW4taW5saW5lLXN0YXJ0KSB2YXIoLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1lbmQpO1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XHJcblxyXG4gICAgICAgIC8qIHRoZSBzZWxlY3RvciBoZXJlIGlzIHF1aXRlIHdlaXJkIGJlY2F1c2UgdGltZXN0YW1wcyBjYW4gYXBwZWFyIGxpbmtlZCAmIHVubGlua2VkIGFuZCBpbiBkaWZmZXJlbnQgcGxhY2VzICovXHJcbiAgICAgICAgLyogaW4gdGhlIERPTSBkZXBlbmRpbmcgb24gdGhlIHNwZWNpZmljIHJlbmRlcmluZyBjb250ZXh0ICovXHJcbiAgICAgICAgPiBhLCAvKiBsaW5rZWQgdGltZXN0YW1wIGVsZW1lbnQgKi9cclxuICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhciArIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAzOyAvKiBhYm92ZSBtZWRpYSBhbmQgbG9jYXRpb24gc2hhcmUgbWFwcyAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfbWVkaWFMaW5lIHtcclxuICAgICAgICAgICAgLyogVE9ETzogVXNlIGEgY29tbW9uIGNsYXNzIG5hbWUgaW5zdGVhZCAqL1xyXG4gICAgICAgICAgICAubXhfTUZpbGVCb2R5LFxyXG4gICAgICAgICAgICAubXhfTUF1ZGlvQm9keSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIGF2b2lkIG92ZXJmbG93ICovXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9NVm9pY2VNZXNzYWdlQm9keSB7XHJcbiAgICAgICAgICAgICAgICAvKiBhbGxvdyB0aGUgZXZlbnQgdG8gYmUgY29sbGFwc2VkLCB0aGlzIGNhdXNlcyB0aGUgd2F2ZWZvcm0gdG8gZ2V0IGNyb3BwZWQgKi9cclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLyogd2UgcHV0IHRoZSB0aW1lc3RhbXBzIGZvciBtZWRpYSAob3RoZXIgdGhhbiBzdGlja2VycykgYXRvcCB0aGUgbWVkaWEgKi9cclxuICAgICAgICAgICAgJi5teF9FdmVudFRpbGVfaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLU1Cb2R5LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIEhhcmRjb2RlZCBjb2xvdXJzIGJlY2F1c2UgaXQncyB0aGUgc2FtZSBvbiBhbGwgdGhlbWVzICovXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDAsIDAuNik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDRweCAwcHggNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9zdGlja2VyIHtcclxuICAgICAgICAgICAgPiBhLCAvKiBsaW5rZWQgdGltZXN0YW1wIGVsZW1lbnQgKi9cclxuICAgICAgICAgICAgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgICAgICAvKiBwb3NpdGlvbiB0aW1lc3RhbXBzIGZvciBzdGlja2VycyB0byB0aGUgcmlnaHQgb2YgdGhlIHVuLWJ1YmJsZWQgc3RpY2tlciAqL1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X01TdGlja2VyQm9keV93cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9JbWFnZUJvZHkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIG5vaW5zcGVjdGlvbiBDc3NSZXBsYWNlV2l0aFNob3J0aGFuZFNhZmVseSAqL1xyXG4gICAgICAgIC5teF9JbWFnZUJvZHkgLm14X0ltYWdlQm9keV9jb250YWluZXIsXHJcbiAgICAgICAgLm14X01WaWRlb0JvZHkgLm14X01WaWRlb0JvZHlfY29udGFpbmVyLFxyXG4gICAgICAgIC5teF9NZWRpYUJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB1bnNldDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDsgLyoga2VlcCBpdCBhdCBmdWxsIHNpemUgKi9cclxuXHJcbiAgICAgICAgICAgIC8qIEtlZXAgaGVpZ2h0IGVxdWFsIHRvIHRleHQgZm9yIHNoaWVsZCBhbGlnbm1lbnQsIGFkZGl0aW9uYWwgMnB4IGJlY2F1c2Ugb2YgMXB4IHBhZGRpbmcgb24gdGV4dCAqL1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoJGZvbnQtMThweCArIDJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5teF9FdmVudFRpbGVfbm9CdWJibGUpOm5vdCgubXhfRXZlbnRUaWxlX2FsaWduZWRCZXR3ZWVuQnViYmxlcylcclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmU6bm90KC5teF9FdmVudFRpbGVfbWVkaWFMaW5lKSB7XHJcbiAgICAgICAgLyogbWFrZSB0aGUgdG9wIGFuZCBib3R0b20gcGFkZGluZyAxcHggc21hbGxlciBzbyB0aGF0IHdlIGNhbiBwYWRcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50IGJ5IDFweCAqL1xyXG4gICAgICAgIC8qIHRvIGF2b2lkIGFudGktemFsZ28gY3V0dGluZyBvZmYgb3VyIGxhcmdlciB0aGFuIHRleHQgZW1vamlzLiAqL1xyXG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tZ3V0dGVyU2l6ZSkgLSAxcHgpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IC8qIHNwYWNlIGZvciB0aGUgdGltZXN0YW1wICovXHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZENvbG9yKTtcclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb25bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG5cclxuICAgICAgICAubXhfSW1hZ2VCb2R5IC5teF9JbWFnZUJvZHlfY29udGFpbmVyLFxyXG4gICAgICAgIC5teF9NVmlkZW9Cb2R5IC5teF9NVmlkZW9Cb2R5X2NvbnRhaW5lcixcclxuICAgICAgICAubXhfSW1hZ2VCb2R5OjpiZWZvcmUsXHJcbiAgICAgICAgLm14X01lZGlhQm9keSxcclxuICAgICAgICAubXhfTUxvY2F0aW9uQm9keV9tYXAsXHJcbiAgICAgICAgLm14X01CZWFjb25Cb2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm14X0V2ZW50VGlsZV9sYXN0SW5TZWN0aW9uW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcclxuXHJcbiAgICAgICAgLm14X0ltYWdlQm9keSAubXhfSW1hZ2VCb2R5X2NvbnRhaW5lcixcclxuICAgICAgICAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXHJcbiAgICAgICAgLm14X0ltYWdlQm9keTo6YmVmb3JlLFxyXG4gICAgICAgIC5teF9NZWRpYUJvZHksXHJcbiAgICAgICAgLm14X01Mb2NhdGlvbkJvZHlfbWFwLFxyXG4gICAgICAgIC5teF9NQmVhY29uQm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbltkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcblxyXG4gICAgICAgIC5teF9JbWFnZUJvZHkgLm14X0ltYWdlQm9keV9jb250YWluZXIsXHJcbiAgICAgICAgLm14X01WaWRlb0JvZHkgLm14X01WaWRlb0JvZHlfY29udGFpbmVyLFxyXG4gICAgICAgIC5teF9JbWFnZUJvZHk6OmJlZm9yZSxcclxuICAgICAgICAubXhfTWVkaWFCb2R5LFxyXG4gICAgICAgIC5teF9NTG9jYXRpb25Cb2R5X21hcCxcclxuICAgICAgICAubXhfTUJlYWNvbkJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm14X0V2ZW50VGlsZV9sYXN0SW5TZWN0aW9uW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcclxuXHJcbiAgICAgICAgLm14X0ltYWdlQm9keSAubXhfSW1hZ2VCb2R5X2NvbnRhaW5lcixcclxuICAgICAgICAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXHJcbiAgICAgICAgLm14X0ltYWdlQm9keTo6YmVmb3JlLFxyXG4gICAgICAgIC5teF9NZWRpYUJvZHksXHJcbiAgICAgICAgLm14X01Mb2NhdGlvbkJvZHlfbWFwLFxyXG4gICAgICAgIC5teF9NQmVhY29uQm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1jb3JuZXJSYWRpdXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0V2ZW50VGlsZV9ub1NlbmRlciB7XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICB0b3A6IC0xOXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtaGFzLXJlcGx5PVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgPiAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1JlcGx5Q2hhaW4ge1xyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX3JlcGx5IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgID4gYSwgLyogbGlua2VkIHRpbWVzdGFtcCBlbGVtZW50ICovXHJcbiAgICAgICAgICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhciArIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGdhcDogdmFyKC0tZ3V0dGVyU2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTVBvbGxCb2R5IHtcclxuICAgICAgICB3aWR0aDogNTUwcHg7IC8qIHRvIHByZXZlbnQgdGltZXN0YW1wIG92ZXJsYXBwaW5nIHN1bW1hcnkgdGV4dCAqL1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLyogcHJldmVudCBvdmVyZmxvd2luZyBhIHJlcGx5IHRpbGUgKi9cclxuXHJcbiAgICAgICAgLm14X01Qb2xsQm9keV90b3RhbFZvdGVzIHtcclxuICAgICAgICAgICAgLyogYWxpZ24gc3VtbWFyeSB0ZXh0IHdpdGggY29ybmVyIHRpbWVzdGFtcCAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9FdmVudFRpbGVfYmFkIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBTcGVjaWFsIGxheW91dCBzY2VuYXJpbyBmb3IgXCJVbmFibGUgVG8gRGVjcnlwdCAoVVREKVwiIGV2ZW50cyAqL1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGU6XHJcbiAgICAgICAgICAgICAgICBcInJlcGx5IHJlcGx5XCIgYXV0b1xyXG4gICAgICAgICAgICAgICAgXCJzaGllbGQgYm9keVwiIGF1dG9cclxuICAgICAgICAgICAgICAgIC8gYXV0byAxZnI7XHJcblxyXG4gICAgICAgICAgICAubXhfVW5rbm93bkJvZHksXHJcbiAgICAgICAgICAgIC5teF9SZXBseUNoYWluX3dyYXBwZXIsXHJcbiAgICAgICAgICAgIC5teF9WaWV3U291cmNlRXZlbnQge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwOyAvKiBQcmV2ZW50IGEgZ3JpZCBibG93b3V0ICovXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IHNoaWVsZDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfVW5rbm93bkJvZHksXHJcbiAgICAgICAgICAgIC5teF9EZWNyeXB0aW9uRmFpbHVyZUJvZHkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBib2R5O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUmVwbHlDaGFpbl93cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogcmVwbHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xyXG4gICAgICAgICAgICAvKiBcIlVuYWJsZSBUbyBEZWNyeXB0XCIgbGF5b3V0IGZvciBoaWRkZW4gZXZlbnRzICovXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDAgOXB4OyAvKiA5cHg6IG1hcmdpbiB2YWx1ZSBvZiBFMkUgaWNvbiAqL1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGU6XHJcbiAgICAgICAgICAgICAgICAgICAgXCJzaGllbGQgc291cmNlXCIgYXV0b1xyXG4gICAgICAgICAgICAgICAgICAgIC8gYXV0byAxZnI7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1ZpZXdTb3VyY2VFdmVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBzb3VyY2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01UZXh0Qm9keSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlcixcclxuICAgIC5teF9DYWxsRXZlbnRfd3JhcHBlciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9FdmVudFRpbGVfYWxpZ25lZEJldHdlZW5CdWJibGVzIHtcclxuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKFxyXG4gICAgICAgICAgICB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtc3RhcnQpICsgdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtc3RhcnQpXHJcbiAgICAgICAgKTtcclxuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyhcclxuICAgICAgICAgICAgdmFyKC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLWVuZCkgKyB2YXIoLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1lbmQpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfbm9CdWJibGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgLS1iYWNrZ3JvdW5kQ29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgIC5teF9FdmVudFRpbGVfbGluZS5teF9FdmVudFRpbGVfZW1vdGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IC8qIGFsaWduIHdpdGggYnViYmxlcyB0ZXh0ICovXHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG5cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAvKiBsaW5rZWQgdGltZXN0YW1wIGVsZW1lbnQgKi9cclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICBib3R0b206IHVuc2V0O1xyXG4gICAgICAgICAgICB0b3A6IHVuc2V0O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7IC8qIHVuZG8gaXRhbGljIGFib3ZlICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTUVtb3RlQm9keSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLFxyXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9sZWZ0QWxpZ25lZEJ1YmJsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAubXhfRXZlbnRUaWxlX2xpbmUgPiBhIHtcclxuICAgICAgICAvKiBoaWRlIHRoaXMgdGltZXN0YW1wIGFzIHRoZSB0aWxlIHdpbGwgcmVuZGVyIGl0cyBvd24gKi9cclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXJbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0sXHJcbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2xlZnRBbGlnbmVkQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLFxyXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcclxuICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgLm14X0V2ZW50VGlsZV9pbmZvIHtcclxuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLyogUHJlc2VydmUgYWxpZ25tZW50IHdpdGggbGVmdCBlZGdlIG9mIHRleHQgaW4gYnViYmxlcyAqL1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLFxyXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9sZWZ0QWxpZ25lZEJ1YmJsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcclxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcclxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSB7XHJcbiAgICAtLWJhY2tncm91bmRDb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAtLWd1dHRlclNpemU6IDA7XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgb3JkZXI6IC0xO1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1FdmVudFRpbGVfYnViYmxlX2dhcC1pbmxpbmUpOyAvKiBTYW1lIHNwYWNpbmcgYmV0d2VlbiBFMkUgaWNvbiBhbmQgYSBoaWRkZW4gZXZlbnQgKi9cclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7IC8qIG14X0V2ZW50VGlsZV9hdmF0YXIgaGFzIG1hcmdpbi1pbmxpbmUtZW5kLCBzbyBtYXJnaW4gaXMgbm90IG5lZWRlZCBoZXJlICovXHJcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgPiBhLCAvKiBsaW5rZWQgdGltZXN0YW1wIGVsZW1lbnQgKi9cclxuICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhciArIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGxlZnQ6IC03N3B4O1xyXG4gICAgICAgICAgICBib3R0b206IHVuc2V0O1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCxcclxuICAgICAgICAgICAgJi5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgLyogQXZvaWQgb3ZlcmZsb3cgb2YgZXZlbnQgaW5mbyBieSBjYW5jZWxsaW5nIHdpZHRoIHNldHRpbmdzICovXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBpbmNyZWFzZSBtYXJnaW4gYmV0d2VlbiBFTFMgYW5kIHRoZSBuZXh0IEV2ZW50IHRvIG5vdCBoYXZlIG91ciB1c2VyIGF2YXRhciBvdmVybGFwIHRoZSBleHBhbmQvY29sbGFwc2UgYnV0dG9uICovXHJcbiAgICAmW2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSArIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfaW5mbyB7XHJcbiAgICAgICAgcGFkZGluZzogMnB4IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhciB7XHJcbiAgICAgICAgICAgIC8qIFJlc2V0IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwiZmFsc2VcIl0gLm14X01lc3NhZ2VBY3Rpb25CYXIgKi9cclxuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBpbml0aWFsO1xyXG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiA0OHB4OyAvKiBhbGlnbiB3aXRoIHRoYXQgb2YgcmlnaHQtY29sdW1uIGJ1YmJsZXMgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcclxuICAgICAgICAgICAgLyogbWF0Y2ggYWxpZ25tZW50IHRvIFJScyBvZiBjaGF0IGJ1YmJsZXMgKi9cclxuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogY2FsYygtMSAqIHZhcigtLVJlYWRSZWNlaXB0R3JvdXBfRXZlbnRCdWJibGVUaWxlLXNwYWNpbmctZW5kKSArIDYwcHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDsgLyogbWF0Y2ggYWxpZ25tZW50IG9mIHRoZSBob3ZlciBiYWNrZ3JvdW5kIHRvIHRoYXQgb2YgY2hhdCBidWJibGVzICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlX3RpbGVFcnJvcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogcmVzdG9yZSB0aGUgY2VudGVyaW5nICovXHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbiRsZWZ0LWd1dHRlcjogNjRweDtcclxuXHJcbi5teF9FdmVudFRpbGUge1xyXG4gICAgLS1FdmVudFRpbGVfY29udGVudC1tYXJnaW4taW5saW5lLWVuZDogMzRweDtcclxuICAgIC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1ibG9jay1zdGFydDogMXB4O1xyXG4gICAgLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWJsb2NrLWVuZDogM3B4O1xyXG4gICAgLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydDogJGxlZnQtZ3V0dGVyO1xyXG4gICAgLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1saW5lLWhlaWdodDogJGZvbnQtMjJweDtcclxuICAgIC0tRXZlbnRUaWxlX1RocmVhZFN1bW1hcnktbGluZS1oZWlnaHQ6IGNhbGMoMiAqICRmb250LTEycHgpO1xyXG5cclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgY2xlYXI6IGJvdGg7IC8qIFRPRE86IGNoZWNrIGlmIHRoaXMgaXMgbmVjZXNzYXJ5ICovXHJcbiAgICBwYWRkaW5nLXRvcDogMThweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmLm14X0V2ZW50VGlsZV9pbmZvIHtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSk7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FdmVudFRpbGVfYm9keSB7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwX2NvbnRhaW5lciBzdmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xyXG4gICAgICAgICYubXhfRWRpdE1lc3NhZ2VDb21wb3NlcixcclxuICAgICAgICAmLm14X0VkaXRXeXNpd3lnQ29tcG9zZXIge1xyXG4gICAgICAgICAgICAvKiBNYWtlIHN1cmUgdGhlIGZvcm1hdHRpbmcgYmFyIGlzIHZpc2libGUgKi9cclxuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9FdmVudFRpbGVfc2VhcmNoSGlnaGxpZ2h0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50LWZnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBwYWRkaW5nLWlubGluZTogMnB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50LWZnLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZVRpbWVzdGFtcF9sYXRlSWNvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHRvcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlQnViYmxlIHtcclxuICAgICAgICBtYXJnaW4tYmxvY2s6IHZhcigtLUV2ZW50VGlsZUJ1YmJsZV9tYXJnaW4tYmxvY2spO1xyXG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ltYWdlQm9keSB7XHJcbiAgICAgICAgLm14X0ltYWdlQm9keV9jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyAvKiBvbiBldmVyeSBsYXlvdXQgKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1JlYWN0aW9uc1JvdyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6ICRzcGFjaW5nLTQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1JlcGx5Q2hhaW4tLWV4cGFuZGVkIHtcclxuICAgICAgICAubXhfRXZlbnRUaWxlX2JvZHkge1xyXG4gICAgICAgICAgICAvKiAhaW1wb3J0YW50IG5lZWRlZCB0byBvdmVycmlkZSAubXhfUmVwbHlUaWxlIC5teF9FdmVudFRpbGVfY29udGVudCAubXhfRXZlbnRUaWxlX2JvZHkgKi9cclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9jb2xsYXBzZWRDb2RlQmxvY2sge1xyXG4gICAgICAgICAgICAvKiAhaW1wb3J0YW50IG5lZWRlZCBkdWUgdG8gLm14X1JlcGx5VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm14X0V2ZW50VGlsZV9wcmVfY29udGFpbmVyID4gcHJlICovXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tVmlld19zZWFyY2hSZXN1bHRzUGFuZWwgJiB7XHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfY29udGV4dHVhbCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEwMHB4O1xyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcclxuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyAvKiBvdmVycmlkZSBkZWZhdWx0IHBhZGRpbmcgb2YgbXhfRXZlbnRUaWxlX2xpbmUgc28gdGhhdCB3ZSBjYW4gYmUgY2VudGVyZWQgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgIC8qIFRvIGF2b2lkIGJ1YmJsZSBldmVudHMgYmVpbmcgaGlnaGxpZ2h0ZWQgKi9cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0V2ZW50VGlsZV9pc0VkaXRpbmcgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtbGF5b3V0PVwiaXJjXCJdLFxyXG4gICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAtLXNlbGVjdGVkLW1lc3NhZ2UtYm9yZGVyLXdpZHRoOiA0cHg7XHJcblxyXG4gICAgICAgIC8qIFRPRE86IGFkanVzdCB0aGUgdmFsdWVzIGZvciBJUkMgbGF5b3V0ICovXHJcbiAgICAgICAgLS1FdmVudFRpbGUtYm94LXNoYWRvdy1vZmZzZXQteDogY2FsYyg1MHB4ICsgdmFyKC0tc2VsZWN0ZWQtbWVzc2FnZS1ib3JkZXItd2lkdGgpKTtcclxuICAgICAgICAtLUV2ZW50VGlsZS1ib3gtc2hhZG93LXNwcmVhZC1yYWRpdXM6IC01MHB4O1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9JbWFnZUJvZHkge1xyXG4gICAgICAgICAgICAubXhfSW1hZ2VCb2R5X2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAkZm9udC00NHB4O1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkZm9udC00NHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUsXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB3aWR0aDogOTBweDtcclxuXHJcbiAgICAgICAgICAgIC8qIEhhY2sgdG8gc3RvcCB0aGUgaGVpZ2h0IG9mIHRoaXMgcHVzaGluZyB0aGUgbWVzc2FnZXMgYXBhcnQuXHJcbiAgICAgICAgICAgICAgIFJlcGxhY2VzIG1hcmdpbi10b3A6IC02cHguIFRoaXMgaW50ZXJhY3RzIGJldHRlciB3aXRoIGEgcmVhZFxyXG4gICAgICAgICAgICAgICBtYXJrZXIgYmVpbmcgaW4gYmV0d2Vlbi4gQ29udGVudCBvdmVyZmxvd3MuICovXHJcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfaGlnaGxpZ2h0LFxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2hpZ2hsaWdodCAubWFya2Rvd24tYm9keSB7XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtaGlnaGxpZ2h0LWJnLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZvY3VzLXZpc2libGU6Zm9jdXMtd2l0aGluLFxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2FjdGlvbkJhckZvY3VzZWQsXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfaXNFZGl0aW5nLFxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX3NlbGVjdGVkIHtcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVudC1zZWxlY3RlZC1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogdGhpcyBpcyB1c2VkIGZvciB0aGUgdGlsZSBmb3IgdGhlIGV2ZW50IHdoaWNoIGlzIHNlbGVjdGVkIHZpYSB0aGUgVVJMLiAqL1xyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2lzRWRpdGluZyxcclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9zZWxlY3RlZCB7XHJcbiAgICAgICAgICAgID4gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgIC8qIFRPRE86IHVsdGltYXRlbHkgd2UgcHJvYmFibHkgd2FudCBzb21lIHRyYW5zaXRpb24gb24gaGVyZS4gKi9cclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IHZhcigtLUV2ZW50VGlsZS1ib3gtc2hhZG93LW9mZnNldC14KSAwIDAgdmFyKC0tRXZlbnRUaWxlLWJveC1zaGFkb3ctc3ByZWFkLXJhZGl1cylcclxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVudC1zZWxlY3RlZC1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLFxyXG4gICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAubXhfRXZlbnRUaWxlQnViYmxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9SZXBseUNoYWluIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWxheW91dD1cImlyY1wiXSB7XHJcbiAgICAgICAgLS1FdmVudFRpbGVfaXJjX2xpbmUtcGFkZGluZy1ibG9jazogMXB4O1xyXG5cclxuICAgICAgICAvKiBhZGQgLS1yaWdodC1wYWRkaW5nIHZhbHVlIG9mIE1lc3NhZ2VUaW1lc3RhbXAgb25seSAqL1xyXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1jb2xvbi1zcGFjZS1hZnRlciAqL1xyXG4gICAgICAgIC0tRXZlbnRUaWxlX2lyY19saW5lX2luZm8tbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyhcclxuICAgICAgICAgICAgdmFyKC0tbmFtZS13aWR0aCkgKyB2YXIoLS1pY29uLXdpZHRoKSArIDEgKiB2YXIoLS1yaWdodC1wYWRkaW5nKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcblxyXG4gICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoKTsgLyogZW5zdXJlIHNwYWNlIGZvciBFdmVudFRpbGUgd2l0aG91dCB0aW1lc3RhbXAgKi9cclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+ICoge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXJpZ2h0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIsXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1pcmMtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIsXHJcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlLFxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbixcclxuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgLyogTmVlZCB0byB1c2UgaW1wb3J0YW50IHRvIG92ZXJyaWRlIHRoZSBqcyBjYWxjdWxhdGVkIHZhbHVlcy4gKi9cclxuICAgICAgICAgICAgPiAubXhfQmFzZUF2YXRhcixcclxuICAgICAgICAgICAgPiAubXhfQmFzZUF2YXRhciA+ICoge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogY2FsYygkZm9udC0xNXB4IC0gMnB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgd2lkdGg6IHZhcigtLW5hbWUtd2lkdGgpO1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDsgLyogb3ZlcnJpZGUgbXhfRXZlbnRUaWxlID4gKiAqL1xyXG5cclxuICAgICAgICAgICAgPiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfZGlzcGxheU5hbWUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX214aWQge1xyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogY29sbGFwc2U7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgLyogT3ZlcnJpZGUgdGhlIGluaGVyaXRlZCBtYXJnaW4uICovXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG5cclxuICAgICAgICAgICAgICAgID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW50LXNlbGVjdGVkLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCAwIDAgOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfbXhpZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVudC1zZWxlY3RlZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24sXHJcbiAgICAgICAgICAgIC5teF9UZXh0dWFsRXZlbnQsXHJcbiAgICAgICAgICAgIC5teF9WaWV3U291cmNlRXZlbnQsXHJcbiAgICAgICAgICAgIC5teF9NVGV4dEJvZHkge1xyXG4gICAgICAgICAgICAgICAgLyogYWRkIGEgMXB4IHBhZGRpbmcgdG9wIGFuZCBib3R0b20gYmVjYXVzZSBvdXIgbGFyZ2VyXHJcbiAgICAgICAgICAgICAgICBlbW9qaSBmb250IG90aGVyd2lzZSBnZXRzIGNyb3BwZWQgYnkgYW50aS16YWxnbyAqL1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tRXZlbnRUaWxlX2lyY19saW5lLXBhZGRpbmctYmxvY2spIDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbixcclxuICAgICAgICAgICAgLm14X1RleHR1YWxFdmVudCxcclxuICAgICAgICAgICAgLm14X01UZXh0Qm9keSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9SZXBseVRpbGUge1xyXG4gICAgICAgICAgICAgICAgLm14X01UZXh0Qm9keSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7IC8qIEVuYWJsZSAtd2Via2l0LWxpbmUtY2xhbXAgKi9cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfcmVwbHkge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9tc2dPcHRpb24ge1xyXG4gICAgICAgICAgICBvcmRlcjogNTtcclxuXHJcbiAgICAgICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcclxuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAtMC4zcmVtOyAvKiAodmFyKC0taXJjLWxpbmUtaGVpZ2h0KSAtIGF2YXRhciBoZWlnaHQpIC8gMiAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUmVwbHlDaGFpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FZGl0TWVzc2FnZUNvbXBvc2VyX2J1dHRvbnMge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlQnViYmxlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBsZWZ0OiB2YXIoLS1FdmVudFRpbGVfaXJjX2xpbmVfaW5mby1tYXJnaW4taW5saW5lLXN0YXJ0KTtcclxuXHJcbiAgICAgICAgICAgICYubXhfY3J5cHRvRXZlbnQge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9SZXBseVRpbGUgLm14X0V2ZW50VGlsZUJ1YmJsZSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IHVuc2V0OyAvKiBDYW5jZWwgdGhlIHZhbHVlIHNwZWNpZmllZCBhYm92ZSBmb3IgdGhlIHRpbGUgaW5zaWRlIFJlcGx5VGlsZSAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfaXNFZGl0aW5nID4gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgLm14X0VkaXRNZXNzYWdlQ29tcG9zZXIge1xyXG4gICAgICAgICAgICAgICAgLyogYWRkIHNwYWNlIGZvciB0aGUgc3Ryb2tlIG9uIGJveC1zaGFkb3cgKi9cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKFxyXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXNlbGVjdGVkLW1lc3NhZ2UtYm9yZGVyLXdpZHRoKSArIHZhcigtLUVkaXRNZXNzYWdlQ29tcG9zZXItcGFkZGluZy1pbmxpbmUpXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIHtcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogdmFyKC0tRXZlbnRUaWxlX2lyY19saW5lX2luZm8tbWFyZ2luLWlubGluZS1zdGFydCk7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXJpZ2h0LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0tRXZlbnRUaWxlX2lyY19saW5lLXBhZGRpbmctYmxvY2spO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tRXZlbnRUaWxlX2lyY19saW5lX2luZm8tbWFyZ2luLWlubGluZS1zdGFydCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9WaWV3U291cmNlRXZlbnQsIC8qIEZvciBoaWRkZW4gZXZlbnRzICovXHJcbiAgICAgICAgICAgIC5teF9UZXh0dWFsRXZlbnQge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWlyYy1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2Vtb3RlIHtcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgLyogYWRkIC0tcmlnaHQtcGFkZGluZyB2YWx1ZSBvZiBNZXNzYWdlVGltZXN0YW1wIG9ubHkgKi9cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLW5hbWUtd2lkdGgpICsgdmFyKC0taWNvbi13aWR0aCkgKyAxICogdmFyKC0tcmlnaHQtcGFkZGluZykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTEtNXgpIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICB0b3A6IDE0cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUsXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWJsb2NrLXN0YXJ0KTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctYmxvY2stZW5kKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xyXG4gICAgICAgICAgICBpbnNldDogMCAwIDAgNDRweDtcclxuXHJcbiAgICAgICAgICAgIC8qIEtlZXAgaGVpZ2h0IGVxdWFsIHRvIHRleHQgZm9yIGFsaWdubWVudCAqL1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAxcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgLm14X1JlYWRSZWNlaXB0R3JvdXAge1xyXG4gICAgICAgICAgICAgICAgLyogVGhpcyBhbGlnbnMgdGhlIGF2YXRhciB3aXRoIHRoZSBsYXN0IGxpbmUgb2YgdGhlICovXHJcbiAgICAgICAgICAgICAgICAvKiBtZXNzYWdlLiBXZSB3YW50IHRvIG1vdmUgaXQgb25lIGxpbmUgdXAgKi9cclxuICAgICAgICAgICAgICAgIC8qIFNlZSAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PWdyb3VwXSAubXhfRXZlbnRUaWxlX2xpbmUgaW4gX0V2ZW50VGlsZS5zY3NzICovXHJcbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogY2FsYygtJGZvbnQtMjJweCAtIDNweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVGhyZWFkU3VtbWFyeSxcclxuICAgICAgICAubXhfVGhyZWFkU3VtbWFyeV9pY29uIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRsZWZ0LWd1dHRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfZm9vdGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMXgpIHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctaW5saW5lLXN0YXJ0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbGVmdC1ndXR0ZXI7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGxlZnQtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVZpZXdfdGltZWxpbmVfcnJfZW5hYmxlZCAmIHtcclxuICAgICAgICAgICAgJGlubGluZS1lbmQtbWFyZ2luOiA4MHB4O1xyXG5cclxuICAgICAgICAgICAgLm14X1RocmVhZFN1bW1hcnksXHJcbiAgICAgICAgICAgIC5teF9UaHJlYWRTdW1tYXJ5X2ljb24sXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpbmxpbmUtZW5kLW1hcmdpbjtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRmb250LTE0cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9UaHJlYWRTdW1tYXJ5IHtcclxuICAgICAgICAgICAgICAgIC8qIGxlYXZlIHNwYWNlIG9uIGJvdGggbGVmdCAmIHJpZ2h0IGd1dHRlcnMgKi9cclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWluKGNhbGMoMTAwJSAtICRsZWZ0LWd1dHRlciAtICRpbmxpbmUtZW5kLW1hcmdpbiksIDYwMHB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLyogb24gRUxTIHdlIG5lZWQgdGhlIG1hcmdpbiB0byBhbGxvdyBpbnRlcmFjdGlvbiB3aXRoIHRoZSBleHBhbmQvY29sbGFwc2UgYnV0dG9uICovXHJcbiAgICAgICAgICAgIC8qIHdoaWNoIGlzIG5vcm1hbGx5IGluIHRoZSBSUiBndXR0ZXIgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfaW5mbyB7XHJcbiAgICAgICAgICAgICRzcGFjaW5nLWJsb2NrLXN0YXJ0OiAzcHg7XHJcbiAgICAgICAgICAgICRzcGFjaW5nLWJsb2NrLWVuZDogMnB4O1xyXG5cclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhcixcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2luZy1ibG9jay1zdGFydCAwICRzcGFjaW5nLWJsb2NrLWVuZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgdG9wOiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAkbGVmdC1ndXR0ZXI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkc3BhY2luZy1ibG9jay1zdGFydCAkc3BhY2luZy1ibG9jay1lbmQ7XHJcbiAgICAgICAgICAgICAgICAvKiAyMHB4OiBhdmF0YXIgYXJlYSAqL1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQpICsgMjBweCk7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5teF9FdmVudFRpbGVfc2VsZWN0ZWQgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgIC8qIFRPRE86IGNoZWNrIGlmIHRoaXMgd291bGQgYmUgbmVjZXNzYXJ5OyAqL1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQpICsgMjBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAgICAgLyogT3RoZXIgaGFsZiBvZiB0aGUgZ3V0dGVyIGlzIHByb3ZpZGVkIGJ5IG1hcmdpbi1ib3R0b20gb24gdGhlIGxhc3QgdGlsZVxyXG4gICAgICAgIG9mIHRoZSBzZWN0aW9uICovXHJcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1ndXR0ZXJTaXplKSAvIDIpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtc3RhcnQpO1xyXG5cclxuICAgICAgICAvKiBSZXNldCBkZWZhdWx0IHZhbHVlcy4gVE9ETzogcmVtb3ZlICovXHJcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9tc2dPcHRpb24ge1xyXG4gICAgICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICAvKiBhcyBjbG9zZSB0byByaWdodCBndXR0ZXIgd2l0aG91dCBjbGlwcGluZyBhcyBwb3NzaWJsZSAqL1xyXG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogY2FsYygtMSAqIHZhcigtLVJlYWRSZWNlaXB0R3JvdXBfRXZlbnRCdWJibGVUaWxlLXNwYWNpbmctZW5kKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLyogKEV2ZW50VGlsZUxpbmUubGluZS1oZWlnaHQgLSBSZWFkUmVjZWlwdEdyb3VwLmhlaWdodCkgLyAyICovXHJcbiAgICAgICAgICAgICAgICAvKiB0aGlzIGNlbnRlcnMgdGhlIFJlYWRSZWNlaXB0R3JvdXAgaWYgd2XigJl2ZSBnb3QgYSBzaW5nbGUgbGluZSAqL1xyXG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stZW5kOiBjYWxjKCgkZm9udC0xOHB4IC0gMjRweCkgLyAyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubXhfRXZlbnRUaWxlQnViYmxlIHtcclxuICAgICAgICAgICAgLyogVGltZXN0YW1wcyBhcmUgaW5zaWRlIHRoZSB0aWxlLCBzbyB0aGUgd2lkdGggY2FuIGJlIGxlc3MgY29uc3RyYWluZWQgKi9cclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfbGFzdEluU2VjdGlvbiB7XHJcbiAgICAgICAgICAgIC8qIE90aGVyIGhhbGYgb2YgdGhlIGd1dHRlciBpcyBwcm92aWRlZCBieSBtYXJnaW4tdG9wIG9uIHRoZSBmaXJzdFxyXG4gICAgICAgICAgICB0aWxlIG9mIHRoZSBzZWN0aW9uICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ3V0dGVyU2l6ZSkgLyAyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeSB7XHJcbiAgICAmW2RhdGEtbGF5b3V0PVwiaXJjXCJdLFxyXG4gICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUgLm14X1JlZGFjdGVkQm9keSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOyAvKiByZW1vdmUgc3BhY2luZyBiZXR3ZWVuIGxpbmVzICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ge1xyXG4gICAgICAgIC8qIEFwcGx5IG9ubHkgY29sbGFwc2VkIGV2ZW50cyBibG9jayAqL1xyXG4gICAgICAgID4gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgLyogYWRkIC0tcmlnaHQtcGFkZGluZyB2YWx1ZSBvZiBNZXNzYWdlVGltZXN0YW1wIGFuZCBhdmF0YXIgb25seSAqL1xyXG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tY29sb24tc3BhY2UtYWZ0ZXIgKi9cclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKFxyXG4gICAgICAgICAgICAgICAgdmFyKC0tbmFtZS13aWR0aCkgKyB2YXIoLS1pY29uLXdpZHRoKSArIHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpICsgMiAqIHZhcigtLXJpZ2h0LXBhZGRpbmcpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGVmdC1ndXR0ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdW5zdHlsZWRMaXN0ID4gLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfYXZhdGFyIH4gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgLyogb3ZlcnJpZGUgcGFkZGluZy1sZWZ0ICRsZWZ0LWd1dHRlciAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydCkgKyAyMHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVfY29udGVudCB7XHJcbiAgICAvKlxyXG4gICAgYWxsIHRoZSBvdmVyZmxvdy15OiBoaWRkZW47IGFyZSB0byB0cmFwIFphbGdvcyAtXHJcbiAgICBidXQgdGhleSBpbnRyb2R1Y2UgYW4gaW1wbGljaXQgb3ZlcmZsb3cteDogYXV0by5cclxuICAgIHNvIG1ha2UgdGhhdCBleHBsaWNpdGx5IGhpZGRlbiB0b28gdG8gYXZvaWQgcmFuZG9tXHJcbiAgICBob3Jpem9udGFsIHNjcm9sbGJhcnMgb2NjYXNpb25hbGx5IGFwcGVhcmluZywgbGlrZSBpblxyXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL3ZlY3Rvci1pbS92ZWN0b3Itd2ViL2lzc3Vlcy8xMTU0XHJcbiAgICAqL1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1FdmVudFRpbGVfY29udGVudC1tYXJnaW4taW5saW5lLWVuZCk7XHJcblxyXG4gICAgLm1hcmtkb3duLWJvZHkge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcikgIWltcG9ydGFudDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZCk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiBpbmhlcml0IHRoZSBjb2xvdXIgZnJvbSB0aGUgZGFyayBvciBsaWdodCB0aGVtZSBieSBkZWZhdWx0IChidXQgbm90IGZvciBjb2RlIGJsb2NrcykgKi9cclxuICAgICAgICBmbGV4OiAxO1xyXG5cclxuICAgICAgICBwcmUsXHJcbiAgICAgICAgY29kZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbW9ub3NwYWNlLWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzeXN0ZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb2RlOm5vdChwcmUgKikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5saW5lY29kZS1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5saW5lY29kZS1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgLyogVGhlIGhvcml6b250YWwgcGFkZGluZyBpcyBhZGRlZCBieSBnaXRodWItbWFya2Rvd24tY3NzIC5tYXJrZG93bi1ib2R5ICovXHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTIgMDtcclxuICAgICAgICAgICAgLyogQXZvaWQgaW5saW5lIGNvZGUgYmxvY2tzIHRvIGJlIHN0aWNrZWQgd2hlbiBvbiBtdWx0aXBsZSBsaW5lcyAqL1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjJweDtcclxuICAgICAgICAgICAgLyogQXZvaWQgdGhlIGJvcmRlciB0byBiZSBnbHVlZCB0byB0aGUgb3RoZXIgd29yZHMgKi9cclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy0yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29kZSB7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgLyogZG9uJ3QgY29sbGFwc2Ugc3BhY2VzIGluIGlubGluZSBjb2RlIGJsb2NrcyAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcHJlIHtcclxuICAgICAgICAgICAgLyogaGF2ZSB0byB1c2Ugb3ZlcmxheSByYXRoZXIgdGhhbiBhdXRvIG90aGVyd2lzZSBMaW51eCBhbmQgV2luZG93cyAqL1xyXG4gICAgICAgICAgICAvKiBDaHJvbWUgZ2V0cyB2ZXJ5IGNvbmZ1c2VkIGFib3V0IHZlcnRpY2FsIHNwYWNpbmc6ICovXHJcbiAgICAgICAgICAgIC8qIGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vdmVjdG9yLXdlYi9pc3N1ZXMvNzU0ICovXHJcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IG92ZXJsYXk7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XHJcblxyXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICBjb2RlIHtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7IC8qIHdlIHdhbnQgY29kZSBibG9ja3MgdG8gYmUgc2Nyb2xsYWJsZSBhbmQgbm90IHdyYXAgKi9cclxuXHJcbiAgICAgICAgICAgICAgICA+ICoge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIsXHJcbiAgICAgICAgaDMsXHJcbiAgICAgICAgaDQsXHJcbiAgICAgICAgaDUsXHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIE1ha2UgaDEgYW5kIGgyIHRoZSBzYW1lIHNpemUgYXMgaDMuICovXHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIEdGTSAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50LWFsdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRibG9ja3F1b3RlLWJhci1jb2xvcjtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKlxyXG4gICAgICAgIC8vIGFjdHVhbGx5LCByZW1vdmluZyB0aGUgSXRhbGljIFRURiBwcm92aWRlc1xyXG4gICAgICAgIC8vIGJldHRlciByZXN1bHRzIHNlZW1pbmdseVxyXG5cclxuICAgICAgICAvLyBjb21wZW5zYXRlIGZvciBOdW5pdG8gaXRhbGljcyBiZWluZyB0ZXJyaWJsZVxyXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZm9udHMvaXNzdWVzLzE3MjZcclxuICAgICAgICBlbSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTE0ZGVnKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAqL1xyXG5cclxuICAgICAgICAvKiBTdXBwb3J0IGFyYml0cmFyaWx5IGxhcmdlIG1hcmtlciBudW1iZXJzICovXHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwLjVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIE92ZXJyaWRlIG5lc3RlZCBsaXN0cyBiZWluZyBsb3dlci1yb21hbiAqL1xyXG4gICAgICAgIG9sIG9sLFxyXG4gICAgICAgIHVsIG9sIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiByZXZlcnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBNYWtlIGxpc3QgdHlwZSBkaXNjIHRvIG1hdGNoIHJpY2ggdGV4dCBlZGl0b3IgKi9cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIG92ZXJyaWRlIHN0eWxlcyBmcm9tIHRoZSBiYXNlIG1hcmtkb3duIENTUyB0aGF0IHB1dCBtYXJrZG93biBjb250ZW50IG9uIGl0cyBvd24gbGluZSxcclxuICAgICAgICAgICBhcyB0aGlzIGlzbid0IHdoYXQgd2Ugd2FudCBmb3IgcmljaHRleHQgZW1vdGUgY29udGVudC5cclxuICAgICAgICAgKi9cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogU3BvaWxlciBzdHVmZiAqL1xyXG4ubXhfRXZlbnRUaWxlX3Nwb2lsZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIC8qIGNsZWFyIGJ1dHRvbiBzdHlsZXMgKi9cclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xyXG5cclxuICAgIC5teF9FdmVudFRpbGVfc3BvaWxlcl9yZWFzb24ge1xyXG4gICAgICAgIGNvbG9yOiAkZXZlbnQtdGltZXN0YW1wLWNvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTFweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX3Nwb2lsZXJfY29udGVudCB7XHJcbiAgICAgICAgZmlsdGVyOiBibHVyKDVweCkgc2F0dXJhdGUoMC4xKSBzZXBpYSgxKTtcclxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICYudmlzaWJsZSA+IC5teF9FdmVudFRpbGVfc3BvaWxlcl9jb250ZW50IHtcclxuICAgICAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG87XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVfYmlnRW1vamkge1xyXG4gICAgZm9udC1zaXplOiA0OHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDU3cHg7XHJcblxyXG4gICAgLm14X0Vtb2ppIHtcclxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVfYm9keSB7XHJcbiAgICBhOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICBwcmUge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlOmhvdmVyICYsXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZTpmb2N1cy12aXNpYmxlOmZvY3VzLXdpdGhpbiAmIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIHNlbGVjdG9yIHdyb25nbHkgYXBwbGllcyB0byBwaWxsIGF2YXRhcnMgYnV0IHRob3NlIGhhdmUgZXhwbGljaXQgd2lkdGgvaGVpZ2h0IHBhc3NlZCBhdCBhIGhpZ2hlciBzcGVjaWZpY2l0eSAqL1xyXG4gICAgJi5tYXJrZG93bi1ib2R5IGltZyB7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICBvYmplY3QtcG9zaXRpb246IGxlZnQgdG9wO1xyXG5cclxuICAgICAgICAvKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBjb2xvcnMgb2YgdGhlICdnaXRodWItbWFya2Rvd24tY3NzJyBsaWJyYXJ5XHJcbiAgICAgICAgKCNmZmYgZm9yIGxpZ2h0IHRoZW1lLCAjMDAwIGZvciBkYXJrIHRoZW1lKSB0byBtYXRjaCB0aGUgaW5oZXJpdGVkIHRoZW1lICovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FdmVudFRpbGVfY2xhbXAgJiB7XHJcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX3ByZV9jb250YWluZXIge1xyXG4gICAgICAgIC8qIEZvciBjb3JyZWN0IHBvc2l0aW9uaW5nIG9mIF9jb3B5QnV0dG9uIChTZWUgVGV4dHVhbEJvZHkpICovXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAmOmZvY3VzLXdpdGhpbixcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9jb2xsYXBzZWRDb2RlQmxvY2sge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMHZoO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctMTI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy0xMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIEluc2VydGVkIGFkamFjZW50IHRvIDxwcmU+IGJsb2NrcywgKFNlZSBUZXh0dWFsQm9keSkgKi9cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2J1dHRvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICByaWdodDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgJi5teF9FdmVudFRpbGVfYnV0dG9uQm90dG9tIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMzNweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1lc3NhZ2UtYWN0aW9uLWJhci1mZy1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZV9saW5lTnVtYmVycyB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMCAwLjVlbSAwIC0xLjVlbTtcclxuICAgIGNvbG9yOiBncmF5O1xyXG5cclxuICAgICYgc3BhbiB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVfYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLm14X0V2ZW50VGlsZV90aWxlRXJyb3Ige1xyXG4gICAgY29sb3I6IHJlZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAvKiBSZW1vdmUgc29tZSBvZiB0aGUgZGVmYXVsdCB0aWxlIHBhZGRpbmcgc28gdGhhdCB0aGUgZXJyb3IgaXMgY2VudGVyZWQgKi9cclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy00ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGU6aG92ZXIgLm14X1RocmVhZEFjdGlvbkJhcixcclxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYWN0aW9uQmFyRm9jdXNlZCAubXhfVGhyZWFkQWN0aW9uQmFyLFxyXG5bZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSAubXhfRXZlbnRUaWxlOmZvY3VzLXdpdGhpbiAubXhfVGhyZWFkQWN0aW9uQmFyLFxyXG4ubXhfRXZlbnRUaWxlOmZvY3VzLXZpc2libGU6Zm9jdXMtd2l0aGluIC5teF9UaHJlYWRBY3Rpb25CYXIge1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl0sXHJcbi5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIk5vdGlmaWNhdGlvblwiXSB7XHJcbiAgICAtLXRvcE9mZnNldDogJHNwYWNpbmctMTI7XHJcbiAgICAtLWxlZnRPZmZzZXQ6IDQ4cHg7XHJcbiAgICAkYm9yZGVyUmFkaXVzOiA4cHg7XHJcbiAgICAkcGFkZGluZzogJHNwYWNpbmctODtcclxuICAgICRockhlaWdodDogMXB4O1xyXG4gICAgJG5vdGlmaWNhdGlvbi1kb3Qtc2l6ZTogOHB4OyAvKiBub3RpZmljYXRpb24gZG90IG5leHQgdG8gdGhlIHRpbWVzdGFtcCAqL1xyXG5cclxuICAgIG1hcmdpbjogY2FsYyh2YXIoLS10b3BPZmZzZXQpICsgJGhySGVpZ2h0KSAwIHZhcigtLXRvcE9mZnNldCk7IC8qIGluY2x1ZGUgdGhlIGhlaWdodCBvZiBob3Jpem9udGFsIGxpbmUgKi9cclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1cztcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAmOjphZnRlcixcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICRpbnNldC1ibG9jay1zdGFydDogYXV0bztcclxuICAgICAgICAkaW5zZXQtaW5saW5lLWVuZDogY2FsYygtMSAqIHZhcigtLWNwZC1zcGFjZS0yeCkpO1xyXG4gICAgICAgICRpbnNldC1ibG9jay1lbmQ6IGNhbGMoLTEgKiB2YXIoLS10b3BPZmZzZXQpIC0gJGhySGVpZ2h0KTsgLyogZXhjbHVkZSB0aGUgaGVpZ2h0IG9mIGhvcml6b250YWwgbGluZSAqL1xyXG4gICAgICAgICRpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tbGVmdE9mZnNldCkgKyAkcGFkZGluZyk7XHJcbiAgICAgICAgaW5zZXQ6ICRpbnNldC1ibG9jay1zdGFydCAkaW5zZXQtaW5saW5lLWVuZCAkaW5zZXQtYmxvY2stZW5kICRpbnNldC1pbmxpbmUtc3RhcnQ7XHJcblxyXG4gICAgICAgIGhlaWdodDogJGhySGVpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIGRpc2FibGUgdGhlIG1lc3NhZ2UgYWN0aW9uIGJhciBvbiBob3ZlciAqL1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIGVuc3VyZXMgdGhlIHRpdGxlIGZvciB0aGUgc2VuZGVyIG5hbWUgY2FuIGJlIGNvcnJlY3RseSBkaXNwbGF5ZWQgKi9cclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtbm90aWZpY2F0aW9uPVwidG90YWxcIl06OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJvb20taWNvbi11bnJlYWQtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLW5vdGlmaWNhdGlvbj1cImhpZ2hsaWdodFwiXTo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICBpbnNldDogJHBhZGRpbmcgYXV0byBhdXRvICRwYWRkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FdmVudFRpbGVfZGV0YWlscyB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleDogMTtcclxuXHJcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lLFxyXG4gICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9teGlkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lIHtcclxuICAgICAgICAgICAgZmxleDogbm9uZTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX214aWQge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWxlZnRPZmZzZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgd2lkdGg6IHVuc2V0OyAvKiBDYW5jZWwgdGhlIGRlZmF1bHQgd2lkdGggKi9cclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiBlbnN1cmUgY29ycmVjdCBvdmVyZmxvdyBiZWhhdmlvciAqL1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyAvKiB0byBlbnN1cmUgaXQncyBlbmQtYWxpZ25lZCBldmVuIGlmIGl0J3MgdGhlIG9ubHkgZWxlbWVudCBvZiBpdHMgcGFyZW50ICovXHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVscztcclxuICAgIH1cclxuXHJcbiAgICAvKiBUaHJlYWRzTGlzdCBoYXMgYWx3YXlzIGdyb3VwIGxheW91dCAqL1xyXG4gICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdOmhvdmVyIHtcclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lOyAvKiBkb24ndCBzaG93IHRoZSB2ZXJpZmljYXRpb24gbGVmdCBzdHJva2UgaW4gdGhlIHRocmVhZCBsaXN0ICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJUaHJlYWRzTGlzdFwiXSB7XHJcbiAgICAubXhfVGhyZWFkUGFuZWxfcmVwbGllcyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcblxyXG4gICAgICAgID4gc3ZnIHtcclxuICAgICAgICAgICAgQG1peGluIFRocmVhZFN1bW1hcnlJY29uO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RocmVhZFBhbmVsX3JlcGxpZXNfYW1vdW50IHtcclxuICAgICAgICAgICAgQG1peGluIFRocmVhZFJlcGxpZXNBbW91bnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVGhyZWFkU3VtbWFyeV9pY29uIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy04O1xyXG5cclxuICAgID4gc3ZnIHtcclxuICAgICAgICBAbWl4aW4gVGhyZWFkU3VtbWFyeUljb247XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJHNwYWNpbmctODtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIGEmIHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBGb3Igc3R5bGUgcnVsZXMgb2YgVGhyZWFkVmlldywgc2VlIF9UaHJlYWRQYW5lbC5wY3NzICovXHJcbi5teF9UaHJlYWRWaWV3IHtcclxuICAgIC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLXN0YXJ0OiA1NnB4OyAvKiA1NnB4OiA2NHB4IC0gOHB4IChwYWRkaW5nKSAqL1xyXG4gICAgLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctZW5kOiA4cHg7IC8qIHNhbWUgYXMgcGFkZGluZyAqL1xyXG5cclxuICAgIC5teF9FdmVudFRpbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9yb29tTmFtZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBoYW5kbGluZyBmb3IgaGlkZGVuIGV2ZW50cyAoZS5nIHJlYWN0aW9ucykgaW4gdGhlIHRocmVhZCB2aWV3ICovXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfaW5mbyB7XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIC8qIEFsaWduIHdpdGggaGlkZGVuIGV2ZW50IGNvbnRlbnQgKi9cclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX3NlbGVjdGVkIC5teF9FdmVudFRpbGVfbGluZSxcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgICRsaW5lLWhlaWdodDogJGZvbnQtMTJweDtcclxuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50LFxyXG4gICAgICAgICAgICAgICAgLm14X1JlZGFjdGVkQm9keSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXHJcbiAgICAgICAgICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLyogMTRweDogYXZhdGFyIHdpZHRoLCA0cHg6IGFsaWduIHdpdGggdGV4dCAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGModmFyKC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aCkgKyAxNHB4IC0gNHB4KTtcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5OyAvKiBwb3NpdGlvbiBhYm92ZSB0aGUgaG92ZXIgc3R5bGluZyAqL1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDsgLyogQWxpZ24gd2l0aCBhdmF0YXIgKi9cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9zZWxlY3RlZCAubXhfRXZlbnRUaWxlX2xpbmUsXHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfY29udGVudCxcclxuICAgICAgICAgICAgICAgICAgICAubXhfUmVkYWN0ZWRCb2R5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogMTRweDogYXZhdGFyIHdpZHRoLCA2cHg6IDIwcHggLSAxNHB4ICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoMTRweCArIDZweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcclxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5teF9FdmVudFRpbGVfc2VsZWN0ZWQgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X1JlZGFjdGVkQm9keSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLXN0YXJ0KSArIDE0cHggKyA2cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJltkYXRhLWxheW91dD1cImlyY1wiXSxcclxuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAkc3BhY2luZy0xNjtcclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSxcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9mb290ZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1lbmQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlX2xpbmUtcGFkZGluZy1ibG9jayk7XHJcblxyXG4gICAgICAgICAgICAgICAgLyogQWRkIHBhZGRpbmcgdG8gYWxpZ24gbWVzc2FnZSB0ZXh0IHdpdGggc3VtbWFyeSB0ZXh0ICovXHJcbiAgICAgICAgICAgICAgICAvKiBTZWU6IC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSAubXhfRXZlbnRUaWxlX2xpbmUgKi9cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctc3RhcnQpO1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5teF9FZGl0TWVzc2FnZUNvbXBvc2VyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7IC8qIGFsaWduIHN0YXJ0IG9mIGZpcnN0IGxldHRlciB3aXRoIHRoYXQgb2YgdGhlIGV2ZW50IGJvZHkgKi9cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfZm9vdGVyIHtcclxuICAgICAgICAgICAgICAgIC8qIEFsaWduIHdpdGggbWVzc2FnZSB0ZXh0IGFuZCBzdW1tYXJ5IHRleHQgKi9cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1zdGFydCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwOyAvKiBDYW5jZWwgcGFkZGluZy1ibG9jay1zdGFydCAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlscyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGdhcDogJHNwYWNpbmctMTY7IC8qIGdhcCBiZXR3ZWVuIHRoZSBhdmF0YXIgYW5kIHRoZSBzZW5kZXIgSUQgKi9cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkc3BhY2luZy04O1xyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyAvKiBmb3IgSVJDIGxheW91dCAqL1xyXG4gICAgICAgICAgICAgICAgdG9wOiAycHg7IC8qIEFsaWduIHdpdGggbXhfRXZlbnRUaWxlX2NvbnRlbnQgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lOiBjYWxjKC0xICogdmFyKC0tQmFzZUNhcmRfRXZlbnRUaWxlLXNwYWNpbmctaW5saW5lKSk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiBhdXRvOyAvKiBlbmFibGUgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciAqL1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUmVhY3Rpb25zUm93IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogZGlzcGxheSBvbiBob3ZlciAqL1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUubXhfRXZlbnRUaWxlX21lZGlhTGluZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLUV2ZW50QnViYmxlVGlsZV9saW5lLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZbZGF0YS1zZWxmPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLm14X0V2ZW50VGlsZV9tZWRpYUxpbmUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCB2YXIoLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1lbmQpIDAgMDsgLyogYWxpZ24gd2l0aCBub3JtYWwgbWVzc2FnZXMgKi9cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkge1xyXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXHJcbiAgICAgICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAgICAgPiAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1zdGFydCk7IC8qIGFsaWduIHN1bW1hcnkgdGV4dCB3aXRoIG1lc3NhZ2UgdGV4dCAqL1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctZW5kKTsgLyogYWxpZ24gc3VtbWFyeSB0ZXh0IHdpdGggbWVzc2FnZSB0ZXh0ICovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIENhc2NhZGluZyAtIGNvbXBhY3QgbW9kZXJuIGxheW91dCBvbiB0aGUgbWFpbiB0aW1lbGluZSBhbmQgdGhlIHJpZ2h0IHBhbmVsICovXHJcbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQge1xyXG4gICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dF9ncm91cC1wYWRkaW5nLXRvcDogJHNwYWNpbmctNDtcclxuICAgICAgICAtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dC10b3AtYXZhdGFyOiAycHg7XHJcbiAgICAgICAgLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXRfbGluZS1zcGFjaW5nLWJsb2NrOiAwcHg7XHJcblxyXG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXRfZ3JvdXAtcGFkZGluZy10b3ApO1xyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUsXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dF9saW5lLXNwYWNpbmctYmxvY2spO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1JlcGx5Q2hhaW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy00O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfaW5mbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyAvKiBzYW1lIGFzIHRoZSBwYWRkaW5nIGZvciBub24tY29tcGFjdCAubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9pbmZvICovXHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbixcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXRfbGluZS1zcGFjaW5nLWJsb2NrKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX3JlcGx5IHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9lbW90ZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy04OyAvKiBhZGQgYSBiaXQgbW9yZSBzcGFjZSBmb3IgZW1vdGVzIHNvIHRoYXQgYXZhdGFycyBkb24ndCBjb2xsaWRlICovXHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IHZhcigtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dC10b3AtYXZhdGFyKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX3JlcGx5IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX2NvbnRpbnVhdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUsXHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX3JlcGx5IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2xpbmUtc3BhY2luZy1ibG9jayk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIENhc2NhZGluZyAtIGFwcGx5IHplcm8gcGFkZGluZyB0byBldmVyeSBlbGVtZW50IGluY2x1ZGluZyBteF9FdmVudFRpbGVfZW1vdGUgKi9cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2xpbmUtc3BhY2luZy1ibG9jayk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgIHRvcDogdmFyKC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0LXRvcC1hdmF0YXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEzcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XHJcbiAgICAgICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcclxuICAgICAgICAgICAgICAgIC8qIFRoaXMgYWxpZ25zIHRoZSBhdmF0YXIgd2l0aCB0aGUgbGFzdCBsaW5lIG9mIHRoZSAqL1xyXG4gICAgICAgICAgICAgICAgLyogbWVzc2FnZS4gV2Ugd2FudCB0byBtb3ZlIGl0IG9uZSBsaW5lIHVwIC0gMnJlbSAqL1xyXG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IC0ycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm1hcmtkb3duLWJvZHkge1xyXG4gICAgICAgICAgICBwLFxyXG4gICAgICAgICAgICB1bCxcclxuICAgICAgICAgICAgb2wsXHJcbiAgICAgICAgICAgIGRsLFxyXG4gICAgICAgICAgICBibG9ja3F1b3RlLFxyXG4gICAgICAgICAgICBwcmUsXHJcbiAgICAgICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTQ7IC8qIDEvNCBvZiB0aGUgbm9uLWNvbXBhY3QgbWFyZ2luLWJvdHRvbSAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlX2RldGFpbHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiBzdHJldGNoO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGdhcDogJHNwYWNpbmctODtcclxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1sZWZ0T2Zmc2V0KTtcclxuICAgIC5teF9FdmVudFRpbGVfdHJ1bmNhdGVkIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZV9mb290ZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIE1lZGlhIHF1ZXJ5IGZvciBtb2JpbGUgVUkgKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFJvYmluIFRvd25zZW5kIDxyb2JpbkByb2Jpbi50b3duPlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRXZlbnRUaWxlQnViYmxlLm14X0hpc3RvcnlUaWxlIHtcclxuICAgIG1hcmdpbjogdmFyKC0tRXZlbnRUaWxlQnViYmxlX21hcmdpbi1ibG9jaykgYXV0bztcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGVyLXBhbmVsLXRleHQtcHJpbWFyeS1jb2xvcjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuOnJvb3Qge1xyXG4gICAgLS1pcmMtbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XHJcbn1cclxuXHJcbi5teF9JUkNMYXlvdXQge1xyXG4gICAgLS1uYW1lLXdpZHRoOiA4MHB4OyAvKiBjZi4gaXJjRGlzcGxheU5hbWVXaWR0aCBvbiBTZXR0aW5ncy50c3ggKi9cclxuICAgIC0taWNvbi13aWR0aDogMTRweDtcclxuICAgIC0tbGluZS1oZWlnaHQ6IHZhcigtLWlyYy1saW5lLWhlaWdodCk7XHJcbiAgICAtLXJpZ2h0LXBhZGRpbmc6IDVweDtcclxuXHJcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgYmxvY2txdW90ZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9OZXdSb29tSW50cm8ge1xyXG4gICAgICAgID4gaDIge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5pdGlhbDsgLyogQ2FuY2VsIHZhcigtLWlyYy1saW5lLWhlaWdodCkgKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1JlcGx5Q2hhaW4ge1xyXG4gICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIG9yZGVyOiB1bnNldDtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IHVuc2V0OyAvKiBVbnNldCBmbGV4LXNocmluayB0byBwcmV2ZW50IGxvbmcgZGlzcGxheSBuYW1lIGJsb3dvdXQgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfZW1vdGUge1xyXG4gICAgICAgICAgICA+IC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogYWRkaW5nIHRoZSBpY29uIGJhY2sgaW4gdGhlIGRvY3VtZW50IGZsb3dcclxuICAgICAgICAgKiBpZiBpdCdzIG5vdCBwcmVzZW50LCB0aGVyZSdzIG5vIHVud2FudGVkIHdhc3RlZCBzcGFjZVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgb3JkZXI6IC0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUHJvZmlsZVJlc2l6ZXIge1xyXG4gICAgICAgIC0tcmVzaXplci13aWR0aDogMTVweDtcclxuICAgICAgICAtLXJlc2l6ZXItYTExeTogM3B4OyAvKiBNYWdpYyBudW1iZXIsIHRvIGJlIHJlcGxhY2VkIHdpdGggc29tZXRoaW5nIG1vcmUgcHJvcGVyIGZyb20gdGhlIHBlcnNwZWN0aXZlIG9mIGExMXkgKi9cclxuXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogdmFyKC0tcmVzaXplci13aWR0aCk7XHJcbiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuXHJcbiAgICAgICAgLyogQWRkIHdpZHRoIG9mIGV2ZXJ5IGVsZW1lbnQgcmVuZGVyZWQgYmVmb3JlIHRoZSByZXNpemVyIChpbmNsdWRpbmcgcGFkZGluZyBmb3IgdGhlIGF2YXRhciBhbmQgdGhlIGRpc3BsYXlcclxuICAgICAgICAgICBuYW1lKSwgc3VidHJhY3RpbmcgdGhlIHJlc2l6ZXIgd2lkdGggaXRzZWxmIHRvIHByZXZlbnQgdGhlIHJlc2l6ZXIgZnJvbSBvdmVybGFwcGluZyB0aGUgdGV4dCBhbmQgbW92aW5nXHJcbiAgICAgICAgICAgdGhlIHJlc2l6ZXIgYSBiaXQgdG8gdGhlIGxlZnQgdG8gbWFrZSBpdCBlYXNpZXIgdG8gYXZvaWQgc2VsZWN0aW5nIHRoZSByZXNpemVyIHdoZW4gaGlnaGxpZ2h0aW5nIHRleHQuXHJcbiAgICAgICAgICAgUGxlYXNlIG5vdGUgdGhhdCBNZXNzYWdlVGltZXN0YW1wIGRvZXMgbm90IGhhdmUgaW5saW5lIHBhZGRpbmcuICovXHJcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKFxyXG4gICAgICAgICAgICB2YXIoLS1Sb29tVmlld19NZXNzYWdlTGlzdC1wYWRkaW5nKSArIHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpICsgdmFyKC0taWNvbi13aWR0aCkgK1xyXG4gICAgICAgICAgICAgICAgdmFyKC0tcmlnaHQtcGFkZGluZykgKyB2YXIoLS1uYW1lLXdpZHRoKSArIHZhcigtLXJpZ2h0LXBhZGRpbmcpIC0gdmFyKC0tcmVzaXplci13aWR0aCkgLVxyXG4gICAgICAgICAgICAgICAgdmFyKC0tcmVzaXplci1hMTF5KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9JbnZpdGVkSWNvblZpZXcge1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSnVtcFRvQm90dG9tQnV0dG9uIHtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvKiAxMiBiZWNhdXNlIGhlaWdodCBpcyA1MCBidXQgYnV0dG9uIGlzIG9ubHkgMzggPSAxMisoNTAtMzgpID0gMjQgKi9cclxuICAgIGJvdHRvbTogMTJweDtcclxuICAgIHJpZ2h0OiAyNHB4O1xyXG4gICAgd2lkdGg6IDM4cHg7XHJcbiAgICAvKiBnaXZlIGl0IGEgZml4ZWQgaGVpZ2h0IHNvIHRoZSBiYWRnZSBkb2Vzbid0IG1ha2UgKi9cclxuICAgIC8qIGl0IHRhbGxlciBhbmQgcG9wIHVwd2FyZHMgd2hlbiB2aXNpYmxlICovXHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9KdW1wVG9Cb3R0b21CdXR0b25fYmFkZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMTJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLyogdG8gYmUgYWJsZSB0byBnZXQgaXQgY2VudGVyZWQgKi9cclxuICAgIC8qIHdpdGggdGV4dC1hbGlnbiBpbiBwYXJlbnQgKi9cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6IDAgNHB4O1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLm14X0p1bXBUb0JvdHRvbUJ1dHRvbl9oaWdobGlnaHQgLm14X0p1bXBUb0JvdHRvbUJ1dHRvbl9iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcclxufVxyXG5cclxuLm14X0p1bXBUb0JvdHRvbUJ1dHRvbl9zY3JvbGxEb3duIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgYm9yZGVyOiAxLjNweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBwYWRkaW5nOiA3cHggOHB4IDdweCA2cHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xlZ2FjeVJvb21MaXN0IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDdweDsgLyogd2lkdGggb2YgdGhlIHNjcm9sbGJhciwgdG8gbGluZSB0aGluZ3MgdXAgKi9cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xlZ2FjeVJvb21MaXN0SGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIC5teF9MZWdhY3lSb29tTGlzdEhlYWRlcl9jb250ZXh0TGVzc1RpdGxlLFxyXG4gICAgLm14X0xlZ2FjeVJvb21MaXN0SGVhZGVyX2NvbnRleHRNZW51QnV0dG9uIHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBwYWRkaW5nOiAxcHggMjRweCAxcHggNHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xlZ2FjeVJvb21MaXN0SGVhZGVyX2NvbnRleHRNZW51QnV0dG9uIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTGVnYWN5Um9vbUxpc3RIZWFkZXJfcGx1c0J1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MaXZlQ29udGVudFN1bW1hcnkge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAubXhfTGl2ZUNvbnRlbnRTdW1tYXJ5X3RleHQge1xyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfTGl2ZUNvbnRlbnRTdW1tYXJ5X3RleHRfYWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xpdmVDb250ZW50U3VtbWFyeV9wYXJ0aWNpcGFudHMgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01lbWJlckxpc3RIZWFkZXJWaWV3IHtcclxuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcclxuICAgIG1heC1oZWlnaHQ6IDExMnB4O1xyXG5cclxuICAgIC5teF9NZW1iZXJMaXN0SGVhZGVyVmlld19jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lbWJlckxpc3RIZWFkZXJWaWV3X2ludml0ZV9zbWFsbCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZW1iZXJMaXN0SGVhZGVyVmlld19pbnZpdGVfbGFyZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAyODhweDtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lbWJlckxpc3RIZWFkZXJWaWV3X2xhYmVsIHtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNngpIDAgdmFyKC0tY3BkLXNwYWNlLTJ4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lbWJlckxpc3RIZWFkZXJWaWV3X3NlYXJjaCB7XHJcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01lbWJlckxpc3RWaWV3IHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1pbi1oZWlnaHQ6IDA7XHJcblxyXG4gICAgLm14X01lbWJlckxpc3RWaWV3X2NvbnRhaW5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZW1iZXJMaXN0Vmlld19zZXBhcmF0b3Ige1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NZW1iZXJUaWxlVmlldyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XHJcblxyXG4gICAgLm14X01lbWJlclRpbGVWaWV3X2xlZnQsXHJcbiAgICAubXhfTWVtYmVyVGlsZVZpZXdfcmlnaHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lbWJlclRpbGVWaWV3X2xlZnQge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDIwOXB4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lbWJlclRpbGVWaWV3X25hbWUge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lbWJlclRpbGVWaWV3X3VzZXJMYWJlbCB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVtYmVyVGlsZVZpZXdfYXZhdGFyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlciB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA0MnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9yZXBsYWNlZF93cmFwcGVyIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3JlcGxhY2VkX3ZhbGlnbiB7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9yb29tUmVwbGFjZWRfaWNvbiB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIHdpZHRoOiAzMXB4O1xyXG4gICAgaGVpZ2h0OiAzMXB4O1xyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3Jvb21SZXBsYWNlZF9oZWFkZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXJfcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2FjdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDZweDtcclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3NlciB7XHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX2F2YXRhciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDI2cHg7XHJcblxyXG4gICAgICAgIC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2UyZUljb25XcmFwcGVyIHtcclxuICAgIGhlaWdodDogMTJweDsgLyogTWF0Y2ggdGhlIGhlaWdodCBvZiB0aGUgRTJFIGljb24gZm9yIGFsaWdubWVudCAqL1xyXG4gICAgd2lkdGg6IDEycHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAyMHB4O1xyXG4gICAgdG9wOiAyMnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwOyAvKiBDb3VudGVyYWN0IHRoZSBFMkVJY29uIGNsYXNzICovXHJcbiAgICBtYXJnaW4tbGVmdDogM3B4OyAvKiBDb3VudGVyYWN0IHRoZSBFMkVJY29uIGNsYXNzICovXHJcblxyXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl9lMmVJY29uIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX25vcGVybV9lcnJvciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2lucHV0IHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcblxyXG4gICAgcHJlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRlLWNvZGUtYmctY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgICAgIGJvcmRlcjogMHB4O1xyXG4gICAgICAgIHJlc2l6ZTogbm9uZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuXHJcbiAgICAgICAgLyogaGFjayBmb3IgRkYgYXMgdmVydGljYWwgYWxpZ25tZW50IG9mIGN1c3RvbSBwbGFjZWhvbGRlciB0ZXh0IGlzIGJyb2tlbiAqL1xyXG4gICAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbl9oaWdobGlnaHQge1xyXG4gICAgQG1peGluIGNvbXBvc2VyQnV0dG9uSGlnaExpZ2h0O1xyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbiB7XHJcbiAgICBAbWl4aW4gY29tcG9zZXJCdXR0b24gNTAlLCB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KSwgdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcclxuICAgIHBhZGRpbmc6IDNweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfTWVzc2FnZUNvbXBvc2VyX2Nsb3NlQnV0dG9uTWVudSB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgfVxyXG59XHJcbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyB7XHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX3JvdyB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfYWN0aW9ucyB7XHJcbiAgICAgICAgLyogSGVpZ2h0IG9mIHRoZSBjb21wb3NlciBlZGl0b3IgKi9cclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lZGlhQm9keSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uIHtcclxuICAgICAgICBAbWl4aW4gY29tcG9zZXJCdXR0b24gNXB4LCAkdGVydGlhcnktY29udGVudCwgJHBhbmVscztcclxuXHJcbiAgICAgICAgJi5teF9NZXNzYWdlQ29tcG9zZXJfY2xvc2VCdXR0b25NZW51IHtcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudC0zMDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b25NZW51IHtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgcGFkZGluZzogMXB4O1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3NlbmRNZXNzYWdlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG5cclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQge1xyXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl9pbnB1dCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX25vcGVybV9lcnJvciB7XHJcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogVW5zdGFibGUgY29tcGFjdCBtb2RlXHJcbiAqL1xyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlci5teF9NZXNzYWdlQ29tcG9zZXItLWNvbXBhY3Qge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlciB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX2UyZUljb25XcmFwcGVyIHtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5teF9NZXNzYWdlQ29tcG9zZXJfZTJlU3RhdHVzKSB7XHJcbiAgICAgICAgLm14X01lc3NhZ2VDb21wb3Nlcl93cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b246bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfZTJlSWNvbiB7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgd2lkdGg6IGNhbGMoMzJweCAqIDYpO1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC8qIGVxdWFsIHRvIHotaW5kZXggb2YgbXhfUmVwbHlQcmV2aWV3IGFuZCBteF9Sb29tVmlld19zdGF0dXNBcmVhICgxMDAwKSAqL1xyXG4gICAgLyogYnV0IGFzIGl0IGFwcGVhcnMgYWZ0ZXIgdGhlbSBpbiB0aGUgRE9NLCB3aWxsIGFwcGVhciBvbiB0b3AuICovXHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG5cclxuICAgICYubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyX3Nob3duIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICA+ICoge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IDJweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyX2J1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXJfYnV0dG9uVG9vbHRpcCB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xM3B4O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBtaW4td2lkdGg6IDU0cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9OZXdSb29tSW50cm8ge1xyXG4gICAgbWFyZ2luOiA0MHB4IDAgNDhweCA2NHB4O1xyXG5cclxuICAgIC5teF9NaW5pQXZhdGFyVXBsb2FkZXJfaGFzQXZhdGFyOm5vdCgubXhfTWluaUF2YXRhclVwbG9hZGVyX2J1c3kpOm5vdCg6aG92ZXIpIHtcclxuICAgICAgICAubXhfTWluaUF2YXRhclVwbG9hZGVyX2luZGljYXRvciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9OZXdSb29tSW50cm9fYnV0dG9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogd3JhcDtcclxuICAgICAgICBnYXA6IDE0cHggMTJweDtcclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWZnLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGgyIHtcclxuICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS02eCkgMCB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbWQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG5cclxuICAgID4gcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xyXG4gICAgJjpub3QoLm14X05vdGlmaWNhdGlvbkJhZGdlX3Zpc2libGUpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEJhZGdlcyBhcmUgc3RydWN0dXJlZCBhIGJpdCB3ZWlyZGx5IHRvIHdvcmsgYXJvdW5kIGlzc3VlcyB3aXRoIG5vbi1tb25vc3BhY2UgKi9cclxuICAgIC8qIGZvbnQgc3R5bGVzLiBUaGUgYmFkZ2UgcGlsbCBpcyBhY3R1YWxseSBhIGJhY2tncm91bmQgZGl2IGFuZCB0aGUgY291bnQgZmxvYXRzICovXHJcbiAgICAvKiB3aXRoaW4gdGhhdC4gRm9yIGV4YW1wbGU6ICovXHJcbiAgICAvKiAgKCA5OSsgKSA8LS0gUm91bmRlZCBwaWxsIGlzIGEgX2JnIGNsYXNzLiAqL1xyXG4gICAgLyogICAgIF4tIFRoZSBjb3VudCBpcyBhbiBlbGVtZW50IGZsb2F0aW5nIHdpdGhpbiB0aGF0LiAqL1xyXG5cclxuICAgICYubXhfTm90aWZpY2F0aW9uQmFkZ2VfdmlzaWJsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJvb210aWxlLWRlZmF1bHQtYmFkZ2UtYmctY29sb3I7XHJcbiAgICAgICAgLyogRm9yIGVuaGFuY2VkIHZpc2liaWxpdHkgdW5kZXIgY29udHJhc3QgY29udHJvbCAqL1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgLyogQ3JlYXRlIGEgZmxleGJveCB0byBvcmRlciB0aGUgY291bnQgYSBiaXQgZWFzaWVyICovXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAvKiBUaGVzZSBhcmUgdGhlIDMgYmFja2dyb3VuZCB0eXBlcyAqL1xyXG5cclxuICAgICAgICAmLm14X05vdGlmaWNhdGlvbkJhZGdlX2RvdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xyXG5cclxuICAgICAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlX2NvdW50IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qIFJlZHVuZGFudCBzb3VuZGluZyBuYW1lLCBidXQgYSBub3RpZmljYXRpb24gYmFkZ2UgdGhhdCBpbmRpY2F0ZXMgdGhlcmUgaXMgYSByZWd1bGFyLFxyXG4gICAgICAgICAgICAgKiBub24taGlnaGxpZ2h0IG5vdGlmaWNhdGlvblxyXG4gICAgICAgICAgICAgKiBUaGUgZ3JlZW4gY29sb3VyIG9ubHkgYXBwbGllcyBmb3Igbm90aWZpY2F0aW9uIGRvdDogYmFkZ2VzIGluZGljYXRpbmcgdGhlIHNhbWUgbm90aWZpY2F0aW9uXHJcbiAgICAgICAgICAgICAqIGxldmVsIGFyZSB0aGUgc3RhbmRhcmQgZ3JleS5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICYubXhfTm90aWZpY2F0aW9uQmFkZ2VfbGV2ZWxfbm90aWZpY2F0aW9uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXN1Y2Nlc3MtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIEJhZGdlcyBmb3IgaGlnaGxpZ2h0IG5vdGlmaWNhdGlvbnMuIFN0eWxlIGZvciBub3RpZmljYXRpb24gbGV2ZWxcclxuICAgICAgICAgKiBiYWRnZXMgaXMgaW4gX0V2ZW50VGlsZS5zY3NzIGJlY2F1c2UgaXQgYXBwbGllcyBvbmx5IHRvIG5vdGlmaWNhdGlvblxyXG4gICAgICAgICAqIGRvdHMsIG5vdCBiYWRnZXMuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgJi5teF9Ob3RpZmljYXRpb25CYWRnZV9sZXZlbF9oaWdobGlnaHQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgPiBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9Ob3RpZmljYXRpb25CYWRnZV8yY2hhciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9udC0xNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb250LTE2cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb250LTE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X05vdGlmaWNhdGlvbkJhZGdlXzNjaGFyIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRmb250LTI2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvbnQtMTZweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGZvbnQtMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFRoZSBmb2xsb3dpbmcgaXMgdGhlIGZsb2F0aW5nIGJhZGdlICovXHJcblxyXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZV9jb3VudCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE0cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfT3ZlcmZsb3dUaWxlVmlldyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubXhfT3ZlcmZsb3dUaWxlVmlld190ZXh0IHtcclxuICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi5teF9PdmVyZmxvd1RpbGVWaWV3OmhvdmVyIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIHRvIGtlZXAgdGhlIGNoZXZyb24gYWxpZ25lZCAqL1xyXG5cclxuICAgIC5teF9PdmVyZmxvd1RpbGVWaWV3X2NoZXZyb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X092ZXJmbG93VGlsZVZpZXdfY2hldnJvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7IC8qIGNlbnRlciAqL1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIGNvbG9yOiAkaGVhZGVyLXBhbmVsLXRleHQtcHJpbWFyeS1jb2xvcjtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5teF9PdmVyZmxvd1RpbGVWaWV3X2ljb24ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xyXG4gICAgcGFkZGluZy10b3A6IDRweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTcgVHJhdmlzIFJhbHN0b25cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Bpbm5lZEV2ZW50VGlsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblxyXG4gICAgLm14X1Bpbm5lZEV2ZW50VGlsZV93cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgIC8qIFJlbW92ZSBhdmF0YXIgd2lkdGggYW5kIHNwYWNlIGJldHdlZW4gdGhlIGF2YXRhciBhbmQgdGhlIHdyYXBwZXIgKi9cclxuICAgICAgICAvKiBXZSBuZWVkIGl0IHRvIG1ha2UgdGhlIGxvY2F0aW9uIGZpdCAqL1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1jcGQtc3BhY2UtNHgpIC0gMzJweCk7XHJcbiAgICAgICAgLyogUHJldmVudCBhIGxvbmcgc2VuZGVyIG5hbWUgdG8gb3ZlcmZsb3cgdGhlIHRpbGUgKi9cclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAubXhfUGlubmVkRXZlbnRUaWxlX3RvcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgLm14X1Bpbm5lZEV2ZW50VGlsZV9zZW5kZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUGlubmVkRXZlbnRUaWxlX3RocmVhZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfUGlubmVkTWVzc2FnZUJhbm5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIC8qIDY0cHggPSA2M3B4ICsgMXB4IGZyb20gdGhlIGJvdHRvbSBib3JkZXIgKi9cclxuICAgIGhlaWdodDogNjNweDtcclxuICAgIHBhZGRpbmc6IDAgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XHJcblxyXG4gICAgLyogRnJvbSBmaWdtYSAqL1xyXG4gICAgYm94LXNoYWRvdzogMCB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS02eCkgY2FsYyh2YXIoLS1jcGQtc3BhY2UtMngpICogLTEpIHJnYigyNywgMjksIDM0LCAwLjEpO1xyXG5cclxuICAgIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX21haW4ge1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcclxuICAgICAgICAgICAgICAgIFwiaW5kaWNhdG9ycyBwaW5JY29uIHRpdGxlXCIgYXV0b1xyXG4gICAgICAgICAgICAgICAgXCJpbmRpY2F0b3JzIHBpbkljb24gbWVzc2FnZVwiIGF1dG87XHJcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9JbmRpY2F0b3JzIHtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBpbmRpY2F0b3JzO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfSW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1jcGQtc3BhY2UtMC01eCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS02MDApO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9JbmRpY2F0b3ItLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX0luZGljYXRvci0taGlkZGVuIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9QaW5JY29uIHtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBwaW5JY29uO1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZpbGw6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeS1hbHBoYSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl90aXRsZSB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdGl0bGU7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1hY3Rpb24tYWNjZW50KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl90aXRsZV9jb3VudGVyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9tZXNzYWdlIHtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBtZXNzYWdlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX3JlZGFjdGVkTWVzc2FnZSB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbWVzc2FnZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9hY3Rpb25zIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUGlubmVkTWVzc2FnZUJhbm5lcltkYXRhLXNpbmdsZS1tZXNzYWdlPVwidHJ1ZVwiXSB7XHJcbiAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9jb250ZW50IHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlOiBcImluZGljYXRvcnMgcGluSWNvbiBtZXNzYWdlXCIgYXV0bztcclxuXHJcbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfbWVzc2FnZSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxuUExYIHVuaWZpZWQgY29tcG9zZXIgbWVkaWEgcGlja2VyIChNaWRuaWdodCkuXG5cbk9wZW5zIEFCT1ZFIHRoZSBjb21wb3NlcjogYmcgLS1wbHgtcGFuZWwtMiAoIzIwMkIzNiksIHJhZGl1cyAxOCwgfjMyMnB4IHRhbGwsXG50b3AgdGFiIHJvdyB3aXRoIGFuIGFjdGl2ZS10YWIgcGlsbCAocmdiYSg0NiwxMjgsMjIyLC4yMikpICsgY2xvc2UgWCwgYWNjZW50XG4tLXBseC1hY2NlbnQgKCMyRTgwREUpLiBGYWxscyBiYWNrIHRvIGNvbXBvdW5kIHRva2VucyBpZiB0aGUgUExYIHRoZW1lIHZhcnNcbmFyZW4ndCBkZWZpbmVkIChlLmcuIG5vbi1NaWRuaWdodCB0aGVtZSksIHNvIGl0IG5ldmVyIHJlbmRlcnMgdW5zdHlsZWQuXG4qL1xuXG4ubXhfUGx4TWVkaWFQaWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAzNjBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTtcbiAgICBoZWlnaHQ6IDMyMnB4O1xuICAgIC8qIERvY2sgY2xlYW5seSBBQk9WRSB0aGUgY29tcG9zZXIgaW5wdXQ6IHRoZSBwaWNrZXIgaXMgYW4gaW4tZmxvdyBzaWJsaW5nIG9mXG4gICAgICAgLm14X01lc3NhZ2VDb21wb3Nlcl9yb3cgaW5zaWRlIHRoZSBjb21wb3NlciB3cmFwcGVyLCBzbyBpdCBwdXNoZXMgdGhlIGlucHV0XG4gICAgICAgZG93biByYXRoZXIgdGhhbiBmbG9hdGluZyBvdmVyIHRoZSB0aW1lbGluZS4gcG9zaXRpb246cmVsYXRpdmUgKyB6LWluZGV4IGtlZXBcbiAgICAgICBpdHMgc2hhZG93IGFib3ZlIG5laWdoYm91cmluZyBjb21wb3NlciBjaHJvbWUgd2l0aG91dCBlc2NhcGluZyB0aGUgZmxvdy4gKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBtYXJnaW46IDAgMTJweCA4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LXBhbmVsLTIsIHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LCAjMjAyYjM2KSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcGx4LWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSk7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDEycHggMzJweCByZ2JhKDAsIDAsIDAsIDAuNDUpLFxuICAgICAgICAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0LCB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5LCAjZmZmZmZmKSk7XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDhweDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX3RhYnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfdGFiIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLXBseC10ZXh0LXNlY29uZGFyeSwgdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5LCAjOGM5YWE2KSk7XG4gICAgICAgIGZvbnQ6XG4gICAgICAgICAgICB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQsIDYwMCkgMTRweC8xIGluaGVyaXQsXG4gICAgICAgICAgICBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmc6IDdweCAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjEycyBlYXNlLFxuICAgICAgICAgICAgY29sb3IgMC4xMnMgZWFzZTtcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfdGFiOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXBseC10ZXh0LCAjZmZmZmZmKTtcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfdGFiX2FjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDYsIDEyOCwgMjIyLCAwLjIyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXBseC1hY2NlbnQsICMyZTgwZGUpO1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl9jbG9zZSB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dC1zZWNvbmRhcnksIHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSwgIzhjOWFhNikpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl9jbG9zZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dCwgI2ZmZmZmZik7XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX2Vycm9yIHtcbiAgICAgICAgbWFyZ2luOiAwIDEycHggNnB4O1xuICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjI5LCA3MiwgNzcsIDAuMTYpO1xuICAgICAgICBjb2xvcjogI2ZmOGE4ZjtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX2JvZHkge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAvKiBUaGUgcmV1c2VkIEVtb2ppUGlja2VyIGZpbGxzIHRoZSBib2R5IGFuZCB1c2VzIGl0cyBvd24gdGhlbWluZy4gUGluIGl0c1xuICAgICAgIGhlaWdodCB0byB0aGUgYm9keSBzbyBpdHMgaW50ZXJuYWwgY2F0ZWdvcnkgYmFyICsgc2VhcmNoICsgc2Nyb2xsIGxpc3QgbGF5XG4gICAgICAgb3V0IGluc2lkZSB0aGUgMzIycHggcGFuZWwgaW5zdGVhZCBvZiBvdmVyZmxvd2luZyAod2hpY2ggcHJldmlvdXNseSBtYWRlIHRoZVxuICAgICAgIHBhbmVsIGxvb2sgbGlrZSBpdCB3YXMgZmxvYXRpbmcgb3ZlciB0aGUgdGltZWxpbmUpLiAqL1xuICAgIC5teF9FbW9qaVBpY2tlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLyoga2VlcCB0aGUgZW1vamkgYm9keSBzY3JvbGxhYmxlIHdpdGhpbiB0aGUgZml4ZWQgcGFuZWwgaGVpZ2h0ICovXG4gICAgLm14X0Vtb2ppUGlja2VyX2JvZHkge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgIC8qIC0tLSBHSUYgLyBTdGlja2VyIHRhYnMgLS0tICovXG4gICAgLm14X1BseE1lZGlhUGlja2VyX21lZGlhVGFiIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl9zZWFyY2gge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAxMnB4IDhweDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX3NlYXJjaEljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dC1zZWNvbmRhcnksICM4YzlhYTYpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfc2VhcmNoSW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcGFkZGluZzogOXB4IDEycHggOXB4IDM0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBseC1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtYmcsIHJnYmEoMCwgMCwgMCwgMC4yNSkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQsICNmZmZmZmYpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX3NlYXJjaElucHV0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wbHgtYWNjZW50LCAjMmU4MGRlKTtcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfc2VhcmNoSW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXBseC10ZXh0LXNlY29uZGFyeSwgIzhjOWFhNik7XG4gICAgfVxuXG4gICAgLyogQSB0aWR5LCBub24tb3ZlcmxhcHBpbmcgMy1jb2x1bW4gZ3JpZC4gV2UgcGluIEJPVEggdGhlIGNvbHVtbiB0ZW1wbGF0ZSBhbmRcbiAgICAgICBhbiBleHBsaWNpdCBzcXVhcmUgcm93IGhlaWdodCAoZ3JpZC1hdXRvLXJvd3MpIHNvIHRpbGUgZ2VvbWV0cnkgbmV2ZXJcbiAgICAgICBkZXBlbmRzIG9uIHRoZSBmbGFreSBgYXNwZWN0LXJhdGlvYCBvbiA8YnV0dG9uPiBhY3Jvc3MgZW5naW5lcy4gRXF1YWwgZ2FwcyxcbiAgICAgICBubyBuZWdhdGl2ZSBtYXJnaW5zLCBjb250ZW50cyBjbGlwcGVkIOKAlCB6ZXJvIG92ZXJsYXAuICovXG4gICAgLm14X1BseE1lZGlhUGlja2VyX2dyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdyaWQtYXV0by1yb3dzOiA5NnB4O1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4IDEycHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl90aWxlIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgZWFzZSxcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3IgMC4xcyBlYXNlO1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl90aWxlOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZS1jb2xvcjogdmFyKC0tcGx4LWFjY2VudCwgIzJlODBkZSk7XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX3RpbGU6ZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IHByb2dyZXNzO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuXG4gICAgLyogaW1hZ2UgZmlsbHMgdGhlIHNxdWFyZSB0aWxlIGFuZCBpcyBjbGlwcGVkIChvYmplY3QtZml0OiBjb3ZlciksIHNvIG5vXG4gICAgICAgdGlsZSBldmVyIGJsZWVkcyBpbnRvIGl0cyBuZWlnaGJvdXIgcmVnYXJkbGVzcyBvZiBzb3VyY2UgYXNwZWN0IHJhdGlvLiAqL1xuICAgIC5teF9QbHhNZWRpYVBpY2tlcl90aWxlIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfc3RhdHVzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dC1zZWNvbmRhcnksICM4YzlhYTYpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxufVxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9QcmVzZW5jZUljb25WaWV3IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjRweDtcclxuICAgIGxlZnQ6IDI0cHg7XHJcbiAgICB3aWR0aDogMTJweDtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuXHJcbiAgICAubXhfUHJlc2VuY2VJY29uVmlld19vbmxpbmUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtcHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1ByZXNlbmNlSWNvblZpZXdfb2ZmbGluZSxcclxuICAgIC5teF9QcmVzZW5jZUljb25WaWV3X2RuZCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUHJlc2VuY2VJY29uVmlld191bmF2YWlsYWJsZSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXF1YXRlcm5hcnkpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUHJlc2VuY2VMYWJlbCB7XHJcbiAgICBmb250LXNpemU6ICRmb250LTExcHg7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi5teF9QcmVzZW5jZUxhYmVsX29ubGluZSB7XHJcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc3VjY2Vzcy1wcmltYXJ5KTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1JlYWRSZWNlaXB0R3JvdXAge1xyXG4gICAgLS1SZWFkUmVjZWlwdEdyb3VwX0V2ZW50QnViYmxlVGlsZS1zcGFjaW5nLWVuZDogNzhweDtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgLm14X1JlYWRSZWNlaXB0R3JvdXBfYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG5cclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRldmVudC1zZWxlY3RlZC1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUmVhZFJlY2VpcHRHcm91cF9yZW1haW5kZXIge1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNnB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwX2NvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICAvKiBDb21wb3VuZCB1c2VzIGEgYm9yZGVyIG9uIGRlZmF1bHQgYXZhdGFycyBidXQgbm8gYm9yZGVyIG9uIGFjdHVhbCBpbWFnZXMsIHdlIHdhbnQgYSBib3JkZXIgaW4gYWxsIGNhc2VzICovXHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvKiBSZXNldCB0aGUgbGluZSBoZWlnaHQgYXMgd2UgYXJlIG5vIGxvbmdlciBib3gtc2l6aW5nIGJvcmRlci1ib3guIDE0cHggYmVjYXVzZSBhdmF0YXIgaXMgc2V0IGF0IDE0cHggaW4gY29tcG9uZW50ICovXHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBsZWZ0LCB0b3A7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgICAgICAgICBsZWZ0IHZhcigtLXRyYW5zaXRpb24tc2hvcnQpIGVhc2Utb3V0LFxyXG4gICAgICAgICAgICAgICAgdG9wIHZhcigtLXRyYW5zaXRpb24tc3RhbmRhcmQpIGVhc2Utb3V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1JlYWRSZWNlaXB0R3JvdXBfcG9wdXAge1xyXG4gICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICB3aWR0aDogMjIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTVweDtcclxuXHJcbiAgICByaWdodDogMDtcclxuXHJcbiAgICAmLm14X0NvbnRleHR1YWxNZW51X3RvcCB7XHJcbiAgICAgICAgdG9wOiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9Db250ZXh0dWFsTWVudV9ib3R0b20ge1xyXG4gICAgICAgIGJvdHRvbTogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwX3RpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAxNnB4IDE2cHggOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIC8qIHNob3VsZG7igJl0IGJlIGFjdHVhbGx5IGZvY3VzYWJsZSAqL1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F1dG9IaWRlU2Nyb2xsYmFyIHtcclxuICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cF9wZXJzb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMnB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtZW51LXNlbGVjdGVkLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDZweCA4cHg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOyAvKiBMb25nIG5hbWVzIHNob3VsZCBub3Qgc2hyaW5rIHRoZSBwaWN0dXJlICovXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwX25hbWUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAycHggMDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1JlYWRSZWNlaXB0R3JvdXBfc2Vjb25kYXJ5IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUmVhZFJlY2VpcHRHcm91cF9wZXJzb24tLXRvb2x0aXAge1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOCBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUmVwbHlQcmV2aWV3IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgbWF4LWhlaWdodDogNTB2aDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG5cclxuICAgIC5teF9SZXBseVByZXZpZXdfc2VjdGlvbiB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgcm93LWdhcDogJHNwYWNpbmctODtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy04ICRzcGFjaW5nLTggMCAwO1xyXG5cclxuICAgICAgICAubXhfUmVwbHlQcmV2aWV3X2hlYWRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgY29sdW1uLWdhcDogOHB4O1xyXG5cclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuXHJcbiAgICAgICAgICAgIC5teF9SZXBseVByZXZpZXdfaGVhZGVyX2NhbmNlbCBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfYm9keSB7XHJcbiAgICAubXhfUmVwbHlQcmV2aWV3IHtcclxuICAgICAgICAvKiBBZGQgYm94LXNoYWRvdyB0byB0aGUgcmVwbHkgcHJldmlldyBvbiB0aGUgbWFpbiAobGVmdCkgcGFuZWwgb25seS4gKi9cclxuICAgICAgICAvKiBJdCBpcyBub3QgYWRkZWQgdG8gdGhlIHByZXZpZXcgb24gdGhlIChyaWdodCkgcGFuZWwgZm9yIHRocmVhZHMgYW5kIGEgY2hhdCB3aXRoIGEgbWF4aW1pemVkIHdpZGdldC4gKi9cclxuICAgICAgICBib3gtc2hhZG93OiAwcHggLTE2cHggMzJweCAkY29tcG9zZXItc2hhZG93LWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUdWxpciBBc29rYW4gPHR1bGlyQG1hdW5pdW0ubmV0PlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUmVwbHlUaWxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDJweCAwO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuXHJcbiAgICA+IGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcclxuICAgICAgICAgICAgXCJzZW5kZXJcIiBhdXRvXHJcbiAgICAgICAgICAgIFwibWVzc2FnZVwiIGF1dG9cclxuICAgICAgICAgICAgLyAxMDAlO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIGVhc2UgMC4xNXM7XHJcbiAgICAgICAgZ2FwOiAycHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAvLyBhdm9pZCBvdmVyZmxvdyB3aXRoIHdpZGUgY29udGVudFxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZWRhY3RlZEJvZHkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZWRhY3RlZEJvZHksXHJcbiAgICAubXhfSGlkZGVuQm9keSB7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDAgMnB4IDIwcHg7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTNweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEzcHg7XHJcbiAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBXZSBkbyByZXBseSBzaXplIGxpbWl0aW5nIHdpdGggQ1NTIHRvIGF2b2lkIGR1cGxpY2F0aW5nIHRoZSBUZXh0dWFsQm9keSBjb21wb25lbnQuICovXHJcbiAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xyXG4gICAgICAgIGdyaWQtYXJlYTogbWVzc2FnZTtcclxuICAgICAgICAkcmVwbHktbGluZXM6IDI7XHJcbiAgICAgICAgJGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG5cclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJHJlcGx5LWxpbmVzO1xyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2JvZHkubXhfRXZlbnRUaWxlX2JpZ0Vtb2ppIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIycHggIWltcG9ydGFudDsgLyogU2FtZSBhcyB2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1saW5lLWhlaWdodCkgKi9cclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNHB4ICFpbXBvcnRhbnQ7IC8qIE92ZXJyaWRlIHRoZSBiaWcgZW1vamkgb3ZlcnJpZGUgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIGluIG9yZGVyIHRvIGtlZXAgdGhlIG1lc3NhZ2Ugb24gdHdvIGxpbmVzLCB3ZSBuZWVkIHRvIG1ha2UgdGhlIGJvZHkgaW5saW5lXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9ib2R5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gVGhlIGFubm90YXRpb24gd3JhcHBlciBpcyBmbGV4IGluIG5vcm1hbCB0aW1lbGluZSBtZXNzYWdlcywgYnV0IHRoYXQgc3RvcHNcclxuICAgICAgICAvLyAtd2Via2l0LWxpbmUtY2xhbXAgZnJvbSB0cmltbWluZyBsb25nIGVkaXRlZCBxdW90ZXMgZG93biB0byB0d28gbGluZXMuXHJcbiAgICAgICAgW2RhdGEtdGV4dHVhbC1ib2R5LWFubm90YXRpb24td3JhcHBlcl0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEhpZGUgbGluZSBudW1iZXJzIGFuZCBlZGl0ZWQgaW5kaWNhdG9yXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lTnVtYmVycyxcclxuICAgICAgICBbZGF0YS10ZXh0dWFsLWJvZHktZWRpdGVkLW1hcmtlcl0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogSGFjayB0byBjdXQgY29udGVudCBpbiA8cHJlPiB0YWdzIHRvbyAqL1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfcHJlX2NvbnRhaW5lciA+IHByZSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJHJlcGx5LWxpbmVzO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWFya2Rvd24tYm9keSBibG9ja3F1b3RlLFxyXG4gICAgICAgIC5tYXJrZG93bi1ib2R5IGRsLFxyXG4gICAgICAgIC5tYXJrZG93bi1ib2R5IG9sLFxyXG4gICAgICAgIC5tYXJrZG93bi1ib2R5IHAsXHJcbiAgICAgICAgLm1hcmtkb3duLWJvZHkgcHJlLFxyXG4gICAgICAgIC5tYXJrZG93bi1ib2R5IHRhYmxlLFxyXG4gICAgICAgIC5tYXJrZG93bi1ib2R5IHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X1JlcGx5VGlsZV9pbmZvIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1JlcGx5VGlsZV9pbmxpbmUgPiBhIHtcclxuICAgICAgICAvKiBSZW5kZXIgcmVwbGllcyB0byBlbW90ZXMgaW5saW5lIHdpdGggdGhlIHNlbmRlciBhdmF0YXIgKi9cclxuICAgICAgICBncmlkLXRlbXBsYXRlOlxyXG4gICAgICAgICAgICBcInNlbmRlciAgICAgICAgbWVzc2FnZVwiIGF1dG9cclxuICAgICAgICAgICAgLyBtYXgtY29udGVudCBhdXRvO1xyXG4gICAgICAgIGdhcDogNHB4OyAvKiBpbmNyZWFzZSBzcGFjaW5nICovXHJcbiAgICB9XHJcblxyXG4gICAgLm14X1JlcGx5VGlsZV9zZW5kZXIge1xyXG4gICAgICAgIGdyaWQtYXJlYTogc2VuZGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDRweDtcclxuXHJcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogYW50aS16YWxnbywgd2l0aCBvdmVyZmxvdyBoaWRkZW4gKi9cclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgLyogdHJ1bmNhdGUgbG9uZyBkaXNwbGF5IG5hbWVzICovXHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICAvKiBQcmV2ZW50IGNydXNoaW5nIGJ5IHRoZSBmbGV4Ym94ICovXHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21CcmVhZGNydW1icyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IGZvciB0aGUgY3J1bWJzICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuXHJcbiAgICAubXhfUm9vbUJyZWFkY3J1bWJzX2NydW1iIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICB3aWR0aDogMzJweDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBUaGVzZSBjbGFzc2VzIGNvbWUgZnJvbSB0aGUgQ1NTVHJhbnNpdGlvbiBjb21wb25lbnQuIFRoZXJlJ3MgbWFueSBtb3JlIGNsYXNzZXMgd2UgKi9cclxuICAgIC8qIGNvdWxkIGNhcmUgYWJvdXQsIGJ1dCB0aGlzIGlzIGFsbCB3ZSB3b3JyaWVkIGFib3V0IGZvciBub3cuIFRoZSBhbmltYXRpb24gd29ya3MgYnkgKi9cclxuICAgIC8qIGZpcnN0IHRyaWdnZXJpbmcgdGhlIGVudGVyIHN0YXRlIHdpdGggdGhlIG5ld2VzdCBicmVhZGNydW1iIG9mZiBzY3JlZW4gKC00MHB4KSB0aGVuICovXHJcbiAgICAvKiBzbGlkaW5nIGl0IGludG8gdmlldy4gKi9cclxuICAgICYubXhfUm9vbUJyZWFkY3J1bWJzLWVudGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyAvKiAzMnB4IGZvciB0aGUgYXZhdGFyLCA4cHggZm9yIHRoZSBtYXJnaW4gKi9cclxuICAgIH1cclxuICAgICYubXhfUm9vbUJyZWFkY3J1bWJzLWVudGVyLWFjdGl2ZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG5cclxuICAgICAgICAvKiBUaW1pbmcgZnVuY3Rpb24gaXMgYXMtcmVxdWVzdGVkIGJ5IGRlc2lnbi4gKi9cclxuICAgICAgICAvKiBOT1RFOiBUaGUgdHJhbnNpdGlvbiB0aW1lIE1VU1QgbWF0Y2ggdGhlIHZhbHVlIHBhc3NlZCB0byBDU1NUcmFuc2l0aW9uISAqL1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2NDBtcyBjdWJpYy1iZXppZXIoMC42NiwgMC4wMiwgMC4zNiwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21CcmVhZGNydW1ic19wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IC8qIHNwZWNpZmljYWxseSB0byBtYXRjaCB0aGUgaGVpZ2h0IHRoaXMgaXMgbm90IHNjYWxlZCAqL1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21DYWxsQmFubmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0xMiAkc3BhY2luZy0xNjtcclxuXHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzeXN0ZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5teF9Sb29tQ2FsbEJhbm5lcl90ZXh0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X1Jvb21DYWxsQmFubmVyX2xhYmVsIHtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy04O1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tSGVhZGVyIHtcclxuICAgIGhlaWdodDogNjRweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAwIHZhcigtLWNwZC1zcGFjZS0zeCkgMCBjYWxjKHZhcigtLWNwZC1zcGFjZS0zeCkgKyB2YXIoLS1jcGQtc3BhY2UtMS01eCkpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZXBhcmF0b3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblxyXG4gICAgYnV0dG9uOmhhcyhzdmcubXhfUm9vbUhlYWRlcl90b2dnbGVkKSB7XHJcbiAgICAgICAgLyogRm9yIGVuaGFuY2VkIHZpc2liaWxpdHkgdW5kZXIgY29udHJhc3QgY29udHJvbCAqL1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21IZWFkZXI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1ob3ZlcjtcclxufVxyXG5cclxuLm14X1Jvb21IZWFkZXJfaW5mb1dyYXBwZXIge1xyXG4gICAgLyogdW5zZXQgYnV0dG9uIHN0eWxlcyAqL1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB1bnNldDtcclxuICAgIGJvcmRlcjogdW5zZXQ7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5teF9Sb29tSGVhZGVyX2luZm8ge1xyXG4gICAgLyogV2Ugd2FudCB0aGUgc3BhY2luZyB0byBiZSA2NHB4LCAxM3ggPSA1MnB4IGJ1dCB3ZSBoYXZlIGEgZmxleCBnYXAgb2ZcclxuICAgICAgIDEycHggc2V0IG9uIHRoZSBmbGV4IGNvbnRhaW5lciwgd2hpY2ggc3VtcyB1cCB0byA2NCAqL1xyXG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTEzeCk7XHJcbn1cclxuXHJcbi5teF9Sb29tSGVhZGVyX3RydW5jYXRlZCB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDE7XHJcblxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4ubXhfUm9vbUhlYWRlcl9oZWFkaW5nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfUm9vbUhlYWRlcl9pY29uIHtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxufVxyXG5cclxuLm14X1Jvb21IZWFkZXIgLm14X0ZhY2VQaWxlIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xyXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLW1lZGl1bSk7XHJcblxyXG4gICAgLyogUm9vbUF2YXRhciBkb2Vzbid0IHBhc3MgY2xhc3NlcyBkb3duIHRvIGF2YXRhclxyXG4gICAgU28gc2V0IHN0eWxlIGhlcmVcclxuICAgIHVzaW5nIGRpdiBiZWNhdXNlIGNvbXBvdW5kIGNsYXNzZXMgYXJlIG5vdCBzdGFibGUgKi9cclxuICAgID4gZGl2IHtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfRmFjZVBpbGVfdG9nZ2xlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1Y2Nlc3Mtc3VidGxlKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtYWN0aW9uLWFjY2VudCk7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XHJcbiAgICAgICAgLyogRm9yIGVuaGFuY2VkIHZpc2liaWxpdHkgdW5kZXIgY29udHJhc3QgY29udHJvbCAqL1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21IZWFkZXIgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5teF9Sb29tSGVhZGVyX3ZpZGVvQ2FsbE9wdGlvbiB7XHJcbiAgICAvKiBXb3JrYXJvdW5kIGZvciBodHRwczovL2dpdGh1Yi5jb20vZWxlbWVudC1ocS9jb21wb3VuZC9pc3N1ZXMvMzMxICovXHJcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xyXG59XHJcblxyXG4ubXhfUm9vbUhlYWRlciAubXhfUm9vbUhlYWRlcl90b2dnbGVkIHtcclxuICAgIGZpbGw6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC1wcmltYXJ5KTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21JbmZvTGluZSB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7XHJcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tSW5mb0xpbmVfbWVtYmVycyB7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIsK3XCI7IC8qIHZpc3VhbCBzZXBhcmF0b3IgKi9cclxuICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIE5vcmRlY2sgSVQgKyBDb25zdWx0aW5nIEdtYkhcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21Lbm9ja3NCYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxufVxyXG5cclxuLm14X1Jvb21Lbm9ja3NCYXJfY29udGVudCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBtYXJnaW46IDAgdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxufVxyXG5cclxuLm14X1Jvb21Lbm9ja3NCYXJfcGFyYWdyYXBoIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSk7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5teF9Sb29tS25vY2tzQmFyX2xpbmsge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbn1cclxuXHJcbi5teF9Sb29tS25vY2tzQmFyX2FjdGlvbixcclxuLm14X1Jvb21Lbm9ja3NCYXJfYXZhdGFyIHtcclxuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ubXhfUm9vbUtub2Nrc0Jhcl9hY3Rpb24gKyAubXhfUm9vbUtub2Nrc0Jhcl9hY3Rpb24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbn1cclxuXHJcbi5teF9Sb29tS25vY2tzQmFyX2F2YXRhciArIC5teF9Sb29tS25vY2tzQmFyX2F2YXRhciB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1jcGQtc3BhY2UtNHgpICogLTEpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNS0yMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tUHJldmlld0JhciB7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcblxyXG4gICAgICAgICYubXhfUm9vbVByZXZpZXdCYXJfc3Bpbm5lclRpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMyxcclxuICAgIC5teF9Sb29tUHJldmlld0Jhcl9tZXNzYWdlIHAge1xyXG4gICAgICAgIC8qIGJyZWFrLXdvcmQsIHdpdGggZmFsbGJhY2sgdG8gYnJlYWstYWxsLCB3aGljaCBpcyB3aWRlciBzdXBwb3J0ZWQgKi9cclxuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU3Bpbm5lciB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAxMHB4IDEwcHggMDtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVByZXZpZXdCYXJfZm9vdGVyIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XHJcblxyXG4gICAgICAgIC5teF9TcGlubmVyIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21QcmV2aWV3QmFyX2FjdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLm14X1Jvb21QcmV2aWV3QmFyX21lc3NhZ2Uge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Sb29tUHJldmlld0Jhcl9wYW5lbCB7XHJcbiAgICBwYWRkaW5nOiA4cHggOHB4IDhweCAyMHB4O1xyXG5cclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG4gICAgLm14X1Jvb21QcmV2aWV3QmFyX2FjdGlvbnMge1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDhweDtcclxuXHJcbiAgICAgICAgJiA+ICoge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21QcmV2aWV3QmFyX21lc3NhZ2Uge1xyXG4gICAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBXaXRoIG1heGltaXNlZCB3aWRnZXRzLCB0aGUgcGFuZWwgZml0cyBpbiBiZXR0ZXIgd2hlbiByb3VuZGVkICovXHJcbi5teF9NYWluU3BsaXRfbWF4aW1pc2VkV2lkZ2V0IC5teF9Sb29tUHJldmlld0Jhcl9wYW5lbCB7XHJcbiAgICBtYXJnaW46IHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpIC8gMik7IC8qIFNoYXJlZCB3aXRoIHJpZ2h0IHBhbmVsICovXHJcbiAgICBtYXJnaW4tdG9wOiAwOyAvKiBBbHJlYWR5IGNvdmVyZWQgYnkgYXBwcyBkcmF3ZXIgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLm14X1Jvb21QcmV2aWV3QmFyX2RpYWxvZyB7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50O1xyXG4gICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLm14X1Jvb21QcmV2aWV3QmFyX21lc3NhZ2Uge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAyMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tUHJldmlld0Jhcl9hY3Rpb25zIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogN3B4IDUwcHg7IC8qIGV4dHJhIHdpZGUgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xyXG4gICAgICAgICAgICAvKiB0byBhY2NvdW50IGZvciB0aGUgcGFkZGluZyBvZiB0aGUgcHJpbWFyeSBidXR0b24gd2hpY2ggY2F1c2VzIGluY29uc2lzdGVudCBsb29rIGJldHdlZW4gKi9cclxuICAgICAgICAgICAgLyogc3Vic2VxdWVudCBzZWNvbmRhcnkgKHRleHQpIGJ1dHRvbnMgKi9cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ubXhfUm9vbVByZXZpZXdCYXJfSW52aXRlIHtcclxuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxufVxyXG5cclxuLm14X1Jvb21QcmV2aWV3QmFyX0ludml0ZSBoMyB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubXhfUm9vbVByZXZpZXdCYXJfaW52aXRlciB7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxufVxyXG5cclxuYS5teF9Sb29tUHJldmlld0Jhcl9pbnZpdGVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubXhfUm9vbVByZXZpZXdCYXJfaW52aXRlcl9teGlkIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4ubXhfUm9vbVByZXZpZXdCYXJfaWNvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcclxufVxyXG5cclxuLm14X1Jvb21QcmV2aWV3QmFyX2Z1bGxXaWR0aCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21QcmV2aWV3Q2FyZCB7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0zMiAkc3BhY2luZy0yNCAhaW1wb3J0YW50OyAvKiBPdmVycmlkZSBTcGFjZVJvb21WaWV3J3MgZGVmYXVsdCBwYWRkaW5nICovXHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzeXN0ZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG5cclxuICAgIC5teF9Sb29tUHJldmlld0NhcmRfbm90aWNlIHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0yNDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tUHJldmlld0NhcmRfaW52aXRlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTIwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctODtcclxuXHJcbiAgICAgICAgICAgIC5teF9Sb29tUHJldmlld0NhcmRfaW52aXRlcl9uYW1lIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUm9vbVByZXZpZXdDYXJkX2ludml0ZXJfbXhpZCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tUHJldmlld0NhcmRfYXZhdGFyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5teF9Sb29tUHJldmlld0NhcmRfdmlkZW8ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKCg1MHB4ICsgMiAqIDNweCkgLyAyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHN5c3RlbTtcclxuXHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoLTUwcHggLyA0IC0gM3B4KTtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktZmctY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFhYWCBSZW1vdmUgdGhpcyB3aGVuIHZpZGVvIHJvb21zIGxlYXZlIGJldGEgKi9cclxuICAgICAgICAubXhfQmV0YUNhcmRfYmV0YVBpbGwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAkc3BhY2luZy0zMjtcclxuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogJHNwYWNpbmctMjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgxLm14X1Jvb21QcmV2aWV3Q2FyZF9uYW1lIHtcclxuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTE2IDAgIWltcG9ydGFudDsgLyogT3ZlcnJpZGUgU3BhY2VSb29tVmlldydzIGRlZmF1bHQgbWFyZ2lucyAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tUHJldmlld0NhcmRfdG9waWMge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTE2O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ZhY2VQaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTY7XHJcbiAgICAgICAgLyogRm9yIGVuaGFuY2VkIHZpc2liaWxpdHkgdW5kZXIgY29udHJhc3QgY29udHJvbCAqL1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tUHJldmlld0NhcmRfam9pbkJ1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTIwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiAkc3BhY2luZy0yMDtcclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDA7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tU2VhcmNoQXV4UGFuZWwge1xyXG4gICAgLyogdXNlIGBtaW4taGVpZ2h0YCByYXRoZXIgdGhhbiBoZWlnaHQsIHRvIGFsbG93IHJvb20gZm9yIHRoZSB0ZXh0IHRvIHdyYXAgaWYgdGhlIHdpbmRvdyBpcyBuYXJyb3cgKi9cclxuICAgIG1pbi1oZWlnaHQ6IDg0cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweCAwO1xyXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcblxyXG4gICAgLm14X1Jvb21TZWFyY2hBdXhQYW5lbF9zdW1tYXJ5IHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsgLyogZmxleCAqL1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgID4gc3ZnIHtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVNlYXJjaEF1eFBhbmVsX3N1bW1hcnlfdGV4dCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIycHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TZWFyY2hXYXJuaW5nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVNlYXJjaEF1eFBhbmVsX2J1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7IC8qIGZsZXggKi9cclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCwyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbVN1Ymxpc3Qge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuXHJcbiAgICAmLm14X1Jvb21TdWJsaXN0X2hpZGRlbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCgubXhfUm9vbVN1Ymxpc3RfbWluaW1pemVkKSB7XHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciB7XHJcbiAgICAgICAgLyogQ3JlYXRlIGEgZmxleGJveCB0byBtYWtlIGFsaWdubWVudCBlYXN5ICovXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgICAgICAvKiBTdGlja3kgSGVhZGVycyBTdGFydCAqL1xyXG5cclxuICAgICAgICAvKiBJZGVhbGx5IHdlJ2QgYmUgYWJsZSB0byB1c2UgYHBvc2l0aW9uOiBzdGlja3k7IHRvcDogMDsgYm90dG9tOiAwO2Agb24gdGhlICovXHJcbiAgICAgICAgLyogaGVhZGVyQ29udGFpbmVyLCBob3dldmVyIGR1ZSB0byBvdXIgbGF5b3V0IGNvbmNlcm5zIHdlIGFjdHVhbGx5IGhhdmUgdG8gKi9cclxuICAgICAgICAvKiBjYWxjdWxhdGUgaXQgbWFudWFsbHkgc28gd2UgY2FuIHN0aWNreSB0aGluZ3MgaW4gdGhlIHJpZ2h0IHBsYWNlcy4gV2UgYWxzbyAqL1xyXG4gICAgICAgIC8qIHRhcmdldCB0aGUgaGVhZGVyVGV4dCBpbnN0ZWFkIG9mIHRoZSBjb250YWluZXIgdG8gcmVkdWNlIGp1bXBzIHdoZW4gc2Nyb2xsaW5nLCAqL1xyXG4gICAgICAgIC8qIGFuZCB0byBoZWxwIGhpZGUgdGhlIGJhZGdlcy9vdGhlciBidXR0b25zIHRoYXQgY291bGQgYXBwZWFyIG9uIGhvdmVyLiBUaGlzICovXHJcbiAgICAgICAgLyogYWxsIHdvcmtzIGJ5IGVuc3VyaW5nIHRoZSBoZWFkZXIgdGV4dCBoYXMgYSBmaXhlZCBoZWlnaHQgd2hlbiBzdGlja3kgc28gdGhlICovXHJcbiAgICAgICAgLyogZml4ZWQgaGVpZ2h0IG9mIHRoZSBjb250YWluZXIgY2FuIG1haW50YWluIHRoZSBzY3JvbGwgcG9zaXRpb24uICovXHJcblxyXG4gICAgICAgIC8qIFRoZSBjb21iaW5lZCBoZWlnaHQgbXVzdCBiZSBzZXQgaW4gdGhlIExlZnRQYW5lbCBjb21wb25lbnQgZm9yIHN0aWNreSBoZWFkZXJzICovXHJcbiAgICAgICAgLyogdG8gd29yayBjb3JyZWN0bHkuICovXHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcclxuICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3N0aWNrYWJsZUNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3N0aWNrYWJsZSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggdG8gbWFrZSBvcmRlcmluZyBlYXN5ICovXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAvKiBXZSB1c2UgYSBnZW5lcmljIHN0aWNreSBjbGFzcyBmb3IgMiByZWFzb25zOiB0byByZWR1Y2Ugc3R5bGUgZHVwbGljYXRpb24gYW5kICovXHJcbiAgICAgICAgICAgIC8qIHRvIGlkZW50aWZ5IHdoZW4gYSBoZWFkZXIgaXMgc3RpY2t5LiBJZiB3ZSBkaWRuJ3QgaGF2ZSBhIGNvbnNpc3RlbnQgc3RpY2t5IGNsYXNzLCAqL1xyXG4gICAgICAgICAgICAvKiB3ZSdkIGhhdmUgdG8gZG8gdGhlIFwiaXMgc3RpY2t5XCIgY2hlY2tzIGFnYWluIG9uIGNsaWNrLCBhcyBjbGlja2luZyB0aGUgaGVhZGVyICovXHJcbiAgICAgICAgICAgIC8qIHdoZW4gc3RpY2t5IHNjcm9sbHMgaW5zdGVhZCBvZiBjb2xsYXBzZXMgdGhlIGxpc3QuICovXHJcbiAgICAgICAgICAgICYubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyX3N0aWNreSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7IC8qIHRvIG1hdGNoIHRoZSBoZWFkZXIgY29udGFpbmVyICovXHJcbiAgICAgICAgICAgICAgICAvKiB3aWR0aCBzZXQgYnkgSlMgYmVjYXVzZSBvZiBhIGNvbXBhdCBpc3N1ZSBiZXR3ZWVuIEZpcmVmb3ggYW5kIENocm9tZSAqL1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1cHgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvKiBXZSBkb24ndCBoYXZlIGEgdG9wIHN0eWxlIGJlY2F1c2UgdGhlIHRvcCBpcyBkZXBlbmRlbnQgb24gdGhlIHJvb20gbGlzdCBoZWFkZXIncyAqL1xyXG4gICAgICAgICAgICAvKiBoZWlnaHQsIGFuZCBpcyB0aGVyZWZvcmUgY2FsY3VsYXRlZCBpbiBKUy4gKi9cclxuICAgICAgICAgICAgLyogVGhlIGNsYXNzLCBteF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXJfc3RpY2t5VG9wLCBpcyBhcHBsaWVkIHRob3VnaC4gKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFN0aWNreSBIZWFkZXJzIEVuZCAqL1xyXG4gICAgICAgIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfYmFkZ2VDb250YWluZXIge1xyXG4gICAgICAgICAgICAvKiBDcmVhdGUgYW5vdGhlciBmbGV4Ym94IHJvdyBiZWNhdXNlIGl0J3Mgc3VwZXIgZWFzeSB0byBwb3NpdGlvbiB0aGUgYmFkZ2UgdGhpcyB3YXkuICovXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgLyogQXBwbHkgdGhlIHdpZHRoIGFuZCBtYXJnaW4gdG8gdGhlIGJhZGdlIHNvIHRoZSBjb250YWluZXIgZG9lc24ndCBvY2N1cHkgZGVhZCBzcGFjZSAqL1xyXG4gICAgICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xyXG4gICAgICAgICAgICAgICAgLyogRG8gbm90IHNldCBhIHdpZHRoIHNvIHRoZSBiYWRnZXMgZ2V0IHByb3Blcmx5IHNpemVkICovXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyAvKiBzYW1lIGFzIG1lbnUrYXV4IGJ1dHRvbnMgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lcl93aXRoQXV4KSB7XHJcbiAgICAgICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgLyoganVzdCB0byBwdXNoIGl0IG92ZXIgYSBiaXQsIGFsaWduaW5nIGl0IHdpdGggdGhlIG90aGVyIGVsZW1lbnRzICovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9hdXhCdXR0b24sXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyAvKiBzaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIG5vdGlmaWNhdGlvbiBiYWRnZSAqL1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9hdXhCdXR0b246aG92ZXIgc3ZnLFxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9tZW51QnV0dG9uOmhvdmVyIHN2ZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIEhpZGUgdGhlIG1lbnUgYnV0dG9uIGJ5IGRlZmF1bHQgKi9cclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9oZWFkZXJUZXh0IHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgLyogMTZweCBpcyB0aGUgYmFkZ2Ugd2lkdGggKi9cclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XHJcblxyXG4gICAgICAgICAgICAvKiBFbGxpcHNpemUgYW55IHRleHQgb3ZlcmZsb3cgKi9cclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgICAgICAubXhfUm9vbVN1Ymxpc3RfY29sbGFwc2VCdG4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogSW4gdGhlIGdlbmVyYWwgY2FzZSwgd2UgcmVzZXJ2ZSBzcGFjZSBmb3IgZWFjaCBzdWJsaXN0IGhlYWRlciB0byBwcmV2ZW50ICovXHJcbiAgICAvKiBzY3JvbGwganVtcHMgd2hlbiB0aGV5IGJlY29tZSBzdGlja3kuIEhvd2V2ZXIsIHRoYXQgbGVhdmVzIGEgZ2FwIHdoZW4gKi9cclxuICAgIC8qIHNjcm9sbGVkIHRvIHRoZSB0b3AgYWJvdmUgdGhlIGZpcnN0IHN1Ymxpc3QgKHdob3NlIGhlYWRlciBjYW4gb25seSBldmVyICovXHJcbiAgICAvKiBzdGljayB0byB0b3ApLCBzbyB3ZSBtYWtlIHN1cmUgdG8gZXhjbHVkZSB0aGUgZmlyc3QgdmlzaWJsZSBzdWJsaXN0LiAqL1xyXG4gICAgJjpub3QoLm14X1Jvb21TdWJsaXN0X2hpZGRlbikgfiAubXhfUm9vbVN1Ymxpc3QgLm14X1Jvb21TdWJsaXN0X3N0aWNrYWJsZUNvbnRhaW5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tU3VibGlzdF9yZXNpemVCb3gge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgLyogQ3JlYXRlIGFub3RoZXIgZmxleGJveCBjb2x1bW4gZm9yIHRoZSB0aWxlcyAqL1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfdGlsZXMge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDAgMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGNsaXA7XHJcbiAgICAgICAgICAgIC8qIG5lZWQgdGhpcyB0byBiZSBmbGV4IG90aGVyd2lzZSB0aGUgb3ZlcmZsb3cgaGlkZGVuIGZyb20gYWJvdmUgKi9cclxuICAgICAgICAgICAgLyogc29tZXRpbWVzIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgY2xpcHBlZCBsaXN0IC4uLiBubyBpZGVhIHdoeSBpdCB3b3VsZCBkbyB0aGlzICovXHJcbiAgICAgICAgICAgIC8qIGFzIHRoZSBib3ggbW9kZWwgc2hvdWxkIGJlIHRvcCBhbGlnbmVkLiBIYXBwZW5zIGluIGJvdGggRkYgYW5kIENocm9taXVtICovXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XHJcbiAgICAgICAgICAgIC8qIHdpdGhvdXQgdGhpcyBGaXJlZm94IHdpbGwgcHJlZmVyIHB1c2hpbmcgdGhlIHJlc2l6ZXIgJiBzaG93IG1vcmUvbGVzcyBidXR0b24gaW50byB0aGUgb3ZlcmZsb3cgKi9cclxuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCwgYmxhY2sgNHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfUm9vbVN1Ymxpc3RfcmVzaXplQm94X2ZvcmNlRXhwYW5kZWQgLm14X1Jvb21TdWJsaXN0X3RpbGVzIHtcclxuICAgICAgICAgICAgLyogaW4gdGhpcyBzdGF0ZSB0aGUgZGl2IGNhbiBjb2xsYXBzZSBpdHMgaGVpZ2h0IGVudGlyZWx5IGluIENocm9taXVtLCAqL1xyXG4gICAgICAgICAgICAvKiBzbyBwcmV2ZW50IHRoYXQgYnkgYWxsb3dpbmcgb3ZlcmZsb3cgKi9cclxuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgIC8qIGNsZWFyIHRoZSBtaW4taGVpZ2h0IHRvIG1ha2UgaXQgbm90IGNvbGxhcHNlIGVudGlyZWx5IGluIGEgc3RhdGUgd2l0aCBubyBhY3RpdmUgcmVzaXplciAqL1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9yZXNpemVySGFuZGxlc19zaG93TkJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZXJIYW5kbGVzIHtcclxuICAgICAgICAgICAgZmxleDogMCAwIDRweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogQ2xhc3MgbmFtZSBjb21lcyBmcm9tIHRoZSBSZXNpemFibGVCb3ggY29tcG9uZW50ICovXHJcbiAgICAgICAgLyogVGhlIGhvdmVyIHN0YXRlIG5lZWRzIHRvIHVzZSB0aGUgd2hvbGUgc3VibGlzdCwgbm90IGp1c3QgdGhlIHJlc2l6YWJsZSBib3gsICovXHJcbiAgICAgICAgLyogc28gdGhhdCBzZWxlY3RvciBpcyBiZWxvdyBhbmQgb25lIGxldmVsIGhpZ2hlci4gKi9cclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfcmVzaXplckhhbmRsZSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbnMtcmVzaXplO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4gICAgICAgICAgICAvKiBPdmVycmlkZSBzdHlsZXMgZnJvbSBsaWJyYXJ5ICovXHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0cHggIWltcG9ydGFudDsgLyogVXBkYXRlIFJFU0laRV9IQU5ETEVfSEVJR0hUIGlmIHRoaXMgY2hhbmdlcyAqL1xyXG5cclxuICAgICAgICAgICAgLyogVGhpcyBpcyBwb3NpdGlvbmVkIGRpcmVjdGx5IGJlbG93IHRoZSAnc2hvdyBtb3JlJyBidXR0b24uICovXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDsgLyogb3ZlcnJpZGUgZnJvbSBsaWJyYXJ5ICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICYubXhfUm9vbVN1Ymxpc3RfaGFzTWVudU9wZW4ge1xyXG4gICAgICAgICAgICAubXhfUm9vbVN1Ymxpc3RfcmVzaXplckhhbmRsZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tU3VibGlzdF9zaG93TkJ1dHRvbiB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAvKiBVcGRhdGUgdGhlIHJlbmRlcigpIGZ1bmN0aW9uIGZvciBSb29tU3VibGlzdCBpZiB0aGVzZSBjaGFuZ2UgKi9cclxuICAgICAgICAvKiBVcGRhdGUgdGhlIExpc3RMYXlvdXQgY2xhc3MgZm9yIG1pblZpc2libGVUaWxlcyBpZiB0aGVzZSBjaGFuZ2UuICovXHJcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XHJcblxyXG4gICAgICAgIC8qIFdlIGNyZWF0ZSBhIGZsZXhib3ggdG8gY2hlYXQgYXQgYWxpZ25tZW50ICovXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3Rfc2hvd05CdXR0b25DaGV2cm9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xcHg7IC8qIGFkanVzdCBmb3IgaW1hZ2UgcG9zaXRpb24gKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9Sb29tU3VibGlzdF9oYXNNZW51T3BlbixcclxuICAgICY6bm90KC5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQpID4gLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lcjpmb2N1cy13aXRoaW4sXHJcbiAgICAmOm5vdCgubXhfUm9vbVN1Ymxpc3RfbWluaW1pemVkKSA+IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXI6aG92ZXIge1xyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9tZW51QnV0dG9uIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfUm9vbVN1Ymxpc3RfbWluaW1pemVkIHtcclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAubXhfUm9vbVN1Ymxpc3RfYmFkZ2VDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X3N0aWNrYWJsZSB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X2F1eEJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzJweCAhaW1wb3J0YW50OyAvKiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIGhvdmVyIHN0eWxlcyAqL1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7IC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgaG92ZXIgc3R5bGVzICovXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyAvKiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIGhvdmVyIHN0eWxlcyAqL1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9yZXNpemVCb3gge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3Nob3dOQnV0dG9uIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgICAgIC5teF9Sb29tU3VibGlzdF9zaG93TkJ1dHRvbkNoZXZyb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyAvKiB0byBjZW50ZXIgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X1Jvb21TdWJsaXN0X2hhc01lbnVPcGVuLFxyXG4gICAgICAgICYgPiAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyOmhvdmVyIHtcclxuICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogNDhweDsgLyogYWxpZ24gdG8gbWlkZGxlIG9mIG5hbWUsIDQwcHggZm9yIGF1eCBidXR0b24gKHdpdGggcGFkZGluZykgYW5kIDhweCBmb3IgYWxpZ25tZW50ICovXHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7IC8qIG9jY2x1ZGUgdGhlIGxpc3QgbmFtZSAqL1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIFRoaXMgaXMgdGhlIHNhbWUgY29sb3IgYXMgdGhlIGxlZnQgcGFuZWwgYmFja2dyb3VuZCBiZWNhdXNlIGl0IG5lZWRzICovXHJcbiAgICAgICAgICAgICAgICAvKiB0byBvY2NsdWRlIHRoZSBzdWJsaXN0IHRpdGxlICovXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm9vbWxpc3QtYmctY29sb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXI6bm90KC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXJfd2l0aEF1eCkge1xyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogOHB4OyAvKiBhbGlnbiB0byB0aGUgbWlkZGxlIG9mIG5hbWUsIDQwcHggbGVzcyB0aGFuIHRoZSBgYm90dG9tYCBhYm92ZS4gKi9cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21TdWJsaXN0X2NvbnRleHRNZW51IHtcclxuICAgIHBhZGRpbmc6IDIwcHggMTZweDtcclxuICAgIHdpZHRoOiAyNTBweDtcclxuXHJcbiAgICBociB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDsgLyogYWRkaXRpb25hbCAxNnB4ICovXHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBvcGFjaXR5OiAwLjE7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21TdWJsaXN0X2NvbnRleHRNZW51X3RpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUm9vbVN1Ymxpc3Rfc2tlbGV0b25VSSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgaGVpZ2h0OiAyNDBweDtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIG1hc2stcmVwZWF0OiByZXBlYXQteTtcclxuICAgICAgICBtYXNrLXNpemU6IGF1dG8gNDhweDtcclxuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIvcmVzL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L3NrZWxldG9uLXVpLnN2Z1wiKTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21TdWJsaXN0X21pbmltaXplZCAubXhfUm9vbVN1Ymxpc3Rfc2tlbGV0b25VSSB7XHJcbiAgICB3aWR0aDogMzJweDsgLyogY3V0IG9mZiB0aGUgaG9yaXpvbnRhbCBsaW5lcyBpbiB0aGUgc3ZnICovXHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgLyogYWxpZ24gd2l0aCBzdWJsaXN0ICsgYnV0dG9ucyAqL1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMC0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qIE5vdGU6IHRoZSByb29tIHRpbGUgZXhwZWN0cyB0byBiZSBpbiBhIGZsZXhib3ggY29sdW1uIGNvbnRhaW5lciAqL1xyXG4ubXhfUm9vbVRpbGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgcGFkZGluZzogNHB4O1xyXG5cclxuICAgIC8qIFRoZSB0aWxlIGlzIGFsc28gYSBmbGV4Ym94IHJvdyBpdHNlbGYgKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBjb250YWluOiBjb250ZW50OyAvKiBOb3Qgc3RyaWN0IGFzIGl0IHdpbGwgYnJlYWsgd2hlbiByZXNpemluZyBhIHN1Ymxpc3QgdmVydGljYWxseSAqL1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSk7XHJcblxyXG4gICAgJi5teF9Sb29tVGlsZV9zZWxlY3RlZCxcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLXdpdGhpbixcclxuICAgICYubXhfUm9vbVRpbGVfaGFzTWVudU9wZW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcixcclxuICAgIC5teF9Sb29tVGlsZV9hdmF0YXJDb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVRpbGVfZGV0YWlscyB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tVGlsZV90aXRsZUNvbnRhaW5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgLyogc3BhY2luZyB0byBidXR0b25zL2JhZGdlcyAqL1xyXG5cclxuICAgICAgICAvKiBDcmVhdGUgYSBuZXcgY29sdW1uIGxheW91dCBmbGV4Ym94IGZvciB0aGUgdGl0bGUgcGFydHMgKi9cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5teF9Sb29tVGlsZV9zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21UaWxlX3RpdGxlLFxyXG4gICAgICAgIC5teF9Sb29tVGlsZV9zdWJ0aXRsZV90ZXh0IHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVRpbGVfdGl0bGUge1xyXG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuXHJcbiAgICAgICAgICAgICYubXhfUm9vbVRpbGVfdGl0bGVIYXNVbnJlYWRFdmVudHMge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tVGlsZV90aXRsZVdpdGhTdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7IC8qIHNoaWZ0IHRoZSB0aXRsZSB1cCBhIGJpdCBtb3JlICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tVGlsZV9ub3RpZmljYXRpb25zQnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyAvKiBzcGFjaW5nIGJldHdlZW4gYnV0dG9ucyAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tVGlsZV9iYWRnZUNvbnRhaW5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIC8qIGRvbid0IHNldCB3aWR0aCBzbyB0aGF0IGl0IHRha2VzIG5vIHNwYWNlIHdoZW4gdGhlcmUgaXMgbm8gYmFkZ2UgdG8gc2hvdyAqL1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwOyAvKiB2ZXJ0aWNhbGx5IGFsaWduICovXHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggdG8gbWFrZSBhbGlnbmluZyBkb3QgYmFkZ2VzIGVhc2llciAqL1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IC8qIGNlbnRlcmluZyAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlX2RvdCB7XHJcbiAgICAgICAgICAgIC8qIG1ha2UgdGhlIHNtYWxsZXIgZG90IG9jY3VweSB0aGUgc2FtZSB3aWR0aCBmb3IgY2VudGVyaW5nICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBUaGUgY29udGV4dCBtZW51IGJ1dHRvbnMgYXJlIGhpZGRlbiBieSBkZWZhdWx0ICovXHJcbiAgICAubXhfUm9vbVRpbGVfbWVudUJ1dHRvbixcclxuICAgIC5teF9Sb29tVGlsZV9ub3RpZmljYXRpb25zQnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogSWYgdGhlIHJvb20gaGFzIGFuIG92ZXJyaWRlbiBub3RpZmljYXRpb24gc2V0dGluZyB0aGVuIHdlIGFsd2F5cyBzaG93IHRoZSBub3RpZmljYXRpb25zIG1lbnUgYnV0dG9uICovXHJcbiAgICAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbi5teF9Sb29tVGlsZV9ub3RpZmljYXRpb25zQnV0dG9uX3Nob3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5teF9Sb29tVGlsZV9taW5pbWl6ZWQsIC5teF9Sb29tVGlsZV9zdGlja3kpIHtcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMtd2l0aGluLFxyXG4gICAgICAgICYubXhfUm9vbVRpbGVfaGFzTWVudU9wZW4ge1xyXG4gICAgICAgICAgICAvKiBIaWRlIHRoZSBiYWRnZSBjb250YWluZXIgb24gaG92ZXIgYmVjYXVzZSBpdCdsbCBiZSBhIG1lbnUgYnV0dG9uICovXHJcbiAgICAgICAgICAgIC5teF9Sb29tVGlsZV9iYWRnZUNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9Sb29tVGlsZV9ub3RpZmljYXRpb25zQnV0dG9uLFxyXG4gICAgICAgICAgICAubXhfUm9vbVRpbGVfbWVudUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X1Jvb21UaWxlX21pbmltaXplZCB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXIsXHJcbiAgICAgICAgLm14X1Jvb21UaWxlX2F2YXRhckNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0JhciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMzVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmZvLXBsaW50aC1iZy1jb2xvcjtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xyXG59XHJcblxyXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nQmFyX3dyYXBwZWQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0Jhcl9oZWFkZXIge1xyXG4gICAgY29sb3I6ICRhbGVydDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nQmFyX2JvZHkge1xyXG4gICAgY29sb3I6ICRhbGVydDtcclxufVxyXG5cclxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0Jhcl91cGdyYWRlbGluayB7XHJcbiAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi5teF9Sb29tVXBncmFkZVdhcm5pbmdCYXJfc21hbGwge1xyXG4gICAgY29sb3I6ICRpbmZvLXBsaW50aC1mZy1jb2xvcjtcclxuICAgIGZvbnQtc2l6ZTogNzAlO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2VuZE1lc3NhZ2VDb21wb3NlciB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgLyogZml4ZWQgbGluZSBoZWlnaHQgdG8gcHJldmVudCBlbW9qaSBmcm9tIGJlaW5nIHRhbGxlciB0aGFuIHRleHQgKi9cclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgIC8qIGRvbid0IGdyb3cgd2lkZXIgdGhhbiBhdmFpbGFibGUgc3BhY2UgKi9cclxuICAgIG1pbi13aWR0aDogMDtcclxuXHJcbiAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIC8qIG1pbi1oZWlnaHQgYXQgdGhpcyBsZXZlbCBzbyB0aGUgbXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXQgKi9cclxuICAgICAgICAvKiBzdGlsbCBzdGF5cyB2ZXJ0aWNhbGx5IGNlbnRlcmVkIHdoZW4gbGVzcyB0aGFuIDU1cHguICovXHJcbiAgICAgICAgLyogV2UgYWxzbyBzZXQgdGhpcyB0byBlbnN1cmUgdGhlIHZvaWNlIG1lc3NhZ2UgcmVjb3JkaW5nIHdpZGdldCAqL1xyXG4gICAgICAgIC8qIGRvZXNuJ3QgY2F1c2UgYSBqdW1wLiAqL1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDU1cHg7XHJcblxyXG4gICAgICAgIC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwO1xyXG4gICAgICAgICAgICAvKiB0aGlzIHdpbGwgY2VudGVyIHRoZSBjb250ZW50ZWRpdGFibGUgKi9cclxuICAgICAgICAgICAgLyogaW4gaXQncyBwYXJlbnQgdmVydGljYWxseSAqL1xyXG4gICAgICAgICAgICAvKiB3aGlsZSBrZWVwaW5nIHRoZSBhdXRvY29tcGxldGUgYXQgdGhlIHRvcCAqL1xyXG4gICAgICAgICAgICAvKiBvZiB0aGUgY29tcG9zZXIuIFRoZSBwYXJlbnQgbmVlZHMgdG8gYmUgYSBmbGV4IGNvbnRhaW5lciBmb3IgdGhpcyB0byB3b3JrLiAqL1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICAgICAgLyogbWF4LWhlaWdodCBhdCB0aGlzIGxldmVsIHNvIGF1dG9jb21wbGV0ZSBkb2Vzbid0IGdldCBzY3JvbGxlZCB0b28gKi9cclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTQwcHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5teF9TdGlja2Vyc19jb250ZW50IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5teF9TdGlja2Vyc19jb250ZW50X2NvbnRhaW5lciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OiAzMDBweDtcclxufVxyXG5cclxuI214X3BlcnNpc3RlZEVsZW1lbnRfc3RpY2tlclBpY2tlciB7XHJcbiAgICAubXhfQXBwVGlsZUZ1bGxXaWR0aCB7XHJcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BcHBUaWxlTWVudUJhciB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICBpZnJhbWUge1xyXG4gICAgICAgIC8qIFN0aWNrZXIgcGlja2VyIGRlcGVuZHMgb24gdGhlIGZpeGVkIGhlaWdodCBwcmV2aW91c2x5IHVzZWQgZm9yIGFsbCB0aWxlcyAqL1xyXG4gICAgICAgIGhlaWdodDogMjgzcHg7IC8qIGhlaWdodCBvZiB0aGUgcG9wb3V0IG1pbnVzIHRoZSBBcHBUaWxlIG1lbnUgYmFyICovXHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TdGlja2Vyc19jb250ZW50UGxhY2Vob2xkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9TdGlja2Vyc19jb250ZW50UGxhY2Vob2xkZXIgcCB7XHJcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG59XHJcblxyXG4ubXhfU3RpY2tlcnNfYWRkTGluayB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogJGFjY2VudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1RoaXJkUGFydHlNZW1iZXJJbmZvIHtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0JhciB7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAyNHB4O1xyXG4gICAgcmlnaHQ6IDI0cHg7XHJcbiAgICB3aWR0aDogMzhweDtcclxufVxyXG5cclxuLm14X1RvcFVucmVhZE1lc3NhZ2VzQmFyOjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtOHB4O1xyXG4gICAgbGVmdDogMTFweDtcclxuICAgIHdpZHRoOiA0cHg7XHJcbiAgICBoZWlnaHQ6IDRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgYm9yZGVyOiA2cHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ubXhfVG9wVW5yZWFkTWVzc2FnZXNCYXJfc2Nyb2xsVXAge1xyXG4gICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgd2lkdGg6IDM4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxOXB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgYm9yZGVyOiAxLjNweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgcGFkZGluZzogNnB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0Jhcl9tYXJrQXNSZWFkIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlcjogMS4zcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIG1hcmdpbjogNXB4IGF1dG87XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZzogMXB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Vc2VySWRlbnRpdHlXYXJuaW5nIHtcclxuICAgIC8qIDQycHggaXMgdGhlIHBhZGRpbmctbGVmdCBvZiAubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIgaW4gcmVzL2Nzcy92aWV3cy9yb29tcy9fTWVzc2FnZUNvbXBvc2VyLnBjc3MgKi9cclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC00MnB4ICsgdmFyKC0tUm9vbVZpZXdfTWVzc2FnZUxpc3QtcGFkZGluZykpO1xyXG5cclxuICAgIC5teF9Vc2VySWRlbnRpdHlXYXJuaW5nX3JvdyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAubXhfQmFzZUF2YXRhciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubXhfVXNlcklkZW50aXR5V2FybmluZ19tYWluIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm14X1VzZXJJZGVudGl0eVdhcm5pbmdfbWFpbi5jcml0aWNhbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLm14X1VzZXJJZGVudGl0eVdhcm5pbmcuY3JpdGljYWwge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tY3BkLWNvbG9yLXJlZC0xMDApIDAlLCB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpIDEwMCUpO1xyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyLm14X01lc3NhZ2VDb21wb3Nlci0tY29tcGFjdCA+IC5teF9Vc2VySWRlbnRpdHlXYXJuaW5nIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0yNXB4ICsgdmFyKC0tUm9vbVZpZXdfTWVzc2FnZUxpc3QtcGFkZGluZykpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVm9pY2VSZWNvcmRDb21wb3NlclRpbGVfc3RvcCB7XHJcbiAgICAvKiAyMHB4ICsgNHB4IHBhZGRpbmcgKyAycHggYm9yZGVyIG1ha2VzIHRoaXMgYSAzMnB4IHNxdWFyZSAoYXMgaW50ZW5kZWQpICovXHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkdm9pY2UtcmVjb3JkLXN0b3AtYm9yZGVyLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMzJweDtcclxuICAgIG1hcmdpbi1yaWdodDogMnB4OyAvKiBiZXR3ZWVuIHVzIGFuZCB0aGUgd2F2ZWZvcm0gY29tcG9uZW50ICovXHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgY29sb3I6ICR2b2ljZS1yZWNvcmQtc3RvcC1zeW1ib2wtY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV9kZWxldGUge1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7IC8qIGRpc3RhbmNlIGZyb20gbGVmdCBlZGdlIG9mIHdhdmVmb3JtIGNvbnRhaW5lciAoY29udGFpbmVyIGhhcyBzb21lIG1hcmdpbiB0b28pICovXHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgY29sb3I6ICR2b2ljZS1yZWNvcmQtaWNvbi1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX3VwbG9hZGluZ1N0YXRlIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV9mYWlsZWRTdGF0ZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIxcHg7XHJcblxyXG4gICAgLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX3VwbG9hZFN0YXRlX2JhZGdlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9yb3cgLm14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXIge1xyXG4gICAgLyogTm90ZTogcmVtYWluaW5nIGNsYXNzIHByb3BlcnRpZXMgYXJlIGluIHRoZSBQbGF5ZXJDb250YWluZXIgQ1NTLiAqL1xyXG5cclxuICAgIC8qIGZpeGVkIGhlaWdodCB0byByZWR1Y2UgbGF5b3V0IGp1bXBzIHdpdGggdGhlIHBsYXkgYnV0dG9uIGFwcGVhcmluZyAqL1xyXG4gICAgLyogaHR0cHM6Ly9naXRodWIuY29tL3ZlY3Rvci1pbS9lbGVtZW50LXdlYi9pc3N1ZXMvMTg0MzEgKi9cclxuICAgIGhlaWdodDogMzJweDtcclxuXHJcbiAgICBtYXJnaW46IDZweDsgLyogZm9yY2UgdGhlIGNvbXBvc2VyIGFyZWEgdG8gcHV0IGEgZ3V0dGVyIGFyb3VuZCB1cyAqL1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7IC8qIGlzb2xhdGUgZnJvbSBzdG9wL3NlbmQgYnV0dG9uICovXHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBpbXBvcnRhbnQgZm9yIHRoZSBsaXZlIGNpcmNsZSAqL1xyXG5cclxuICAgICYubXhfVm9pY2VSZWNvcmRDb21wb3NlclRpbGVfcmVjb3JkaW5nIHtcclxuICAgICAgICAvKiBXZSBhcmUgcHV0dGluZyB0aGUgY2lyY2xlIGluIHRoaXMgcGFkZGluZywgc28gd2UgbmVlZCArMTBweCBmcm9tIHRoZSByZWd1bGFyICovXHJcbiAgICAgICAgLyogcGFkZGluZyBvbiB0aGUgbGVmdCBzaWRlLiAqL1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjJweDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiByZWNvcmRpbmctcHVsc2UgMnMgaW5maW5pdGU7XHJcblxyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdm9pY2UtcmVjb3JkLWxpdmUtY2lyY2xlLWNvbG9yO1xyXG4gICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDEycHg7IC8qIDEycHggZnJvbSB0aGUgbGVmdCBlZGdlIGZvciBjb250YWluZXIgcGFkZGluZyAqL1xyXG4gICAgICAgICAgICB0b3A6IDE3cHg7IC8qIHZlcnRpY2FsbHkgY2VudGVyIChtaWRkbGUgYWxpZ24gd2l0aCBjbG9jaykgKi9cclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXJfd3lzaXd5ZyAubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciB7XHJcbiAgICAmLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX3JlY29yZGluZyB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgdG9wOiAxNXB4OyAvKiB2ZXJ0aWNhbGx5IGNlbnRlciAobWlkZGxlIGFsaWduIHdpdGggY2xvY2spICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBUaGUga2V5ZnJhbWVzIGFyZSBzbGlnaHRseSB3ZWlyZCBoZXJlIHRvIGhlbHAgbWFrZSBhIHJhbXBpbmcvcHVuY2ggZWZmZWN0ICovXHJcbi8qIGZvciB0aGUgcmVjb3JkaW5nIGRvdC4gV2Ugc3RhcnQgYW5kIGVuZCBhdCAxMDAlIG9wYWNpdHkgdG8gaGVscCBtYWtlIHRoZSAqL1xyXG4vKiBkb3QgZmVlbCBhIGJpdCBsaWtlIGEgcmVhbCBsYW1wIHRoYXQgaXMgYmxpbmtpbmc6IHRoZSBhbmltYXRpb24gZW5kcyB1cCAqL1xyXG4vKiBzcGVuZGluZyBhIGxvdCBvZiBpdHMgdGltZSBzaG93aW5nIGEgc3RlYWR5IHN0YXRlIHdpdGhvdXQgYSBmYWRlIGVmZmVjdC4gKi9cclxuLyogVGhpcyBsYW1wIGVmZmVjdCBleHRlbmRzIGludG8gd2h5IHRoZSAwJSBvcGFjaXR5IGtleWZyYW1lIGlzIG5vdCBpbiB0aGUgKi9cclxuLyogbWlkcG9pbnQ6IGxhbXBzIHRha2UgbG9uZ2VyIHRvIHR1cm4gb2ZmIHRoYW4gdGhleSBkbyB0byB0dXJuIG9uLCBhbmQgdGhlICovXHJcbi8qIGV4dHJhIGZyYW1lcyBnaXZlIGl0IGEgYml0IG9mIGEgcmVhbGlzdGljIHB1bmNoIGZvciB3aGVuIHRoZSBhbmltYXRpb24gaXMgKi9cclxuLyogcmFtcGluZyBiYWNrIHVwIHRvIDEwMCUgb3BhY2l0eS4gKi9cclxuXHJcbi8qIFRhcmdldCBhbmltYXRpb24gdGltaW5nczogc3RlYWR5IGZvciAxLjVzLCBmYWRlIG91dCBmb3IgMC4zcywgZmFkZSBpbiBmb3IgMC4ycyAqL1xyXG4vKiAoaW50ZW5kZWQgdG8gYmUgdXNlZCBpbiBhIGxvb3AgZm9yIDJzIGFuaW1hdGlvbiBzcGVlZCkgKi9cclxuQGtleWZyYW1lcyByZWNvcmRpbmctcHVsc2Uge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAzNSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICA2NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XHJcbiAgICAubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciB7XHJcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9XaG9Jc1R5cGluZ1RpbGUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xOHB4OyAvKiBvZmZzZXQgcGFkZGluZyBmcm9tIG14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHRvIGNlbnRlciBhdmF0YXJzICovXHJcbiAgICBwYWRkaW5nLXRvcDogMThweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4vKiBwb3NpdGlvbiB0aGUgaW5kaWNhdG9yIGluIHRoZSBzYW1lIHBsYWNlIGhvcml6b250YWxseSBhcyAubXhfRXZlbnRUaWxlX2F2YXRhci4gKi9cclxuLm14X1dob0lzVHlwaW5nVGlsZV9hdmF0YXJzIHtcclxuICAgIGZsZXg6IDAgMCA4MnB4OyAvKiAxOCAocGFkZGluZyBvbiBtZXNzYWdlIGxpc3QpICsgNjQgKHBhZGRpbmcgb24gZXZlbnQgbGluZXMpICovXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9XaG9Jc1R5cGluZ1RpbGVfYXZhdGFycyA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XHJcbn1cclxuXHJcbi5teF9XaG9Jc1R5cGluZ1RpbGVfYXZhdGFycyAubXhfQmFzZUF2YXRhciB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbn1cclxuXHJcbi5teF9XaG9Jc1R5cGluZ1RpbGVfcmVtYWluaW5nQXZhdGFyUGxhY2Vob2xkZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfV2hvSXNUeXBpbmdUaWxlX2xhYmVsIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcclxuICAgIGNvbG9yOiAkcm9vbXRvcGljLWNvbG9yO1xyXG59XHJcblxyXG4ubXhfV2hvSXNUeXBpbmdUaWxlX2xhYmVsID4gc3BhbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvcmVzL2ltZy90eXBpbmctaW5kaWNhdG9yLTJ4LmdpZlwiKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjVweDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQge1xyXG4gICAgLm14X1dob0lzVHlwaW5nVGlsZSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0VkaXRXeXNpd3lnQ29tcG9zZXIge1xyXG4gICAgLS1FZGl0V3lzaXd5Z0NvbXBvc2VyLXBhZGRpbmctaW5saW5lOiAzcHg7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIGRpc2FibGUgb3ZlcmZsb3cgKi9cclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgZ2FwOiA4cHg7XHJcbiAgICBwYWRkaW5nOiA4cHggdmFyKC0tRWRpdFd5c2l3eWdDb21wb3Nlci1wYWRkaW5nLWlubGluZSk7XHJcblxyXG4gICAgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGVudCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtNDAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRWRpdFd5c2l3eWdDb21wb3Nlcl9idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXAtcmV2ZXJzZTsgLyogZGlzcGxheSBcIlNhdmVcIiBvdmVyIFwiQ2FuY2VsXCIgKi9cclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDsgLyogbWFnaWMgbnVtYmVyIHRvIGFsaWduIHRoZSBlZGdlIG9mIHRoZSBidXR0b24gd2l0aCB0aGUgaW5wdXQgYXJlYSAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnNfQnV0dG9uIHtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZW5kV3lzaXd5Z0NvbXBvc2VyIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICAvKiBmaXhlZCBsaW5lIGhlaWdodCB0byBwcmV2ZW50IGVtb2ppIGZyb20gYmVpbmcgdGFsbGVyIHRoYW4gdGV4dCAqL1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1yaWdodDogMTNweDtcclxuICAgIGdhcDogOHB4O1xyXG5cclxuICAgIC5teF9Gb3JtYXR0aW5nQnV0dG9ucyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3Ige1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICBwYWRkaW5nOiA2cHggMTFweCA2cHggMTJweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcblxyXG4gICAgICAgIC5teF9FMkVJY29uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgN3B4IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmW2RhdGEtaXMtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbZGF0YS1pcy1leHBhbmRlZD1cImZhbHNlXCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxuICAgICAgICAgICAgLyogZG9uJ3QgZ3JvdyB3aWRlciB0aGFuIGF2YWlsYWJsZSBzcGFjZSAqL1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuXHJcbiAgICAgICAgICAgIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgLyogdGhpcyB3aWxsIGNlbnRlciB0aGUgY29udGVudGVkaXRhYmxlICovXHJcbiAgICAgICAgICAgICAgICAvKiBpbiBpdCdzIHBhcmVudCB2ZXJ0aWNhbGx5ICovXHJcbiAgICAgICAgICAgICAgICAvKiB3aGlsZSBrZWVwaW5nIHRoZSBhdXRvY29tcGxldGUgYXQgdGhlIHRvcCAqL1xyXG4gICAgICAgICAgICAgICAgLyogb2YgdGhlIGNvbXBvc2VyLiBUaGUgcGFyZW50IG5lZWRzIHRvIGJlIGEgZmxleCBjb250YWluZXIgZm9yIHRoaXMgdG8gd29yay4gKi9cclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgLyogdGhlIGxpbmUgaGVpZ2h0IGlzICRmb250LTIycHggKHNldCBpbiBfRWRpdG9yLnBjc3MpIGFuZCB3ZSB3YW50IHRvIGRpc3BsYXkgMTYgbGluZXMgKi9cclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTYgKiAkZm9udC0yMnB4KTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TZW5kV3lzaXd5Z0NvbXBvc2VyLWZvY3VzZWQge1xyXG4gICAgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3Ige1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHF1YXRlcm5hcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGFpbmVyIHtcclxuICAgIC8qIFRoZXNlIGFyZSBzZXQgaW4gSmF2YXNjcmlwdCAqL1xyXG4gICAgLS1hdmF0YXItbGV0dGVyOiBcIlwiO1xyXG4gICAgLS1hdmF0YXItYmFja2dyb3VuZDogdW5zZXQ7XHJcbiAgICAtLXBsYWNlaG9sZGVyOiBcIlwiO1xyXG5cclxuICAgIEBrZXlmcmFtZXMgdmlzdWFsYmVsbCB7XHJcbiAgICAgICAgZnJvbSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2aXN1YWwtYmVsbC1iZy1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdG8ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1d5c2l3eWdDb21wb3Nlcl9FZGl0b3JfY29udGVudCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIycHg7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgLyogRm9yY2UgY2FyZXQgbm9kZXMgdG8gYmUgc2VsZWN0ZWQgaW4gZnVsbCBzbyB0aGF0IHRoZXkgY2FuIGJlICovXHJcbiAgICAgICAgLyogbmF2aWdhdGVkIHRocm91Z2ggaW4gYSBzaW5nbGUga2V5cHJlc3MgKi9cclxuICAgICAgICAuY2FyZXROb2RlIHtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IGFsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHdlIGFsd2F5cyBoYXZlIGEgPGJyLz4gdGFnIGF0IHRoZSBlbmQgb2YgdGhlIGh0bWwsIHdlIG5lZWQgaXQgdG8gYmUgcHJlc2VudCBhdCBmaXJzdCB0aGVuIGhpZGUgaXQgYXMgc29vbiBhc1xyXG4gICAgICAgIC8vIHdlIGhhdmUgYW55IG90aGVyIGVsZW1lbnRzXHJcbiAgICAgICAgYnI6bm90KDpvbmx5LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgLyogdGhpcyBtYXkgc2VlbSByZWR1bmRhbnQsIGJ1dCB3ZSBuZWVkIHRvIGhhbmRsZSB6ZXJvIGNvbnRlbnQgZm9ybWF0dGluZyB0YWdzLCB3aGljaCBvY2N1ciB3aGVuIHdlIHNwbGl0IGFcclxuICAgICAgICAgICAgICAgZm9ybWF0dGluZyB0YWcgaW50byBwYXJhZ3JhcGhzICovXHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRmb250LTIycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCxcclxuICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkc3BhY2luZy0yODtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIE1ha2UgbGlzdCB0eXBlIGRpc2MgdG8gbWF0Y2ggcmljaCB0ZXh0IGVkaXRvciAqL1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYmxvY2txdW90ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNzc3O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRibG9ja3F1b3RlLWJhci1jb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBwcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctOCAkc3BhY2luZy0xMjtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmxpbmVjb2RlLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbmxpbmVjb2RlLWJvcmRlci1jb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29kZTpub3QocHJlICopIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtb25vc3BhY2UtZm9udC1mYW1pbHkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlubGluZWNvZGUtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGlubGluZWNvZGUtYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTI7XHJcblxyXG4gICAgICAgICAgICAmOmVtcHR5IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogdGhpcyBzZWxlY3RvciByZXByZXNlbnRzIHdoYXQgd2lsbCBiZWNvbWUgYSBwaWxsXHJcbiAgICAgICAgbmIgZGVzcGl0ZSB0aGVyZSBiZWluZyBteF9Vc2VyUGlsbCBhbmQgbXhfUm9vbVBpbGwgY2xhc3NlcyBhcHBlbmRlZCB0byB0aGVzZSBwaWxsc1xyXG4gICAgICAgIGluIHRoZSBjdXJyZW50IGNvbXBvc2VyLCB0aGVyZSBkb24ndCBhcHBlYXIgdG8gYmUgYW55IHN0eWxlcyBhc3NvY2lhdGVkIHdpdGggdGhvc2UgY2xhc3Nlc1xyXG4gICAgICAgIGluIHRoaXMgcmVwbyAqL1xyXG4gICAgICAgIGFbZGF0YS1tZW50aW9uLXR5cGVdIHtcclxuICAgICAgICAgICAgLyogY29tYmluZSBteF9QaWxsIGZyb20gX1BpbGwucGNzcyAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkZm9udC0xcHggMC40ZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xN3B4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZm9udC0xNnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBpbGwtYmctY29sb3I7XHJcblxyXG4gICAgICAgICAgICAvKiAuLi53aXRoIHRoZSBvdmVycmlkZXMgZnJvbSBfQmFzaWNNZXNzYWdlQ29tcG9zZXIucGNzcyAqL1xyXG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogYWxsO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogdW5zZXQ7IC8qIFdlIGRvbid0IHdhbnQgaW5kaWNhdGUgY2xpY2thYmlsaXR5ICovXHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgICAgICAgICAgLyogYXZhdGFyIHBzZXVkbyBlbGVtZW50ICovXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAvKiBBZnRlciBjb25zb2xpZGF0aW9uLCBhbGwgb2YgdGhlIHN0eWxpbmcgZnJvbSBfUGlsbC5zY3NzIHdhcyBiZWluZyBvdmVycmlkZGVuLFxyXG4gICAgICAgICAgICAgICAgc28gdGFrZSB3aGF0IGlzIGluIF9CYXNpY01lc3NhZ2VDb21wb3Nlci5wY3NzIGFzIHRoZSBzdGFydGluZyBwb2ludCAqL1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogdmFyKC0tYXZhdGFyLWxldHRlcik7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hdmF0YXItYmFja2dyb3VuZCksICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9udC0xNnB4O1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkZm9udC0xNnB4OyAvKiBlbnN1cmUgdGhlIGF2YXRhciBpcyBub3QgY29tcHJlc3NlZCAqL1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC0xNnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE2cHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgLyogR2V0IHRoZSBwb3NpdGlvbmluZyBvZiB0aGUgYXZhdGFyIGp1c3QgcmlnaHQgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGltZWxpbmUgKi9cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0wLjRyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMC4yNHJlbTtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAwLjEycmVtO1xyXG5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb250LTE2cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZm9udC0xNnB4O1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1hdmF0YXItY29sb3IsICRhdmF0YXItaW5pdGlhbC1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTAtNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnRfcGxhY2Vob2xkZXI6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogdmFyKC0tcGxhY2Vob2xkZXIpO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1d5c2l3eWdDb21wb3Nlcl9BdXRvQ29tcGxldGVXcmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAvKiBEdWUgdG8gdGhlIGZhY3QgdGhhdCBlZGl0aW5nIGEgbWVzc2FnZSBub3cgaGFzIGEgbGFyZ2VyIGFtb3VudCBvZiBncmV5XHJcbiAgICBjb2xvdXIgYWJvdmUgaXQgKGR1ZSB0byB0aGUgcmljaCB0ZXh0IGJ1dHRvbnMgYWJvdmUgdGhlIGNvbXBvc2VyKSwgd2UgbmVlZFxyXG4gICAgdG8gZ2l2ZSB0aGUgYXV0b2NvbXBsZXRlIGEgYml0IG1vcmUgdmlzdWFsIHNlcGFyYXRpb24gYnkgdXNpbmcgYSBib3JkZXIuXHJcbiAgICAqL1xyXG4gICAgPiAubXhfQXV0b2NvbXBsZXRlIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0Zvcm1hdHRpbmdCdXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBnYXA6IDhweDtcclxuXHJcbiAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnNfQnV0dG9uIHtcclxuICAgICAgICAtLXNpemU6IDI4cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19CdXR0b25faG92ZXIge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGFuZWxzO1xyXG5cclxuICAgICAgICAgICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zX0ljb24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnNfYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50LTMwMDtcclxuXHJcbiAgICAgICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zX0ljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zX2Rpc2FibGVkIHtcclxuICAgICAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnNfSWNvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnNfSWNvbiB7XHJcbiAgICAgICAgLS1zaXplOiAxNnB4O1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xyXG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0Zvcm1hdHRpbmdCdXR0b25zX1Rvb2x0aXBfS2V5Ym9hcmRTaG9ydGN1dCB7XHJcbiAgICBrYmQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IEludGVyLCBzYW5zLXNlcmlmO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTGlua01vZGFsIHtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTMyO1xyXG4gICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgIGhlaWdodDogMzQxcHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgLm14X0xpbmtNb2RhbF9jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBnYXA6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xyXG5cclxuICAgICAgICAubXhfTGlua01vZGFsX0ZpZWxkIHtcclxuICAgICAgICAgICAgZmxleDogaW5pdGlhbDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0xpbmtNb2RhbF9idXR0b25zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgICAgICAgLm14X0RpYWxvZ19idXR0b25zIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTksIDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0F2YXRhclNldHRpbmdfYXZhdGFyIHtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgbWluLXdpZHRoOiA5MHB4OyAvKiBzbyBpdCBkb2Vzbid0IGdldCBjcnVzaGVkIGJ5IHRoZSBmbGV4Ym94IGluIGxhbmd1YWdlcyB3aXRoIGxvbmdlciB3b3JkcyAqL1xyXG4gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICYubXhfQXZhdGFyU2V0dGluZ19hdmF0YXJEaXNwbGF5OmhvdmVyIC5teF9BdmF0YXJTZXR0aW5nX2hvdmVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgICYgPiAqIHtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfc20ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYgPiBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogOTBweDtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA5MHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQXZhdGFyU2V0dGluZ191cGxvYWRCdXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfQXZhdGFyU2V0dGluZ191cGxvYWRCdXR0b246aG92ZXIsXHJcbiAgICAubXhfQXZhdGFyU2V0dGluZ191cGxvYWRCdXR0b25fYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQXZhdGFyU2V0dGluZ19yZW1vdmVNZW51SXRlbSBzdmcsXHJcbi5teF9BdmF0YXJTZXR0aW5nX3JlbW92ZU1lbnVJdGVtIHNwYW4ge1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Gb250U2NhbGluZ1BhbmVsX3ByZXZpZXcge1xyXG4gICAgLS1Gb250U2NhbGluZ1BhbmVsX3ByZXZpZXctcGFkZGluZy1ibG9jazogOXB4O1xyXG5cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMCAkc3BhY2luZy0xNiB2YXIoLS1Gb250U2NhbGluZ1BhbmVsX3ByZXZpZXctcGFkZGluZy1ibG9jaykgJHNwYWNpbmctMTY7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcclxuXHJcbiAgICAmLm14X0lSQ0xheW91dCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDlweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRm9udFNjYWxpbmdQYW5lbF9Ecm9wZG93biB7XHJcbiAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAvKiBPdmVycmlkZSBkZWZhdWx0IG14X0ZpZWxkIG1hcmdpbiAqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTJ4KSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSW1hZ2VTaXplUGFuZWxfcmFkaW9zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZ2FwOiAkc3BhY2luZy0xNjtcclxuXHJcbiAgICA+IGxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDY4cHg7IC8qIGtlZXAgdGhlIGJveGVzIHNlcGFyYXRlICovXHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9JbWFnZVNpemVQYW5lbF9zaXplIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICB3aWR0aDogMjIxcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNDhweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyAvKiBtb3ZlIHJhZGlvIGJ1dHRvbiBhd2F5IGZyb20gYm90dG9tIGVkZ2UgYSBiaXQgKi9cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ludGVncmF0aW9uTWFuYWdlciB7XHJcbiAgICAubXhfRGlhbG9nX2JvcmRlciB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgIGhlaWdodDogNzAlO1xyXG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBpbml0aWFsO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2cge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICBpZnJhbWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAkc3BhY2luZy0yMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSW50ZWdyYXRpb25NYW5hZ2VyX2xvYWRpbmcsXHJcbiAgICAubXhfSW50ZWdyYXRpb25NYW5hZ2VyX2Vycm9yIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ludGVncmF0aW9uTWFuYWdlcl9lcnJvciBoMyB7XHJcbiAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0pvaW5SdWxlU2V0dGluZ3NfdXBncmFkZVJlcXVpcmVkIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgcGFkZGluZzogNHB4IDE2cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxufVxyXG5cclxuLm14X0pvaW5SdWxlU2V0dGluZ3Nfc3BhY2VzV2l0aEFjY2VzcyB7XHJcbiAgICA+IGg0IHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgID4gc3BhbiB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyAvKiBtYXRjaGVzIGhlaWdodCBvZiBhdmF0YXIgZm9yIHYtYWxpZ24gKi9cclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgKyBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSm9pblJ1bGVTZXR0aW5nc19yYWRpb0J1dHRvbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcclxuXHJcbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfU3R5bGVkUmFkaW9CdXR0b25fZGlzYWJsZWQge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1N0eWxlZFJhZGlvQnV0dG9uX2Rpc2FibGVkICsgc3BhbiB7XHJcbiAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgfVxyXG5cclxuICAgICYgKyBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM0cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgJiArIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0pvaW5SdWxlU2V0dGluZ3NfbGFiZWxsZWRDaGVja2JveCB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxufVxyXG5cclxuLm14X0pvaW5SdWxlU2V0dGluZ3NfcmVjb21tZW5kZWQge1xyXG4gICAgY29sb3I6ICRhY2NlbnQtMTAwMDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfS2V5Ym9hcmRTaG9ydGN1dCB7XHJcbiAgICBrYmQge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGtiZC1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggJGtiZC1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuQ29weXJpZ2h0IDIwMjAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc2V0dGluZ3MgZm9ybSBoYXMgYSBkZWZhdWx0IGdhcCBvZiAxMHB4XHJcbiAgICAgKiBXZSB3YW50IHRvIGhhdmUgYSBiaWdnZXIgZ2FwIGJldHdlZW4gdGhlIGxheW91dCBvcHRpb25zXHJcbiAgICAgKi9cclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KSAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcblxyXG4gICAgICAgIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvX2lubGluZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAqIDEwcHhcclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1jcGQtc3BhY2UtMngpICsgdmFyKC0tY3BkLXNwYWNlLTAtNXgpKTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvX2lubGluZSxcclxuICAgICAgICAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpb19FdmVudFRpbGVQcmV2aWV3IHtcclxuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogT3ZlcnJpZGUgdGhlIGV2ZW50IHRpbGUgc3R5bGUgdG8gbWFrZSBpdCBmaXQgaW4gdGhlIHNlbGVjdG9yXHJcbiAgICAgICAgICogVHdlYWsgYWxzbyBob3ZlciBzdHlsZSBhbmQgcmVtb3ZlIGFjdGlvbiBiYXJcclxuICAgICAgICAgKi9cclxuICAgICAgICAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpb19FdmVudFRpbGVQcmV2aWV3IHtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICAgICAqIEhpZGUgdGhlIG1lc3NhZ2Ugb3B0aW9ucyBhbmQgbWVzc2FnZSBhY3Rpb24gYmFyIGluIHRoZSBwcmV2aWV3XHJcbiAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uLFxyXG4gICAgICAgICAgICAgICAgLm14X01lc3NhZ2VBY3Rpb25CYXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNwZC1zcGFjZS0zeCkgKiAtMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAgICAgKiBBZGQgbWFyZ2luIHRvIGNlbnRlciB0aGUgYnViYmxlXHJcbiAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgICZbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgICAgICAgICAqIEFkZCB0aGUgbGF5b3V0IG1hcmdpbiBhbmQgdGhlIG1hcmdpbiB0byB2ZXJ0aWNhbGx5IGNlbnRlciB0aGUgYnViYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJltkYXRhLWxheW91dD1cImlyY1wiXSAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgLyogaGlkZSB0aGUgY29udGFpbmVyIHVzZWQgZm9yIHNwYWNpbmcgY29uc2lzdGVuY3kgKi9cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW9fc2VwYXJhdG9yIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Ob3RpZmljYXRpb25QdXNoZXJTZXR0aW5ncyB7XHJcbiAgICAubXhfTm90aWZpY2F0aW9uUHVzaGVyU2V0dGluZ3NfZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Ob3RpZmljYXRpb25QdXNoZXJTZXR0aW5nc19kZXRhaWwge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NldHRpbmdzVGFiIC5teF9Ob3RpZmljYXRpb25TZXR0aW5nczIge1xyXG4gICAgLm14X1NldHRpbmdzU2VjdGlvbl9zdWJTZWN0aW9ucyB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZ2FwOiAzMnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2V0dGluZ3NTdWJzZWN0aW9uX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICAubXhfU2V0dGluZ3NTdWJzZWN0aW9uX3RleHQge1xyXG4gICAgICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXR0aW5nc1N1YnNlY3Rpb25fY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICBnYXA6IDEycHg7XHJcbiAgICAgICAganVzdGlmeS1pdGVtczogc3RyZXRjaDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVGFnQ29tcG9zZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcblxyXG4gICAgICAgICYubXhfVGFnQ29tcG9zZXJfZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVGFnQ29tcG9zZXJfdGFncyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgICAgIGdhcDogOHB4O1xyXG5cclxuICAgICAgICAgICAgLm14X1RhZyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDEycHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGFuZWwtYWN0aW9ucztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAubXhfVGFnX2RlbGV0ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogaW5pdGlhbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTUtMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZCB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTJweCk7IC8qICsxMnB4IHRvIGxpbmUgdXAgY2VudGVyIG9mICdOb2lzeScgY29sdW1uIHdpdGggdG9nZ2xlIHN3aXRjaGVzICovXHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIHJlcGVhdCgzLCA2MnB4KTtcclxuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgZ2FwOiA4cHg7XHJcblxyXG4gICAgLyogT3ZlcnJpZGUgU3R5bGVkUmFkaW9CdXR0b24gZGVmYXVsdCBzdHlsZXMgKi9cclxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9zcGFjZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBsZWZ0IGFsaWduIHNlY3Rpb24gaGVhZGluZ1xyXG4gICAgLm14X1NldHRpbmdzU3Vic2VjdGlvbkhlYWRpbmcge1xyXG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Vc2VyTm90aWZTZXR0aW5nc19ncmlkUm93Q29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG59XHJcblxyXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZFJvdyB7XHJcbiAgICBkaXNwbGF5OiBjb250ZW50cztcclxufVxyXG5cclxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2dyaWRSb3dMYWJlbCB7XHJcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xyXG4gICAgLyogPGxlZ2VuZD4gZG9lcyBub3QgYWNjZXB0ICovXHJcbiAgICAvKiBkaXNwbGF5OiBpbmxpbmUgfCBpbmxpbmUtYmxvY2sgKi9cclxuICAgIC8qIGZvcmNlIGl0IGlubGluZSB1c2luZyBmbG9hdCAqL1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5teF9Vc2VyTm90aWZTZXR0aW5nc19ncmlkQ29sdW1uTGFiZWwge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xyXG59XHJcbi5teF9Vc2VyTm90aWZTZXR0aW5nc19ncmlkUm93RXJyb3Ige1xyXG4gICAgLyogb2NjdXB5IGZ1bGwgcm93ICovXHJcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcclxuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMCU7XHJcbiAgICAvKiBjb2xsYXBzZSBoYWxmIG9mIHRoZSBncmlkLWdhcCAqL1xyXG4gICAgbWFyZ2luLXRvcDogLSRzcGFjaW5nLTQ7XHJcbn1cclxuXHJcbi5teF9Vc2VyTm90aWZTZXR0aW5nc19mbG9hdGluZ1NlY3Rpb24ge1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbiAgICAmID4gZGl2OmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAvKiBzZWN0aW9uIGhlYWRlciAqL1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxuXHJcbiAgICA+IHRhYmxlIHtcclxuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuXHJcbiAgICAgICAgdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIC8qIEp1c3QgZm9yIGEgYml0IG9mIHNwYWNpbmcgKi9cclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2NsZWFyTm90aWZzQnV0dG9uIHtcclxuICAgIG1hcmdpbi10b3A6IDhweDtcclxufVxyXG5cclxuLm14X1RhZ0NvbXBvc2VyIHtcclxuICAgIG1hcmdpbi10b3A6IDM1cHg7IC8qIGxvdHMgb2YgZGlzdGFuY2UgZnJvbSB0aGUgbGFzdCBsaW5lIG9mIHRoZSB0YWJsZSAqL1xyXG59XHJcblxyXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9Ob3RpZmljYXRpb25Tb3VuZF9icm93c2Uge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9HZW5lcmFsVXNlclNldHRpbmdzVGFiX3NlY3Rpb24tLWRpc2NvdmVyeV9leGlzdGluZ192ZXJpZmljYXRpb24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIC5teF9GaWVsZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9QaG9uZU51bWJlcnNfaW5wdXQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9QaG9uZU51bWJlcnNfaW5wdXQgPiAubXhfRmllbGQge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG59XHJcblxyXG4ubXhfUGhvbmVOdW1iZXJzX2NvdW50cnkge1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbn1cclxuIiwiLypcclxuICogQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbiAqIENvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9Qb3dlckxldmVsU2VsZWN0b3JfQnV0dG9uIHtcclxuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5LCAyMDIwICwgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbVByb2ZpbGVTZXR0aW5ncyB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuXHJcbiAgICAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogNTRweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9GaWVsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzX3RvcGljIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XHJcblxyXG4gICAgICAgICAgICAgICAgJiA+IHRleHRhcmVhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzX3RvcGljLS1yb29tIHRleHRhcmVhIHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0ZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9Sb29tUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfY29udHJvbHNfdXNlcklkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkc3BhY2luZy0yMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyAvKiAxOHB4IGlzIGFscmVhZHkgYWNjb3VudGVkIGZvciBieSB0aGUgPHA+IGFib3ZlIHRoZSBidXR0b25zICovXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMjg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXRJbnRlZ3JhdGlvbk1hbmFnZXIge1xyXG4gICAgLm14X1NldEludGVncmF0aW9uTWFuYWdlcl9oZWFkaW5nX21hbmFnZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgY29sdW1uLWdhcDogJHNwYWNpbmctNDtcclxuICAgIH1cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR0aW5nc0ZpZWxkc2V0IHtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4ubXhfU2V0dGluZ3NGaWVsZHNldF9sZWdlbmQge1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1tZC1zZW1pYm9sZCk7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTJweDtcclxufVxyXG5cclxuLm14X1NldHRpbmdzRmllbGRzZXRfZGVzY3JpcHRpb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU2V0dGluZ3NGaWVsZHNldF9jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfU2V0dGluZ3NIZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAvKiBPdmVycmlkZSBtYXJnaW4gZnJvbSBjb21tb24ucGNzcyAqL1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cclxuICAgID4gc3BhbiB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1tZWRpdW0pO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1hY3Rpb24tYWNjZW50KTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1NldHRpbmdzSGVhZGVyX3JlY29tbWVuZGVkOjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgICAgICBjbGlwLXBhdGg6IGNpcmNsZSg0cHgpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfU2V0dGluZ3NTdWJoZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcblxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tbWVkaXVtKTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2V0dGluZ3NTdWJoZWFkZXJfc3VjY2VzcyB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXN1Y2Nlc3MtcHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzU3ViaGVhZGVyX2Vycm9yIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0V4aXN0aW5nU3BlbGxDaGVja0xhbmd1YWdlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfRXhpc3RpbmdTcGVsbENoZWNrTGFuZ3VhZ2VfbGFuZ3VhZ2Uge1xyXG4gICAgZmxleDogMTtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLm14X0dlbmVyYWxVc2VyU2V0dGluZ3NUYWJfc3BlbGxDaGVja0xhbmd1YWdlSW5wdXQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1RoZW1lQ2hvaWNlUGFuZWxfVGhlbWVTZWxlY3RvcnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8qIE92ZXJyaWRlIGZvcm0gZGVmYXVsdCBzdHlsZSAqL1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3RvciB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS0xLTV4KTtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS01eCkgdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG5cclxuICAgICAgICAmLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3Rvcl9lbmFibGVkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9UaGVtZUNob2ljZVBhbmVsX3RoZW1lU2VsZWN0b3JfZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xyXG5cclxuICAgICAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3Rvcl9MYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3Rvcl9MYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3Rvcl9kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF90aGVtZVNlbGVjdG9yX0xhYmVsIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuXHJcbiAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZV9FZGl0SW5QbGFjZSBpbnB1dDpmb2N1cyB7XHJcbiAgICAgICAgLypcclxuICAgICAgICAgKiBXaGVuIHRoZSBpbnB1dCBpcyBmb2N1c2VkLCB0aGUgYm9yZGVyIGlzIGdyb3dpbmdcclxuICAgICAgICAgKiBXZSBuZWVkIHRvIG1vdmUgaXQgYSBiaXQgdG8gYXZvaWQgdGhlIGxlZnQgYm9yZGVyIHRvIGJlIHVuZGVyIHRoZSBsZWZ0IHBhbmVsXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZUxpc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgLypcclxuICAgICAgICAgKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBwYWRkaW5nL21hcmdpbiBvZiB0aGUgbGlzdFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZUxpc3RfdGhlbWUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTIwMCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTJ4KSB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS00eCk7XHJcblxyXG4gICAgICAgICAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZUxpc3RfbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkKTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9VcGRhdGVDaGVja0J1dHRvbl9zdW1tYXJ5IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI2IEVsZW1lbnQgQ3JlYXRpb25zIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1VzZXJQZXJzb25hbEluZm9TZXR0aW5ncyB7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5LCAyMDIwICwgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVXNlclByb2ZpbGVTZXR0aW5ncyB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3NfcHJvZmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgIGdhcDogMTZweDtcclxuXHJcbiAgICAgICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9kaXNwbGF5TmFtZSB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9scyB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfY29udHJvbHNfdXNlcklkIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIC5teF9Db3B5YWJsZVRleHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9sc191c2VySWRfbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfYnV0dG9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTh4KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtOHgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX2FjY291bnRtYW5hZ2VJY29uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3NfcHJvZmlsZSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X0VuY3J5cHRpb25EZXRhaWxzLFxyXG4ubXhfT3RoZXJTZXR0aW5ncyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8qICFpbXBvcnRhbnQgb3ZlcnJpZGUgY29tcG91bmQgZm9ybSAqL1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuXHJcbiAgICAubXhfRW5jcnlwdGlvbkRldGFpbHNfc2Vzc2lvbl90aXRsZSxcclxuICAgIC5teF9PdGhlclNldHRpbmdzX3RpdGxlIHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LWxnLXNlbWlib2xkKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FbmNyeXB0aW9uRGV0YWlscyB7XHJcbiAgICAubXhfRW5jcnlwdGlvbkRldGFpbHNfc2Vzc2lvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gZGl2Om50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktMjAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0VuY3J5cHRpb25EZXRhaWxzX2J1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfQ2hhbmdlUmVjb3ZlcnlLZXkge1xyXG4gICAgLm14X0luZm9ybWF0aW9uUGFuZWxfZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQ2hhbmdlUmVjb3ZlcnlLZXlfRm9ybSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTh4KTtcclxuXHJcbiAgICAgICAgLm14X0NoYW5nZVJlY292ZXJ5S2V5X2Zvb3RlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9LZXlQYW5lbCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlOlxyXG4gICAgICAgICAgICBcImhlYWRlciBidXR0b25cIiBhdXRvXHJcbiAgICAgICAgICAgIFwiY29udGVudCBidXR0b25cIiBhdXRvIC8gMWZyO1xyXG5cclxuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIHJvdy1nYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBoZWFkZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogY29udGVudDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuXHJcbiAgICAgICAgICAgIC5teF9LZXlQYW5lbF9rZXkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRmlyYSBDb2RlXCIsIG1vbm9zcGFjZTtcclxuICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgKiBGcm9tIGZpZ21hIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9kZXNpZ24vcVRXUmZJdHBPM1JkQ2puVEtQdTRtTC9TZXR0aW5ncz9ub2RlLWlkPTM3NS03NzQ3MSZ0PXQ3bG96WXJTSTFBVlpaM1UtNFxyXG4gICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBidXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBidXR0b247XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnktYWxwaGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfS2V5Rm9ybSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTh4KTtcclxuXHJcbiAgICAgICAgLm14X0tleUZvcm1fcGFzc3dvcmQge1xyXG4gICAgICAgICAgICA+IGlucHV0W25hbWU9XCJyZWNvdmVyeUtleVwiXSB7XHJcbiAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICogRnJvbSBmaWdtYSBodHRwczovL3d3dy5maWdtYS5jb20vZGVzaWduL3FUV1JmSXRwTzNSZENqblRLUHU0bUwvU2V0dGluZ3M/bm9kZS1pZD0zNzUtNzc1MDYmdD1kODJOZFJCRG9Lc1VlMUM5LTRcclxuICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICogU2VlIGZpZ21hIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9kZXNpZ24vcVRXUmZJdHBPM1JkQ2puVEtQdTRtTC9TZXR0aW5ncz9ub2RlLWlkPTM3NS03NzUwNiZ0PWQ4Mk5kUkJEb0tzVWUxQzktNFxyXG4gICAgICAgICAgICAgICAgICogQXZvaWQgc3RyZXRjaGluZyB0aGUgaGlkZS9zaG93IHN5bWJvbCB0byB0aGUgaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYW5kIGNlbnRyZSBpdCB2ZXJ0aWNhbGx5LlxyXG4gICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0LjVweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuICogQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9FbmNyeXB0aW9uQ2FyZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTh4KTtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xMHgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIC8qIEZyb20gZmlnbWEgKi9cclxuICAgIGJveC1zaGFkb3c6IDAgMS4ycHggMi40cHggMCByZ2IoMjcsIDI5LCAzNCwgMC4xNSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xyXG5cclxuICAgIC5teF9FbmNyeXB0aW9uQ2FyZF9oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgPiBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIGV4dHJhIGNsYXNzIGZvciBzcGVjaWZ5aW5nIHRoYXQgd2UgZG9uJ3QgbmVlZCBhIGJvcmRlciAqL1xyXG4gICAgJi5teF9FbmNyeXB0aW9uQ2FyZF9ub0JvcmRlciB7XHJcbiAgICAgICAgYm9yZGVyOiAwcHggbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0VuY3J5cHRpb25DYXJkX2J1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X0VuY3J5cHRpb25DYXJkX2VtcGhhc2lzZWRDb250ZW50IHtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuICogQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9SZWNvdmVyeVBhbmVsT3V0T2ZTeW5jIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbn1cclxuIiwiLypcclxuICogQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi8vIFJlZCB0ZXh0IGZvciB0aGUgXCJEbyBub3QgY2xvc2UgdGhpcyB3aW5kb3dcIiB3YXJuaW5nXHJcbi5teF9SZXNldElkZW50aXR5UGFuZWxfd2FybmluZyB7XHJcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR0aW5nc0Jhbm5lciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc3lzdGVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gICAgZ2FwOiAxMnB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIC5teF9TZXR0aW5nc0Jhbm5lcl9jb250ZW50IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR0aW5nc0luZGVudCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMTJweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyMywgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NldHRpbmdzU2VjdGlvbiB7XHJcbiAgICAtLVNldHRpbmdzVGFiX3NlY3Rpb24tbWFyZ2luLWJvdHRvbS1wcmVmZXJlbmNlcy1sYWJzOiAzMHB4O1xyXG4gICAgLS1TZXR0aW5nc1RhYl9oZWFkaW5nX250aF9jaGlsZC1tYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgLS1TZXR0aW5nc1RhYl90b29sdGlwLW1heC13aWR0aDogMjBweDsgLyogU28gaXQgZml0cyBpbiB0aGUgc3BhY2UgcHJvdmlkZWQgYnkgdGhlIHBhZ2UgKi9cclxuXHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuXHJcbiAgICAvKiBDb21wb3VuZCBsaW5rcyBjYXJyeSBkYXRhLWtpbmQgYW5kIHByb3ZpZGUgdGhlaXIgb3duIGNvbG91ci4gKi9cclxuICAgIGE6bm90KFtkYXRhLWtpbmRdKSB7XHJcbiAgICAgICAgY29sb3I6ICRsaW5rcztcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1NldHRpbmdzU2VjdGlvbl9uZXdVaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzU2VjdGlvbl9oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TZXR0aW5nc1NlY3Rpb25fc3ViU2VjdGlvbnMge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTMyO1xyXG5cclxuICAgIG1hcmdpbjogJHNwYWNpbmctMTYgMDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2V0dGluZ3NUYWIge1xyXG4gICAgLS1TZXR0aW5nc1RhYl90b29sdGlwLW1heC13aWR0aDogMTIwcHg7IC8qIFNvIGl0IGZpdHMgaW4gdGhlIHNwYWNlIHByb3ZpZGVkIGJ5IHRoZSBwYWdlICovXHJcblxyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgLyogQ29tcG91bmQgbGlua3MgY2FycnkgZGF0YS1raW5kIGFuZCBwcm92aWRlIHRoZWlyIG93biBjb2xvdXIuICovXHJcbiAgICBhOm5vdChbZGF0YS1raW5kXSkge1xyXG4gICAgICAgIGNvbG9yOiAkbGlua3M7XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gbmV2ZXIgd2FudCBmdWxsIHdpZHRoIGJ1dHRvbnNcclxuICAgIC8vIGV2ZW50IHdoZW4gb3RoZXIgY29udGVudCBpcyAxMDAlIHdpZHRoXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgICAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ZpZWxkIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1NldHRpbmdzVGFiX3dhcm5pbmdUZXh0IHtcclxuICAgIGNvbG9yOiAkYWxlcnQ7XHJcbn1cclxuXHJcbi5teF9TZXR0aW5nc1RhYl9zdWJzZWN0aW9uVGV4dCB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA4MHB4OyAvKiBBbGlnbiB3aXRoIHRoZSByZXN0IG9mIHRoZSB2aWV3ICovXHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcclxufVxyXG5cclxuLm14X1NldHRpbmdzVGFiX3NlY3Rpb24ge1xyXG4gICAgJGVuZC1ndXR0ZXI6IDgwcHg7XHJcblxyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMjQ7XHJcblxyXG4gICAgLm14X1NldHRpbmdzRmxhZyB7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRlbmQtZ3V0dGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgIC5teF9TZXR0aW5nc0ZsYWdfbGFiZWwge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGZvbnQtNDhweCk7IC8qIEZvcmNlIHdvcmQgd3JhcCBpbnN0ZWFkIG9mIGNvbGxpZGluZyB3aXRoIHRoZSBzd2l0Y2ggKi9cclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Ub2dnbGVTd2l0Y2gge1xyXG4gICAgICAgICAgICBmbG9hdDogaW5saW5lLWVuZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBwIHtcclxuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJGVuZC1ndXR0ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9TZXR0aW5nc1RhYl9zdWJzZWN0aW9uVGV4dCAubXhfU2V0dGluZ3NGbGFnIHtcclxuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU2V0dGluZ3NUYWJfc2VjdGlvbnMge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgZ2FwOiAkc3BhY2luZy0zMjtcclxuXHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctMTY7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Ob3RpZmljYXRpb25TZXR0aW5nc1RhYl9ub3RpZmljYXRpb25zU2VjdGlvbiB7XHJcbiAgICB3aWR0aDogMzYwcHg7XHJcblxyXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIGlucHV0ICsgZGl2IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X05vdGlmaWNhdGlvblNldHRpbmdzVGFiX21pY3JvQ29weSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJmaWxlXCJdLm14X05vdGlmaWNhdGlvblNvdW5kX3NvdW5kVXBsb2FkIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIE5vcmRlY2sgSVQgKyBDb25zdWx0aW5nIEdtYkhcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl9rbm9jayB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxufVxyXG5cclxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl9jb250ZW50IHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIG1hcmdpbjogMCB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG59XHJcblxyXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX2F2YXRhciB7XHJcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuXHJcbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfbmFtZSB7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxufVxyXG5cclxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl90aW1lc3RhbXAge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG59XHJcblxyXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX3VzZXJJZCB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSk7XHJcbn1cclxuXHJcbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfc2VlTW9yZU9yTGVzcyB7XHJcbiAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS0zeCkgMCAwO1xyXG59XHJcblxyXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX2FjdGlvbiB7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICArIC5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfYWN0aW9uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl9wYXJhZ3JhcGgge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb2xlc1Jvb21TZXR0aW5nc1RhYl9iYW5uZWRMaXN0IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5teF9Sb2xlc1Jvb21TZXR0aW5nc1RhYl91bmJhbkJ0biB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NlY3VyaXR5Um9vbVNldHRpbmdzVGFiX2FkdmFuY2VkU2VjdGlvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcclxufVxyXG5cclxuLm14X1NlY3VyaXR5Um9vbVNldHRpbmdzVGFiX3dhcm5pbmcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2x1bW4tZ2FwOiAkc3BhY2luZy00O1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgY29sb3I6ICNmZjAwNjQ7IC8qIE1hdGNoIGxlZ2FjeSBpY29uIGNvbG91ciB1bnRpbCByZWRlc2lnbiAqL1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRmllbGQubXhfQXBwZWFyYW5jZVVzZXJTZXR0aW5nc1RhYl9jaGVja2JveENvbnRyb2xsZWRGaWVsZCB7XHJcbiAgICB3aWR0aDogMjU2cHg7XHJcbiAgICAvKiBMaW5lIHVwIHdpdGggU2V0dGluZ3MgZmllbGQgdG9nZ2xlIGJ1dHRvbiAqL1xyXG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcclxufVxyXG4iLCIvKlxuQ29weXJpZ2h0IDIwMjYgUExYLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG5cblBMWCBCb3RzIHNldHRpbmdzIHRhYiDigJQgTWlkbmlnaHQtdGhlbWVkIGJvdCBjYXJkcyArIGNyZWF0ZSBmb3JtLlxuU2NvcGVkIHVuZGVyIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiOyBjb2xvdXJzIHB1bGwgZnJvbSB0aGUgTWlkbmlnaHQgdG9rZW5cbmJsb2NrIGRlZmluZWQgaW4gcmVzL2Nzcy90aGVtZXMvX3BseC10ZWxlZ3JhbS5wY3NzLlxuKi9cblxuLm14X0JvdHNVc2VyU2V0dGluZ3NUYWIge1xuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2Vycm9yIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWlucHV0LCAxM3B4KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMjQsIDY5LCA3NSwgMC4xMik7IC8qIC0tZGFuZ2VyIHNvZnQgKi9cbiAgICAgICAgY29sb3I6IHZhcigtLXBseC1kYW5nZXIsICNlMDQ1NGIpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfZW1wdHksXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfZm9yYmlkZGVuIHtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1jYXJkLCAxNHB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LXBhbmVsLTIsICMyMDJiMzYpO1xuICAgICAgICBjb2xvcjogdmFyKC0tcGx4LWRpbSwgIzdmOTFhNCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAubXhfQm90c1VzZXJTZXR0aW5nc1RhYl9saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgIH1cblxuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2NhcmQge1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWNhcmQsIDE0cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtcGFuZWwtMiwgIzIwMmIzNik7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBseC1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfY2FyZEhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgfVxuXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfY2FyZElkZW50aXR5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAubXhfQm90c1VzZXJTZXR0aW5nc1RhYl9oYW5kbGUge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtYWNjZW50LCAjMmU4MGRlKTtcbiAgICB9XG5cbiAgICAubXhfQm90c1VzZXJTZXR0aW5nc1RhYl9uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQsICNmZmZmZmYpO1xuICAgIH1cblxuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2luYWN0aXZlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjI0LCA2OSwgNzUsIDAuMTYpO1xuICAgICAgICBjb2xvcjogdmFyKC0tcGx4LWRhbmdlciwgI2UwNDU0Yik7XG4gICAgfVxuXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtZGltLCAjN2Y5MWE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG5cbiAgICAubXhfQm90c1VzZXJTZXR0aW5nc1RhYl90b2tlbiB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWlucHV0LCAxM3B4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LWJnLCAjMGUxNjIxKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcGx4LWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSk7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICAgICAgY29kZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBseC1yZWFkLXRpY2ssICM4ZmQwZmYpO1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICB9XG5cbiAgICAubXhfQm90c1VzZXJTZXR0aW5nc1RhYl9jcmVhdGVGb3JtLFxuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2VkaXRGb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgIH1cblxuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2VkaXRGb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cbn1cbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9IZWxwVXNlclNldHRpbmdzVGFiX2FjY2Vzc1Rva2VuRGV0YWlscyB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0tleWJvYXJkU2hvcnRjdXRfc2hvcnRjdXRMaXN0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTQ7XHJcbn1cclxuXHJcbi5teF9LZXlib2FyZFNob3J0Y3V0X3Nob3J0Y3V0Um93LFxyXG4ubXhfS2V5Ym9hcmRTaG9ydGN1dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0tleWJvYXJkU2hvcnRjdXRfc2hvcnRjdXRSb3cge1xyXG4gICAgY29sdW1uLWdhcDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X0tleWJvYXJkU2hvcnRjdXQge1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBjb2x1bW4tZ2FwOiAkc3BhY2luZy00O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWVkaWFQcmV2aWV3QWNjb3VudFNldHRpbmdfUmFkaW8ge1xyXG4gICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMXgpIDA7XHJcbn1cclxuXHJcbi5teF9NZWRpYVByZXZpZXdBY2NvdW50U2V0dGluZyB7XHJcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG59XHJcblxyXG4ubXhfTWVkaWFQcmV2aWV3QWNjb3VudFNldHRpbmdfUmFkaW9IZWxwIHtcclxuICAgIC8qICFpbXBvcnRhbnQgYmVjYXVzZSBpdCdzIG92ZXJyaWRpbmcgY29tcG91bmQgaGVscCBtZXNzYWdlICovXHJcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG59XHJcblxyXG4ubXhfTWVkaWFQcmV2aWV3QWNjb3VudFNldHRpbmdfRm9ybSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm14X01lZGlhUHJldmlld0FjY291bnRTZXR0aW5nX1RvZ2dsZVN3aXRjaCB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZCk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Nam9sbmlyVXNlclNldHRpbmdzVGFiX2xpc3RJdGVtIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1ByZWZlcmVuY2VzVXNlclNldHRpbmdzVGFiX3NlY3Rpb25faGludCB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NlY3VyaXR5VXNlclNldHRpbmdzVGFiX2J1bGtPcHRpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgY29sdW1uLWdhcDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X1NlY3VyaXR5VXNlclNldHRpbmdzVGFiX2lnbm9yZWRVc2VycyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4ubXhfU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWJfaWdub3JlZFVzZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctNDtcclxufVxyXG5cclxuLm14X1NlY3VyaXR5VXNlclNldHRpbmdzVGFiX2lnbm9yZWRVc2VyIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X1NlY3VyaXR5VXNlclNldHRpbmdzVGFiX3dhcm5pbmcge1xyXG4gICAgY29sb3I6ICRhbGVydDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgIH1cclxufVxyXG5cclxuZm9ybS5teF9TZWN1cml0eVVzZXJTZXR0aW5nc1RhYl9wb3N0aG9nU2VjdGlvbiB7XHJcbiAgICAvKiBJbmhpYml0IGNvbXBvdW5kIHNwYWNpbmcgaGVyZSBhcyBpdCBjbGFzaGVzIHdpdGggcHJlLWNvbXBvdW5kIFVJICovXHJcbiAgICBkaXNwbGF5OiBjb250ZW50cyAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0LDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TaWRlYmFyVXNlclNldHRpbmdzVGFiX2hvbWVBbGxSb29tc0NoZWNrYm94IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xyXG5cclxuICAgICYgKyBkaXYge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0OHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU2lkZWJhclVzZXJTZXR0aW5nc1RhYl9pY29uIHtcclxuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG59XHJcblxyXG4ubXhfU2lkZWJhclVzZXJTZXR0aW5nc1RhYl9jaGVja2JveCBsYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3BhY2VCYXNpY1NldHRpbmdzIHtcclxuICAgIC5teF9GaWVsZCB7XHJcbiAgICAgICAgbWFyZ2luOiAyNHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXJDb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuXHJcbiAgICAgICAgLm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IC8qIHdoaXRlIGljb24gZmlsbCAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMThweDtcclxuICAgICAgICAgICAgY29sb3I6ICRsaW5rcztcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLm14X1NwYWNlQmFzaWNTZXR0aW5nc19hdmF0YXJfcmVtb3ZlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3BhY2VDaGlsZHJlblBpY2tlciB7XHJcbiAgICBtYXJnaW46IDE2cHggMDtcclxuXHJcbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b24gKyAubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NlYXJjaEJveCB7XHJcbiAgICAgICAgLyogVG8gbWF0Y2ggdGhlIHNwYWNlIGFyb3VuZCB0aGUgdGl0bGUgKi9cclxuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XHJcbiAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VDaGlsZHJlblBpY2tlcl9ub1Jlc3VsdHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TcGFjZUNyZWF0ZU1lbnVfd3JhcHBlciB7XHJcbiAgICAvKiBiYWNrZ3JvdW5kIGJsdXIgZXZlcnl0aGluZyBleGNlcHQgU3BhY2VQYW5lbCAqL1xyXG4gICAgLm14X0NvbnRleHR1YWxNZW51X2JhY2tncm91bmQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaWFsb2ctYmFja2Ryb3AtY29sb3I7XHJcbiAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIGxlZnQ6IDY4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NvbnRleHR1YWxNZW51IHtcclxuICAgICAgICBwYWRkaW5nOiAyNHB4O1xyXG4gICAgICAgIHdpZHRoOiA0ODBweDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICA+IGgyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xOHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlQ3JlYXRlTWVudV9iYWNrIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9JbmxpbmVUZXJtc0FncmVlbWVudF9jYkNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9JbmxpbmVUZXJtc0FncmVlbWVudF9jaGVja2JveCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuXHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQW5hbHl0aWNzVG9hc3Qge1xyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfb3V0bGluZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSW5jb21pbmdDYWxsVG9hc3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgLyogcmVzdG9yZSBwb2ludGVyIGV2ZW50cyBzbyB0aGUgdXNlciBjYW4gYWNjZXB0L2RlY2xpbmUgKi9cclxuXHJcbiAgICAubXhfSW5jb21pbmdDYWxsVG9hc3RfY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAubXhfSW5jb21pbmdDYWxsVG9hc3RfdGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuXHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0luY29taW5nQ2FsbFRvYXN0X2V4cGFuZEJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmID4gc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0luY29taW5nQ2FsbFRvYXN0X2F2YXRhcnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfSW5jb21pbmdDYWxsVG9hc3RfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9JbmNvbWluZ0NhbGxUb2FzdF9hY3Rpb25CdXR0b24ge1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEzMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyAvKiByZXN0b3JlIHBvaW50ZXIgZXZlbnRzIHNvIHRoZSB1c2VyIGNhbiBhY2NlcHQvZGVjbGluZSAqL1xyXG5cclxuICAgIC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuXHJcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF9jYWxsZXIge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuXHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuXHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiAxMnB4O1xyXG5cclxuICAgICAgICAgICAgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAbWl4aW4gTGVnYWN5Q2FsbEJ1dHRvbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9pY29uQnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X05vblVyZ2VudEVjaG9GYWlsdXJlVG9hc3Qge1xyXG4gICAgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6ICRmb250LTE4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmOyAvKiB3ZSBrbm93IHRoYXQgbm9uLXVyZ2VudCB0b2FzdHMgYXJlIGFsd2F5cyBzdHlsZWQgdGhlIHNhbWUgKi9cclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgICAvKiBpbmNsdWRlcyB0aGUgaTE4biBibG9jayAqL1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxLTIwMjMgeCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSGVhZGluZ19oMSxcclxuLm14X0hlYWRpbmdfaDIsXHJcbi5teF9IZWFkaW5nX2gzLFxyXG4ubXhfSGVhZGluZ19oNCB7XHJcbiAgICBtYXJnaW4taW5saW5lOiB1bnNldDtcclxuICAgIG1hcmdpbi1ibG9jazogdW5zZXQ7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxufVxyXG5cclxuLm14X0hlYWRpbmdfaDEge1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy14bC1zZW1pYm9sZCk7XHJcbn1cclxuXHJcbi5teF9IZWFkaW5nX2gyIHtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbGctc2VtaWJvbGQpO1xyXG59XHJcblxyXG4ubXhfSGVhZGluZ19oMyB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkKTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG59XHJcblxyXG4ubXhfSGVhZGluZ19oNCB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfZGVjaW1hbFNhcyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmctbGVmdDogM3B4O1xyXG4gICAgcGFkZGluZy1yaWdodDogM3B4O1xyXG59XHJcblxyXG4ubXhfVmVyaWZpY2F0aW9uU2hvd1Nhc19kZWNpbWFsU2FzIHNwYW4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4ubXhfVmVyaWZpY2F0aW9uU2hvd1Nhc19lbW9qaVNhcyB7XHJcbiAgICBtYXJnaW46IDI1cHggMDtcclxufVxyXG5cclxuLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfYnV0dG9uUm93IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGdhcDogOXB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSwgMjAyMiDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcbkNvcHlyaWdodCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qIGRhdGEtd2hhdGludGVudCBtYWtlcyBtb3JlIHNlbnNlIGhlcmUgc2VtYW50aWNhbGx5IGJ1dCB0aGVuIHRoZSB0b29sdGlwIHdvdWxkIHN0YXkgdmlzaWJsZSB3aXRob3V0IHRoZSBidXR0b24gKi9cclxuLyogd2hpY2ggbG9va3MgYnJva2VuLCBzbyB3ZSBtYXRjaCB0aGUgYmVoYXZpb3VyIG9mIHRvb2x0aXBzIHdoaWNoIGlzIGZpbmUgdG9vLiAqL1xyXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19oaWRkZW4ge1xyXG4gICAgb3BhY2l0eTogMC4wMDE7IC8qIG9wYWNpdHkgMCBjYW4gY2F1c2UgYSByZS1sYXlvdXQgKi9cclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zIHtcclxuICAgIC0tTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uLXNpemU6IDE2cHg7XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYm90dG9tOiAzMnB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcclxuICAgIHotaW5kZXg6IDIwMDsgLyogVG8gYmUgYWJvdmUgX2FsbF8gZmVlZHMgKi9cclxuICAgIGdhcDogMThweDtcclxuXHJcbiAgICAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbiB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC12aWV3LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggNHB4IDBweCAjMDAwMDAwMjY7IC8qIFNhbWUgb24gYm90aCB0aGVtZXMgKi9cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICAgICAgY29sb3I6ICRjYWxsLXZpZXctYnV0dG9uLW9uLWZvcmVncm91bmQ7XHJcblxyXG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfZHJvcGRvd25CdXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uLXNpemUpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLUxlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbi1zaXplKTtcclxuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX21pYyBzdmcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU3RhdGUgYnV0dG9ucyAqL1xyXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9vbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLXZpZXctYnV0dG9uLW9uLWJhY2tncm91bmQ7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjYWxsLXZpZXctYnV0dG9uLW9uLWZvcmVncm91bmQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9zY3JlZW5zaGFyaW5nIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7IC8qIFNhbWUgb24gYm90aCB0aGVtZXMgKi9cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX29mZiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLXZpZXctYnV0dG9uLW9mZi1iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY2FsbC12aWV3LWJ1dHRvbi1vZmYtZm9yZWdyb3VuZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX3NjcmVlbnNoYXJpbmcsXHJcbiAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9zaWRlYmFyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLXZpZXctYnV0dG9uLW9uLWJhY2tncm91bmQ7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNhbGwtdmlldy1idXR0b24tb24tZm9yZWdyb3VuZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBTdGF0ZSBidXR0b25zICovXHJcblxyXG4gICAgICAgIC8qIFN0YXRlbGVzcyBidXR0b25zICovXHJcbiAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX2hhbmd1cCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7IC8qIFNhbWUgb24gYm90aCB0aGVtZXMgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBTdGF0ZWxlc3MgYnV0dG9ucyAqL1xyXG5cclxuICAgICAgICAvKiBJbnZpc2libGUgc3RhdGUgKi9cclxuICAgICAgICAmLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25faW52aXNpYmxlIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBJbnZpc2libGUgc3RhdGUgKi9cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NhbGxEdXJhdGlvbiB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NhbGxWaWV3IHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIG1pbi1oZWlnaHQ6IDA7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcclxuXHJcbiAgICAubXhfQXBwVGlsZSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLWJhY2tncm91bmQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EaWFsUGFkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICByb3ctZ2FwOiAxNnB4O1xyXG4gICAgY29sdW1uLWdhcDogMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cclxuICAgIC8qIHNxdWVlemUgdGhlIGRpYWwgcGFkIGJ1dHRvbnMgdG9nZXRoZXIgaG9yaXpvbnRhbGx5ICovXHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZF9idXR0b24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkX2J1dHRvbiAubXhfRGlhbFBhZF9idXR0b25TdWJUZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogOHB4O1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZF9kaWFsQnV0dG9uIHtcclxuICAgIC8qIEFsd2F5cyBzaG93IHRoZSBkaWFsIGJ1dHRvbiBpbiB0aGUgY2VudGVyIGdyaWQgY29sdW1uICovXHJcbiAgICBncmlkLWNvbHVtbjogMjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7IC8qIG9uIGFsbCB0aGVtZXMgKi9cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9kaWFsUGFkIC5teF9EaWFsUGFkIHtcclxuICAgIHJvdy1nYXA6IDE2cHg7XHJcbiAgICBjb2x1bW4tZ2FwOiAzMnB4O1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZENvbnRleHRNZW51V3JhcHBlciB7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZENvbnRleHRNZW51X2hlYWRlciB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblxyXG4gICAgLyogYSBzZXBhcmF0b3IgYmV0d2VlbiB0aGUgaW5wdXQgbGluZSBhbmQgdGhlIGRpYWwgYnV0dG9ucyAqL1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIDAuMjVzO1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZENvbnRleHRNZW51X2NhbmNlbCB7XHJcbiAgICBAbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbjtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9oZWFkZXI6Zm9jdXMtd2l0aGluIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYWNjZW50O1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZENvbnRleHRNZW51X3RpdGxlIHtcclxuICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxufVxyXG5cclxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9kaWFsbGVkIHtcclxuICAgIGhlaWdodDogMS41ZW07XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG1hcmdpbjogMHB4O1xyXG59XHJcbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfZGlhbGxlZCBpbnB1dCB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXgtd2lkdGg6IDE4NXB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmc6IDhweCAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCwgMCk7XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfZGlhbFBhZCB7XHJcbiAgICBtYXJnaW46IDE2cHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EaWFsb2dfZGlhbFBhZFdyYXBwZXIgLm14X0RpYWxvZyB7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkTW9kYWwge1xyXG4gICAgd2lkdGg6IDI5MnB4O1xyXG4gICAgaGVpZ2h0OiAzNzBweDtcclxuICAgIHBhZGRpbmc6IDE2cHggMHB4IDBweCAwcHg7XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkTW9kYWxfaGVhZGVyIHtcclxuICAgIG1hcmdpbi10b3A6IDMycHg7XHJcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogNDBweDtcclxuXHJcbiAgICAvKiBhIHNlcGFyYXRvciBiZXR3ZWVuIHRoZSBpbnB1dCBsaW5lIGFuZCB0aGUgZGlhbCBidXR0b25zICovXHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHF1YXRlcm5hcnktY29udGVudDtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20gMC4yNXM7XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkTW9kYWxfaGVhZGVyOmZvY3VzLXdpdGhpbiB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFjY2VudDtcclxufVxyXG5cclxuLm14X0RpYWxQYWRNb2RhbF90aXRsZSB7XHJcbiAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkTW9kYWxfY2FuY2VsIHtcclxuICAgIEBtaXhpbiBjdXN0b21pc2VkQ2FuY2VsQnV0dG9uO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZE1vZGFsX2ZpZWxkIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZE1vZGFsX2ZpZWxkIC5teF9GaWVsZF9wb3N0Zml4IHtcclxuICAgIC8qIFJlbW92ZSBib3JkZXIgc2VwYXJhdG9yIGJldHdlZW4gcG9zdGZpeCBhbmQgZmllbGQgY29udGVudCAqL1xyXG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkTW9kYWxfZmllbGQgaW5wdXQge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkTW9kYWxfZGlhbFBhZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxLCAyMDIyIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuQ29weXJpZ2h0IDIwMjAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xlZ2FjeUNhbGxWaWV3IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXBhbmVsLWJnLWNvbG9yO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XHJcbiAgICAvKiBYWFg6IFBpUENvbnRhaW5lciBzZXRzIHBvaW50ZXItZXZlbnRzOiBub25lIC0gc2hvdWxkIHByb2JhYmx5IGJlIHNldCBiYWNrIGluIGEgYmV0dGVyIHBsYWNlICovXHJcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcclxuXHJcbiAgICAubXhfTGVnYWN5Q2FsbFZpZXdfdG9hc3Qge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDc0cHg7XHJcblxyXG4gICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XHJcblxyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICB6LWluZGV4OiA1MDtcclxuXHJcbiAgICAgICAgLyogU2FtZSBvbiBib3RoIHRoZW1lcyAqL1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxOTFjO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50X3dyYXBwZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygyMCUgKyAyMHB4KTsgLyogU3BhY2UgZm9yIHRoZSBzaWRlYmFyICovXHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC12aWV3LWNvbnRlbnQtYmFja2dyb3VuZDtcclxuXHJcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsVmlld19zdGF0dXMge1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogNTA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudC1mZy1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxWaWV3X2F2YXRhcnNDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsVmlld19ob2xkQmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMjBweCk7XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAwLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnRfaG9sZCAubXhfTGVnYWN5Q2FsbFZpZXdfc3RhdHVzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9yZXMvaW1nL3ZvaXAvcGF1c2VkLnN2Z1wiKTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfTGVnYWN5Q2FsbFZpZXdfcGlwICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5teF9MZWdhY3lDYWxsVmlld19zaWRlYmFyKSAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIC5teF9WaWRlb0ZlZWRfcHJpbWFyeSB7XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogdW5zZXQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfTGVnYWN5Q2FsbFZpZXdfcGlwIHtcclxuICAgICAgICB3aWR0aDogMzIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcclxuXHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggMjBweCByZ2IoMCwgMCwgMCwgMC4yKTtcclxuXHJcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMTNweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudCB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0xlZ2FjeUNhbGxWaWV3X2xhcmdlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgZmxleDogMTtcclxuXHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCk7XHJcbiAgICAgICAgLyogVGhlIGxlZnQgc2lkZSBnYXAgaXMgZnVsbHkgaGFuZGxlZCBieSB0aGlzIG1hcmdpbi4gVG8gcHJvaGliaXQgYmxlZWRpbmcgb24gd2Via2l0IGJyb3dzZXIuICovXHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpIC8gMik7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0xlZ2FjeUNhbGxWaWV3X2JlbG93V2lkZ2V0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MZWdhY3lDYWxsVmlld0ZvclJvb20ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAubXhfTGVnYWN5Q2FsbFZpZXdGb3JSb29tX1Jlc2l6ZVdyYXBwZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgICAgICY6aG92ZXIgLm14X0xlZ2FjeUNhbGxWaWV3Rm9yUm9vbV9SZXNpemVIYW5kbGUge1xyXG4gICAgICAgICAgICAvKiBOZWVkIHRvIHVzZSBpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgZWxlbWVudCBzdHlsZSBhdHRyaWJ1dGVzICovXHJcbiAgICAgICAgICAgIC8qIHNldCBieSByZS1yZXNpemFibGUgKi9cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxLCAyMDIyIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyIHtcclxuICAgIGhlaWdodDogNDRweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgJi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9waXAge1xyXG4gICAgICAgIGN1cnNvcjogZ3JhYjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX3RleHQge1xyXG4gICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9zZWNvbmRhcnlDYWxsSW5mbyB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiwrdcIjtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfY29udHJvbHMge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiA1cHg7XHJcbn1cclxuXHJcbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9idXR0b24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfY2FsbEluZm8ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfcm9vbU5hbWUge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcclxuICAgIGhlaWdodDogMTVweDtcclxuXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4ubXhfTGVnYWN5Q2FsbFZpZXdfc2Vjb25kYXJ5Q2FsbF9yb29tTmFtZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG59XHJcblxyXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTGVnYWN5Q2FsbFZpZXdTaWRlYmFyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG5cclxuICAgIHdpZHRoOiAyMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgZ2FwOiAxMnB4O1xyXG5cclxuICAgID4gLm14X1ZpZGVvRmVlZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cclxuICAgICAgICAmLm14X1ZpZGVvRmVlZF92b2ljZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZpZGVvLWZlZWQtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfTGVnYWN5Q2FsbFZpZXdTaWRlYmFyX3BpcE1vZGUge1xyXG4gICAgICAgIHRvcDogMTZweDtcclxuICAgICAgICBib3R0b206IHVuc2V0O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiA0cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxLCAyMDIyIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgLCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9WaWRlb0ZlZWQge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3JkZXI6IHRyYW5zcGFyZW50IDJweCBzb2xpZDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG4gICAgJi5teF9WaWRlb0ZlZWRfc2Vjb25kYXJ5IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDI0cHg7XHJcbiAgICAgICAgYm90dG9tOiA3MnB4O1xyXG4gICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9WaWRlb0ZlZWRfdm9pY2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnRlZC1iZy1jb2xvcjtcclxuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAmOm5vdCgubXhfVmlkZW9GZWVkX3ByaW1hcnkpIHtcclxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9WaWRlb0ZlZWRfdmlkZW8ge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuXHJcbiAgICAgICAgJi5teF9WaWRlb0ZlZWRfdmlkZW9fbWlycm9yIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9WaWRlb0ZlZWRfbWljIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNnB4O1xyXG4gICAgICAgIGJvdHRvbTogNnB4O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDAsIDAuNSk7IC8qIFNhbWUgb24gYm90aCB0aGVtZXMgKi9cclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgLyogU2FtZSBvbiBib3RoIHRoZW1lcyAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKiBGYWxsYmFjayBmb3IgSW50ZXIgcmVndWxhciAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBIZWx2ZXRpY2EgTmV1ZVwiO1xuICBzcmM6IGxvY2FsKCdIZWx2ZXRpY2EgTmV1ZScpLCBsb2NhbCgnSGVsdmV0aWNhTmV1ZScpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MS4yODgzJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNzMwMSU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNi4xMTk4JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogU2Vnb2UgVUlcIjtcbiAgc3JjOiBsb2NhbCgnU2Vnb2UgVUknKSwgbG9jYWwoJ1NlZ29lVUknKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODkuOTQxMiU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjM5NDYlO1xuICBzaXplLWFkanVzdDogMTA3LjcwOTMlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBSb2JvdG9cIjtcbiAgc3JjOiBsb2NhbCgnUm9ib3RvIFJlZ3VsYXInKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjIzODQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi40Njg2JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy4zNTQ2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogVWJ1bnR1XCI7XG4gIHNyYzogbG9jYWwoJ1VidW50dSBSZWd1bGFyJyksIGxvY2FsKCdVYnVudHUtUmVndWxhcicpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Mi4zMDI3JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuOTgyNiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNC45NTM2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogRmlyYSBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ0ZpcmEgU2FucyBSZWd1bGFyJyksIGxvY2FsKCdGaXJhU2Fucy1SZWd1bGFyJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkyLjkxMTIlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy4xMzQyJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNC4yNjYyJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ05vdG8gU2FucyBSZWd1bGFyJyksIGxvY2FsKCdOb3RvU2Fucy1SZWd1bGFyJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk2LjE1NzElO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy45NDIzJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMC43NDY2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogQXJpYWxcIjtcbiAgc3JjOiBsb2NhbCgnQXJpYWwnKSwgbG9jYWwoJ0FyaWFsTVQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTAuNDM2NSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjUxOCU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy4xMTk0JTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBIZWx2ZXRpY2EgTmV1ZVwiO1xuICBzcmM6IGxvY2FsKCdIZWx2ZXRpY2EgTmV1ZSBJdGFsaWMnKSwgbG9jYWwoJ0hlbHZldGljYU5ldWUtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjMyODUlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi40OTExJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA3LjI0NzUlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSSBJdGFsaWMnKSwgbG9jYWwoJ1NlZ29lVUktSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg3LjQyMzglO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMS43Njc4JTtcbiAgc2l6ZS1hZGp1c3Q6IDExMC44MTA4JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCI7XG4gIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODcuMjI2OSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIxLjcxODglO1xuICBzaXplLWFkanVzdDogMTExLjA2MDklO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBVYnVudHVcIjtcbiAgc3JjOiBsb2NhbCgnVWJ1bnR1IEl0YWxpYycpLCBsb2NhbCgnVWJ1bnR1LUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA4OC43MTU0JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuMDg5NCU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwOS4xOTc0JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogRmlyYSBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ0ZpcmEgU2FucyBJdGFsaWMnKSwgbG9jYWwoJ0ZpcmFTYW5zLUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MS4zMzY2JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNzQyMSU7XG4gIHNpemUtYWRqdXN0OiAxMDYuMDYzNyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IE5vdG8gU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdOb3RvIFNhbnMgSXRhbGljJyksIGxvY2FsKCdOb3RvU2Fucy1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTAuMTI2OCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjQ0MDklO1xuICBzaXplLWFkanVzdDogMTA3LjQ4NzQlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBBcmlhbFwiO1xuICBzcmM6IGxvY2FsKCdBcmlhbCBJdGFsaWMnKSwgbG9jYWwoJ0FyaWFsLUl0YWxpY01UJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg5Ljg4NSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjM4MDYlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDcuNzc2NiU7XG59XG5cblxuLyogRmFsbGJhY2sgZm9yIEludGVyIG1lZGl1bSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBIZWx2ZXRpY2EgTmV1ZVwiO1xuICBzcmM6IGxvY2FsKCdIZWx2ZXRpY2EgTmV1ZSBNZWRpdW0nKSwgbG9jYWwoJ0hlbHZldGljYU5ldWUtTWVkaXVtJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkzLjM3NjUlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy4yNSU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMy43NDY2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogU2Vnb2UgVUlcIjtcbiAgc3JjOiBsb2NhbCgnU2Vnb2UgVUkgU2VtaWJvbGQnKSwgbG9jYWwoJ1NlZ29lVUktU2VtaWJvbGQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTEuODc0NCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjg3NiU7XG4gIHNpemUtYWRqdXN0OiAxMDUuNDQyOSU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFJvYm90b1wiO1xuICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjEwOTQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi40MzY1JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy41MDgyJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogVWJ1bnR1XCI7XG4gIHNyYzogbG9jYWwoJ1VidW50dSBNZWRpdW0nKSwgbG9jYWwoJ1VidW50dS1NZWRpdW0nKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTMuNTc3MyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjMlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDMuNTI0JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogRmlyYSBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ0ZpcmEgU2FucyBNZWRpdW0nKSwgbG9jYWwoJ0ZpcmFTYW5zLU1lZGl1bScpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Mi4xNzE3JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuOTUlO1xuICBzaXplLWFkanVzdDogMTA1LjEwMjglO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBOb3RvIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnTm90byBTYW5zIE1lZGl1bScpLCBsb2NhbCgnTm90b1NhbnMtTWVkaXVtJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk2Ljc5MDMlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyNC4xJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMC4wODc1JTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBIZWx2ZXRpY2EgTmV1ZVwiO1xuICBzcmM6IGxvY2FsKCdIZWx2ZXRpY2EgTmV1ZSBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdIZWx2ZXRpY2FOZXVlLU1lZGl1bUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Mi44MTI5JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuMTA5NyU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNC4zNzY3JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogU2Vnb2UgVUlcIjtcbiAgc3JjOiBsb2NhbCgnU2Vnb2UgVUkgU2VtaWJvbGQgSXRhbGljJyksIGxvY2FsKCdTZWdvZVVJLVNlbWlib2xkSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjM0NTIlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi40OTUyJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA3LjIyNzYlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBSb2JvdG9cIjtcbiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODcuMDMxNiU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIxLjY3MDIlO1xuICBzaXplLWFkanVzdDogMTExLjMxMDIlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBVYnVudHVcIjtcbiAgc3JjOiBsb2NhbCgnVWJ1bnR1IE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1VidW50dS1NZWRpdW1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTAuNjE3MyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjU2MyU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNi45MDU2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogRmlyYSBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ0ZpcmEgU2FucyBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdGaXJhU2Fucy1NZWRpdW1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTAuMjE4MSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjQ2MzYlO1xuICBzaXplLWFkanVzdDogMTA3LjM3ODclO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBOb3RvIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnTm90byBTYW5zIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ05vdG9TYW5zLU1lZGl1bUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MS4wMTY1JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNjYyNCU7XG4gIHNpemUtYWRqdXN0OiAxMDYuNDM2NyU7XG59XG5cblxuLyogRmFsbGJhY2sgZm9yIEludGVyIHNlbWlib2xkICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEhlbHZldGljYSBOZXVlXCI7XG4gIHNyYzogbG9jYWwoJ0hlbHZldGljYSBOZXVlIEJvbGQnKSwgbG9jYWwoJ0hlbHZldGljYU5ldWUtQm9sZCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5NS40MjI4JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuNzU5NSU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMS41MjE4JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogU2Vnb2UgVUlcIjtcbiAgc3JjOiBsb2NhbCgnU2Vnb2UgVUkgQm9sZCcpLCBsb2NhbCgnU2Vnb2VVSS1Cb2xkJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk0LjQ0ODMlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy41MTY5JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMi41Njk0JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCI7XG4gIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA4OS44ODYlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi4zODA5JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy43NzU0JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogVWJ1bnR1XCI7XG4gIHNyYzogbG9jYWwoJ1VidW50dSBCb2xkJyksIGxvY2FsKCdVYnVudHUtQm9sZCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5NS40MjI4JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuNzU5NSU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMS41MjE4JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogRmlyYSBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ0ZpcmEgU2FucyBTZW1pQm9sZCcpLCBsb2NhbCgnRmlyYVNhbnMtU2VtaUJvbGQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTEuMjQ4MSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjcyJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNi4xNjY2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ05vdG8gU2FucyBTZW1pQm9sZCcpLCBsb2NhbCgnTm90b1NhbnMtU2VtaUJvbGQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTcuODA4NCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDI0LjM1MzUlO1xuICBzaXplLWFkanVzdDogOTkuMDQ1NyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEFyaWFsXCI7XG4gIHNyYzogbG9jYWwoJ0FyaWFsIEJvbGQnKSwgbG9jYWwoJ0FyaWFsLUJvbGRNVCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5NS40MTklO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy43NTg2JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAxLjUyNTklO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEhlbHZldGljYSBOZXVlXCI7XG4gIHNyYzogbG9jYWwoJ0hlbHZldGljYSBOZXVlIEJvbGQgSXRhbGljJyksIGxvY2FsKCdIZWx2ZXRpY2FOZXVlLUJvbGRJdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTQuOTU1NiU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjY0MzIlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDIuMDIxMyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFNlZ29lIFVJXCI7XG4gIHNyYzogbG9jYWwoJ1NlZ29lIFVJIEJvbGQgSXRhbGljJyksIGxvY2FsKCdTZWdvZVVJLUJvbGRJdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTMuNDA0OSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjI1NzElO1xuICBzaXplLWFkanVzdDogMTAzLjcxNTIlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBSb2JvdG9cIjtcbiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA4Ni43NTM3JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjEuNjAxJTtcbiAgc2l6ZS1hZGp1c3Q6IDExMS42NjY3JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogVWJ1bnR1XCI7XG4gIHNyYzogbG9jYWwoJ1VidW50dSBCb2xkIEl0YWxpYycpLCBsb2NhbCgnVWJ1bnR1LUJvbGRJdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTIuMzg5MyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjAwNDIlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDQuODU1MyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEZpcmEgU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdGaXJhIFNhbnMgU2VtaUJvbGQgSXRhbGljJyksIGxvY2FsKCdGaXJhU2Fucy1TZW1pQm9sZEl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA4OS4yMzA2JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuMjE3NyU7XG4gIHNpemUtYWRqdXN0OiAxMDguNTY3JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ05vdG8gU2FucyBTZW1pQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ05vdG9TYW5zLVNlbWlCb2xkSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkxLjk5NDQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi45MDU5JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNS4zMDUzJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogQXJpYWxcIjtcbiAgc3JjOiBsb2NhbCgnQXJpYWwgQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ0FyaWFsLUJvbGRJdGFsaWNNVCcpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5NC43NTQ0JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuNTkzMSU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMi4yMzglO1xufVxuIiwiOnJvb3QsIFtjbGFzcyo9XCJjcGQtdGhlbWUtXCJdIHtcbiAgLS1jcGQtc3BhY2Utc2NhbGU6IDRweDtcbiAgLS1jcGQtc3BhY2UtMHg6IDA7XG4gIC0tY3BkLXNwYWNlLTZ4OiAyNHB4O1xuICAtLWNwZC1zcGFjZS0xMHg6IDQwcHg7XG4gIC0tY3BkLXNwYWNlLTExeDogNDRweDtcbiAgLS1jcGQtc3BhY2UtMTJ4OiA0OHB4O1xuICAtLWNwZC1zcGFjZS0xNng6IDY0cHg7XG4gIC0tY3BkLXNwYWNlLTM2eDogMTQ0cHg7XG4gIC0tY3BkLXNwYWNlLTU2eDogMjI0cHg7XG4gIC0tY3BkLWJvcmRlci13aWR0aC0xOiAxcHg7XG4gIC0tY3BkLWJvcmRlci13aWR0aC0yOiAycHg7XG4gIC0tY3BkLWJvcmRlci13aWR0aC00OiA0cHg7XG4gIC0tY3BkLWJvcmRlci13aWR0aC0wLTU6IDAuNXB4O1xuICAtLWNwZC1mb250LWZhbWlseS1zYW5zOiBJbnRlciwgXCJJbnRlciBGYWxsYmFjazogSGVsdmV0aWNhIE5ldWVcIiwgXCJJbnRlciBGYWxsYmFjazogU2Vnb2UgVUlcIiwgXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCIsIFwiSW50ZXIgRmFsbGJhY2s6IFVidW50dVwiLCBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIiwgXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCIsIFwiSW50ZXIgRmFsbGJhY2s6IEFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFVidW50dSwgXCJGaXJhIFNhbnNcIiwgXCJOb3RvIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIC0tY3BkLWZvbnQtZmFtaWx5LW1vbm86IEluY29uc29sYXRhLCB1aS1tb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcjogNDAwO1xuICAtLWNwZC1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiAgLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcbiAgLS1jcGQtZm9udC1saW5lLWhlaWdodC1taW5pbXVtOiAxO1xuICAtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0OiAxLjI1O1xuICAtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXI6IDEuNTtcbiAgLS1jcGQtZm9udC1zaXplLWJvZHkteHM6IDAuNjg3NXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWJvZHktc206IDAuODEyNXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWJvZHktbWQ6IDAuOTM3NXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWJvZHktbGc6IDEuMDYyNXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWhlYWRpbmctc206IDEuMjVyZW07XG4gIC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLW1kOiAxLjVyZW07XG4gIC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLWxnOiAxLjc1cmVtO1xuICAtLWNwZC1mb250LXNpemUtaGVhZGluZy14bDogMnJlbTtcbiAgLS1jcGQtZm9udC1zaXplLXJvb3Q6IDFyZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS14czogMC4wMDQ4ZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1zbTogLTAuMDAzMWVtO1xuICAtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQ6IC0wLjAwODhlbTtcbiAgLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LWxnOiAtMC4wMTI4ZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1zbTogLTAuMDE2NmVtO1xuICAtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbWQ6IC0wLjAxOTVlbTtcbiAgLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLWxnOiAtMC4wMjA5ZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy14bDogLTAuMDIxNmVtO1xuICAtLWNwZC1zcGFjZS0wLTV4OiAycHg7XG4gIC0tY3BkLXNwYWNlLTF4OiB2YXIoLS1jcGQtc3BhY2Utc2NhbGUpO1xuICAtLWNwZC1zcGFjZS0xLTV4OiA2cHg7XG4gIC0tY3BkLXNwYWNlLTJ4OiA4cHg7XG4gIC0tY3BkLXNwYWNlLTN4OiAxMnB4O1xuICAtLWNwZC1zcGFjZS00eDogMTZweDtcbiAgLS1jcGQtc3BhY2UtNXg6IDIwcHg7XG4gIC0tY3BkLXNwYWNlLTd4OiAyOHB4O1xuICAtLWNwZC1zcGFjZS04eDogMzJweDtcbiAgLS1jcGQtc3BhY2UtOXg6IDM2cHg7XG4gIC0tY3BkLXNwYWNlLTEzeDogNTJweDtcbiAgLS1jcGQtc3BhY2UtMTR4OiA1NnB4O1xuICAtLWNwZC1zcGFjZS0xNXg6IDYwcHg7XG4gIC0tY3BkLXNwYWNlLTIweDogODBweDtcbiAgLS1jcGQtc3BhY2UtMjR4OiA5NnB4O1xuICAtLWNwZC1zcGFjZS0yOHg6IDExMnB4O1xuICAtLWNwZC1zcGFjZS0zMng6IDEyOHB4O1xuICAtLWNwZC1zcGFjZS00MHg6IDE2MHB4O1xuICAtLWNwZC1zcGFjZS00OHg6IDE5MnB4O1xuICAtLWNwZC1zcGFjZS02NHg6IDI1NnB4O1xuICAtLWNwZC1mb250LWJvZHkteHMtcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS14cykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHkteHMtbWVkaXVtOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHkteHMpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LXhzLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS14cykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktc20tcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktc20tbWVkaXVtOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1tZCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktbWQpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1tZCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktbGctcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1sZykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWJvZHktbGctbWVkaXVtOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktbGcpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LWxnLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1sZykvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmctc20tcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy1zbSkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLXNtLW1lZGl1bTogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LW1lZGl1bSkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXNtKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmctc20tc2VtaWJvbGQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXNtKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmctbWQtcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy1tZCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy1tZCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLWxnLXJlZ3VsYXI6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmctbGcpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy1sZy1zZW1pYm9sZDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmctbGcpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy14bC1yZWd1bGFyOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXhsKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmcteGwtc2VtaWJvbGQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXhsKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xufVxuIiwiOnJvb3QsIFtjbGFzcyo9XCJjcGQtdGhlbWUtXCJdIHtcbiAgLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xNDAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTkwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTgwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtYWN0aW9uLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTE0MDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWFjdGlvbi1hY2NlbnQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWxpbmstZXh0ZXJuYWw6IHZhcigtLWNwZC1jb2xvci1ibHVlLTExMDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1yZWQtOTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1zdWNjZXNzLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWluZm8tcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLWJsdWUtMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTE6IHZhcigtLWNwZC1jb2xvci1saW1lLTExMDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMjogdmFyKC0tY3BkLWNvbG9yLWN5YW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0zOiB2YXIoLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTQ6IHZhcigtLWNwZC1jb2xvci1wdXJwbGUtMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS01OiB2YXIoLS1jcGQtY29sb3ItcGluay0xMTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTY6IHZhcigtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtYmFkZ2UtYWNjZW50OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtYmFkZ2UtaW5mbzogdmFyKC0tY3BkLWNvbG9yLWJsdWUtMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xNDAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktaG92ZXJlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMTIwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXByZXNzZWQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTExMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktNzAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1yZXN0OiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktcHJlc3NlZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXRlcnRpYXJ5LXJlc3Q6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi10ZXJ0aWFyeS1ob3ZlcmVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tdGVydGlhcnktc2VsZWN0ZWQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1yZWQtOTAwKTtcbiAgLS1jcGQtY29sb3ItYmctY3JpdGljYWwtaG92ZXJlZDogdmFyKC0tY3BkLWNvbG9yLXJlZC0xMDAwKTtcbiAgLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlOiB2YXIoLS1jcGQtY29sb3ItcmVkLTIwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZS1ob3ZlcmVkOiB2YXIoLS1jcGQtY29sb3ItcmVkLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1Y2Nlc3Mtc3VidGxlOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMjAwKTtcbiAgLS1jcGQtY29sb3ItYmctaW5mby1zdWJ0bGU6IHZhcigtLWNwZC1jb2xvci1ibHVlLTIwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtMTogdmFyKC0tY3BkLWNvbG9yLWxpbWUtMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS0yOiB2YXIoLS1jcGQtY29sb3ItY3lhbi0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTM6IHZhcigtLWNwZC1jb2xvci1mdWNoc2lhLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtNDogdmFyKC0tY3BkLWNvbG9yLXB1cnBsZS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTU6IHZhcigtLWNwZC1jb2xvci1waW5rLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtNjogdmFyKC0tY3BkLWNvbG9yLW9yYW5nZS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTAwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjY2VudC1wcmVzc2VkOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjY2VudC1zZWxlY3RlZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWJhZGdlLWFjY2VudDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTQwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWJhZGdlLWluZm86IHZhcigtLWNwZC1jb2xvci1ibHVlLTQwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWJhZGdlLWRlZmF1bHQ6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWJnLWJhZGdlLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTE0MDApO1xuICAtLWNwZC1jb2xvci1iZy1iYWRnZS1zZWNvbmRhcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWJhZGdlLWNyaXRpY2FsOiB2YXIoLS1jcGQtY29sb3ItcmVkLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1kaXNhYmxlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktNTAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQ6IHZhcigtLWNwZC1jb2xvci1ibHVlLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS04MDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS02MDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItcmVkLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1ob3ZlcmVkOiB2YXIoLS1jcGQtY29sb3ItcmVkLTEwMDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtc3VidGxlOiB2YXIoLS1jcGQtY29sb3ItcmVkLTUwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1zdWNjZXNzLXN1YnRsZTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1pbmZvLXN1YnRsZTogdmFyKC0tY3BkLWNvbG9yLWJsdWUtNzAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWFjY2VudC1zdWJ0bGU6IHZhcigtLWNwZC1jb2xvci1ncmVlbi03MDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItYWNjZW50LXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTE0MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktODAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1xdWF0ZXJuYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS03MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWRpc2FibGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS03MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXByaW1hcnktYWxwaGE6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTE0MDApO1xuICAtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeS1hbHBoYTogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeS1hbHBoYTogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1xdWF0ZXJuYXJ5LWFscGhhOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTgwMCk7XG4gIC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1yZWQtOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWluZm8tcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLWJsdWUtMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3AxOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3AyOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNDAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3AzOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3A0OiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMjAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3A1OiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3A2OiB2YXIoLS1jcGQtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1pbmZvLXN0b3AxOiB2YXIoLS1jcGQtY29sb3ItYmx1ZS0yMDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1pbmZvLXN0b3AyOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1jcml0aWNhbC1zdG9wMTogdmFyKC0tY3BkLWNvbG9yLXJlZC0yMDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1jcml0aWNhbC1zdG9wMjogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3Itc2VwYXJhdG9yLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gIC0tY3BkLWNvbG9yLXNlcGFyYXRvci1zZWNvbmRhcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LXN1YnRsZS1saW5lYXI6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1zdWJ0bGUtc3RvcDEpIDAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3AyKSAyMCUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1zdWJ0bGUtc3RvcDMpIDQwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LXN1YnRsZS1zdG9wNCkgNjAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3A1KSA4MCUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1zdWJ0bGUtc3RvcDYpIDEwMCUpO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1pbmZvLWxpbmVhcjogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWluZm8tc3RvcDEpIDAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtaW5mby1zdG9wMikgMTAwJSk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWNyaXRpY2FsLWxpbmVhcjogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWNyaXRpY2FsLXN0b3AxKSAwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWNyaXRpY2FsLXN0b3AyKSAxMDAlKTtcbn1cbiIsIi5jcGQtdGhlbWUtbGlnaHQuY3BkLXRoZW1lLWxpZ2h0IHtcbiAgLS1jcGQtY29sb3ItdGhlbWUtYmc6ICNmZmZmZmY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwOiAjZmJmY2ZkO1xuICAtLWNwZC1jb2xvci1ncmF5LTIwMDogI2Y3ZjlmYTtcbiAgLS1jcGQtY29sb3ItZ3JheS0zMDA6ICNmMGYyZjU7XG4gIC0tY3BkLWNvbG9yLWdyYXktNDAwOiAjZTFlNmVjO1xuICAtLWNwZC1jb2xvci1ncmF5LTUwMDogI2NkZDNkYTtcbiAgLS1jcGQtY29sb3ItZ3JheS02MDA6ICNiZGM0Y2M7XG4gIC0tY3BkLWNvbG9yLWdyYXktNzAwOiAjYTZhZGI3O1xuICAtLWNwZC1jb2xvci1ncmF5LTgwMDogIzgxOGE5NTtcbiAgLS1jcGQtY29sb3ItZ3JheS05MDA6ICM2NTZkNzc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwMDogIzU5NWU2NztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMTAwOiAjNGM1MTU4O1xuICAtLWNwZC1jb2xvci1ncmF5LTEyMDA6ICMzYzQwNDU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTMwMDogIzJiMmQzMjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xNDAwOiAjMWIxZDIyO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwOiAjZmZmYWY5O1xuICAtLWNwZC1jb2xvci1yZWQtMjAwOiAjZmZmN2Y2O1xuICAtLWNwZC1jb2xvci1yZWQtMzAwOiAjZmZlZmVjO1xuICAtLWNwZC1jb2xvci1yZWQtNDAwOiAjZmZkZmRhO1xuICAtLWNwZC1jb2xvci1yZWQtNTAwOiAjZmZjNWJjO1xuICAtLWNwZC1jb2xvci1yZWQtNjAwOiAjZmZhZmE1O1xuICAtLWNwZC1jb2xvci1yZWQtNzAwOiAjZmY4YzgxO1xuICAtLWNwZC1jb2xvci1yZWQtODAwOiAjZmYzZDNkO1xuICAtLWNwZC1jb2xvci1yZWQtOTAwOiAjZDUxOTI4O1xuICAtLWNwZC1jb2xvci1yZWQtMTAwMDogI2JjMGYyMjtcbiAgLS1jcGQtY29sb3ItcmVkLTExMDA6ICNhNDA0MWQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMjAwOiAjODUwMDA2O1xuICAtLWNwZC1jb2xvci1yZWQtMTMwMDogIzYyMDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTE0MDA6ICM0NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDA6ICNmZmZhZjc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0yMDA6ICNmZmY2ZWY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0zMDA6ICNmZmVmZTQ7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS00MDA6ICNmZmRmYzg7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS01MDA6ICNmZmM4YTE7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS02MDA6ICNmZGIzN2M7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS03MDA6ICNmODk0NDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS04MDA6ICNkYzY3MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS05MDA6ICNiYzQ1MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDAwOiAjYWMzMzAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMDogIzliMjIwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEyMDA6ICM4NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMzAwOiAjNjIwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTQwMDogIzQ1MDAwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDogI2ZmZmNmMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTIwMDogI2ZmZjhlMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTMwMDogI2ZmZjJjMTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTQwMDogI2ZmZTQ4NDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTUwMDogI2ZiY2UwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTYwMDogI2YxYmQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTcwMDogI2RlYTIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTgwMDogI2JlN2EwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTkwMDogIzlmNWIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDA6ICM4ZjRkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMTAwOiAjODAzZjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTIwMDogIzY5MmUwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEzMDA6ICM1NDFhMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xNDAwOiAjNDEwNjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDogI2Y4ZmRmNjtcbiAgLS1jcGQtY29sb3ItbGltZS0yMDA6ICNmMWZjZWU7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMzAwOiAjZTBmOGQ5O1xuICAtLWNwZC1jb2xvci1saW1lLTQwMDogI2M4ZjFiYTtcbiAgLS1jcGQtY29sb3ItbGltZS01MDA6ICM5OWU1N2U7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNjAwOiAjNzZkYjRjO1xuICAtLWNwZC1jb2xvci1saW1lLTcwMDogIzU0YzQyNDtcbiAgLS1jcGQtY29sb3ItbGltZS04MDA6ICMzNTlkMTg7XG4gIC0tY3BkLWNvbG9yLWxpbWUtOTAwOiAjMTk3ZDBjO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDA6ICMwMDZlMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTEwMDogIzAwNWYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMjAwOiAjMDA0YjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEzMDA6ICMwMDM2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTQwMDogIzAwMjQwMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwOiAjZjhmZGZiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0yMDA6ICNmMWZiZjY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTMwMDogI2UzZjdlZDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNDAwOiAjYzZlZWRiO1xuICAtLWNwZC1jb2xvci1ncmVlbi01MDA6ICM5OGUxYzE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTYwMDogIzcxZDdhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNzAwOiAjMGJjNDkxO1xuICAtLWNwZC1jb2xvci1ncmVlbi04MDA6ICMwMDliNzg7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTkwMDogIzAwN2E2MTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwMDogIzAwNmI1MjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTEwMDogIzAwNWM0NTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTIwMDogIzAwNDkzMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTMwMDogIzAwMzQyMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTQwMDogIzAwMjMxMTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDA6ICNmOGZkZmQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMjAwOiAjZjFmYWZiO1xuICAtLWNwZC1jb2xvci1jeWFuLTMwMDogI2UzZjVmODtcbiAgLS1jcGQtY29sb3ItY3lhbi00MDA6ICNjN2VjZjA7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNTAwOiAjOWJkZGU1O1xuICAtLWNwZC1jb2xvci1jeWFuLTYwMDogIzc2ZDFkZDtcbiAgLS1jcGQtY29sb3ItY3lhbi03MDA6ICMxNWJlY2Y7XG4gIC0tY3BkLWNvbG9yLWN5YW4tODAwOiAjMDA5NGMwO1xuICAtLWNwZC1jb2xvci1jeWFuLTkwMDogIzAwNzJhYztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDAwOiAjMDA2MjljO1xuICAtLWNwZC1jb2xvci1jeWFuLTExMDA6ICMwMDU0OGM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTIwMDogIzAwNDA3NztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMzAwOiAjMDAyYjYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTE0MDA6ICMwMDE5NGY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwOiAjZjlmY2ZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTIwMDogI2Y0ZjhmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0zMDA6ICNlOWYyZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNDAwOiAjZDhlN2ZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTUwMDogI2JhZDVmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS02MDA6ICNhM2M2ZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNzAwOiAjN2VhZmY2O1xuICAtLWNwZC1jb2xvci1ibHVlLTgwMDogIzQwODhlZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS05MDA6ICMwNDY3ZGQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwMDogIzA1NThjNztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMTAwOiAjMDY0YWIxO1xuICAtLWNwZC1jb2xvci1ibHVlLTEyMDA6ICMwNDM4OTQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTMwMDogIzAxMjQ3ODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xNDAwOiAjMDAwZTY1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwOiAjZmJmYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMjAwOiAjZjhmN2ZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMzAwOiAjZjFlZmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNDAwOiAjZTZlMmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNTAwOiAjZDRjZGZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNjAwOiAjYzViYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNzAwOiAjYjFhMGZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtODAwOiAjOTI3MWZkO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtOTAwOiAjN2E0N2YxO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwMDogIzZiMzdkZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTExMDA6ICM1ZDI2Y2Q7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMjAwOiAjNGMwNWI1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTMwMDogIzMzMDA4ZDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTE0MDA6ICMyMDAwNjY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwOiAjZmVmYWZlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTIwMDogI2ZjZjVmZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0zMDA6ICNmYWVlZmI7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNDAwOiAjZjZkZmY3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTUwMDogI2VkYzZmMDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS02MDA6ICNlN2IyZWE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNzAwOiAjZGI5M2UxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTgwMDogI2M4NWVkMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS05MDA6ICNhZDMzYmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwMDogIzk3MmFhYTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwOiAjODIyMTk4O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEyMDA6ICM2NzE0ODE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTMwMDogIzRlMDA2ODtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xNDAwOiAjMzQwMDRjO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDogI2ZmZmFmYjtcbiAgLS1jcGQtY29sb3ItcGluay0yMDA6ICNmZmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMzAwOiAjZmZlY2YwO1xuICAtLWNwZC1jb2xvci1waW5rLTQwMDogI2ZmZGVlNTtcbiAgLS1jcGQtY29sb3ItcGluay01MDA6ICNmZmMyY2Y7XG4gIC0tY3BkLWNvbG9yLXBpbmstNjAwOiAjZmZhZGMwO1xuICAtLWNwZC1jb2xvci1waW5rLTcwMDogI2ZmODhhNjtcbiAgLS1jcGQtY29sb3ItcGluay04MDA6ICNmNzQwN2Q7XG4gIC0tY3BkLWNvbG9yLXBpbmstOTAwOiAjZDIwYzY1O1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDA6ICNiODBhNWI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTEwMDogIzlmMDg1MDtcbiAgLS1jcGQtY29sb3ItcGluay0xMjAwOiAjN2UwNjQyO1xuICAtLWNwZC1jb2xvci1waW5rLTEzMDA6ICM1ZjAwMmI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTQwMDogIzQzMDAxNztcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDA6IGhzbGEoMjEwLCA0OCUsIDQxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMjAwOiBoc2xhKDIwMCwgNDElLCAzNiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMDogaHNsYSgyMTYsIDg5JSwgMTglLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDA6IGhzbGEoMjEzLCA5MCUsIDIwJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNTAwOiBoc2xhKDIxMiwgODclLCAxNSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxMiwgOTclLCAxMiUsIDAuMjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTUsIDk2JSwgMTAlLCAwLjM1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjEzLCA4NyUsIDklLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMTMsIDgzJSwgNyUsIDAuNjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjE4LCA3OSUsIDYlLCAwLjY2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxNSwgNzQlLCA1JSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTMsIDczJSwgMyUsIDAuNzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjI1LCA1NyUsIDMlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIyMywgNjQlLCAyJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsYSgxMCwgMTAwJSwgNjElLCAwLjAzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsYSg3LCAxMDAlLCA1NiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2xhKDksIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbGEoOCwgMTAwJSwgNTIlLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsYSg4LCAxMDAlLCA1MSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDcsIDEwMCUsIDUxJSwgMC4zNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoNSwgMTAwJSwgNTElLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDAsIDEwMCUsIDUxJSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbGEoMzU1LCA5OCUsIDQxJSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2xhKDM1MywgOTglLCAzNyUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsYSgzNTAsIDk5JSwgMzIlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEyMDA6IGhzbCgzNTcsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2xhKDIyLCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2xhKDI2LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2xhKDI0LCAxMDAlLCA1MiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2xhKDI1LCAxMDAlLCA1MSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2xhKDI1LCAxMDAlLCA1MCUsIDAuMzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2xhKDI2LCA5OCUsIDUwJSwgMC41Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMjcsIDEwMCUsIDQ4JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbCgyOCwgMTAwJSwgNDMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsKDIyLCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsKDE4LCAxMDAlLCAzNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTEwMDogaHNsKDEzLCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsKDAsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2xhKDQ4LCAxMDAlLCA1MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2xhKDQ2LCAxMDAlLCA1MyUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuMjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuNDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woNDksIDEwMCUsIDQ5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbCg0NywgMTAwJSwgNDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDQ0LCAxMDAlLCA0NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzksIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCgzNCwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbCgzMiwgMTAwJSwgMjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbCgzMCwgMTAwJSwgMjUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCgyNiwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCgxOSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg2LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsYSgxMDMsIDc1JSwgNDYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbGEoMTA3LCA4OSUsIDQ0JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2xhKDEwNywgOTglLCA0MSUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsYSgxMDUsIDkyJSwgNDIlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbGEoMTA0LCA5OCUsIDQwJSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2xhKDEwMiwgOTclLCA0MSUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMDIsIDEwMCUsIDM3JSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDEwNywgOTklLCAyOSUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMTMsIDk3JSwgMjQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2woMTIwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbCgxMjAsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMzAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbCgxMjAsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2xhKDE1NiwgNzklLCA0MSUsIDAuMDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbGEoMTUwLCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMDogaHNsYSgxNTAsIDEwMCUsIDM2JSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsYSgxNTEsIDkzJSwgMzclLCAwLjIzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2xhKDE1NCwgOTYlLCAzNyUsIDAuNDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbGEoMTU2LCA5OSUsIDM2JSwgMC41Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsYSgxNjMsIDk5JSwgMzglLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2woMTY2LCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbCgxNjgsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbCgxNjYsIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbCgxNjIsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbCgxNTcsIDEwMCUsIDEwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbCgxNDksIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbGEoMTgwLCA3OSUsIDQxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2xhKDE4NiwgNzklLCA0MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsYSgxODgsIDEwMCUsIDM4JSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2xhKDE4NiwgMTAwJSwgMzclLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbGEoMTg2LCA5NSUsIDM4JSwgMC40KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbGEoMTg3LCA5OSUsIDM4JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2xhKDE4NiwgOTklLCA0MCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5NCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbCgyMDAsIDEwMCUsIDM0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsKDIwMiwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2woMjA0LCAxMDAlLCAyOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbCgyMDgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsKDIxMywgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2woMjIxLCAxMDAlLCAxNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsYSgyMTAsIDEwMCUsIDYxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2xhKDIxOCwgMTAwJSwgNTclLCAwLjA1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbGEoMjE1LCAxMDAlLCA1MiUsIDAuMDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMTYsIDk1JSwgNTElLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE1LCA5MyUsIDUwJSwgMC4yOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNiwgOTUlLCA0OCUsIDAuMzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDk4JSwgNDclLCAwLjUxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjE1LCAxMDAlLCA0NiUsIDAuNzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTMsIDk5JSwgNDQlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxNCwgOTglLCAzOSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjE2LCA5OSUsIDM1JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMTgsIDk5JSwgMjklLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2woMjIyLCA5OCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIzMiwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDogaHNsYSgyNDAsIDEwMCUsIDYxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0yMDA6IGhzbGEoMjQ4LCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2xhKDI0OCwgMTAwJSwgNTUlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTQwMDogaHNsYSgyNDgsIDEwMCUsIDUzJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS01MDA6IGhzbGEoMjQ4LCAxMDAlLCA1MSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjQ5LCAxMDAlLCA1MSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1MSwgMTAwJSwgNTElLCAwLjM4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTQsIDk5JSwgNDklLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsYSgyNTgsIDk4JSwgNDclLCAwLjczKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjU5LCA5OCUsIDQyJSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2xhKDI2MCwgOTclLCAzOSUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTIwMDogaHNsYSgyNjQsIDk4JSwgMzYlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEzMDA6IGhzbCgyNjIsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xNDAwOiBoc2woMjU5LCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDogaHNsYSgzMDAsIDk1JSwgNDElLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0yMDA6IGhzbGEoMjkzLCA5NSUsIDQxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMzAwOiBoc2xhKDI5NSwgODklLCA0MSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTQwMDogaHNsYSgyOTgsIDkxJSwgNDAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS01MDA6IGhzbGEoMjk2LCA5MyUsIDM5JSwgMC4yMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI5NywgOTMlLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTcwMDogaHNsYSgyOTUsIDk2JSwgMzclLCAwLjQzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk1LCA5NyUsIDM3JSwgMC42NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI5MywgMTAwJSwgMzQlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjkxLCA5OSUsIDMwJSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyODksIDk2JSwgMjglLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI4NiwgOTclLCAyNCUsIDAuOTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbCgyODUsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsKDI4MSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsYSgzNDgsIDEwMCUsIDUxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2xhKDM0NywgMTAwJSwgNTQlLCAwLjA4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MCUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzNDcsIDEwMCUsIDUwJSwgMC4yNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDM0NiwgMTAwJSwgNTElLCAwLjMzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzQ1LCAxMDAlLCA1MCUsIDAuNDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzNDAsIDEwMCUsIDQ4JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDMzMywgOTglLCA0MSUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbGEoMzMyLCA5OCUsIDM2JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsYSgzMzEsIDEwMCUsIDMxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsYSgzMzAsIDk4JSwgMjQlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzMzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzMzksIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLXRyYW5zcGFyZW50OiByZ2JhKDAsMCwwLDApO1xufVxuIiwiOnJvb3Qge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogI2ZmZmZmZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICNmYmZjZmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjZjdmOWZhO1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogI2YwZjJmNTtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICNlMWU2ZWM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjY2RkM2RhO1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogI2JkYzRjYztcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICNhNmFkYjc7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjODE4YTk1O1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzY1NmQ3NztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjNTk1ZTY3O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICM0YzUxNTg7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogIzNjNDA0NTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjMmIyZDMyO1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICMxYjFkMjI7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICNmZmZhZjk7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICNmZmY3ZjY7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICNmZmVmZWM7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICNmZmRmZGE7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICNmZmM1YmM7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICNmZmFmYTU7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNmZjhjODE7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNmZjNkM2Q7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNkNTE5Mjg7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjYmMwZjIyO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2E0MDQxZDtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICM4NTAwMDY7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjNjIwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogIzQ1MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogI2ZmZmFmNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogI2ZmZjZlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogI2ZmZWZlNDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogI2ZmZGZjODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogI2ZmYzhhMTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogI2ZkYjM3YztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2Y4OTQ0MDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2RjNjcwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2JjNDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNhYzMzMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjOWIyMjAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogIzg1MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICM2MjAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjNDUwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjZmZmY2YwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjZmZmOGUwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjZmZmMmMxO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjZmZlNDg0O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjZmJjZTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjZjFiZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjZGVhMjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYmU3YTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjOWY1YjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogIzhmNGQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICM4MDNmMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjNjkyZTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogIzU0MWEwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICM0MTA2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjZjhmZGY2O1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogI2YxZmNlZTtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICNlMGY4ZDk7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjYzhmMWJhO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzk5ZTU3ZTtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICM3NmRiNGM7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjNTRjNDI0O1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzM1OWQxODtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMxOTdkMGM7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzAwNmUwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjMDA1ZjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICMwMDRiMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogIzAwMzYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjMDAyNDAwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICNmOGZkZmI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogI2YxZmJmNjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjZTNmN2VkO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICNjNmVlZGI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzk4ZTFjMTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjNzFkN2FlO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwYmM0OTE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwOWI3ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMDA3YTYxO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMDA2YjUyO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMDA1YzQ1O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjMDA0OTMzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjMDAzNDIwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjMDAyMzExO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogI2Y4ZmRmZDtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICNmMWZhZmI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjZTNmNWY4O1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogI2M3ZWNmMDtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICM5YmRkZTU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjNzZkMWRkO1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzE1YmVjZjtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDk0YzA7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA3MmFjO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMDYyOWM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzAwNTQ4YztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjMDA0MDc3O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICMwMDJiNjE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogIzAwMTk0ZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICNmOWZjZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjZjRmOGZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogI2U5ZjJmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICNkOGU3ZmU7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjYmFkNWZjO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogI2EzYzZmYTtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICM3ZWFmZjY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjNDA4OGVlO1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzA0NjdkZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjMDU1OGM3O1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICMwNjRhYjE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogIzA0Mzg5NDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjMDEyNDc4O1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICMwMDBlNjU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICNmYmZiZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICNmOGY3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICNmMWVmZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICNlNmUyZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICNkNGNkZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICNjNWJiZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICNiMWEwZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM5MjcxZmQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM3YTQ3ZjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjNmIzN2RlO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogIzVkMjZjZDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICM0YzA1YjU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjMzMwMDhkO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogIzIwMDA2NjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICNmZWZhZmU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjZmNmNWZkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogI2ZhZWVmYjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICNmNmRmZjc7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjZWRjNmYwO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogI2U3YjJlYTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNkYjkzZTE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYzg1ZWQxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2FkMzNiZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjOTcyYWFhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICM4MjIxOTg7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogIzY3MTQ4MTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjNGUwMDY4O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICMzNDAwNGM7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjZmZmYWZiO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogI2ZmZjVmNztcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICNmZmVjZjA7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjZmZkZWU1O1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogI2ZmYzJjZjtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICNmZmFkYzA7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjZmY4OGE2O1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2Y3NDA3ZDtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNkMjBjNjU7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2I4MGE1YjtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjOWYwODUwO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICM3ZTA2NDI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogIzVmMDAyYjtcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjNDMwMDE3O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMTAsIDQ4JSwgNDElLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjAwLCA0MSUsIDM2JSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDIxNiwgODklLCAxOCUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyMTMsIDkwJSwgMjAlLCAwLjEyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjEyLCA4NyUsIDE1JSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjEyLCA5NyUsIDEyJSwgMC4yNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNzAwOiBoc2xhKDIxNSwgOTYlLCAxMCUsIDAuMzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTgwMDogaHNsYSgyMTMsIDg3JSwgOSUsIDAuNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktOTAwOiBoc2xhKDIxMywgODMlLCA3JSwgMC42MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwMDogaHNsYSgyMTgsIDc5JSwgNiUsIDAuNjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTExMDA6IGhzbGEoMjE1LCA3NCUsIDUlLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxMywgNzMlLCAzJSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMjUsIDU3JSwgMyUsIDAuODQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTE0MDA6IGhzbGEoMjIzLCA2NCUsIDIlLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwOiBoc2xhKDEwLCAxMDAlLCA2MSUsIDAuMDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMjAwOiBoc2xhKDcsIDEwMCUsIDU2JSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbGEoOSwgMTAwJSwgNTQlLCAwLjA4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsYSg4LCAxMDAlLCA1MiUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNTAwOiBoc2xhKDgsIDEwMCUsIDUxJSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbGEoNywgMTAwJSwgNTElLCAwLjM2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSg1LCAxMDAlLCA1MSUsIDAuNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMCwgMTAwJSwgNTElLCAwLjc3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTkwMDogaHNsYSgzNTUsIDk4JSwgNDElLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbGEoMzUzLCA5OCUsIDM3JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMTAwOiBoc2xhKDM1MCwgOTklLCAzMiUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDM1NywgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCgwLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbGEoMjIsIDEwMCUsIDYxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0yMDA6IGhzbGEoMjYsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbGEoMjQsIDEwMCUsIDUyJSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbGEoMjUsIDEwMCUsIDUxJSwgMC4yMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS01MDA6IGhzbGEoMjUsIDEwMCUsIDUwJSwgMC4zNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS02MDA6IGhzbGEoMjYsIDk4JSwgNTAlLCAwLjUyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTcwMDogaHNsYSgyNywgMTAwJSwgNDglLCAwLjc1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTgwMDogaHNsKDI4LCAxMDAlLCA0MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtOTAwOiBoc2woMjIsIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2woMTgsIDEwMCUsIDM0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2woMTMsIDEwMCUsIDMwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMjAwOiBoc2woMCwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgwLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTQwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDA6IGhzbGEoNDgsIDEwMCUsIDUxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbGEoNDYsIDEwMCUsIDUzJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0zMDA6IGhzbGEoNDcsIDEwMCUsIDUxJSwgMC4yNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy00MDA6IGhzbGEoNDcsIDEwMCUsIDUxJSwgMC40OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy01MDA6IGhzbCg0OSwgMTAwJSwgNDklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTYwMDogaHNsKDQ3LCAxMDAlLCA0NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNzAwOiBoc2woNDQsIDEwMCUsIDQ0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy04MDA6IGhzbCgzOSwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTkwMDogaHNsKDM0LCAxMDAlLCAzMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwMDogaHNsKDMyLCAxMDAlLCAyOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTEwMDogaHNsKDMwLCAxMDAlLCAyNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTIwMDogaHNsKDI2LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDE5LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTQwMDogaHNsKDYsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwOiBoc2xhKDEwMywgNzUlLCA0NiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTIwMDogaHNsYSgxMDcsIDg5JSwgNDQlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0zMDA6IGhzbGEoMTA3LCA5OCUsIDQxJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNDAwOiBoc2xhKDEwNSwgOTIlLCA0MiUsIDAuMjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTUwMDogaHNsYSgxMDQsIDk4JSwgNDAlLCAwLjUxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS02MDA6IGhzbGEoMTAyLCA5NyUsIDQxJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNzAwOiBoc2xhKDEwMiwgMTAwJSwgMzclLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS04MDA6IGhzbGEoMTA3LCA5OSUsIDI5JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtOTAwOiBoc2xhKDExMywgOTclLCAyNCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDA6IGhzbCgxMjAsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTEwMDogaHNsKDEyMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMjAwOiBoc2woMTIwLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbCgxMjAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTQwMDogaHNsKDEyMCwgMTAwJSwgNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDA6IGhzbGEoMTU2LCA3OSUsIDQxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTIwMDogaHNsYSgxNTAsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2xhKDE1MCwgMTAwJSwgMzYlLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNDAwOiBoc2xhKDE1MSwgOTMlLCAzNyUsIDAuMjMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi01MDA6IGhzbGEoMTU0LCA5NiUsIDM3JSwgMC40MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTYwMDogaHNsYSgxNTYsIDk5JSwgMzYlLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNzAwOiBoc2xhKDE2MywgOTklLCAzOCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi04MDA6IGhzbCgxNjYsIDEwMCUsIDMwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTkwMDogaHNsKDE2OCwgMTAwJSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwMDogaHNsKDE2NiwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTEwMDogaHNsKDE2NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTIwMDogaHNsKDE2MiwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTMwMDogaHNsKDE1NywgMTAwJSwgMTAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTQwMDogaHNsKDE0OSwgMTAwJSwgNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsYSgxODAsIDc5JSwgNDElLCAwLjAzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbGEoMTg2LCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMzAwOiBoc2xhKDE4OCwgMTAwJSwgMzglLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi00MDA6IGhzbGEoMTg2LCAxMDAlLCAzNyUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTUwMDogaHNsYSgxODYsIDk1JSwgMzglLCAwLjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTYwMDogaHNsYSgxODcsIDk5JSwgMzglLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi03MDA6IGhzbGEoMTg2LCA5OSUsIDQwJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tODAwOiBoc2woMTk0LCAxMDAlLCAzOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTkwMDogaHNsKDIwMCwgMTAwJSwgMzQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDAwOiBoc2woMjAyLCAxMDAlLCAzMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTExMDA6IGhzbCgyMDQsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTIwMDogaHNsKDIwOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMzAwOiBoc2woMjEzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTE0MDA6IGhzbCgyMjEsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwOiBoc2xhKDIxMCwgMTAwJSwgNjElLCAwLjAzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0yMDA6IGhzbGEoMjE4LCAxMDAlLCA1NyUsIDAuMDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTMwMDogaHNsYSgyMTUsIDEwMCUsIDUyJSwgMC4wOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNDAwOiBoc2xhKDIxNiwgOTUlLCA1MSUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTUwMDogaHNsYSgyMTUsIDkzJSwgNTAlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE2LCA5NSUsIDQ4JSwgMC4zNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNSwgOTglLCA0NyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTgwMDogaHNsYSgyMTUsIDEwMCUsIDQ2JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtOTAwOiBoc2xhKDIxMywgOTklLCA0NCUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDA6IGhzbGEoMjE0LCA5OCUsIDM5JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTEwMDogaHNsYSgyMTYsIDk5JSwgMzUlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIxOCwgOTklLCAyOSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbCgyMjIsIDk4JSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjMyLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2xhKDI0MCwgMTAwJSwgNjElLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsYSgyNDgsIDEwMCUsIDYxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbGEoMjQ4LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2xhKDI0OCwgMTAwJSwgNTMlLCAwLjEyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsYSgyNDgsIDEwMCUsIDUxJSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTYwMDogaHNsYSgyNDksIDEwMCUsIDUxJSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS03MDA6IGhzbGEoMjUxLCAxMDAlLCA1MSUsIDAuMzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1NCwgOTklLCA0OSUsIDAuNTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtOTAwOiBoc2xhKDI1OCwgOTglLCA0NyUsIDAuNzMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwMDogaHNsYSgyNTksIDk4JSwgNDIlLCAwLjc5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTExMDA6IGhzbGEoMjYwLCA5NyUsIDM5JSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2xhKDI2NCwgOTglLCAzNiUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI2MiwgMTAwJSwgMjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNTksIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2xhKDMwMCwgOTUlLCA0MSUsIDAuMDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsYSgyOTMsIDk1JSwgNDElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbGEoMjk1LCA4OSUsIDQxJSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2xhKDI5OCwgOTElLCA0MCUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyOTYsIDkzJSwgMzklLCAwLjIzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS02MDA6IGhzbGEoMjk3LCA5MyUsIDM4JSwgMC4zMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI5NSwgOTYlLCAzNyUsIDAuNDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTgwMDogaHNsYSgyOTUsIDk3JSwgMzclLCAwLjY0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS05MDA6IGhzbGEoMjkzLCAxMDAlLCAzNCUsIDAuOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwMDogaHNsYSgyOTEsIDk5JSwgMzAlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMTAwOiBoc2xhKDI4OSwgOTYlLCAyOCUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEyMDA6IGhzbGEoMjg2LCA5NyUsIDI0JSwgMC45Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTMwMDogaHNsKDI4NSwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xNDAwOiBoc2woMjgxLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDogaHNsYSgzNDgsIDEwMCUsIDUxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMjAwOiBoc2xhKDM0OCwgMTAwJSwgNTElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbGEoMzQ3LCAxMDAlLCA1NCUsIDAuMDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTQwMDogaHNsYSgzNDcsIDEwMCUsIDUwJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNTAwOiBoc2xhKDM0NywgMTAwJSwgNTAlLCAwLjI0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzQ2LCAxMDAlLCA1MSUsIDAuMzMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTcwMDogaHNsYSgzNDUsIDEwMCUsIDUwJSwgMC40Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstODAwOiBoc2xhKDM0MCwgMTAwJSwgNDglLCAwLjc1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay05MDA6IGhzbGEoMzMzLCA5OCUsIDQxJSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwMDogaHNsYSgzMzIsIDk4JSwgMzYlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMTAwOiBoc2xhKDMzMSwgMTAwJSwgMzElLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMjAwOiBoc2xhKDMzMCwgOTglLCAyNCUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEzMDA6IGhzbCgzMzMsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTQwMDogaHNsKDMzOSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItdHJhbnNwYXJlbnQ6IHJnYmEoMCwwLDAsMCk7XG59XG4iLCIuY3BkLXRoZW1lLWxpZ2h0LmNwZC10aGVtZS1saWdodCB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1saW5lYXI6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDEpIDAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyKSAzMyUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDMpIDY2JSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNCkgMTAwJSk7XG59XG4iLCI6cm9vdCB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1saW5lYXI6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDEpIDAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyKSAzMyUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDMpIDY2JSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNCkgMTAwJSk7XG59XG4iLCIuY3BkLXRoZW1lLWxpZ2h0LWhjLmNwZC10aGVtZS1saWdodC1oYyB7XG4gIC0tY3BkLWNvbG9yLXRoZW1lLWJnOiAjZmZmZmZmO1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDogI2Y3ZjlmYTtcbiAgLS1jcGQtY29sb3ItZ3JheS0yMDA6ICNmMGYyZjU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMzAwOiAjZTFlNmVjO1xuICAtLWNwZC1jb2xvci1ncmF5LTQwMDogI2Q3ZGNlMztcbiAgLS1jcGQtY29sb3ItZ3JheS01MDA6ICNiZGM0Y2M7XG4gIC0tY3BkLWNvbG9yLWdyYXktNjAwOiAjYTZhZGI3O1xuICAtLWNwZC1jb2xvci1ncmF5LTcwMDogIzg3OGY5YjtcbiAgLS1jcGQtY29sb3ItZ3JheS04MDA6ICM2YzczN2U7XG4gIC0tY3BkLWNvbG9yLWdyYXktOTAwOiAjNDc0YTUxO1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDA6ICMzZjQyNDg7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTEwMDogIzM1MzgzZDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMjAwOiAjMmQzMDM0O1xuICAtLWNwZC1jb2xvci1ncmF5LTEzMDA6ICMxZjIxMjY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTQwMDogIzFhMWMyMTtcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDogI2ZmZjdmNjtcbiAgLS1jcGQtY29sb3ItcmVkLTIwMDogI2ZmZWZlYztcbiAgLS1jcGQtY29sb3ItcmVkLTMwMDogI2ZmZGZkYTtcbiAgLS1jcGQtY29sb3ItcmVkLTQwMDogI2ZmZDFjYTtcbiAgLS1jcGQtY29sb3ItcmVkLTUwMDogI2ZmYWZhNTtcbiAgLS1jcGQtY29sb3ItcmVkLTYwMDogI2ZmOGM4MTtcbiAgLS1jcGQtY29sb3ItcmVkLTcwMDogI2ZmNGU0OTtcbiAgLS1jcGQtY29sb3ItcmVkLTgwMDogI2UxMWUyYTtcbiAgLS1jcGQtY29sb3ItcmVkLTkwMDogIzk5MDAxYTtcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDA6ICM4YjAwMGM7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMTAwOiAjNzcwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMTIwMDogIzY3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTEzMDA6ICM0YzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0xNDAwOiAjNDIwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwOiAjZmZmNmVmO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMjAwOiAjZmZlZmU0O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMzAwOiAjZmZkZmM4O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNDAwOiAjZmZkNGI1O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNTAwOiAjZmRiMzdjO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNjAwOiAjZjg5NDQwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNzAwOiAjZTI2ZTAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtODAwOiAjYzQ0ZDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtOTAwOiAjOTMxNzAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwMDogIzg5MDgwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTExMDA6ICM3NzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMjAwOiAjNjcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTMwMDogIzRjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTE0MDA6ICM0MjAwMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDA6ICNmZmY4ZTA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0yMDA6ICNmZmYyYzE7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0zMDA6ICNmZmU0ODQ7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy00MDA6ICNmZmRhNDk7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy01MDA6ICNmMWJkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy02MDA6ICNkZWEyMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy03MDA6ICNjMzgxMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy04MDA6ICNhNzYzMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy05MDA6ICM3NzM4MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDAwOiAjNmUzMTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTEwMDogIzYxMjYwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEyMDA6ICM1NzFkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMzAwOiAjNDUwYzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTQwMDogIzNmMDUwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDA6ICNmMWZjZWU7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMjAwOiAjZTBmOGQ5O1xuICAtLWNwZC1jb2xvci1saW1lLTMwMDogI2M4ZjFiYTtcbiAgLS1jcGQtY29sb3ItbGltZS00MDA6ICNhZmViOWI7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNTAwOiAjNzZkYjRjO1xuICAtLWNwZC1jb2xvci1saW1lLTYwMDogIzU0YzQyNDtcbiAgLS1jcGQtY29sb3ItbGltZS03MDA6ICMzYWEzMWE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtODAwOiAjMWY4NTBmO1xuICAtLWNwZC1jb2xvci1saW1lLTkwMDogIzAwNTcwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDAwOiAjMDA0ZjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTExMDA6ICMwMDQyMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTIwMDogIzAwMzkwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMzAwOiAjMDAyOTAwO1xuICAtLWNwZC1jb2xvci1saW1lLTE0MDA6ICMwMDIyMDA7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDogI2YxZmJmNjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMjAwOiAjZTNmN2VkO1xuICAtLWNwZC1jb2xvci1ncmVlbi0zMDA6ICNjNmVlZGI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTQwMDogI2FmZThjZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNTAwOiAjNzFkN2FlO1xuICAtLWNwZC1jb2xvci1ncmVlbi02MDA6ICMwYmM0OTE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTcwMDogIzAwYTI3YztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tODAwOiAjMDA4MjY4O1xuICAtLWNwZC1jb2xvci1ncmVlbi05MDA6ICMwMDU1M2Q7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDA6ICMwMDRkMzY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTExMDA6ICMwMDQwMmI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEyMDA6ICMwMDM3MjM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEzMDA6ICMwMDI3MTU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTE0MDA6ICMwMDIxMGY7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwOiAjZjFmYWZiO1xuICAtLWNwZC1jb2xvci1jeWFuLTIwMDogI2UzZjVmODtcbiAgLS1jcGQtY29sb3ItY3lhbi0zMDA6ICNjN2VjZjA7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNDAwOiAjYjFlNGViO1xuICAtLWNwZC1jb2xvci1jeWFuLTUwMDogIzc2ZDFkZDtcbiAgLS1jcGQtY29sb3ItY3lhbi02MDA6ICMxNWJlY2Y7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNzAwOiAjMDA5YWMzO1xuICAtLWNwZC1jb2xvci1jeWFuLTgwMDogIzAwN2FiMztcbiAgLS1jcGQtY29sb3ItY3lhbi05MDA6ICMwMDRjODQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwMDogIzAwNDQ3YjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMTAwOiAjMDAzNzZlO1xuICAtLWNwZC1jb2xvci1jeWFuLTEyMDA6ICMwMDJlNjQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTMwMDogIzAwMWU1MztcbiAgLS1jcGQtY29sb3ItY3lhbi0xNDAwOiAjMDAxNzRkO1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDogI2Y0ZjhmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0yMDA6ICNlOWYyZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMzAwOiAjZDhlN2ZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTQwMDogI2M4ZGRmZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS01MDA6ICNhM2M2ZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNjAwOiAjN2VhZmY2O1xuICAtLWNwZC1jb2xvci1ibHVlLTcwMDogIzRhOGVmMDtcbiAgLS1jcGQtY29sb3ItYmx1ZS04MDA6ICMwNDZlZTg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtOTAwOiAjMDU0M2E3O1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDA6ICMwNTNiOWE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTEwMDogIzA0MzA4ODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMjAwOiAjMDMyNzdiO1xuICAtLWNwZC1jb2xvci1ibHVlLTEzMDA6ICMwMDE1Njk7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTQwMDogIzAwMGM2MztcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDogI2Y4ZjdmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTIwMDogI2YxZWZmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTMwMDogI2U2ZTJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTQwMDogI2RkZDhmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTUwMDogI2M1YmJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTYwMDogI2IxYTBmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTcwMDogIzk3NzhmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTgwMDogIzgyNGVmOTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTkwMDogIzU3MWNjNDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDA6ICM0ZjBkYmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMTAwOiAjNDIwMGE2O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTIwMDogIzM2MDA5NDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEzMDA6ICMyNDAwNzA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xNDAwOiAjMWYwMDYyO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDogI2ZjZjVmZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0yMDA6ICNmYWVlZmI7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMzAwOiAjZjZkZmY3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTQwMDogI2YxZDJmMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS01MDA6ICNlN2IyZWE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNjAwOiAjZGI5M2UxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTcwMDogI2NiNjhkNDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS04MDA6ICNiOTM3YzY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtOTAwOiAjNzgxYzkwO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDA6ICM2YzE3ODU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTEwMDogIzVjMGY3NjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMjAwOiAjNTIwMjZjO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEzMDA6ICMzYjAwNTM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTQwMDogIzMyMDA0YTtcbiAgLS1jcGQtY29sb3ItcGluay0xMDA6ICNmZmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMjAwOiAjZmZlY2YwO1xuICAtLWNwZC1jb2xvci1waW5rLTMwMDogI2ZmZGVlNTtcbiAgLS1jcGQtY29sb3ItcGluay00MDA6ICNmZmQwZGE7XG4gIC0tY3BkLWNvbG9yLXBpbmstNTAwOiAjZmZhZGMwO1xuICAtLWNwZC1jb2xvci1waW5rLTYwMDogI2ZmODhhNjtcbiAgLS1jcGQtY29sb3ItcGluay03MDA6ICNmOTRlODQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstODAwOiAjZTAwYzZhO1xuICAtLWNwZC1jb2xvci1waW5rLTkwMDogIzkyMDg0YjtcbiAgLS1jcGQtY29sb3ItcGluay0xMDAwOiAjODQwNzQ1O1xuICAtLWNwZC1jb2xvci1waW5rLTExMDA6ICM3MjAwM2E7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTIwMDogIzY0MDAyZjtcbiAgLS1jcGQtY29sb3ItcGluay0xMzAwOiAjNGEwMDFjO1xuICAtLWNwZC1jb2xvci1waW5rLTE0MDA6ICM0MTAwMTU7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwOiBoc2xhKDIwMCwgNDElLCAzNiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMDogaHNsYSgyMTYsIDg5JSwgMTglLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0zMDA6IGhzbGEoMjEzLCA5MCUsIDIwJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwOiBoc2xhKDIxNSwgODglLCAxNyUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMTIsIDk3JSwgMTIlLCAwLjI2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjE1LCA5NiUsIDEwJSwgMC4zNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNzAwOiBoc2xhKDIxNiwgODElLCAxMCUsIDAuNDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTgwMDogaHNsYSgyMTcsIDg5JSwgNyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMjMsIDcwJSwgNCUsIDAuNzMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjIwLCA3NSUsIDMlLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIyMiwgNjMlLCAzJSwgMC44KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxMCwgNjclLCAyJSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMTgsIDEwMCUsIDIlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIyMywgNzglLCAyJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsYSg3LCAxMDAlLCA1NiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMjAwOiBoc2xhKDksIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbGEoOCwgMTAwJSwgNTIlLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsYSg4LCAxMDAlLCA1MSUsIDAuMjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNTAwOiBoc2xhKDcsIDEwMCUsIDUxJSwgMC4zNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbGEoNSwgMTAwJSwgNTElLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNzAwOiBoc2xhKDIsIDEwMCUsIDUwJSwgMC43Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMzU2LCA5OCUsIDQ0JSwgMC44OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbCgzNTAsIDEwMCUsIDMwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2woMzU1LCAxMDAlLCAyNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDAsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woMCwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCgwLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDAsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbGEoMjYsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0yMDA6IGhzbGEoMjQsIDEwMCUsIDUyJSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbGEoMjUsIDEwMCUsIDUxJSwgMC4yMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbGEoMjUsIDEwMCUsIDUyJSwgMC4zKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTUwMDogaHNsYSgyNiwgOTglLCA1MCUsIDAuNTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2xhKDI3LCAxMDAlLCA0OCUsIDAuNzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNzAwOiBoc2woMjksIDEwMCUsIDQ0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbCgyNCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsKDksIDEwMCUsIDI5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2woNCwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbCgwLCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2xhKDQ2LCAxMDAlLCA1MyUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuMjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuNDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2xhKDQ4LCAxMDAlLCA1MCUsIDAuNzIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woNDcsIDEwMCUsIDQ3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbCg0NCwgMTAwJSwgNDQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDQwLCAxMDAlLCAzOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzYsIDEwMCUsIDMzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCgyOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbCgyNywgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbCgyNCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCgyMCwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCgxMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg1LCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsYSgxMDcsIDg5JSwgNDQlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbGEoMTA3LCA5OCUsIDQxJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2xhKDEwNSwgOTIlLCA0MiUsIDAuMjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsYSgxMDUsIDk1JSwgNDElLCAwLjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTUwMDogaHNsYSgxMDIsIDk3JSwgNDElLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS02MDA6IGhzbGEoMTAyLCAxMDAlLCAzNyUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMDYsIDk5JSwgMzAlLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTgwMDogaHNsYSgxMTIsIDk3JSwgMjUlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS05MDA6IGhzbCgxMjAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwMDogaHNsKDEyMCwgMTAwJSwgMTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMTAwOiBoc2woMTIwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEyMDA6IGhzbCgxMjAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsKDEyMCwgMTAwJSwgOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbCgxMjAsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2xhKDE1MCwgNzklLCA0MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbGEoMTUwLCAxMDAlLCAzNiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbGEoMTUxLCA5MyUsIDM3JSwgMC4yMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsYSgxNTMsIDk1JSwgMzclLCAwLjMyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2xhKDE1NiwgOTklLCAzNiUsIDAuNTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbGEoMTYzLCA5OSUsIDM4JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsKDE2NiwgMTAwJSwgMzIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2woMTY4LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbCgxNjMsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbCgxNjIsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbCgxNjAsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbCgxNTgsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbCgxNTIsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTQwMDogaHNsKDE0NywgMTAwJSwgNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsYSgxODYsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbGEoMTg4LCAxMDAlLCAzOCUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsYSgxODYsIDEwMCUsIDM3JSwgMC4yMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2xhKDE4NywgOTclLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTUwMDogaHNsYSgxODcsIDk5JSwgMzglLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbGEoMTg2LCA5OSUsIDQwJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2woMTkzLCAxMDAlLCAzOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5OSwgMTAwJSwgMzUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbCgyMDUsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsKDIwNywgMTAwJSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2woMjEwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbCgyMTIsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsKDIxOCwgMTAwJSwgMTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2woMjIyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsYSgyMTgsIDEwMCUsIDU3JSwgMC4wNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2xhKDIxNSwgMTAwJSwgNTIlLCAwLjA5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbGEoMjE2LCA5NSUsIDUxJSwgMC4xNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNDAwOiBoc2xhKDIxNiwgOTYlLCA0OSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTUwMDogaHNsYSgyMTYsIDk1JSwgNDglLCAwLjM3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE1LCA5OCUsIDQ3JSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNSwgMTAwJSwgNDYlLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjEyLCA5OSUsIDQ2JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtOTAwOiBoc2xhKDIxNywgOTglLCAzMyUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDA6IGhzbGEoMjE4LCA5NyUsIDMwJSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTEwMDogaHNsYSgyMjAsIDk5JSwgMjclLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIyMiwgMTAwJSwgMjQlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2woMjI4LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTE0MDA6IGhzbCgyMzMsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDA6IGhzbGEoMjQ4LCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2xhKDI0OCwgMTAwJSwgNTUlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTMwMDogaHNsYSgyNDgsIDEwMCUsIDUzJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS00MDA6IGhzbGEoMjQ4LCAxMDAlLCA1MiUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2xhKDI0OSwgMTAwJSwgNTElLCAwLjI3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTYwMDogaHNsYSgyNTEsIDEwMCUsIDUxJSwgMC4zOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS03MDA6IGhzbGEoMjU0LCAxMDAlLCA1MCUsIDAuNTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1OCwgOTglLCA0OSUsIDAuNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS05MDA6IGhzbGEoMjYxLCA5NyUsIDM4JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjYzLCAxMDAlLCAzNiUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTEwMDogaHNsKDI2NCwgMTAwJSwgMzMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEyMDA6IGhzbCgyNjIsIDEwMCUsIDI5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMzAwOiBoc2woMjU5LCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTQwMDogaHNsKDI1OSwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDA6IGhzbGEoMjkzLCA5NSUsIDQxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMjAwOiBoc2xhKDI5NSwgODklLCA0MSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTMwMDogaHNsYSgyOTgsIDkxJSwgNDAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS00MDA6IGhzbGEoMjk2LCA5NSUsIDM4JSwgMC4xOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNTAwOiBoc2xhKDI5NywgOTMlLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTYwMDogaHNsYSgyOTUsIDk2JSwgMzclLCAwLjQzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjk1LCA5NyUsIDM3JSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk0LCA5OCUsIDM2JSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI4NywgOTYlLCAyNyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwMDogaHNsYSgyODYsIDEwMCUsIDI0JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyODUsIDk3JSwgMjIlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2woMjg1LCA5NiUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTMwMDogaHNsKDI4MywgMTAwJSwgMTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xNDAwOiBoc2woMjgxLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDogaHNsYSgzNDgsIDEwMCUsIDUxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMjAwOiBoc2xhKDM0NywgMTAwJSwgNTQlLCAwLjA4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbGEoMzQ3LCAxMDAlLCA1MCUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTQwMDogaHNsYSgzNDcsIDEwMCUsIDUyJSwgMC4xOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNTAwOiBoc2xhKDM0NiwgMTAwJSwgNTElLCAwLjMzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzQ1LCAxMDAlLCA1MCUsIDAuNDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTcwMDogaHNsYSgzNDEsIDk4JSwgNDklLCAwLjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzMzMsIDk4JSwgNDQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay05MDA6IGhzbGEoMzMxLCAxMDAlLCAyOCUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbGEoMzMwLCA5NyUsIDI2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsKDMyOSwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMjAwOiBoc2woMzMyLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEzMDA6IGhzbCgzMzcsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTQwMDogaHNsKDM0MSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItdHJhbnNwYXJlbnQ6IHJnYmEoMCwwLDAsMCk7XG59XG4iLCI6cm9vdCB7XG4gIC0tY3BkLWNvbG9yLXRoZW1lLWJnOiAjZmZmZmZmO1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDogI2Y3ZjlmYTtcbiAgLS1jcGQtY29sb3ItZ3JheS0yMDA6ICNmMGYyZjU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMzAwOiAjZTFlNmVjO1xuICAtLWNwZC1jb2xvci1ncmF5LTQwMDogI2Q3ZGNlMztcbiAgLS1jcGQtY29sb3ItZ3JheS01MDA6ICNiZGM0Y2M7XG4gIC0tY3BkLWNvbG9yLWdyYXktNjAwOiAjYTZhZGI3O1xuICAtLWNwZC1jb2xvci1ncmF5LTcwMDogIzg3OGY5YjtcbiAgLS1jcGQtY29sb3ItZ3JheS04MDA6ICM2YzczN2U7XG4gIC0tY3BkLWNvbG9yLWdyYXktOTAwOiAjNDc0YTUxO1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDA6ICMzZjQyNDg7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTEwMDogIzM1MzgzZDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMjAwOiAjMmQzMDM0O1xuICAtLWNwZC1jb2xvci1ncmF5LTEzMDA6ICMxZjIxMjY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTQwMDogIzFhMWMyMTtcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDogI2ZmZjdmNjtcbiAgLS1jcGQtY29sb3ItcmVkLTIwMDogI2ZmZWZlYztcbiAgLS1jcGQtY29sb3ItcmVkLTMwMDogI2ZmZGZkYTtcbiAgLS1jcGQtY29sb3ItcmVkLTQwMDogI2ZmZDFjYTtcbiAgLS1jcGQtY29sb3ItcmVkLTUwMDogI2ZmYWZhNTtcbiAgLS1jcGQtY29sb3ItcmVkLTYwMDogI2ZmOGM4MTtcbiAgLS1jcGQtY29sb3ItcmVkLTcwMDogI2ZmNGU0OTtcbiAgLS1jcGQtY29sb3ItcmVkLTgwMDogI2UxMWUyYTtcbiAgLS1jcGQtY29sb3ItcmVkLTkwMDogIzk5MDAxYTtcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDA6ICM4YjAwMGM7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMTAwOiAjNzcwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMTIwMDogIzY3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTEzMDA6ICM0YzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0xNDAwOiAjNDIwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwOiAjZmZmNmVmO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMjAwOiAjZmZlZmU0O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMzAwOiAjZmZkZmM4O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNDAwOiAjZmZkNGI1O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNTAwOiAjZmRiMzdjO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNjAwOiAjZjg5NDQwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNzAwOiAjZTI2ZTAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtODAwOiAjYzQ0ZDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtOTAwOiAjOTMxNzAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwMDogIzg5MDgwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTExMDA6ICM3NzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMjAwOiAjNjcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTMwMDogIzRjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTE0MDA6ICM0MjAwMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDA6ICNmZmY4ZTA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0yMDA6ICNmZmYyYzE7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0zMDA6ICNmZmU0ODQ7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy00MDA6ICNmZmRhNDk7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy01MDA6ICNmMWJkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy02MDA6ICNkZWEyMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy03MDA6ICNjMzgxMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy04MDA6ICNhNzYzMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy05MDA6ICM3NzM4MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDAwOiAjNmUzMTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTEwMDogIzYxMjYwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEyMDA6ICM1NzFkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMzAwOiAjNDUwYzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTQwMDogIzNmMDUwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDA6ICNmMWZjZWU7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMjAwOiAjZTBmOGQ5O1xuICAtLWNwZC1jb2xvci1saW1lLTMwMDogI2M4ZjFiYTtcbiAgLS1jcGQtY29sb3ItbGltZS00MDA6ICNhZmViOWI7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNTAwOiAjNzZkYjRjO1xuICAtLWNwZC1jb2xvci1saW1lLTYwMDogIzU0YzQyNDtcbiAgLS1jcGQtY29sb3ItbGltZS03MDA6ICMzYWEzMWE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtODAwOiAjMWY4NTBmO1xuICAtLWNwZC1jb2xvci1saW1lLTkwMDogIzAwNTcwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDAwOiAjMDA0ZjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTExMDA6ICMwMDQyMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTIwMDogIzAwMzkwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMzAwOiAjMDAyOTAwO1xuICAtLWNwZC1jb2xvci1saW1lLTE0MDA6ICMwMDIyMDA7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDogI2YxZmJmNjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMjAwOiAjZTNmN2VkO1xuICAtLWNwZC1jb2xvci1ncmVlbi0zMDA6ICNjNmVlZGI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTQwMDogI2FmZThjZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNTAwOiAjNzFkN2FlO1xuICAtLWNwZC1jb2xvci1ncmVlbi02MDA6ICMwYmM0OTE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTcwMDogIzAwYTI3YztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tODAwOiAjMDA4MjY4O1xuICAtLWNwZC1jb2xvci1ncmVlbi05MDA6ICMwMDU1M2Q7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDA6ICMwMDRkMzY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTExMDA6ICMwMDQwMmI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEyMDA6ICMwMDM3MjM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEzMDA6ICMwMDI3MTU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTE0MDA6ICMwMDIxMGY7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwOiAjZjFmYWZiO1xuICAtLWNwZC1jb2xvci1jeWFuLTIwMDogI2UzZjVmODtcbiAgLS1jcGQtY29sb3ItY3lhbi0zMDA6ICNjN2VjZjA7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNDAwOiAjYjFlNGViO1xuICAtLWNwZC1jb2xvci1jeWFuLTUwMDogIzc2ZDFkZDtcbiAgLS1jcGQtY29sb3ItY3lhbi02MDA6ICMxNWJlY2Y7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNzAwOiAjMDA5YWMzO1xuICAtLWNwZC1jb2xvci1jeWFuLTgwMDogIzAwN2FiMztcbiAgLS1jcGQtY29sb3ItY3lhbi05MDA6ICMwMDRjODQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwMDogIzAwNDQ3YjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMTAwOiAjMDAzNzZlO1xuICAtLWNwZC1jb2xvci1jeWFuLTEyMDA6ICMwMDJlNjQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTMwMDogIzAwMWU1MztcbiAgLS1jcGQtY29sb3ItY3lhbi0xNDAwOiAjMDAxNzRkO1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDogI2Y0ZjhmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0yMDA6ICNlOWYyZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMzAwOiAjZDhlN2ZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTQwMDogI2M4ZGRmZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS01MDA6ICNhM2M2ZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNjAwOiAjN2VhZmY2O1xuICAtLWNwZC1jb2xvci1ibHVlLTcwMDogIzRhOGVmMDtcbiAgLS1jcGQtY29sb3ItYmx1ZS04MDA6ICMwNDZlZTg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtOTAwOiAjMDU0M2E3O1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDA6ICMwNTNiOWE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTEwMDogIzA0MzA4ODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMjAwOiAjMDMyNzdiO1xuICAtLWNwZC1jb2xvci1ibHVlLTEzMDA6ICMwMDE1Njk7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTQwMDogIzAwMGM2MztcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDogI2Y4ZjdmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTIwMDogI2YxZWZmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTMwMDogI2U2ZTJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTQwMDogI2RkZDhmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTUwMDogI2M1YmJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTYwMDogI2IxYTBmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTcwMDogIzk3NzhmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTgwMDogIzgyNGVmOTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTkwMDogIzU3MWNjNDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDA6ICM0ZjBkYmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMTAwOiAjNDIwMGE2O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTIwMDogIzM2MDA5NDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEzMDA6ICMyNDAwNzA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xNDAwOiAjMWYwMDYyO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDogI2ZjZjVmZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0yMDA6ICNmYWVlZmI7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMzAwOiAjZjZkZmY3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTQwMDogI2YxZDJmMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS01MDA6ICNlN2IyZWE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNjAwOiAjZGI5M2UxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTcwMDogI2NiNjhkNDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS04MDA6ICNiOTM3YzY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtOTAwOiAjNzgxYzkwO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDA6ICM2YzE3ODU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTEwMDogIzVjMGY3NjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMjAwOiAjNTIwMjZjO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEzMDA6ICMzYjAwNTM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTQwMDogIzMyMDA0YTtcbiAgLS1jcGQtY29sb3ItcGluay0xMDA6ICNmZmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMjAwOiAjZmZlY2YwO1xuICAtLWNwZC1jb2xvci1waW5rLTMwMDogI2ZmZGVlNTtcbiAgLS1jcGQtY29sb3ItcGluay00MDA6ICNmZmQwZGE7XG4gIC0tY3BkLWNvbG9yLXBpbmstNTAwOiAjZmZhZGMwO1xuICAtLWNwZC1jb2xvci1waW5rLTYwMDogI2ZmODhhNjtcbiAgLS1jcGQtY29sb3ItcGluay03MDA6ICNmOTRlODQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstODAwOiAjZTAwYzZhO1xuICAtLWNwZC1jb2xvci1waW5rLTkwMDogIzkyMDg0YjtcbiAgLS1jcGQtY29sb3ItcGluay0xMDAwOiAjODQwNzQ1O1xuICAtLWNwZC1jb2xvci1waW5rLTExMDA6ICM3MjAwM2E7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTIwMDogIzY0MDAyZjtcbiAgLS1jcGQtY29sb3ItcGluay0xMzAwOiAjNGEwMDFjO1xuICAtLWNwZC1jb2xvci1waW5rLTE0MDA6ICM0MTAwMTU7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwOiBoc2xhKDIwMCwgNDElLCAzNiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMDogaHNsYSgyMTYsIDg5JSwgMTglLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0zMDA6IGhzbGEoMjEzLCA5MCUsIDIwJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwOiBoc2xhKDIxNSwgODglLCAxNyUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMTIsIDk3JSwgMTIlLCAwLjI2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjE1LCA5NiUsIDEwJSwgMC4zNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNzAwOiBoc2xhKDIxNiwgODElLCAxMCUsIDAuNDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTgwMDogaHNsYSgyMTcsIDg5JSwgNyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMjMsIDcwJSwgNCUsIDAuNzMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjIwLCA3NSUsIDMlLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIyMiwgNjMlLCAzJSwgMC44KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxMCwgNjclLCAyJSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMTgsIDEwMCUsIDIlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIyMywgNzglLCAyJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsYSg3LCAxMDAlLCA1NiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMjAwOiBoc2xhKDksIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbGEoOCwgMTAwJSwgNTIlLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsYSg4LCAxMDAlLCA1MSUsIDAuMjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNTAwOiBoc2xhKDcsIDEwMCUsIDUxJSwgMC4zNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbGEoNSwgMTAwJSwgNTElLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNzAwOiBoc2xhKDIsIDEwMCUsIDUwJSwgMC43Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMzU2LCA5OCUsIDQ0JSwgMC44OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbCgzNTAsIDEwMCUsIDMwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2woMzU1LCAxMDAlLCAyNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDAsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woMCwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCgwLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDAsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbGEoMjYsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0yMDA6IGhzbGEoMjQsIDEwMCUsIDUyJSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbGEoMjUsIDEwMCUsIDUxJSwgMC4yMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbGEoMjUsIDEwMCUsIDUyJSwgMC4zKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTUwMDogaHNsYSgyNiwgOTglLCA1MCUsIDAuNTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2xhKDI3LCAxMDAlLCA0OCUsIDAuNzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNzAwOiBoc2woMjksIDEwMCUsIDQ0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbCgyNCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsKDksIDEwMCUsIDI5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2woNCwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbCgwLCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2xhKDQ2LCAxMDAlLCA1MyUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuMjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuNDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2xhKDQ4LCAxMDAlLCA1MCUsIDAuNzIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woNDcsIDEwMCUsIDQ3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbCg0NCwgMTAwJSwgNDQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDQwLCAxMDAlLCAzOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzYsIDEwMCUsIDMzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCgyOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbCgyNywgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbCgyNCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCgyMCwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCgxMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg1LCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsYSgxMDcsIDg5JSwgNDQlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbGEoMTA3LCA5OCUsIDQxJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2xhKDEwNSwgOTIlLCA0MiUsIDAuMjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsYSgxMDUsIDk1JSwgNDElLCAwLjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTUwMDogaHNsYSgxMDIsIDk3JSwgNDElLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS02MDA6IGhzbGEoMTAyLCAxMDAlLCAzNyUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMDYsIDk5JSwgMzAlLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTgwMDogaHNsYSgxMTIsIDk3JSwgMjUlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS05MDA6IGhzbCgxMjAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwMDogaHNsKDEyMCwgMTAwJSwgMTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMTAwOiBoc2woMTIwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEyMDA6IGhzbCgxMjAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsKDEyMCwgMTAwJSwgOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbCgxMjAsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2xhKDE1MCwgNzklLCA0MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbGEoMTUwLCAxMDAlLCAzNiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbGEoMTUxLCA5MyUsIDM3JSwgMC4yMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsYSgxNTMsIDk1JSwgMzclLCAwLjMyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2xhKDE1NiwgOTklLCAzNiUsIDAuNTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbGEoMTYzLCA5OSUsIDM4JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsKDE2NiwgMTAwJSwgMzIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2woMTY4LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbCgxNjMsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbCgxNjIsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbCgxNjAsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbCgxNTgsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbCgxNTIsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTQwMDogaHNsKDE0NywgMTAwJSwgNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsYSgxODYsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbGEoMTg4LCAxMDAlLCAzOCUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsYSgxODYsIDEwMCUsIDM3JSwgMC4yMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2xhKDE4NywgOTclLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTUwMDogaHNsYSgxODcsIDk5JSwgMzglLCAwLjU0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbGEoMTg2LCA5OSUsIDQwJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2woMTkzLCAxMDAlLCAzOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5OSwgMTAwJSwgMzUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbCgyMDUsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsKDIwNywgMTAwJSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2woMjEwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbCgyMTIsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsKDIxOCwgMTAwJSwgMTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2woMjIyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsYSgyMTgsIDEwMCUsIDU3JSwgMC4wNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2xhKDIxNSwgMTAwJSwgNTIlLCAwLjA5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbGEoMjE2LCA5NSUsIDUxJSwgMC4xNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNDAwOiBoc2xhKDIxNiwgOTYlLCA0OSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTUwMDogaHNsYSgyMTYsIDk1JSwgNDglLCAwLjM3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE1LCA5OCUsIDQ3JSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNSwgMTAwJSwgNDYlLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjEyLCA5OSUsIDQ2JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtOTAwOiBoc2xhKDIxNywgOTglLCAzMyUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDA6IGhzbGEoMjE4LCA5NyUsIDMwJSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTEwMDogaHNsYSgyMjAsIDk5JSwgMjclLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIyMiwgMTAwJSwgMjQlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2woMjI4LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTE0MDA6IGhzbCgyMzMsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDA6IGhzbGEoMjQ4LCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2xhKDI0OCwgMTAwJSwgNTUlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTMwMDogaHNsYSgyNDgsIDEwMCUsIDUzJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS00MDA6IGhzbGEoMjQ4LCAxMDAlLCA1MiUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2xhKDI0OSwgMTAwJSwgNTElLCAwLjI3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTYwMDogaHNsYSgyNTEsIDEwMCUsIDUxJSwgMC4zOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS03MDA6IGhzbGEoMjU0LCAxMDAlLCA1MCUsIDAuNTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1OCwgOTglLCA0OSUsIDAuNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS05MDA6IGhzbGEoMjYxLCA5NyUsIDM4JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjYzLCAxMDAlLCAzNiUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTEwMDogaHNsKDI2NCwgMTAwJSwgMzMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEyMDA6IGhzbCgyNjIsIDEwMCUsIDI5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMzAwOiBoc2woMjU5LCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTQwMDogaHNsKDI1OSwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDA6IGhzbGEoMjkzLCA5NSUsIDQxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMjAwOiBoc2xhKDI5NSwgODklLCA0MSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTMwMDogaHNsYSgyOTgsIDkxJSwgNDAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS00MDA6IGhzbGEoMjk2LCA5NSUsIDM4JSwgMC4xOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNTAwOiBoc2xhKDI5NywgOTMlLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTYwMDogaHNsYSgyOTUsIDk2JSwgMzclLCAwLjQzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjk1LCA5NyUsIDM3JSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk0LCA5OCUsIDM2JSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI4NywgOTYlLCAyNyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwMDogaHNsYSgyODYsIDEwMCUsIDI0JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyODUsIDk3JSwgMjIlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2woMjg1LCA5NiUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTMwMDogaHNsKDI4MywgMTAwJSwgMTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xNDAwOiBoc2woMjgxLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDogaHNsYSgzNDgsIDEwMCUsIDUxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMjAwOiBoc2xhKDM0NywgMTAwJSwgNTQlLCAwLjA4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbGEoMzQ3LCAxMDAlLCA1MCUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTQwMDogaHNsYSgzNDcsIDEwMCUsIDUyJSwgMC4xOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNTAwOiBoc2xhKDM0NiwgMTAwJSwgNTElLCAwLjMzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzQ1LCAxMDAlLCA1MCUsIDAuNDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTcwMDogaHNsYSgzNDEsIDk4JSwgNDklLCAwLjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzMzMsIDk4JSwgNDQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay05MDA6IGhzbGEoMzMxLCAxMDAlLCAyOCUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbGEoMzMwLCA5NyUsIDI2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsKDMyOSwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMjAwOiBoc2woMzMyLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEzMDA6IGhzbCgzMzcsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTQwMDogaHNsKDM0MSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItdHJhbnNwYXJlbnQ6IHJnYmEoMCwwLDAsMCk7XG59XG4iLCIuY3BkLXRoZW1lLWxpZ2h0LWhjLmNwZC10aGVtZS1saWdodC1oYyB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1saW5lYXI6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDEpIDAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyKSAzMyUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDMpIDY2JSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNCkgMTAwJSk7XG59XG4iLCI6cm9vdCB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1saW5lYXI6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDEpIDAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyKSAzMyUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDMpIDY2JSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNCkgMTAwJSk7XG59XG4iLCIuY3BkLXRoZW1lLWRhcmsuY3BkLXRoZW1lLWRhcmsge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogIzEwMTMxNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICMxNDE3MWI7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjMTgxYTFmO1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogIzFkMWYyNDtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICMyNjI4MmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjMzIzNTM5O1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogIzNjM2Y0NDtcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM0YTRmNTU7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNjU2Yzc2O1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzgwODk5NDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjOTE5OWE0O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICNhM2FhYjQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogI2JkYzNjYztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjZDlkZWU0O1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICNlYmVlZjI7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICMzNzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICMzZTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICM1OTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICM3MTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICM4MzAwMDk7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICM5ZjBkMWU7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNkMTIxMmE7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNmZDNlM2M7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjZmY2NjVkO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2ZmODc3YztcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICNmZmFlYTQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjZmZkNGNkO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogI2ZmZTllNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogIzM4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogIzNjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogIzU4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogIzcxMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogIzgzMDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogIzk3MjIwNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2I5NDYwNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2RhNjcwZDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNlYjdhMTI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjZjY5MTNkO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogI2ZiYjM3ZTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICNmZmQ1Yjk7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjZmZlYWRiO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjMzYwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjM2EwMzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjNDEwOTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjNGMxNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjNWMyNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjNjgyZTAzO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjN2MzZTAyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjOWQ1YjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjYmM3YTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogI2NjOGMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICNkYjlmMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjZWZiYjBiO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogI2ZlZGI1ODtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICNmZmVkYjE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjMDAxYjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogIzAwMjAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICMwMDI2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjMDAzMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzAwM2UwMDtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICMwMDRhMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjMDA1YzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzFkN2MxMztcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMzODliMjA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzQ3YWQyNjtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjNTZjMDJjO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICM3N2Q5NGY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogI2I2ZWNhMztcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjZGFmNmQwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICMwMDFjMGI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogIzAwMWYwZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjMDAyNTEzO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICMwMDJlMWI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzAwM2QyOTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMDA0ODMyO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMDVhNDM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwN2E2MjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMTI5YTc4O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMTdhYzg0O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMWZjMDkwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjNzJkNWFlO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjYjVlOGQxO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjZDlmNGU3O1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogIzAwMTE0NDtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICMwMDE0NDg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjMDAxYjRlO1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogIzAwMjU1OTtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICMwMDM0Njg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMDAzZjc1O1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwNTE4ODtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMjcxYWE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA5M2JlO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMmE3YzY7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzIxYmFjZDtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjNzhkMGRjO1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICNiOGU1ZWI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogI2RiZjJmNTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICMwMDA1NWE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjMDAwOTVkO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogIzAwMTI2NDtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICMwMDFlNmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjMDYyZDgwO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzA4Mzg5MTtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICMwYjQ5YWI7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMGU2N2Q5O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzQxODdlYjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjNWU5OWYwO1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICM3YWFjZjQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogI2ExYzRmODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjY2JkZmZjO1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICNlNGVlZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICMxYTAwNTU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICMxYzAwNWE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICMyMjAwNmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICMyYzAwODA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICMzZDAwOWU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICM0YTBkYjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM1YTI3YzY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM3ODQ5ZWM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM5MTcxZjk7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjOWU4N2ZjO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogI2FkOWNmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICNjNGJhZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjZGVkYWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogI2VlZWJmZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICMyODAwM2Q7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjMmUwMDQ0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogIzM3MDA0ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICM0NjAwNWU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjNTYwZjZmO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogIzY1MTc3ZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICM3ZDIzOTQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYWEzNmJhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2M1NjBjZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjY2Y3OGQ3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICNkOTkxZGU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogI2U1YjFlOTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjZjFkNGYzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICNmOGU5Zjk7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjMzcwMDBmO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogIzNjMDAxMjtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICM0NTAwMTg7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjNTUwMDI0O1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogIzZkMDAzNjtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICM3YzBjNDE7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjOTkxMTRmO1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2NlMTg2NTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNmNDQyN2Q7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2ZhNjU4ZjtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjZmU4NGEyO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICNmZmFiYmU7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogI2ZmZDJkYztcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjZmZlOGVkO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMTQsIDEwJSwgODYlLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjg2LCAzMSUsIDgyJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDI4MCwgNDElLCA5MCUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyNzAsIDM3JSwgOTMlLCAwLjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMTQsIDQxJSwgOTclLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjI1LCA0NiUsIDk1JSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDA6IGhzbGEoMjEzLCA4NSUsIDk1JSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwOiBoc2xhKDIxNiwgMTAwJSwgOTQlLCAwLjQxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjExLCA5NCUsIDk0JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwMDogaHNsYSgyMTMsIDkzJSwgOTQlLCAwLjYxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxNSwgOTIlLCA5NSUsIDAuNjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEyMDA6IGhzbGEoMjE1LCA3NCUsIDk2JSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMTMsIDczJSwgOTclLCAwLjg5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIxNCwgNzglLCA5OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwOiBoc2woMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNDAwOiBoc2woMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsKDAsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbCgzNTYsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoMzU0LCA5OSUsIDUyJSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTgwMDogaHNsYSgzNTcsIDk5JSwgNTclLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTkwMDogaHNsKDEsIDk4JSwgNjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbCgzLCAxMDAlLCA2OCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDUsIDEwMCUsIDc0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woNywgMTAwJSwgODIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCg4LCAxMDAlLCA5MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDcsIDEwMCUsIDk1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbCgwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTMwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbCgwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2woMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsKDIsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMTIsIDEwMCUsIDM5JSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbGEoMjEsIDEwMCUsIDUwJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbGEoMjYsIDk5JSwgNTIlLCAwLjg1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDA6IGhzbGEoMjksIDk5JSwgNTMlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbGEoMjcsIDk4JSwgNjIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbGEoMjYsIDk3JSwgNzUlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgyNCwgMTAwJSwgODYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgyNSwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsKDAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbCgzLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2woOCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsKDE2LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woMjMsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbGEoMjYsIDEwMCUsIDIzJSwgMC44Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbGEoMzAsIDEwMCUsIDI2JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy04MDA6IGhzbCgzNSwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTkwMDogaHNsKDM5LCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwMDogaHNsKDQxLCAxMDAlLCA0MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTEwMDogaHNsKDQ0LCAxMDAlLCA0MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTIwMDogaHNsYSg0NiwgOTglLCA1MiUsIDAuOTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDQ3LCA5OSUsIDY3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNDYsIDEwMCUsIDg1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwOiBoc2woMTIwLCAxMDAlLCA1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2woMTIwLCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2woMTIwLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNDAwOiBoc2woMTIwLCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNTAwOiBoc2woMTIwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTYwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbCgxMjAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDExMiwgOTglLCA1MiUsIDAuNDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMDcsIDk4JSwgNTclLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2xhKDEwNSwgOTclLCA1OCUsIDAuNjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbGEoMTAyLCA5OCUsIDYwJSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsYSgxMDIsIDEwMCUsIDY4JSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsYSgxMDQsIDEwMCUsIDg0JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTQwMDogaHNsYSgxMDUsIDkxJSwgOTIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2woMTQ0LCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTIwMDogaHNsKDE0NywgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbCgxNTEsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNDAwOiBoc2woMTU1LCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsKDE2MCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2woMTYyLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2OCwgMTAwJSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2xhKDE2NCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2xhKDE2MywgOTklLCA1NSUsIDAuNjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2xhKDE2MiwgOTglLCA1NyUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2xhKDE1NiwgOTclLCA3NiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2xhKDE1MiwgOTMlLCA4OCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xNDAwOiBoc2xhKDE1MiwgODglLCA5NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsKDIyNSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbCgyMjMsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMzAwOiBoc2woMjE5LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsKDIxNSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbCgyMTAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2woMjA4LCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDIwNCwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbGEoMjAwLCAxMDAlLCAzNyUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTkwMDogaHNsKDE5NCwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDAwOiBoc2xhKDE4OSwgMTAwJSwgNDQlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2xhKDE4NiwgOTglLCA1NyUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbGEoMTg3LCAxMDAlLCA3NyUsIDAuODUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbGEoMTg3LCA5MyUsIDg5JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsYSgxODcsIDkzJSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbCgyMzcsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2woMjM0LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTMwMDogaHNsKDIyOSwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS00MDA6IGhzbCgyMjQsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNTAwOiBoc2xhKDIyMSwgMTAwJSwgMzclLCAwLjYzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE5LCA5OSUsIDUwJSwgMC41Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNywgOTklLCA1MSUsIDAuNjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTgwMDogaHNsYSgyMTQsIDk5JSwgNTMlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS05MDA6IGhzbGEoMjE1LCA5OCUsIDYzJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwMDogaHNsYSgyMTYsIDk5JSwgNjklLCAwLjk0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMTAwOiBoc2xhKDIxNSwgOTclLCA3NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEyMDA6IGhzbGEoMjE2LCAxMDAlLCA4MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbGEoMjE2LCA5NiUsIDkwJSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIxNywgOTMlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2woMjU4LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2woMjU5LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2woMjU5LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2woMjYxLCAxMDAlLCAyNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2woMjYzLCAxMDAlLCAzMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNjAwOiBoc2xhKDI2MywgOTglLCA1MiUsIDAuNjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI2MCwgOTglLCA1OCUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1NywgMTAwJSwgNjUlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsYSgyNTQsIDk5JSwgNzIlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjUyLCA5OCUsIDc3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2woMjUwLCA5OCUsIDgwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjQ5LCAxMDAlLCA4NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI0NiwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNDksIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2woMjc5LCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsKDI4MSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbCgyODIsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2woMjg1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyODcsIDEwMCUsIDUyJSwgMC4zOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI4OCwgMTAwJSwgNTYlLCAwLjQ0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjg5LCA5OSUsIDU5JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NCwgOTglLCA2MyUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyOTUsIDk3JSwgNzIlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjk2LCA5OCUsIDc4JSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyOTcsIDk4JSwgODIlLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI5NiwgOTclLCA4OCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbGEoMjk2LCAxMDAlLCA5NCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTE0MDA6IGhzbGEoMjk2LCA5MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwOiBoc2woMzQ0LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsKDM0MiwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbCgzMzksIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNDAwOiBoc2woMzM1LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsKDMzMCwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzMzLCA5NyUsIDUwJSwgMC40Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNzAwOiBoc2xhKDMzNCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzMzUsIDk5JSwgNTUlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTkwMDogaHNsYSgzNDAsIDk5JSwgNjMlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDM0MywgMTAwJSwgNzAlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMTAwOiBoc2woMzQ1LCA5OCUsIDc2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDM0NiwgMTAwJSwgODQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzQ3LCAxMDAlLCA5MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDcsIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLXRyYW5zcGFyZW50OiByZ2JhKDAsMCwwLDApO1xufVxuIiwiOnJvb3Qge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogIzEwMTMxNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICMxNDE3MWI7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjMTgxYTFmO1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogIzFkMWYyNDtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICMyNjI4MmQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjMzIzNTM5O1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogIzNjM2Y0NDtcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM0YTRmNTU7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNjU2Yzc2O1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzgwODk5NDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjOTE5OWE0O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICNhM2FhYjQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogI2JkYzNjYztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjZDlkZWU0O1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICNlYmVlZjI7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICMzNzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICMzZTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICM1OTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICM3MTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICM4MzAwMDk7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICM5ZjBkMWU7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNkMTIxMmE7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNmZDNlM2M7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjZmY2NjVkO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2ZmODc3YztcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICNmZmFlYTQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjZmZkNGNkO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogI2ZmZTllNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogIzM4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogIzNjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogIzU4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogIzcxMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogIzgzMDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogIzk3MjIwNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2I5NDYwNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2RhNjcwZDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNlYjdhMTI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjZjY5MTNkO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogI2ZiYjM3ZTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICNmZmQ1Yjk7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjZmZlYWRiO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjMzYwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjM2EwMzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjNDEwOTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjNGMxNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjNWMyNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjNjgyZTAzO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjN2MzZTAyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjOWQ1YjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjYmM3YTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogI2NjOGMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICNkYjlmMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjZWZiYjBiO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogI2ZlZGI1ODtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICNmZmVkYjE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjMDAxYjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogIzAwMjAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICMwMDI2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjMDAzMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzAwM2UwMDtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICMwMDRhMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjMDA1YzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzFkN2MxMztcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMzODliMjA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzQ3YWQyNjtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjNTZjMDJjO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICM3N2Q5NGY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogI2I2ZWNhMztcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjZGFmNmQwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICMwMDFjMGI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogIzAwMWYwZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjMDAyNTEzO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICMwMDJlMWI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzAwM2QyOTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMDA0ODMyO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMDVhNDM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwN2E2MjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMTI5YTc4O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMTdhYzg0O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMWZjMDkwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjNzJkNWFlO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjYjVlOGQxO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjZDlmNGU3O1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogIzAwMTE0NDtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICMwMDE0NDg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjMDAxYjRlO1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogIzAwMjU1OTtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICMwMDM0Njg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMDAzZjc1O1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwNTE4ODtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMjcxYWE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA5M2JlO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMmE3YzY7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzIxYmFjZDtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjNzhkMGRjO1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICNiOGU1ZWI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogI2RiZjJmNTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICMwMDA1NWE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjMDAwOTVkO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogIzAwMTI2NDtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICMwMDFlNmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjMDYyZDgwO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzA4Mzg5MTtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICMwYjQ5YWI7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMGU2N2Q5O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzQxODdlYjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjNWU5OWYwO1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICM3YWFjZjQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogI2ExYzRmODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjY2JkZmZjO1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICNlNGVlZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICMxYTAwNTU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICMxYzAwNWE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICMyMjAwNmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICMyYzAwODA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICMzZDAwOWU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICM0YTBkYjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM1YTI3YzY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM3ODQ5ZWM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM5MTcxZjk7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjOWU4N2ZjO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogI2FkOWNmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICNjNGJhZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjZGVkYWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogI2VlZWJmZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICMyODAwM2Q7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjMmUwMDQ0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogIzM3MDA0ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICM0NjAwNWU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjNTYwZjZmO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogIzY1MTc3ZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICM3ZDIzOTQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYWEzNmJhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2M1NjBjZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjY2Y3OGQ3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICNkOTkxZGU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogI2U1YjFlOTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjZjFkNGYzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICNmOGU5Zjk7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjMzcwMDBmO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogIzNjMDAxMjtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICM0NTAwMTg7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjNTUwMDI0O1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogIzZkMDAzNjtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICM3YzBjNDE7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjOTkxMTRmO1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2NlMTg2NTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNmNDQyN2Q7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2ZhNjU4ZjtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjZmU4NGEyO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICNmZmFiYmU7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogI2ZmZDJkYztcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjZmZlOGVkO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMTQsIDEwJSwgODYlLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjg2LCAzMSUsIDgyJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDI4MCwgNDElLCA5MCUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyNzAsIDM3JSwgOTMlLCAwLjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMTQsIDQxJSwgOTclLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS02MDA6IGhzbGEoMjI1LCA0NiUsIDk1JSwgMC4yKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDA6IGhzbGEoMjEzLCA4NSUsIDk1JSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwOiBoc2xhKDIxNiwgMTAwJSwgOTQlLCAwLjQxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjExLCA5NCUsIDk0JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwMDogaHNsYSgyMTMsIDkzJSwgOTQlLCAwLjYxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxNSwgOTIlLCA5NSUsIDAuNjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEyMDA6IGhzbGEoMjE1LCA3NCUsIDk2JSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMTMsIDczJSwgOTclLCAwLjg5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIxNCwgNzglLCA5OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwOiBoc2woMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNDAwOiBoc2woMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsKDAsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbCgzNTYsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoMzU0LCA5OSUsIDUyJSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTgwMDogaHNsYSgzNTcsIDk5JSwgNTclLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTkwMDogaHNsKDEsIDk4JSwgNjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbCgzLCAxMDAlLCA2OCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDUsIDEwMCUsIDc0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woNywgMTAwJSwgODIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCg4LCAxMDAlLCA5MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDcsIDEwMCUsIDk1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbCgwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTMwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbCgwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2woMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsKDIsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMTIsIDEwMCUsIDM5JSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbGEoMjEsIDEwMCUsIDUwJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbGEoMjYsIDk5JSwgNTIlLCAwLjg1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDA6IGhzbGEoMjksIDk5JSwgNTMlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbGEoMjcsIDk4JSwgNjIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbGEoMjYsIDk3JSwgNzUlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgyNCwgMTAwJSwgODYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgyNSwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsKDAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbCgzLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2woOCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsKDE2LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woMjMsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbGEoMjYsIDEwMCUsIDIzJSwgMC44Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbGEoMzAsIDEwMCUsIDI2JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy04MDA6IGhzbCgzNSwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTkwMDogaHNsKDM5LCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwMDogaHNsKDQxLCAxMDAlLCA0MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTEwMDogaHNsKDQ0LCAxMDAlLCA0MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTIwMDogaHNsYSg0NiwgOTglLCA1MiUsIDAuOTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDQ3LCA5OSUsIDY3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNDYsIDEwMCUsIDg1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwOiBoc2woMTIwLCAxMDAlLCA1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2woMTIwLCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2woMTIwLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNDAwOiBoc2woMTIwLCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNTAwOiBoc2woMTIwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTYwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbCgxMjAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDExMiwgOTglLCA1MiUsIDAuNDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMDcsIDk4JSwgNTclLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2xhKDEwNSwgOTclLCA1OCUsIDAuNjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbGEoMTAyLCA5OCUsIDYwJSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsYSgxMDIsIDEwMCUsIDY4JSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsYSgxMDQsIDEwMCUsIDg0JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTQwMDogaHNsYSgxMDUsIDkxJSwgOTIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2woMTQ0LCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTIwMDogaHNsKDE0NywgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbCgxNTEsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNDAwOiBoc2woMTU1LCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsKDE2MCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2woMTYyLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2OCwgMTAwJSwgMjQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2xhKDE2NCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2xhKDE2MywgOTklLCA1NSUsIDAuNjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2xhKDE2MiwgOTglLCA1NyUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2xhKDE1NiwgOTclLCA3NiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2xhKDE1MiwgOTMlLCA4OCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xNDAwOiBoc2xhKDE1MiwgODglLCA5NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDogaHNsKDIyNSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0yMDA6IGhzbCgyMjMsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMzAwOiBoc2woMjE5LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsKDIxNSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbCgyMTAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2woMjA4LCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDIwNCwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbGEoMjAwLCAxMDAlLCAzNyUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTkwMDogaHNsKDE5NCwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDAwOiBoc2xhKDE4OSwgMTAwJSwgNDQlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2xhKDE4NiwgOTglLCA1NyUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbGEoMTg3LCAxMDAlLCA3NyUsIDAuODUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbGEoMTg3LCA5MyUsIDg5JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsYSgxODcsIDkzJSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbCgyMzcsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2woMjM0LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTMwMDogaHNsKDIyOSwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS00MDA6IGhzbCgyMjQsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNTAwOiBoc2xhKDIyMSwgMTAwJSwgMzclLCAwLjYzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS02MDA6IGhzbGEoMjE5LCA5OSUsIDUwJSwgMC41Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNzAwOiBoc2xhKDIxNywgOTklLCA1MSUsIDAuNjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTgwMDogaHNsYSgyMTQsIDk5JSwgNTMlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS05MDA6IGhzbGEoMjE1LCA5OCUsIDYzJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwMDogaHNsYSgyMTYsIDk5JSwgNjklLCAwLjk0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMTAwOiBoc2xhKDIxNSwgOTclLCA3NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEyMDA6IGhzbGEoMjE2LCAxMDAlLCA4MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbGEoMjE2LCA5NiUsIDkwJSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIxNywgOTMlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2woMjU4LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2woMjU5LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2woMjU5LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2woMjYxLCAxMDAlLCAyNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2woMjYzLCAxMDAlLCAzMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNjAwOiBoc2xhKDI2MywgOTglLCA1MiUsIDAuNjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI2MCwgOTglLCA1OCUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1NywgMTAwJSwgNjUlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsYSgyNTQsIDk5JSwgNzIlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjUyLCA5OCUsIDc3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2woMjUwLCA5OCUsIDgwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjQ5LCAxMDAlLCA4NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI0NiwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNDksIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2woMjc5LCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsKDI4MSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbCgyODIsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2woMjg1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyODcsIDEwMCUsIDUyJSwgMC4zOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI4OCwgMTAwJSwgNTYlLCAwLjQ0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjg5LCA5OSUsIDU5JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NCwgOTglLCA2MyUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyOTUsIDk3JSwgNzIlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjk2LCA5OCUsIDc4JSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyOTcsIDk4JSwgODIlLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI5NiwgOTclLCA4OCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbGEoMjk2LCAxMDAlLCA5NCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTE0MDA6IGhzbGEoMjk2LCA5MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwOiBoc2woMzQ0LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsKDM0MiwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0zMDA6IGhzbCgzMzksIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNDAwOiBoc2woMzM1LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsKDMzMCwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay02MDA6IGhzbGEoMzMzLCA5NyUsIDUwJSwgMC40Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNzAwOiBoc2xhKDMzNCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzMzUsIDk5JSwgNTUlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTkwMDogaHNsYSgzNDAsIDk5JSwgNjMlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDM0MywgMTAwJSwgNzAlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMTAwOiBoc2woMzQ1LCA5OCUsIDc2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDM0NiwgMTAwJSwgODQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzQ3LCAxMDAlLCA5MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDcsIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLXRyYW5zcGFyZW50OiByZ2JhKDAsMCwwLDApO1xufVxuIiwiLmNwZC10aGVtZS1kYXJrLmNwZC10aGVtZS1kYXJrIHtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQtbGV2ZWwtMTogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeS1sZXZlbC0wOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDE6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLWxpbmVhcjogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMSkgMCUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDIpIDMzJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMykgNjYlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0KSAxMDAlKTtcbn1cbiIsIjpyb290IHtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQtbGV2ZWwtMTogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeS1sZXZlbC0wOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDE6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLWxpbmVhcjogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMSkgMCUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDIpIDMzJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMykgNjYlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0KSAxMDAlKTtcbn1cbiIsIi5jcGQtdGhlbWUtZGFyay1oYy5jcGQtdGhlbWUtZGFyay1oYyB7XG4gIC0tY3BkLWNvbG9yLXRoZW1lLWJnOiAjMTAxMzE3O1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDogIzE4MWExZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0yMDA6ICMxZDFmMjQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMzAwOiAjMjYyODJkO1xuICAtLWNwZC1jb2xvci1ncmF5LTQwMDogIzJiMmUzMztcbiAgLS1jcGQtY29sb3ItZ3JheS01MDA6ICMzYzNmNDQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNjAwOiAjNGE0ZjU1O1xuICAtLWNwZC1jb2xvci1ncmF5LTcwMDogIzYwNjc3MDtcbiAgLS1jcGQtY29sb3ItZ3JheS04MDA6ICM3OTgxOGQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktOTAwOiAjYWNiNGJkO1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDA6ICNiOGJmYzc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTEwMDogI2M4Y2VkNTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMjAwOiAjZDVkYWUxO1xuICAtLWNwZC1jb2xvci1ncmF5LTEzMDA6ICNlYmVlZjI7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTQwMDogI2YyZjVmNztcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDogIzNlMDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTIwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTMwMDogIzU5MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTQwMDogIzY0MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTUwMDogIzgzMDAwOTtcbiAgLS1jcGQtY29sb3ItcmVkLTYwMDogIzlmMGQxZTtcbiAgLS1jcGQtY29sb3ItcmVkLTcwMDogI2M4MWUyODtcbiAgLS1jcGQtY29sb3ItcmVkLTgwMDogI2Y1MmYzMztcbiAgLS1jcGQtY29sb3ItcmVkLTkwMDogI2ZmOTY4YztcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDA6ICNmZmE3OWQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMTAwOiAjZmZiZGI1O1xuICAtLWNwZC1jb2xvci1yZWQtMTIwMDogI2ZmY2ZjODtcbiAgLS1jcGQtY29sb3ItcmVkLTEzMDA6ICNmZmU5ZTY7XG4gIC0tY3BkLWNvbG9yLXJlZC0xNDAwOiAjZmZmMmVmO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwOiAjM2MwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMjAwOiAjNDcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMzAwOiAjNTgwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNDAwOiAjNjUwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNTAwOiAjODMwNTAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNjAwOiAjOTcyMjA2O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNzAwOiAjYjQ0MDA3O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtODAwOiAjZDE1ZjBiO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtOTAwOiAjZjg5ZDU4O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwMDogI2ZhYWQ3MztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTExMDA6ICNmZGMxOTc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMjAwOiAjZmVkMGIxO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTMwMDogI2ZmZWFkYjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTE0MDA6ICNmZmYyZWE7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDA6ICMzYTAzMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0yMDA6ICM0MTA5MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0zMDA6ICM0YzE0MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy00MDA6ICM1NDFkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy01MDA6ICM2ODJlMDM7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy02MDA6ICM3YzNlMDI7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy03MDA6ICM5ODU2MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy04MDA6ICNiNDcyMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy05MDA6ICNlM2FhMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDAwOiAjZWJiNjA3O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTEwMDogI2Y3YzgxNjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEyMDA6ICNmZWQ2MzI7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMzAwOiAjZmZlZGIxO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTQwMDogI2ZmZjRkMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDA6ICMwMDIwMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMjAwOiAjMDAyNjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTMwMDogIzAwMzAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS00MDA6ICMwMDM3MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNTAwOiAjMDA0YTAwO1xuICAtLWNwZC1jb2xvci1saW1lLTYwMDogIzAwNWMwMDtcbiAgLS1jcGQtY29sb3ItbGltZS03MDA6ICMxODc2MTE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtODAwOiAjMzE5NDFkO1xuICAtLWNwZC1jb2xvci1saW1lLTkwMDogIzVlY2EyZjtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDAwOiAjNmFkNjM5O1xuICAtLWNwZC1jb2xvci1saW1lLTExMDA6ICM5MmUxNzU7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTIwMDogI2FmZTk5YTtcbiAgLS1jcGQtY29sb3ItbGltZS0xMzAwOiAjZGFmNmQwO1xuICAtLWNwZC1jb2xvci1saW1lLTE0MDA6ICNlOWY5ZTM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDogIzAwMWYwZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMjAwOiAjMDAyNTEzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0zMDA6ICMwMDJlMWI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTQwMDogIzAwMzYyMjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNTAwOiAjMDA0ODMyO1xuICAtLWNwZC1jb2xvci1ncmVlbi02MDA6ICMwMDVhNDM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTcwMDogIzAwNzQ1YztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tODAwOiAjMTA5MTczO1xuICAtLWNwZC1jb2xvci1ncmVlbi05MDA6ICMzN2M5OTg7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDA6ICM2MWQyYTY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTExMDA6ICM4ZmRkYmM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEyMDA6ICNhY2U2Y2M7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEzMDA6ICNkOWY0ZTc7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTE0MDA6ICNlOWY4ZjE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwOiAjMDAxNDQ4O1xuICAtLWNwZC1jb2xvci1jeWFuLTIwMDogIzAwMWI0ZTtcbiAgLS1jcGQtY29sb3ItY3lhbi0zMDA6ICMwMDI1NTk7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNDAwOiAjMDAyZDYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTUwMDogIzAwM2Y3NTtcbiAgLS1jcGQtY29sb3ItY3lhbi02MDA6ICMwMDUxODg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNzAwOiAjMDA2Y2E0O1xuICAtLWNwZC1jb2xvci1jeWFuLTgwMDogIzAwOGFiYTtcbiAgLS1jcGQtY29sb3ItY3lhbi05MDA6ICM0NmMzZDI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwMDogIzZiY2NkOTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMTAwOiAjOTNkOWUyO1xuICAtLWNwZC1jb2xvci1jeWFuLTEyMDA6ICNhZmUyZTk7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTMwMDogI2RiZjJmNTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xNDAwOiAjZWFmN2Y5O1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDogIzAwMDk1ZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0yMDA6ICMwMDEyNjQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMzAwOiAjMDAxZTZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTQwMDogIzAzMjY3NztcbiAgLS1jcGQtY29sb3ItYmx1ZS01MDA6ICMwODM4OTE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNjAwOiAjMGI0OWFiO1xuICAtLWNwZC1jb2xvci1ibHVlLTcwMDogIzBlNjFkMTtcbiAgLS1jcGQtY29sb3ItYmx1ZS04MDA6ICMzMzdmZTk7XG4gIC0tY3BkLWNvbG9yLWJsdWUtOTAwOiAjODliNWY2O1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDA6ICM5YWMwZjg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTEwMDogI2IyY2ZmYTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMjAwOiAjYzVkYmZjO1xuICAtLWNwZC1jb2xvci1ibHVlLTEzMDA6ICNlNGVlZmU7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTQwMDogI2VmZjVmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDogIzFjMDA1YTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTIwMDogIzIyMDA2YTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTMwMDogIzJjMDA4MDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTQwMDogIzM1MDA5MDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTUwMDogIzRhMGRiMTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTYwMDogIzVhMjdjNjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTcwMDogIzczNDNlNjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTgwMDogIzhiNjZmODtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTkwMDogI2I2YTdmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDA6ICNjMGI1ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMTAwOiAjY2VjN2ZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTIwMDogI2RhZDVmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEzMDA6ICNlZWViZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xNDAwOiAjZjVmM2ZmO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDogIzJlMDA0NDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0yMDA6ICMzNzAwNGU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMzAwOiAjNDYwMDVlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTQwMDogIzRmMDM2ODtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS01MDA6ICM2NTE3N2Q7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNjAwOiAjN2QyMzk0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTcwMDogI2EyMzNiMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS04MDA6ICNjMTUzY2I7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtOTAwOiAjZGQ5ZGUzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDA6ICNlM2FiZTc7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTEwMDogI2VhYzBlZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMjAwOiAjZjBjZmYyO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEzMDA6ICNmOGU5Zjk7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTQwMDogI2ZiZjFmYjtcbiAgLS1jcGQtY29sb3ItcGluay0xMDA6ICMzYzAwMTI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMjAwOiAjNDUwMDE4O1xuICAtLWNwZC1jb2xvci1waW5rLTMwMDogIzU1MDAyNDtcbiAgLS1jcGQtY29sb3ItcGluay00MDA6ICM2MTAwMmQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstNTAwOiAjN2MwYzQxO1xuICAtLWNwZC1jb2xvci1waW5rLTYwMDogIzk5MTE0ZjtcbiAgLS1jcGQtY29sb3ItcGluay03MDA6ICNjNTE3NjE7XG4gIC0tY3BkLWNvbG9yLXBpbmstODAwOiAjZjEyYzc1O1xuICAtLWNwZC1jb2xvci1waW5rLTkwMDogI2ZmOTJhYztcbiAgLS1jcGQtY29sb3ItcGluay0xMDAwOiAjZmZhNGI5O1xuICAtLWNwZC1jb2xvci1waW5rLTExMDA6ICNmZmJiY2E7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTIwMDogI2ZmY2NkNztcbiAgLS1jcGQtY29sb3ItcGluay0xMzAwOiAjZmZlOGVkO1xuICAtLWNwZC1jb2xvci1waW5rLTE0MDA6ICNmZmYxZjQ7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwOiBoc2xhKDI4NiwgMzElLCA4MiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMDogaHNsYSgyODAsIDQxJSwgOTAlLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0zMDA6IGhzbGEoMjcwLCAzNyUsIDkzJSwgMC4xKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDA6IGhzbGEoMjI3LCAyOSUsIDkxJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNTAwOiBoc2xhKDIyNSwgNDYlLCA5NSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxMywgODUlLCA5NSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTQsIDc5JSwgOTMlLCAwLjM5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjE2LCA5NCUsIDkzJSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktOTAwOiBoc2xhKDIxMSwgOTElLCA5NiUsIDAuNzIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjEzLCAxMDAlLCA5NyUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTExMDA6IGhzbGEoMjEyLCAxMDAlLCA5NyUsIDAuODIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEyMDA6IGhzbGEoMjE3LCA3NyUsIDk3JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMTQsIDc4JSwgOTglLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIwNCwgNzElLCA5OSUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbCgwLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNDAwOiBoc2woMCwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsKDM1NiwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTYwMDogaHNsYSgzNTQsIDk5JSwgNTIlLCAwLjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNzAwOiBoc2xhKDM1NywgMTAwJSwgNTclLCAwLjc3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTgwMDogaHNsYSgzNTksIDEwMCUsIDU5JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbCg1LCAxMDAlLCA3OCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwMDogaHNsKDYsIDEwMCUsIDgxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMTAwOiBoc2woNiwgMTAwJSwgODYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEyMDA6IGhzbCg4LCAxMDAlLCA4OSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTMwMDogaHNsKDcsIDEwMCUsIDk1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xNDAwOiBoc2woMTEsIDEwMCUsIDk3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbCgwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2woMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTMwMDogaHNsKDAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbCgwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2woMiwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsYSgxMiwgMTAwJSwgMzklLCAwLjc0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTcwMDogaHNsYSgyMCwgMTAwJSwgNDklLCAwLjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtODAwOiBoc2xhKDI2LCA5OSUsIDUxJSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbGEoMjYsIDk4JSwgNjclLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDA6IGhzbGEoMjYsIDEwMCUsIDczJSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2woMjUsIDk2JSwgNzklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbCgyNCwgOTglLCA4NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTMwMDogaHNsKDI1LCAxMDAlLCA5MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTQwMDogaHNsKDIzLCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2woMywgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTIwMDogaHNsKDgsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0zMDA6IGhzbCgxNiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsKDIxLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2xhKDI2LCAxMDAlLCAyMyUsIDAuODcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNjAwOiBoc2xhKDMwLCAxMDAlLCAyNiUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNzAwOiBoc2woMzQsIDEwMCUsIDMwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy04MDA6IGhzbCgzOCwgMTAwJSwgMzUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTkwMDogaHNsKDQ1LCAxMDAlLCA0NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwMDogaHNsYSg0NiwgOTklLCA1MSUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTEwMDogaHNsYSg0OCwgOTklLCA1NCUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTIwMDogaHNsKDQ4LCA5OSUsIDYwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMzAwOiBoc2woNDYsIDEwMCUsIDg1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNDYsIDEwMCUsIDkxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwOiBoc2woMTIwLCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2woMTIwLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2woMTIwLCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNDAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTUwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS02MDA6IGhzbCgxMjAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNzAwOiBoc2xhKDExNCwgMTAwJSwgNTIlLCAwLjQyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS04MDA6IGhzbGEoMTA5LCA5OSUsIDU3JSwgMC41NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtOTAwOiBoc2xhKDEwMSwgOTklLCA2MCUsIDAuNzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDA6IGhzbGEoMTAxLCA5OSUsIDYyJSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTEwMDogaHNsYSgxMDMsIDk3JSwgNzUlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMjAwOiBoc2xhKDEwMywgOTglLCA4MyUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbGEoMTA1LCA5MSUsIDkyJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTQwMDogaHNsYSgxMDQsIDkyJSwgOTUlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2woMTQ3LCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTIwMDogaHNsKDE1MSwgMTAwJSwgNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbCgxNTUsIDEwMCUsIDklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNDAwOiBoc2woMTU4LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi01MDA6IGhzbCgxNjIsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTYwMDogaHNsKDE2NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNzAwOiBoc2woMTY4LCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi04MDA6IGhzbGEoMTY1LCA5OCUsIDUzJSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTkwMDogaHNsYSgxNTksIDk3JSwgNjIlLCAwLjc4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwMDogaHNsYSgxNTYsIDEwMCUsIDczJSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbGEoMTU0LCA5OCUsIDgyJSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbGEoMTUzLCA5NCUsIDg3JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTMwMDogaHNsYSgxNTIsIDg4JSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTQwMDogaHNsYSgxNTAsIDgwJSwgOTYlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbCgyMjMsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2woMjE5LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsKDIxNSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi00MDA6IGhzbCgyMTIsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNTAwOiBoc2woMjA4LCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTYwMDogaHNsKDIwNCwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi03MDA6IGhzbCgyMDAsIDEwMCUsIDMyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tODAwOiBoc2woMTk1LCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTkwMDogaHNsYSgxODYsIDk5JSwgNjYlLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDAwOiBoc2xhKDE4NywgOTklLCA3NCUsIDAuODQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTExMDA6IGhzbGEoMTg3LCA5OCUsIDgyJSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTIwMDogaHNsYSgxODgsIDk3JSwgODclLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMzAwOiBoc2xhKDE4NywgOTMlLCA5NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTE0MDA6IGhzbGEoMTg3LCA4OSUsIDk3JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwOiBoc2woMjM0LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTIwMDogaHNsKDIyOSwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbCgyMjQsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNDAwOiBoc2xhKDIyMiwgMTAwJSwgMjglLCAwLjgyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE5LCA5OSUsIDUwJSwgMC41Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNywgOTklLCA1MSUsIDAuNjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDk4JSwgNTIlLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjE1LCA5OSUsIDYwJSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtOTAwOiBoc2xhKDIxNiwgOTclLCA3NyUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDA6IGhzbGEoMjE2LCAxMDAlLCA4MSUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjE2LCAxMDAlLCA4NiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEyMDA6IGhzbGEoMjE2LCA5NyUsIDg5JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTMwMDogaHNsKDIxNywgOTMlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTE0MDA6IGhzbCgyMTYsIDg4JSwgOTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDogaHNsKDI1OSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsKDI1OSwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTMwMDogaHNsKDI2MSwgMTAwJSwgMjUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTQwMDogaHNsKDI2MiwgMTAwJSwgMjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsYSgyNjMsIDk4JSwgNTIlLCAwLjY3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTYwMDogaHNsYSgyNjAsIDk4JSwgNTglLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTcwMDogaHNsYSgyNTgsIDk4JSwgNjQlLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1NSwgMTAwJSwgNzElLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsKDI1MCwgMTAwJSwgODMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbCgyNDksIDEwMCUsIDg2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2woMjQ4LCAxMDAlLCA4OSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTIwMDogaHNsKDI0NywgMTAwJSwgOTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEzMDA6IGhzbCgyNDksIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xNDAwOiBoc2woMjUwLCAxMDAlLCA5OCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDogaHNsKDI4MSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0yMDA6IGhzbCgyODIsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMzAwOiBoc2woMjg1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTQwMDogaHNsYSgyODYsIDEwMCUsIDIzJSwgMC44NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNTAwOiBoc2xhKDI4OCwgMTAwJSwgNTYlLCAwLjQ0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS02MDA6IGhzbGEoMjg5LCA5OSUsIDU5JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI5MywgOTclLCA2MiUsIDAuNjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTgwMDogaHNsYSgyOTYsIDk5JSwgNzAlLCAwLjc4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS05MDA6IGhzbGEoMjk1LCAxMDAlLCA4NSUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjk2LCA5NyUsIDg3JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMTAwOiBoc2xhKDI5NiwgOTIlLCA5MCUsIDAuOTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEyMDA6IGhzbGEoMjk3LCA5NSUsIDkyJSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTMwMDogaHNsYSgyOTYsIDkwJSwgOTYlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xNDAwOiBoc2xhKDMwMCwgNzElLCA5NyUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDogaHNsKDM0MiwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0yMDA6IGhzbCgzMzksIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2woMzM1LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTQwMDogaHNsKDMzMiwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay01MDA6IGhzbGEoMzMzLCA5NyUsIDUwJSwgMC40Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDMzNCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTcwMDogaHNsYSgzMzUsIDk5JSwgNTUlLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay04MDA6IGhzbGEoMzM4LCA5OCUsIDU4JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2woMzQ2LCAxMDAlLCA3OSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbCgzNDYsIDEwMCUsIDgyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsKDM0NywgMTAwJSwgODclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMjAwOiBoc2woMzQ3LCAxMDAlLCA5MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEzMDA6IGhzbCgzNDcsIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTQwMDogaHNsKDM0NywgMTAwJSwgOTclLCAxKTtcbiAgLS1jcGQtY29sb3ItdHJhbnNwYXJlbnQ6IHJnYmEoMCwwLDAsMCk7XG59XG4iLCI6cm9vdCB7XG4gIC0tY3BkLWNvbG9yLXRoZW1lLWJnOiAjMTAxMzE3O1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDogIzE4MWExZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0yMDA6ICMxZDFmMjQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMzAwOiAjMjYyODJkO1xuICAtLWNwZC1jb2xvci1ncmF5LTQwMDogIzJiMmUzMztcbiAgLS1jcGQtY29sb3ItZ3JheS01MDA6ICMzYzNmNDQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNjAwOiAjNGE0ZjU1O1xuICAtLWNwZC1jb2xvci1ncmF5LTcwMDogIzYwNjc3MDtcbiAgLS1jcGQtY29sb3ItZ3JheS04MDA6ICM3OTgxOGQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktOTAwOiAjYWNiNGJkO1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDA6ICNiOGJmYzc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTEwMDogI2M4Y2VkNTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMjAwOiAjZDVkYWUxO1xuICAtLWNwZC1jb2xvci1ncmF5LTEzMDA6ICNlYmVlZjI7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTQwMDogI2YyZjVmNztcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDogIzNlMDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTIwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTMwMDogIzU5MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTQwMDogIzY0MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTUwMDogIzgzMDAwOTtcbiAgLS1jcGQtY29sb3ItcmVkLTYwMDogIzlmMGQxZTtcbiAgLS1jcGQtY29sb3ItcmVkLTcwMDogI2M4MWUyODtcbiAgLS1jcGQtY29sb3ItcmVkLTgwMDogI2Y1MmYzMztcbiAgLS1jcGQtY29sb3ItcmVkLTkwMDogI2ZmOTY4YztcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDA6ICNmZmE3OWQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMTAwOiAjZmZiZGI1O1xuICAtLWNwZC1jb2xvci1yZWQtMTIwMDogI2ZmY2ZjODtcbiAgLS1jcGQtY29sb3ItcmVkLTEzMDA6ICNmZmU5ZTY7XG4gIC0tY3BkLWNvbG9yLXJlZC0xNDAwOiAjZmZmMmVmO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwOiAjM2MwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMjAwOiAjNDcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMzAwOiAjNTgwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNDAwOiAjNjUwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNTAwOiAjODMwNTAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNjAwOiAjOTcyMjA2O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNzAwOiAjYjQ0MDA3O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtODAwOiAjZDE1ZjBiO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtOTAwOiAjZjg5ZDU4O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwMDogI2ZhYWQ3MztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTExMDA6ICNmZGMxOTc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMjAwOiAjZmVkMGIxO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTMwMDogI2ZmZWFkYjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTE0MDA6ICNmZmYyZWE7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDA6ICMzYTAzMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0yMDA6ICM0MTA5MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0zMDA6ICM0YzE0MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy00MDA6ICM1NDFkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy01MDA6ICM2ODJlMDM7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy02MDA6ICM3YzNlMDI7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy03MDA6ICM5ODU2MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy04MDA6ICNiNDcyMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy05MDA6ICNlM2FhMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDAwOiAjZWJiNjA3O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTEwMDogI2Y3YzgxNjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEyMDA6ICNmZWQ2MzI7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMzAwOiAjZmZlZGIxO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTQwMDogI2ZmZjRkMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDA6ICMwMDIwMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMjAwOiAjMDAyNjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTMwMDogIzAwMzAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS00MDA6ICMwMDM3MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNTAwOiAjMDA0YTAwO1xuICAtLWNwZC1jb2xvci1saW1lLTYwMDogIzAwNWMwMDtcbiAgLS1jcGQtY29sb3ItbGltZS03MDA6ICMxODc2MTE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtODAwOiAjMzE5NDFkO1xuICAtLWNwZC1jb2xvci1saW1lLTkwMDogIzVlY2EyZjtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDAwOiAjNmFkNjM5O1xuICAtLWNwZC1jb2xvci1saW1lLTExMDA6ICM5MmUxNzU7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTIwMDogI2FmZTk5YTtcbiAgLS1jcGQtY29sb3ItbGltZS0xMzAwOiAjZGFmNmQwO1xuICAtLWNwZC1jb2xvci1saW1lLTE0MDA6ICNlOWY5ZTM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDogIzAwMWYwZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMjAwOiAjMDAyNTEzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0zMDA6ICMwMDJlMWI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTQwMDogIzAwMzYyMjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNTAwOiAjMDA0ODMyO1xuICAtLWNwZC1jb2xvci1ncmVlbi02MDA6ICMwMDVhNDM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTcwMDogIzAwNzQ1YztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tODAwOiAjMTA5MTczO1xuICAtLWNwZC1jb2xvci1ncmVlbi05MDA6ICMzN2M5OTg7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDA6ICM2MWQyYTY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTExMDA6ICM4ZmRkYmM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEyMDA6ICNhY2U2Y2M7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEzMDA6ICNkOWY0ZTc7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTE0MDA6ICNlOWY4ZjE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwOiAjMDAxNDQ4O1xuICAtLWNwZC1jb2xvci1jeWFuLTIwMDogIzAwMWI0ZTtcbiAgLS1jcGQtY29sb3ItY3lhbi0zMDA6ICMwMDI1NTk7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNDAwOiAjMDAyZDYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTUwMDogIzAwM2Y3NTtcbiAgLS1jcGQtY29sb3ItY3lhbi02MDA6ICMwMDUxODg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNzAwOiAjMDA2Y2E0O1xuICAtLWNwZC1jb2xvci1jeWFuLTgwMDogIzAwOGFiYTtcbiAgLS1jcGQtY29sb3ItY3lhbi05MDA6ICM0NmMzZDI7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwMDogIzZiY2NkOTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMTAwOiAjOTNkOWUyO1xuICAtLWNwZC1jb2xvci1jeWFuLTEyMDA6ICNhZmUyZTk7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTMwMDogI2RiZjJmNTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xNDAwOiAjZWFmN2Y5O1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDogIzAwMDk1ZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0yMDA6ICMwMDEyNjQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMzAwOiAjMDAxZTZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTQwMDogIzAzMjY3NztcbiAgLS1jcGQtY29sb3ItYmx1ZS01MDA6ICMwODM4OTE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNjAwOiAjMGI0OWFiO1xuICAtLWNwZC1jb2xvci1ibHVlLTcwMDogIzBlNjFkMTtcbiAgLS1jcGQtY29sb3ItYmx1ZS04MDA6ICMzMzdmZTk7XG4gIC0tY3BkLWNvbG9yLWJsdWUtOTAwOiAjODliNWY2O1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDA6ICM5YWMwZjg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTEwMDogI2IyY2ZmYTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMjAwOiAjYzVkYmZjO1xuICAtLWNwZC1jb2xvci1ibHVlLTEzMDA6ICNlNGVlZmU7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTQwMDogI2VmZjVmZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDogIzFjMDA1YTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTIwMDogIzIyMDA2YTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTMwMDogIzJjMDA4MDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTQwMDogIzM1MDA5MDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTUwMDogIzRhMGRiMTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTYwMDogIzVhMjdjNjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTcwMDogIzczNDNlNjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTgwMDogIzhiNjZmODtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTkwMDogI2I2YTdmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDA6ICNjMGI1ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMTAwOiAjY2VjN2ZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTIwMDogI2RhZDVmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEzMDA6ICNlZWViZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xNDAwOiAjZjVmM2ZmO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDogIzJlMDA0NDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0yMDA6ICMzNzAwNGU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMzAwOiAjNDYwMDVlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTQwMDogIzRmMDM2ODtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS01MDA6ICM2NTE3N2Q7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNjAwOiAjN2QyMzk0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTcwMDogI2EyMzNiMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS04MDA6ICNjMTUzY2I7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtOTAwOiAjZGQ5ZGUzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDA6ICNlM2FiZTc7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTEwMDogI2VhYzBlZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMjAwOiAjZjBjZmYyO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEzMDA6ICNmOGU5Zjk7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTQwMDogI2ZiZjFmYjtcbiAgLS1jcGQtY29sb3ItcGluay0xMDA6ICMzYzAwMTI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMjAwOiAjNDUwMDE4O1xuICAtLWNwZC1jb2xvci1waW5rLTMwMDogIzU1MDAyNDtcbiAgLS1jcGQtY29sb3ItcGluay00MDA6ICM2MTAwMmQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstNTAwOiAjN2MwYzQxO1xuICAtLWNwZC1jb2xvci1waW5rLTYwMDogIzk5MTE0ZjtcbiAgLS1jcGQtY29sb3ItcGluay03MDA6ICNjNTE3NjE7XG4gIC0tY3BkLWNvbG9yLXBpbmstODAwOiAjZjEyYzc1O1xuICAtLWNwZC1jb2xvci1waW5rLTkwMDogI2ZmOTJhYztcbiAgLS1jcGQtY29sb3ItcGluay0xMDAwOiAjZmZhNGI5O1xuICAtLWNwZC1jb2xvci1waW5rLTExMDA6ICNmZmJiY2E7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTIwMDogI2ZmY2NkNztcbiAgLS1jcGQtY29sb3ItcGluay0xMzAwOiAjZmZlOGVkO1xuICAtLWNwZC1jb2xvci1waW5rLTE0MDA6ICNmZmYxZjQ7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwOiBoc2xhKDI4NiwgMzElLCA4MiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMDogaHNsYSgyODAsIDQxJSwgOTAlLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0zMDA6IGhzbGEoMjcwLCAzNyUsIDkzJSwgMC4xKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDA6IGhzbGEoMjI3LCAyOSUsIDkxJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNTAwOiBoc2xhKDIyNSwgNDYlLCA5NSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxMywgODUlLCA5NSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTQsIDc5JSwgOTMlLCAwLjM5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjE2LCA5NCUsIDkzJSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktOTAwOiBoc2xhKDIxMSwgOTElLCA5NiUsIDAuNzIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjEzLCAxMDAlLCA5NyUsIDAuNzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTExMDA6IGhzbGEoMjEyLCAxMDAlLCA5NyUsIDAuODIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEyMDA6IGhzbGEoMjE3LCA3NyUsIDk3JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTMwMDogaHNsYSgyMTQsIDc4JSwgOTglLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIwNCwgNzElLCA5OSUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0zMDA6IGhzbCgwLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNDAwOiBoc2woMCwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsKDM1NiwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTYwMDogaHNsYSgzNTQsIDk5JSwgNTIlLCAwLjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNzAwOiBoc2xhKDM1NywgMTAwJSwgNTclLCAwLjc3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTgwMDogaHNsYSgzNTksIDEwMCUsIDU5JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbCg1LCAxMDAlLCA3OCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwMDogaHNsKDYsIDEwMCUsIDgxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMTAwOiBoc2woNiwgMTAwJSwgODYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEyMDA6IGhzbCg4LCAxMDAlLCA4OSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTMwMDogaHNsKDcsIDEwMCUsIDk1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xNDAwOiBoc2woMTEsIDEwMCUsIDk3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDA6IGhzbCgwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2woMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTMwMDogaHNsKDAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS00MDA6IGhzbCgwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2woMiwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsYSgxMiwgMTAwJSwgMzklLCAwLjc0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTcwMDogaHNsYSgyMCwgMTAwJSwgNDklLCAwLjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtODAwOiBoc2xhKDI2LCA5OSUsIDUxJSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbGEoMjYsIDk4JSwgNjclLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDA6IGhzbGEoMjYsIDEwMCUsIDczJSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2woMjUsIDk2JSwgNzklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbCgyNCwgOTglLCA4NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTMwMDogaHNsKDI1LCAxMDAlLCA5MyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTQwMDogaHNsKDIzLCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2woMywgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTIwMDogaHNsKDgsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0zMDA6IGhzbCgxNiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsKDIxLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2xhKDI2LCAxMDAlLCAyMyUsIDAuODcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNjAwOiBoc2xhKDMwLCAxMDAlLCAyNiUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNzAwOiBoc2woMzQsIDEwMCUsIDMwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy04MDA6IGhzbCgzOCwgMTAwJSwgMzUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTkwMDogaHNsKDQ1LCAxMDAlLCA0NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwMDogaHNsYSg0NiwgOTklLCA1MSUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTEwMDogaHNsYSg0OCwgOTklLCA1NCUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTIwMDogaHNsKDQ4LCA5OSUsIDYwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMzAwOiBoc2woNDYsIDEwMCUsIDg1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNDYsIDEwMCUsIDkxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwOiBoc2woMTIwLCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2woMTIwLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2woMTIwLCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNDAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTUwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS02MDA6IGhzbCgxMjAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNzAwOiBoc2xhKDExNCwgMTAwJSwgNTIlLCAwLjQyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS04MDA6IGhzbGEoMTA5LCA5OSUsIDU3JSwgMC41NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtOTAwOiBoc2xhKDEwMSwgOTklLCA2MCUsIDAuNzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDA6IGhzbGEoMTAxLCA5OSUsIDYyJSwgMC44Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTEwMDogaHNsYSgxMDMsIDk3JSwgNzUlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMjAwOiBoc2xhKDEwMywgOTglLCA4MyUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbGEoMTA1LCA5MSUsIDkyJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTQwMDogaHNsYSgxMDQsIDkyJSwgOTUlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2woMTQ3LCAxMDAlLCA2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTIwMDogaHNsKDE1MSwgMTAwJSwgNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbCgxNTUsIDEwMCUsIDklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNDAwOiBoc2woMTU4LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi01MDA6IGhzbCgxNjIsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTYwMDogaHNsKDE2NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNzAwOiBoc2woMTY4LCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi04MDA6IGhzbGEoMTY1LCA5OCUsIDUzJSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTkwMDogaHNsYSgxNTksIDk3JSwgNjIlLCAwLjc4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwMDogaHNsYSgxNTYsIDEwMCUsIDczJSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbGEoMTU0LCA5OCUsIDgyJSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbGEoMTUzLCA5NCUsIDg3JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTMwMDogaHNsYSgxNTIsIDg4JSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTQwMDogaHNsYSgxNTAsIDgwJSwgOTYlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbCgyMjMsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2woMjE5LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsKDIxNSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi00MDA6IGhzbCgyMTIsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNTAwOiBoc2woMjA4LCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTYwMDogaHNsKDIwNCwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi03MDA6IGhzbCgyMDAsIDEwMCUsIDMyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tODAwOiBoc2woMTk1LCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTkwMDogaHNsYSgxODYsIDk5JSwgNjYlLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDAwOiBoc2xhKDE4NywgOTklLCA3NCUsIDAuODQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTExMDA6IGhzbGEoMTg3LCA5OCUsIDgyJSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTIwMDogaHNsYSgxODgsIDk3JSwgODclLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMzAwOiBoc2xhKDE4NywgOTMlLCA5NCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTE0MDA6IGhzbGEoMTg3LCA4OSUsIDk3JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwOiBoc2woMjM0LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTIwMDogaHNsKDIyOSwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbCgyMjQsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNDAwOiBoc2xhKDIyMiwgMTAwJSwgMjglLCAwLjgyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE5LCA5OSUsIDUwJSwgMC41Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNywgOTklLCA1MSUsIDAuNjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDk4JSwgNTIlLCAwLjgxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjE1LCA5OSUsIDYwJSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtOTAwOiBoc2xhKDIxNiwgOTclLCA3NyUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDA6IGhzbGEoMjE2LCAxMDAlLCA4MSUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjE2LCAxMDAlLCA4NiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEyMDA6IGhzbGEoMjE2LCA5NyUsIDg5JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTMwMDogaHNsKDIxNywgOTMlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTE0MDA6IGhzbCgyMTYsIDg4JSwgOTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDogaHNsKDI1OSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsKDI1OSwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTMwMDogaHNsKDI2MSwgMTAwJSwgMjUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTQwMDogaHNsKDI2MiwgMTAwJSwgMjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsYSgyNjMsIDk4JSwgNTIlLCAwLjY3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTYwMDogaHNsYSgyNjAsIDk4JSwgNTglLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTcwMDogaHNsYSgyNTgsIDk4JSwgNjQlLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtODAwOiBoc2xhKDI1NSwgMTAwJSwgNzElLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsKDI1MCwgMTAwJSwgODMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbCgyNDksIDEwMCUsIDg2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2woMjQ4LCAxMDAlLCA4OSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTIwMDogaHNsKDI0NywgMTAwJSwgOTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEzMDA6IGhzbCgyNDksIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xNDAwOiBoc2woMjUwLCAxMDAlLCA5OCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDogaHNsKDI4MSwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0yMDA6IGhzbCgyODIsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMzAwOiBoc2woMjg1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTQwMDogaHNsYSgyODYsIDEwMCUsIDIzJSwgMC44NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNTAwOiBoc2xhKDI4OCwgMTAwJSwgNTYlLCAwLjQ0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS02MDA6IGhzbGEoMjg5LCA5OSUsIDU5JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI5MywgOTclLCA2MiUsIDAuNjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTgwMDogaHNsYSgyOTYsIDk5JSwgNzAlLCAwLjc4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS05MDA6IGhzbGEoMjk1LCAxMDAlLCA4NSUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjk2LCA5NyUsIDg3JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMTAwOiBoc2xhKDI5NiwgOTIlLCA5MCUsIDAuOTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEyMDA6IGhzbGEoMjk3LCA5NSUsIDkyJSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTMwMDogaHNsYSgyOTYsIDkwJSwgOTYlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xNDAwOiBoc2xhKDMwMCwgNzElLCA5NyUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDogaHNsKDM0MiwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0yMDA6IGhzbCgzMzksIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2woMzM1LCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTQwMDogaHNsKDMzMiwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay01MDA6IGhzbGEoMzMzLCA5NyUsIDUwJSwgMC40Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDMzNCwgOTglLCA1MyUsIDAuNTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTcwMDogaHNsYSgzMzUsIDk5JSwgNTUlLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay04MDA6IGhzbGEoMzM4LCA5OCUsIDU4JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2woMzQ2LCAxMDAlLCA3OSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbCgzNDYsIDEwMCUsIDgyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsKDM0NywgMTAwJSwgODclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMjAwOiBoc2woMzQ3LCAxMDAlLCA5MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEzMDA6IGhzbCgzNDcsIDEwMCUsIDk2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTQwMDogaHNsKDM0NywgMTAwJSwgOTclLCAxKTtcbiAgLS1jcGQtY29sb3ItdHJhbnNwYXJlbnQ6IHJnYmEoMCwwLDAsMCk7XG59XG4iLCIuY3BkLXRoZW1lLWRhcmstaGMuY3BkLXRoZW1lLWRhcmstaGMge1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdC1sZXZlbC0xOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LWxldmVsLTA6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDI6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDM6IHZhcigtLWNwZC1jb2xvci1ncmVlbi03MDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi01MDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tbGluZWFyOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxKSAwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMikgMzMlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzKSA2NiUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDQpIDEwMCUpO1xufVxuIiwiOnJvb3Qge1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdC1sZXZlbC0xOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LWxldmVsLTA6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDI6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDM6IHZhcigtLWNwZC1jb2xvci1ncmVlbi03MDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi01MDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tbGluZWFyOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxKSAwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMikgMzMlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzKSA2NiUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDQpIDEwMCUpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4gKi9cblxuLl9waWxsXzE4N3RuXzgge1xuICBib3JkZXItcmFkaXVzOiAzOHB4O1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLXNlbWlib2xkKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xuICBwYWRkaW5nOiAwIHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIGJsb2NrLXNpemU6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuX3BpbGxfMTg3dG5fOCB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG4vKlxuICogQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGRcbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiAqL1xuXG4uX3VucmVhZF9jdGkwZl84IHtcbiAgaW5saW5lLXNpemU6IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGRpdiB7XG4gICAgYmxvY2stc2l6ZTogOHB4O1xuICAgIGlubGluZS1zaXplOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5fdW5yZWFkX2N0aTBmXzggZGl2IHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG4gKiBDb3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZFxuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbi5fdW5yZWFkLWNvdW50ZXJfMTE0N3JfOCB7XG4gIGJvcmRlci1yYWRpdXM6IDM4cHg7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHkteHMtc2VtaWJvbGQpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXN1Y2Nlc3MtcHJpbWFyeSk7XG4gIGJsb2NrLXNpemU6IDIwcHg7XG4gIG1pbi1pbmxpbmUtc2l6ZTogMjBweDtcbiAgcGFkZGluZzogMCB2YXIoLS1jcGQtc3BhY2UtMS01eCk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl91bnJlYWQtY291bnRlcl8xMTQ3cl84IHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBUT0RPOiBSZXZpZXcgZW50aXJlIGZpbGUgZm9yIHNlbWFudGljIHRva2VuIGRlZmluaXRvbiAqL1xuXG4uX2FsZXJ0X3p4NzZ0XzEwIHtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICBjb250YWluZXItbmFtZTogYWxlcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xufVxuXG4uX2FsZXJ0X3p4NzZ0XzEwW2RhdGEtdHlwZT1cInN1Y2Nlc3NcIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMjAwKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbn1cblxuLl9hbGVydF96eDc2dF8xMFtkYXRhLXR5cGU9XCJjcml0aWNhbFwiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1yZWQtMjAwKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItcmVkLTUwMCk7XG59XG5cbi5fYWxlcnRfeng3NnRfMTBbZGF0YS10eXBlPVwiaW5mb1wiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1ibHVlLTIwMCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJsdWUtNTAwKTtcbn1cblxuLl9jb250ZW50X3p4NzZ0XzM3IHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xufVxuXG4uX3RleHQtY29udGVudF96eDc2dF80NCB7XG4gIGZsZXg6IDEgMSAwO1xufVxuXG5bZGF0YS10eXBlPVwic3VjY2Vzc1wiXSA6aXMoLl90aXRsZV96eDc2dF80OCwgLl9pY29uX3p4NzZ0XzQ4KSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbn1cblxuW2RhdGEtdHlwZT1cImNyaXRpY2FsXCJdIDppcyguX3RpdGxlX3p4NzZ0XzQ4LCAuX2ljb25feng3NnRfNDgpIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1yZWQtOTAwKTtcbn1cblxuW2RhdGEtdHlwZT1cImluZm9cIl0gOmlzKC5fdGl0bGVfeng3NnRfNDgsIC5faWNvbl96eDc2dF80OCkge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJsdWUtOTAwKTtcbn1cblxuLl9hbGVydF96eDc2dF8xMCBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uX2FjdGlvbnNfeng3NnRfNjQge1xuICBmbGV4OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLl9pY29uX3p4NzZ0XzQ4IHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIEBUT0RPIDYwMHB4IGJyZWFrIHNob3VsZCBiZSBhIHRva2VuICovXG5cbi8qIHdyYXAgYWN0aW9ucyBpbnRvIGEgc3RhY2tlZCBsYXlvdXQgd2hlbiB0aGUgYWxlcnQgaXMgPD02MDBweCAqL1xuQGNvbnRhaW5lciBhbGVydCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuX2NvbnRlbnRfeng3NnRfMzcge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5fdGV4dC1jb250ZW50X3p4NzZ0XzQ0IHtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5faWNvbi1idXR0b25fMTIxNWdfOCB7XG4gIC0tY3BkLWljb24tYnV0dG9uLWluZGljYXRvci1ib3JkZXItc2l6ZTogY2FsYyhcbiAgICB2YXIoLS1jcGQtaWNvbi1idXR0b24tc2l6ZSkgKiAwLjA2MjVcbiAgKTtcblxuICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLWljb24tYnV0dG9uLXNpemUpO1xuICBibG9jay1zaXplOiB2YXIoLS1jcGQtaWNvbi1idXR0b24tc2l6ZSk7XG5cbiAgLyogdGhlIGljb24gaXMgMC43NSB0aGUgc2l6ZSBvZiB0aGUgYnV0dG9uLCBzbyBhZGQgcGFkZGluZyB0byBwdXQgaXQgaW4gdGhlIG1pZGRsZSAqL1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWNwZC1pY29uLWJ1dHRvbi1zaXplKSAqIDAuMTI1KTtcbiAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbn1cblxuLl9pY29uLWJ1dHRvbl8xMjE1Z184W2RhdGEta2luZD1cInByaW1hcnlcIl0ge1xuICAqIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG4uX2ljb24tYnV0dG9uXzEyMTVnXzhbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuXG4gICoge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICB9XG59XG5cbi5fbm8tYmFja2dyb3VuZF8xMjE1Z180MltkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLl9pY29uLWJ1dHRvbl8xMjE1Z184W2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAqIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tZGlzYWJsZWQpO1xuICB9XG59XG5cbi8qKlxuICogSG92ZXIgc3RhdGVcbiAqL1xuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5faWNvbi1idXR0b25fMTIxNWdfODpub3QoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcblxuICAgICoge1xuICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICAgIH1cbiAgfVxufVxuXG4uX2ljb24tYnV0dG9uXzEyMTVnXzg6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSk6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcblxuICAqIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gIH1cbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2ljb24tYnV0dG9uXzEyMTVnXzg6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSlbZGF0YS1pbmRpY2F0b3JdOmlzKDpob3Zlcik6OmJlZm9yZSB7XG4gICAgLyogU2FtZSBjb2xvdXIgYXMgdGhlIGJhY2tncm91bmQgKi9cbiAgICBib3JkZXI6IHZhcigtLWNwZC1pY29uLWJ1dHRvbi1pbmRpY2F0b3ItYm9yZGVyLXNpemUpIHNvbGlkXG4gICAgICB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gIH1cbn1cblxuLl9pY29uLWJ1dHRvbl8xMjE1Z184Om5vdChbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pW2RhdGEtaW5kaWNhdG9yXTppcyg6YWN0aXZlKTo6YmVmb3JlIHtcbiAgLyogU2FtZSBjb2xvdXIgYXMgdGhlIGJhY2tncm91bmQgKi9cbiAgYm9yZGVyOiB2YXIoLS1jcGQtaWNvbi1idXR0b24taW5kaWNhdG9yLWJvcmRlci1zaXplKSBzb2xpZFxuICAgIHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICBpbnNldC1pbmxpbmUtZW5kOiAwO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5faWNvbi1idXR0b25fMTIxNWdfODpub3QoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKS5fZGVzdHJ1Y3RpdmVfMTIxNWdfOTU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUtaG92ZXJlZCk7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtc3VidGxlKTtcbiAgfVxufVxuXG4uX2ljb24tYnV0dG9uXzEyMTVnXzg6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSkuX2Rlc3RydWN0aXZlXzEyMTVnXzk1IHtcbiAgKiB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLypcbiAqIE5vdGUgdGhpcyBpcyB2ZXJ5IGNsb3NlbHkgY291cGxlZCB0byB0aGUgaW5kaWNhdG9yIG1hc2sgU1ZHIGFzIHRoaXMgbWFza3Mgb3V0XG4gKiB0aGUgaWNvbiBiZWhpbmQgdG8gZHJhdyB0aGUgJ3N0cm9rZScgYXJvdW5kIHRoZSBpbmRpY2F0b3IgZG90LlxuICpcbiAqIFRoZSBTVkcgaXMgYSAyNHgyNHB4IGJsYWNrIHNxdWFyZSB3aXRoIGEgY2lyY2xlIG9mIHJhZGl1cyA2IHBvc2l0aW9uZWRcbiAqIDRweCBhYm92ZSBhbmQgdG8gdGhlIHJpZ2h0IG9mIHRoZSBjYW52YXMuIFRoaXMgaXMgdGhlIHNpemUgb2YgdGhlIGluZGljYXRvclxuICogZG90IHBsdXMgdGhlIHN0cm9rZSAoZGltZW5zaW9ucyBjYWxjdWxhdGVkIGZyb20gdGhlIGZpZ21hKS5cbiAqL1xuXG4uX2luZGljYXRvci1pY29uXzE0N2w1XzE3IHtcbiAgLyogVGhpcyBpcyBjYWxsZWQgJ2J1dHRvbiBzaXplJyBidXQgdGhlIGRvY3Mgc2F5ICdpY29uIHNpemUnICovXG4gIGlubGluZS1zaXplOiB2YXIoLS1jcGQtaWNvbi1idXR0b24tc2l6ZSk7XG4gIGJsb2NrLXNpemU6IHZhcigtLWNwZC1pY29uLWJ1dHRvbi1zaXplKTtcbiAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uX2luZGljYXRvci1pY29uXzE0N2w1XzE3IHN2ZyB7XG4gIGlubGluZS1zaXplOiAxMDAlO1xuICBibG9jay1zaXplOiAxMDAlO1xufVxuXG4uX2luZGljYXRvci1pY29uXzE0N2w1XzE3W2RhdGEtaW5kaWNhdG9yXSBzdmcge1xuICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjP3htbCUyMHZlcnNpb249JzEuMCclMjBlbmNvZGluZz0nVVRGLTgnPyUzZSUzY3N2ZyUyMGZpbGw9J25vbmUnJTIwdmVyc2lvbj0nMS4xJyUyMHZpZXdCb3g9JzAlMjAwJTIwMjQlMjAyNCclMjB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCUyMGQ9J20wJTIwMHYyNGgyNHYtMTYuMzU5YTYlMjA2JTIwMCUyMDAlMjAxLTIlMjAwLjM1OTM4JTIwNiUyMDYlMjAwJTIwMCUyMDEtNi02JTIwNiUyMDYlMjAwJTIwMCUyMDElMjAwLjM1OTM4LTJoLTE2LjM1OXonJTIwZmlsbD0nJTIzMDAwJyUyMHN0cm9rZS13aWR0aD0nMCcvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgbWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiAxMDAlO1xufVxuXG4uX2luZGljYXRvci1pY29uXzE0N2w1XzE3W2RhdGEtaW5kaWNhdG9yXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIC8qIFRoZSBkb3QgaXMgMS8xMnRoIGFib3ZlICYgdG8gdGhlIHJpZ2h0IG9mIHRoZSBjYW52YXMgKi9cbiAgaW5zZXQtYmxvY2stc3RhcnQ6IC04LjMzMzMlO1xuICBpbnNldC1pbmxpbmUtZW5kOiAtOC4zMzMzJTtcblxuICAvKiBhbmQgaXMgMS8zcmQgdGhlIHNpemUgb2YgdGhlIGNhbnZhcyAqL1xuICBpbmxpbmUtc2l6ZTogMzMuMzMzMyU7XG4gIGJsb2NrLXNpemU6IDMzLjMzMyU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAtLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4uX2luZGljYXRvci1pY29uXzE0N2w1XzE3W2RhdGEtaW5kaWNhdG9yPVwic3VjY2Vzc1wiXTo6YmVmb3JlIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xufVxuXG4uX2luZGljYXRvci1pY29uXzE0N2w1XzE3W2RhdGEtaW5kaWNhdG9yPVwiY3JpdGljYWxcIl06OmJlZm9yZSB7XG4gIC0tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5faW5kaWNhdG9yLWljb25fMTQ3bDVfMTdbZGF0YS1pbmRpY2F0b3JdOjpiZWZvcmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtY29sb3IpO1xuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMsIDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl90b29sdGlwXzFucW5xXzgge1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLW1lZGl1bSk7XG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xLTV4KSB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uX3Rvb2x0aXBfMW5xbnFfOC5faW52aXNpYmxlXzFucW5xXzIxIHtcbiAgLyogSGlkZSB0aGUgdG9vbHRpcCBpbiBhIHdheSB0aGF0IGFsbG93cyBpdCB0byBhY3QgYXMgYW4gYWNjZXNzaWJsZSBsYWJlbCxcbiAgZXZlbiB3aGVuIGludmlzaWJsZSAqL1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uX2NhcHRpb25fMW5xbnFfMjgge1xuICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLl9hcnJvd18xbnFucV8zMyB7XG4gIC8qIHNhbWUgY29sb3IgYXMgdGhlIHRvb2x0aXAgYmFja2dyb3VuZCAqL1xuICBmaWxsOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwKTtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl90b29sdGlwXzFucW5xXzg6bm90KC5faW52aXNpYmxlXzFucW5xXzIxKSB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyoqXG4gKiBGb250IOKAkyBCb2R5IOKAkyBFeHRyYSBTbWFsbFxuICovXG5cbi5fZm9udC1ib2R5LXhzLXJlZ3VsYXJfNnY2bjhfMTIge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS14cyk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHkteHMtcmVndWxhcik7XG59XG5cbi5fZm9udC1ib2R5LXhzLXNlbWlib2xkXzZ2Nm44XzE3IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHkteHMpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLXNlbWlib2xkKTtcbn1cblxuLl9mb250LWJvZHkteHMtbWVkaXVtXzZ2Nm44XzIyIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHkteHMpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLW1lZGl1bSk7XG59XG5cbi8qKlxuICogRm9udCDigJMgQm9keSDigJMgU21hbGxcbiAqL1xuXG4uX2ZvbnQtYm9keS1zbS1yZWd1bGFyXzZ2Nm44XzMxIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktc20pO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtYm9keS1zbS1zZW1pYm9sZF82djZuOF8zNiB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXNtKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XG59XG5cbi5fZm9udC1ib2R5LXNtLW1lZGl1bV82djZuOF80MSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXNtKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1tZWRpdW0pO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEJvZHkg4oCTIE1lZGl1bVxuICovXG5cbi5fZm9udC1ib2R5LW1kLXJlZ3VsYXJfNnY2bjhfNTAge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZCk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG59XG5cbi5fZm9udC1ib2R5LW1kLXNlbWlib2xkXzZ2Nm44XzU1IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbn1cblxuLl9mb250LWJvZHktbWQtbWVkaXVtXzZ2Nm44XzYwIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XG59XG5cbi8qKlxuICogRm9udCDigJMgQm9keSDigJMgTGFyZ2VcbiAqL1xuXG4uX2ZvbnQtYm9keS1sZy1yZWd1bGFyXzZ2Nm44XzY5IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbGcpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LWxnLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtYm9keS1sZy1zZW1pYm9sZF82djZuOF83NCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LWxnKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1sZy1zZW1pYm9sZCk7XG59XG5cbi5fZm9udC1ib2R5LWxnLW1lZGl1bV82djZuOF83OSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LWxnKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1sZy1tZWRpdW0pO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEhlYWRpbmcg4oCTIFNtYWxsXG4gKi9cblxuLl9mb250LWhlYWRpbmctc20tcmVndWxhcl82djZuOF84OCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLXNtKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1yZWd1bGFyKTtcbn1cblxuLl9mb250LWhlYWRpbmctc20tc2VtaWJvbGRfNnY2bjhfOTMge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1zbSk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tc2VtaWJvbGQpO1xufVxuXG4uX2ZvbnQtaGVhZGluZy1zbS1tZWRpdW1fNnY2bjhfOTgge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1zbSk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tbWVkaXVtKTtcbn1cblxuLyoqXG4gKiBGb250IOKAkyBIZWFkaW5nIOKAkyBNZWRpdW1cbiAqL1xuXG4uX2ZvbnQtaGVhZGluZy1tZC1yZWd1bGFyXzZ2Nm44XzEwNyB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLW1kKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1tZC1yZWd1bGFyKTtcbn1cblxuLl9mb250LWhlYWRpbmctbWQtc2VtaWJvbGRfNnY2bjhfMTEyIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbWQpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkKTtcbn1cblxuLyoqXG4gKiBGb250IOKAkyBIZWFkaW5nIOKAkyBMYXJnZVxuICovXG5cbi5fZm9udC1oZWFkaW5nLWxnLXJlZ3VsYXJfNnY2bjhfMTIxIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbGcpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLWxnLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtaGVhZGluZy1sZy1zZW1pYm9sZF82djZuOF8xMjYge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1sZyk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbGctc2VtaWJvbGQpO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEhlYWRpbmcg4oCTIEV4dHJhIExhcmdlXG4gKi9cblxuLl9mb250LWhlYWRpbmcteGwtcmVndWxhcl82djZuOF8xMzUge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy14bCk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmcteGwtcmVndWxhcik7XG59XG5cbi5fZm9udC1oZWFkaW5nLXhsLXNlbWlib2xkXzZ2Nm44XzE0MCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLXhsKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy14bC1zZW1pYm9sZCk7XG59XG5cbi8qKlxuICAqIFJlc2V0IGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBhZnRlciBsZXR0ZXItc3BhY2luZyBoYXMgYmVlbiB0d2Vha2VkLlxuICAqIFdlIHdhbnQgdG8gYXBwbHkgSW50ZXIgRHluYW1pYyBtZXRyaWNzIChodHRwczovL3JzbXMubWUvaW50ZXIvZHlubWV0cmljcy8pXG4gICogV2UgbmVlZCB0byB0d2VhayB0aGUgYGxldHRlci1zcGFjaW5nYCBwcm9wZXJ0eSBhbmQgZG9pbmcgc28sIGRpc2FibGVzIGJ5XG4gICogZGVmYXVsdCB0aGUgb3B0aW9uYWwgbGlnYXR1cmVzXG4gICogYGZvbnQtZmVhdHVyZS1zZXR0aW5nc2AgYWxsb3dzIHVzIHRvIG92ZXJyaWRlIHRoaXMgYmVoYXZpb3VyIGFuZCBoYXZlIHRoZVxuICAqIGNvcnJlY3QgbGlnYXR1cmVzIGFuZCB0aGUgcHJvcGVyIGR5bmFtaWMgbWV0cmljIHNwYWNpbmcuXG4gICovXG4uX3R5cG9ncmFwaHlfNnY2bjhfMTUzIHtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1jcGQtZm9udC1mZWF0dXJlLXNldHRpbmdzKTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2F2YXRhcl92YTE0ZV84IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC8qIC0ycHggdG8gYWNjb3VudCBmb3IgdGhlIGJvcmRlciBzdHlsaW5nIGJlbG93ICovXG4gIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWNwZC1hdmF0YXItc2l6ZSkgLSAycHgpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tY3BkLWF2YXRhci1zaXplKSAqIDAuNTYyNSksIDYwcHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBzcGVhazogbm9uZTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1wcm9wZXJ0eS12YWx1ZS1uby11bmtub3duICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWZlbnNpdmUtY3NzL25vLXVzZXItc2VsZWN0LW5vbmUgKi9cblxuICAvKiBTZXQgYSBiYWNrZ3JvdW5kIGNvbG9yIHRvIGhlbHAgd2l0aCB2aXN1YWwgY29uc2lzdGVuY3kgd2hlbiBkaXNwbGF5aW5nXG4gICAqIGF2YXRhcnMgd2l0aCBhIHRyYW5zbHVjZW50IGJhY2tncm91bmQgKi9cbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbn1cblxuYnV0dG9uLl9hdmF0YXJfdmExNGVfOCB7XG4gIC8qKlxuICAgKiBUaGUgYXZhdGFyIGNhbiBiZSBhIGJ1dHRvbiBlbGVtZW50LCB3ZSBuZWVkIHRvIHJlc2V0IGl0cyBzdHlsZVxuICAgKi9cbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbi5fYXZhdGFyX3ZhMTRlXzg6ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uX2F2YXRhcl92YTE0ZV84LFxuLl9pbWFnZV92YTE0ZV80MyB7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIGlubGluZS1zaXplOiB2YXIoLS1jcGQtYXZhdGFyLXNpemUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtYXZhdGFyLXJhZGl1cyk7XG59XG5cbi5faW1hZ2VfdmExNGVfNDMge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogQWRkaXRpb25hbCBzZWxlY3RvciBmb3IgYnV0dG9uIHRvIHJhaXNlIHNlbGVjdG9yIGFib3ZlIGJ1dHRvbi5hdmF0YXIgKi9cbmJ1dHRvbi5fYXZhdGFyLWltYWdlbGVzc192YTE0ZV81NSxcbi5fYXZhdGFyLWltYWdlbGVzc192YTE0ZV81NSB7XG4gIC8qIEluIHRoZSBmdXR1cmUgd2UnZCBwcmVmZXIgdG8gcGFzcyB0aGUgSEVYIGNvZGUgYXMgdGhlIGRhdGEgYXR0clxuICAgICBhbmQgdXNlIGBhdHRyKGRhdGEtY29sb3IpYCB0byBhdm9pZCB0aGUgc3R5bGUgZGVjbGFyYXRpb24gZnJvbSBiZWxvd1xuICAgICBidXQgdGhpcyBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCBpbiBhbGwgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWF2YXRhci1iZyk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtYXZhdGFyLWNvbG9yKTtcblxuICAvKiBBZGRpdGlvbmFsIHN0eWxlIHRvIGVuc3VyZSB2aXNpYmlsaXR5IGluIGNvbnRyYXN0LW1vZGUgKi9cbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWF2YXRhci1iZyk7XG59XG5cbi5fYXZhdGFyX3ZhMTRlXzhbZGF0YS1jb2xvcl0ge1xuICAtLWNwZC1hdmF0YXItYmc6IHZhcigtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTEpO1xuICAtLWNwZC1hdmF0YXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMSk7XG59XG5cbi5fYXZhdGFyX3ZhMTRlXzhbZGF0YS1jb2xvcj1cIjJcIl0ge1xuICAtLWNwZC1hdmF0YXItYmc6IHZhcigtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTIpO1xuICAtLWNwZC1hdmF0YXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMik7XG59XG5cbi5fYXZhdGFyX3ZhMTRlXzhbZGF0YS1jb2xvcj1cIjNcIl0ge1xuICAtLWNwZC1hdmF0YXItYmc6IHZhcigtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTMpO1xuICAtLWNwZC1hdmF0YXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMyk7XG59XG5cbi5fYXZhdGFyX3ZhMTRlXzhbZGF0YS1jb2xvcj1cIjRcIl0ge1xuICAtLWNwZC1hdmF0YXItYmc6IHZhcigtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTQpO1xuICAtLWNwZC1hdmF0YXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtNCk7XG59XG5cbi5fYXZhdGFyX3ZhMTRlXzhbZGF0YS1jb2xvcj1cIjVcIl0ge1xuICAtLWNwZC1hdmF0YXItYmc6IHZhcigtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTUpO1xuICAtLWNwZC1hdmF0YXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtNSk7XG59XG5cbi5fYXZhdGFyX3ZhMTRlXzhbZGF0YS1jb2xvcj1cIjZcIl0ge1xuICAtLWNwZC1hdmF0YXItYmc6IHZhcigtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTYpO1xuICAtLWNwZC1hdmF0YXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtNik7XG59XG5cbi5fYXZhdGFyX3ZhMTRlXzhbZGF0YS10eXBlPVwicm91bmRcIl0ge1xuICAtLWNwZC1hdmF0YXItcmFkaXVzOiA1MCU7XG59XG5cbi5fYXZhdGFyX3ZhMTRlXzhbZGF0YS10eXBlPVwic3F1YXJlXCJdIHtcbiAgLS1jcGQtYXZhdGFyLXJhZGl1czogMjUlO1xufVxuXG4vKipcbiAqIFN0YWNrZWQgYXZhdGFycyBcbiAqL1xuXG4uX3N0YWNrZWQtYXZhdGFyc192YTE0ZV8xMDk6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uX3N0YWNrZWQtYXZhdGFyc192YTE0ZV8xMDkgLl9hdmF0YXJfdmExNGVfOCB7XG4gIGZsb2F0OiBpbmxpbmUtc3RhcnQ7XG59XG5cbi5fc3RhY2tlZC1hdmF0YXJzX3ZhMTRlXzEwOSAuX2F2YXRhcl92YTE0ZV84Om5vdCg6bGFzdC1jaGlsZCkge1xuICAvKiBpbmplY3RlZCBpbiB0aGUgZG9jdW1lbnQgZnJvbSBBdmF0YXJTdGFjay50c3ggKi9cbiAgY2xpcC1wYXRoOiB1cmwoXCIjY3BkQXZhdGFyQ2xpcFwiKTtcbn1cblxuLl9zdGFja2VkLWF2YXRhcnNfdmExNGVfMTA5ID4gKjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tY3BkLWF2YXRhci1zaXplKSAqIC0wLjQpO1xufVxuXG4uX2NsaXAtcGF0aF92YTE0ZV8xMjgge1xuICAvKiBJbiB0aGVvcnkgdGhlIFNWRyBpcyBpbnZpc2libGUsIGJ1dCB3ZSBzdGlsbCBuZWVkIHRvIGVuc3VyZSBpdCBkb2Vzbid0XG4gIGFmZmVjdCB0aGUgcGFnZSdzIGxheW91dCBvciBvdGhlcndpc2UgbWFrZSBhbiBhcHBlYXJhbmNlICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiAtOTk5OXB4O1xufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fYmFkZ2VfMTBkbWxfOCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDsgLyogcGlsbCBlZmZlY3QgKi9cbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTF4KSB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4tYmxvY2stc2l6ZTogMjhweDtcbn1cblxuLl9oYXMtaWNvbl8xMGRtbF8xOCB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtMngpO1xufVxuXG4uX2JhZGdlXzEwZG1sXzhbZGF0YS1raW5kPVwiZGVmYXVsdFwiXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcblxuICAvKiBUbyBrZWVwIHRoZSBzYW1lIGhlaWdodCB0aGFuIHRoZSBvdGhlciBiYWRnZXMgZGVzcGl0ZSB0aGUgYm9yZGVyICAqL1xuICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLWNwZC1zcGFjZS0xeCkgLSAxcHgpO1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG5cbiAgc3ZnIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gIH1cbn1cblxuLl9iYWRnZV8xMGRtbF84W2RhdGEta2luZD1cImdyZXlcIl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYmFkZ2Utc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuXG4gIHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICB9XG59XG5cbi5fYmFkZ2VfMTBkbWxfOFtkYXRhLWtpbmQ9XCJvbi1zb2xpZFwiXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1iYWRnZS1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuXG4gIHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xuICB9XG59XG5cbi5fYmFkZ2VfMTBkbWxfOFtkYXRhLWtpbmQ9XCJibHVlXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWJhZGdlLWluZm8pO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtYmFkZ2UtaW5mbyk7XG5cbiAgc3ZnIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24taW5mby1wcmltYXJ5KTtcbiAgfVxufVxuXG4uX2JhZGdlXzEwZG1sXzhbZGF0YS1raW5kPVwiZ3JlZW5cIl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYmFkZ2UtYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWJhZGdlLWFjY2VudCk7XG5cbiAgc3ZnIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXByaW1hcnkpO1xuICB9XG59XG5cbi5fYmFkZ2VfMTBkbWxfOFtkYXRhLWtpbmQ9XCJyZWRcIl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYmFkZ2UtY3JpdGljYWwpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG5cbiAgc3ZnIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XG4gIH1cbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl9iYWRnZV8xMGRtbF84IHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2JyZWFkY3J1bWJfdDk2dzNfOCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJsb2NrLXNpemU6IDQwcHg7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gIGJvcmRlci1ibG9jay1lbmQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDApO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC5fcGFnZXNfdDk2dzNfMTcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuXG4gICAgLyogb3ZlcnJpZGUgbGlzdCBzdHlsZXMgKi9cbiAgICBsaXN0LXN0eWxlLXR5cGU6IFwiXCI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuX2xhc3QtcGFnZV90OTZ3M18zMCB7XG4gICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBCcmVhZGNydW1iIHNlcGFyYXRvclxuICAgICAqIFdlIHdhbnQgdGhpcyBzZXBhcmF0b3IgdG8gYmUgb25seSB2aXN1YWwgYW5kIHRvIG5vdCBiZSBpbiB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlLlxuICAgICAqIFRoZSBuYXYgaHRtbCBlbGVtZW50IGFscmVhZHkgcHJvdmlkZXMgYW4gYWNjZXNzaWJsZSB3YXkgdG8gc2VwYXJhdGUgdGhlIGxpbmtzLlxuICAgICAqL1xuICAgIGxpICsgbGk6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMC4zZW0gMCAwLjI1ZW07XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gICAgICBib3JkZXItaW5saW5lLWVuZDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAvKiBMYXN0IHBhZ2UgKi9cbiAgICA6bGFzdC1jaGlsZCB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9saW5rX2s5bGp6Xzgge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG4gIHBhZGRpbmctaW5saW5lOiAwLjI1cmVtO1xufVxuXG4uX2xpbmtfazlsanpfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uX2xpbmtfazlsanpfOFtkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2xpbmtfazlsanpfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICB9XG5cbiAgLl9saW5rX2s5bGp6XzhbZGF0YS1raW5kPVwiY3JpdGljYWxcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1yZWQtMzAwKTtcbiAgfVxufVxuXG4uX2xpbmtfazlsanpfODphY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG59XG5cbi5fbGlua19rOWxqel84W2RhdGEta2luZD1cInByaW1hcnlcIl06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5fbGlua19rOWxqel84W2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX2xpbmtfazlsanpfOFtkYXRhLXNpemU9XCJtZFwiXSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LW1kKTtcbn1cblxuLl9saW5rX2s5bGp6XzhbZGF0YS1zaXplPVwic21cIl0ge1xuICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1zbSk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMsIDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9idXR0b25fMW53ODNfOCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1yYWRpdXMtcGlsbC1lZmZlY3QpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuXG5hLl9idXR0b25fMW53ODNfOCB7XG4gIC8qIE1ha2UgdGhlIHdpZHRoIG1hdGNoIHRoYXQgb2YgYSByZWFsIGJ1dHRvbiAqL1xuICBpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XG5cbiAgLyogQnV0dG9ucyBzaG91bGQgbm90IGJlIHVuZGVybGluZWQgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uX2J1dHRvbl8xbnc4M184ID4gc3ZnIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcztcbn1cblxuLl9idXR0b25fMW53ODNfOFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGwgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKSAhaW1wb3J0YW50O1xufVxuXG4uX2J1dHRvbl8xbnc4M184W2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdID4gc3ZnIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWRpc2FibGVkKSAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIFNJWkVTXG4gKi9cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLXNpemU9XCJsZ1wiXSB7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1jcGQtc3BhY2UtOHgpO1xuICBtaW4tYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG5cbiAgJi5faWNvbi1vbmx5XzFudzgzXzUzIHtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMTJ4KTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG4gIH1cbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLXNpemU9XCJsZ1wiXS5faGFzLWljb25fMW53ODNfNjA6bm90KC5faWNvbi1vbmx5XzFudzgzXzUzKSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtN3gpO1xufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEtc2l6ZT1cIm1kXCJdIHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS01eCk7XG4gIG1pbi1ibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtOXgpO1xuXG4gICYuX2ljb24tb25seV8xbnc4M181MyB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTl4KTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTl4KTtcbiAgfVxufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEtc2l6ZT1cIm1kXCJdLl9oYXMtaWNvbl8xbnc4M182MDpub3QoLl9pY29uLW9ubHlfMW53ODNfNTMpIHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi8qKlxuICogS0lORFNcbiAqL1xuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInByaW1hcnlcIl0ge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInByaW1hcnlcIl0gPiBzdmcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktaG92ZXJlZCk7XG4gIH1cbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmFjdGl2ZSxcbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwicHJpbWFyeVwiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1wcmVzc2VkKTtcbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgLyogIWltcG9ydGFudCB0byBvdmVycmlkZSBkZXN0cnVjdGl2ZSBiYWNrZ3JvdW5kICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSkgIWltcG9ydGFudDtcbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdLl9kZXN0cnVjdGl2ZV8xbnc4M18xMTAge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdLl9kZXN0cnVjdGl2ZV8xbnc4M18xMTA6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1ob3ZlcmVkKTtcbiAgfVxufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInByaW1hcnlcIl0uX2Rlc3RydWN0aXZlXzFudzgzXzExMDphY3RpdmUsXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInByaW1hcnlcIl0uX2Rlc3RydWN0aXZlXzFudzgzXzExMFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gIC8qIFRPRE86IFdlJ3JlIHdhaXRpbmcgZm9yIHRoaXMgdmFsdWUgdG8gYmUgZm9ybWFsaXplZCBhcyBhIHNlbWFudGljIHRva2VuICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1yZWQtMTEwMCk7XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdID4gc3ZnIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICB9XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdOmFjdGl2ZSxcbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInNlY29uZGFyeVwiXVthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gIC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgZGVzdHJ1Y3RpdmUgdmFsdWVzICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInNlY29uZGFyeVwiXS5fZGVzdHJ1Y3RpdmVfMW53ODNfMTEwIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXN1YnRsZSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0uX2Rlc3RydWN0aXZlXzFudzgzXzExMCA+IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInNlY29uZGFyeVwiXS5fZGVzdHJ1Y3RpdmVfMW53ODNfMTEwOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZSk7XG4gIH1cbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0uX2Rlc3RydWN0aXZlXzFudzgzXzExMDphY3RpdmUsXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInNlY29uZGFyeVwiXS5fZGVzdHJ1Y3RpdmVfMW53ODNfMTEwW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLWhvdmVyZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlLWhvdmVyZWQpO1xufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIH1cbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXTphY3RpdmUsXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXVthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG5cbiAgLyogIWltcG9ydGFudCB0byBvdmVycmlkZSBkZXN0cnVjdGl2ZSBiYWNrZ3JvdW5kICovXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwidGVydGlhcnlcIl0uX2Rlc3RydWN0aXZlXzFudzgzXzExMCB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdLl9kZXN0cnVjdGl2ZV8xbnc4M18xMTA6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUpO1xuICB9XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwidGVydGlhcnlcIl0uX2Rlc3RydWN0aXZlXzFudzgzXzExMDphY3RpdmUsXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdLl9kZXN0cnVjdGl2ZV8xbnc4M18xMTBbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlLWhvdmVyZWQpO1xufVxuXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInByaW1hcnlcIl0ge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLypcbiAqIENvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4gKi9cblxuLl9jaGF0LWZpbHRlcl81cWRwMF84IHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1tZWRpdW0pO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWRcbiAgICB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xeCkgdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2NoYXQtZmlsdGVyXzVxZHAwXzg6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICB9XG59XG5cbi5fY2hhdC1maWx0ZXJfNXFkcDBfOFthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2NvbnRhaW5lcl96OHpvMV84IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBsYWJlbCB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIH1cblxuICBidXR0b24ge1xuICAgIGlubGluZS1zaXplOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS0zeClcbiAgICAgIHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XG5cbiAgICBzdmcge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGxpbmVhcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB0aGUgZHJvcGRvd24gaXMgb3Blbiwgcm90YXRlIHRoZSBhcnJvdyBpY29uXG4gICAqL1xuICBidXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5fcGxhY2Vob2xkZXJfejh6bzFfNDkge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICB9XG5cbiAgLl9ib3JkZXJfejh6bzFfNTMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItaW5saW5lLWVuZDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyh2YXIoLS1jcGQtc3BhY2UtMXgpICogLTEpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuX2NvbnRlbnRfejh6bzFfNjIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdWwge1xuICAgICAgLyoqXG4gICAgICAgKiBUbyBtYWtlIHRoZSBjb21wb25lbnQgZ29pbmcgb3ZlciB0aGUgb3RoZXIgZWxlbWVudHNcbiAgICAgICAqL1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gICAgICBib3JkZXItYmxvY2stc3RhcnQ6IDA7XG4gICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IDAgcmdiKDI3IDI5IDM0IC8gMTAlKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IFwiXCI7XG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgICAgICBib3JkZXItYmxvY2stZW5kOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuXG4gICAgICAgIEBtZWRpYSAoaG92ZXIpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTIwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuX29wZW5fejh6bzFfMTEwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5faGVscF96OHpvMV8xMTQge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIH1cblxuICAuX2Vycm9yX3o4em8xXzExOSB7XG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1tZWRpdW0pO1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgfVxuXG4gIC5fZXJyb3Jfejh6bzFfMTE5LFxuICAuX2hlbHBfejh6bzFfMTE0IHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIH1cblxuICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgIGxhYmVsIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICB9XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2NvbnRhaW5lcl8xczgzNl84IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLl9jb250cm9sXzFzODM2XzEzIHtcbiAgZmxleDogMTtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtMTJ4KSAhaW1wb3J0YW50O1xuXG4gIC8qIEZyb20gdGhlIGZsZXhib3ggc3BlYzpcbiAgICogICBcIkJ5IGRlZmF1bHQsIGZsZXggaXRlbXMgd29u4oCZdCBzaHJpbmsgYmVsb3cgdGhlaXIgbWluaW11bSBjb250ZW50IHNpemVcIlxuICAgKiBUaGlzIGFsbG93cyB0aGUgZWxlbWVudCB0byBzaHJpbmsgbG93ZXIgdGhhbiBpdHMgbmF0dXJhbCBkZWZhdWx0IHNpemUuXG4gICAqL1xuICBtaW4taW5saW5lLXNpemU6IDA7XG59XG5cbi5fYWN0aW9uXzFzODM2XzI0IHtcbiAgYWxsOiB1bnNldDtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtYmxvY2s6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIGluc2V0LWlubGluZS1lbmQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5fYWN0aW9uXzFzODM2XzI0ID4gc3ZnIHtcbiAgaW5saW5lLXNpemU6IHZhcigtLWNwZC1zcGFjZS02eCk7XG4gIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS02eCk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9hY3Rpb25fMXM4MzZfMjQ6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIH1cbn1cblxuLl9hY3Rpb25fMXM4MzZfMjQ6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xufVxuXG4uX2NvbnRyb2xfMXM4MzZfMTNbZGlzYWJsZWRdICsgLl9hY3Rpb25fMXM4MzZfMjQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbn1cblxuLl9jb250cm9sXzFzODM2XzEzW3JlYWRvbmx5XSArIC5fYWN0aW9uXzFzODM2XzI0IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuLypcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9jb250cm9sX2Q4M2puXzEwIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS00eCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgLyoqXG4gICogRGlzYWJsZSBjb250ZXh0dWFsIGFsdGVybmF0ZSBsaWdhdHVyZXMgaW4gaW5wdXRzXG4gICogaHR0cHM6Ly9naXRodWIuY29tL3JzbXMvaW50ZXIvaXNzdWVzLzIyMlxuICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9yc21zL2ludGVyL2Jsb2IvbWFzdGVyL3NyYy9mZWF0dXJlcy9jYWx0LmZlYVxuICAqL1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwiY2FsdFwiIDA7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9jb250cm9sX2Q4M2puXzEwOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG5cbiAgICAvKiogVE9ETzogaGF2ZSB0aGUgc2hhZG93IGluIHRoZSBkZXNpZ24gdG9rZW5zICovXG4gICAgYm94LXNoYWRvdzogMCAxLjJweCAyLjRweCAwIHJnYigwIDAgMCAvIDE1JSk7XG4gIH1cbn1cblxuLl9jb250cm9sX2Q4M2puXzEwOmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlZmVuc2l2ZS1jc3MvcmVxdWlyZS1mb2N1cy12aXNpYmxlICovXG4uX2NvbnRyb2xfZDgzam5fMTA6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLl9jb250cm9sX2Q4M2puXzEwW2RhdGEtaW52YWxpZF0ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX2NvbnRyb2xfZDgzam5fMTA6ZGlzYWJsZWQge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLl9jb250cm9sX2Q4M2puXzEwW3JlYWRvbmx5XSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2NvbnRyb2xfZDgzam5fMTAuX2VuYWJsZS1saWdhdHVyZXNfZDgzam5fNjMge1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWNwZC1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xufVxuLypcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9jb250YWluZXJfMTUzZjJfMTAge1xuICAtLXNpemU6IDIwcHg7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgaW5saW5lLXNpemU6IHZhcigtLXNpemUpO1xuICBibG9jay1zaXplOiB2YXIoLS1zaXplKTtcbn1cblxuLl9pbnB1dF8xNTNmMl8xOCxcbi5fdWlfMTUzZjJfMTkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBncmlkLWFyZWE6IDEvMTtcbiAgaW5saW5lLXNpemU6IHZhcigtLXNpemUpO1xuICBibG9jay1zaXplOiB2YXIoLS1zaXplKTtcbn1cblxuLl9pbnB1dF8xNTNmMl8xOCB7XG4gIG9wYWNpdHk6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uX3VpXzE1M2YyXzE5IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgLyogVE9ETzogT3VnaHQgdG8gYmUgYSB0b2tlbiAqL1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xufVxuXG4uX3VpXzE1M2YyXzE5IHN2ZyB7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG5cbiAgLyogY29tcGVuc2F0ZSBmb3IgdGhlIHBhcmVudCBib3JkZXIgKi9cbiAgbWFyZ2luOiAtMXB4O1xuXG4gIC8qKiBEZWZhdWx0LCByZXN0IHN0YXRlICovXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLl9pbnB1dF8xNTNmMl8xODpjaGVja2VkICsgLl91aV8xNTNmMl8xOSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbn1cblxuLl9pbnB1dF8xNTNmMl8xODpjaGVja2VkICsgLl91aV8xNTNmMl8xOSBzdmcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG59XG5cbi5faW5wdXRfMTUzZjJfMTg6Zm9jdXMtdmlzaWJsZSArIC5fdWlfMTUzZjJfMTkge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbn1cblxuLl9pbnB1dF8xNTNmMl8xOFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uX2lucHV0XzE1M2YyXzE4W2Rpc2FibGVkXSArIC5fdWlfMTUzZjJfMTkge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF8xNTNmMl8xOFtyZWFkb25seV0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl9pbnB1dF8xNTNmMl8xOFtyZWFkb25seV0gKyAuX3VpXzE1M2YyXzE5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF8xNTNmMl8xOFtkaXNhYmxlZF06Y2hlY2tlZCArIC5fdWlfMTUzZjJfMTkge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfMTUzZjJfMThbcmVhZG9ubHldOmNoZWNrZWQgKyAuX3VpXzE1M2YyXzE5IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5faW5wdXRfMTUzZjJfMTg6bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0sIDpjaGVja2VkKTpob3ZlciArIC5fdWlfMTUzZjJfMTkge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcblxuICAgIC8qKiBUT0RPOiBoYXZlIHRoZSBzaGFkb3cgaW4gdGhlIGRlc2lnbiB0b2tlbnMgKi9cbiAgICBib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDAgMCAwIC8gMTUlKTtcbiAgfVxuXG4gIC5faW5wdXRfMTUzZjJfMTg6bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0sIDpjaGVja2VkKTpob3ZlciArIC5fdWlfMTUzZjJfMTkgc3ZnIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcXVhdGVybmFyeSk7XG4gIH1cblxuICAuX2lucHV0XzE1M2YyXzE4Om5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpjaGVja2VkOmhvdmVyICsgLl91aV8xNTNmMl8xOSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG4gIH1cblxuICAuX2lucHV0XzE1M2YyXzE4W2RhdGEtaW52YWxpZF06bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0pOmNoZWNrZWQ6aG92ZXIgKyAuX3VpXzE1M2YyXzE5IHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1ob3ZlcmVkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtaG92ZXJlZCk7XG4gIH1cbn1cblxuLl9pbnB1dF8xNTNmMl8xOFtkYXRhLWludmFsaWRdOm5vdChbZGlzYWJsZWRdLCA6Y2hlY2tlZCwgW3JlYWRvbmx5XSkgKyAuX3VpXzE1M2YyXzE5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX2lucHV0XzE1M2YyXzE4W2RhdGEtaW52YWxpZF06bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0pOmNoZWNrZWQgKyAuX3VpXzE1M2YyXzE5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2NvbnRyb2xzXzE3bGlqXzgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDE1cHg7XG5cbiAgJiA+IGlucHV0IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi1pbmxpbmUtc2l6ZTogMDtcbiAgfVxufVxuXG4uX2J1dHRvbi1ncm91cF8xN2xpal8xOCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vKiBTdHlsaW5nIHRoZSBSYWRpeCBVSSBGb3JtIGNvbXBvbmVudCAqL1xuXG4vKipcbiAqIFJPT1Q6IEZvcm0gRWxlbWVudFxuICovXG5cbi5fcm9vdF8xOXVwb18xNiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTV4KTtcbn1cblxuLyoqXG4gKiBGSUVMRDogV3JhcHBlciBhcm91bmQgbGFiZWwsIGNvbnRyb2wgYW5kIG1lc3NhZ2VcbiAqL1xuXG4uX2ZpZWxkXzE5dXBvXzI2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xufVxuXG4uX2lubGluZS1maWVsZF8xOXVwb18zMiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbn1cblxuLl9pbmxpbmUtZmllbGQtYm9keV8xOXVwb18zOCB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5faW5saW5lLWZpZWxkLWNvbnRyb2xfMTl1cG9fNDQge1xuICAvKiBUaGUgY29udHJvbCBzaG91bGQgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgdGhlIGxhYmVsICovXG4gIGJsb2NrLXNpemU6IGNhbGMoXG4gICAgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LW1kKSAqIHZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpXG4gICk7XG5cbiAgLyogQWxpZ24gdGhlIGNvbnRyb2wgaW4gdGhlIG1pZGRsZSBvZiB0aGUgbGFiZWwgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyoqXG4gKiBMQUJFTFxuICovXG5cbi5fbGFiZWxfMTl1cG9fNTkge1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kKTtcbn1cblxuLl9sYWJlbF8xOXVwb181OVtmb3JdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uX2xhYmVsXzE5dXBvXzU5W2RhdGEtaW52YWxpZF0ge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi8qIEN1cnJlbnRseSB3b3JraW5nIGV2ZXJ5d2hlcmUgYnV0IG9uIEZpcmVmb3ggKG9ubHkgYmVoaW5kIGEgbGFicyBmbGFnKVxuaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzpoYXMjYnJvd3Nlcl9jb21wYXRpYmlsaXR5ICovXG4uX2xhYmVsXzE5dXBvXzU5Omhhcyh+ICogaW5wdXRbZGlzYWJsZWRdKSxcbi5fbGFiZWxfMTl1cG9fNTk6aGFzKH4gaW5wdXRbZGlzYWJsZWRdKSxcbi5faW5saW5lLWZpZWxkLWNvbnRyb2xfMTl1cG9fNDQ6aGFzKGlucHV0W2Rpc2FibGVkXSkgfiAuX2lubGluZS1maWVsZC1ib2R5XzE5dXBvXzM4IC5fbGFiZWxfMTl1cG9fNTkge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKipcbiAqIEhlbHAgYW5kIGVycm9yIG1lc3NhZ2VzXG4gKi9cblxuLl9tZXNzYWdlXzE5dXBvXzg1IHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktc20pO1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG59XG5cbi5faGVscC1tZXNzYWdlXzE5dXBvXzkxIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5fZXJyb3ItbWVzc2FnZV8xOXVwb185NSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9zdWNjZXNzLW1lc3NhZ2VfMTl1cG9fOTkge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc3VjY2Vzcy1wcmltYXJ5KTtcbn1cblxuLyogQ3VycmVudGx5IHdvcmtpbmcgZXZlcnl3aGVyZSBidXQgb24gRmlyZWZveCAob25seSBiZWhpbmQgYSBsYWJzIGZsYWcpXG5odHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmhhcyNicm93c2VyX2NvbXBhdGliaWxpdHkgKi9cbmlucHV0W2Rpc2FibGVkXSB+IC5fbWVzc2FnZV8xOXVwb184NSxcbio6aGFzKGlucHV0W2Rpc2FibGVkXSkgfiAuX21lc3NhZ2VfMTl1cG9fODUsXG4uX2lubGluZS1maWVsZC1jb250cm9sXzE5dXBvXzQ0OmhhcyhpbnB1dFtkaXNhYmxlZF0pIH4gLl9pbmxpbmUtZmllbGQtYm9keV8xOXVwb18zOCAuX21lc3NhZ2VfMTl1cG9fODUge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xufVxuXG4uX21lc3NhZ2VfMTl1cG9fODUgPiBzdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuXG4gIC8qIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaWNvbiBiYXNlZCBvbiB0aGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCAqL1xuICBibG9jay1zaXplOiBjYWxjKDFlbSAqIHZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpKTtcbiAgaW5saW5lLXNpemU6IGNhbGMoMWVtICogdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtcmVndWxhcikpO1xufVxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbkBrZXlmcmFtZXMgX3NwaW5fMTg1NWFfMSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKTtcbiAgfVxufVxuXG4uX2ljb25fMTg1NWFfMTgge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgYmxvY2stc2l6ZTogMTAwJTtcblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICBhbmltYXRpb246IDFzIGxpbmVhciBfc3Bpbl8xODU1YV8xIGluZmluaXRlO1xuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2NvbnRhaW5lcl8xN3Fod18xMCB7XG4gIC0tZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICAtLWRpZ2l0LXNpemU6IHZhcigtLWNwZC1zcGFjZS0xMHgpO1xuICAtLWRpZ2l0LWhlaWdodDogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaW5saW5lLXNpemU6IGZpdC1jb250ZW50O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IHZhcigtLWdhcCk7XG5cbiAgLyogVGhlIGlucHV0IGlzIHBvc2l0aW9uZWQgYWJzb2x1dGVseVxuICAgICBzbyB0aGUgY29udGFpbmVyIG5lZWRzIHRvIGJlIHBvc2l0aW9uZWQgcmVsYXRpdmVseSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5fY29udHJvbF8xN3Fod18yNSB7XG4gIGFsbDogdW5zZXQ7XG5cbiAgLyoqIFRPRE86IHNlbWFudGljIHRva2VuICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jcGQtZm9udC1mYW1pbHktbW9ubyksIHVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNzAwO1xuXG4gIC8qIFBvc2l0aW9uIHRoZSBpbnB1dCB0byBmaWxsIHRoZSBjb250YWluZXIgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcblxuICAvKiBTcGFjaW5nIGJldHdlZW4gZGlnaXRzIGlzIHNldCB0byB0aGUgZ2FwXG4gICAgIHBsdXMgdGhlIHNpemUgb2Ygb25lIGRpZ2l0IGJveFxuICAgICBtaW51cyB0aGUgc2l6ZSBvZiBvbmUgY2hhcmFjdGVyICovXG4gIGxldHRlci1zcGFjaW5nOiBjYWxjKHZhcigtLWdhcCkgKyB2YXIoLS1kaWdpdC1zaXplKSAtIDFjaCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1kaWdpdC1oZWlnaHQpO1xuXG4gIC8qIFRoZSBwYWRkaW5nIGF0IHRoZSBzdGFydCBwb3NpdGlvbnMgdGhlIGZpcnN0IGRpZ2l0IGF0IHRoZSBtaWRkbGUgb2YgdGhlIGRpZ2l0IGJveCAqL1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jcGQtc3BhY2UtMTB4KSAvIDIgLSAoMWNoIC8gMikpO1xuXG4gIC8qIFRoZSBuZWdhdGl2ZSBtYXJnaW4gYXQgdGhlIGVuZCBpcyB0byBrZWVwIHNwYWNlIGZvciB0aGUgY3Vyc29yIHdoZW4gdGhlIGlucHV0IGlzIGZ1bGwgKi9cbiAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLTEgKiAodmFyKC0tY3BkLXNwYWNlLTEweCkgKyB2YXIoLS1jcGQtc3BhY2UtM3gpKSk7XG59XG5cbi5fZGlnaXRfMTdxaHdfNDkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTEweCk7XG4gIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS0xMngpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2NvbnRyb2xfMTdxaHdfMjU6aG92ZXIgfiAuX2RpZ2l0XzE3cWh3XzQ5IHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG5cbiAgICAvKiogVE9ETzogaGF2ZSB0aGUgc2hhZG93IGluIHRoZSBkZXNpZ24gdG9rZW5zICovXG4gICAgYm94LXNoYWRvdzogMCAxLjJweCAyLjRweCAwIHJnYigwIDAgMCAvIDE1JSk7XG4gIH1cbn1cblxuLl9jb250cm9sXzE3cWh3XzI1OmRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLl9jb250cm9sXzE3cWh3XzI1OmRpc2FibGVkIH4gLl9kaWdpdF8xN3Fod180OSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGlzYWJsZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xufVxuXG4uX2NvbnRyb2xfMTdxaHdfMjVbcmVhZG9ubHldIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5fY29udHJvbF8xN3Fod18yNVtyZWFkb25seV0gfiAuX2RpZ2l0XzE3cWh3XzQ5IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbn1cblxuLl9jb250cm9sXzE3cWh3XzI1W2RhdGEtaW52YWxpZF0gfiAuX2RpZ2l0XzE3cWh3XzQ5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlZmVuc2l2ZS1jc3MvcmVxdWlyZS1mb2N1cy12aXNpYmxlICovXG4uX2NvbnRyb2xfMTdxaHdfMjU6Zm9jdXMgfiAuX2RpZ2l0XzE3cWh3XzQ5Om5vdChbZGF0YS1maWxsZWRdKSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uX2RpZ2l0XzE3cWh3XzQ5W2RhdGEtc2VsZWN0ZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctaW5mby1zdWJ0bGUpO1xufVxuLypcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9jb250YWluZXJfMXVnN25fMTAge1xuICAtLXNpemU6IDIwcHg7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgaW5saW5lLXNpemU6IHZhcigtLXNpemUpO1xuICBibG9jay1zaXplOiB2YXIoLS1zaXplKTtcbn1cblxuLl9pbnB1dF8xdWc3bl8xOCxcbi5fdWlfMXVnN25fMTkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBncmlkLWFyZWE6IDEvMTtcbiAgaW5saW5lLXNpemU6IHZhcigtLXNpemUpO1xuICBibG9jay1zaXplOiB2YXIoLS1zaXplKTtcbn1cblxuLl9pbnB1dF8xdWc3bl8xOCB7XG4gIG9wYWNpdHk6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uX3VpXzF1ZzduXzE5IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcblxuICAvKiBUbyBhbGlnbiB0aGUgOjphZnRlciBwc2V1ZG8tZWxlbWVudCB0byB0aGUgY2VudGVyIG9mIHRoZSByYWRpbyBidXR0b24gKi9cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5fdWlfMXVnN25fMTk6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgaW5saW5lLXNpemU6IDZweDtcbiAgYmxvY2stc2l6ZTogNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC8qIEFkZGl0aW9uYWwgc3R5bGUgdG8gZW5zdXJlIHZpc2liaWxpdHkgaW4gY29udHJhc3QtbW9kZSAqL1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uX2lucHV0XzF1ZzduXzE4OmNoZWNrZWQgKyAuX3VpXzF1ZzduXzE5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xuICBjb2xvcjogdW5zZXQ7XG59XG5cbi5faW5wdXRfMXVnN25fMTg6Y2hlY2tlZCArIC5fdWlfMXVnN25fMTk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG4gIGNvbG9yOiB1bnNldDtcbn1cblxuLl9pbnB1dF8xdWc3bl8xODpmb2N1cy12aXNpYmxlICsgLl91aV8xdWc3bl8xOSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWZvY3VzZWQpO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xufVxuXG4uX2lucHV0XzF1ZzduXzE4W3JlYWRvbmx5XSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uX2lucHV0XzF1ZzduXzE4W3JlYWRvbmx5XSArIC5fdWlfMXVnN25fMTkge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xufVxuXG4uX2lucHV0XzF1ZzduXzE4W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5faW5wdXRfMXVnN25fMThbZGlzYWJsZWRdICsgLl91aV8xdWc3bl8xOSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGlzYWJsZWQpO1xufVxuXG4uX2lucHV0XzF1ZzduXzE4W2Rpc2FibGVkXTpjaGVja2VkICsgLl91aV8xdWc3bl8xOSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF8xdWc3bl8xOFtyZWFkb25seV06Y2hlY2tlZCArIC5fdWlfMXVnN25fMTk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICBjb2xvcjogdW5zZXQ7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9pbnB1dF8xdWc3bl8xODpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSwgOmNoZWNrZWQpOmhvdmVyICsgLl91aV8xdWc3bl8xOSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuXG4gICAgLyoqIFRPRE86IGhhdmUgdGhlIHNoYWRvdyBpbiB0aGUgZGVzaWduIHRva2VucyAqL1xuICAgIGJveC1zaGFkb3c6IDAgMS4ycHggMi40cHggMCByZ2IoMCAwIDAgLyAxNSUpO1xuICB9XG5cbiAgLl9pbnB1dF8xdWc3bl8xODpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSwgOmNoZWNrZWQpOmhvdmVyICsgLl91aV8xdWc3bl8xOTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXF1YXRlcm5hcnkpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcXVhdGVybmFyeSk7XG4gICAgY29sb3I6IHVuc2V0O1xuICB9XG5cbiAgLl9pbnB1dF8xdWc3bl8xODpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6Y2hlY2tlZDpob3ZlciArIC5fdWlfMXVnN25fMTkge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuICB9XG5cbiAgLl9pbnB1dF8xdWc3bl8xOFtkYXRhLWludmFsaWRdOm5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpjaGVja2VkOmhvdmVyICsgLl91aV8xdWc3bl8xOSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLWhvdmVyZWQpO1xuICB9XG59XG5cbi5faW5wdXRfMXVnN25fMThbZGF0YS1pbnZhbGlkXTpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSwgOmNoZWNrZWQpICsgLl91aV8xdWc3bl8xOSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9pbnB1dF8xdWc3bl8xOFtkYXRhLWludmFsaWRdOm5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpjaGVja2VkICsgLl91aV8xdWc3bl8xOSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2NvbnRhaW5lcl91ZGNtOF8xMCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGlubGluZS1zaXplOiAyLjI1cmVtO1xuICBibG9jay1zaXplOiAxLjI1cmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uX2NvbnRhaW5lcl91ZGNtOF8xMCA+ICoge1xuICBncmlkLWFyZWE6IDEvMTtcbiAgaW5saW5lLXNpemU6IGluaGVyaXQ7XG4gIGJsb2NrLXNpemU6IGluaGVyaXQ7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi5fY29udGFpbmVyX3VkY204XzEwID4gLl9pbnB1dF91ZGNtOF8yNCB7XG4gIG9wYWNpdHk6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uX2NvbnRhaW5lcl91ZGNtOF8xMCA+IC5faW5wdXRfdWRjbThfMjRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLl91aV91ZGNtOF8zNCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxcHg7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuXG4uX2lucHV0X3VkY204XzI0OmNoZWNrZWQgKyAuX3VpX3VkY204XzM0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xufVxuXG4uX3VpX3VkY204XzM0OjphZnRlciB7XG4gIC0tZG90LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuXG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBibG9jay1zaXplOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWRvdC1jb2xvcik7XG5cbiAgLyogQWRkaXRpb25hbCBzdHlsZSB0byBlbnN1cmUgdmlzaWJpbGl0eSBpbiBjb250cmFzdC1tb2RlICovXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRvdC1jb2xvcik7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2Zvcm07XG59XG5cbi8qIE5vdGUgdGhlIHVzZSBvZiA6Zm9jdXMtdmlzaWJsZSByYXRoZXIgdGhhbiA6Zm9jdXMgdG8gYXZvaWQgc2hvd2luZyB0aGUgZm9jdXNcbnJpbmcgYWZ0ZXIgYSBzaW1wbGUgY2xpY2sgKi9cbi5faW5wdXRfdWRjbThfMjQ6Zm9jdXMtdmlzaWJsZSArIC5fdWlfdWRjbThfMzQge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbn1cblxuOmNoZWNrZWQgKyAuX3VpX3VkY204XzM0OjphZnRlciB7XG4gIC0tZG90LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcblxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgOmNoZWNrZWQ6bm90KFtkaXNhYmxlZF0pOmhvdmVyICsgLl91aV91ZGNtOF8zNCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG4gIH1cbn1cblxuOmNoZWNrZWQ6YWN0aXZlICsgLl91aV91ZGNtOF8zNCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbn1cblxuLl9pbnB1dF91ZGNtOF8yNFtyZWFkb25seV0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl9pbnB1dF91ZGNtOF8yNFtyZWFkb25seV0gKyAuX3VpX3VkY204XzM0IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF91ZGNtOF8yNFtyZWFkb25seV0gKyAuX3VpX3VkY204XzM0OjphZnRlciB7XG4gIC0tZG90LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xufVxuXG4uX2lucHV0X3VkY204XzI0W2Rpc2FibGVkXSArIC5fdWlfdWRjbThfMzQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF91ZGNtOF8yNFtkaXNhYmxlZF0gKyAuX3VpX3VkY204XzM0OjphZnRlciB7XG4gIC0tZG90LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xufVxuXG4uX2lucHV0X3VkY204XzI0W3JlYWRvbmx5XTpjaGVja2VkICsgLl91aV91ZGNtOF8zNCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF91ZGNtOF8yNFtyZWFkb25seV06Y2hlY2tlZCArIC5fdWlfdWRjbThfMzQ6OmFmdGVyIHtcbiAgLS1kb3QtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG4uX2lucHV0X3VkY204XzI0W2Rpc2FibGVkXTpjaGVja2VkICsgLl91aV91ZGNtOF8zNCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF91ZGNtOF8yNFtkaXNhYmxlZF06Y2hlY2tlZCArIC5fdWlfdWRjbThfMzQ6OmFmdGVyIHtcbiAgLS1kb3QtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5faW5wdXRfdWRjbThfMjQ6bm90KDpjaGVja2VkLCBbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpob3ZlciArIC5fdWlfdWRjbThfMzQge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcblxuICAgIC8qKiBUT0RPOiBoYXZlIHRoZSBzaGFkb3cgaW4gdGhlIGRlc2lnbiB0b2tlbnMgKi9cbiAgICBib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDAgMCAwIC8gMTUlKTtcbiAgfVxufVxuXG4uX2lucHV0X3VkY204XzI0Om5vdCg6Y2hlY2tlZCwgW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6YWN0aXZlICsgLl91aV91ZGNtOF8zNCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2dsYXNzX3NlcHd1Xzgge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtOXgpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuXG4gIC8qIFdlIHVzZSBhbiBvdXRsaW5lIGhlcmUgdG8gY3JlYXRlIGFuIFwiaW5uZXIgYm9yZGVyXCIsIHJhdGhlciB0aGFuIG9uZSB0aGF0XG4gIGFkZHMgdG8gdGhlIGNvbXBvbmVudCdzIHNpemUgKi9cbiAgb3V0bGluZTogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDApO1xuICBvdXRsaW5lLW9mZnNldDogY2FsYygtMSAqIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDApO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG59XG5cbi5fZ2xhc3Nfc2Vwd3VfOCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS02eCk7XG4gIGlubGluZS1zaXplOiAxMDAlO1xuICBibG9jay1zaXplOiAxMDAlO1xufVxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fYmlnLWljb25fMXNzYnZfOCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuXG4gID4gc3ZnIHtcbiAgICBpbmxpbmUtc2l6ZTogMzJweDtcbiAgICBibG9jay1zaXplOiAzMnB4O1xuICB9XG59XG5cbi5fYmlnLWljb25fMXNzYnZfOFtkYXRhLXNpemU9XCJtZFwiXSB7XG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG59XG5cbi5fYmlnLWljb25fMXNzYnZfOFtkYXRhLXNpemU9XCJzbVwiXSB7XG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG5cbiAgPiBzdmcge1xuICAgIGlubGluZS1zaXplOiAyNHB4O1xuICAgIGJsb2NrLXNpemU6IDI0cHg7XG4gIH1cbn1cblxuLl9iaWctaWNvbl8xc3Nidl84W2RhdGEta2luZD1cInByaW1hcnlcIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbn1cblxuLl9iaWctaWNvbl8xc3Nidl84W2RhdGEta2luZD1cImNyaXRpY2FsXCJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9iaWctaWNvbl8xc3Nidl84W2RhdGEta2luZD1cInN1Y2Nlc3NcIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VjY2Vzcy1zdWJ0bGUpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc3VjY2Vzcy1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl9iaWctaWNvbl8xc3Nidl84IHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2l0ZW1fYnltOXBfOCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGU6IFwiaWNvbiBsYWJlbCAuXCIgYXV0byBcImVtcHR5MSBsYWJlbCBlbXB0eTJcIiBhdXRvIC8gYXV0byBhdXRvIG1pbm1heChcbiAgICAgIC8qIFJlc2VydmUgc3BhY2UgZm9yIHRoZSBjaGV2cm9uIHNvIHRoYXQgdGhlIGxheW91dCBkb2Vzbid0IHNoaWZ0IG9uXG4gICAgICBob3ZlciAqL1xuICAgICAgdmFyKC0tY3BkLXNwYWNlLTJ4KSxcbiAgICAgIDFmclxuICAgICk7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXIgZW5kO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG4gIG1pbi1pbmxpbmUtc2l6ZTogMjAwcHg7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1yZXN0KTtcbn1cblxuLl9pdGVtX2J5bTlwXzguX2ludGVyYWN0aXZlX2J5bTlwXzI2LFxuLl9pdGVtX2J5bTlwXzhbZGF0YS1zdGF0ZV0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5faXRlbV9ieW05cF84Ll9uby1sYWJlbF9ieW05cF8zMSB7XG4gIGdyaWQtdGVtcGxhdGU6IFwiaWNvbiAuXCIgYXV0byAvIGF1dG8gMWZyO1xufVxuXG4uX2xhYmVsX2J5bTlwXzM1IHtcbiAgZ3JpZC1hcmVhOiBsYWJlbDtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLXByb3BlcnR5LXZhbHVlLWtleXdvcmQtbm8tZGVwcmVjYXRlZCAqL1xufVxuXG4uX2l0ZW1fYnltOXBfOC5fbm8taWNvbl9ieW05cF80MiB7XG4gIGdyaWQtdGVtcGxhdGU6IFwibGFiZWwgLlwiIGF1dG8gLyBhdXRvIDFmcjtcblxuICAuX2xhYmVsX2J5bTlwXzM1IHtcbiAgICAvKiBXaXRob3V0IGljb24sIHRoZSBoZWlnaHQgY2hhbmdlcyB3aGVuIGhvdmVyZWQgKi9cbiAgICBtaW4tYmxvY2stc2l6ZTogMjRweDtcbiAgfVxufVxuXG4uX2ljb25fYnltOXBfNTEge1xuICBncmlkLWFyZWE6IGljb247XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xufVxuXG4uX2l0ZW1fYnltOXBfOC5fbm8tbGFiZWxfYnltOXBfMzEgLl9pY29uX2J5bTlwXzUxIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi5fbmF2LWhpbnRfYnltOXBfNjAge1xuICAvKiBIaWRkZW4gdW50aWwgdGhlIGl0ZW0gaXMgaG92ZXJlZCBvdmVyICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG5idXR0b24uX2l0ZW1fYnltOXBfOCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLl9pdGVtX2J5bTlwXzhbZGF0YS1raW5kPVwicHJpbWFyeVwiXSA+IC5fbGFiZWxfYnltOXBfMzUge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5faXRlbV9ieW05cF84W2RhdGEta2luZD1cInByaW1hcnlcIl0gPiAuX2ljb25fYnltOXBfNTEge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG59XG5cbi5faXRlbV9ieW05cF84W2RhdGEta2luZD1cInByaW1hcnlcIl0gPiAuX25hdi1oaW50X2J5bTlwXzYwIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcbn1cblxuLl9pdGVtX2J5bTlwXzhbZGF0YS1raW5kPVwiY3JpdGljYWxcIl0gPiAuX2xhYmVsX2J5bTlwXzM1IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4uX2l0ZW1fYnltOXBfOFtkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXSA+IC5faWNvbl9ieW05cF81MSxcbi5faXRlbV9ieW05cF84W2RhdGEta2luZD1cImNyaXRpY2FsXCJdID4gLl9uYXYtaGludF9ieW05cF82MCB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLyogU3VibWVudSB0cmlnZ2VyczogYWx3YXlzIHNob3cgdGhlIGNoZXZyb24gYW5kIGFwcGx5IGhvdmVyIHN0eWxlIHdoZW4gb3BlbiAqL1xuLl9pdGVtX2J5bTlwXzhbZGF0YS1zdGF0ZV0gPiAuX25hdi1oaW50X2J5bTlwXzYwIHtcbiAgZGlzcGxheTogaW5pdGlhbDtcbn1cblxuLl9pdGVtX2J5bTlwXzhbZGF0YS1zdGF0ZV0gPiAuX25hdi1oaW50X2J5bTlwXzYwIH4gKiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5faXRlbV9ieW05cF84W2RhdGEtc3RhdGU9XCJvcGVuXCJdW2RhdGEta2luZD1cInByaW1hcnlcIl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1ob3ZlcmVkKTtcbn1cblxuLl9pdGVtX2J5bTlwXzhbZGF0YS1zdGF0ZT1cIm9wZW5cIl1bZGF0YS1raW5kPVwiY3JpdGljYWxcIl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlKTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2l0ZW1fYnltOXBfOC5faW50ZXJhY3RpdmVfYnltOXBfMjZbZGF0YS1raW5kPVwicHJpbWFyeVwiXTpob3ZlcixcbiAgLl9pdGVtX2J5bTlwXzhbZGF0YS1zdGF0ZV1bZGF0YS1raW5kPVwicHJpbWFyeVwiXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktaG92ZXJlZCk7XG4gIH1cblxuICAuX2l0ZW1fYnltOXBfOC5faW50ZXJhY3RpdmVfYnltOXBfMjZbZGF0YS1raW5kPVwiY3JpdGljYWxcIl06aG92ZXIsXG4gIC5faXRlbV9ieW05cF84W2RhdGEtc3RhdGVdW2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlKTtcbiAgfVxuXG4gIC8qIFJlcGxhY2UgdGhlIGNoaWxkcmVuIHdpdGggdGhlIG5hdmlnYXRpb24gaGludCBvbiBob3ZlciAqL1xuICAuX2l0ZW1fYnltOXBfOC5faW50ZXJhY3RpdmVfYnltOXBfMjY6aG92ZXIgPiAuX25hdi1oaW50X2J5bTlwXzYwIHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICB9XG5cbiAgLl9pdGVtX2J5bTlwXzguX2ludGVyYWN0aXZlX2J5bTlwXzI2OmhvdmVyID4gLl9uYXYtaGludF9ieW05cF82MCB+ICoge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLl9pdGVtX2J5bTlwXzguX2ludGVyYWN0aXZlX2J5bTlwXzI2W2RhdGEta2luZD1cInByaW1hcnlcIl06YWN0aXZlLFxuLl9pdGVtX2J5bTlwXzhbZGF0YS1zdGF0ZV1bZGF0YS1raW5kPVwicHJpbWFyeVwiXTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1wcmVzc2VkKTtcbn1cblxuLl9pdGVtX2J5bTlwXzguX2ludGVyYWN0aXZlX2J5bTlwXzI2W2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmFjdGl2ZSxcbi5faXRlbV9ieW05cF84W2RhdGEtc3RhdGVdW2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUtaG92ZXJlZCk7XG59XG5cbi5faXRlbV9ieW05cF84W2RhdGEta2luZF0uX2Rpc2FibGVkX2J5bTlwXzE0MCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uX2l0ZW1fYnltOXBfOFtkYXRhLWtpbmRdLl9kaXNhYmxlZF9ieW05cF8xNDAgPiAuX2xhYmVsX2J5bTlwXzM1LFxuLl9pdGVtX2J5bTlwXzhbZGF0YS1raW5kXS5fZGlzYWJsZWRfYnltOXBfMTQwID4gLl9pY29uX2J5bTlwXzUxLFxuLl9pdGVtX2J5bTlwXzhbZGF0YS1raW5kXS5fZGlzYWJsZWRfYnltOXBfMTQwID4gLl9uYXYtaGludF9ieW05cF82MCB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9iZ182MTB6cF84IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcblxuICAvKiBUT0RPOiBUaGlzIHZhbHVlIGlzIHVzZWQgYWNyb3NzIG1vZGFscyBhbmQgbWVudSBkcmF3ZXJzLCBzbyB3b3VsZCBiZSB3b3J0aFxuICB0b2tlbml6aW5nICovXG4gIGJhY2tncm91bmQ6IHJnYigzIDEyIDI3IC8gNTIuOCUpO1xufVxuXG4uX2RyYXdlcl82MTB6cF8xNyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgaW5zZXQtYmxvY2stZW5kOiAwO1xuICBpbnNldC1pbmxpbmU6IDA7XG5cbiAgLyogQ2FwIHRoZSBpbmxpbmUgY29udGVudCBzaXplIGF0IDUyMHB4LCBmaWxsaW5nIHRoZSByZXN0IG9mIHRoZSBzcGFjZSB3aXRoXG4gIHBhZGRpbmcgKi9cbiAgcGFkZGluZy1pbmxpbmU6IG1heCgwcHgsIGNhbGMoKDEwMCUgLSA1MjBweCkgLyAyKSk7XG4gIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLyogRHJhd2VyIGNvbWVzIGluIHRoZSBBbmRyb2lkIHN0eWxlIGJ5IGRlZmF1bHQgKi9cbiAgLS1ib3JkZXItcmFkaXVzOiAyOHB4O1xuICAtLWhhbmRsZS1ibG9jay1zaXplOiA0cHg7XG4gIC0taGFuZGxlLWlubGluZS1zaXplOiAzMnB4O1xuICAtLWhhbmRsZS1pbnNldC1ibG9jay1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgLS1oYW5kbGUtaW5zZXQtYmxvY2stZW5kOiAwcHg7XG4gIC0tY29udGVudC1pbnNldC1ibG9jay1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1oYW5kbGUtaW5zZXQtYmxvY2stc3RhcnQpICsgdmFyKC0taGFuZGxlLWJsb2NrLXNpemUpICtcbiAgICAgIHZhcigtLWhhbmRsZS1pbnNldC1ibG9jay1lbmQpXG4gICk7XG59XG5cbi5fZHJhd2VyXzYxMHpwXzE3W2RhdGEtcGxhdGZvcm09XCJpb3NcIl0ge1xuICAtLWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC0taGFuZGxlLWJsb2NrLXNpemU6IDVweDtcbiAgLS1oYW5kbGUtaW5saW5lLXNpemU6IDM2cHg7XG4gIC0taGFuZGxlLWluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtMS01eCk7XG4gIC0taGFuZGxlLWluc2V0LWJsb2NrLWVuZDogMXB4O1xufVxuXG4uX2JvZHlfNjEwenBfNTEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tY29udGVudC1pbnNldC1ibG9jay1zdGFydCkgKyB2YXIoLS1jcGQtc3BhY2UtNngpKVxuICAgIHZhcigtLWNwZC1zcGFjZS0xMngpO1xuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8qIEV2ZW4gd2l0aCBvdmVyZmxvdzogYXV0bywgdGhlIGNvbnRlbnQgY2FuIHN0aWxsIG92ZXJmbG93IGF0IHRoZSBjb3JuZXJzXG4gIHdoZXJlIGl0IG1lZXRzIHdpdGggdGhlIGN1cnZlZCBib3JkZXIuIEEgY29udGFpbjogcGFpbnQgZml4ZXMgdGhhdC4gKi9cbiAgY29udGFpbjogcGFpbnQ7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cbiAgLS1jcGQtc2VwYXJhdG9yLXNwYWNpbmc6IDA7XG4gIC0tY3BkLXNlcGFyYXRvci1pbnNldDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbn1cblxuLl9ib2R5XzYxMHpwXzUxOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJsb2NrLXNpemU6IHZhcigtLWhhbmRsZS1ibG9jay1zaXplKTtcbiAgaW5zZXQtaW5saW5lOiBjYWxjKCgxMDAlIC0gdmFyKC0taGFuZGxlLWlubGluZS1zaXplKSkgLyAyKTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLWhhbmRsZS1pbnNldC1ibG9jay1zdGFydCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1yYWRpdXMtcGlsbC1lZmZlY3QpO1xufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fbWVudV8xa2wzeV84IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcblxuICAvKiBIZXJlIHdlIHVzZSBvdXRsaW5lIHRvIGNyZWF0ZSBhIGJvcmRlciBpbnRlcm5hbCB0byB0aGUgY29udGFpbmVyLiBUaGUgUmFkaXhcbiAgbWVudSBjb21wb25lbnQgbWF5IHRyeSB0byBvdmVycmlkZSBpdCB3aXRoIG91dGxpbmU6IG5vbmUsIGhlbmNlIHRoZSBuZWVkIGZvclxuICAhaW1wb3J0YW50LiAqL1xuICBvdXRsaW5lOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkXG4gICAgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gIG91dGxpbmUtb2Zmc2V0OiBjYWxjKC0xICogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDI0cHggMCByZ2IoMCAwIDAgLyAxMCUpO1xuICBpbmxpbmUtc2l6ZTogZml0LWNvbnRlbnQ7XG4gIG1heC1pbmxpbmUtc2l6ZTogMzIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tY3BkLXNwYWNlLTV4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuXG4gIC0tY3BkLXNlcGFyYXRvci1zcGFjaW5nOiAwO1xuICAtLWNwZC1zZXBhcmF0b3ItaW5zZXQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbkBrZXlmcmFtZXMgX3NsaWRlLWluXzFrbDN5XzEge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIHZhcigtLWNwZC1zcGFjZS0zeCkpO1xuICB9XG59XG5cbi5fbWVudV8xa2wzeV84W2RhdGEtc3RhdGU9XCJvcGVuXCJdIHtcbiAgLyogRGlzYWJsZSBsaW50ZXIsIHdlIGhhdmUgYSByZWR1Y2VkIG1vdGlvbiBzdHlsZSBiZWxvdyAqL1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVmZW5zaXZlLWNzcy9yZXF1aXJlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24gKi9cbiAgYW5pbWF0aW9uOiBfc2xpZGUtaW5fMWtsM3lfMSAxODBtcztcbn1cblxuQGtleWZyYW1lcyBfZmFkZS1pbl8xa2wzeV8xIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIF9mYWRlLW91dF8xa2wzeV8xIHtcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gIC5fbWVudV8xa2wzeV84W2RhdGEtc3RhdGU9XCJvcGVuXCJdIHtcbiAgICBhbmltYXRpb24tbmFtZTogX2ZhZGUtaW5fMWtsM3lfMTtcbiAgfVxuXG4gIC5fbWVudV8xa2wzeV84W2RhdGEtc3RhdGU9XCJjbG9zZWRcIl0ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBfZmFkZS1vdXRfMWtsM3lfMTtcbiAgfVxufVxuXG4uX3RpdGxlXzFrbDN5XzY1IHtcbiAgLyoqIE92ZXJyaWRlIE1lbnVUaXRsZSBtYXJnaW4gdG9wICoqL1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDAgIWltcG9ydGFudDtcbn1cbi8qXG4gKiBDb3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZFxuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbi5fbWVudS10aXRsZV8xc2d2eF84IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICBwYWRkaW5nLWJsb2NrLWVuZDogY2FsYyh2YXIoLS1jcGQtc3BhY2UtMngpIC0gdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSk7XG4gIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xufVxuLyogQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGQuXG4gKiBDb3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbi5fbmF2LWJhcl9wbWFsMl84IHtcbiAgYm9yZGVyLWJsb2NrLWVuZDogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS02eCkgMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLl9uYXYtYmFyLWl0ZW1zX3BtYWwyXzE0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogXCJcIjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uX25hdi10YWJfcG1hbDJfMjUge1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogVW5kZXJsaW5lIGVmZmVjdCAqL1xuLl9uYXYtdGFiX3BtYWwyXzI1OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgaW5zZXQtaW5saW5lOiAwO1xuICBibG9jay1zaXplOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KSB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KSAwIDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4xcyBlYXNlLWluLW91dDtcbiAgfVxufVxuXG4uX25hdi10YWJfcG1hbDJfMjVbZGF0YS1jdXJyZW50XTo6YmVmb3JlIHtcbiAgLyogVGhpcyBpcyBub3QgZXhhY3RseSByaWdodDogZGVzaWducyBzYXlzIDNweCwgYnV0IHRoZXJlIGFyZSBubyB2YXJpYWJsZXMgZm9yIHRoYXQgKi9cbiAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLWJvcmRlci13aWR0aC00KTtcbn1cblxuLl9uYXYtaXRlbV9wbWFsMl81MCB7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9uYXYtaXRlbV9wbWFsMl81MDpub3QoW2Rpc2FibGVkXSk6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIH1cbn1cblxuLl9uYXYtaXRlbV9wbWFsMl81MDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKSB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTIpIHNvbGlkO1xufVxuXG4uX25hdi1pdGVtX3BtYWwyXzUwOm5vdChbZGlzYWJsZWRdKTphY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG59XG5cbi5fbmF2LWl0ZW1fcG1hbDJfNTBbYXJpYS1jdXJyZW50XSxcbi5fbmF2LWl0ZW1fcG1hbDJfNTBbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5fbmF2LWl0ZW1fcG1hbDJfNTBbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAvKiBFbmFibGUgcG9pbnRlciBldmVudHMgZm9yIHN2Z3MgZXZlbiB3aXRoIGZpbGw9bm9uZSAqL1xuICBwb2ludGVyLWV2ZW50czogYWxsICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5fbmF2LXRhYl9wbWFsMl8yNVtkYXRhLWN1cnJlbnRdOjpiZWZvcmUge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDI2IEVsZW1lbnQgQ3JlYXRpb25zIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2hlYWRlcl8xNGprNF84IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBtYXgtaW5saW5lLXNpemU6IDQ4MHB4O1xufVxuXG4uX2hlYWRlcl8xNGprNF84W2RhdGEtc2l6ZT1cIm1kXCJdIC5faWNvbl8xNGprNF8xNiB7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG5cbi5faGVhZGVyXzE0ams0XzhbZGF0YS1zaXplPVwibGdcIl0gLl9pY29uXzE0ams0XzE2IHtcbiAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbn1cblxuLl9oZWFkZXJfMTRqazRfOCA+IGgxIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5faGVhZGVyXzE0ams0XzggPiBwIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xufVxuXG4uX2hlYWRlcl8xNGprNF84W2RhdGEtc2l6ZT1cIm1kXCJdID4gcCB7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG59XG5cbi5faGVhZGVyXzE0ams0XzhbZGF0LXNpemU9XCJsZ1wiXSA+IHAge1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LWxnLXJlZ3VsYXIpO1xufVxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fcHJvZ3Jlc3MtYmFyXzFrdmk1Xzgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTIwMCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1yYWRpdXMtcGlsbC1lZmZlY3QpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICZbZGF0YS1zaXplPVwic21cIl0ge1xuICAgIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIH1cblxuICAmW2RhdGEtc2l6ZT1cImxnXCJdIHtcbiAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICB9XG59XG5cbi5fcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcl8xa3ZpNV8yNCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcblxuICAtLWNwZC1wcm9ncmVzcy1iYXItbWFpbjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgLS1jcGQtcHJvZ3Jlc3MtYmFyLW11dGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS04MDApO1xuXG4gICZbZGF0YS10aW50PVwiZ3JlZW5cIl0ge1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tYWluOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zdWNjZXNzLXByaW1hcnkpO1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTgwMCk7XG4gIH1cblxuICAmW2RhdGEtdGludD1cImxpbWVcIl0ge1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tYWluOiB2YXIoLS1jcGQtY29sb3ItbGltZS05MDApO1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZDogdmFyKC0tY3BkLWNvbG9yLWxpbWUtODAwKTtcbiAgfVxuXG4gICZbZGF0YS10aW50PVwib3JhbmdlXCJdIHtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbWFpbjogdmFyKC0tY3BkLWNvbG9yLW9yYW5nZS05MDApO1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZDogdmFyKC0tY3BkLWNvbG9yLW9yYW5nZS04MDApO1xuICB9XG5cbiAgJltkYXRhLXRpbnQ9XCJyZWRcIl0ge1xuICAgIC0tY3BkLXByb2dyZXNzLWJhci1tYWluOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQ6IHZhcigtLWNwZC1jb2xvci1yZWQtODAwKTtcbiAgfVxufVxuXG4uX3Byb2dyZXNzLWJhci1sYWJlbF8xa3ZpNV81MyB7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tbWVkaXVtKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktc20pO1xuICBjb2xvcjogdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tYWluKTtcbn1cblxuLl9wcm9ncmVzcy1iYXItaW5kaWNhdG9yXzFrdmk1XzU5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAxMzVkZWcsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZCkgMCUsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZCkgMjUlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbWFpbikgMjUlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbWFpbikgNTAlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQpIDUwJSxcbiAgICB2YXIoLS1jcGQtcHJvZ3Jlc3MtYmFyLW11dGVkKSA3NSUsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tYWluKSA3NSUsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tYWluKSAxMDAlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQpIDEwMCVcbiAgKTtcblxuICAvKiBzcXJ0KG51bWJlciBvZiBzdHJpcGVzICogMiAqIChzdHJpcGUgd2lkdGgpXjIpID0gc3FydCg0ICogMiAqIDJeMikgPSBzcXJ0KDMyKSAqL1xuICBiYWNrZ3JvdW5kLXNpemU6IDUuNjU2OXB4IDUuNjU2OXB4O1xufVxuXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuX3Byb2dyZXNzLWJhci1pbmRpY2F0b3JfMWt2aTVfNTkge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fY29udGVudF8xNmYyeV84IHtcbiAgLyogMzIwcHggKyAyMHB4IHBhZGRpbmcgbGVmdCArIDIwcHggcGFkZGluZyByaWdodCAqL1xuICBtYXgtaW5saW5lLXNpemU6IDMyMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS01eCkgdmFyKC0tY3BkLXNwYWNlLTZ4KTtcblxuICAvKiBmcm9tIGZpZ21hICovXG4gIGJveC1zaGFkb3c6IDAgNHB4IDI0cHggMCByZ2IoMCAwIDAgLyAxMCUpO1xuXG4gIC8qXG4gICogR3JpZCwgd2Ugd2FudCB0byBoYXZlIHRoZSBmb2xsb3dpbmcgbGF5b3V0OlxuICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgKiAtICAtLS0tLS0tLS0tLS0tLS0gICAtLS0tLS0tLS0tICAtXG4gICogLSAgfCBoZWFkaW5nICAgICB8ICAgfCAgICAgICAgfCAgLVxuICAqIC0gIC0tLS0tLS0tLS0tLS0tICAgIHwgYnV0dG9uIHwgIC1cbiAgKiAtICAtLS0tLS0tLS0tLS0tLS0gICB8IGJ1dHRvbiB8ICAtXG4gICogLSAgfCBkZXNjcmlwdGlvbiB8ICAgfCAgICAgICAgfCAgLVxuICAqIC0gIC0tLS0tLS0tLS0tLS0tLSAgIC0tLS0tLS0tLS0gIC1cbiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICovXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGU6XG4gICAgXCJoZWFkZXIgYnV0dG9uXCIgYXV0b1xuICAgIFwiZGVzY3JpcHRpb24gYnV0dG9uXCIgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcbn1cblxuLl9oZWFkZXJfMTZmMnlfMzcge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgZ3JpZC1hcmVhOiBoZWFkZXI7XG59XG5cbi5fZGVzY3JpcHRpb25fMTZmMnlfNDMge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktNTAwKTtcbiAgZ3JpZC1hcmVhOiBkZXNjcmlwdGlvbjtcbn1cblxuLl9idXR0b25fMTZmMnlfNDgge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICBncmlkLWFyZWE6IGJ1dHRvbjtcbn1cblxuLl9hcnJvd18xNmYyeV81MyB7XG4gIGZpbGw6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl9jb250ZW50XzE2ZjJ5Xzgge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fc2VhcmNoXzFsa3RsXzgge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgYmxvY2stc2l6ZTogMzZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgRmllbGQncyBkZWZhdWx0IGZsZXggc2V0dGluZ3MgKi9cbiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCkgIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTEtNXgpIHZhcigtLWNwZC1zcGFjZS0zeCk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9zZWFyY2hfMWxrdGxfODpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xuICB9XG59XG5cbi5fc2VhcmNoXzFsa3RsXzg6YWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xufVxuXG4uX3NlYXJjaF8xbGt0bF84OmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudGNvbG9yO1xufVxuXG4uX2ljb25fMWxrdGxfMzcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9zZWFyY2hfMWxrdGxfODpob3ZlciAuX2ljb25fMWxrdGxfMzcge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgfVxufVxuXG4uX3NlYXJjaF8xbGt0bF84OmFjdGl2ZSAuX2ljb25fMWxrdGxfMzcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG59XG5cbi5faW5wdXRfMWxrdGxfNTIge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIG91dGxpbmU6IDA7XG4gIGZsZXg6IDE7XG4gIG1pbi1pbmxpbmUtc2l6ZTogMDtcbn1cblxuLl9pbnB1dF8xbGt0bF81Mjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlZmVuc2l2ZS1jc3MvcmVxdWlyZS1mb2N1cy12aXNpYmxlICovXG4uX2lucHV0XzFsa3RsXzUyOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fc2VhcmNoXzFsa3RsXzg6aG92ZXIgLl9pbnB1dF8xbGt0bF81Mjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMsIDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9zZXBhcmF0b3JfMTNxd2ZfOCB7XG4gIC0tY3BkLXNlcGFyYXRvci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXNlcGFyYXRvci1wcmltYXJ5KTtcbiAgLS1jcGQtc2VwYXJhdG9yLXNpemU6IDFweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtc2VwYXJhdG9yLWNvbG9yKTtcbn1cblxuLl9zZXBhcmF0b3JfMTNxd2ZfOFtkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0ge1xuICAtLWNwZC1zZXBhcmF0b3ItY29sb3I6IHZhcigtLWNwZC1jb2xvci1zZXBhcmF0b3Itc2Vjb25kYXJ5KTtcbn1cblxuLl9zZXBhcmF0b3JfMTNxd2ZfOFtkYXRhLWtpbmQ9XCJzZWN0aW9uXCJdIHtcbiAgLS1jcGQtc2VwYXJhdG9yLXNpemU6IDJweDtcbn1cblxuLl9zZXBhcmF0b3JfMTNxd2ZfOFtkYXRhLW9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXSB7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tY3BkLXNlcGFyYXRvci1zcGFjaW5nKTtcbiAgbWFyZ2luLWlubGluZTogdmFyKC0tY3BkLXNlcGFyYXRvci1pbnNldCk7XG4gIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zZXBhcmF0b3Itc2l6ZSk7XG59XG5cbi5fc2VwYXJhdG9yXzEzcXdmXzhbZGF0YS1vcmllbnRhdGlvbj1cInZlcnRpY2FsXCJdIHtcbiAgbWFyZ2luLWlubGluZTogdmFyKC0tY3BkLXNlcGFyYXRvci1zcGFjaW5nKTtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1jcGQtc2VwYXJhdG9yLWluc2V0KTtcbiAgaW5saW5lLXNpemU6IHZhcigtLWNwZC1zZXBhcmF0b3Itc2l6ZSk7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5fc2VwYXJhdG9yXzEzcXdmXzgge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDI2IEVsZW1lbnQgQ3JlYXRpb25zIEx0ZC5cbkNvcHlyaWdodCAyMDIzLCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fdG9nZ2xlXzEzcm5rXzkge1xuICAmW2RhdGEtc2l6ZT1cImxnXCJdIHtcbiAgICAtLWNwZC1zd2l0Y2gtYnV0dG9uLXNpemU6IDQ0cHg7XG4gICAgLS1jcGQtc3dpdGNoLWljb24tc2l6ZTogMjRweDtcbiAgfVxuXG4gICZbZGF0YS1zaXplPVwibWRcIl0ge1xuICAgIC0tY3BkLXN3aXRjaC1idXR0b24tc2l6ZTogMzJweDtcbiAgICAtLWNwZC1zd2l0Y2gtaWNvbi1zaXplOiAyMHB4O1xuICB9XG5cbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbmxpbmUtc2l6ZTogZml0LWNvbnRlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnMpIHtcbiAgICAvKiBGaXJlZm94IHNlZW1zIHRvIGxvc2UgYm9yZGVycyBpbiBwcmFjdGljZSAoaHR0cHM6Ly9naXRodWIuY29tL2VsZW1lbnQtaHEvY29tcG91bmQtd2ViL3B1bGwvNDgyI2Rpc2N1c3Npb25fcjMxMzY1NDQ5NjIpIHNvIHJlZGVmaW5lIHRoaXMgaGVyZS4gKi9cbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzO1xuICAgIGlubGluZS1zaXplOiB2YXIoLS1jcGQtc3dpdGNoLWljb24tc2l6ZSk7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXN3aXRjaC1pY29uLXNpemUpO1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyhcbiAgICAgICh2YXIoLS1jcGQtc3dpdGNoLWJ1dHRvbi1zaXplKSAtIHZhcigtLWNwZC1zd2l0Y2gtaWNvbi1zaXplKSkgLyAyXG4gICAgKTtcbiAgfVxuXG4gIHN2ZzpudGgtY2hpbGQoMikge1xuICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgICAodmFyKC0tY3BkLXN3aXRjaC1idXR0b24tc2l6ZSkgLSB2YXIoLS1jcGQtc3dpdGNoLWljb24tc2l6ZSkpIC8gMlxuICAgICk7XG4gIH1cblxuICBzdmc6bnRoLWNoaWxkKDQpIHtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtMC01eCk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoXG4gICAgICAodmFyKC0tY3BkLXN3aXRjaC1idXR0b24tc2l6ZSkgLSB2YXIoLS1jcGQtc3dpdGNoLWljb24tc2l6ZSkpIC8gMlxuICAgICk7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIC8qIFNhZmFyaSBwdXRzIGEgbWFyZ2luIG9uIHRoZXNlLCB3aGljaCBpcyBub3QgcmVtb3ZlZCB2aWEgYXBwZWFyYW5jZTogbm9uZSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3dpdGNoLWJ1dHRvbi1zaXplKTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLXN3aXRjaC1idXR0b24tc2l6ZSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1yYWRpdXMtcGlsbC1lZmZlY3QpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LXJlc3QpO1xuICAgIGJveC1zaGFkb3c6IDAgMS4ycHggMi40cHggMCByZ2IoMCAwIDAgLyAxNSUpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gIH1cblxuICBpbnB1dDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDtcbiAgfVxuXG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgaW5wdXQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktaG92ZXJlZCk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIGlucHV0OmNoZWNrZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWhvdmVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktcHJlc3NlZCk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQge1xuICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuXG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzKSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgc3ZnIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXByZXNzZWQpO1xuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl90b2FzdC1jb250YWluZXJfMXlzYjNfOCB7XG4gIGlubGluZS1zaXplOiBmaXQtY29udGVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl90b2FzdC1jb250YWluZXJfMXlzYjNfOCB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5faWNvbl8xeXNiM18yNiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uX2hhcy1jbG9zZV8xeXNiM18zMCB7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbn1cblxuLl9jb250ZW50XzF5c2IzXzM0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG5cbi5fY2xvc2VfMXlzYjNfNDEge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMC01eCkgIWltcG9ydGFudDtcblxuICAmOm5vdCg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgKiB7XG4gICAgICAvKiBPdmVycmlkZSBkZWZhdWx0IGNvbG9yIG9mIGljb24gYnV0dG9uLiBUaGUgY29udGFpbmVyIGJhY2tncm91bmQgaXMgZGlmZmVyZW50IHRoYW4gdGhlIGRlZmF1bHQgY2FudmFzIGNvbG9yICovXG4gICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX3Zpc3VhbC1saXN0XzZ6cGZuXzgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBcIlwiO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuX3Zpc3VhbC1saXN0XzZ6cGZuXzgge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLypcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbi5fdmlzdWFsLWxpc3QtaXRlbV8xbmMxeV84IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS00eCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uX3Zpc3VhbC1saXN0LWl0ZW0taWNvbl8xbmMxeV8xNyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbn1cblxuLl92aXN1YWwtbGlzdC1pdGVtLWljb24tc3VjY2Vzc18xbmMxeV8yMiB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xufVxuXG4uX3Zpc3VhbC1saXN0LWl0ZW0taWNvbi1kZXN0cnVjdGl2ZV8xbmMxeV8yNiB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl92aXN1YWwtbGlzdC1pdGVtXzFuYzF5Xzgge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuOnJvb3Qge1xuICAtLWNwZC1yYWRpdXMtcGlsbC1lZmZlY3Q6IDk5OTlweDtcblxuICAvKiBEZWZhdWx0IGljb24gYW5kIGF2YXRhciBzaXplICovXG4gIC0tY3BkLWljb24tYnV0dG9uLXNpemU6IHZhcigtLWNwZC1zcGFjZS04eCk7XG4gIC0tY3BkLWF2YXRhci1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMTZ4KTtcblxuICAvKipcbiAgKiBXZSB3YW50IHRvIGFwcGx5IEludGVyIER5bmFtaWMgbWV0cmljcyAoaHR0cHM6Ly9yc21zLm1lL2ludGVyL2R5bm1ldHJpY3MvKVxuICAqIFdlIG5lZWQgdG8gdHdlYWsgdGhlIGBsZXR0ZXItc3BhY2luZ2AgcHJvcGVydHkgYW5kIGRvaW5nIHNvLCBkaXNhYmxlcyBieVxuICAqIGRlZmF1bHQgdGhlIG9wdGlvbmFsIGxpZ2F0dXJlc1xuICAqIGBmb250LWZlYXR1cmUtc2V0dGluZ3NgIGFsbG93cyB1cyB0byBvdmVycmlkZSB0aGlzIGJlaGF2aW91ciBhbmQgaGF2ZSB0aGVcbiAgKiBjb3JyZWN0IGxpZ2F0dXJlcyBhbmQgdGhlIHByb3BlciBkeW5hbWljIG1ldHJpYyBzcGFjaW5nLlxuICAqL1xuICAtLWNwZC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDEsIFwibGlnYVwiIDEsIFwiY2FsdFwiIDE7XG4gIC0tY3BkLXNlcGFyYXRvci1zcGFjaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICAtLWNwZC1zZXBhcmF0b3ItaW5zZXQ6IDA7XG59XG5cbmh0bWwsXG5ib2R5LFxuaW5wdXQge1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogdmFyKC0tY3BkLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyk7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgYmxvY2stc2l6ZTogMTAwJTtcbiAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLXJvb3QpO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbn1cbi8qJHZpdGUkOjEqLyIsInByZSBjb2RlLmhsanN7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmF1dG87cGFkZGluZzoxZW19Y29kZS5obGpze3BhZGRpbmc6M3B4IDVweH0uaGxqc3tjb2xvcjojYWJiMmJmO2JhY2tncm91bmQ6IzI4MmMzNH0uaGxqcy1jb21tZW50LC5obGpzLXF1b3Rle2NvbG9yOiM1YzYzNzA7Zm9udC1zdHlsZTppdGFsaWN9LmhsanMtZG9jdGFnLC5obGpzLWZvcm11bGEsLmhsanMta2V5d29yZHtjb2xvcjojYzY3OGRkfS5obGpzLWRlbGV0aW9uLC5obGpzLW5hbWUsLmhsanMtc2VjdGlvbiwuaGxqcy1zZWxlY3Rvci10YWcsLmhsanMtc3Vic3R7Y29sb3I6I2UwNmM3NX0uaGxqcy1saXRlcmFse2NvbG9yOiM1NmI2YzJ9LmhsanMtYWRkaXRpb24sLmhsanMtYXR0cmlidXRlLC5obGpzLW1ldGEgLmhsanMtc3RyaW5nLC5obGpzLXJlZ2V4cCwuaGxqcy1zdHJpbmd7Y29sb3I6Izk4YzM3OX0uaGxqcy1hdHRyLC5obGpzLW51bWJlciwuaGxqcy1zZWxlY3Rvci1hdHRyLC5obGpzLXNlbGVjdG9yLWNsYXNzLC5obGpzLXNlbGVjdG9yLXBzZXVkbywuaGxqcy10ZW1wbGF0ZS12YXJpYWJsZSwuaGxqcy10eXBlLC5obGpzLXZhcmlhYmxle2NvbG9yOiNkMTlhNjZ9LmhsanMtYnVsbGV0LC5obGpzLWxpbmssLmhsanMtbWV0YSwuaGxqcy1zZWxlY3Rvci1pZCwuaGxqcy1zeW1ib2wsLmhsanMtdGl0bGV7Y29sb3I6IzYxYWVlZX0uaGxqcy1idWlsdF9pbiwuaGxqcy1jbGFzcyAuaGxqcy10aXRsZSwuaGxqcy10aXRsZS5jbGFzc197Y29sb3I6I2U2YzA3Yn0uaGxqcy1lbXBoYXNpc3tmb250LXN0eWxlOml0YWxpY30uaGxqcy1zdHJvbmd7Zm9udC13ZWlnaHQ6NzAwfS5obGpzLWxpbmt7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0iLCIvKmRhcmsgKi9cbi5tYXJrZG93bi1ib2R5IHtcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICAvKiogQ1NTIGRlZmF1bHQgZWFzaW5nLiBVc2UgZm9yIGhvdmVyIHN0YXRlIGNoYW5nZXMgYW5kIG1pY3JvLWludGVyYWN0aW9ucy4gKi9cbiAgLyoqIEFjY2VsZXJhdGluZyBtb3Rpb24uIFVzZSBmb3IgZWxlbWVudHMgZXhpdGluZyB0aGUgdmlld3BvcnQgKG1vdmluZyBvZmYtc2NyZWVuKS4gKi9cbiAgLyoqIFNtb290aCBhY2NlbGVyYXRpb24gYW5kIGRlY2VsZXJhdGlvbi4gVXNlIGZvciBlbGVtZW50cyBtb3Zpbmcgb3IgbW9ycGhpbmcgd2l0aGluIHRoZSB2aWV3cG9ydC4gKi9cbiAgLyoqIERlY2VsZXJhdGluZyBtb3Rpb24uIFVzZSBmb3IgZWxlbWVudHMgZW50ZXJpbmcgdGhlIHZpZXdwb3J0IG9yIGFwcGVhcmluZyBvbiBzY3JlZW4uICovXG4gIC8qKiBDb25zdGFudCBtb3Rpb24gd2l0aCBubyBhY2NlbGVyYXRpb24uIFVzZSBmb3IgY29udGludW91cyBhbmltYXRpb25zIGxpa2UgcHJvZ3Jlc3MgYmFycyBvciBsb2FkZXJzLiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZjBmNmZjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQxMTE3O1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiTm90byBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IC4ycmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAub2N0aWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG59XG5cbi5tYXJrZG93bi1ib2R5IGgxOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsXG4ubWFya2Rvd24tYm9keSBoMjpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLFxuLm1hcmtkb3duLWJvZHkgaDM6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZSxcbi5tYXJrZG93bi1ib2R5IGg0OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsXG4ubWFya2Rvd24tYm9keSBoNTpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLFxuLm1hcmtkb3duLWJvZHkgaDY6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZSB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIHZlcnNpb249JzEuMScgYXJpYS1oaWRkZW49J3RydWUnPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTcuNzc1IDMuMjc1YS43NS43NSAwIDAwMS4wNiAxLjA2bDEuMjUtMS4yNWEyIDIgMCAxMTIuODMgMi44M2wtMi41IDIuNWEyIDIgMCAwMS0yLjgzIDAgLjc1Ljc1IDAgMDAtMS4wNiAxLjA2IDMuNSAzLjUgMCAwMDQuOTUgMGwyLjUtMi41YTMuNSAzLjUgMCAwMC00Ljk1LTQuOTVsLTEuMjUgMS4yNXptLTQuNjkgOS42NGEyIDIgMCAwMTAtMi44M2wyLjUtMi41YTIgMiAwIDAxMi44MyAwIC43NS43NSAwIDAwMS4wNi0xLjA2IDMuNSAzLjUgMCAwMC00Ljk1IDBsLTIuNSAyLjVhMy41IDMuNSAwIDAwNC45NSA0Ljk1bDEuMjUtMS4yNWEuNzUuNzUgMCAwMC0xLjA2LTEuMDZsLTEuMjUgMS4yNWEyIDIgMCAwMS0yLjgzIDB6Jz48L3BhdGg+PC9zdmc+XCIpO1xuICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgdmVyc2lvbj0nMS4xJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNy43NzUgMy4yNzVhLjc1Ljc1IDAgMDAxLjA2IDEuMDZsMS4yNS0xLjI1YTIgMiAwIDExMi44MyAyLjgzbC0yLjUgMi41YTIgMiAwIDAxLTIuODMgMCAuNzUuNzUgMCAwMC0xLjA2IDEuMDYgMy41IDMuNSAwIDAwNC45NSAwbDIuNS0yLjVhMy41IDMuNSAwIDAwLTQuOTUtNC45NWwtMS4yNSAxLjI1em0tNC42OSA5LjY0YTIgMiAwIDAxMC0yLjgzbDIuNS0yLjVhMiAyIDAgMDEyLjgzIDAgLjc1Ljc1IDAgMDAxLjA2LTEuMDYgMy41IDMuNSAwIDAwLTQuOTUgMGwtMi41IDIuNWEzLjUgMy41IDAgMDA0Ljk1IDQuOTVsMS4yNS0xLjI1YS43NS43NSAwIDAwLTEuMDYtMS4wNmwtMS4yNSAxLjI1YTIgMiAwIDAxLTIuODMgMHonPjwvcGF0aD48L3N2Zz5cIik7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRldGFpbHMsXG4ubWFya2Rvd24tYm9keSBmaWdjYXB0aW9uLFxuLm1hcmtkb3duLWJvZHkgZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IFtoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWFya2Rvd24tYm9keSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgY29sb3I6ICM0NDkzZjg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG4ubWFya2Rvd24tYm9keSBiLFxuLm1hcmtkb3duLWJvZHkgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMSB7XG4gIG1hcmdpbjogLjY3ZW0gMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZy1ib3R0b206IC4zZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNkNDQ0ZGIzO1xufVxuXG4ubWFya2Rvd24tYm9keSBtYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JiODAwOTI2O1xuICBjb2xvcjogI2YwZjZmYztcbn1cblxuLm1hcmtkb3duLWJvZHkgc21hbGwge1xuICBmb250LXNpemU6IDkwJTtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3ViLFxuLm1hcmtkb3duLWJvZHkgc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBzdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4ubWFya2Rvd24tYm9keSBjb2RlLFxuLm1hcmtkb3duLWJvZHkga2JkLFxuLm1hcmtkb3duLWJvZHkgcHJlLFxuLm1hcmtkb3duLWJvZHkgc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBmaWd1cmUge1xuICBtYXJnaW46IDFlbSAyLjVyZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM2Q0NDRkYjM7XG4gIGhlaWdodDogLjI1ZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMS41cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZDQ0NGQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgaW5wdXQge1xuICBmb250OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLm1hcmtkb3duLWJvZHkgW3R5cGU9YnV0dG9uXSxcbi5tYXJrZG93bi1ib2R5IFt0eXBlPXJlc2V0XSxcbi5tYXJrZG93bi1ib2R5IFt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4ubWFya2Rvd24tYm9keSBbdHlwZT1jaGVja2JveF0sXG4ubWFya2Rvd24tYm9keSBbdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLm1hcmtkb3duLWJvZHkgW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLm1hcmtkb3duLWJvZHkgW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi5tYXJrZG93bi1ib2R5IFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAuNTQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0O1xufVxuXG4ubWFya2Rvd24tYm9keSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzkxOThhMTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaHI6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWFya2Rvd24tYm9keSBocjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGZvbnQtdmFyaWFudDogdGFidWxhci1udW1zO1xufVxuXG4ubWFya2Rvd24tYm9keSB0ZCxcbi5tYXJrZG93bi1ib2R5IHRoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGV0YWlscyBzdW1tYXJ5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWFya2Rvd24tYm9keSBhOmZvY3VzLFxuLm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3VzLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItYWNjZW50LWVtcGhhc2lzKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGE6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSxcbi5tYXJrZG93bi1ib2R5IFtyb2xlPWJ1dHRvbl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogc29saWQgMXB4IHJnYmEoMCwwLDAsMCk7XG59XG5cbi5tYXJrZG93bi1ib2R5IGE6Zm9jdXMtdmlzaWJsZSxcbi5tYXJrZG93bi1ib2R5IFtyb2xlPWJ1dHRvbl06Zm9jdXMtdmlzaWJsZSxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3VzLXZpc2libGUsXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpcyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBhOm5vdChbY2xhc3NdKTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IGE6bm90KFtjbGFzc10pOmZvY3VzLXZpc2libGUsXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3VzLXZpc2libGUsXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lLW9mZnNldDogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkga2JkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBmb250OiAxMXB4IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFNGIE1vbm8sIE1lbmxvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBtb25vc3BhY2U7XG4gIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICBjb2xvcjogI2YwZjZmYztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MWIyMztcbiAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1ib3JkZXJDb2xvci1tdXRlZCk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgdmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMSxcbi5tYXJrZG93bi1ib2R5IGgyLFxuLm1hcmtkb3duLWJvZHkgaDMsXG4ubWFya2Rvd24tYm9keSBoNCxcbi5tYXJrZG93bi1ib2R5IGg1LFxuLm1hcmtkb3duLWJvZHkgaDYge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG4ubWFya2Rvd24tYm9keSBoMiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmctYm90dG9tOiAuM2VtO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNkNDQ0ZGIzO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBoNCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBoNSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogLjg3NWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBoNiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogLjg1ZW07XG4gIGNvbG9yOiAjOTE5OGExO1xufVxuXG4ubWFya2Rvd24tYm9keSBwIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxZW07XG4gIGNvbG9yOiAjOTE5OGExO1xuICBib3JkZXItbGVmdDogLjI1ZW0gc29saWQgIzNkNDQ0ZDtcbn1cblxuLm1hcmtkb3duLWJvZHkgdWwsXG4ubWFya2Rvd24tYm9keSBvbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbCBvbCxcbi5tYXJrZG93bi1ib2R5IHVsIG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgdWwgdWwgb2wsXG4ubWFya2Rvd24tYm9keSB1bCBvbCBvbCxcbi5tYXJrZG93bi1ib2R5IG9sIHVsIG9sLFxuLm1hcmtkb3duLWJvZHkgb2wgb2wgb2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xufVxuXG4ubWFya2Rvd24tYm9keSBkZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSB0dCxcbi5tYXJrZG93bi1ib2R5IGNvZGUsXG4ubWFya2Rvd24tYm9keSBzYW1wIHtcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFNGIE1vbm8sIE1lbmxvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgcHJlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFNGIE1vbm8sIE1lbmxvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5vY3RpY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLm1hcmtkb3duLWJvZHkgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4ubWFya2Rvd24tYm9keSBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1yLTIge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFya2Rvd24tYm9keTo6YmVmb3JlIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tYXJrZG93bi1ib2R5OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1hcmtkb3duLWJvZHk+KjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm1hcmtkb3duLWJvZHk+KjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFya2Rvd24tYm9keSBhOm5vdChbaHJlZl0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmFic2VudCB7XG4gIGNvbG9yOiAjZjg1MTQ5O1xufVxuXG4ubWFya2Rvd24tYm9keSAuYW5jaG9yIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5hbmNob3I6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBwLFxuLm1hcmtkb3duLWJvZHkgYmxvY2txdW90ZSxcbi5tYXJrZG93bi1ib2R5IHVsLFxuLm1hcmtkb3duLWJvZHkgb2wsXG4ubWFya2Rvd24tYm9keSBkbCxcbi5tYXJrZG93bi1ib2R5IHRhYmxlLFxuLm1hcmtkb3duLWJvZHkgcHJlLFxuLm1hcmtkb3duLWJvZHkgZGV0YWlscyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGU+OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYmxvY2txdW90ZT46bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGgxIC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoMiAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDMgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGg0IC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoNSAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDYgLm9jdGljb24tbGluayB7XG4gIGNvbG9yOiAjZjBmNmZjO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5tYXJrZG93bi1ib2R5IGgxOmhvdmVyIC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBoMjpob3ZlciAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgaDM6aG92ZXIgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IGg0OmhvdmVyIC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBoNTpob3ZlciAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgaDY6aG92ZXIgLmFuY2hvciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaDE6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDI6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDM6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDQ6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDU6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDY6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaDEgdHQsXG4ubWFya2Rvd24tYm9keSBoMSBjb2RlLFxuLm1hcmtkb3duLWJvZHkgaDIgdHQsXG4ubWFya2Rvd24tYm9keSBoMiBjb2RlLFxuLm1hcmtkb3duLWJvZHkgaDMgdHQsXG4ubWFya2Rvd24tYm9keSBoMyBjb2RlLFxuLm1hcmtkb3duLWJvZHkgaDQgdHQsXG4ubWFya2Rvd24tYm9keSBoNCBjb2RlLFxuLm1hcmtkb3duLWJvZHkgaDUgdHQsXG4ubWFya2Rvd24tYm9keSBoNSBjb2RlLFxuLm1hcmtkb3duLWJvZHkgaDYgdHQsXG4ubWFya2Rvd24tYm9keSBoNiBjb2RlIHtcbiAgcGFkZGluZzogMCAuMmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDEsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgyLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMyxcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDQsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg1LFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMSAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMiAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMyAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNCAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNSAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNiAuYW5jaG9yIHtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xufVxuXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgxLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMiB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSB1bC5uby1saXN0LFxuLm1hcmtkb3duLWJvZHkgb2wubm8tbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgb2xbdHlwZT1cImEgc1wiXSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XG59XG5cbi5tYXJrZG93bi1ib2R5IG9sW3R5cGU9XCJBIHNcIl0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbFt0eXBlPVwiaSBzXCJdIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgb2xbdHlwZT1cIkkgc1wiXSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW47XG59XG5cbi5tYXJrZG93bi1ib2R5IG9sW3R5cGU9XCIxXCJdIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xufVxuXG4ubWFya2Rvd24tYm9keSBkaXY+b2w6bm90KFt0eXBlXSkge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG59XG5cbi5tYXJrZG93bi1ib2R5IHVsIHVsLFxuLm1hcmtkb3duLWJvZHkgdWwgb2wsXG4ubWFya2Rvd24tYm9keSBvbCBvbCxcbi5tYXJrZG93bi1ib2R5IG9sIHVsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgbGk+cCB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGxpK2xpIHtcbiAgbWFyZ2luLXRvcDogLjI1ZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGRsIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGwgZHQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBkbCBkZCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgdGFibGUgdGgge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWFya2Rvd24tYm9keSB0YWJsZSB0aCxcbi5tYXJrZG93bi1ib2R5IHRhYmxlIHRkIHtcbiAgcGFkZGluZzogNnB4IDEzcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzZDQ0NGQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIHRkPjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgdGFibGUgdHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQxMTE3O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzNkNDQ0ZGIzO1xufVxuXG4ubWFya2Rvd24tYm9keSB0YWJsZSB0cjpudGgtY2hpbGQoMm4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MWIyMztcbn1cblxuLm1hcmtkb3duLWJvZHkgdGFibGUgaW1nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaW1nW2FsaWduPXJpZ2h0XSB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgaW1nW2FsaWduPWxlZnRdIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmVtb2ppIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mcmFtZT5zcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogN3B4O1xuICBtYXJnaW46IDEzcHggMCAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2Q0NDRkO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZyYW1lIHNwYW4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZyYW1lIHNwYW4gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMCAwO1xuICBjbGVhcjogYm90aDtcbiAgY29sb3I6ICNmMGY2ZmM7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLWNlbnRlcj5zcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTNweCBhdXRvIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5hbGlnbi1jZW50ZXIgc3BhbiBpbWcge1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLXJpZ2h0PnNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxM3B4IDAgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tcmlnaHQgc3BhbiBpbWcge1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZsb2F0LWxlZnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mbG9hdC1sZWZ0IHNwYW4ge1xuICBtYXJnaW46IDEzcHggMCAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZsb2F0LXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uZmxvYXQtcmlnaHQ+c3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEzcHggYXV0byAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1hcmtkb3duLWJvZHkgY29kZSxcbi5tYXJrZG93bi1ib2R5IHR0IHtcbiAgcGFkZGluZzogLjJlbSAuNGVtO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogODUlO1xuICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2Yzc2MzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgY29kZSBicixcbi5tYXJrZG93bi1ib2R5IHR0IGJyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGVsIGNvZGUge1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNhbXAge1xuICBmb250LXNpemU6IDg1JTtcbn1cblxuLm1hcmtkb3duLWJvZHkgcHJlIGNvZGUge1xuICBmb250LXNpemU6IDEwMCU7XG59XG5cbi5tYXJrZG93bi1ib2R5IHByZT5jb2RlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmhpZ2hsaWdodCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IC5oaWdobGlnaHQgcHJlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xufVxuXG4ubWFya2Rvd24tYm9keSAuaGlnaGxpZ2h0IHByZSxcbi5tYXJrZG93bi1ib2R5IHByZSB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBmb250LXNpemU6IDg1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gIGNvbG9yOiAjZjBmNmZjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxYjIzO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5tYXJrZG93bi1ib2R5IHByZSBjb2RlLFxuLm1hcmtkb3duLWJvZHkgcHJlIHR0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmNzdi1kYXRhIHRkLFxuLm1hcmtkb3duLWJvZHkgLmNzdi1kYXRhIHRoIHtcbiAgcGFkZGluZzogNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubWFya2Rvd24tYm9keSAuY3N2LWRhdGEgLmJsb2ItbnVtIHtcbiAgcGFkZGluZzogMTBweCAwLjVyZW0gOXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYmFja2dyb3VuZDogIzBkMTExNztcbiAgYm9yZGVyOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSAuY3N2LWRhdGEgdHIge1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSAuY3N2LWRhdGEgdGgge1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kOiAjMTUxYjIzO1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBbZGF0YS1mb290bm90ZS1yZWZdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIltcIjtcbn1cblxuLm1hcmtkb3duLWJvZHkgW2RhdGEtZm9vdG5vdGUtcmVmXTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIl1cIjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM5MTk4YTE7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjM2Q0NDRkO1xufVxuXG4ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIG9sIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIG9sIHVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMgbGk6dGFyZ2V0OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygwLjVyZW0qLTEpO1xuICByaWdodDogY2FsYygwLjVyZW0qLTEpO1xuICBib3R0b206IGNhbGMoMC41cmVtKi0xKTtcbiAgbGVmdDogY2FsYygxLjVyZW0qLTEpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyOiAycHggc29saWQgIzFmNmZlYjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIGxpOnRhcmdldCB7XG4gIGNvbG9yOiAjZjBmNmZjO1xufVxuXG4ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIC5kYXRhLWZvb3Rub3RlLWJhY2tyZWYgZy1lbW9qaSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1jIHtcbiAgY29sb3I6ICM5MTk4YTE7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1jMSxcbi5tYXJrZG93bi1ib2R5IC5wbC1zIC5wbC12IHtcbiAgY29sb3I6ICM3OWMwZmY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1lLFxuLm1hcmtkb3duLWJvZHkgLnBsLWVuIHtcbiAgY29sb3I6ICNkMmE4ZmY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1zbWksXG4ubWFya2Rvd24tYm9keSAucGwtcyAucGwtczEge1xuICBjb2xvcjogI2YwZjZmYztcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWVudCB7XG4gIGNvbG9yOiAjN2VlNzg3O1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtayB7XG4gIGNvbG9yOiAjZmY3YjcyO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtcyxcbi5tYXJrZG93bi1ib2R5IC5wbC1wZHMsXG4ubWFya2Rvd24tYm9keSAucGwtcyAucGwtcHNlIC5wbC1zMSxcbi5tYXJrZG93bi1ib2R5IC5wbC1zcixcbi5tYXJrZG93bi1ib2R5IC5wbC1zciAucGwtY2NlLFxuLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1zcmUsXG4ubWFya2Rvd24tYm9keSAucGwtc3IgLnBsLXNyYSB7XG4gIGNvbG9yOiAjYTVkNmZmO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtdixcbi5tYXJrZG93bi1ib2R5IC5wbC1zbXcge1xuICBjb2xvcjogI2ZmYTY1Nztcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWJ1IHtcbiAgY29sb3I6ICNmODUxNDk7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1paSB7XG4gIGNvbG9yOiB2YXIoLS1mZ0NvbG9yLWRhbmdlcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnQ29sb3ItZGFuZ2VyLW11dGVkKTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWMyIHtcbiAgY29sb3I6ICNmMGY2ZmM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNjIzMjQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1zciAucGwtY2NlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjN2VlNzg3O1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtbWwge1xuICBjb2xvcjogI2YyY2M2MDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1oLFxuLm1hcmtkb3duLWJvZHkgLnBsLW1oIC5wbC1lbixcbi5tYXJrZG93bi1ib2R5IC5wbC1tcyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzFmNmZlYjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogI2YwZjZmYztcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZjBmNmZjO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtbWQge1xuICBjb2xvcjogI2ZmZGNkNztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY3MDYwYztcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1pMSB7XG4gIGNvbG9yOiAjYWZmNWI0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMzYTE2O1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtbWMge1xuICBjb2xvcjogI2ZmZGZiNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVhMWUwMjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1pMiB7XG4gIGNvbG9yOiAjZjBmNmZjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE1OGM3O1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtbWRyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZDJhOGZmO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtYmEge1xuICBjb2xvcjogIzkxOThhMTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLXNnIHtcbiAgY29sb3I6ICMzZDQ0NGQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1jb3JsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjYTVkNmZmO1xufVxuXG4ubWFya2Rvd24tYm9keSBbcm9sZT1idXR0b25dOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBbcm9sZT10YWJwYW5lbF1bdGFiaW5kZXg9XCIwXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBidXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSxcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnk6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSxcbi5tYXJrZG93bi1ib2R5IGE6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IFt0YWJpbmRleD1cIjBcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSxcbi5tYXJrZG93bi1ib2R5IGRldGFpbHMtZGlhbG9nOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBnLWVtb2ppIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDFjaDtcbiAgZm9udC1mYW1pbHk6IFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCIsXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IC0wLjA3NWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBnLWVtb2ppIGltZyB7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBhOmhhcyg+cCw+ZGl2LD5wcmUsPmJsb2NrcXVvdGUpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tYXJrZG93bi1ib2R5IGE6aGFzKD5wLD5kaXYsPnByZSw+YmxvY2txdW90ZSk6bm90KDpoYXMoLnNuaXBwZXQtY2xpcGJvYXJkLWNvbnRlbnQsPnByZSkpIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4ubWFya2Rvd24tYm9keSBhOmhhcyg+cCw+ZGl2LD5wcmUsPmJsb2NrcXVvdGUpOmhhcyguc25pcHBldC1jbGlwYm9hcmQtY29udGVudCw+cHJlKTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpcyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVtIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVtLmVuYWJsZWQgbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSsudGFzay1saXN0LWl0ZW0ge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAudGFzay1saXN0LWl0ZW0gLmhhbmRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCB7XG4gIG1hcmdpbjogMCAuMmVtIC4yNWVtIC0xLjRlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgdWw6ZGlyKHJ0bCkgLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcbiAgbWFyZ2luOiAwIC0xLjZlbSAuMjVlbSAuMmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbDpkaXIocnRsKSAudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xuICBtYXJnaW46IDAgLTEuNmVtIC4yNWVtIC4yZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IC5jb250YWlucy10YXNrLWxpc3Q6aG92ZXIgLnRhc2stbGlzdC1pdGVtLWNvbnZlcnQtY29udGFpbmVyLFxuLm1hcmtkb3duLWJvZHkgLmNvbnRhaW5zLXRhc2stbGlzdDpmb2N1cy13aXRoaW4gLnRhc2stbGlzdC1pdGVtLWNvbnZlcnQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDI0cHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IDo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgZmlsdGVyOiBpbnZlcnQoNTAlKTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0IHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItbGVmdDogLjI1ZW0gc29saWQgIzNkNDQ0ZDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0PjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydD46bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydCAubWFya2Rvd24tYWxlcnQtdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LW5vdGUge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzFmNmZlYjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LW5vdGUgLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgY29sb3I6ICM0NDkzZjg7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1pbXBvcnRhbnQge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzg5NTdlNTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LWltcG9ydGFudCAubWFya2Rvd24tYWxlcnQtdGl0bGUge1xuICBjb2xvcjogI2FiN2RmODtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LXdhcm5pbmcge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzllNmEwMztcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LXdhcm5pbmcgLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgY29sb3I6ICNkMjk5MjI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC10aXAge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzIzODYzNjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LXRpcCAubWFya2Rvd24tYWxlcnQtdGl0bGUge1xuICBjb2xvcjogIzNmYjk1MDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LWNhdXRpb24ge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2RhMzYzMztcbn1cblxuLm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LWNhdXRpb24gLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgY29sb3I6ICNmODUxNDk7XG59XG5cbi5tYXJrZG93bi1ib2R5Pio6Zmlyc3QtY2hpbGQ+LmhlYWRpbmctZWxlbWVudDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmhpZ2hsaWdodCBwcmU6aGFzKCsuemVyb2NsaXBib2FyZC1jb250YWluZXIpIHtcbiAgbWluLWhlaWdodDogNTJweDtcbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/