File: D:/HostingSpaces/SBogers10/boldt.komma.pro/wwwroot/css/style.css
@charset "UTF-8";
/* 1 - SETTINGS
* Global variables, site-wide settings,
* config switches etc.
*
* The order in which these Sass files
* are loaded is critical!
* So please be careful when editing
=========================================================== */
/**
* Define breakpoint for given formats (in px)
*/
/**
* Global color variables.
* The underscore prefix means we never use them directly in the styles, only for functions and mixins.
*/
/**
* Organize color variables in a Sass Map.
* This way, the colors can be iterated, are more organized, and are more intuitive to reference.
*/
/* ==========================================================================
Config settings
========================================================================== */
/**
* 1. Maximum INNER width of the site set in pixels
*
* 2. Use a percentage of the viewport for the side gutter to scale it proportionally
* Make sure this is not to small so you have some white space between the edge and the text,
* but not to big also, otherwise you lose valuable real estate
*/
/* 1 */
/* 2 */
/** =====================================================================================
* Defines the typographic baseline.
* We define every size in pixels, the underlying system converts the
* respective units to the responsive REM value.
===================================================================================== */
/**
* Our base font-size and line-height
*/
/**
* Here we assign short names for the font families
*/
/* 2 - TOOLS
* Site wide mixins and functions
=========================================================== */
/* ==========================================================================
Functions used in grid calculation
========================================================================== */
/**
* Return percentage based on amount of columns
* Use parent column size to adjust the origin
*/
/**
* Default function for columns
* Return as percentage
*/
/**
* Return as viewport width
*/
/* ==========================================================================
* Font related functions
* ========================================================================== */
/**
* Calculate line-height ratio from font-size and line-height in px value
*/
/**
* Mixin for setting font-size in REM through a Sass Map with all available sizes
USAGE:
.myClass {
@include font-size(x-large);
}
*/
/**
* A simple function for accessing the font families from our mapping
USAGE:
span {
@include font-family(primary);
}
*/
/**
* Font mixin for setting font-size, font-weight, and line-height
USAGE:
.myClass {
@include font(x-large, 34, 500);
}
.myClass {
@include font(medium, $weight: 300);
}
*/
/**
* Fluid type plugin (https://codepen.io/MadeByMike/pen/vNrvdZ)
* Requires the calc-interpolation function which can also be used independently
*
* Usage:
*
* .demo {
* @include interpolate(font-size, 320px, 1366px, 14px, 20px);
* }
*
* Multiple properties with same values:
*
* h1,h2,h3,h4,h5 {
* @include interpolate((padding-top, padding-bottom), 20rem, 70rem, 0rem, .5rem);
* }
*
*/
/* Media query mixin for writing Mobile First
* ========================================== */
/** =====================================================================================
* Toolbox functions
===================================================================================== */
/**
* Maths helpers.
* Halve and double numbers, returning rounded integers.
USAGE:
.foo {
padding: halve(30px);
}
*/
/**
* Remove the unit of a length
* @param {Number} $number - Number to remove unit from
* @return {Number} - Unitless number
*/
/* Check if value is number */
/* Value to Em */
/* Value to Rem */
/**
* A simple function for accessing the colors from our mapping
* To access colors in our palette, we use a very simple custom Sass function
USAGE:
a {
color: palette(primary);
&:hover {
color: palette(primary, 400);
}
}
*/
/**
* A simple function for setting a consistent box-shadow
USAGE:
.card {
@include box-shadow;
}
.card--alt {
@include box-shadow(low);
}
*/
/**
* A simple function for setting a consistent border-radius
USAGE:
.card {
@include border-radius;
}
.card--alt {
@include border-radius(large);
}
*/
/**
* Lobotomized Owl Selector mixin:
* - Set spacing for consecutive items with margin-top on all but the first item
USAGE:
.box {
@include owl-children;
}
.card__item {
@include owl;
}
*/
/**
* Show hyphens for every browser supporting it
* and will break lines in every other browser
*/
/*
* Restrict an element to a max-width for creating gutters on the side
*/
/** =================================================================================================
* The 'z-index-map' is used for managing the elements stacking order in the 'root' stacking context
* This way we have a overview of all the z-index values that are used across the project.
==================================================================================================== */
/**
USAGE:
@include z(z-modal);
*/
/* 3 - ELEMENTS
* Plain old simple HTML elements without a class (type selectors)
=========================================================== */
/* ==========================================================================
* Basic elements (no class selectors allowed)
* ========================================================================== */
/**
* Set up the html
*
* 1. Makes sure that some fonts are better rendered
* 2. Set font to lining figures
*/
html {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
font-feature-settings: "lnum";
box-sizing: border-box;
}
body {
position: relative;
font-size: 1.125rem;
line-height: 1.5555555556;
font-family: "Overpass", sans-serif;
margin: 0;
color: #ffffff;
background: #000013;
}
@media screen and (min-width: 425px) {
body {
font-size: 1rem;
}
}
/**
* [1] Make sure elements like input and textarea inherit some base properties
* https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
*
* [2] Setting box-sizing the best way per:
* https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
*/
* {
font-family: inherit;
line-height: inherit;
color: inherit;
}
*, *:before, *:after {
box-sizing: inherit;
}
/**
* [1] Turn off text-shadow when selecting text for better readability
*/
::-moz-selection {
background: #666666;
color: #ffffff;
text-shadow: none;
/* [1] */
}
::selection {
background: #666666;
color: #ffffff;
text-shadow: none;
/* [1] */
}
/* Remove default margin around figure
*/
figure {
margin: 0;
}
/**
* [1] Setting 'vertical-align' removes the whitespace that appears under 'img'
* elements when they are dropped into a page as-is. Safer alternative to
* using 'display: block;'.
* [2] Remove border / especially on older browsers
*/
img, svg {
vertical-align: middle;
/*[1]*/
border: none;
/*[2]*/
max-width: 100%;
}
/**
* Still add display block to svg to prevent unwanted spacing
*/
svg {
display: block;
}
/**
* Needed for iOS to prevent input zooming
* https://uxcellence.com/2014/01/15/quick-fix-increase-font-size-to-16px-to-fix-input-zoom
*/
input,
select,
textarea {
font-size: 16px;
}
a {
color: #AAD3DF;
-webkit-text-decoration-skip: ink;
text-decoration-skip-ink: auto;
}
a:not([class]):hover {
color: #71b5ca;
}
h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
margin-top: 0;
margin-bottom: 0;
}
h1, h2, h3, h4 {
font-family: "industry", sans-serif;
}
h1 {
color: #ffffff;
}
h1 {
font-size: 28px;
}
@media screen and (min-width: 320px) {
h1 {
font-size: calc(2.5812619503vw + 19.7399617591px);
}
}
@media screen and (min-width: 1366px) {
h1 {
font-size: 55px;
}
}
h2 {
font-size: 2.25rem;
line-height: 1.1944444444;
font-weight: 600;
color: #ffffff;
}
@media screen and (max-width: 424px) {
h2 {
font-size: 2rem;
}
}
h2.on-light {
color: #000013;
}
h3 {
font-size: 1.75rem;
line-height: 1.2142857143;
font-weight: 400;
color: #ffffff;
}
@media screen and (max-width: 424px) {
h3 {
font-size: 1.5rem;
}
}
h3.on-light {
color: #000013;
}
h4 {
font-size: 1.25rem;
line-height: 1.4;
font-weight: 600;
color: #445199;
}
@media screen and (max-width: 424px) {
h4 {
font-size: 1.125rem;
}
}
h5 {
font-size: 0.875rem;
line-height: 1.5714285714;
font-weight: 500;
color: #ffffff;
text-transform: uppercase;
}
@media screen and (max-width: 424px) {
h5 {
font-size: 0.8125rem;
}
}
/** =====================================================================================
* Lists
===================================================================================== */
/**
* Default indentation value for lists
*/
ul,
ol {
padding: 0;
margin: 0;
margin-left: 1.125em;
}
dd {
margin-left: 0;
}
/**
* Remove extra vertical spacing when nesting lists.
*/
li > ul,
li > ol {
margin-bottom: 0;
}
/**
* list-items needs resetting for our Lobotomized Owl selector
*/
li + li {
margin-top: 0;
}
/* 4 - Layout elements
* Design patterns (e.g. grids or media object)
=========================================================== */
/*==========================================================================
* Contains
* ========================================================================== */
.l-contain {
width: calc(100% - 40px);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 800px) {
.l-contain {
width: calc(100% / 10 * 8);
}
}
@media screen and (min-width: 1200px) {
.l-contain {
width: calc(100% / 14 * 12);
max-width: 1440px;
}
}
.l-contain__squeeze-10 {
margin-left: auto;
margin-right: auto;
width: 83.3333333333%;
}
.l-contain__squeeze-8 {
margin-left: auto;
margin-right: auto;
width: 66.6666666667%;
}
.l-contain__squeeze-6 {
margin-left: auto;
margin-right: auto;
width: 50%;
}
@media screen and (max-width: 899px) {
.l-bisection > * + * {
margin-top: 40px;
}
}
@media screen and (min-width: 900px) {
.l-bisection {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-direction: row;
}
}
.l-bisection--reversed {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-direction: row;
flex-direction: column-reverse;
}
@media screen and (min-width: 900px) {
.l-bisection--reversed {
flex-direction: row-reverse;
}
}
@media screen and (min-width: 900px) {
.l-bisection__item {
width: 47.9166666667%;
}
}
/* 5 - COMPONENTS
* Discrete complete chunks of UI.
* Designed components
=========================================================== */
/** ==========================================================================
* Components
* =========================================================================*/
/**
* Wrapper of the main body
* (between the header and the footer)
*/
.c-body {
z-index: 40;
position: relative;
}
/* ==========================================================================
* Default button
* ========================================================================== */
/* 1. Color gets inherited and used for nested elements with 'currentColor' property */
.c-button {
display: flex;
justify-content: flex-start;
align-items: center;
flex-direction: row;
font-size: 1rem;
line-height: 1.25;
font-weight: 500;
padding: 11px 10px;
background-color: #AAD3DF;
border: none;
color: #000013;
text-decoration: none;
cursor: pointer;
transition-property: background-color;
transition-duration: 0.3s;
}
.c-button:hover:not(:disabled) {
background-color: #71b5ca;
}
.c-button:active:not(:disabled) {
transform: translateY(1px);
}
.c-button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-button__text {
padding: 0 15px;
text-align: center;
}
.c-button__icon {
display: none;
position: relative;
top: 0;
left: -4px;
margin-right: 15px;
transform: scale(0.9);
transition: transform 0.3s;
}
.c-button:hover:not(:disabled) .c-button__icon {
transform: scale(0.9) translateX(4px);
}
.c-button__icon:first-child {
margin-right: 0;
margin-left: 15px;
}
.c-button--icon .c-button__icon {
display: block;
}
.c-button--internal .c-button__icon {
transform: translateX(4px) rotate(90deg) scale(0.9);
}
.c-button--internal:hover:not(:disabled) .c-button__icon {
transform: translateX(4px) rotate(90deg) scale(0.9) translateX(4px);
}
.c-button--text {
background: transparent;
border: none;
padding-left: 0;
color: #AAD3DF;
}
.c-button--text .c-button__text {
padding-left: 0;
}
.c-button--text:hover:not(:disabled) {
background-color: transparent;
}
.c-button--ghost {
padding: 10px 9px;
background: transparent;
border: 1px solid currentColor;
color: currentColor;
transition: color 0.3s, background-color 0.3s, border 0.3s;
}
.c-button--ghost:hover:not(:disabled) {
background-color: #AAD3DF;
border: 1px solid #000013;
color: #000013;
}
.c-button--no-corner {
position: relative;
padding: 14px 20px;
}
.c-button--no-corner:before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 15px;
height: 15px;
background: linear-gradient(45deg, transparent 48%, #AAD3DF 50%, transparent 52%);
}
.c-button--no-corner:after {
content: "";
position: absolute;
top: -1px;
right: -1px;
border-width: 0 16px 16px 0;
border-style: solid;
border-color: transparent #000013;
}
.c-button--no-corner:hover:not(:disabled):before {
background: linear-gradient(45deg, transparent 48%, #AAD3DF 50%, transparent 52%);
}
.c-button--no-corner-bottom {
position: relative;
}
.c-button--no-corner-bottom:after {
content: "";
position: absolute;
bottom: -1px;
left: -1px;
border-width: 16px 0 0 16px;
border-style: solid;
border-color: transparent #000013;
}
.c-button--on-dark {
color: #ffffff;
}
.c-button--on-dark:hover:not(:disabled) {
color: rgba(255, 255, 255, 0.75);
}
.c-button--reversed {
display: inline-flex;
justify-content: flex-start;
align-items: center;
flex-direction: row;
flex-direction: row-reverse;
}
.c-button--reversed .c-button__icon {
transform: scale(-0.9);
}
.c-card {
display: block;
position: relative;
text-decoration: none;
vertical-align: top;
white-space: normal;
}
.c-card--long {
min-height: 505px;
background-color: #000013;
display: inline-flex;
justify-content: center;
align-items: center;
flex-direction: column;
flex-shrink: 1;
flex-grow: 1;
min-width: 200px;
}
@media screen and (max-width: 1424px) {
.c-card--long {
flex-shrink: 1;
min-width: auto;
max-width: none;
width: 90%;
min-height: auto;
margin-top: 60px !important;
margin-right: auto;
}
}
@media screen and (max-width: 1199px) {
.c-card--long {
width: 100%;
}
}
@media screen and (min-width: 1425px) {
.c-card--long {
margin-top: 0;
}
}
@media screen and (max-width: 1424px) {
.c-card + .c-card--long {
margin-left: 0;
}
}
.c-card--long .c-card__image {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
z-index: 1;
}
.c-card--long .c-card__image:after {
content: "";
display: block;
height: 60px;
position: absolute;
bottom: 0;
left: 0;
z-index: 0;
width: 100%;
background: linear-gradient(180deg, transparent 0%, #000013 100%) 0 0;
}
.c-card--long .c-card__title {
width: 50%;
text-align: center;
padding-top: 30px;
margin-bottom: -40px;
position: relative;
z-index: 2;
}
@media screen and (min-width: 1425px) {
.c-card--long .c-card__title {
padding-top: 60px;
}
}
.c-card--long svg {
margin-top: 30px;
position: relative;
z-index: 2;
}
@media screen and (max-width: 1424px) {
.c-card--long svg {
margin-top: 20px;
position: relative;
z-index: 5;
margin-bottom: -50px;
}
}
.c-card__image {
position: relative;
display: block;
background-color: #000013;
}
.c-card__image-ratio .c-card__image {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background-size: cover;
background-position: center;
}
.c-card__image-ratio {
position: relative;
height: 0;
padding-bottom: calc((426 / 360) * 100%);
}
.c-card__image--placeholder {
min-height: 120px;
background-image: url("/img/projectcard_bg.svg");
background-size: cover;
background-position: center;
}
.c-card__body {
position: relative;
width: 83.3333333333%;
margin-top: -60px;
margin-left: auto;
}
.c-card__body:after {
content: "";
display: block;
height: 60px;
width: 100%;
background: linear-gradient(-45deg, transparent 0, transparent 59px, #000013 60px) -35px 0;
background-size: calc(100% + 60px);
}
.c-card__inner-body {
padding: 30px 30px 0 30px;
min-height: 140px;
background-color: #000013;
}
.c-card__title {
margin-bottom: 30px;
font-family: "Overpass", sans-serif;
font-size: 1.25rem;
line-height: 1.6;
font-weight: 600;
}
.c-card__content {
color: #384a66;
}
.c-card__action {
color: #384a66;
margin: 0;
}
.c-card--center {
text-align: center;
}
.c-card--unbox {
border-radius: 0;
box-shadow: none;
}
.c-card--unbox .c-card__image {
border-radius: 10px;
overflow: hidden;
}
.c-card--unbox .c-card__body {
padding: 30px 0 0;
}
.c-card--unbox .c-card__title {
font-size: 1.25rem;
}
.c-card--unbox .c-card__content {
display: none;
}
.c-close {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
-ms-grid-row-align: center;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
background: none;
border: none;
outline: none;
cursor: pointer;
transition: transform 180ms ease-out;
}
.c-close:after, .c-close:before {
content: "";
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: #ffffff;
border-radius: 3px;
}
.c-close:before {
transform: rotate(45deg);
}
.c-close:after {
transform: rotate(-45deg);
}
.c-close:hover {
transform: scale(1.2);
}
.top-left-corner {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
z-index: 1;
border-top: 60px solid #000013;
border-right: 60px solid transparent;
}
.c-cookie-bar {
position: fixed;
z-index: 9999;
bottom: 0;
left: 0;
padding: 15px 0;
width: 100%;
background-color: #e9ebf5;
opacity: 1;
box-shadow: 0 -4px 6px 0 rgba(0, 0, 0, 0.2);
transition: opacity 0.5s, transform 0.6s;
transform: translate3d(0, 0, 0);
}
.c-cookie-bar.is-accepted {
display: none;
}
.c-cookie-bar.fade-out {
opacity: 0;
transform: translate3d(0, 50%, 0);
}
.c-cookie-bar__main {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
}
.c-cookie-bar__text {
margin: 0;
font-size: 16px;
line-height: 1.2;
color: #000013;
}
.c-cookie-bar__link {
color: #000013;
transition: color 0.3s;
}
.c-cookie-bar__link:hover {
color: rgba(0, 0, 19, 0.75);
}
.c-cookie-bar__button {
display: inline-block;
margin-left: 15px;
padding: 5px 12px;
background-color: #999999;
font-size: 16px;
font-weight: 500;
color: #ffffff;
border: none;
border-radius: 5px;
cursor: pointer;
outline: none;
opacity: 1;
transition: background-color 0.3s;
}
.c-cookie-bar__button:hover {
background-color: rgba(153, 153, 153, 0.5);
}
.c-cookie-overlay {
position: fixed;
z-index: 9999;
top: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 19, 0.6);
opacity: 1;
transition: opacity 0.5s;
}
.c-cookie-overlay.is-accepted {
display: none;
}
.c-cookie-overlay.fade-out {
opacity: 0;
}
.c-cookie-overlay__modal {
display: block;
width: 92%;
max-width: 960px;
padding: 60px 120px;
margin: auto;
background-color: #ffffff;
}
.c-cookie-overlay__container.is-hidden {
display: none;
}
.c-cookie-overlay__title {
font-size: 24px;
line-height: 1;
font-weight: 500;
margin: 0 0 5px;
color: #384a66;
}
.c-cookie-overlay__text {
font-size: 16px;
line-height: 1.2;
margin: 0;
color: #6b7c93;
}
.c-cookie-overlay__link {
text-decoration: underline;
color: #AAD3DF;
cursor: pointer;
transition: color 0.3s;
}
.c-cookie-overlay__link:hover {
color: rgba(170, 211, 223, 0.75);
}
.c-cookie-overlay__button {
display: inline-block;
margin-top: 35px;
padding: 13px 25px;
border-radius: 4px;
background-color: #AAD3DF;
transition: background-color 0.4s;
font-size: 16px;
line-height: 1.2;
font-weight: 500;
color: #ffffff;
cursor: pointer;
outline: none;
border: none;
}
.c-cookie-overlay__button:hover {
background-color: #8cc4d4;
}
.c-cookie-overlay__types, .c-cookie-overlay__settings {
margin: 30px 0;
}
.c-cookie-overlay__types > * + *, .c-cookie-overlay__settings > * + * {
margin-top: 25px;
}
.c-cookie-overlay__settings {
margin-bottom: 0;
}
.c-cookie-switch__title {
font-size: 24px;
line-height: 1;
font-weight: 500;
margin: 0 0 5px;
color: #384a66;
}
.c-cookie-switch__text {
font-size: 16px;
line-height: 1.2;
margin: 0;
color: #6b7c93;
}
.c-cookie-switch__settings {
margin: 30px 0 0;
}
.c-cookie-switch__settings > * + * {
margin-top: 25px;
}
.c-cookie-switch__button {
display: inline-block;
margin-top: 35px;
padding: 13px 25px;
border-radius: 4px;
background-color: #AAD3DF;
transition: background-color 0.4s;
font-size: 16px;
line-height: 1.2;
font-weight: 500;
color: #ffffff;
cursor: pointer;
outline: none;
border: none;
}
.c-cookie-switch__button:hover {
background-color: #8cc4d4;
}
.c-cookie-type {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-direction: row;
width: 100%;
}
.c-cookie-type--static {
pointer-events: none;
}
.c-cookie-type__icon {
display: block;
margin: 0;
width: 26px;
height: 26px;
}
.c-cookie-type__icon svg {
width: 100%;
max-height: 26px;
}
.c-cookie-type--static .c-cookie-type__input {
opacity: 0.3;
}
.c-cookie-type__text {
margin: 0;
width: calc(100% - 55px);
font-size: 14px;
line-height: 1.2;
color: #6b7c93;
}
.c-cookie-type__title {
display: block;
margin: 0 0 5px;
font-size: 18px;
font-weight: 600;
color: #384a66;
}
.c-colleagues {
flex-wrap: wrap;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
}
@media screen and (min-width: 800px) {
.c-colleagues {
margin: -6.25% -6.25% 0 -6.25%;
}
}
@media screen and (min-width: 1200px) {
.c-colleagues {
flex-wrap: wrap;
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: row;
}
}
.c-colleagues__item {
min-height: 300px;
flex-basis: 240px;
max-width: 240px;
flex-grow: 1;
margin: 5.5555555556%;
margin-bottom: 0;
}
.c-colleagues__image {
width: 100%;
height: 0;
padding-bottom: 100%;
background-size: cover;
background-position: center;
background-color: #dfe8eb;
position: relative;
}
.c-colleagues__image:after {
content: "";
display: block;
height: 60px;
position: absolute;
width: 100%;
background-size: calc(100% + 60px);
bottom: 0;
left: 0;
background: linear-gradient(-45deg, #F2F8FA 0, #F2F8FA 59px, transparent 60px) -35px 0;
background-size: calc(100% + 60px);
}
.c-colleagues__name {
margin: 20px 0 5px;
font-size: 1.25rem;
line-height: 1.1;
font-weight: 500;
color: #000013;
}
.c-colleagues__function,
.c-colleagues__email {
font-size: 1rem;
line-height: 1.125;
font-weight: 400;
color: #445199;
}
.c-colleagues__email {
margin-top: 5px;
display: block;
opacity: 0.5;
transition: opacity 0.2s;
}
.c-colleagues__email:hover {
opacity: 1;
}
.c-cta-frederic {
padding: 0;
display: flex;
justify-content: space-between;
align-items: center;
flex-direction: column;
}
@media screen and (max-width: 1424px) {
.c-cta-frederic {
flex-wrap: wrap;
}
}
@media screen and (min-width: 1340px) {
.c-cta-frederic {
padding: 0 8.3333333333%;
}
}
@media screen and (min-width: 900px) {
.c-cta-frederic {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-direction: row;
}
}
@media screen and (max-width: 899px) {
.c-cta-frederic--left {
text-align: center;
margin-bottom: 30px;
}
}
@media screen and (max-width: 899px) {
.c-cta-frederic--left .c-button--ghost {
padding: 10px 0;
margin: auto;
}
}
@media screen and (min-width: 900px) and (max-width: 1059px) {
.c-cta-frederic--left {
width: 50%;
margin: 0;
}
}
@media screen and (min-width: 1060px) and (max-width: 1199px) {
.c-cta-frederic--left {
width: 40%;
margin: 0 10% 0 0;
}
}
@media screen and (min-width: 1200px) {
.c-cta-frederic--left {
width: 30%;
margin: 0 10%;
}
}
.c-cta-frederic--left h2 {
padding: 0;
margin-bottom: 30px;
max-width: 600px;
}
.c-cta-frederic--left .c-button--ghost {
border-width: 2px;
color: #445199;
display: inline-flex;
}
.c-cta-frederic--left .c-button--ghost:hover {
border-width: 2px;
}
@media screen and (min-width: 900px) {
.c-cta-frederic--right {
width: 50%;
}
}
.c-cta-frederic--right .frederic, .c-cta-frederic--right .job-title {
display: inline-block;
}
.c-cta-frederic--right .frederic {
width: 100%;
text-align: center;
margin-bottom: 10px;
}
@media screen and (min-width: 1060px) {
.c-cta-frederic--right .frederic {
width: 40%;
margin-bottom: 0;
}
}
.c-cta-frederic--right .frederic img {
width: 29%;
}
@media screen and (min-width: 1060px) {
.c-cta-frederic--right .frederic img {
width: auto;
}
}
.c-cta-frederic--right .job-title {
vertical-align: bottom;
width: 100%;
text-align: center;
}
@media screen and (min-width: 1060px) {
.c-cta-frederic--right .job-title {
width: auto;
margin-bottom: 40px;
text-align: left;
}
}
.c-cta-frederic--right .job-title h2 {
padding: 0;
margin-bottom: 0;
font-family: "industry", sans-serif;
font-style: italic;
font-size: 1.75rem;
line-height: 1.1428571429;
font-weight: 600;
}
.c-cta-frederic--right .job-title h4 {
margin-top: 10px;
font-family: "Overpass", sans-serif;
font-size: 1.25rem;
line-height: 1.55;
font-weight: 400;
color: #445199;
}
.c-cta-frederic--right .job-title a {
font-size: 1rem;
line-height: 1.125;
color: #445199;
opacity: 0.5;
transition: opacity 0.2s;
}
.c-cta-frederic--right .job-title a:hover {
opacity: 1;
}
.c-cta-jobs {
background-color: #000013;
width: 100%;
margin: 0 auto;
position: relative;
padding: 40px 0 30px 0;
}
@media screen and (min-width: 900px) {
.c-cta-jobs {
padding: 40px 0 20px 0;
}
}
@media screen and (min-width: 1400px) {
.c-cta-jobs {
width: 83.3333333333%;
}
}
.c-cta-jobs:after {
content: "";
display: block;
height: 60px;
position: absolute;
bottom: -59px;
left: 0;
z-index: 0;
width: 100%;
background: linear-gradient(-45deg, transparent 0, transparent 59px, #000013 60px) -35px 0;
background-size: calc(100% + 60px);
}
.c-cta-jobs h2, .c-cta-jobs .c-button {
margin: 0 auto;
text-align: center;
position: relative;
z-index: 1;
width: 83.3333333333%;
}
@media screen and (min-width: 900px) {
.c-cta-jobs h2, .c-cta-jobs .c-button {
width: 360px;
}
}
.c-cta-jobs .c-button {
color: #AAD3DF;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
top: 30px;
}
.c-cta-text {
padding: 0;
text-align: center;
}
.c-cta-text > .c-button {
margin-top: 30px;
color: #445199;
display: inline-flex;
}
.o-block-black .c-cta-text h2.on-light {
color: white;
}
.o-block-black .c-cta-text > .c-button {
color: #AAD3DF;
}
.c-fiches {
flex-wrap: wrap;
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: row;
}
@media screen and (min-width: 800px) {
.c-fiches {
margin: -3.125% -3.125% 0 -3.125%;
}
}
@media screen and (max-width: 899px) {
.c-fiches.text {
flex-wrap: wrap;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
}
}
.c-fiches h3 {
margin: 30px 6.25%;
width: 100%;
}
.c-fiches__title {
color: #000013;
padding: 30px 0 60px 0;
}
.c-fiches__item {
display: block;
flex-basis: 50%;
max-width: 44.4%;
flex-grow: 1;
margin: 1.3888888889% 2.7777777778%;
padding: 10px;
border: solid 1px #000013;
transition: box-shadow 0.1s;
background-color: white;
position: relative;
text-decoration: none;
}
.c-fiches__item:hover {
box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.1);
}
.c-fiches__item:before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 25px;
height: 25px;
background: linear-gradient(45deg, transparent 48%, #000013 50%, transparent 52%);
}
.c-fiches__item:after {
content: "";
position: absolute;
top: -1px;
right: -1px;
border-width: 0 26px 26px 0;
border-style: solid;
border-color: transparent #F2F8FA;
}
.c-fiches__body {
color: #000013;
display: flex;
justify-content: flex-start;
align-items: center;
flex-direction: row;
}
.c-fiches__name {
font-size: 1.25rem;
line-height: 1.6;
font-weight: 500;
display: block;
color: #000013;
margin-left: 20px;
}
.c-fiches__function {
font-size: 1rem;
line-height: 2;
font-weight: 400;
color: #445199;
}
.c-fiches__textitem {
min-height: 300px;
flex-basis: 240px;
max-width: 340px;
flex-grow: 1;
margin: 2.7777777778%;
}
.c-fiches__textitem .c-card__body {
padding: 50px 30px 0 30px;
min-height: 115px;
}
.c-fiches__textitem .c-card__title {
margin-bottom: 10px;
}
.c-fiches__textitem .c-card__content {
color: #AAD3DF;
}
.c-fiches__textbody {
margin-top: 2em;
color: #000013;
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-direction: row;
min-width: 340px;
}
.c-fiches__quotes {
display: block;
width: 32px;
margin-right: 24px;
flex-shrink: 0;
}
.c-flash-message-container {
position: relative;
}
.c-flash-message {
border-radius: 4px;
position: absolute;
bottom: -80%;
left: 50%;
display: inline-block;
white-space: nowrap;
padding: 5px 15px;
background-color: #AAD3DF;
font-size: 0.6rem;
line-height: 1;
font-weight: 700;
text-transform: uppercase;
color: white;
opacity: 0;
transform: translate3d(-50%, -5px, 0);
transition-property: opacity, transform;
transition-duration: 0.3s;
}
.c-flash-message::after {
content: "";
position: absolute;
top: -8px;
left: calc(50% - 7.5px);
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 0 7.5px 8px 7.5px;
border-color: transparent transparent #AAD3DF transparent;
}
.c-flash-message.clicked {
opacity: 1;
transform: translate3d(-50%, 0, 0);
}
/**
* Navigation in the footer that has a unique layout
*
*/
.c-footer {
z-index: 20;
color: #ffffff;
background-color: #000013;
}
.c-footer__nav {
display: -ms-grid;
display: grid;
-ms-grid-columns: (minmax(0, 60px))[24];
grid-template-columns: repeat(24, minmax(0, 60px));
padding-bottom: 90px;
}
.c-footer__column {
margin: 70px 0 0 0;
list-style: none;
grid-column: 3/-3;
}
@media screen and (max-width: 539px) {
.c-footer__column {
margin-top: 35px;
}
.c-footer__column:nth-child(2) {
-ms-grid-row: 2;
grid-row: 2;
}
.c-footer__column:nth-child(3) {
-ms-grid-row: 3;
grid-row: 3;
}
.c-footer__column:nth-child(4) {
-ms-grid-row: 4;
grid-row: 4;
}
}
@media screen and (min-width: 540px) and (max-width: 999px) {
.c-footer__column {
-ms-grid-column: 3;
-ms-grid-column-span: 9;
grid-column: 3/12;
}
.c-footer__column:nth-child(even) {
grid-column: 14/-3;
}
.c-footer__column:nth-child(n+3) {
-ms-grid-row: 2;
grid-row: 2;
}
.c-footer__column:nth-child(n+5) {
-ms-grid-row: 3;
grid-row: 3;
}
}
@media screen and (min-width: 1000px) {
.c-footer__column {
-ms-grid-column: 1;
-ms-grid-column-span: 4;
grid-column: 1/5;
}
.c-footer__column:nth-child(2) {
-ms-grid-column: 8;
-ms-grid-column-span: 4;
grid-column: 8/12;
}
.c-footer__column:nth-child(3) {
-ms-grid-column: 14;
-ms-grid-column-span: 4;
grid-column: 14/18;
}
.c-footer__column:nth-child(4) {
-ms-grid-column: 20;
-ms-grid-column-span: 4;
grid-column: 20/24;
}
.c-footer__column:nth-child(5) {
-ms-grid-column: 26;
-ms-grid-column-span: 4;
grid-column: 26/30;
}
.c-footer__column:nth-child(4) {
-ms-grid-column: 19;
-ms-grid-column-span: 6;
grid-column: 19/25;
}
.c-footer__column:nth-child(5) {
-ms-grid-column: 25;
-ms-grid-column-span: 5;
grid-column: 25/30;
}
}
.c-footer__item {
overflow: hidden;
margin-bottom: 8px;
font-size: 0.875rem;
line-height: 2;
color: #ffffff;
}
.c-footer__item a {
text-decoration: none;
}
.c-footer__item.phone {
color: #AAD3DF;
}
.c-footer__item.phone p {
margin-bottom: 20px;
}
.c-footer__item.phone svg {
margin-right: 10px;
}
.c-footer__item--gap {
margin-top: 28px;
}
.c-footer__link {
display: inline-block;
position: relative;
text-decoration: none;
transition: color 0.3s;
}
.c-footer__link::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 2px;
background-color: #999999;
transform: translate(-101%, 23px);
transition-property: transform, color;
transition-duration: 0.3s;
transition-timing-function: ease-in-out;
}
.c-footer__link:hover {
color: #b8b8b8;
transition-duration: 0.2s;
}
.c-footer__link:hover::before {
transform: translate(0, 23px);
transition-duration: 0.2s;
}
.c-footer__link--has-no-hover {
pointer-events: none;
}
.c-footer__link--heading {
font-size: 0.8125rem;
margin-bottom: 10px;
font-weight: 500;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 1px;
color: white;
}
.c-footer__link--heading:hover {
padding: 0;
}
.c-form-element--honey {
position: fixed;
top: -100px;
height: 20px;
width: 100%;
}
.c-form-element__error {
font-size: 0.875rem;
background-color: #384a66;
color: white;
margin-top: 0;
}
.c-form-element__error:not(:empty) {
padding: 2px 8px;
display: block;
}
.c-form-element__label {
font-size: 1rem;
font-weight: 700;
order: 1;
padding-bottom: 5px;
}
.c-form-element__field {
order: 2;
width: 100%;
padding: 0 15px;
line-height: 40px;
border: 1px solid #e9ebf5;
outline: none;
color: #666666;
}
.c-form-element__field:-ms-input-placeholder {
font-size: 0.875rem;
color: #999999;
-ms-transition-property: color, font-size;
transition-property: color, font-size;
transition-duration: 0.2s;
}
.c-form-element__field::-moz-placeholder {
font-size: 0.875rem;
color: #999999;
-moz-transition-property: color, font-size;
transition-property: color, font-size;
transition-duration: 0.2s;
}
.c-form-element__field::placeholder {
font-size: 0.875rem;
color: #999999;
transition-property: color, font-size;
transition-duration: 0.2s;
}
.c-form-element__field:focus {
border-color: #666666;
}
.has-error .c-form-element__field {
border-color: #384a66;
}
textarea.c-form-element__field {
display: block;
min-height: 80px;
resize: vertical;
}
.c-form-feedback {
margin: 0 0 10px;
padding: 30px 50px;
background-color: #384a66;
border-radius: 4px;
font-size: 1rem;
color: white;
}
.c-form-feedback:not(:empty) {
display: block;
}
.c-form-feedback:before {
content: attr(data-feedback);
display: inline-block;
margin-left: -20px;
margin-bottom: 10px;
font-weight: 700;
}
.c-form-feedback li::first-letter {
text-transform: uppercase;
}
.c-header {
z-index: 50;
position: relative;
padding: 50px 0;
}
.c-header__main {
position: relative;
display: flex;
justify-content: space-between;
align-items: center;
flex-direction: row;
width: calc(100% - 40px);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 800px) {
.c-header__main {
width: calc(100% / 10 * 8);
}
}
@media screen and (min-width: 1200px) {
.c-header__main {
width: calc(100% / 14 * 12);
max-width: 1440px;
}
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-header__main {
padding-top: 30px;
}
}
.c-header__logo {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
width: 240px;
z-index: 5;
}
.c-header__nav {
display: none;
flex: 1;
}
.c-header__overlay-button {
padding: 10px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: transparent;
border: none;
cursor: pointer;
}
.c-header__overlay-button > * {
width: 25px;
height: 3px;
display: block;
transform: scale3d(1, 1, 1);
transform-origin: 0 50%;
background-color: white;
transition: transform 0.6s;
}
.c-header__overlay-button > *:nth-of-type(2) {
transform: scale3d(0.8, 1, 1);
}
.c-header__overlay-button > *:nth-of-type(3) {
transform: scale3d(0.45, 1, 1);
}
.c-header__overlay-button > * + * {
margin-top: 3px;
}
.c-header__overlay-button:hover > * {
transform: scale3d(1, 1, 1) !important;
}
.technical-fiche-materials {
position: absolute;
top: -50px;
left: 0;
}
.technical-fiche-materials:before {
content: "";
display: block;
width: 160%;
height: 300%;
position: absolute;
z-index: 0;
top: 0;
left: 0;
/* FF3.6-15 */
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(-35deg, rgba(0, 0, 19, 0) 25%, #000013 70%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#00000013", endColorstr="#000013",GradientType=1 );
/* IE6-9 fallback on horizontal gradient */
}
.technical-fiche-materials .c-nav__link {
padding: 7px 20px 7px 10px;
color: #000013;
background-color: #AAD3DF;
z-index: 10;
}
.technical-fiche-materials .c-nav__link::before {
content: none;
}
.technical-fiche-materials .c-nav__link:after {
content: "";
position: absolute;
bottom: -1px;
right: -1px;
border-width: 16px 16px 0 0;
border-style: solid;
border-color: transparent #000013;
}
.technical-fiche-materials .c-nav__link:hover {
color: #000013;
background-color: #71b5ca;
}
/**
* -----------------------------------------------------------------------------
* Large viewport gets a stacked navigation that toggles with a hamburger button
* -----------------------------------------------------------------------------
*/
@media screen and (min-width: 900px) {
.c-header__logo {
flex: 0 0 240px;
}
.c-header__nav {
display: block;
}
.c-header__overlay-button {
display: none;
}
}
.c-home-header-streamer {
padding: 10vh 0 5vh;
display: flex;
justify-content: center;
align-items: flex-start;
flex-direction: column;
}
@media screen and (min-width: 650px) {
.c-home-header-streamer__content {
max-width: 575px;
}
}
@media screen and (min-width: 1200px) {
.c-home-header-streamer__content {
margin-left: auto;
}
}
.c-home-header-streamer__text {
margin-top: 30px;
font-size: 18px;
line-height: 1.75;
}
.c-icon-button {
display: inline-flex;
justify-content: center;
align-items: center;
flex-direction: row;
width: 40px;
height: 40px;
color: #AAD3DF;
border: 1px solid rgba(170, 211, 223, 0.3);
border-radius: 100%;
transition-property: color, background-color, border, box-shadow;
transition-duration: 0.25s;
outline: none;
}
.c-icon-button:hover {
color: #ffffff;
background-color: #AAD3DF;
border-color: transparent;
cursor: pointer;
}
.c-icon-button:active {
background-color: #54a7bf;
color: #ffffff;
}
.c-icon-button:focus {
box-shadow: 0 2px 4px 0 rgba(56, 74, 102, 0.2);
}
.c-icon-button[data-icon-direction=reverse] {
transform: rotate(0.5turn);
}
.c-image {
display: block;
padding-bottom: 100%;
background-position: center;
background-size: cover;
background-repeat: no-repeat;
}
@media screen and (min-width: 900px) {
.c-image {
height: 100%;
padding-bottom: 0;
}
}
.c-image__placeholder {
display: block;
width: 100%;
height: 0;
padding-bottom: 66.67%;
background-color: #f7f9fb;
background-image: url("/img/kms/dynamic/image.svg");
background-repeat: no-repeat;
background-position: center;
background-size: 200px auto;
}
@media screen and (min-width: 900px) {
.c-image__placeholder {
height: 100%;
padding-bottom: 0;
}
}
.c-image__placeholder--video {
padding-bottom: calc(100% / 16 * 9);
background-image: url("/img/kms/dynamic/video-block.svg");
}
.c-language {
position: relative;
margin-left: 30px;
padding-top: 42px;
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-language {
top: -20px;
}
}
.c-language__current {
position: relative;
z-index: 2;
display: block;
width: 100%;
padding: 13px 25px 13px 15px;
color: #AAD3DF;
font-size: 1.125rem;
line-height: 1.2222222222;
text-align: left;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
cursor: pointer;
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-language__current {
padding: 8px 25px 8px 15px;
}
}
@supports ((-webkit-clip-path: polygon(calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%, 0 0)) or (clip-path: polygon(calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%, 0 0))) {
.c-language__current {
-webkit-clip-path: polygon(calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%, 0 0);
clip-path: polygon(calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%, 0 0);
}
.c-language__current:after {
content: "";
position: absolute;
top: 0;
right: 0;
border-width: 0 17.5px 17.5px 0;
border-style: solid;
border-color: transparent #AAD3DF;
transition: border-color 0.3s;
}
}
.c-language__current:focus, .c-language__current:hover, .c-language__current.c-button--ghost:hover:not(:disabled) {
outline: none;
color: #000013;
background-color: #AAD3DF;
}
.c-language__current:focus .c-language__arrow, .c-language__current:hover .c-language__arrow, .c-language__current.c-button--ghost:hover:not(:disabled) .c-language__arrow {
color: #000013;
}
@supports ((-webkit-clip-path: polygon(calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%, 0 0)) or (clip-path: polygon(calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%, 0 0))) {
.c-language__current:focus:after, .c-language__current:hover:after, .c-language__current.c-button--ghost:hover:not(:disabled):after {
border-color: transparent #000013;
}
}
.c-language__dropdown {
position: absolute;
left: 0;
top: calc(100% - 1px);
border: 1px solid currentColor;
background-color: #000013;
list-style: none;
width: 100%;
margin: 0;
opacity: 0;
transform: translate3d(0, 5px, 0);
transition: opacity 0.3s, transform 0.3s;
}
.c-language:hover .c-language__dropdown {
opacity: 1;
transform: translate3d(0, 0, 0);
}
.c-language__link {
display: block;
padding: 13px;
text-decoration: none;
color: #AAD3DF;
background-color: transparent;
transition: background-color 0.3s;
}
.c-language__link:hover {
color: #000013;
background-color: #AAD3DF;
}
.c-language__arrow {
position: absolute;
z-index: 3;
right: 12px;
top: 20px;
font-size: 8px;
color: #AAD3DF;
pointer-events: none;
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-language__arrow {
top: 15px;
}
}
.c-nav {
display: flex;
justify-content: flex-start;
align-items: center;
flex-direction: row;
}
.c-nav__list {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
height: 100%;
padding: 0;
list-style: none;
margin: 0 auto;
width: 65%;
position: relative;
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-nav__list {
margin: 0;
margin-left: auto;
width: 80%;
}
}
.c-nav__item {
font-size: 1.125rem;
line-height: 1.2222222222;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
flex: 1 0 auto;
margin-top: 0;
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-nav__item {
justify-content: flex-end;
}
}
.c-nav__item + .c-nav__item {
margin-left: 30px;
}
.c-nav__link {
display: inline-block;
padding: 20px 0;
line-height: 24px;
text-decoration: none;
position: relative;
overflow: hidden;
color: white;
}
.c-nav__link::before {
content: "";
position: absolute;
bottom: 1rem;
left: -101%;
width: 100%;
height: 2px;
background-color: white;
transition-property: transform, color;
transition-duration: 0.3s;
transition-timing-function: ease-in-out;
}
.is-active .c-nav__link::before {
transform: translate(101%, 0);
}
.c-nav__link:hover {
transition-duration: 0.2s;
}
.c-nav__link:hover::before {
transform: translate(101%, 0);
transition-duration: 0.2s;
}
.c-nav__icon {
margin-left: 7px;
color: #AAD3DF;
}
.c-nav__actions {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
list-style: none;
margin: 0;
position: relative;
height: 40px;
top: -20px;
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-nav__actions {
position: absolute;
right: 0;
top: 0;
}
}
.c-nav__actions .phone, .c-nav__actions .language {
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: column;
position: relative;
color: #AAD3DF;
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-nav__actions .phone, .c-nav__actions .language {
display: flex;
justify-content: flex-start;
align-items: center;
flex-direction: row;
top: -20px;
}
}
.c-nav__actions .phone a, .c-nav__actions .language a {
text-decoration: none;
}
.c-nav__actions .phone .c-button, .c-nav__actions .language .c-button {
position: relative;
padding: 14px 20px;
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-nav__actions .phone .c-button, .c-nav__actions .language .c-button {
padding: 10px 20px;
}
}
@supports ((-webkit-clip-path: polygon(calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%, 0 0)) or (clip-path: polygon(calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%, 0 0))) {
.c-nav__actions .phone .c-button, .c-nav__actions .language .c-button {
-webkit-clip-path: polygon(calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%, 0 0);
clip-path: polygon(calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%, 0 0);
}
.c-nav__actions .phone .c-button:after, .c-nav__actions .language .c-button:after {
content: "";
position: absolute;
top: 0;
right: 0;
border-width: 0 17.5px 17.5px 0;
border-style: solid;
border-color: transparent #AAD3DF;
transition: border-color 0.3s;
}
.c-nav__actions .phone .c-button:hover:after, .c-nav__actions .language .c-button:hover:after {
border-color: transparent #000013;
}
}
.c-nav__actions .phone p, .c-nav__actions .language p {
font-size: 1rem;
line-height: 1.375;
margin-bottom: 2px;
margin-top: 18px;
color: #AAD3DF;
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-nav__actions .phone p, .c-nav__actions .language p {
margin-bottom: 0;
margin-right: 20px;
}
}
.c-nav__actions .phone svg, .c-nav__actions .language svg {
margin-right: 10px;
}
.c-nav__actions .language {
margin-left: 0;
}
@media screen and (min-width: 900px) and (max-width: 1299px) {
.c-nav__actions .language {
top: 0;
}
}
.c-nav__actions .login-button {
position: absolute;
right: 0;
top: -45px;
padding: 7px 10px 7px 15px;
color: #000013;
margin-left: auto;
}
@supports ((-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 16px 100%, 0 calc(100% - 16px))) or (clip-path: polygon(0 0, 100% 0, 100% 100%, 16px 100%, 0 calc(100% - 16px)))) {
.c-nav__actions .login-button {
-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 16px 100%, 0 calc(100% - 16px));
clip-path: polygon(0 0, 100% 0, 100% 100%, 16px 100%, 0 calc(100% - 16px));
}
}
.c-options-menu {
list-style: none;
margin-left: 0;
}
@media screen and (max-width: 839px) {
.c-options-menu {
display: flex;
justify-content: space-between;
flex-direction: row;
}
}
@media screen and (min-width: 840px) {
.c-options-menu__segment + .c-options-menu__segment {
margin-top: 50px;
}
}
.c-options-menu__label {
font-size: 1rem;
font-weight: 500;
margin-bottom: 10px;
color: #E6E5E6;
}
@media screen and (max-width: 839px) {
.c-options-menu__segment:last-child .c-options-menu__label {
text-align: right;
}
}
.pageTransitionOverlay {
position: fixed;
top: 0;
left: -17%;
width: 134%;
height: 120%;
background-color: #000013;
z-index: 999;
transform: translate(0, -120%);
transition: all 0.5s ease-in-out;
}
.pageTransitionOverlay.down {
transform: translate(0, 0);
}
.pageTransitionOverlay.done {
transform: translate(0, 120%);
}
.c-trademark__text {
margin-right: 7px;
}
.c-pagination {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
list-style: none;
margin-left: 0;
}
.c-pagination__item {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
font-size: 0.875rem;
line-height: 1.1428571429;
font-weight: 500;
color: rgba(185, 191, 224, 0.5);
}
.c-pagination__link {
border-radius: 4px;
padding: 10px;
color: rgba(68, 81, 153, 0.5);
text-decoration: none;
transition: color 0.2s, background-color 0.2s;
}
.c-pagination__link:link:hover {
color: #384a66;
background: #f7f9fb;
}
.c-pagination__link.is-active {
font-weight: bold;
color: #AAD3DF;
cursor: default;
}
.c-pagination__prev,
.c-pagination__next {
display: flex;
justify-content: center;
align-items: stretch;
flex-direction: row;
margin-left: 20px;
padding: 10px;
transition: color 0.2s;
}
.c-pagination__prev {
transform: rotate(0.5turn);
margin-left: 0;
margin-right: 20px;
}
.c-project-grid {
padding: 0;
}
.c-project-grid h2 {
margin-bottom: 120px;
}
@media screen and (min-width: 1400px) {
.c-project-grid {
padding: 30px 8.3333333333% 0 8.3333333333%;
}
}
.c-project-grid {
display: block;
}
@media screen and (min-width: 800px) {
.c-project-grid {
display: -ms-grid;
display: grid;
row-gap: 60px;
-moz-column-gap: 10%;
column-gap: 10%;
-ms-grid-columns: 1fr 1fr;
grid-template-columns: 1fr 1fr;
}
}
.c-project-grid__item {
text-decoration: none;
}
@media screen and (max-width: 799px) {
.c-project-grid__item {
margin-bottom: 60px;
}
}
@media screen and (min-width: 800px) {
.c-project-grid__item:nth-child(2) {
-ms-grid-row-span: 2;
grid-row: span 2;
}
.c-project-grid__item:nth-child(2) .c-project-grid__image {
width: 100%;
height: calc(100% - 45px);
padding-bottom: 0;
}
}
.c-project-grid__image {
width: 100%;
height: 0;
padding-bottom: 70%;
background-size: cover;
background-position: center;
background-color: #dfe8eb;
position: relative;
}
.c-project-grid__body {
margin-top: 1em;
}
.c-project-grid__name {
font-size: 1.25rem;
line-height: 1.6;
font-weight: 500;
display: block;
color: #000013;
}
.c-project-grid__function {
font-size: 1rem;
line-height: 2;
font-weight: 400;
color: #445199;
}
/**
* Wrapper of the main body
* (between the header and the footer)
*/
.c-text-image.c-project-content .s-image {
flex-shrink: 0;
}
@media screen and (min-width: 900px) {
.c-text-image.c-project-content .s-image {
width: 54.1666666667%;
margin-left: 8.3333333333%;
}
}
@media screen and (max-width: 1199px) {
.c-text-image.c-project-content .s-image .c-slide-projector__slide,
.c-text-image.c-project-content .s-image .c-slide-projector__img {
padding-bottom: 100%;
}
}
.c-text-image.c-project-content .s-image .c-slide-projector__control {
bottom: 0;
right: -30px;
}
.c-text-image.c-project-content .s-text {
padding: 60px 50px;
background-color: #000013;
color: white;
min-height: 375px;
align-self: flex-start;
}
@media screen and (min-width: 900px) {
.c-text-image.c-project-content .s-text {
width: 29.1666666667%;
margin: 0 6.25% 60px 4.1666666667%;
}
}
@media screen and (min-width: 1028px) {
.c-text-image.c-project-content .s-text {
margin: 0 8.3333333333%;
}
}
.c-text-image.c-project-content .s-text ul.hex {
list-style: none;
padding: 0;
margin: 30px 0;
}
.c-text-image.c-project-content .s-text ul.hex li {
font-size: 1.25rem;
line-height: 1.45;
font-weight: 400;
position: relative;
border-color: white;
margin-bottom: 30px;
}
.c-text-image.c-project-content .s-text ul.hex li:before, .c-text-image.c-project-content .s-text ul.hex li:after {
position: absolute;
content: "";
left: -20px;
top: 50%;
border-color: transparent;
border-style: solid;
width: 8px;
height: 5px;
border-width: 0 2px;
}
.c-text-image.c-project-content .s-text ul.hex li:before {
margin-top: -4px;
border-bottom: 4px solid;
border-bottom-color: inherit;
}
.c-text-image.c-project-content .s-text ul.hex li:after {
margin-top: 0;
border-top: 4px solid;
border-top-color: inherit;
}
.c-rating {
box-shadow: 0 10px 20px -10px rgba(56, 74, 102, 0.2);
border-radius: 16px;
position: relative;
margin: 0 auto;
max-width: 555px;
overflow: hidden;
background-color: #ffffff;
}
.c-rating__link {
padding: 30px 20px;
text-decoration: none;
color: #999999;
}
.c-rating__stars {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
padding: 0 20px;
height: 60px;
transform: translateY(-2px);
}
@media screen and (min-width: 1280px) {
.c-references__logos-area {
padding: 0 8.3333333333%;
}
}
.c-references__title {
color: #000013;
font-size: 1.125rem;
line-height: 1.1111111111;
font-weight: 400;
margin-bottom: 60px;
}
.c-references__image-wrapper {
position: relative;
}
.c-references__image-wrapper:after {
content: "";
position: absolute;
right: -2px;
bottom: -2px;
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 62px 62px;
border-color: transparent transparent #F2F8FA transparent;
}
.c-references__image {
width: 100%;
background-color: #dfe8eb;
}
.c-references__logos > * {
width: 100%;
max-width: 240px;
margin: auto;
}
@media screen and (max-width: 499px) {
.c-references__logos > * + * {
margin-top: 40px;
}
}
@media screen and (min-width: 500px) {
.c-references__logos {
display: flex;
align-items: flex-start;
justify-content: flex-start;
flex-wrap: wrap;
margin: -40px;
}
.c-references__logos > * {
margin: 40px;
max-width: 180px;
}
}
@media screen and (min-width: 500px) and (min-width: 620px) {
.c-references__logos > * {
max-width: 220px;
}
}
.c-references__name {
margin-top: 20px;
font-size: 1.25rem;
line-height: 1.2;
font-weight: 500;
color: #000013;
}
.c-references__function {
margin-top: 5px;
font-size: 1rem;
line-height: 1.5;
font-weight: 400;
color: #445199;
}
.c-references__item .c-card__title {
margin-bottom: 10px;
}
.c-references__item .c-card__content {
color: #AAD3DF;
}
.c-references__item .c-card__inner-body {
min-height: 0;
}
.c-references__content {
margin-top: 2em;
color: #000013;
}
.c-references__quotes {
float: left;
margin: 0 25px 12px 0;
width: 32px;
}
.c-services_grid {
padding: 0;
display: flex;
justify-content: space-between;
align-items: center;
flex-direction: column;
}
@media screen and (min-width: 1000px) {
.c-services_grid {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-direction: row;
flex-wrap: wrap;
}
}
.c-services_grid a {
text-decoration: none;
}
.c-services_grid article {
margin-bottom: 60px;
background-color: white;
position: relative;
}
@media screen and (min-width: 1000px) {
.c-services_grid article {
width: 45.8333333333%;
margin-bottom: 80px;
}
}
.c-services_grid article a {
display: flex;
flex-direction: column;
color: #000013;
transition: color 0.3s, box-shadow 0.3s;
}
@media screen and (min-width: 425px) {
.c-services_grid article a {
display: flex;
align-items: stretch;
flex-direction: row;
}
}
.c-services_grid article a:hover {
box-shadow: 5px 5px 10px -5px rgba(0, 0, 0, 0.2);
color: #4093ab;
}
.c-services_grid article a:hover .text h4 {
color: #367b8f;
}
.c-services_grid article a:hover .icon {
color: #367b8f;
}
.c-services_grid article a:hover .arrow {
background-color: #367b8f;
}
.c-services_grid article a .text {
padding: 0 30px 30px 30px;
}
@media screen and (min-width: 425px) {
.c-services_grid article a .text {
padding: 60px 30px 60px 0;
}
}
.c-services_grid article a .text h4 {
text-align: center;
margin-top: 0;
margin-bottom: 25px;
font-family: "Overpass", sans-serif;
font-size: 1.25rem;
line-height: 1.55;
font-weight: 600;
color: #445199;
transition: color 0.3s;
}
@media screen and (min-width: 425px) {
.c-services_grid article a .text h4 {
text-align: left;
}
}
.c-services_grid article a .icon {
-ms-grid-row-align: center;
align-self: center;
display: block;
margin: 15px 0 5px 0;
height: 100%;
flex-shrink: 0;
color: #445199;
width: 50px;
transition: color 0.3s;
}
@media screen and (max-width: 424px) {
.c-services_grid article a .icon {
padding: 25px 0 15px;
}
}
@media screen and (min-width: 425px) {
.c-services_grid article a .icon {
margin: 0 9.0909090909%;
}
}
.c-services_grid article a .icon.power {
width: 80px;
}
@media screen and (min-width: 425px) {
.c-services_grid article a .icon.power {
margin: 0 calc(9.0909090909% - 20px);
}
}
.c-services_grid article a .arrow {
flex-shrink: 0;
padding: 10px;
display: flex;
justify-content: flex-end;
align-items: flex-end;
flex-direction: row;
background-color: #000013;
color: #AAD3DF;
transition: background-color 0.2s;
}
@media screen and (min-width: 425px) {
.c-services_grid article a .arrow {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
padding: 0;
margin-left: auto;
width: 50px;
}
}
.c-services_grid article:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: 0;
left: 0;
z-index: 0;
width: 60px;
background: linear-gradient(-45deg, transparent 0, transparent 59px, #F2F8FA 60px) -35px 0;
background-size: calc(100% + 60px);
}
.c-share__list {
display: inline-flex;
flex-direction: column;
list-style: none;
margin: 0;
}
@media screen and (max-width: 839px) {
.c-share__list {
display: flex;
flex-direction: row;
}
}
@media screen and (max-width: 839px) {
.c-share__item + .c-share__item {
margin-left: 4vw;
}
}
@media screen and (min-width: 840px) {
.c-share__item + .c-share__item {
margin-top: 15px;
}
}
.c-slide-projector {
height: 100%;
}
.c-slide-projector__tray {
display: -ms-grid;
display: grid;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
height: 100%;
}
.c-slide-projector__slide {
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-column: 1;
grid-column: 1;
opacity: 0;
transition: opacity 0.5s;
padding-bottom: 70%;
height: 0;
width: 100%;
display: block;
}
@media screen and (min-width: 900px) {
.c-slide-projector__slide {
height: 100%;
padding-bottom: 0;
}
}
.c-slide-projector__slide img {
width: 100%;
}
.c-slide-projector__slide.is-active {
opacity: 1;
}
.ie .c-slide-projector__slide.is-active {
display: block;
}
.ie .c-slide-projector__slide {
display: none;
}
.c-slide-projector__control {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
position: absolute;
bottom: 0;
right: 0;
}
.l-bisection--corners .c-slide-projector__control {
bottom: 60px;
}
.c-slide-projector__button {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
padding: 10px;
width: 60px;
height: 60px;
color: #f7f9fb;
background: #000013;
cursor: pointer;
transition-property: background-color, border, box-shadow;
transition-duration: 0.25s;
outline: none;
}
.c-slide-projector__button:hover {
color: #ffffff;
background-color: #AAD3DF;
border-color: transparent;
cursor: pointer;
}
.c-slide-projector__button:active {
background-color: #0000a6;
color: #AAD3DF;
}
.c-slide-projector__button:focus {
box-shadow: 0 2px 4px 0 rgba(56, 74, 102, 0.2);
}
.c-slide-projector__button.previous {
transform: rotate(0.5turn);
}
.c-slide-projector__arrow {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
height: 18px;
font-size: 0;
line-height: 0;
}
.c-slide-projector__arrow svg {
height: 18px;
width: 16px;
}
.c-slide-projector__img {
background-size: cover;
padding-bottom: 70%;
width: 100%;
display: block;
background-position: center;
}
@media screen and (min-width: 900px) {
.c-slide-projector__img {
height: 100%;
padding-bottom: 0;
}
}
.c-star {
padding: 0 2px;
color: #e9ebf5;
line-height: 0;
}
.c-star--full {
color: #666666;
}
.c-star--half {
color: #e9ebf5;
}
.c-star--half .half-star {
fill: #666666;
}
/**
* When we need an animation we can use the following as a basis
*/
.c-status {
display: flex;
justify-content: flex-start;
align-items: center;
flex-direction: row;
text-decoration: none;
}
.c-status__indicator {
display: block;
width: 10px;
height: 10px;
margin-right: 15px;
background-color: #ccd2db;
border-radius: 100%;
}
.c-status__indicator[data-status=none] {
background-color: #3ecf8e;
}
.c-status__indicator[data-status=minor] {
background-color: #ffd33a;
}
.c-status__indicator[data-status=major] {
background-color: #ff8100;
}
.c-status__indicator[data-status=critical] {
background-color: #cf3e3e;
}
.c-status__label {
color: #999999;
}
/**
* Subfooter
*/
.c-subfooter {
border-top: solid 1px #E6E5E6;
z-index: 10;
color: #E6E5E6;
}
.c-subfooter__main {
width: calc(100% - 40px);
margin-left: auto;
margin-right: auto;
font-size: 0.875rem;
padding: 15px 0;
}
@media screen and (min-width: 800px) {
.c-subfooter__main {
width: calc(100% / 10 * 8);
}
}
@media screen and (min-width: 1200px) {
.c-subfooter__main {
width: calc(100% / 14 * 12);
max-width: 1440px;
}
}
@media screen and (max-width: 559px) {
.c-subfooter__main {
padding: 30px 0;
}
.c-subfooter__main > * + * {
margin-top: 20px !important;
}
}
@media screen and (min-width: 560px) {
.c-subfooter__main {
flex-wrap: wrap;
display: flex;
justify-content: space-between;
align-items: center;
flex-direction: row;
}
}
.c-subfooter__copyright {
flex-wrap: wrap;
display: flex;
flex-direction: row;
padding: 15px 0;
margin-right: auto;
}
.c-subfooter__copyright a {
color: white;
text-decoration: none;
}
.c-subfooter__trademark {
margin-right: 30px;
padding: 15px 0;
}
.c-subfooter__language {
flex-basis: 210px;
margin-left: auto;
padding: 15px 0;
}
.o-subfooter__nav {
margin-right: auto;
margin-top: 8px;
margin-bottom: 8px;
}
.o-subfooter__list {
list-style: none;
margin: 0;
}
@media screen and (max-width: 559px) {
.o-subfooter__list > * + * {
margin-top: 15px;
}
}
@media screen and (min-width: 560px) {
.o-subfooter__list {
flex-wrap: wrap;
display: flex;
flex-direction: row;
}
}
@media screen and (min-width: 560px) {
.o-subfooter__item {
margin-right: 32px;
white-space: nowrap;
}
}
.o-subfooter__link {
text-decoration: none;
transition: color 200ms;
color: white;
}
.o-subfooter__link:hover {
color: #AAD3DF;
}
.o-subfooter__trademark {
margin-top: 8px;
margin-bottom: 8px;
}
.c-switch {
position: relative;
}
.c-switch__input {
position: absolute;
top: 0;
left: 0;
opacity: 0;
}
.c-switch__label {
border-radius: 4px;
font-size: 0.8125rem;
font-weight: 500;
display: -ms-inline-grid;
display: inline-grid;
-ms-grid-columns: 1fr 1fr;
grid-template-columns: 1fr 1fr;
position: relative;
-webkit-user-select: none;
-ms-user-select: none;
-moz-user-select: none;
user-select: none;
color: white;
background: #e9ebf5;
box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
overflow: hidden;
transition: background-color 0.3s cubic-bezier(0, 1, 0.5, 1);
}
.c-switch__label::before, .c-switch__label::after {
position: relative;
z-index: 1;
padding: 9px;
line-height: 1.3;
text-align: center;
text-transform: uppercase;
white-space: nowrap;
transition: color 0.2s;
}
.c-switch__label::before {
-ms-grid-column: 1;
grid-column: 1;
content: attr(data-checked);
}
.c-switch__input:checked ~ .c-switch__label::before {
color: rgba(56, 74, 102, 0.4);
}
.c-switch__label::after {
-ms-grid-column: 2;
grid-column: 2;
content: attr(data-unchecked);
color: rgba(255, 255, 255, 0.3);
}
.c-switch__input:checked ~ .c-switch__label::after {
color: inherit;
}
.c-switch__indicator {
position: absolute;
z-index: 0;
left: 0;
top: 0;
height: 100%;
width: 50%;
background: linear-gradient(to bottom, #AAD3DF, #78eddc);
transition: transform 0.35s cubic-bezier(0.23, 0.18, 0.3, 1);
}
.c-switch__indicator:after {
content: "";
position: absolute;
left: 0;
top: 0;
display: block;
width: 100%;
height: 100%;
background-image: linear-gradient(270deg, #a02d09 10%, #DE4313 100%);
opacity: 0;
transition: opacity 0.35s cubic-bezier(0.23, 0.18, 0.3, 1);
}
.c-switch__input:checked ~ .c-switch__label .c-switch__indicator {
transform: translateX(101%);
}
.c-switch__input:checked ~ .c-switch__label .c-switch__indicator:after {
opacity: 1;
}
.c-tabslider {
position: relative;
z-index: 0;
}
@media screen and (min-width: 1200px) {
.c-tabslider {
display: -ms-grid;
display: grid;
-ms-grid-columns: 4fr 8fr;
grid-template-columns: 4fr 8fr;
}
}
.c-tabslider__nav {
width: 100%;
}
@media screen and (min-width: 500px) {
.c-tabslider__nav {
margin: 0 auto;
}
}
@media screen and (min-width: 1200px) {
.c-tabslider__nav {
display: flex;
justify-content: space-between;
flex-direction: column;
margin-left: 25%;
width: 75%;
}
}
.c-tabslider__nav h2 {
margin-bottom: 30px;
}
@media screen and (min-width: 1200px) {
.c-tabslider__nav h2 {
margin-bottom: 80px;
}
}
.c-tabslider__buttons {
display: -ms-grid;
display: grid;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
grid-row-gap: 15px;
height: 100%;
width: 100%;
margin-bottom: 30px;
}
@media screen and (min-width: 500px) {
.c-tabslider__buttons {
-ms-grid-columns: 1fr 1fr;
grid-template-columns: 1fr 1fr;
}
}
@media screen and (min-width: 1200px) {
.c-tabslider__buttons {
display: flex;
justify-content: center;
align-items: flex-start;
flex-direction: column;
}
}
.c-tabslider__button {
font-size: 1.25rem;
line-height: 1.4;
font-weight: 700;
position: relative;
padding-top: 20px;
padding-bottom: 20px;
border: none;
color: #999999;
background: transparent;
cursor: pointer;
transition: color 0.2s, opacity 0.2s;
text-align: left;
}
.c-tabslider__button svg {
height: 20px;
width: 20px;
display: inline-block;
margin-right: 20px;
}
@media screen and (max-width: 499px) {
.c-tabslider__button {
display: inline-flex;
}
}
@media screen and (min-width: 500px) and (max-width: 799px) {
.c-tabslider__button {
font-size: 1rem;
line-height: 1.25;
font-weight: 700;
}
}
.c-tabslider__button:hover {
opacity: 0.8;
}
.c-tabslider__button:focus {
outline: none;
}
.c-tabslider__button.is-active {
color: #AAD3DF;
opacity: 1;
}
.c-tabslider__container {
display: -ms-inline-grid;
display: inline-grid;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
width: 100%;
}
.c-tabslider__content {
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-column: 1;
grid-column: 1;
opacity: 0;
transition: opacity 0.5s;
z-index: 0;
pointer-events: none;
position: relative;
}
.c-tabslider__content img {
width: 100%;
position: relative;
}
.c-tabslider__content.is-active {
opacity: 1;
z-index: 1;
pointer-events: all;
}
.c-tabslider__content__info-block {
position: relative;
width: 100%;
right: 0;
bottom: 0;
background: linear-gradient(to bottom, rgba(0, 0, 19, 0.95) 70%, rgba(0, 0, 19, 0.9) calc(100% - 60px), rgba(0, 0, 19, 0.4) 100%);
}
@media screen and (min-width: 500px) {
.c-tabslider__content__info-block {
padding: 0 60px 60px 60px;
}
}
@media screen and (min-width: 1200px) {
.c-tabslider__content__info-block {
position: absolute;
width: 75%;
}
}
@media screen and (min-width: 1500px) {
.c-tabslider__content__info-block {
width: 50%;
}
}
.c-tabslider__content__info-block .icon {
width: 60px;
height: 60px;
display: none;
position: absolute;
right: -30px;
top: 0;
}
.c-tabslider__content__info-block .icon.power {
width: 80px;
right: -20px;
top: 20px;
transform: rotate(90deg);
}
@media screen and (min-width: 500px) and (max-width: 799px) {
.c-tabslider__content__info-block .icon {
right: 0 !important;
transform-origin: 100% 0;
transform: scale3d(0.8, 0.8, 1);
}
}
@media screen and (min-width: 500px) {
.c-tabslider__content__info-block .icon {
display: block;
}
}
.c-tabslider__content__info-block h2 {
margin-bottom: 30px;
}
@media screen and (max-width: 499px) {
.c-tabslider__content__info-block h2 {
padding-left: 30px;
}
}
.c-tabslider__content__info-block a {
display: inline-block;
margin-top: 25px;
text-decoration: none;
}
.c-tabslider__content__info-block a:after {
display: inline-block;
content: ">";
margin-left: 20px;
transform: scale(0.75, 1.5);
position: relative;
top: 1px;
}
.c-tabslider__content__info-block:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: -60px;
left: 0;
width: 100%;
background: linear-gradient(135deg, transparent 0, transparent 59px, #000013 60px) -24px 0;
background-size: calc(100% + 60px);
}
/**
* Modifier with buttons that have a circle connected by a line to indicate a 'flow'
*/
.c-tabslider--flow .c-tabslider__nav {
border-bottom: none;
}
@media screen and (min-width: 500px) {
.c-tabslider--flow .c-tabslider__nav {
position: relative;
overflow: hidden;
}
.c-tabslider--flow .c-tabslider__nav::after {
position: absolute;
z-index: -2;
content: "";
display: block;
width: 60%;
height: 1px;
top: 12px;
left: 50%;
transform: translateX(-50%);
background-color: #e9ebf5;
}
}
.c-tabslider--flow .c-tabslider__button {
font-size: 1rem;
margin: 0 0 0 30px;
padding: 0;
color: rgba(56, 74, 102, 0.3);
text-align: left;
}
.ie .c-tabslider--flow .c-tabslider__button {
display: block !important;
flex: inherit !important;
}
@media screen and (min-width: 500px) {
.c-tabslider--flow .c-tabslider__button {
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: column;
flex: 1 1 10px;
align-items: center;
position: relative;
z-index: 0;
text-align: center;
max-width: 170px;
margin: 0;
padding-top: 41px;
}
}
@media screen and (min-width: 800px) {
.c-tabslider--flow .c-tabslider__button {
font-size: 1.25rem;
max-width: 222px;
}
}
.c-tabslider--flow .c-tabslider__button::before {
z-index: -1;
left: -30px;
top: -2px;
width: 24px;
height: 24px;
border-radius: 100%;
border: 1px solid transparent;
padding: 3px;
background-clip: content-box;
background-color: #e9ebf5;
color: #AAD3DF;
opacity: 1;
transform: none;
transition-property: border, background-color;
transition-duration: 0.25s;
transition-timing-function: ease-out, linear;
}
@media screen and (min-width: 500px) {
.c-tabslider--flow .c-tabslider__button::before {
top: 0;
left: calc(50% - 12px);
}
}
.c-tabslider--flow .c-tabslider__button::after {
position: absolute;
z-index: -2;
content: "";
display: block;
height: 56px;
width: 1px;
top: -48px;
left: calc(-30px + 12px);
background-color: #e9ebf5;
pointer-events: none;
}
@media screen and (min-width: 500px) {
.c-tabslider--flow .c-tabslider__button::after {
visibility: hidden;
}
}
@media screen and (max-width: 499px) {
.c-tabslider--flow .c-tabslider__button:first-child:after {
visibility: hidden;
}
}
@media screen and (min-width: 500px) {
.c-tabslider--flow .c-tabslider__button:first-child:after, .c-tabslider--flow .c-tabslider__button:last-child:after {
width: 60%;
height: 1px;
top: 12px;
left: 50%;
background: #e9ebf5;
visibility: visible;
}
}
@media screen and (min-width: 500px) {
.c-tabslider--flow .c-tabslider__button:last-child:after {
left: auto;
right: 50%;
}
}
@media screen and (max-width: 499px) {
.c-tabslider--flow .c-tabslider__button + .c-tabslider__button {
margin-top: 40px;
}
}
.c-tabslider--flow .c-tabslider__button:hover, .c-tabslider--flow .c-tabslider__button:focus {
color: #999999;
}
.c-tabslider--flow .c-tabslider__button:hover::before, .c-tabslider--flow .c-tabslider__button:focus::before {
background-color: #ccd2db;
}
.c-tabslider--flow .c-tabslider__button.is-active {
color: #384a66;
}
.c-tabslider--flow .c-tabslider__button.is-active::before {
background-color: #AAD3DF;
border-color: #AAD3DF;
}
.c-team-grid {
padding: 60px 0 0 0;
}
.c-team-grid h2 {
margin-bottom: 50px;
}
@media screen and (min-width: 1400px) {
.c-team-grid {
padding: 30px 16.6666666667% 0 16.6666666667%;
}
}
/* ==========================================================================
* Text button
* ========================================================================== */
/**
* 1. Color gets inherited and used for nested elements with 'currentColor' property
* 2. Reset default button styling
*/
.c-text-button {
display: inline-flex;
justify-content: center;
align-items: center;
flex-direction: row;
color: #AAD3DF;
padding: 0;
/* 2 */
background-color: transparent;
/* 2 */
border: none;
/* 2 */
cursor: pointer;
text-decoration: none;
transition: color 0.3s;
}
.c-text-button:hover:not(:disabled) {
color: #4093ab;
}
.c-text-button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-text-button__text {
font-size: 1rem;
line-height: 0.9375;
font-weight: 500;
letter-spacing: 1.5px;
text-transform: uppercase;
}
.c-text-button__icon {
display: none;
position: relative;
top: -2px;
margin-left: 6px;
transition: transform 0.3s;
}
.c-text-button:hover:not(:disabled) .c-text-button__icon {
transform: translateX(4px);
}
.c-text-button--icon .c-text-button__icon {
display: block;
}
.c-text-button--small .c-text-button__text {
font-size: 0.8125rem;
line-height: 0.9230769231;
font-weight: 500;
}
.c-text-button--small .c-text-button__icon svg {
transform: scale(0.67);
}
.c-text-image {
align-items: stretch;
}
@media screen and (min-width: 900px) {
.c-text-image .l-bisection__item {
width: 50.9%;
}
}
.c-text-image .s-image {
position: relative;
}
.c-text-image .s-text {
background-color: white;
padding: 60px 6.25% 60px 4.1666666667%;
color: black;
}
@media screen and (min-width: 1028px) {
.c-text-image .s-text {
padding: 60px 8.3333333333%;
}
}
.c-text-image .s-text h1, .c-text-image .s-text h2, .c-text-image .s-text h3, .c-text-image .s-text h4, .c-text-image .s-text h5 {
color: black;
}
.c-text-image .s-text .c-button {
color: #445199;
}
.c-text-image .s-text a {
color: #445199;
}
.c-text-image.l-bisection--gradient .s-text {
background-color: #000013;
color: white;
}
.c-text-image.l-bisection--gradient .s-text h1, .c-text-image.l-bisection--gradient .s-text h2, .c-text-image.l-bisection--gradient .s-text h3, .c-text-image.l-bisection--gradient .s-text h4, .c-text-image.l-bisection--gradient .s-text h5 {
color: white;
}
.c-text-image.l-bisection--gradient .s-text .c-button {
color: #AAD3DF;
}
.c-text-image.l-bisection--gradient .s-image {
position: relative;
}
.c-text-image.l-bisection--gradient .s-image:after {
content: "";
display: none;
height: 100%;
position: absolute;
bottom: 0;
right: 0;
width: 20%;
background: linear-gradient(to right, transparent 0%, #000013 70%);
}
@media screen and (min-width: 900px) {
.c-text-image.l-bisection--gradient .s-image:after {
display: block;
}
}
.c-text-image.l-bisection--gradient.l-bisection--reversed .s-image::after {
right: auto;
left: 0;
background: linear-gradient(to left, transparent 0%, #000013 70%);
}
.c-text-image.l-bisection--corners {
padding-top: 60px;
}
.o-block#component-item-1 .c-text-image.l-bisection--corners {
padding-top: 0;
margin-top: -40px;
}
.c-text-image.l-bisection--corners .s-image {
position: relative;
}
.c-text-image.l-bisection--corners .s-image:after {
content: "";
display: block;
height: 60px;
position: absolute;
width: 100%;
background-size: calc(100% + 60px);
top: 0;
left: 0;
background: linear-gradient(135deg, #000013 0, #000013 40px, transparent 41px) 0 0;
}
@media screen and (min-width: 900px) {
.c-text-image.l-bisection--corners .s-image:after {
bottom: 0;
top: auto;
background: linear-gradient(-45deg, #000013 0, #000013 59px, transparent 60px) -35px 0;
background-size: calc(100% + 60px);
}
}
.c-text-image.l-bisection--corners .s-text {
position: relative;
margin-bottom: 60px;
}
.c-text-image.l-bisection--corners .s-text:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: -60px;
left: 0;
width: 100%;
background: linear-gradient(135deg, transparent 0, transparent 59px, white 60px) -25px 0;
background-size: calc(100% + 60px);
}
@media screen and (min-width: 900px) {
.c-text-image.l-bisection--corners.l-bisection--reversed .s-image::after {
background: linear-gradient(45deg, #000013 0, #000013 59px, transparent 60px) -25px 0;
background-size: calc(100% + 60px);
}
}
.c-text-image.l-bisection--corners.l-bisection--reversed .s-text::before {
background: linear-gradient(-135deg, transparent 0, transparent 59px, white 60px) -35px 0;
background-size: calc(100% + 60px);
}
.c-text-image.l-bisection--slider .s-text {
margin-bottom: 0;
padding-bottom: 60px;
}
@media screen and (min-width: 900px) {
.c-text-image.l-bisection--slider .s-image:after {
bottom: 0;
top: auto;
background: linear-gradient(-45deg, white 0, white 59px, transparent 60px) -35px 0;
background-size: calc(100% + 60px);
}
}
.c-thumbnail__link {
display: block;
text-decoration: none;
width: 100%;
}
.c-thumbnail__frame {
position: relative;
width: 100%;
padding-bottom: 66.67%;
height: 0;
overflow: hidden;
}
.c-thumbnail__frame.has-hover-effect {
position: relative;
}
.c-thumbnail__frame.has-hover-effect::after {
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: radial-gradient(rgba(170, 211, 223, 0.2), rgba(170, 211, 223, 0.6));
opacity: 0;
transition-property: opacity;
transition-duration: 0.4s;
}
.c-thumbnail__link:hover .c-thumbnail__frame.has-hover-effect::after {
opacity: 1;
}
.c-thumbnail__image {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #e9ebf5;
background-size: cover;
background-repeat: no-repeat;
background-position: 50%;
}
.c-thumbnail__frame.has-hover-effect .c-thumbnail__image {
transform: scale(1);
transition-property: transform, filter;
transition-duration: 0.4s;
}
.c-thumbnail__link.has-hover:hover .c-thumbnail__image {
transform: scale(1.06);
filter: saturate(0%);
}
.c-thumbnail__content {
margin-top: 20px;
}
.c-thumbnail__caption {
font-size: 1.25rem;
line-height: 1.4;
font-weight: 500;
color: #384a66;
transition: color 0.25s;
}
.c-thumbnail__button {
margin-top: 30px;
}
/**
* Modifier of the thumbnail where the figure gets a little extra styling
*/
.c-thumbnail--pop .c-thumbnail__frame {
border-radius: 16px;
box-shadow: 0 10px 20px -10px rgba(56, 74, 102, 0.2);
overflow: hidden;
}
.c-thumbnail--pop .c-thumbnail__content {
margin-top: 30px;
}
.c-thumbnail__link[href]:hover .c-thumbnail__caption {
color: #AAD3DF;
}
.c-trademark {
display: inline-flex;
justify-content: center;
align-items: center;
flex-direction: row;
font-size: 0.875rem;
color: #999999;
text-decoration: none;
transition: color 0.15s ease-in-out;
}
.c-trademark:hover {
color: #F2F8FA;
}
.c-trademark:hover .komma-emblem {
transform-origin: 12px 12px;
-webkit-animation: logo-spin 1.8s linear infinite;
animation: logo-spin 1.8s linear infinite;
}
.c-trademark__text {
margin-right: 7px;
}
@-webkit-keyframes logo-spin {
from {
transform: rotate(0);
}
to {
transform: rotate(-1turn);
}
}
@keyframes logo-spin {
from {
transform: rotate(0);
}
to {
transform: rotate(-1turn);
}
}
.c-video {
width: 100%;
max-width: 960px;
margin: auto;
}
.c-video__placeholder {
position: relative;
height: 0;
width: 100%;
padding-bottom: 53.6%;
background-color: #e9ebf5;
}
.c-video__iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.c-vacancies_grid {
padding: 0;
display: flex;
justify-content: space-between;
align-items: center;
flex-direction: column;
}
@media screen and (min-width: 1000px) {
.c-vacancies_grid {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-direction: row;
flex-wrap: wrap;
}
}
.c-vacancies_grid article {
margin: 0 auto 80px auto;
width: 83.3333333333%;
padding: 8.3333333333%;
background-color: white;
position: relative;
color: black;
}
.c-vacancies_grid article h5 {
text-transform: none;
font-size: 1.75rem;
line-height: 1.6071428571;
font-weight: 500;
color: black;
margin-bottom: 35px;
}
.c-vacancies_grid article a {
color: #445199;
}
.c-vacancies_grid article .c-button {
display: inline-flex;
color: #445199;
margin-top: 30px;
}
.c-vacancies_grid article ul {
margin-left: 0;
list-style-type: none;
}
.c-vacancies_grid article ul li {
position: relative;
margin-bottom: 30px;
}
.c-vacancies_grid article ul li:before {
content: "";
position: absolute;
left: -27px;
width: 12px;
height: 0.75em;
display: block;
border-bottom: solid 1px #445199;
}
/* 6 - ORGANISMS
* Large blocks composed of multiple components.
=========================================================== */
/** ==========================================================================
* Organisms
* =========================================================================*/
.o-advice__form {
margin-top: 0;
background-color: #000013;
padding: 0 8.3333333333% 60px 8.3333333333%;
position: relative;
}
@media screen and (min-width: 900px) {
.o-advice__form {
width: 50%;
margin-top: 60px;
}
}
.o-advice__form:after {
content: "";
display: block;
height: 60px;
position: absolute;
top: -60px;
left: 0;
z-index: 0;
width: calc(100% + 25px);
background: linear-gradient(45deg, transparent 0, transparent 59px, #000013 60px) 0 0;
transform: scale(-1, -1);
background-size: 100%;
}
.o-advice__form .c-button {
display: inline-flex;
justify-content: flex-start;
align-items: center;
flex-direction: row;
}
.o-advice-content {
position: relative;
margin-top: 60px;
}
@media screen and (min-width: 900px) {
.o-advice-content.o-block:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: 0;
left: calc(-100% + 60px);
z-index: 0;
width: 150%;
background: linear-gradient(-45deg, transparent 0, transparent 59px, #000013 60px) -38px 0;
background-size: calc(100% + 60px);
}
}
@media screen and (max-width: 899px) {
.o-advice-content {
padding-bottom: 0;
}
}
.o-advice-content .o-block {
padding: 0;
margin-top: 0;
margin-bottom: 0;
color: #000013;
}
@media screen and (max-width: 899px) {
.o-advice-content .o-block {
width: 100%;
}
}
.o-advice-content .o-block:first-of-type {
height: 70%;
padding-bottom: 30px;
}
.c-advice-content {
align-items: stretch;
padding: 30px 0 80px 0;
}
@media screen and (min-width: 1200px) {
.c-advice-content {
padding: 60px 8.3333333333% 0 8.3333333333%;
}
}
.advice-options {
margin-top: 30px;
display: flex;
justify-content: space-between;
flex-direction: row;
flex-wrap: wrap;
}
@media screen and (min-width: 801px) and (max-width: 899px) {
.advice-options {
left: calc(100% / 10 * 1);
width: calc(100% / 10 * 8);
}
}
@media screen and (max-width: 799px) {
.advice-options {
left: 20px;
width: calc(100% - 40px);
}
}
@media screen and (max-width: 899px) {
.advice-options {
position: absolute;
top: 0;
white-space: normal;
}
}
.advice-options .left,
.advice-options .right {
display: block;
vertical-align: top;
}
.advice-options .left svg,
.advice-options .right svg {
margin-right: 20px;
display: inline-block;
}
.advice-options .left a,
.advice-options .right a {
display: block;
margin: 0 0 25px 0;
font-size: 1.125rem;
line-height: 1.6111111111;
color: #E6E5E6;
}
.advice-options .left p,
.advice-options .right p {
color: #E6E5E6;
font-size: 1.125rem;
line-height: 1.6111111111;
margin: 0 0 10px 0;
}
.advice-options .left .company-details,
.advice-options .right .company-details {
display: inline-block;
}
.advice-options .right svg {
vertical-align: top;
}
.advice-options .c-button {
margin-top: 20px;
width: 200px;
}
.advice-options .c-button > svg {
margin-right: 20px;
}
@media screen and (min-width: 500px) and (max-width: 899px) {
.advice-options .c-button {
margin-right: 200px;
}
}
.o-block {
margin-top: 100px;
margin-bottom: 100px;
width: calc(100% - 40px);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 800px) {
.o-block {
width: calc(100% / 10 * 8);
}
}
@media screen and (min-width: 1200px) {
.o-block {
width: calc(100% / 14 * 12);
max-width: 1440px;
}
}
.o-block:first-of-type {
margin-top: 0;
margin-bottom: 0;
}
.o-block:first-of-type .c-text-image {
min-height: 355px;
}
@media screen and (min-width: 1200px) {
.c-home-header-streamer + .o-block {
margin: 100px auto;
}
}
.o-block-bg {
margin-top: 0;
margin-bottom: 0;
width: 100%;
max-width: none;
padding-top: 60px;
padding-bottom: 60px;
overflow-x: hidden;
}
@media screen and (min-width: 425px) {
.o-block-bg {
padding-top: 100px;
padding-bottom: 100px;
}
}
.o-block-bg > div {
width: calc(100% - 40px);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 800px) {
.o-block-bg > div {
width: calc(100% / 10 * 8);
}
}
@media screen and (min-width: 1200px) {
.o-block-bg > div {
width: calc(100% / 14 * 12);
max-width: 1440px;
}
}
.o-block-grey {
background-color: #F2F8FA;
}
.o-block-grey-border-on-grey {
background: linear-gradient(to bottom, #F2F8FA 0%, #F2F8FA 42%, #E6EEF0 42.1%, #E6EEF0 100%);
}
.o-block-grey-border-diagonal {
background: linear-gradient(135deg, #F2F8FA 0%, #F2F8FA 70%, #E6EEF0 70.1%, #E6EEF0 100%);
}
.o-block-grey-border-on-white {
background: linear-gradient(to bottom, white 0%, white 42%, #E6EEF0 42.1%, #E6EEF0 100%);
}
.o-block-white {
background-color: white;
}
.o-block-black {
background-color: #000013;
}
@media screen and (min-width: 900px) {
.o-block--no-gap {
margin-top: -160px;
padding-top: 160px;
}
}
@media screen and (min-width: 612px) and (max-width: 899px) {
.o-contact .s-image {
top: 250px;
}
}
@media screen and (max-width: 611px) {
.o-contact .s-image {
top: 300px;
}
}
@media screen and (min-width: 612px) and (max-width: 899px) {
.o-contact .c-image {
padding-bottom: 250px;
}
}
@media screen and (max-width: 611px) {
.o-contact .c-image {
padding-bottom: 300px;
}
}
.o-contact__map {
position: relative;
max-height: 577px;
}
@media screen and (min-width: 900px) {
.o-contact__map {
width: 50%;
}
}
@media screen and (max-width: 899px) {
.o-contact__map {
height: 400px;
}
}
.o-contact__map:after {
content: "";
display: block;
height: 60px;
position: absolute;
width: 100%;
background-size: calc(100% + 60px);
top: 0;
left: 0;
background: linear-gradient(135deg, #F2F8FA 0, #F2F8FA 40px, transparent 41px) 0 0;
}
@media screen and (min-width: 900px) {
.o-contact__map:after {
transform: scale(-1, 1);
left: 1px;
background: linear-gradient(135deg, #F2F8FA 0, #F2F8FA 59px, transparent 60px) -23px 0;
background-size: calc(100% + 61px);
}
}
.o-contact__map .gm-style {
top: 30px !important;
}
.o-contact__form {
margin-top: 0;
background-color: #000013;
padding: 45px 8.3333333333% 0 8.3333333333%;
position: relative;
}
@media screen and (min-width: 900px) {
.o-contact__form {
width: 50%;
margin-top: 60px;
}
}
.o-contact__form:after {
content: "";
display: block;
height: 60px;
position: absolute;
bottom: -60px;
left: 0;
z-index: 0;
width: calc(100% + 25px);
background: linear-gradient(45deg, transparent 0, transparent 59px, #000013 60px) -25px 0;
background-size: 100%;
}
.o-contact__form .c-button {
display: inline-flex;
justify-content: flex-start;
align-items: center;
flex-direction: row;
}
.o-contact-content {
position: relative;
overflow: hidden;
}
@media screen and (min-width: 900px) {
.o-contact-content:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: 0;
right: calc(-100% + 60px);
transform: scale(-1, 1);
z-index: 0;
width: 150%;
background: linear-gradient(-45deg, transparent 0, transparent 59px, #000013 60px) -38px 0;
background-size: calc(100% + 60px);
}
}
.c-contact-content {
align-items: stretch;
padding: 30px 0 80px 0;
}
@media screen and (min-width: 1200px) {
.c-contact-content {
padding: 30px 8.3333333333% 80px 8.3333333333%;
}
}
.contact-options {
margin-top: 30px;
display: flex;
justify-content: space-between;
flex-direction: row;
flex-wrap: wrap;
}
@media screen and (min-width: 801px) and (max-width: 899px) {
.contact-options {
left: calc(100% / 10 * 1);
width: calc(100% / 10 * 8);
}
}
@media screen and (max-width: 799px) {
.contact-options {
left: 20px;
width: calc(100% - 40px);
}
}
@media screen and (max-width: 899px) {
.contact-options {
position: absolute;
top: 0;
white-space: normal;
}
}
.contact-options .left,
.contact-options .right {
display: block;
vertical-align: top;
}
.contact-options .left svg,
.contact-options .right svg {
margin-right: 5px;
display: inline-block;
color: #AAD3DF;
}
@media screen and (min-width: 1500px) {
.contact-options .left svg,
.contact-options .right svg {
margin-right: 20px;
}
}
.contact-options .left a,
.contact-options .right a {
text-decoration: none;
display: block;
margin: 0 0 15px 0;
font-size: 1.125rem;
line-height: 1.6111111111;
color: #E6E5E6;
}
.contact-options .left p,
.contact-options .right p {
color: #E6E5E6;
font-size: 1.125rem;
line-height: 1.6111111111;
margin: 0 0 10px 0;
}
.contact-options .left .company-details,
.contact-options .right .company-details {
display: inline-block;
}
.contact-options .right {
margin-right: 20px;
}
@media screen and (min-width: 1345px) {
.contact-options .right {
margin-left: 20px;
margin-right: 0;
}
}
.contact-options .right svg {
vertical-align: top;
}
.contact-options .c-button {
margin-top: 20px;
width: 200px;
}
.contact-options .c-button > svg {
margin-right: 20px;
}
@media screen and (min-width: 500px) and (max-width: 899px) {
.contact-options .c-button {
margin-right: 200px;
}
}
.o-cta-jobs {
margin-top: -100px;
}
/**
* NOTE:
* To prevent the honey pot from working
* the o-form can't have a position property.
*
*
* Min-width for elements
* Used for automatic wrapping of rows
*/
.o-form__title {
margin: 0 0 32px;
}
.o-form__row + .o-form__row {
margin-top: 20px;
}
.o-form__row--split {
flex-wrap: wrap;
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: row;
margin-top: 0;
margin-right: -20px;
}
.o-form__row--split > * {
flex-grow: 1;
flex-basis: 225px;
margin-top: 20px;
margin-right: 20px;
}
.o-form__submit {
margin-top: 20px;
border-color: #AAD3DF;
color: #AAD3DF;
}
@media screen and (max-width: 899px) {
.o-form__submit {
text-align: right;
}
}
.o-other-models {
padding: 85px 0;
}
@media screen and (min-width: 850px) {
.o-other-models {
padding: 170px 0;
}
}
.o-other-models__title {
margin-bottom: 40px;
}
.o-other-models__grid > * + * {
margin-top: 60px;
}
@media screen and (min-width: 850px) {
.o-other-models__grid {
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: row;
}
.o-other-models__grid > * + * {
margin-top: 0;
margin-left: 30px;
margin-right: 0;
}
}
@media screen and (min-width: 950px) {
.o-other-models__grid > * + * {
margin-left: 50px;
}
}
@media screen and (min-width: 1150px) {
.o-other-models__grid > * + * {
margin-left: 80px;
}
}
.o-other-models__item {
width: 100%;
max-width: 425px;
}
@media screen and (max-width: 849px) {
.o-other-models__item {
margin-left: auto;
margin-right: auto;
}
}
@media screen and (min-width: 850px) {
.o-other-models__item {
margin-bottom: 0;
width: calc((100% - 60px) / 3);
max-width: none;
}
}
@media screen and (min-width: 950px) {
.o-other-models__item {
width: calc((100% - 100px) / 3);
}
}
@media screen and (min-width: 1150px) {
.o-other-models__item {
width: calc((100% - 160px) / 3);
}
}
.o-overlay-menu {
z-index: 60;
opacity: 0;
position: fixed;
display: block;
height: 100vh;
width: 100%;
left: 0;
top: 0;
background-color: #000013;
transform: translateX(-120vw);
transition-property: transform, opacity;
transition-duration: 400ms, 200ms;
transition-delay: 0s, 400ms;
transition-timing-function: cubic-bezier(0.5, 0.15, 0.1, 1), linear;
}
.is-overlay-menu-active .o-overlay-menu {
opacity: 1;
transform: none;
transition-delay: 200ms, 0s;
}
.o-overlay-menu::before {
display: block;
content: "";
position: absolute;
top: 0;
right: -120vw;
width: 120vw;
height: 100%;
background: rgba(0, 0, 0, 0.6);
pointer-events: none;
opacity: 0;
transition-property: opacity;
transition-duration: 200ms;
transition-delay: 400ms;
transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu::before {
opacity: 1;
transition-delay: 0s;
}
.o-overlay-menu::after {
display: block;
content: "";
position: absolute;
top: 0;
right: -20%;
width: 20%;
height: 100%;
background: linear-gradient(-86deg, transparent 50%, #000013 50%);
}
@media screen and (min-width: 900px) {
.o-overlay-menu {
display: none;
}
}
.o-overlay-menu__bar {
width: calc(100% - 40px);
margin-left: auto;
margin-right: auto;
display: flex;
justify-content: space-between;
align-items: center;
flex-direction: row;
padding-top: 50px;
padding-bottom: 50px;
margin-right: 0;
}
@media screen and (min-width: 800px) {
.o-overlay-menu__bar {
width: calc(100% / 10 * 8);
}
}
@media screen and (min-width: 1200px) {
.o-overlay-menu__bar {
width: calc(100% / 14 * 12);
max-width: 1440px;
}
}
@media screen and (max-width: 799px) {
.o-overlay-menu__bar {
width: calc(100% / 10 * 9);
padding-right: 20px;
}
}
.o-overlay-menu__img {
height: 48px;
}
.o-overlay-menu__toggle {
transform: rotate(-0.5turn);
transition: transform 600ms ease-out;
transition-delay: 200ms;
}
.is-overlay-menu-active .o-overlay-menu__toggle {
transform: none;
}
.o-overlay-menu__nav {
width: calc(100% - 40px);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 800px) {
.o-overlay-menu__nav {
width: calc(100% / 10 * 8);
}
}
@media screen and (min-width: 1200px) {
.o-overlay-menu__nav {
width: calc(100% / 14 * 12);
max-width: 1440px;
}
}
@media screen and (max-width: 799px) {
.o-overlay-menu__nav {
width: calc(100% / 10 * 8);
}
}
.o-overlay-menu__list {
margin-bottom: 30px;
list-style: none;
}
.o-overlay-menu__list.service p {
margin-bottom: 10px;
}
.o-overlay-menu__list.service .c-button {
color: #AAD3DF;
}
.o-overlay-menu__list.service .c-button svg {
margin-right: 10px;
}
.o-overlay-menu__item + .o-overlay-menu__item {
margin-top: 30px;
}
.o-overlay-menu__item a {
text-decoration: none;
}
.o-overlay-menu__item .c-button {
display: inline-flex;
}
.o-overlay-menu__link {
font-size: 1.75rem;
display: block;
color: #E6E5E6;
text-decoration: none;
opacity: 0.7;
transition: opacity 200ms linear;
}
.o-overlay-menu__link:hover {
opacity: 1;
}
.o-overlay-menu__link.is-active {
opacity: 1;
position: relative;
font-weight: 600;
}
.o-project-cards {
position: relative;
}
@media screen and (min-width: 900px) {
.o-project-cards.home:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: -159px;
left: 50%;
z-index: 0;
width: 76px;
background: linear-gradient(-135deg, transparent 0, transparent 59px, #F2F8FA 60px) -38px 0;
background-size: calc(100% + 60px);
}
}
.o-project-cards h2 {
padding: 0;
color: #000013;
}
@media screen and (max-width: 924px) {
.o-project-cards h2 {
margin-bottom: 60px;
}
}
@media screen and (min-width: 1200px) {
.o-project-cards h2 {
padding: 0 8.3333333333%;
}
}
.o-project-cards .c-project-cards {
padding: 0;
}
.o-project-cards .c-project-cards > * {
max-width: 400px;
}
@media screen and (max-width: 924px) {
.o-project-cards .c-project-cards > * + * {
margin-top: 60px;
}
}
@media screen and (min-width: 925px) {
.o-project-cards .c-project-cards {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-direction: row;
margin-left: -30px;
margin-right: -30px;
}
.o-project-cards .c-project-cards > * {
margin: 60px 30px;
width: calc(50% - 60px);
}
}
@media screen and (min-width: 925px) and (min-width: 1200px) {
.o-project-cards .c-project-cards > * {
width: calc(33% - 60px);
}
}
@media screen and (min-width: 925px) and (max-width: 1424px) {
.o-project-cards .c-project-cards {
flex-wrap: wrap;
}
.o-project-cards .c-project-cards > *:last-of-type {
margin-left: auto;
margin-right: auto;
}
}
@media screen and (min-width: 1425px) {
.o-project-cards .c-project-cards {
margin-left: auto;
margin-right: auto;
max-width: 1274px;
}
}
.o-project-grid {
position: relative;
}
@media screen and (min-width: 900px) {
.o-project-grid:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: -100px;
right: calc(-100% + 60px);
transform: scale(-1, 1);
z-index: 0;
width: 150%;
background: linear-gradient(-45deg, transparent 0, transparent 59px, #000013 60px) -38px 0;
background-size: calc(100% + 60px);
}
}
.o-project-grid h2 {
margin-bottom: 50px;
padding: 0;
}
@media screen and (min-width: 1400px) {
.o-project-grid h2 {
padding: 0 8.3333333333%;
}
}
.o-references-text {
position: relative;
}
@media screen and (min-width: 900px) {
.o-references-text:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: -100px;
left: calc(-100% + 60px);
z-index: 0;
width: 150%;
background: linear-gradient(-45deg, transparent 0, transparent 59px, #000013 60px) -38px 0;
background-size: calc(100% + 60px);
}
}
.o-stories__header {
margin-bottom: 12.5%;
}
.o-stories__footer {
margin-top: 8.333%;
}
.o-services_grid {
position: relative;
margin-bottom: -40px;
}
@media screen and (min-width: 900px) {
.o-services_grid {
padding-top: 100px;
}
}
@media screen and (min-width: 900px) {
.o-services_grid:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: -100px;
left: calc(-100% + 60px);
z-index: 0;
width: 150%;
background: linear-gradient(-45deg, transparent 0, transparent 59px, #000013 60px) -38px 0;
background-size: calc(100% + 60px);
}
}
.o-services_grid h2 {
padding: 0;
color: #000013;
margin-bottom: 60px;
}
.o-team-grid {
position: relative;
}
@media screen and (min-width: 900px) {
.o-team-grid:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: -159px;
left: calc(50% - 63px);
z-index: 0;
width: 63px;
background: linear-gradient(135deg, transparent 0, transparent 59px, #F2F8FA 60px) -25px 0;
background-size: calc(100% + 60px);
}
}
.o-triple-text {
color: #000013;
padding-bottom: 80px;
}
.o-triple-text h2 {
color: #000013;
margin-bottom: 90px;
padding: 0;
}
@media screen and (min-width: 1200px) {
.o-triple-text h2 {
padding: 0 8.3333333333%;
}
}
.o-triple-text .c-triple-text {
padding: 0;
}
@media screen and (min-width: 1200px) {
.o-triple-text .c-triple-text {
padding: 0 8.3333333333%;
}
}
.o-triple-text .s-text {
padding: 0 10px 0 60px;
position: relative;
}
.o-triple-text .s-text .icon {
position: absolute;
top: 0;
left: 0;
color: #445199;
}
.o-triple-text .s-text .icon svg {
width: 24px;
height: 24px;
}
.o-triple-text .s-text h4 {
margin-top: 0;
}
.o-vacancies-content #component-item--1 {
background-color: white;
padding-bottom: 80px;
width: 100%;
max-width: unset;
}
.o-vacancies-content #component-item--1 > div {
width: calc(100% - 40px);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 800px) {
.o-vacancies-content #component-item--1 > div {
width: calc(100% / 10 * 8);
}
}
@media screen and (min-width: 1200px) {
.o-vacancies-content #component-item--1 > div {
width: calc(100% / 14 * 12);
max-width: 1440px;
}
}
@media screen and (min-width: 900px) and (max-width: 1199px) {
.o-vacancies-content #component-item--1 .c-text-image.l-bisection--corners.l-bisection--reversed .s-text {
padding: 60px 4.1666666667% 60px 0;
}
}
@media screen and (min-width: 1200px) {
.o-vacancies-content #component-item--1 .c-text-image.l-bisection--corners.l-bisection--reversed .s-text {
padding: 60px 4.1666666667% 60px 8.3333333333%;
}
}
@media screen and (min-width: 1200px) {
.o-vacancies-content #component-item--1 .c-text-image.l-bisection--corners.l-bisection--reversed .s-image {
padding-right: 8.3333333333%;
}
}
@media screen and (max-width: 1199px) {
.o-vacancies-content #component-item--1 .c-text-image.l-bisection--corners.l-bisection--reversed .s-image:after {
background: none;
}
}
@media screen and (min-width: 1200px) {
.o-vacancies-content #component-item--1 .c-text-image.l-bisection--corners.l-bisection--reversed .s-image:after {
background: linear-gradient(45deg, white 0, white 59px, transparent 60px) -25px 0;
}
}
.o-vacancies-content .components-content {
color: black;
}
@media screen and (min-width: 1200px) {
.o-vacancies-content .components-content > #component-item-1 > .l-bisection {
padding: 0 8.3333333333%;
}
}
.o-vacancies-content .components-content .s-text h4 {
color: #AAD3DF;
}
.o-vacancies-content .components-content .s-text strong {
color: #AAD3DF;
}
.o-vacancies-content .components-content .s-text > ul:not([class]) > li {
margin-bottom: 20px;
}
.o-vacancies-content .components-content .s-text > ul:not([class]) > li:before {
color: black;
}
.o-vacancies_grid {
position: relative;
padding-top: 100px;
margin-bottom: -40px;
}
@media screen and (min-width: 900px) {
.o-vacancies_grid:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: -100px;
left: calc(-100% + 60px);
z-index: 0;
width: 150%;
background: linear-gradient(-45deg, transparent 0, transparent 59px, #000013 60px) -38px 0;
background-size: calc(100% + 60px);
}
}
.o-vacancies_grid h2 {
padding: 0;
color: #000013;
margin-bottom: 100px;
}
@media screen and (min-width: 1200px) {
.o-vacancies_grid h2 {
padding: 0 8.3333333333%;
}
}
/* 7 - Templates
* Override styling for a specific template
=========================================================== */
/** ==========================================================================
* Templates
* =========================================================================*/
#home .full-width-image {
position: absolute;
z-index: -1;
display: flex;
align-items: flex-start;
justify-content: center;
height: 580px;
max-height: 815px;
width: 100%;
top: -200px;
left: 0;
overflow: hidden;
}
@media screen and (max-width: 999px) {
#home .full-width-image:before {
display: none;
}
}
@media screen and (min-width: 1000px) {
#home .full-width-image {
height: calc(29vw + 192px);
align-items: center;
}
}
#home .full-width-image:before, #home .full-width-image:after {
content: "";
position: absolute;
z-index: 10;
bottom: 0;
left: 0;
display: block;
height: 100%;
width: 100%;
}
#home .full-width-image:after {
background: linear-gradient(to right, #000013 0%, rgba(0, 0, 19, 0) 10%, rgba(0, 0, 19, 0) 90%, #000013 100%);
}
#home .full-width-image:before {
height: 60%;
background: linear-gradient(180deg, rgba(0, 0, 19, 0) 0%, rgba(0, 0, 19, 0.9) 80%, #000013 100%);
}
#home .full-width-image.is-mobile .full-width-image__video {
padding-bottom: 85%;
}
#home .full-width-image.is-mobile .full-width-image__video iframe {
display: none;
}
#home .full-width-image__video {
position: relative;
width: 100%;
height: 0;
padding-bottom: calc((360 / 640) * 100%);
background-image: url("/img/home-splash-425.jpg");
background-size: cover;
background-position: center;
}
@media screen and (min-width: 475px) {
#home .full-width-image__video {
background-image: url("/img/home-splash-770.jpg");
}
}
@media screen and (min-width: 820px) {
#home .full-width-image__video {
background-image: url("/img/home-splash-1000.jpg");
}
}
@media screen and (min-width: 1100px) {
#home .full-width-image__video {
background-image: url("/img/home-splash.jpg");
}
}
#home .full-width-image__video iframe {
position: absolute;
display: block;
z-index: 0;
height: 100%;
width: 100%;
top: 0;
left: 0;
opacity: 0;
transition: opacity 0.5s;
}
#home .full-width-image__video iframe.is-running {
opacity: 1;
}
@media screen and (max-width: 999px) {
#home .full-width-image__video:before {
content: "";
position: absolute;
z-index: 10;
bottom: 0;
left: 0;
display: block;
height: 60%;
width: 100%;
background: linear-gradient(180deg, rgba(0, 0, 19, 0) 0%, rgba(0, 0, 19, 0.9) 80%, #000013 100%);
}
}
#home .c-text-image.l-bisection--reversed.l-bisection--corners {
padding-top: 90px;
}
@media screen and (min-width: 900px) {
#home .c-text-image.l-bisection--reversed.l-bisection--corners {
width: 108.3333333333%;
}
}
@media screen and (min-width: 900px) {
#home .c-text-image.l-bisection--reversed.l-bisection--corners .s-text {
width: 50%;
}
}
#home .c-text-image.l-bisection--reversed.l-bisection--corners .s-text:after {
content: "";
display: block;
height: calc(100% + 60px);
position: absolute;
top: -60px;
left: -50%;
width: 50%;
transform: translate(1px, 0);
background-image: url(/img/home-text-image-left-triangle.svg);
background-size: contain;
background-position: right 0;
background-repeat: no-repeat;
}
@media screen and (max-width: 799px) {
#home .c-text-image.l-bisection--reversed.l-bisection--corners .s-text:after {
display: none;
}
}
#home .c-text-image.l-bisection--reversed.l-bisection--corners .s-image {
width: calc(100% - 60px);
left: auto;
}
@media screen and (min-width: 800px) and (max-width: 899px) {
#home .c-text-image.l-bisection--reversed.l-bisection--corners .s-image {
width: calc(100% - 56px);
left: -4px;
}
}
@media screen and (min-width: 900px) {
#home .c-text-image.l-bisection--reversed.l-bisection--corners .s-image {
width: 58.3333333333%;
left: auto;
}
}
#projects .project-show {
position: relative;
padding-top: 160px;
padding-bottom: 40px;
}
#projects .project-show .c-slide-projector,
#projects .project-show .c-slide-projector__tray,
#projects .project-show .c-slide-projector__slide,
#projects .project-show .c-slide-projector__img,
#projects .project-show .c-image {
height: 0;
padding-bottom: 70%;
}
@media screen and (min-width: 900px) {
#projects .project-show:before {
content: "";
display: block;
height: 60px;
position: absolute;
top: 0;
left: calc(-100% + 60px);
z-index: 0;
width: 150%;
background: linear-gradient(-45deg, transparent 0, transparent 59px, #000013 60px) -38px 0;
background-size: calc(100% + 60px);
}
}
#projects .project-show .c-button {
margin-top: 35px;
}
.simplepage {
background-color: white;
position: relative;
}
.simplepage:before {
content: "";
display: block;
position: absolute;
width: 100vw;
height: 100%;
left: calc( 50% - (50vw + 8px) );
top: 0;
z-index: 0;
background-color: white;
}
.simplepage h1, .simplepage h2, .simplepage h3, .simplepage h4, .simplepage h5, .simplepage form {
position: relative;
z-index: 1;
color: #000013;
}
.simplepage form {
max-width: 400px;
text-align: left;
margin: 0 auto;
}
.simplepage form input[type=submit] {
color: white;
}
.simplepage p, .simplepage ul {
margin: 1em 0;
position: relative;
z-index: 1;
color: #6b7c93;
}
.simplepage p.c-form-element__error, .simplepage ul.c-form-element__error {
margin-top: 0;
color: white;
}
.simplepage a {
color: #445199;
}
/* 8 - SCOPES
* Elements and classes that are scoped by a parent class
=========================================================== */
.s-checklist {
list-style: none;
margin-left: 0;
}
.s-checklist > * + * {
margin-top: 5px;
}
.s-checklist li {
display: flex;
flex-direction: row;
vertical-align: middle;
line-height: 1.45;
}
.s-checklist li::before {
content: "";
background-image: url(/img/check/checked.svg);
background-repeat: no-repeat;
width: 18px;
height: 18px;
margin-right: 8px;
transform: translateY(3px);
}
.checklist-has-x-small-font .s-checklist {
font-size: 0.875rem;
}
.checklist-has-x-small-font .s-checklist li::before {
transform: translateY(1px);
}
/**
* All text elements that can be added by the user through a CMS
*/
.s-text > * + * {
margin-top: 1.5rem;
}
.s-text > h1, .s-text > h2, .s-text > h3, .s-text > h4, .s-text > h5, .s-text > h6 {
margin-bottom: 2rem;
}
.s-text > ul:not([class]) {
list-style: none;
}
.s-text > ul:not([class]) > li {
position: relative;
margin-left: -1.125em;
padding-left: 1.125em;
}
.s-text > ul:not([class]) > li::before {
content: "\2022";
position: absolute;
top: 6px;
left: 0;
font-size: 1.65em;
line-height: 18px;
color: #6b7c93;
}
.s-text > ol:not([class]) {
list-style: none;
counter-reset: ol-counter;
}
.s-text > ol:not([class]) > li {
counter-increment: ol-counter;
position: relative;
margin-left: -1.125em;
padding-left: 1.8em;
}
.s-text > ol:not([class]) > li::before {
font-size: 1rem;
font-weight: 500;
content: counter(ol-counter) ". ";
position: absolute;
top: 5px;
left: 0;
width: 1.275em;
text-align: right;
font-size: 0.75em;
line-height: 18px;
color: #999999;
}
/* 9 - UTILITIES
* High-specificity, very explicit selectors.
* Overrides and helper classes.
=========================================================== */
/** =====================================================================================
* Color
===================================================================================== */
/**
* Here we print out all our helper classes for our defined colors
* Based on these articles:
* - http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
* - https://blog.atechmedia.com/css-for-multiple-themes/
* Output is in the form of:
.u-color-primary {
color: #bada55;
}
.u-bg-neutral--dark {
background-color: #decaff;
}
*/
.u-color-primary--100 {
color: #fff4e6;
}
.u-bg-primary--100 {
background-color: #fff4e6;
}
.u-color-primary--400 {
color: #999999;
}
.u-bg-primary--400 {
background-color: #999999;
}
.u-color-primary {
color: #666666;
}
.u-bg-primary {
background-color: #666666;
}
.u-color-secondary--20 {
color: #F2F8FF;
}
.u-bg-secondary--20 {
background-color: #F2F8FF;
}
.u-color-secondary--100 {
color: #F2F8FA;
}
.u-bg-secondary--100 {
background-color: #F2F8FA;
}
.u-color-secondary--200 {
color: #E6EEF0;
}
.u-bg-secondary--200 {
background-color: #E6EEF0;
}
.u-color-secondary--300 {
color: #999999;
}
.u-bg-secondary--300 {
background-color: #999999;
}
.u-color-secondary {
color: #666666;
}
.u-bg-secondary {
background-color: #666666;
}
.u-color-secondary--600 {
color: #333333;
}
.u-bg-secondary--600 {
background-color: #333333;
}
.u-color-neutral {
color: #f7f9fb;
}
.u-bg-neutral {
background-color: #f7f9fb;
}
.u-color-neutral--100 {
color: #e9ebf5;
}
.u-bg-neutral--100 {
background-color: #e9ebf5;
}
.u-color-neutral--200 {
color: #ccd2db;
}
.u-bg-neutral--200 {
background-color: #ccd2db;
}
.u-color-text {
color: #384a66;
}
.u-bg-text {
background-color: #384a66;
}
.u-color-text--400 {
color: #445199;
}
.u-bg-text--400 {
background-color: #445199;
}
.u-color-text--300 {
color: #6b7c93;
}
.u-bg-text--300 {
background-color: #6b7c93;
}
.u-color-text--200 {
color: #999999;
}
.u-bg-text--200 {
background-color: #999999;
}
.u-color-text--100 {
color: #E6E5E6;
}
.u-bg-text--100 {
background-color: #E6E5E6;
}
.u-color-action {
color: #AAD3DF;
}
.u-bg-action {
background-color: #AAD3DF;
}
.u-color-warning {
color: #ffd33a;
}
.u-bg-warning {
background-color: #ffd33a;
}
.u-color-alert {
color: #ff8100;
}
.u-bg-alert {
background-color: #ff8100;
}
.u-color-negative {
color: #cf3e3e;
}
.u-bg-negative {
background-color: #cf3e3e;
}
.u-color-positive {
color: #3ecf8e;
}
.u-bg-positive {
background-color: #3ecf8e;
}
.u-color-light {
color: #ffffff;
}
.u-bg-light {
background-color: #ffffff;
}
.u-color-dark {
color: #000013;
}
.u-bg-dark {
background-color: #000013;
}
.u-owl > * + * {
margin-top: 1.5555555556rem;
}
.u-box-shadow {
box-shadow: 0 10px 20px -10px rgba(56, 74, 102, 0.2);
}
.u-hidden {
display: none !important;
}
.u-visually-hidden {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
border: 0;
padding: 0;
white-space: nowrap;
-webkit-clip-path: inset(100%);
clip-path: inset(100%);
clip: rect(0 0 0 0);
overflow: hidden;
}
.u-margin-auto {
margin: auto;
}
.u-max-width-1000 {
max-width: 1000px;
}
.u-max-width-720 {
max-width: 720px;
}
.u-max-width-360 {
max-width: 360px;
}
.u-spacing-mb-60 {
margin-bottom: 60px;
}
.u-spacing-mt-60 {
margin-top: 60px;
}
.u-spacing-mb-30 {
margin-bottom: 30px;
}
.u-spacing-mt-30 {
margin-top: 30px;
}
.u-text-align-center {
text-align: center;
}
/*
* If you need to make a quick fix, you can do it here.
* Later when you have the time, you can move the fix into the correct place in the structure
*/
/* ==========================================================================
* This grid can be turned on and off when you want to check
* if everything is nice in place.
* Set flag 'showGrid' to true in site.php
* ========================================================================== */
.u-visible-grid {
z-index: 10000;
position: fixed;
width: 100%;
pointer-events: none;
}
.u-visible-grid__main {
height: 100vh;
width: calc(100% - 40px);
margin-left: auto;
margin-right: auto;
background: repeating-linear-gradient(to right, rgba(0, 255, 255, 0.4), rgba(0, 255, 255, 0.4) 8.3333333333%, rgba(0, 255, 255, 0.25) 8.3333333333%, rgba(0, 255, 255, 0.25) 16.6666666667%);
}
@media screen and (min-width: 800px) {
.u-visible-grid__main {
width: calc(100% / 10 * 8);
}
}
@media screen and (min-width: 1200px) {
.u-visible-grid__main {
width: calc(100% / 14 * 12);
max-width: 1440px;
}
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8xLVNldHRpbmdzL19zZXR0aW5ncy5icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMS1TZXR0aW5ncy9fc2V0dGluZ3MuY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8xLVNldHRpbmdzL19zZXR0aW5ncy5jb25maWcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzEtU2V0dGluZ3MvX3NldHRpbmdzLmdyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzEtU2V0dGluZ3MvX3NldHRpbmdzLnR5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMuZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLmludGVycG9sYXRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8yLVRvb2xzL190b29scy5tZWRpYVF1ZXJpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLnRvb2xib3guc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLnppbmRleC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMy1FbGVtZW50cy9fZWxlbWVudHMuYmFzZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMy1FbGVtZW50cy9fZWxlbWVudHMuaGVhZGluZ3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzMtRWxlbWVudHMvX2VsZW1lbnRzLmxpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS80LUxheW91dHMvX2xheW91dHMuY29udGFpbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNC1MYXlvdXRzL19sYXlvdXRzLmJpc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMuZmxleC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLm1haW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5ib2R5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY2FyZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmNsb3NlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY29ybmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY29va2llQmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY29va2llT3ZlcmxheS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmNvb2tpZVN3aXRjaC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmNvb2tpZVR5cGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jb2xsZWFndWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY3RhRnJlZGVyaWMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jdGFKb2JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY3RhVGV4dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZpY2hlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZsYXNoTWVzc2FnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvcm1FbGVtZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZm9ybUZlZWRiYWNrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaG9tZUhlYWRlclN0cmVhbWVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaWNvbkJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMubGFuZ3VhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5vcHRpb25zTWVudS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnBhZ2VUcmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnByb2plY3RHcmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucHJvamVjdENvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5yYXRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5yZWZlcmVuY2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2VydmljZXNHcmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2hhcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zbGlkZVByb2plY3Rvci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnN0YXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zdGF0dXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zdWJmb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zd2l0Y2guc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50YWJzbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50ZWFtR3JpZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnRleHRCdXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50ZXh0SW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50aHVtYm5haWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50cmFkZW1hcmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy52aWRlby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnZhY2FuY2llc0dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMubWFpbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5hZHZpY2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuYmxvY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY29udGFjdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5jdGFKb2JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMub3RoZXJNb2RlbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMub3ZlcmxheU1lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMucHJvamVjdENhcmRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnByb2plY3RHcmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnJlZmVyZW5jZXNHcmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnN0b3JpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuc2VydmljZXNHcmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRlYW1HcmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRyaXBsZVRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudmFjYW5jaWVzQ29udGVudC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy52YWNhbmNpZXNHcmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS83LVRlbXBsYXRlcy9fdGVtcGxhdGVzLm1haW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzctVGVtcGxhdGVzL190ZW1wbGF0ZXMuaG9tZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNy1UZW1wbGF0ZXMvX3RlbXBsYXRlcy5wcm9qZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS83LVRlbXBsYXRlcy9fdGVtcGxhdGVzLnNpbXBsZXBhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzgtU2NvcGVzL19zY29wZXMuY2hlY2tsaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS84LVNjb3Blcy9fc2NvcGVzLnRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzktVXRpbGl0aWVzL191dGlsaXRpZXMuY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS85LVV0aWxpdGllcy9fdXRpbGl0aWVzLmhlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzktVXRpbGl0aWVzL191dGlsaXRpZXMuc2hhbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzktVXRpbGl0aWVzL191dGlsaXRpZXMudmlzaWJsZUdyaWQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBZ0I7QUFDaEI7Ozs7Ozs7Z0VBQUE7QUNEQTs7R0FBQTtBQ0FBOzs7R0FBQTtBQXlDQTs7O0dBQUE7QUN6Q0E7O2dGQUFBO0FDQUE7Ozs7OztHQUFBO0FBUTJDO0FBRVo7QUNWL0I7Ozs7eUZBQUE7QUFNQTs7R0FBQTtBQXNCQTs7R0FBQTtBTGRBOzsrREFBQTtBTWRBOzsrRUFBQTtBQUlBOzs7SUFBQTtBQWtCQTs7O0lBQUE7QUFRQTs7SUFBQTtBQzlCQTs7Z0ZBQUE7QUFLQTs7R0FBQTtBQVFBOzs7Ozs7Ozs7R0FBQTtBQTBCQTs7Ozs7Ozs7O0dBQUE7QUF1QkE7Ozs7Ozs7Ozs7Ozs7R0FBQTtBQzlEQTs7Ozs7Ozs7Ozs7Ozs7OztHQUFBO0FDQUE7Z0RBQUE7QUNBQTs7eUZBQUE7QUFLQTs7Ozs7Ozs7OztHQUFBO0FBaUNBOzs7O0dBQUE7QUFlQTtBQU9BO0FBT0E7QUFRQTs7Ozs7Ozs7Ozs7Ozs7R0FBQTtBQWlDQTs7Ozs7Ozs7Ozs7OztHQUFBO0FBdUJBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUEwQkE7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUE4QkE7OztHQUFBO0FBYUE7O0dBQUE7QUN4TUE7Ozt3R0FBQTtBQWlCQTs7Ozs7R0FBQTtBWEtBOzsrREFBQTtBWXRCQTs7Z0ZBQUE7QUFhQTs7Ozs7R0FBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDWmtORjs7QVkvTUE7RUFDRTtFTEdJO0VLREosMEJQbkJzQjtFRXlDcEI7RUtwQkY7RUFDQTtFQUNBO0Naa05GO0FTN01FO0VHWkY7SUxJTTtHUHlOSjtDQUNGOztBWS9NQTs7Ozs7O0dBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtDWmtORjtBWWhORTtFQUdFO0NaZ05KOztBWTVNQTs7R0FBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQW1CO0NaZ05yQjtBWW5OQTtFQUNFO0VBQ0E7RUFDQTtFQUFtQjtDWmdOckI7O0FZN01BO0dBQUE7QUFFQTtFQUNFO0NaZ05GOztBWTdNQTs7Ozs7R0FBQTtBQU1BO0VBQ0U7RUFBd0I7RUFDeEI7RUFBYztFQUNkO0Naa05GOztBWS9NQTs7R0FBQTtBQUdBO0VBQ0U7Q1prTkY7O0FZL01BOzs7R0FBQTtBQUlBOzs7RUFHRTtDWmtORjs7QVk5TUE7RUFDRTtFQUNBO1VBQUE7Q1ppTkY7QVkvTUU7RUFDRTtDWmlOSjs7QVkxTUE7Ozs7RUFJRTtFQUNBO0NaNk1GOztBYXhVQTtFTm9ESTtDUHdSSjs7QWF4VUE7RUFFQztDYjBVRDtBUTlURTtFQUVJLGdCS2YwQztDYjhVaEQ7QVE1VEk7RUFMRjtJQU9NO0dSOFROO0NBQ0Y7QVEzVEk7RUFYRjtJQWFNLGdCSzFCOEM7R2J1VnBEO0NBQ0Y7O0FhaFZBO0VOa0JNO0VBckJKO0VBMkVFLGlCTXZFeUI7RUFDNUI7Q2JxVkQ7QVM3VEU7RUkxQkY7SU5rQk07R1B5VUo7Q0FDRjtBYXJWQztFQUNDO0NidVZGOztBYW5WQTtFTk1NO0VBckJKO0VBMkVFLGlCTTNEc0I7RUFDekI7Q2J3VkQ7QVM1VUU7RUlkRjtJTk1NO0dQd1ZKO0NBQ0Y7QWF4VkM7RUFDQztDYjBWRjs7QWF0VkE7RU5OTTtFQXJCSjtFQTJFRSxpQk0vQ29CO0VBQ3ZCO0NiMlZEO0FTM1ZFO0VJRkY7SU5OTTtHUHVXSjtDQUNGOztBYXpWQTtFTmZNO0VBckJKO0VBMkVFLGlCTXRDd0I7RUFDM0I7RUFDQTtDYjhWRDtBU3hXRTtFSU9GO0lOZk07R1BvWEo7Q0FDRjs7QWNwWkE7O3lGQUFBO0FBS0E7O0dBQUE7QUFJQTs7RUFFQztFQUNBO0VBQ0E7Q2RvWkQ7O0FjalpBO0VBQ0M7Q2RvWkQ7O0FjL1lBOztHQUFBO0FBS0M7O0VBRUM7Q2RnWkY7O0FjM1lBOztFQUFBO0FBSUE7RUFDQztDZDZZRDs7QUF0WkE7OytEQUFBO0FlOUJBOztnRkFBQTtBQUtBO0VMdU1DO0VBQ0E7RUFDQTtDVmtQRDtBU3paRTtFTWxDRjtJTDRNRTtHVm1QQTtDQUNGO0FTOVpFO0VNbENGO0lMZ05FO0lBQ0Esa0JQMU1pQjtHSDhiakI7Q0FDRjs7QWU5YkU7RUFDRTtFQUNBO0VBQ0E7Q2ZpY0o7O0FlcGNFO0VBQ0U7RUFDQTtFQUNBO0NmdWNKOztBZTFjRTtFQUNFO0VBQ0E7RUFDQTtDZjZjSjs7QVN0YkU7RUN3SUQ7SUFDQyxpQk01S3dCO0doQjhkeEI7Q0FDRjtBUzViRTtFT3ZDRjtJQ3lFRSxjQS9CVTtJQWdDViwrQkRsRWdCO0lDbUVoQix3QkRuRWdCO0lDd0VkO0dqQjBaRjtDQUNGOztBZ0IvZEE7RUM2REUsY0EvQlU7RUFnQ1YsK0JEN0RjO0VDOERkLHdCRDlEYztFQ21FWjtFRGxFRjtDaEJxZUY7QVM1Y0U7RU8zQkY7SUFJSTtHaEJ1ZUY7Q0FDRjs7QVNqZEU7RU9uQkY7SUFFSTtHaEJ1ZUY7Q0FDRjs7QUF4ZEE7OzsrREFBQTtBa0J0Q0E7OzhFQUFBO0FDQUE7OztHQUFBO0FBS0E7RVJvQkM7RVFsQkE7Q25CdWdCRDs7QW9COWdCQTs7Z0ZBQUE7QUFJQTtBQUVBO0VIbUVFLGNBL0JVO0VBZ0NWLDRCR2xFYTtFSG1FYixvQkduRWE7RUh3RVg7RVZqREU7RUFyQko7RUEyRUUsaUJhNUVzQjtFQUN6QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQm1oQkQ7QW9CamhCQztFQUNDO0NwQm1oQkY7QW9CamhCQztFQUNDO0NwQm1oQkY7QW9CamhCQztFQUNDO0VBQ0E7Q3BCbWhCRjs7QW9CL2dCQTtFQUNDO0VBQ0E7Q3BCa2hCRDs7QW9CL2dCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQmtoQkQ7QW9CaGhCQztFQUNDO0NwQmtoQkY7QW9COWdCQztFQUNDO0VBQ0E7Q3BCZ2hCRjtBb0I3Z0JDO0VBQ0M7Q3BCK2dCRjtBb0I1Z0JDO0VBQ0M7Q3BCOGdCRjtBb0I1Z0JDO0VBQ0M7Q3BCOGdCRjs7QW9CMWdCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQjZnQkQ7QW9CM2dCQztFQUNDO0NwQjZnQkY7QW9CemdCQztFQUNDO0NwQjJnQkY7O0FvQnZnQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQjBnQkQ7QW9CeGdCQztFQUNDO0VBQ0E7RUFDQTtDcEIwZ0JGOztBb0J0Z0JBO0VBQ0M7RUFDQTtDcEJ5Z0JEO0FvQnhnQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEIwZ0JGO0FvQnhnQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEIwZ0JGO0FvQnRnQkU7RUFDQztDcEJ3Z0JIOztBb0JuZ0JBO0VBQ0M7Q3BCc2dCRDtBb0JwZ0JDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCc2dCRjs7QW9CbGdCQTtFQUNDO0NwQnFnQkQ7QW9CbmdCQztFQUNDO0NwQnFnQkY7O0FvQmpnQkE7RUgzRUUscUJBeEJjO0VBeUJkLDRCRzJFYTtFSDFFYixvQkcwRWE7RUhyRVg7RUdzRUg7Q3BCdWdCRDtBb0J0Z0JDO0VBQ0M7Q3BCd2dCRjs7QXFCaHFCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JCbXFCRDs7QXFCaHFCQTtFQUNDO0VBQ0E7RUorREMscUJBeEJjO0VBeUJkLHdCSS9EYTtFSmdFYixvQkloRWE7RUptRVo7RUlqRUY7RUFDQTtFQUNBO0NyQnFxQkQ7QVM3b0JFO0VZL0JGO0lBVUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3JCc3FCQTtDQUNGO0FTeHBCRTtFWS9CRjtJQW9CRTtHckJ1cUJBO0NBQ0Y7QVM3cEJFO0VZL0JGO0lBd0JFO0dyQndxQkE7Q0FDRjtBU2xxQkU7RVlKRDtJQUVFO0dyQndxQkQ7Q0FDRjtBcUJycUJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQnVxQkY7QXFCcnFCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckJ1cUJIO0FxQm5xQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JCcXFCRjtBU2xzQkU7RVl1QkQ7SUFTRTtHckJzcUJEO0NBQ0Y7QXFCbnFCQztFQUNDO0VBQ0E7RUFDQTtDckJxcUJGO0FTNXNCRTtFWW9DRDtJQU1FO0lBQ0E7SUFDQTtJQUNBO0dyQnNxQkQ7Q0FDRjs7QXFCbHFCQTtFQUNDO0VBQ0E7RUFDQTtDckJxcUJEO0FxQm5xQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckJxcUJGOztBcUJqcUJBO0VBQ0M7RUFDQTtFQUNBO0NyQm9xQkQ7O0FxQmpxQkE7RUFDQztFQUVBO0VBQ0E7RUFDQTtDckJtcUJEOztBcUJocUJBO0VBQ0M7RUFDQTtFQUVBO0VBQ0E7Q3JCa3FCRDtBcUJocUJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQmtxQkY7O0FxQjlwQkE7RUFDQztFQUNBO0VBQ0E7Q3JCaXFCRDs7QXFCOXBCQTtFQUNDO0VkM0ZHO0VBckJFO0VBckJKO0VBMkVFLGlCYzREb0I7Q3JCbXFCeEI7O0FxQmhxQkE7RUFDQztDckJtcUJEOztBcUJocUJBO0VBQ0M7RUFDQTtDckJtcUJEOztBcUIvcEJBO0VBQ0M7Q3JCa3FCRDs7QXFCL3BCQTtFQUNDO0VBQ0E7Q3JCa3FCRDtBcUJocUJDO0VBQ0M7RUFDQTtDckJrcUJGO0FxQi9wQkM7RUFDQztDckJpcUJGO0FxQjlwQkM7RWRoSks7Q1BpekJOO0FxQjdwQkM7RUFDQztDckIrcEJGOztBc0J6MEJBO0VMK0RFLGNBL0JVO0VBZ0NWLHdCSy9EYTtFTGdFYixvQktoRWE7RUxxRVg7RUtwRUg7TUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEIrMEJEO0FzQjcwQkM7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEI4MEJGO0FzQjUwQkM7RUFDQztDdEI4MEJGO0FzQjUwQkM7RUFDQztDdEI4MEJGO0FzQjMwQkM7RUFDQztDdEI2MEJGOztBdUJ6M0JBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZCNDNCRDs7QXdCdDRCQTtFQUVFO0VidUJEO0VhckJDO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtDeEJxNEJGO0F3Qm40QkU7RUFDRTtDeEJxNEJKO0F3Qmw0QkU7RUFFRTtFQUNBO0N4Qm00Qko7O0F3Qi8zQkE7RVA2Q0UsY0EvQlU7RUFnQ1Ysd0JPN0NjO0VQOENkLG9CTzlDYztFUG1EWjtDakJrMUJKOztBd0JsNEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q3hCcTRCRjs7QXdCbDRCQTtFQUNFO0VBQ0E7Q3hCcTRCRjtBd0JuNEJFO0VBQ0U7Q3hCcTRCSjs7QXdCajRCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0N4Qms0QkY7QXdCLzNCRTtFQUNFO0N4Qmk0Qko7O0F5QnA4QkE7RUFDRTtFZHdCRDtFY3RCQztFQUNBO0VScUVBLGNBL0JVO0VBZ0NWLHdCUXBFYztFUnFFZCxvQlFyRWM7RVIwRVo7RVF6RUY7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDekJ3OEJGO0F5QnQ4QkU7RUFDRTtDekJ3OEJKO0F5QnI4QkU7RUFDRTtDekJ1OEJKOztBeUJuOEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6QnM4QkY7O0F5Qmw4QkU7RUFDRTtDekJxOEJKOztBeUJqOEJBO0VBQ0U7RUFDQTtFQUNB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SjtBNkJ2c0NFO0VBQ0U7RUFDQTtFQUNBO0M3QnlzQ0o7QVM3dUNFO0VvQmlDQTtJQUtJO0lBQ0E7RzdCMnNDSjtDQUNGO0E2QnpzQ0k7RUFDRTtDN0Iyc0NOO0FTdHZDRTtFb0IwQ0U7SUFHSTtHN0I2c0NOO0NBQ0Y7QTZCMXNDRTtFQUNFO0VBQ0E7RUFDQTtDN0I0c0NKO0FTaHdDRTtFb0JpREE7SUFLSTtJQUNBO0lBQ0E7RzdCOHNDSjtDQUNGO0E2QjVzQ0k7RUFDRTtFQUNBO0V0QmhERjtFc0JtREU7RXRCeEVBO0VBckJKO0VBMkVFLGlCc0JtQjJCO0M3QitzQy9CO0E2QjVzQ0k7RUFDRTtFdEJ4REY7RUFyQkU7RUFyQko7RUEyRUUsaUJzQnlCeUI7RUFDdkI7QzdCZ3RDTjtBNkI3c0NJO0V0Qm5GRTtFQXJCSjtFc0IwR0k7RUFDQTtFQUNBO0M3Qmd0Q047QTZCOXNDTTtFQUNFO0M3Qmd0Q1I7O0E4QnowQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5QjQwQ0Y7QVMxeUNFO0VxQnZDRjtJQVFJO0c5QjYwQ0Y7Q0FDRjtBUy95Q0U7RXFCdkNGO0lBWUk7RzlCODBDRjtDQUNGO0E4QjUwQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUI4MENKO0E4QjMwQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5QjYwQ0o7QVN2MENFO0VxQlhBO0lBUUk7RzlCODBDSjtDQUNGO0E4QjMwQ0U7RUFDRTtFYmdDRixjQS9CVTtFQWdDVix3QmFoQ2dCO0ViaUNoQixvQmFqQ2dCO0Vic0NkO0VhckNBO0M5QmcxQ0o7O0ErQjMzQ0E7RUFDRTtFQUNBO0MvQjgzQ0Y7QStCNTNDRTtFQUNFO0VBQ0E7RUFDQTtDL0I4M0NKO0ErQnozQ0k7RUFDRTtDL0IyM0NOO0ErQngzQ0k7RUFDRTtDL0IwM0NOOztBZ0N4NENBO0VmZ0RNO0VBc0JKLGNBL0JVO0VBZ0NWLDRCZW5FYztFZm9FZCx3QmVwRWM7RWZ5RVo7Q2pCbTBDSjtBUzUyQ0U7RXVCcENGO0lBRUk7R2hD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QUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEM0aURGO0FrQ3ppREM7RUFDQztFQUNBO0NsQzJpREY7QWtDemlERTtFQUNDO0VBQ0E7Q2xDMmlESDs7QWtDdGlEQTtFQUNDO0NsQ3lpREQ7O0FrQ3RpREE7RTNCNUdNO0UyQjhHTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xDeWlERDtBa0N2aURDO0VBQ0M7Q2xDeWlERjs7QW1DNXJEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NuQytyREY7O0FtQzVyREE7RTVCc0JNO0U0QnBCSjtFQUNBO0VBQ0E7Q25DK3JERjtBbUM3ckRFO0VBQ0U7RUFDQTtDbkMrckRKOztBbUMzckRBO0U1QlVNO0U0QlJKO0VBQ0E7RUFDQTtDbkM4ckRGO0FtQ3RyREE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkN3ckRGO0FtQ3RyREU7RTVCWEk7RTRCYUY7RUFDQTtFQUFBO0VBQ0E7Q25Dd3JESjtBbUM1ckRFO0U1QlhJO0U0QmFGO0VBQ0E7RUFBQTtFQUNBO0NuQ3dyREo7QW1DNXJERTtFNUJYSTtFNEJhRjtFQUNBO0VBQ0E7Q25Dd3JESjtBbUNyckRFO0VBQ0U7Q25DdXJESjtBbUNwckRFO0VBQ0U7Q25Dc3JESjtBbUNuckRXO0VBQ1A7RUFDQTtFQUNBO0NuQ3FyREo7O0FvQ2p2REE7RUFDRTtFQUNBO0VBRUE7RTFCK0lBLG1CUDdJc0I7RUl5QmxCO0U2QnRCSjtDcENpdkRGO0FvQy91REU7RUFDRTtDcENpdkRKO0FvQzl1REU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQ2d2REo7QW9DN3VERTtFQUNFO0NwQyt1REo7O0FxQ3Z3REE7RTFCeUJDO0UwQnZCQztFQUNBO0NyQzB3REY7O0FxQ3Z3REE7RUFDRTtFcEJrRUEsY0EvQlU7RUFnQ1YsK0JvQmxFYztFcEJtRWQsb0JvQm5FYztFcEJ3RVo7RVA0SEg7RUFDQTtFQUNBO0NWMGtERDtBU2p2REU7RTRCakNGO0kzQjJNRTtHVjJrREE7Q0FDRjtBU3R2REU7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Q0E7RUFDQTtDekM0K0REO0F5QzErREM7RUFDQztFQUNBO0N6QzQrREY7O0F5Q3grREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekMyK0REO0FTM2lFRTtFZ0N5REY7SUFVRTtHekM0K0RBO0NBQ0Y7O0EwQ3ZsRUE7RXpCeUVFLGNBL0JVO0VBZ0NWLDRCeUJ6RWE7RXpCMEViLG9CeUIxRWE7RXpCK0VYO0NqQjhnRUo7O0EwQzFsRUE7RXpCcUVFLGNBL0JVO0VBZ0NWLHdCeUJyRWE7RXpCc0ViLG9CeUJ0RWE7RXpCMkVYO0V5QjFFSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFDZ21FRDtBU3BrRUU7RWlDbkNGO0lBVUU7SUFDQTtJQUNBO0cxQ2ltRUE7Q0FDRjs7QTBDOWxFQTtFbkNXTTtFQXJCSjtFVStEQSxjQS9CVTtFQWdDVix3QnlCcERhO0V6QnFEYixvQnlCckRhO0V6QjBEWDtFeUJ6REg7RUFDQTtDMUNxbUVEO0FTdGxFRTtFaUNuQkY7SUFPRTtHMUNzbUVBO0NBQ0Y7QTBDbm1FQztFQUNDO0MxQ3FtRUY7O0EwQ2ptRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUNvbUVEO0EwQ2xtRUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUNvbUVGO0EwQy9sRUU7RUFDQztDMUNpbUVIO0EwQzdsRUM7RUFDQztDMUMrbEVGO0EwQzdsRUU7RUFDQztFQUNBO0MxQytsRUg7O0EwQzFsRUE7RUFDQztFQUNBO0MxQzZsRUQ7O0EwQzFsRUE7RXpCUEUsY0EvQlU7RUFnQ1Ysd0J5Qk9hO0V6Qk5iLG9CeUJNYTtFekJEWDtFeUJFSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQ2dtRUQ7QVMvb0VFO0VpQ3lDRjtJQVNFO0lBQ0E7SUFDQTtHMUNpbUVBO0NBQ0Y7QTBDL2xFQztFekJyQkMsY0EvQlU7RUFnQ1YsNEJ5QnFCYztFekJwQmQsd0J5Qm9CYztFekJqQmI7RXlCd0JEO0VBQ0E7QzFDOGxFRjtBUzlwRUU7RWlDdUREO0l6QnJCQyxjQS9CVTtJQWdDViw0QnlCd0JlO0l6QnZCZixvQnlCdUJlO0l6QmxCYjtJeUJtQkQ7RzFDMG1FRDtDQUNGO0EwQ3JtRUU7RUFDQztDMUN1bUVIO0EwQ3BtRUU7RUFDQztFQUNBO0MxQ3NtRUg7QVM5cUVFO0VpQ3NFQTtJQUlFO0cxQ3dtRUY7Q0FDRjtBMEN2bUVHO0VBTkQ7SUFPRTtZQUFBO0cxQzBtRUY7RTBDeG1FRTtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RzFDMG1FSDtFMEN0bUVHO0lBQ0M7RzFDd21FSjtDQUNGO0EwQ25tRUU7RW5DMUdJO0VBckJKO0VtQ2lJQztFQUNBO0VBQ0E7QzFDc21FSDtBUzVzRUU7RWlDa0dBO0lBT0U7SUFDQTtHMUN1bUVGO0NBQ0Y7QTBDbm1FRTtFQUNDO0MxQ3FtRUg7QTBDam1FQztFQUNDO0MxQ21tRUY7QVN4dEVFO0VpQ29IRDtJQUlFO0cxQ29tRUQ7Q0FDRjtBMENqbUVDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQ21tRUY7QTBDam1FRTtFQVJEO0lBU0U7WUFBQTtHMUNvbUVEO0NBQ0Y7O0EyQzl3RUE7RUFDRTtFQUNBO0MzQ2l4RUY7QVMvdUVFO0VrQ3BDRjtJMUJzRUUsY0EvQlU7SUFnQ1YsK0IwQmxFZ0I7STFCd0VkO0dqQjRzRUY7Q0FDRjs7QVN0dkVFO0VrQ3pCRTtJQUNFO0czQ214RUo7Q0FDRjs7QTJDL3dFQTtFcENXTTtFQXNERixpQm9DaEU0QjtFQUM5QjtFQUNBO0MzQ214RUY7QVNud0VFO0VrQ2JFO0lBQ0U7RzNDbXhFSjtDQUNGOztBNEMveUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0M1Q2l6RUY7QTRDL3lFRTtFQUVFO0M1Q2d6RUo7QTRDN3lFRTtFQUVFO0M1Qzh5RUo7O0E0QzF5RUE7RUFDRTtDNUM2eUVGOztBNkNuMEVBO0U1QnVFRSxjQS9CVTtFQWdDVix3QjRCdkVhO0U1QndFYixvQjRCeEVhO0U1QjZFWDtFNEI1RUg7RUFDQTtDN0N5MEVEOztBNkN0MEVBO0U1QmlFRSxjQS9CVTtFQWdDVix3QjRCakVhO0U1QmtFYixvQjRCbEVhO0U1QnVFWDtFVmpERTtFQXJCSjtFQTJFRSxpQnNDM0V3QjtFQUMzQjtDN0M4MEVEOztBNkMzMEVBO0VuQ3FJRSxtQlA3SXNCO0UwQ1V2QjtFQUNBLDhCQWpCeUI7RUFrQnpCO0VBQ0E7QzdDODBFRDtBNkM1MEVDO0VBQ0M7RUFDQTtDN0M4MEVGO0E2QzMwRUM7RUFDQztFQUNBO0VBQ0E7QzdDNjBFRjs7QTZDejBFQTs7RTVCd0NFLGNBL0JVO0VBZ0NWLHdCNEJ2Q2E7RTVCd0NiLHFCNEJ4Q2E7RTVCNkNYO0U0QjVDSDtFQUNBO0VBQ0E7QzdDKzBFRDs7QTZDNTBFQTtFQUNDO0VBQ0E7RUFDQTtDN0MrMEVEOztBOEMzM0VBO0VBSUU7QzlDMjNFRjtBOEM5M0VFO0VBQ0U7QzlDZzRFSjtBUzMxRUU7RXFDdkNGO0lBTUk7RzlDZzRFRjtDQUNGOztBOEMxM0VBO0VBQ0U7QzlDNjNFRjtBU3AyRUU7RXFDMUJGO0lBR0k7SUFBQTtJQUNBO0lBQ0E7U0FBQTtJQUNBO0lBQUE7RzlDKzNFRjtDQUNGOztBOEM1M0VBO0VBQ0U7QzlDKzNFRjtBU2gzRUU7RXFDaEJGO0lBR0k7RzlDaTRFRjtDQUNGO0FTcjNFRTtFcUNYQTtJQUVJO0lBQUE7RzlDazRFSjtFOENoNEVJO0lBQ0U7SUFDQTtJQUNBO0c5Q2s0RU47Q0FDRjs7QThDNzNFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5Q2c0RUY7O0E4QzczRUE7RUFDRTtDOUNnNEVGOztBOEM3M0VBO0V2Q3hCTTtFQXJCSjtFQTJFRSxpQnVDN0JxQjtFQUN2QjtFQUNBO0M5Q2s0RUY7O0E4Qy8zRUE7RXZDOUJNO0VBckJKO0VBMkVFLGlCdUN2QnVCO0VBQ3pCO0M5Q280RUY7O0ErQ244RUE7OztHQUFBO0FBU0U7RUFLQztDL0M2N0VIO0FTcDZFRTtFc0M5QkE7SUFFRTtJQUNBO0cvQ284RUY7Q0FDRjtBUzE2RUU7RXNDdkJDOztJQUdFO0cvQ204RUg7Q0FDRjtBK0NoOEVHO0VBQ0M7RUFDQTtDL0NrOEVKO0ErQzk3RUU7RUFLQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvQzQ3RUg7QVMzN0VFO0VzQ1ZBO0lBRUU7SUFDQTtHL0N1OEVGO0NBQ0Y7QVNqOEVFO0VzQ1ZBO0lBWUU7Ry9DbThFRjtDQUNGO0ErQ2o4RUc7RUFDQztFQUNBO0VBQ0E7Qy9DbThFSjtBK0NqOEVJO0V4Q2xCRTtFQXJCSjtFQTJFRSxpQndDbkN3QjtFQUN2QjtFQUNBO0VBQ0E7Qy9DcThFTDtBK0NuOEVLO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvQ3E4RU47QStDbDhFSztFQUNDO0VBQ0E7RUFDQTtDL0NvOEVOO0ErQ2o4RUs7RUFDQztFQUNBO0VBQ0E7Qy9DbThFTjs7QWdEN2dGQTtFdEMwSEU7RUE2QkEsb0JQakpzQjtFNkNIdkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaERnaEZEOztBZ0Q3Z0ZBO0VBQ0M7RUFDQTtFQUNBO0NoRGdoRkQ7O0FnRDlnRkE7RS9Cd0RFLGNBL0JVO0VBZ0NWLHdCK0J4RGE7RS9CeURiLG9CK0J6RGE7RS9COERYO0UrQjdESDtFQUNBO0VBQ0E7Q2hEb2hGRDs7QVNsZ0ZFO0V3Q3BDRjtJQUVJO0dqRHlpRkY7Q0FDRjs7QWlEdGlGQTtFQUNFO0UxQ3FCSTtFQXJCSjtFQTJFRSxpQjBDMUVzQjtFQUN4QjtDakQyaUZGOztBaUR4aUZBO0VBQ0U7Q2pEMmlGRjtBaUR6aUZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pEMGlGSjs7QWlEdGlGQTtFQUNFO0VBQ0E7Q2pEeWlGRjs7QWlEbmlGRTtFQUNFO0VBQ0E7RUFDQTtDakRzaUZKO0FTM2lGRTtFd0NTRTtJQUNFO0dqRHFpRko7Q0FDRjtBU2hqRkU7RXdDQUY7SUFlSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0dqRHFpRkY7RWlEbmlGRTtJQUNFO0lBQ0E7R2pEcWlGSjtDQUNGO0FTN2pGRTtFd0NxQkU7SUFLSTtHakR1aUZOO0NBQ0Y7O0FpRGppRkE7RUFDRTtFMUMxQ0k7RUFyQko7RUEyRUUsaUIwQ1hxQjtFQUN2QjtDakRzaUZGOztBaURuaUZBO0VBQ0U7RTFDaERJO0VBckJKO0VBMkVFLGlCMENMdUI7RUFDekI7Q2pEd2lGRjs7QWlEamlGRTtFQUNFO0NqRG9pRko7QWlEamlGRTtFQUNFO0NqRG1pRko7QWlEamlGRTtFQUNFO0NqRG1pRko7O0FpRC9oRkE7RUFDRTtFQUNBO0NqRGtpRkY7O0FpRDloRkE7RUFDRTtFQUNBO0VBQ0E7Q2pEaWlGRjs7QWtEOW9GQTtFQUNFO0VqQ3dFQSxjQS9CVTtFQWdDViwrQmlDeEVjO0VqQ3lFZCxvQmlDekVjO0VqQzRFYjtDakJ3a0ZIO0FTL21GRTtFeUN2Q0Y7SWpDeUVFLGNBL0JVO0lBZ0NWLCtCaUM5RGdCO0lqQytEaEIsd0JpQy9EZ0I7SWpDb0VkO0lpQ25FQTtHbERpcEZGO0NBQ0Y7QWtEL29GRTtFQUNFO0NsRGlwRko7QWtEOW9GRTtFQUNFO0VBTUE7RUFDQTtDbEQyb0ZKO0FTaG9GRTtFeUNuQkE7SUFHSTtJQUNBO0dsRG9wRko7Q0FDRjtBa0R6b0ZJO0VqQ3FDRixjQS9CVTtFQW9DVDtFaUNyQ0c7RUFDQTtDbER5b0ZOO0FTNW9GRTtFeUNIRTtJakNxQ0YsY0EvQlU7SUFpQ1YscUJpQ3BDb0I7SWpDeUNsQjtHakJ5bUZGO0NBQ0Y7QWtEOW9GTTtFQUNFO0VBQ0E7Q2xEZ3BGUjtBa0Q5b0ZRO0VBQ0U7Q2xEZ3BGVjtBa0Q5b0ZRO0VBQ0U7Q2xEZ3BGVjtBa0Q3b0ZRO0VBQ0U7Q2xEK29GVjtBa0Qzb0ZNO0VBQ0U7Q2xENm9GUjtBU25xRkU7RXlDcUJJO0lBSUk7R2xEOG9GUjtDQUNGO0FrRDNvRlE7RUFDRTtFQUlBO0VBQ0E7RTNDdEJOO0VBckJFO0VBckJKO0VBMkVFLGlCMkNUNkI7RUFDdkI7RUFDQTtDbEQ0b0ZWO0FTbnJGRTtFeUM2Qk07SUFHSTtHbER1cEZWO0NBQ0Y7QWtEN29GTTtFQUNFO01BQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEQrb0ZSO0FTbHNGRTtFeUMyQ0k7SUFXSTtHbERncEZSO0NBQ0Y7QVN2c0ZFO0V5QzJDSTtJQWVJO0dsRGlwRlI7Q0FDRjtBa0Qvb0ZRO0VBQ0U7Q2xEaXBGVjtBUy9zRkU7RXlDNkRNO0lBSUk7R2xEa3BGVjtDQUNGO0FrRDlvRk07RUFDRTtFQUNBO0VqQ3RDTixjQS9CVTtFQWdDViwwQmlDc0NvQjtFakNyQ3BCLHNCaUNxQ29CO0VqQ2hDbEI7RWlDd0NJO0VBQ0E7RUFDQTtDbEQ0b0ZSO0FTL3RGRTtFeUNzRUk7SWpDcENKLGNBL0JVO0lBZ0NWLHdCaUN5Q3NCO0lqQ3hDdEIsb0JpQ3dDc0I7SWpDbkNwQjtJaUNvQ007SUFDQTtJQUNBO0dsRDBwRlI7Q0FDRjtBa0RucEZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xEcXBGTjs7QW1EMXhGQTtFbENzRUUscUJBeEJjO0VBNkJiO0VrQ3pFRjtFQUNBO0NuRDh4RkQ7QVM3dkZFO0UwQ3BDRjtJbENzRUUsY0EvQlU7SUFzQ1I7R2pCeXRGRjtDQUNGOztBU253RkU7RTBDeEJBO0lBQ0M7R25EK3hGRDtDQUNGO0FTendGRTtFMENuQkE7SUFDQztHbkQreEZEO0NBQ0Y7O0FvRHJ6RkE7RUFDRTtDcER3ekZGOztBb0RyekZBO0VBQ0U7RUFBQTtFQUNBO0VBQUE7RUFDQTtFQUFBO0VBQ0E7Q3BEd3pGRjs7QW9EcnpGQTtFQUNFO0VBQUE7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFPQTtFQUNBO0NwRGd6RkY7QVNweUZFO0UyQzVCRjtJQVdJO0lBQ0E7R3BEeXpGRjtDQUNGO0FvRHB6RkU7RUFDRTtDcERzekZKO0FvRG56RkU7RUFDRTtDcERxekZKO0FvRG56Rkk7RUFDRTtDcERxekZOO0FvRGp6RkU7RUFDRTtDcERtekZKOztBb0QveUZBO0VuQzJCRSxjQS9CVTtFQWdDVix3Qm1DM0JjO0VuQzRCZCxvQm1DNUJjO0VuQytCYjtFbUM5QkQ7RUFDQTtFQUNBO0NwRHF6RkY7QW9EbnpGRTtFQUNFO0NwRHF6Rko7O0FvRGp6RkE7RW5DZ0JFLGNBL0JVO0VBZ0NWLHdCbUNoQmM7RW5DaUJkLG9CbUNqQmM7RW5Dc0JaO0VtQ3JCRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BEdXpGRjtBb0RyekZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q3BEdXpGSjtBb0RwekZFO0VBQ0U7RUFDQTtDcERzekZKO0FvRG56RkU7RTFDOENBO0NWd3dGRjtBb0RsekZFO0VBQ0U7Q3BEb3pGSjs7QW9EaHpGQTtFbkNqQkUsY0EvQlU7RUFnQ1Ysd0JtQ2lCYztFbkNoQmQsb0JtQ2dCYztFbkNYWjtFbUNZRjtFQUNBO0VBQ0E7Q3BEc3pGRjtBb0RwekZFO0VBQ0U7RUFDQTtDcERzekZKOztBb0RsekZBO0VBQ0U7RUFDQTtFQU9BO0VBQ0E7RUFDQTtDcEQreUZGO0FTejNGRTtFMkMrREY7SUFLSTtJQUNBO0dwRHl6RkY7Q0FDRjs7QXFEdDZGQTtFQUNDO0VBQ0E7RUFDQTtDckR5NkZEOztBcUR0NkZBO0VBQ0M7Q3JEeTZGRDs7QXFEdDZGQTtFQUNDO0NyRHk2RkQ7QXFEdjZGQztFQUNDO0NyRHk2RkY7O0FxRHI2RkE7O0dBQUE7QUNsQkE7RXJDeUVFLGNBL0JVO0VBZ0NWLDRCcUN6RWM7RXJDMEVkLG9CcUMxRWM7RXJDK0VaO0VxQzlFRjtDdERnOEZGOztBc0Q3N0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N0RGc4RkY7O0FzRDc3RkE7RUFDRTtDdERnOEZGOztBc0Q3N0ZBO0VBQ0U7Q3REZzhGRjs7QXNENzdGQTtFQUNFO0N0RGc4RkY7O0FzRDc3RkE7RUFDRTtDdERnOEZGOztBc0Q3N0ZBO0VBQ0U7Q3REZzhGRjs7QXVELzlGQTs7R0FBQTtBQUlBO0VBQ0M7RTVDb0JBO0U0Q2xCQTtDdkRpK0ZEOztBdUQ5OUZBO0U3Q2tNQztFQUNBO0VBQ0E7RUgvS0s7RWdEbEJMO0N2RG0rRkQ7QVN6OEZFO0U4QzdCRjtJN0N1TUU7R1ZteUZBO0NBQ0Y7QVM5OEZFO0U4QzdC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T0k7R2xFcTVISjtDQUNGO0FrRXA1SEk7RUFDRTtFQUNBO0NsRXM1SE47O0FrRWo1SEE7RUFDRTtFQUNBO0NsRW81SEY7QVN0N0hFO0V5RGdDRjtJQUlJO0dsRXM1SEY7Q0FDRjs7QWtFbjVIQTtFQUNFO0VqRFBBLGNBL0JVO0VBZ0NWLCtCaURPYztFakREWjtFaURFRjtDbEV3NUhGO0FTbjhIRTtFeUR3Q0Y7SUFNSTtJQUNBO0dsRXk1SEY7Q0FDRjtBU3o4SEU7RXlEd0NGO0lBVUk7SUFDQTtHbEUyNUhGO0NBQ0Y7QVMvOEhFO0V5RHdDRjtJQWNJO0lBQ0E7SUFDQTtHbEU2NUhGO0NBQ0Y7QWtFejVIRTs7RUFFRTtFQUNBO0NsRTI1SEo7QWtFejVISTs7RUFDRTtFQUNBO0NsRTQ1SE47QWtFejVISTs7RUFDRTtFQUNBO0UzRGpGQTtFQXJCSjtFMkR3R0k7Q2xFNjVITjtBa0UzNUhJOztFQUNFO0UzRHRGQTtFQXJCSjtFMkQ2R0k7Q2xFKzVITjtBa0U1NUhJOztFQUNFO0NsRSs1SE47QWtFMTVISTtFQUNFO0NsRTQ1SE47QWtFeDVIRTtFQUNFO0VBQ0E7Q2xFMDVISjtBa0V6NUhJO0VBQ0U7Q2xFMjVITjtBUzcvSEU7RXlEOEZBO0lBUUk7R2xFMjVISjtDQUNGOztBbUV2aUlBO0VBQ0Msa0JBSGlCO0VBSWpCLHFCQUppQjtFekQ0TWpCO0VBQ0E7RUFDQTtDVm0ySEQ7QVMxZ0lFO0UwRHJDRjtJekQrTUU7R1ZvMkhBO0NBQ0Y7QVMvZ0lFO0UwRHJDRjtJekRtTkU7SUFDQSxrQlAxTWlCO0dIK2lJakI7Q0FDRjtBbUVyaklDO0VBQ0M7RUFDQTtDbkV1aklGO0FtRXRqSUU7RUFDQztDbkV3aklIO0FTNWhJRTtFMER4QkQ7SUFJRTtHbkVvaklEO0NBQ0Y7O0FtRWhqSUE7RUFDQztFQUNBO0VBQ0E7RUFDRTtFQUNGO0VBQ0E7RUFDQTtDbkVtaklEO0FTM2lJRTtFMERmRjtJQVVFLG1CQWxDZ0I7SUFtQ2hCLHNCQW5DZ0I7R25FdWxJaEI7Q0FDRjtBbUVsaklDO0V6RHNLQTtFQUNBO0VBQ0E7Q1YrNEhEO0FTdGpJRTtFMERERDtJekQyS0M7R1ZnNUhBO0NBQ0Y7QVMzaklFO0UwREREO0l6RCtLQztJQUNBLGtCUDFNaUI7R0gybElqQjtDQUNGOztBbUV4aklBO0VBQ0M7Q25FMmpJRDs7QW1FeGpJQTtFQUNDO0NuRTJqSUQ7O0FtRXhqSUE7RUFDQztDbkUyaklEOztBbUV4aklBO0VBQ0M7Q25FMmpJRDs7QW1FeGpJQTtFQUNDO0NuRTJqSUQ7O0FtRXhqSUE7RUFDQztDbkUyaklEOztBU3psSUU7RTBEaUNGO0lBRUU7SUFDQTtHbkUyaklBO0NBQ0Y7O0FTaG1JRTtFMkRyQ0E7SUFFSTtHcEV3b0lKO0NBQ0Y7QVN0bUlFO0UyRHJDQTtJQUtJO0dwRTBvSUo7Q0FDRjtBUzNtSUU7RTJEN0JBO0lBRUk7R3BFMG9JSjtDQUNGO0FTaG5JRTtFMkQ3QkE7SUFLSTtHcEU0b0lKO0NBQ0Y7O0FvRXhvSUE7RUFDRTtFQUNBO0NwRTJvSUY7QVMxbklFO0UyRG5CRjtJQUtJO0dwRTRvSUY7Q0FDRjtBUy9uSUU7RTJEbkJGO0lBUUk7R3BFOG9JRjtDQUNGO0FvRTVvSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BFOG9JSjtBUy9vSUU7RTJEUkE7SUFZSTtJQUNBO0lBQ0E7SUFDQTtHcEUrb0lKO0NBQ0Y7QW9FNW9JRTtFQUNFO0NwRThvSUo7O0FvRTFvSUE7RUFLRTtFQUNBO0VBQ0E7RUFDQTtDcEV5b0lGO0FTanFJRTtFMkRnQkY7SUFFSTtJQUNBO0dwRW1wSUY7Q0FDRjtBb0U3b0lFO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BFK29JTjtBb0U1b0lFO0VuRExBLHFCQXhCYztFQXlCZCw0Qm1ES2dCO0VuREpoQixvQm1ESWdCO0VuRENkO0NqQmdwSUo7O0FvRTdvSUE7RUFDRTtFQUNBO0NwRWdwSUY7QVM5cklFO0UyRCtDQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3BFaXBJSjtDQUNGOztBb0U3b0lBO0VBQ0U7RUFDQTtDcEVncElGO0FTbHRJRTtFMkRnRUY7SUFJSTtHcEVrcElGO0NBQ0Y7O0FvRS9vSUE7RUFDRTtFbkR2Q0EsY0EvQlU7RUFnQ1YsK0JtRHVDYztFbkRqQ1o7RW1Ea0NGO0NwRW9wSUY7QVMvdElFO0UyRHdFRjtJQU1JO0lBQ0E7R3BFcXBJRjtDQUNGO0FTcnVJRTtFMkR3RUY7SUFVSTtJQUNBO0dwRXVwSUY7Q0FDRjtBUzN1SUU7RTJEd0VGO0lBY0k7SUFDQTtJQUNBO0dwRXlwSUY7Q0FDRjtBb0VycElFOztFQUVFO0VBQ0E7Q3BFdXBJSjtBb0VycElJOztFQUNFO0VBQ0E7RUFDQTtDcEV3cElOO0FTN3ZJRTtFMkRrR0U7O0lBTUk7R3BFMHBJTjtDQUNGO0FvRXRwSUk7O0VBQ0U7RUFDQTtFQUNBO0U3RHhIQTtFQXJCSjtFNkQrSUk7Q3BFMHBJTjtBb0V4cElJOztFQUNFO0U3RDdIQTtFQXJCSjtFNkRvSkk7Q3BFNHBJTjtBb0V6cElJOztFQUNFO0NwRTRwSU47QW9FenBJRTtFQUNFO0NwRTJwSUo7QVMxeElFO0UyRDhIQTtJQUdJO0lBQ0E7R3BFNnBJSjtDQUNGO0FvRTNwSUk7RUFDRTtDcEU2cElOO0FvRXpwSUU7RUFDRTtFQUNBO0NwRTJwSUo7QW9FMXBJSTtFQUNFO0NwRTRwSU47QVMxeUlFO0UyRDBJQTtJQVFJO0dwRTRwSUo7Q0FDRjs7QXFFdDFJQTtFQUNFO0NyRXkxSUY7O0FzRTExSUE7Ozs7Ozs7O0dBQUE7QUFjQTtFQUNDO0N0RXcxSUQ7O0FzRW4xSUM7RUFDQztDdEVzMUlGOztBc0VsMUlBO0VyRDBCTTtFQXNCSixjQS9CVTtFQWdDViw0QnFEaERhO0VyRGlEYix3QnFEakRhO0VyRHNEWDtFcURyREg7RUFDQTtDdEV5MUlEO0FzRXQxSUM7RUFDQztFQUNBLGtCQXhCeUI7RUF5QnpCO0VBQ0E7Q3RFdzFJRjs7QXNFcDFJQTtFQUNDO0VBQ0E7RUFDQTtDdEV1MUlEO0FTMTFJRTtFNkRBRjtJQUtFO0d0RXkxSUE7Q0FDRjs7QXVFdDRJQTtFQUNFO0N2RXk0SUY7QVNuMklFO0U4RHZDRjtJQUtJO0d2RXk0SUY7Q0FDRjs7QXVFdDRJQTtFQUNFO0N2RXk0SUY7O0F1RXA0SUU7RUFFRTtDdkVzNElKO0FTaDNJRTtFOEQxQkY7SXRENERFLGNBL0JVO0lBZ0NWLDRCc0RwRGdCO0l0RHFEaEIsd0JzRHJEZ0I7SXREMERkO0dqQjgwSUY7RXVFdDRJRTtJQUVFO0lBQ0E7SUFDQTtHdkV1NElKO0NBQ0Y7QVM3M0lFO0U4RExFO0lBRUU7R3ZFbzRJSjtDQUNGO0FTbDRJRTtFOERHRTtJQUVFO0d2RWk0SUo7Q0FDRjs7QXVFNTNJQTtFQUNFO0VBQ0E7Q3ZFKzNJRjtBUzU0SUU7RThEV0Y7SUFLSTtJQUNBO0d2RWc0SUY7Q0FDRjtBU2w1SUU7RThEV0Y7SUFXSTtJQUNBO0lBQ0E7R3ZFZzRJRjtDQUNGO0FTejVJRTtFOERXRjtJQWtCSTtHdkVnNElGO0NBQ0Y7QVM5NUlFO0U4RFdGO0lBc0JJO0d2RWk0SUY7Q0FDRjs7QXdFNTdJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hFNjdJRjtBd0UxN0lFO0VBQ0U7RUFDQTtFQUNBO0N4RTQ3SUo7QXdFeDdJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hFMDdJSjtBd0V4N0lJO0VBQ0U7RUFDQTtDeEUwN0lOO0F3RXI3SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RXU3SUo7QVN2OUlFO0UrRHpCRjtJQThESTtHeEVzN0lGO0NBQ0Y7O0F3RW43SUE7RTlENEhDO0VBQ0E7RUFDQTtFT3JJQyxjQS9CVTtFQWdDViwrQnVEUWM7RXZEUGQsb0J1RE9jO0V2REZaO0V1REdGO0VBQ0E7RUFDQTtDeEUyN0lGO0FTeitJRTtFK0R5Q0Y7STlEaUlFO0dWbTBJQTtDQUNGO0FTOStJRTtFK0R5Q0Y7STlEcUlFO0lBQ0Esa0JQMU1pQjtHSDhnSmpCO0NBQ0Y7QVNwL0lFO0UrRHlDRjtJQVFJO0lBQ0E7R3hFdThJRjtDQUNGOztBd0VwOElBO0VBQ0U7Q3hFdThJRjs7QXdFcDhJQTtFQUNFO0VBQ0E7RUFDQTtDeEV1OElGO0F3RXI4SUU7RUFDRTtDeEV1OElKOztBd0VuOElBO0U5RGlHQztFQUNBO0VBQ0E7Q1ZzMklEO0FTN2dKRTtFK0RvRUY7STlEc0dFO0dWdTJJQTtDQUNGO0FTbGhKRTtFK0RvRUY7STlEMEdFO0lBQ0Esa0JQMU1pQjtHSGtqSmpCO0NBQ0Y7QVN4aEpFO0UrRG9FRjtJQUlJO0d4RW85SUY7Q0FDRjs7QXdFajlJQTtFQUNFO0VBQ0E7Q3hFbzlJRjtBd0VqOUlJO0VBQ0U7Q3hFbTlJTjtBd0VoOUlJO0VBQ0U7Q3hFazlJTjtBd0VoOUlNO0VBQ0U7Q3hFazlJUjs7QVU1NUlDO0VBQ0MsaUI4RGhEYTtDeEUrOElmO0F3RTc4SUU7RUFDRTtDeEUrOElKO0F3RTU4SUU7RUFDRTtDeEU4OElKOztBd0UxOElBO0VqRW5ITTtFaUVxSEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEU2OElGO0F3RTM4SUU7RUFDRTtDeEU2OElKO0F3RTE4SUU7RUFDRTtFQUNBO0VBQ0E7Q3hFNDhJSjs7QXlFN21KQTtFQUNFO0N6RWduSkY7QVMxa0pFO0VnRXBDRTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0d6RWduSk47Q0FDRjtBeUU1bUpFO0VBQ0U7RUFDQTtDekU4bUpKO0FTNWxKRTtFZ0VwQkE7SUFLSTtHekUrbUpKO0NBQ0Y7QVNqbUpFO0VnRXBCQTtJQVNJO0d6RWduSko7Q0FDRjtBeUU3bUpFO0VBQ0U7Q3pFK21KSjtBeUU3bUpJO0VBQ0U7Q3pFK21KTjtBUzVtSkU7RWdFQ0k7SUFDRTtHekU4bUpOO0NBQ0Y7QVNqbkpFO0VnRVBBO0l4RHlDQSxjQS9CVTtJQWdDViwrQndENUJrQjtJeEQ2QmxCLHdCd0Q3QmtCO0l4RGtDaEI7SXdEakNFO0lBQ0E7R3pFaW5KSjtFeUUvbUpJO0lBQ0U7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Sjs7QXdGN3VLRztFQUNDO0N4Rmd2S0o7O0F3Rjl1S0c7RUFDQztDeEZpdktKOztBd0ZydktHO0VBQ0M7Q3hGd3ZLSjs7QXdGdHZLRztFQUNDO0N4Rnl2S0o7O0F3Rjd2S0c7RUFDQztDeEZnd0tKOztBd0Y5dktHO0VBQ0M7Q3hGaXdLSjs7QXdGcndLRztFQUNDO0N4Rnd3S0o7O0F3RnR3S0c7RUFDQztDeEZ5d0tKOztBd0ZweEtHO0VBQ0M7Q3hGdXhLSjs7QXdGcnhLRztFQUNDO0N4Rnd4S0o7O0F3RnJ4S0c7RUFDQztDeEZ3eEtKOztBd0Z0eEtHO0VBQ0M7Q3hGeXhLSjs7QXdGcHlLRztFQUNDO0N4RnV5S0o7O0F3RnJ5S0c7RUFDQztDeEZ3eUtKOztBd0ZyeUtHO0VBQ0M7Q3hGd3lLSjs7QXdGdHlLRztFQUNDO0N4Rnl5S0o7O0F3Rjd5S0c7RUFDQztDeEZnektKOztBd0Y5eUtHO0VBQ0M7Q3hGaXpLSjs7QXdGNXpLRztFQUNDO0N4Rit6S0o7O0F3Rjd6S0c7RUFDQztDeEZnMEtKOztBd0Y3ektHO0VBQ0M7Q3hGZzBLSjs7QXdGOXpLRztFQUNDO0N4RmkwS0o7O0F3RnIwS0c7RUFDQztDeEZ3MEtKOztBd0Z0MEtHO0VBQ0M7Q3hGeTBLSjs7QXdGNzBLRztFQUNDO0N4RmcxS0o7O0F3RjkwS0c7RUFDQztDeEZpMUtKOztBd0ZyMUtHO0VBQ0M7Q3hGdzFLSjs7QXdGdDFLRztFQUNDO0N4RnkxS0o7O0F3RnAyS0c7RUFDQztDeEZ1MktKOztBd0ZyMktHO0VBQ0M7Q3hGdzJLSjs7QXdGNTJLRztFQUNDO0N4RisyS0o7O0F3RjcyS0c7RUFDQztDeEZnM0tKOztBd0ZwM0tHO0VBQ0M7Q3hGdTNLSjs7QXdGcjNLRztFQUNDO0N4RnczS0o7O0F3RjUzS0c7RUFDQztDeEYrM0tKOztBd0Y3M0tHO0VBQ0M7Q3hGZzRLSjs7QXdGcDRLRztFQUNDO0N4RnU0S0o7O0F3RnI0S0c7RUFDQztDeEZ3NEtKOztBd0Y1NEtHO0VBQ0M7Q3hGKzRLSjs7QXdGNzRLRztFQUNDO0N4Rmc1S0o7O0F3RnA1S0c7RUFDQztDeEZ1NUtKOztBd0ZyNUtHO0VBQ0M7Q3hGdzVLSjs7QVVyd0tDO0VBQ0MsNEJBRjJCO0NWMHdLN0I7O0F5RnA3S0E7RS9Fd0hFO0NWZzBLRjs7QXlGcDdLQTtFQUNDO0N6RnU3S0Q7O0F5RnA3S0E7RUFDQztFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO1VBQUE7RUFDQTtFQUNBO0N6Rm83S0Q7O0F5Rmo3S0E7RUFDQztDekZvN0tEOztBeUY5NktDO0VBQ0M7Q3pGaTdLRjs7QXlGbDdLQztFQUNDO0N6RnE3S0Y7O0F5RnQ3S0M7RUFDQztDekZ5N0tGOztBeUZsN0tDO0VBQ0M7Q3pGcTdLRjs7QXlGbDdLQztFQUNDO0N6RnE3S0Y7O0F5RjE3S0M7RUFDQztDekY2N0tGOztBeUYxN0tDO0VBQ0M7Q3pGNjdLRjs7QXlGdjdLQTtFQUNDO0N6RjA3S0Q7O0EwRmovS0E7OztFQUFBO0FDQUE7Ozs7Z0ZBQUE7QUFnQkE7RWhGU0M7RWdGUEM7RUFDQTtFQUNBO0MzRjYrS0Y7O0EyRjErS0E7RUFDRTtFakZvTEQ7RUFDQTtFQUNBO0VpRnBMQztDM0YrK0tGO0FTbCtLRTtFa0ZoQkY7SWpGMExFO0dWNHpLQTtDQUNGO0FTditLRTtFa0ZoQkY7SWpGOExFO0lBQ0Esa0JQMU1pQjtHSHVnTGpCIiwiZmlsZSI6ImNzcy9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiAgMSAtIFNFVFRJTkdTXG4gKiAgR2xvYmFsIHZhcmlhYmxlcywgc2l0ZS13aWRlIHNldHRpbmdzLFxuICogIGNvbmZpZyBzd2l0Y2hlcyBldGMuXG4gKlxuICogIFRoZSBvcmRlciBpbiB3aGljaCB0aGVzZSBTYXNzIGZpbGVzXG4gKiAgYXJlIGxvYWRlZCBpcyBjcml0aWNhbCFcbiAqICBTbyBwbGVhc2UgYmUgY2FyZWZ1bCB3aGVuIGVkaXRpbmdcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRGVmaW5lIGJyZWFrcG9pbnQgZm9yIGdpdmVuIGZvcm1hdHMgKGluIHB4KVxuICovXG4vKipcbiAqICBHbG9iYWwgY29sb3IgdmFyaWFibGVzLlxuICpcdFRoZSB1bmRlcnNjb3JlIHByZWZpeCBtZWFucyB3ZSBuZXZlciB1c2UgdGhlbSBkaXJlY3RseSBpbiB0aGUgc3R5bGVzLCBvbmx5IGZvciBmdW5jdGlvbnMgYW5kIG1peGlucy5cbiAqL1xuLyoqXG4gKiAgT3JnYW5pemUgY29sb3IgdmFyaWFibGVzIGluIGEgU2FzcyBNYXAuXG4gKiAgVGhpcyB3YXksIHRoZSBjb2xvcnMgY2FuIGJlIGl0ZXJhdGVkLCBhcmUgbW9yZSBvcmdhbml6ZWQsIGFuZCBhcmUgbW9yZSBpbnR1aXRpdmUgdG8gcmVmZXJlbmNlLlxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLlx0TWF4aW11bSBJTk5FUiB3aWR0aCBvZiB0aGUgc2l0ZSBzZXQgaW4gcGl4ZWxzXG4gKlxuICogMi4gXHRVc2UgYSBwZXJjZW50YWdlIG9mIHRoZSB2aWV3cG9ydCBmb3IgdGhlIHNpZGUgZ3V0dGVyIHRvIHNjYWxlIGl0IHByb3BvcnRpb25hbGx5XG4gKiAgICBcdE1ha2Ugc3VyZSB0aGlzIGlzIG5vdCB0byBzbWFsbCBzbyB5b3UgaGF2ZSBzb21lIHdoaXRlIHNwYWNlIGJldHdlZW4gdGhlIGVkZ2UgYW5kIHRoZSB0ZXh0LFxuICogICAgXHRidXQgbm90IHRvIGJpZyBhbHNvLCBvdGhlcndpc2UgeW91IGxvc2UgdmFsdWFibGUgcmVhbCBlc3RhdGVcbiAqL1xuLyogMSAqL1xuLyogMiAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBEZWZpbmVzIHRoZSB0eXBvZ3JhcGhpYyBiYXNlbGluZS5cbiAqICBXZSBkZWZpbmUgZXZlcnkgc2l6ZSBpbiBwaXhlbHMsIHRoZSB1bmRlcmx5aW5nIHN5c3RlbSBjb252ZXJ0cyB0aGVcbiAqICByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIE91ciBiYXNlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAqL1xuLyoqXG4gKlx0SGVyZSB3ZSBhc3NpZ24gc2hvcnQgbmFtZXMgZm9yIHRoZSBmb250IGZhbWlsaWVzXG4gKi9cbi8qICAyIC0gVE9PTFNcbiAqICBTaXRlIHdpZGUgbWl4aW5zIGFuZCBmdW5jdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRnVuY3Rpb25zIHVzZWQgaW4gZ3JpZCBjYWxjdWxhdGlvblxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICogUmV0dXJuIHBlcmNlbnRhZ2UgYmFzZWQgb24gYW1vdW50IG9mIGNvbHVtbnNcbiAgKiBVc2UgcGFyZW50IGNvbHVtbiBzaXplIHRvIGFkanVzdCB0aGUgb3JpZ2luXG4gICovXG4vKipcbiAgKiBEZWZhdWx0IGZ1bmN0aW9uIGZvciBjb2x1bW5zXG4gICogUmV0dXJuIGFzIHBlcmNlbnRhZ2VcbiAgKi9cbi8qKlxuICAqIFJldHVybiBhcyB2aWV3cG9ydCB3aWR0aFxuICAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEZvbnQgcmVsYXRlZCBmdW5jdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqICBDYWxjdWxhdGUgbGluZS1oZWlnaHQgcmF0aW8gZnJvbSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0IGluIHB4IHZhbHVlXG4gKi9cbi8qKlxuICogIE1peGluIGZvciBzZXR0aW5nIGZvbnQtc2l6ZSBpbiBSRU0gdGhyb3VnaCBhIFNhc3MgTWFwIHdpdGggYWxsIGF2YWlsYWJsZSBzaXplc1xuXG4gICAgVVNBR0U6XG5cbiAgICAubXlDbGFzcyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4LWxhcmdlKTtcbiAgICB9XG5cbiAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIGFjY2Vzc2luZyB0aGUgZm9udCBmYW1pbGllcyBmcm9tIG91ciBtYXBwaW5nXG5cblx0VVNBR0U6XG5cblx0c3BhbiB7XG5cdFx0QGluY2x1ZGUgZm9udC1mYW1pbHkocHJpbWFyeSk7XG5cdH1cblxuICovXG4vKipcbiAqICBGb250IG1peGluIGZvciBzZXR0aW5nIGZvbnQtc2l6ZSwgZm9udC13ZWlnaHQsIGFuZCBsaW5lLWhlaWdodFxuXG4gICAgVVNBR0U6XG5cbiAgICAubXlDbGFzcyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoeC1sYXJnZSwgMzQsIDUwMCk7XG4gICAgfVxuXG4gICAgLm15Q2xhc3Mge1xuICAgICAgQGluY2x1ZGUgZm9udChtZWRpdW0sICR3ZWlnaHQ6IDMwMCk7XG4gICAgfVxuXG4gKi9cbi8qKlxuICogRmx1aWQgdHlwZSBwbHVnaW4gKGh0dHBzOi8vY29kZXBlbi5pby9NYWRlQnlNaWtlL3Blbi92TnJ2ZFopXG4gKiBSZXF1aXJlcyB0aGUgY2FsYy1pbnRlcnBvbGF0aW9uIGZ1bmN0aW9uIHdoaWNoIGNhbiBhbHNvIGJlIHVzZWQgaW5kZXBlbmRlbnRseVxuICpcbiAqIFVzYWdlOlxuICpcbiAqIC5kZW1vIHtcbiAqICAgICBAaW5jbHVkZSBpbnRlcnBvbGF0ZShmb250LXNpemUsIDMyMHB4LCAxMzY2cHgsIDE0cHgsIDIwcHgpO1xuICogfVxuICpcbiAqIE11bHRpcGxlIHByb3BlcnRpZXMgd2l0aCBzYW1lIHZhbHVlczpcbiAqXG4gKiBoMSxoMixoMyxoNCxoNSB7XG4gKiAgIEBpbmNsdWRlIGludGVycG9sYXRlKChwYWRkaW5nLXRvcCwgcGFkZGluZy1ib3R0b20pLCAyMHJlbSwgNzByZW0sIDByZW0sIC41cmVtKTtcbiAqIH1cbiAqXG4gKi9cbi8qIE1lZGlhIHF1ZXJ5IG1peGluIGZvciB3cml0aW5nIE1vYmlsZSBGaXJzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIFRvb2xib3ggZnVuY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cbi8qKlxuICogIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICogIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbiAqICBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4gKi9cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuLyogVmFsdWUgdG8gRW0gKi9cbi8qIFZhbHVlIHRvIFJlbSAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIGFjY2Vzc2luZyB0aGUgY29sb3JzIGZyb20gb3VyIG1hcHBpbmdcbiAqXHRUbyBhY2Nlc3MgY29sb3JzIGluIG91ciBwYWxldHRlLCB3ZSB1c2UgYSB2ZXJ5IHNpbXBsZSBjdXN0b20gU2FzcyBmdW5jdGlvblxuXG5cdFVTQUdFOlxuXG5cdGEge1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA0MDApO1xuXHRcdH1cblx0fVxuXG4gKi9cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBzZXR0aW5nIGEgY29uc2lzdGVudCBib3gtc2hhZG93XG5cblx0VVNBR0U6XG5cblx0LmNhcmQge1xuXHRcdEBpbmNsdWRlIGJveC1zaGFkb3c7XG5cdH1cblxuXHQuY2FyZC0tYWx0IHtcblx0XHRAaW5jbHVkZSBib3gtc2hhZG93KGxvdyk7XG5cdH1cblxuICovXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3Igc2V0dGluZyBhIGNvbnNpc3RlbnQgYm9yZGVyLXJhZGl1c1xuXG5cdFVTQUdFOlxuXG5cdC5jYXJkIHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHR9XG5cblx0LmNhcmQtLWFsdCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhsYXJnZSk7XG5cdH1cblxuICovXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBUaGUgJ3otaW5kZXgtbWFwJyBpcyB1c2VkIGZvciBtYW5hZ2luZyB0aGUgZWxlbWVudHMgc3RhY2tpbmcgb3JkZXIgaW4gdGhlICdyb290JyBzdGFja2luZyBjb250ZXh0XG4gKiAgVGhpcyB3YXkgd2UgaGF2ZSBhIG92ZXJ2aWV3IG9mIGFsbCB0aGUgei1pbmRleCB2YWx1ZXMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgdGhlIHByb2plY3QuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgVVNBR0U6XG5cbiAgICBAaW5jbHVkZSB6KHotbW9kYWwpO1xuXG4gKi9cbi8qICAzIC0gRUxFTUVOVFNcbiAqICBQbGFpbiBvbGQgc2ltcGxlIEhUTUwgZWxlbWVudHMgd2l0aG91dCBhIGNsYXNzICh0eXBlIHNlbGVjdG9ycylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJhc2ljIGVsZW1lbnRzIChubyBjbGFzcyBzZWxlY3RvcnMgYWxsb3dlZClcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFNldCB1cCB0aGUgaHRtbFxuICpcbiAqIDEuIE1ha2VzIHN1cmUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqIDIuIFNldCBmb250IHRvIGxpbmluZyBmaWd1cmVzXG4gKi9cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTU1NTU1NTU1NjtcbiAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3NcIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogIzAwMDAxMztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQyNXB4KSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuXG4vKipcbiAqIFsxXSBNYWtlIHN1cmUgZWxlbWVudHMgbGlrZSBpbnB1dCBhbmQgdGV4dGFyZWEgaW5oZXJpdCBzb21lIGJhc2UgcHJvcGVydGllc1xuICogICAgIGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTYvMTEvY3NzLWluaGVyaXRhbmNlLWNhc2NhZGUtZ2xvYmFsLXNjb3BlLW5ldy1vbGQtd29yc3QtYmVzdC1mcmllbmRzL1xuICpcbiAqIFsyXSBTZXR0aW5nIGJveC1zaXppbmcgdGhlIGJlc3Qgd2F5IHBlcjpcbiAqICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICM2NjY2NjY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgLyogWzFdICovXG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBhcm91bmQgZmlndXJlXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBbMV0gU2V0dGluZyAndmVydGljYWwtYWxpZ24nIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyICdpbWcnXG4gKlx0ICAgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGludG8gYSBwYWdlIGFzLWlzLiBTYWZlciBhbHRlcm5hdGl2ZSB0b1xuICpcdCAgIHVzaW5nICdkaXNwbGF5OiBibG9jazsnLlxuICogWzJdIFJlbW92ZSBib3JkZXIgLyBlc3BlY2lhbGx5IG9uIG9sZGVyIGJyb3dzZXJzXG4gKi9cbmltZywgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLypbMV0qL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qWzJdKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIFN0aWxsIGFkZCBkaXNwbGF5IGJsb2NrIHRvIHN2ZyB0byBwcmV2ZW50IHVud2FudGVkIHNwYWNpbmdcbiAqL1xuc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogIE5lZWRlZCBmb3IgaU9TIHRvIHByZXZlbnQgaW5wdXQgem9vbWluZ1xuICogIGh0dHBzOi8vdXhjZWxsZW5jZS5jb20vMjAxNC8wMS8xNS9xdWljay1maXgtaW5jcmVhc2UtZm9udC1zaXplLXRvLTE2cHgtdG8tZml4LWlucHV0LXpvb21cbiAqL1xuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuYSB7XG4gIGNvbG9yOiAjQUFEM0RGO1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87XG59XG5hOm5vdChbY2xhc3NdKTpob3ZlciB7XG4gIGNvbG9yOiAjNzFiNWNhO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoZ3JvdXAsXG51bCwgb2wsIGRkLFxucCwgZmlndXJlLFxucHJlLCB0YWJsZSwgZmllbGRzZXQsIGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDEsIGgyLCBoMywgaDQge1xuICBmb250LWZhbWlseTogXCJpbmR1c3RyeVwiLCBzYW5zLXNlcmlmO1xufVxuXG5oMSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuaDEge1xuICBmb250LXNpemU6IDI4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDIuNTgxMjYxOTUwM3Z3ICsgMTkuNzM5OTYxNzU5MXB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDU1cHg7XG4gIH1cbn1cblxuaDIge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE5NDQ0NDQ0NDQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuaDIub24tbGlnaHQge1xuICBjb2xvcjogIzAwMDAxMztcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxNDM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5oMy5vbi1saWdodCB7XG4gIGNvbG9yOiAjMDAwMDEzO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM0NDUxOTk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MjRweCkge1xuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgfVxufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU3MTQyODU3MTQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICB9XG59XG5cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqXHREZWZhdWx0IGluZGVudGF0aW9uIHZhbHVlIGZvciBsaXN0c1xuICovXG51bCxcbm9sIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogMS4xMjVlbTtcbn1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyoqXG4gKlx0UmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKlxuKlx0bGlzdC1pdGVtcyBuZWVkcyByZXNldHRpbmcgZm9yIG91ciBMb2JvdG9taXplZCBPd2wgc2VsZWN0b3JcbiovXG5saSArIGxpIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogIDQgLSBMYXlvdXQgZWxlbWVudHNcbiAqICBEZXNpZ24gcGF0dGVybnMgKGUuZy4gZ3JpZHMgb3IgbWVkaWEgb2JqZWN0KVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb250YWluc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLWNvbnRhaW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAubC1jb250YWluIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTAgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5sLWNvbnRhaW4ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxNCAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgfVxufVxuXG4ubC1jb250YWluX19zcXVlZXplLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4ubC1jb250YWluX19zcXVlZXplLTgge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5sLWNvbnRhaW5fX3NxdWVlemUtNiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHdpZHRoOiA1MCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5sLWJpc2VjdGlvbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAubC1iaXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuLmwtYmlzZWN0aW9uLS1yZXZlcnNlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5sLWJpc2VjdGlvbi0tcmV2ZXJzZWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAubC1iaXNlY3Rpb25fX2l0ZW0ge1xuICAgIHdpZHRoOiA0Ny45MTY2NjY2NjY3JTtcbiAgfVxufVxuXG4vKiAgNSAtIENPTVBPTkVOVFNcbiAqICBEaXNjcmV0ZSBjb21wbGV0ZSBjaHVua3Mgb2YgVUkuXG4gKiAgRGVzaWduZWQgY29tcG9uZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbXBvbmVudHNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyoqXG4gKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiAqIChiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIHRoZSBmb290ZXIpXG4gKi9cbi5jLWJvZHkge1xuICB6LWluZGV4OiA0MDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRGVmYXVsdCBidXR0b25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHkgKi9cbi5jLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMTFweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUFEM0RGO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDEzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbn1cbi5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MWI1Y2E7XG59XG4uYy1idXR0b246YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG59XG4uYy1idXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5jLWJ1dHRvbl9fdGV4dCB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLWJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45KSB0cmFuc2xhdGVYKDRweCk7XG59XG4uYy1idXR0b25fX2ljb246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuLmMtYnV0dG9uLS1pY29uIC5jLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmMtYnV0dG9uLS1pbnRlcm5hbCAuYy1idXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KSByb3RhdGUoOTBkZWcpIHNjYWxlKDAuOSk7XG59XG4uYy1idXR0b24tLWludGVybmFsOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLWJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpIHJvdGF0ZSg5MGRlZykgc2NhbGUoMC45KSB0cmFuc2xhdGVYKDRweCk7XG59XG5cbi5jLWJ1dHRvbi0tdGV4dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgY29sb3I6ICNBQUQzREY7XG59XG4uYy1idXR0b24tLXRleHQgLmMtYnV0dG9uX190ZXh0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLmMtYnV0dG9uLS10ZXh0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLWJ1dHRvbi0tZ2hvc3Qge1xuICBwYWRkaW5nOiAxMHB4IDlweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcywgYmFja2dyb3VuZC1jb2xvciAwLjNzLCBib3JkZXIgMC4zcztcbn1cbi5jLWJ1dHRvbi0tZ2hvc3Q6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUFEM0RGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDEzO1xuICBjb2xvcjogIzAwMDAxMztcbn1cblxuLmMtYnV0dG9uLS1uby1jb3JuZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE0cHggMjBweDtcbn1cbi5jLWJ1dHRvbi0tbm8tY29ybmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCA0OCUsICNBQUQzREYgNTAlLCB0cmFuc3BhcmVudCA1MiUpO1xufVxuLmMtYnV0dG9uLS1uby1jb3JuZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIGJvcmRlci13aWR0aDogMCAxNnB4IDE2cHggMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDEzO1xufVxuLmMtYnV0dG9uLS1uby1jb3JuZXI6aG92ZXI6bm90KDpkaXNhYmxlZCk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCA0OCUsICNBQUQzREYgNTAlLCB0cmFuc3BhcmVudCA1MiUpO1xufVxuXG4uYy1idXR0b24tLW5vLWNvcm5lci1ib3R0b20ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1idXR0b24tLW5vLWNvcm5lci1ib3R0b206YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTFweDtcbiAgbGVmdDogLTFweDtcbiAgYm9yZGVyLXdpZHRoOiAxNnB4IDAgMCAxNnB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwMTM7XG59XG5cbi5jLWJ1dHRvbi0tb24tZGFyayB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmMtYnV0dG9uLS1vbi1kYXJrOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG59XG5cbi5jLWJ1dHRvbi0tcmV2ZXJzZWQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG4uYy1idXR0b24tLXJldmVyc2VkIC5jLWJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTAuOSk7XG59XG5cbi5jLWNhcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5jLWNhcmQtLWxvbmcge1xuICBtaW4taGVpZ2h0OiA1MDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAxMztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXNocmluazogMTtcbiAgZmxleC1ncm93OiAxO1xuICBtaW4td2lkdGg6IDIwMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQyNHB4KSB7XG4gIC5jLWNhcmQtLWxvbmcge1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuYy1jYXJkLS1sb25nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQyNXB4KSB7XG4gIC5jLWNhcmQtLWxvbmcge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MjRweCkge1xuICAuYy1jYXJkICsgLmMtY2FyZC0tbG9uZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbi5jLWNhcmQtLWxvbmcgLmMtY2FyZF9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcbn1cbi5jLWNhcmQtLWxvbmcgLmMtY2FyZF9faW1hZ2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA2MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHRyYW5zcGFyZW50IDAlLCAjMDAwMDEzIDEwMCUpIDAgMDtcbn1cbi5jLWNhcmQtLWxvbmcgLmMtY2FyZF9fdGl0bGUge1xuICB3aWR0aDogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAtNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQyNXB4KSB7XG4gIC5jLWNhcmQtLWxvbmcgLmMtY2FyZF9fdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG59XG4uYy1jYXJkLS1sb25nIHN2ZyB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MjRweCkge1xuICAuYy1jYXJkLS1sb25nIHN2ZyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICBtYXJnaW4tYm90dG9tOiAtNTBweDtcbiAgfVxufVxuXG4uYy1jYXJkX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMTM7XG59XG4uYy1jYXJkX19pbWFnZS1yYXRpbyAuYy1jYXJkX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5jLWNhcmRfX2ltYWdlLXJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCg0MjYgLyAzNjApICogMTAwJSk7XG59XG5cbi5jLWNhcmRfX2ltYWdlLS1wbGFjZWhvbGRlciB7XG4gIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byb2plY3RjYXJkX2JnLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4uYy1jYXJkX19ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi5jLWNhcmRfX2JvZHk6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA2MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIzAwMDAxMyA2MHB4KSAtMzVweCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xufVxuXG4uYy1jYXJkX19pbm5lci1ib2R5IHtcbiAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgbWluLWhlaWdodDogMTQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMTM7XG59XG5cbi5jLWNhcmRfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3NcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYy1jYXJkX19jb250ZW50IHtcbiAgY29sb3I6ICMzODRhNjY7XG59XG5cbi5jLWNhcmRfX2FjdGlvbiB7XG4gIGNvbG9yOiAjMzg0YTY2O1xuICBtYXJnaW46IDA7XG59XG5cbi5jLWNhcmQtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtY2FyZC0tdW5ib3gge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmMtY2FyZC0tdW5ib3ggLmMtY2FyZF9faW1hZ2Uge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmMtY2FyZC0tdW5ib3ggLmMtY2FyZF9fYm9keSB7XG4gIHBhZGRpbmc6IDMwcHggMCAwO1xufVxuLmMtY2FyZC0tdW5ib3ggLmMtY2FyZF9fdGl0bGUge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4uYy1jYXJkLS11bmJveCAuYy1jYXJkX19jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmMtY2xvc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgZWFzZS1vdXQ7XG59XG4uYy1jbG9zZTphZnRlciwgLmMtY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMCU7XG4gIGxlZnQ6IDIwJTtcbiAgaGVpZ2h0OiAzcHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uYy1jbG9zZTpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uYy1jbG9zZTphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG4uYy1jbG9zZTpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cblxuLnRvcC1sZWZ0LWNvcm5lciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXRvcDogNjBweCBzb2xpZCAjMDAwMDEzO1xuICBib3JkZXItcmlnaHQ6IDYwcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5jLWNvb2tpZS1iYXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMTVweCAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWJmNTtcbiAgb3BhY2l0eTogMTtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB0cmFuc2Zvcm0gMC42cztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi5jLWNvb2tpZS1iYXIuaXMtYWNjZXB0ZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmMtY29va2llLWJhci5mYWRlLW91dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTtcbn1cblxuLmMtY29va2llLWJhcl9fbWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uYy1jb29raWUtYmFyX190ZXh0IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjMDAwMDEzO1xufVxuXG4uYy1jb29raWUtYmFyX19saW5rIHtcbiAgY29sb3I6ICMwMDAwMTM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4uYy1jb29raWUtYmFyX19saW5rOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMTksIDAuNzUpO1xufVxuXG4uYy1jb29raWUtYmFyX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nOiA1cHggMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xufVxuLmMtY29va2llLWJhcl9fYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjUpO1xufVxuXG4uYy1jb29raWUtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5OTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAxOSwgMC42KTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xufVxuLmMtY29va2llLW92ZXJsYXkuaXMtYWNjZXB0ZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmMtY29va2llLW92ZXJsYXkuZmFkZS1vdXQge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fbW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDkyJTtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgcGFkZGluZzogNjBweCAxMjBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fY29udGFpbmVyLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWNvb2tpZS1vdmVybGF5X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgY29sb3I6ICMzODRhNjY7XG59XG5cbi5jLWNvb2tpZS1vdmVybGF5X190ZXh0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjNmI3YzkzO1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogI0FBRDNERjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xufVxuLmMtY29va2llLW92ZXJsYXlfX2xpbms6aG92ZXIge1xuICBjb2xvcjogcmdiYSgxNzAsIDIxMSwgMjIzLCAwLjc1KTtcbn1cblxuLmMtY29va2llLW92ZXJsYXlfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgcGFkZGluZzogMTNweCAyNXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBQUQzREY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG59XG4uYy1jb29raWUtb3ZlcmxheV9fYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhjYzRkNDtcbn1cblxuLmMtY29va2llLW92ZXJsYXlfX3R5cGVzLCAuYy1jb29raWUtb3ZlcmxheV9fc2V0dGluZ3Mge1xuICBtYXJnaW46IDMwcHggMDtcbn1cbi5jLWNvb2tpZS1vdmVybGF5X190eXBlcyA+ICogKyAqLCAuYy1jb29raWUtb3ZlcmxheV9fc2V0dGluZ3MgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbi5jLWNvb2tpZS1vdmVybGF5X19zZXR0aW5ncyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jLWNvb2tpZS1zd2l0Y2hfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBjb2xvcjogIzM4NGE2Njtcbn1cblxuLmMtY29va2llLXN3aXRjaF9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzZiN2M5Mztcbn1cblxuLmMtY29va2llLXN3aXRjaF9fc2V0dGluZ3Mge1xuICBtYXJnaW46IDMwcHggMCAwO1xufVxuLmMtY29va2llLXN3aXRjaF9fc2V0dGluZ3MgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbi5jLWNvb2tpZS1zd2l0Y2hfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgcGFkZGluZzogMTNweCAyNXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBQUQzREY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG59XG4uYy1jb29raWUtc3dpdGNoX19idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGNjNGQ0O1xufVxuXG4uYy1jb29raWUtdHlwZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmMtY29va2llLXR5cGUtLXN0YXRpYyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYy1jb29raWUtdHlwZV9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG59XG4uYy1jb29raWUtdHlwZV9faWNvbiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMjZweDtcbn1cblxuLmMtY29va2llLXR5cGUtLXN0YXRpYyAuYy1jb29raWUtdHlwZV9faW5wdXQge1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5jLWNvb2tpZS10eXBlX190ZXh0IHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNTVweCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICM2YjdjOTM7XG59XG5cbi5jLWNvb2tpZS10eXBlX190aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMzODRhNjY7XG59XG5cbi5jLWNvbGxlYWd1ZXMge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmMtY29sbGVhZ3VlcyB7XG4gICAgbWFyZ2luOiAtNi4yNSUgLTYuMjUlIDAgLTYuMjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmMtY29sbGVhZ3VlcyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuLmMtY29sbGVhZ3Vlc19faXRlbSB7XG4gIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICBmbGV4LWJhc2lzOiAyNDBweDtcbiAgbWF4LXdpZHRoOiAyNDBweDtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW46IDUuNTU1NTU1NTU1NiU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jLWNvbGxlYWd1ZXNfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZThlYjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtY29sbGVhZ3Vlc19faW1hZ2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA2MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICNGMkY4RkEgMCwgI0YyRjhGQSA1OXB4LCB0cmFuc3BhcmVudCA2MHB4KSAtMzVweCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xufVxuXG4uYy1jb2xsZWFndWVzX19uYW1lIHtcbiAgbWFyZ2luOiAyMHB4IDAgNXB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMDAwMDEzO1xufVxuXG4uYy1jb2xsZWFndWVzX19mdW5jdGlvbixcbi5jLWNvbGxlYWd1ZXNfX2VtYWlsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4xMjU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNDQ1MTk5O1xufVxuXG4uYy1jb2xsZWFndWVzX19lbWFpbCB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuLmMtY29sbGVhZ3Vlc19fZW1haWw6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy1jdGEtZnJlZGVyaWMge1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDI0cHgpIHtcbiAgLmMtY3RhLWZyZWRlcmljIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDBweCkge1xuICAuYy1jdGEtZnJlZGVyaWMge1xuICAgIHBhZGRpbmc6IDAgOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmMtY3RhLWZyZWRlcmljIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5jLWN0YS1mcmVkZXJpYy0tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5jLWN0YS1mcmVkZXJpYy0tbGVmdCAuYy1idXR0b24tLWdob3N0IHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDEwNTlweCkge1xuICAuYy1jdGEtZnJlZGVyaWMtLWxlZnQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmMtY3RhLWZyZWRlcmljLS1sZWZ0IHtcbiAgICB3aWR0aDogNDAlO1xuICAgIG1hcmdpbjogMCAxMCUgMCAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmMtY3RhLWZyZWRlcmljLS1sZWZ0IHtcbiAgICB3aWR0aDogMzAlO1xuICAgIG1hcmdpbjogMCAxMCU7XG4gIH1cbn1cbi5jLWN0YS1mcmVkZXJpYy0tbGVmdCBoMiB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG59XG4uYy1jdGEtZnJlZGVyaWMtLWxlZnQgLmMtYnV0dG9uLS1naG9zdCB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBjb2xvcjogIzQ0NTE5OTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4uYy1jdGEtZnJlZGVyaWMtLWxlZnQgLmMtYnV0dG9uLS1naG9zdDpob3ZlciB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuYy1jdGEtZnJlZGVyaWMtLXJpZ2h0IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG4uYy1jdGEtZnJlZGVyaWMtLXJpZ2h0IC5mcmVkZXJpYywgLmMtY3RhLWZyZWRlcmljLS1yaWdodCAuam9iLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmMtY3RhLWZyZWRlcmljLS1yaWdodCAuZnJlZGVyaWMge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA2MHB4KSB7XG4gIC5jLWN0YS1mcmVkZXJpYy0tcmlnaHQgLmZyZWRlcmljIHtcbiAgICB3aWR0aDogNDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5jLWN0YS1mcmVkZXJpYy0tcmlnaHQgLmZyZWRlcmljIGltZyB7XG4gIHdpZHRoOiAyOSU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDYwcHgpIHtcbiAgLmMtY3RhLWZyZWRlcmljLS1yaWdodCAuZnJlZGVyaWMgaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuLmMtY3RhLWZyZWRlcmljLS1yaWdodCAuam9iLXRpdGxlIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNjBweCkge1xuICAuYy1jdGEtZnJlZGVyaWMtLXJpZ2h0IC5qb2ItdGl0bGUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuLmMtY3RhLWZyZWRlcmljLS1yaWdodCAuam9iLXRpdGxlIGgyIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1mYW1pbHk6IFwiaW5kdXN0cnlcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uYy1jdGEtZnJlZGVyaWMtLXJpZ2h0IC5qb2ItdGl0bGUgaDQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJPdmVycGFzc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzQ0NTE5OTtcbn1cbi5jLWN0YS1mcmVkZXJpYy0tcmlnaHQgLmpvYi10aXRsZSBhIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4xMjU7XG4gIGNvbG9yOiAjNDQ1MTk5O1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cbi5jLWN0YS1mcmVkZXJpYy0tcmlnaHQgLmpvYi10aXRsZSBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmMtY3RhLWpvYnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDEzO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNDBweCAwIDMwcHggMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jLWN0YS1qb2JzIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgMjBweCAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmMtY3RhLWpvYnMge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLmMtY3RhLWpvYnM6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA2MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTU5cHg7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCAjMDAwMDEzIDYwcHgpIC0zNXB4IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG59XG4uYy1jdGEtam9icyBoMiwgLmMtY3RhLWpvYnMgLmMtYnV0dG9uIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuYy1jdGEtam9icyBoMiwgLmMtY3RhLWpvYnMgLmMtYnV0dG9uIHtcbiAgICB3aWR0aDogMzYwcHg7XG4gIH1cbn1cbi5jLWN0YS1qb2JzIC5jLWJ1dHRvbiB7XG4gIGNvbG9yOiAjQUFEM0RGO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgdG9wOiAzMHB4O1xufVxuXG4uYy1jdGEtdGV4dCB7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWN0YS10ZXh0ID4gLmMtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgY29sb3I6ICM0NDUxOTk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuLm8tYmxvY2stYmxhY2sgLmMtY3RhLXRleHQgaDIub24tbGlnaHQge1xuICBjb2xvcjogd2hpdGU7XG59XG4uby1ibG9jay1ibGFjayAuYy1jdGEtdGV4dCA+IC5jLWJ1dHRvbiB7XG4gIGNvbG9yOiAjQUFEM0RGO1xufVxuXG4uYy1maWNoZXMge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuYy1maWNoZXMge1xuICAgIG1hcmdpbjogLTMuMTI1JSAtMy4xMjUlIDAgLTMuMTI1JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLmMtZmljaGVzLnRleHQge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuLmMtZmljaGVzIGgzIHtcbiAgbWFyZ2luOiAzMHB4IDYuMjUlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtZmljaGVzX190aXRsZSB7XG4gIGNvbG9yOiAjMDAwMDEzO1xuICBwYWRkaW5nOiAzMHB4IDAgNjBweCAwO1xufVxuXG4uYy1maWNoZXNfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1iYXNpczogNTAlO1xuICBtYXgtd2lkdGg6IDQ0LjQlO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbjogMS4zODg4ODg4ODg5JSAyLjc3Nzc3Nzc3NzglO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IHNvbGlkIDFweCAjMDAwMDEzO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLWZpY2hlc19faXRlbTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4uYy1maWNoZXNfX2l0ZW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDQ4JSwgIzAwMDAxMyA1MCUsIHRyYW5zcGFyZW50IDUyJSk7XG59XG4uYy1maWNoZXNfX2l0ZW06YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIGJvcmRlci13aWR0aDogMCAyNnB4IDI2cHggMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRjJGOEZBO1xufVxuXG4uYy1maWNoZXNfX2JvZHkge1xuICBjb2xvcjogIzAwMDAxMztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uYy1maWNoZXNfX25hbWUge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMDAxMztcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi5jLWZpY2hlc19fZnVuY3Rpb24ge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzQ0NTE5OTtcbn1cblxuLmMtZmljaGVzX190ZXh0aXRlbSB7XG4gIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICBmbGV4LWJhc2lzOiAyNDBweDtcbiAgbWF4LXdpZHRoOiAzNDBweDtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW46IDIuNzc3Nzc3Nzc3OCU7XG59XG4uYy1maWNoZXNfX3RleHRpdGVtIC5jLWNhcmRfX2JvZHkge1xuICBwYWRkaW5nOiA1MHB4IDMwcHggMCAzMHB4O1xuICBtaW4taGVpZ2h0OiAxMTVweDtcbn1cbi5jLWZpY2hlc19fdGV4dGl0ZW0gLmMtY2FyZF9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmMtZmljaGVzX190ZXh0aXRlbSAuYy1jYXJkX19jb250ZW50IHtcbiAgY29sb3I6ICNBQUQzREY7XG59XG5cbi5jLWZpY2hlc19fdGV4dGJvZHkge1xuICBtYXJnaW4tdG9wOiAyZW07XG4gIGNvbG9yOiAjMDAwMDEzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBtaW4td2lkdGg6IDM0MHB4O1xufVxuXG4uYy1maWNoZXNfX3F1b3RlcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLmMtZmxhc2gtbWVzc2FnZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWZsYXNoLW1lc3NhZ2Uge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtODAlO1xuICBsZWZ0OiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogNXB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBQUQzREY7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHdoaXRlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01cHgsIDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG59XG4uYy1mbGFzaC1tZXNzYWdlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOHB4O1xuICBsZWZ0OiBjYWxjKDUwJSAtIDcuNXB4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCA3LjVweCA4cHggNy41cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0FBRDNERiB0cmFuc3BhcmVudDtcbn1cbi5jLWZsYXNoLW1lc3NhZ2UuY2xpY2tlZCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG59XG5cbi8qKlxuICogTmF2aWdhdGlvbiBpbiB0aGUgZm9vdGVyIHRoYXQgaGFzIGEgdW5pcXVlIGxheW91dFxuICpcbiAqL1xuLmMtZm9vdGVyIHtcbiAgei1pbmRleDogMjA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDEzO1xufVxuXG4uYy1mb290ZXJfX25hdiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDI0LCBtaW5tYXgoMCwgNjBweCkpO1xuICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbn1cblxuLmMtZm9vdGVyX19jb2x1bW4ge1xuICBtYXJnaW46IDcwcHggMCAwIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGdyaWQtY29sdW1uOiAzLy0zO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTM5cHgpIHtcbiAgLmMtZm9vdGVyX19jb2x1bW4ge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gIH1cbiAgLmMtZm9vdGVyX19jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLXJvdzogMjtcbiAgfVxuICAuYy1mb290ZXJfX2NvbHVtbjpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtcm93OiAzO1xuICB9XG4gIC5jLWZvb3Rlcl9fY29sdW1uOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1yb3c6IDQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgLmMtZm9vdGVyX19jb2x1bW4ge1xuICAgIGdyaWQtY29sdW1uOiAzLzEyO1xuICB9XG4gIC5jLWZvb3Rlcl9fY29sdW1uOm50aC1jaGlsZChldmVuKSB7XG4gICAgZ3JpZC1jb2x1bW46IDE0Ly0zO1xuICB9XG4gIC5jLWZvb3Rlcl9fY29sdW1uOm50aC1jaGlsZChuKzMpIHtcbiAgICBncmlkLXJvdzogMjtcbiAgfVxuICAuYy1mb290ZXJfX2NvbHVtbjpudGgtY2hpbGQobis1KSB7XG4gICAgZ3JpZC1yb3c6IDM7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuYy1mb290ZXJfX2NvbHVtbiB7XG4gICAgZ3JpZC1jb2x1bW46IDEvNTtcbiAgfVxuICAuYy1mb290ZXJfX2NvbHVtbjpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiA4LzEyO1xuICB9XG4gIC5jLWZvb3Rlcl9fY29sdW1uOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDE0LzE4O1xuICB9XG4gIC5jLWZvb3Rlcl9fY29sdW1uOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDIwLzI0O1xuICB9XG4gIC5jLWZvb3Rlcl9fY29sdW1uOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI2LzMwO1xuICB9XG4gIC5jLWZvb3Rlcl9fY29sdW1uOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDE5LzI1O1xuICB9XG4gIC5jLWZvb3Rlcl9fY29sdW1uOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI1LzMwO1xuICB9XG59XG5cbi5jLWZvb3Rlcl9faXRlbSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmMtZm9vdGVyX19pdGVtIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1mb290ZXJfX2l0ZW0ucGhvbmUge1xuICBjb2xvcjogI0FBRDNERjtcbn1cbi5jLWZvb3Rlcl9faXRlbS5waG9uZSBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5jLWZvb3Rlcl9faXRlbS5waG9uZSBzdmcge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5jLWZvb3Rlcl9faXRlbS0tZ2FwIHtcbiAgbWFyZ2luLXRvcDogMjhweDtcbn1cblxuLmMtZm9vdGVyX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5jLWZvb3Rlcl9fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMSUsIDIzcHgpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG4uYy1mb290ZXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI2I4YjhiODtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbn1cbi5jLWZvb3Rlcl9fbGluazpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMjNweCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG59XG5cbi5jLWZvb3Rlcl9fbGluay0taGFzLW5vLWhvdmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLWZvb3Rlcl9fbGluay0taGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5jLWZvb3Rlcl9fbGluay0taGVhZGluZzpob3ZlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jLWZvcm0tZWxlbWVudC0taG9uZXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1mb3JtLWVsZW1lbnRfX2Vycm9yIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NGE2NjtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmMtZm9ybS1lbGVtZW50X19lcnJvcjpub3QoOmVtcHR5KSB7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1mb3JtLWVsZW1lbnRfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBvcmRlcjogMTtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cbi5jLWZvcm0tZWxlbWVudF9fZmllbGQge1xuICBvcmRlcjogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlOWViZjU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuLmMtZm9ybS1lbGVtZW50X19maWVsZDo6cGxhY2Vob2xkZXIge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGZvbnQtc2l6ZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbn1cbi5jLWZvcm0tZWxlbWVudF9fZmllbGQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NjY2NjY7XG59XG4uaGFzLWVycm9yIC5jLWZvcm0tZWxlbWVudF9fZmllbGQge1xuICBib3JkZXItY29sb3I6ICMzODRhNjY7XG59XG50ZXh0YXJlYS5jLWZvcm0tZWxlbWVudF9fZmllbGQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogODBweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmMtZm9ybS1mZWVkYmFjayB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDMwcHggNTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NGE2NjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5jLWZvcm0tZmVlZGJhY2s6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jLWZvcm0tZmVlZGJhY2s6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLWZlZWRiYWNrKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uYy1mb3JtLWZlZWRiYWNrIGxpOjpmaXJzdC1sZXR0ZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1oZWFkZXIge1xuICB6LWluZGV4OiA1MDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1MHB4IDA7XG59XG5cbi5jLWhlYWRlcl9fbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuYy1oZWFkZXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMCAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmMtaGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTQgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTI5OXB4KSB7XG4gIC5jLWhlYWRlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cbn1cblxuLmMtaGVhZGVyX19sb2dvIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHdpZHRoOiAyNDBweDtcbiAgei1pbmRleDogNTtcbn1cblxuLmMtaGVhZGVyX19uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4OiAxO1xufVxuXG4uYy1oZWFkZXJfX292ZXJsYXktYnV0dG9uIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmMtaGVhZGVyX19vdmVybGF5LWJ1dHRvbiA+ICoge1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAzcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7XG59XG4uYy1oZWFkZXJfX292ZXJsYXktYnV0dG9uID4gKjpudGgtb2YtdHlwZSgyKSB7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLjgsIDEsIDEpO1xufVxuLmMtaGVhZGVyX19vdmVybGF5LWJ1dHRvbiA+ICo6bnRoLW9mLXR5cGUoMykge1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NSwgMSwgMSk7XG59XG4uYy1oZWFkZXJfX292ZXJsYXktYnV0dG9uID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAzcHg7XG59XG4uYy1oZWFkZXJfX292ZXJsYXktYnV0dG9uOmhvdmVyID4gKiB7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSAhaW1wb3J0YW50O1xufVxuXG4udGVjaG5pY2FsLWZpY2hlLW1hdGVyaWFscyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNTBweDtcbiAgbGVmdDogMDtcbn1cbi50ZWNobmljYWwtZmljaGUtbWF0ZXJpYWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTYwJTtcbiAgaGVpZ2h0OiAzMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTM1ZGVnLCByZ2JhKDAsIDAsIDE5LCAwKSAyNSUsICMwMDAwMTMgNzAlKTtcbiAgLyogRkYzLjYtMTUgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTM1ZGVnLCByZ2JhKDAsIDAsIDE5LCAwKSAyNSUsICMwMDAwMTMgNzAlKTtcbiAgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0zNWRlZywgcmdiYSgwLCAwLCAxOSwgMCkgMjUlLCAjMDAwMDEzIDcwJSk7XG4gIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj1cIiMwMDAwMDAxM1wiLCBlbmRDb2xvcnN0cj1cIiMwMDAwMTNcIixHcmFkaWVudFR5cGU9MSApO1xuICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovXG59XG4udGVjaG5pY2FsLWZpY2hlLW1hdGVyaWFscyAuYy1uYXZfX2xpbmsge1xuICBwYWRkaW5nOiA3cHggMjBweCA3cHggMTBweDtcbiAgY29sb3I6ICMwMDAwMTM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBQUQzREY7XG4gIHotaW5kZXg6IDEwO1xufVxuLnRlY2huaWNhbC1maWNoZS1tYXRlcmlhbHMgLmMtbmF2X19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuLnRlY2huaWNhbC1maWNoZS1tYXRlcmlhbHMgLmMtbmF2X19saW5rOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xcHg7XG4gIHJpZ2h0OiAtMXB4O1xuICBib3JkZXItd2lkdGg6IDE2cHggMTZweCAwIDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMDAxMztcbn1cbi50ZWNobmljYWwtZmljaGUtbWF0ZXJpYWxzIC5jLW5hdl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMDAwMDEzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFiNWNhO1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBMYXJnZSB2aWV3cG9ydCBnZXRzIGEgc3RhY2tlZCBuYXZpZ2F0aW9uIHRoYXQgdG9nZ2xlcyB3aXRoIGEgaGFtYnVyZ2VyIGJ1dHRvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmMtaGVhZGVyX19sb2dvIHtcbiAgICBmbGV4OiAwIDAgMjQwcHg7XG4gIH1cblxuICAuYy1oZWFkZXJfX25hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuYy1oZWFkZXJfX292ZXJsYXktYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYy1ob21lLWhlYWRlci1zdHJlYW1lciB7XG4gIHBhZGRpbmc6IDEwdmggMCA1dmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjUwcHgpIHtcbiAgLmMtaG9tZS1oZWFkZXItc3RyZWFtZXJfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNTc1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYy1ob21lLWhlYWRlci1zdHJlYW1lcl9fY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLmMtaG9tZS1oZWFkZXItc3RyZWFtZXJfX3RleHQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xufVxuXG4uYy1pY29uLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY29sb3I6ICNBQUQzREY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTcwLCAyMTEsIDIyMywgMC4zKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlciwgYm94LXNoYWRvdztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNXM7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYy1pY29uLWJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUFEM0RGO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYy1pY29uLWJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRhN2JmO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5jLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSg1NiwgNzQsIDEwMiwgMC4yKTtcbn1cbi5jLWljb24tYnV0dG9uW2RhdGEtaWNvbi1kaXJlY3Rpb249cmV2ZXJzZV0ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuLmMtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jLWltYWdlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLmMtaW1hZ2VfX3BsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2Ni42NyU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y5ZmI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcva21zL2R5bmFtaWMvaW1hZ2Uuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwcHggYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jLWltYWdlX19wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG4uYy1pbWFnZV9fcGxhY2Vob2xkZXItLXZpZGVvIHtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwJSAvIDE2ICogOSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcva21zL2R5bmFtaWMvdmlkZW8tYmxvY2suc3ZnXCIpO1xufVxuXG4uYy1sYW5ndWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIHBhZGRpbmctdG9wOiA0MnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjk5cHgpIHtcbiAgLmMtbGFuZ3VhZ2Uge1xuICAgIHRvcDogLTIwcHg7XG4gIH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2N1cnJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTNweCAyNXB4IDEzcHggMTVweDtcbiAgY29sb3I6ICNBQUQzREY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIyMjIyMjIyMjI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTI5OXB4KSB7XG4gIC5jLWxhbmd1YWdlX19jdXJyZW50IHtcbiAgICBwYWRkaW5nOiA4cHggMjVweCA4cHggMTVweDtcbiAgfVxufVxuQHN1cHBvcnRzIChjbGlwLXBhdGg6IHBvbHlnb24oY2FsYygxMDAlIC0gMThweCkgMCwgMTAwJSAxOHB4LCAxMDAlIDEwMCUsIDAgMTAwJSwgMCAwKSkge1xuICAuYy1sYW5ndWFnZV9fY3VycmVudCB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKGNhbGMoMTAwJSAtIDE4cHgpIDAsIDEwMCUgMThweCwgMTAwJSAxMDAlLCAwIDEwMCUsIDAgMCk7XG4gIH1cbiAgLmMtbGFuZ3VhZ2VfX2N1cnJlbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItd2lkdGg6IDAgMTcuNXB4IDE3LjVweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjQUFEM0RGO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzO1xuICB9XG59XG4uYy1sYW5ndWFnZV9fY3VycmVudDpmb2N1cywgLmMtbGFuZ3VhZ2VfX2N1cnJlbnQ6aG92ZXIsIC5jLWxhbmd1YWdlX19jdXJyZW50LmMtYnV0dG9uLS1naG9zdDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDEzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUFEM0RGO1xufVxuLmMtbGFuZ3VhZ2VfX2N1cnJlbnQ6Zm9jdXMgLmMtbGFuZ3VhZ2VfX2Fycm93LCAuYy1sYW5ndWFnZV9fY3VycmVudDpob3ZlciAuYy1sYW5ndWFnZV9fYXJyb3csIC5jLWxhbmd1YWdlX19jdXJyZW50LmMtYnV0dG9uLS1naG9zdDpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy1sYW5ndWFnZV9fYXJyb3cge1xuICBjb2xvcjogIzAwMDAxMztcbn1cbkBzdXBwb3J0cyAoY2xpcC1wYXRoOiBwb2x5Z29uKGNhbGMoMTAwJSAtIDE4cHgpIDAsIDEwMCUgMThweCwgMTAwJSAxMDAlLCAwIDEwMCUsIDAgMCkpIHtcbiAgLmMtbGFuZ3VhZ2VfX2N1cnJlbnQ6Zm9jdXM6YWZ0ZXIsIC5jLWxhbmd1YWdlX19jdXJyZW50OmhvdmVyOmFmdGVyLCAuYy1sYW5ndWFnZV9fY3VycmVudC5jLWJ1dHRvbi0tZ2hvc3Q6aG92ZXI6bm90KDpkaXNhYmxlZCk6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMDAxMztcbiAgfVxufVxuXG4uYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogY2FsYygxMDAlIC0gMXB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDEzO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1sYW5ndWFnZTpob3ZlciAuYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uYy1sYW5ndWFnZV9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxM3B4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjQUFEM0RGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xufVxuLmMtbGFuZ3VhZ2VfX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzAwMDAxMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0FBRDNERjtcbn1cblxuLmMtbGFuZ3VhZ2VfX2Fycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAzO1xuICByaWdodDogMTJweDtcbiAgdG9wOiAyMHB4O1xuICBmb250LXNpemU6IDhweDtcbiAgY29sb3I6ICNBQUQzREY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjk5cHgpIHtcbiAgLmMtbGFuZ3VhZ2VfX2Fycm93IHtcbiAgICB0b3A6IDE1cHg7XG4gIH1cbn1cblxuLmMtbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uYy1uYXZfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDY1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjk5cHgpIHtcbiAgLmMtbmF2X19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxufVxuXG4uYy1uYXZfX2l0ZW0ge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMjIyMjIyMjIyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleDogMSAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDEyOTlweCkge1xuICAuYy1uYXZfX2l0ZW0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cbi5jLW5hdl9faXRlbSArIC5jLW5hdl9faXRlbSB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xufVxuXG4uYy1uYXZfX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogd2hpdGU7XG59XG4uYy1uYXZfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxcmVtO1xuICBsZWZ0OiAtMTAxJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBjb2xvcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuLmlzLWFjdGl2ZSAuYy1uYXZfX2xpbms6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMSUsIDApO1xufVxuLmMtbmF2X19saW5rOmhvdmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbn1cbi5jLW5hdl9fbGluazpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAxJSwgMCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG59XG5cbi5jLW5hdl9faWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiA3cHg7XG4gIGNvbG9yOiAjQUFEM0RGO1xufVxuXG4uYy1uYXZfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDBweDtcbiAgdG9wOiAtMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTI5OXB4KSB7XG4gIC5jLW5hdl9fYWN0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxufVxuLmMtbmF2X19hY3Rpb25zIC5waG9uZSwgLmMtbmF2X19hY3Rpb25zIC5sYW5ndWFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNBQUQzREY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDEyOTlweCkge1xuICAuYy1uYXZfX2FjdGlvbnMgLnBob25lLCAuYy1uYXZfX2FjdGlvbnMgLmxhbmd1YWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgdG9wOiAtMjBweDtcbiAgfVxufVxuLmMtbmF2X19hY3Rpb25zIC5waG9uZSBhLCAuYy1uYXZfX2FjdGlvbnMgLmxhbmd1YWdlIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1uYXZfX2FjdGlvbnMgLnBob25lIC5jLWJ1dHRvbiwgLmMtbmF2X19hY3Rpb25zIC5sYW5ndWFnZSAuYy1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE0cHggMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTI5OXB4KSB7XG4gIC5jLW5hdl9fYWN0aW9ucyAucGhvbmUgLmMtYnV0dG9uLCAuYy1uYXZfX2FjdGlvbnMgLmxhbmd1YWdlIC5jLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICB9XG59XG5Ac3VwcG9ydHMgKGNsaXAtcGF0aDogcG9seWdvbihjYWxjKDEwMCUgLSAxOHB4KSAwLCAxMDAlIDE4cHgsIDEwMCUgMTAwJSwgMCAxMDAlLCAwIDApKSB7XG4gIC5jLW5hdl9fYWN0aW9ucyAucGhvbmUgLmMtYnV0dG9uLCAuYy1uYXZfX2FjdGlvbnMgLmxhbmd1YWdlIC5jLWJ1dHRvbiB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKGNhbGMoMTAwJSAtIDE4cHgpIDAsIDEwMCUgMThweCwgMTAwJSAxMDAlLCAwIDEwMCUsIDAgMCk7XG4gIH1cbiAgLmMtbmF2X19hY3Rpb25zIC5waG9uZSAuYy1idXR0b246YWZ0ZXIsIC5jLW5hdl9fYWN0aW9ucyAubGFuZ3VhZ2UgLmMtYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDE3LjVweCAxNy41cHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0FBRDNERjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcztcbiAgfVxuICAuYy1uYXZfX2FjdGlvbnMgLnBob25lIC5jLWJ1dHRvbjpob3ZlcjphZnRlciwgLmMtbmF2X19hY3Rpb25zIC5sYW5ndWFnZSAuYy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMDAxMztcbiAgfVxufVxuLmMtbmF2X19hY3Rpb25zIC5waG9uZSBwLCAuYy1uYXZfX2FjdGlvbnMgLmxhbmd1YWdlIHAge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM3NTtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICBtYXJnaW4tdG9wOiAxOHB4O1xuICBjb2xvcjogI0FBRDNERjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTI5OXB4KSB7XG4gIC5jLW5hdl9fYWN0aW9ucyAucGhvbmUgcCwgLmMtbmF2X19hY3Rpb25zIC5sYW5ndWFnZSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuLmMtbmF2X19hY3Rpb25zIC5waG9uZSBzdmcsIC5jLW5hdl9fYWN0aW9ucyAubGFuZ3VhZ2Ugc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLmMtbmF2X19hY3Rpb25zIC5sYW5ndWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjk5cHgpIHtcbiAgLmMtbmF2X19hY3Rpb25zIC5sYW5ndWFnZSB7XG4gICAgdG9wOiAwO1xuICB9XG59XG4uYy1uYXZfX2FjdGlvbnMgLmxvZ2luLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogLTQ1cHg7XG4gIHBhZGRpbmc6IDdweCAxMHB4IDdweCAxNXB4O1xuICBjb2xvcjogIzAwMDAxMztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5Ac3VwcG9ydHMgKGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAxNnB4IDEwMCUsIDAgY2FsYygxMDAlIC0gMTZweCkpKSB7XG4gIC5jLW5hdl9fYWN0aW9ucyAubG9naW4tYnV0dG9uIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMTZweCAxMDAlLCAwIGNhbGMoMTAwJSAtIDE2cHgpKTtcbiAgfVxufVxuXG4uYy1vcHRpb25zLW1lbnUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLW9wdGlvbnMtbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1vcHRpb25zLW1lbnVfX3NlZ21lbnQgKyAuYy1vcHRpb25zLW1lbnVfX3NlZ21lbnQge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cbn1cblxuLmMtb3B0aW9ucy1tZW51X19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICNFNkU1RTY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1vcHRpb25zLW1lbnVfX3NlZ21lbnQ6bGFzdC1jaGlsZCAuYy1vcHRpb25zLW1lbnVfX2xhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4ucGFnZVRyYW5zaXRpb25PdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xNyU7XG4gIHdpZHRoOiAxMzQlO1xuICBoZWlnaHQ6IDEyMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMTM7XG4gIHotaW5kZXg6IDk5OTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEyMCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbn1cbi5wYWdlVHJhbnNpdGlvbk92ZXJsYXkuZG93biB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuLnBhZ2VUcmFuc2l0aW9uT3ZlcmxheS5kb25lIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTIwJSk7XG59XG5cbi5jLXRyYWRlbWFya19fdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xufVxuXG4uYy1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uYy1wYWdpbmF0aW9uX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiByZ2JhKDE4NSwgMTkxLCAyMjQsIDAuNSk7XG59XG5cbi5jLXBhZ2luYXRpb25fX2xpbmsge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiByZ2JhKDY4LCA4MSwgMTUzLCAwLjUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cbi5jLXBhZ2luYXRpb25fX2xpbms6bGluazpob3ZlciB7XG4gIGNvbG9yOiAjMzg0YTY2O1xuICBiYWNrZ3JvdW5kOiAjZjdmOWZiO1xufVxuLmMtcGFnaW5hdGlvbl9fbGluay5pcy1hY3RpdmUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNBQUQzREY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5jLXByb2plY3QtZ3JpZCB7XG4gIHBhZGRpbmc6IDA7XG59XG4uYy1wcm9qZWN0LWdyaWQgaDIge1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuYy1wcm9qZWN0LWdyaWQge1xuICAgIHBhZGRpbmc6IDMwcHggOC4zMzMzMzMzMzMzJSAwIDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLmMtcHJvamVjdC1ncmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuYy1wcm9qZWN0LWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcm93LWdhcDogNjBweDtcbiAgICBjb2x1bW4tZ2FwOiAxMCU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG59XG5cbi5jLXByb2plY3QtZ3JpZF9faXRlbSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5OXB4KSB7XG4gIC5jLXByb2plY3QtZ3JpZF9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmMtcHJvamVjdC1ncmlkX19pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1yb3c6IHNwYW4gMjtcbiAgfVxuICAuYy1wcm9qZWN0LWdyaWRfX2l0ZW06bnRoLWNoaWxkKDIpIC5jLXByb2plY3QtZ3JpZF9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDVweCk7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLmMtcHJvamVjdC1ncmlkX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZThlYjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1wcm9qZWN0LWdyaWRfX2JvZHkge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbi5jLXByb2plY3QtZ3JpZF9fbmFtZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMDAwMDEzO1xufVxuXG4uYy1wcm9qZWN0LWdyaWRfX2Z1bmN0aW9uIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM0NDUxOTk7XG59XG5cbi8qKlxuICogV3JhcHBlciBvZiB0aGUgbWFpbiBib2R5XG4gKiAoYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCB0aGUgZm9vdGVyKVxuICovXG4uYy10ZXh0LWltYWdlLmMtcHJvamVjdC1jb250ZW50IC5zLWltYWdlIHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuYy10ZXh0LWltYWdlLmMtcHJvamVjdC1jb250ZW50IC5zLWltYWdlIHtcbiAgICB3aWR0aDogNTQuMTY2NjY2NjY2NyU7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuYy10ZXh0LWltYWdlLmMtcHJvamVjdC1jb250ZW50IC5zLWltYWdlIC5jLXNsaWRlLXByb2plY3Rvcl9fc2xpZGUsXG4uYy10ZXh0LWltYWdlLmMtcHJvamVjdC1jb250ZW50IC5zLWltYWdlIC5jLXNsaWRlLXByb2plY3Rvcl9faW1nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgfVxufVxuLmMtdGV4dC1pbWFnZS5jLXByb2plY3QtY29udGVudCAucy1pbWFnZSAuYy1zbGlkZS1wcm9qZWN0b3JfX2NvbnRyb2wge1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAtMzBweDtcbn1cbi5jLXRleHQtaW1hZ2UuYy1wcm9qZWN0LWNvbnRlbnQgLnMtdGV4dCB7XG4gIHBhZGRpbmc6IDYwcHggNTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAxMztcbiAgY29sb3I6IHdoaXRlO1xuICBtaW4taGVpZ2h0OiAzNzVweDtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jLXRleHQtaW1hZ2UuYy1wcm9qZWN0LWNvbnRlbnQgLnMtdGV4dCB7XG4gICAgd2lkdGg6IDI5LjE2NjY2NjY2NjclO1xuICAgIG1hcmdpbjogMCA2LjI1JSA2MHB4IDQuMTY2NjY2NjY2NyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjhweCkge1xuICAuYy10ZXh0LWltYWdlLmMtcHJvamVjdC1jb250ZW50IC5zLXRleHQge1xuICAgIG1hcmdpbjogMCA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG4uYy10ZXh0LWltYWdlLmMtcHJvamVjdC1jb250ZW50IC5zLXRleHQgdWwuaGV4IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG4uYy10ZXh0LWltYWdlLmMtcHJvamVjdC1jb250ZW50IC5zLXRleHQgdWwuaGV4IGxpIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40NTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLmMtdGV4dC1pbWFnZS5jLXByb2plY3QtY29udGVudCAucy10ZXh0IHVsLmhleCBsaTpiZWZvcmUsIC5jLXRleHQtaW1hZ2UuYy1wcm9qZWN0LWNvbnRlbnQgLnMtdGV4dCB1bC5oZXggbGk6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGxlZnQ6IC0yMHB4O1xuICB0b3A6IDUwJTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJvcmRlci13aWR0aDogMCAycHg7XG59XG4uYy10ZXh0LWltYWdlLmMtcHJvamVjdC1jb250ZW50IC5zLXRleHQgdWwuaGV4IGxpOmJlZm9yZSB7XG4gIG1hcmdpbi10b3A6IC00cHg7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbn1cbi5jLXRleHQtaW1hZ2UuYy1wcm9qZWN0LWNvbnRlbnQgLnMtdGV4dCB1bC5oZXggbGk6YWZ0ZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3JkZXItdG9wOiA0cHggc29saWQ7XG4gIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7XG59XG5cbi5jLXJhdGluZyB7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IC0xMHB4IHJnYmEoNTYsIDc0LCAxMDIsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNTU1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5jLXJhdGluZ19fbGluayB7XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmMtcmF0aW5nX19zdGFycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLmMtcmVmZXJlbmNlc19fbG9nb3MtYXJlYSB7XG4gICAgcGFkZGluZzogMCA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5jLXJlZmVyZW5jZXNfX3RpdGxlIHtcbiAgY29sb3I6ICMwMDAwMTM7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjExMTExMTExMTE7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi5jLXJlZmVyZW5jZXNfX2ltYWdlLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1yZWZlcmVuY2VzX19pbWFnZS13cmFwcGVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTJweDtcbiAgYm90dG9tOiAtMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgNjJweCA2MnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNGMkY4RkEgdHJhbnNwYXJlbnQ7XG59XG5cbi5jLXJlZmVyZW5jZXNfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmU4ZWI7XG59XG5cbi5jLXJlZmVyZW5jZXNfX2xvZ29zID4gKiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDI0MHB4O1xuICBtYXJnaW46IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAuYy1yZWZlcmVuY2VzX19sb2dvcyA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAuYy1yZWZlcmVuY2VzX19sb2dvcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogLTQwcHg7XG4gIH1cbiAgLmMtcmVmZXJlbmNlc19fbG9nb3MgPiAqIHtcbiAgICBtYXJnaW46IDQwcHg7XG4gICAgbWF4LXdpZHRoOiAxODBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIGFuZCAobWluLXdpZHRoOiA2MjBweCkge1xuICAuYy1yZWZlcmVuY2VzX19sb2dvcyA+ICoge1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gIH1cbn1cblxuLmMtcmVmZXJlbmNlc19fbmFtZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwMDAwMTM7XG59XG5cbi5jLXJlZmVyZW5jZXNfX2Z1bmN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNDQ1MTk5O1xufVxuXG4uYy1yZWZlcmVuY2VzX19pdGVtIC5jLWNhcmRfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5jLXJlZmVyZW5jZXNfX2l0ZW0gLmMtY2FyZF9fY29udGVudCB7XG4gIGNvbG9yOiAjQUFEM0RGO1xufVxuLmMtcmVmZXJlbmNlc19faXRlbSAuYy1jYXJkX19pbm5lci1ib2R5IHtcbiAgbWluLWhlaWdodDogMDtcbn1cblxuLmMtcmVmZXJlbmNlc19fY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgY29sb3I6ICMwMDAwMTM7XG59XG5cbi5jLXJlZmVyZW5jZXNfX3F1b3RlcyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMjVweCAxMnB4IDA7XG4gIHdpZHRoOiAzMnB4O1xufVxuXG4uYy1zZXJ2aWNlc19ncmlkIHtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5jLXNlcnZpY2VzX2dyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG4uYy1zZXJ2aWNlc19ncmlkIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1zZXJ2aWNlc19ncmlkIGFydGljbGUge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5jLXNlcnZpY2VzX2dyaWQgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDQ1LjgzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cbi5jLXNlcnZpY2VzX2dyaWQgYXJ0aWNsZSBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgY29sb3I6ICMwMDAwMTM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIGJveC1zaGFkb3cgMC4zcztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQyNXB4KSB7XG4gIC5jLXNlcnZpY2VzX2dyaWQgYXJ0aWNsZSBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbi5jLXNlcnZpY2VzX2dyaWQgYXJ0aWNsZSBhOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBjb2xvcjogIzQwOTNhYjtcbn1cbi5jLXNlcnZpY2VzX2dyaWQgYXJ0aWNsZSBhOmhvdmVyIC50ZXh0IGg0IHtcbiAgY29sb3I6ICMzNjdiOGY7XG59XG4uYy1zZXJ2aWNlc19ncmlkIGFydGljbGUgYTpob3ZlciAuaWNvbiB7XG4gIGNvbG9yOiAjMzY3YjhmO1xufVxuLmMtc2VydmljZXNfZ3JpZCBhcnRpY2xlIGE6aG92ZXIgLmFycm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2N2I4Zjtcbn1cbi5jLXNlcnZpY2VzX2dyaWQgYXJ0aWNsZSBhIC50ZXh0IHtcbiAgcGFkZGluZzogMCAzMHB4IDMwcHggMzBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQyNXB4KSB7XG4gIC5jLXNlcnZpY2VzX2dyaWQgYXJ0aWNsZSBhIC50ZXh0IHtcbiAgICBwYWRkaW5nOiA2MHB4IDMwcHggNjBweCAwO1xuICB9XG59XG4uYy1zZXJ2aWNlc19ncmlkIGFydGljbGUgYSAudGV4dCBoNCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3NcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41NTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM0NDUxOTk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MjVweCkge1xuICAuYy1zZXJ2aWNlc19ncmlkIGFydGljbGUgYSAudGV4dCBoNCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuLmMtc2VydmljZXNfZ3JpZCBhcnRpY2xlIGEgLmljb24ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDE1cHggMCA1cHggMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbGV4LXNocmluazogMDtcbiAgY29sb3I6ICM0NDUxOTk7XG4gIHdpZHRoOiA1MHB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgLmMtc2VydmljZXNfZ3JpZCBhcnRpY2xlIGEgLmljb24ge1xuICAgIHBhZGRpbmc6IDI1cHggMCAxNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MjVweCkge1xuICAuYy1zZXJ2aWNlc19ncmlkIGFydGljbGUgYSAuaWNvbiB7XG4gICAgbWFyZ2luOiAwIDkuMDkwOTA5MDkwOSU7XG4gIH1cbn1cbi5jLXNlcnZpY2VzX2dyaWQgYXJ0aWNsZSBhIC5pY29uLnBvd2VyIHtcbiAgd2lkdGg6IDgwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MjVweCkge1xuICAuYy1zZXJ2aWNlc19ncmlkIGFydGljbGUgYSAuaWNvbi5wb3dlciB7XG4gICAgbWFyZ2luOiAwIGNhbGMoOS4wOTA5MDkwOTA5JSAtIDIwcHgpO1xuICB9XG59XG4uYy1zZXJ2aWNlc19ncmlkIGFydGljbGUgYSAuYXJyb3cge1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDEzO1xuICBjb2xvcjogI0FBRDNERjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDI1cHgpIHtcbiAgLmMtc2VydmljZXNfZ3JpZCBhcnRpY2xlIGEgLmFycm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiA1MHB4O1xuICB9XG59XG4uYy1zZXJ2aWNlc19ncmlkIGFydGljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDA7XG4gIHdpZHRoOiA2MHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCAjRjJGOEZBIDYwcHgpIC0zNXB4IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG59XG5cbi5jLXNoYXJlX19saXN0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLXNoYXJlX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtc2hhcmVfX2l0ZW0gKyAuYy1zaGFyZV9faXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDR2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtc2hhcmVfX2l0ZW0gKyAuYy1zaGFyZV9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxufVxuXG4uYy1zbGlkZS1wcm9qZWN0b3Ige1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXNsaWRlLXByb2plY3Rvcl9fdHJheSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1zbGlkZS1wcm9qZWN0b3JfX3NsaWRlIHtcbiAgZ3JpZC1yb3c6IDE7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gIHBhZGRpbmctYm90dG9tOiA3MCU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmMtc2xpZGUtcHJvamVjdG9yX19zbGlkZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG4uYy1zbGlkZS1wcm9qZWN0b3JfX3NsaWRlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmMtc2xpZGUtcHJvamVjdG9yX19zbGlkZS5pcy1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuLmllIC5jLXNsaWRlLXByb2plY3Rvcl9fc2xpZGUuaXMtYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaWUgLmMtc2xpZGUtcHJvamVjdG9yX19zbGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLXNsaWRlLXByb2plY3Rvcl9fY29udHJvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG59XG4ubC1iaXNlY3Rpb24tLWNvcm5lcnMgLmMtc2xpZGUtcHJvamVjdG9yX19jb250cm9sIHtcbiAgYm90dG9tOiA2MHB4O1xufVxuXG4uYy1zbGlkZS1wcm9qZWN0b3JfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nOiAxMHB4O1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBjb2xvcjogI2Y3ZjlmYjtcbiAgYmFja2dyb3VuZDogIzAwMDAxMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXIsIGJveC1zaGFkb3c7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjVzO1xuICBvdXRsaW5lOiBub25lO1xufVxuLmMtc2xpZGUtcHJvamVjdG9yX19idXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0FBRDNERjtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmMtc2xpZGUtcHJvamVjdG9yX19idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBhNjtcbiAgY29sb3I6ICNBQUQzREY7XG59XG4uYy1zbGlkZS1wcm9qZWN0b3JfX2J1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoNTYsIDc0LCAxMDIsIDAuMik7XG59XG4uYy1zbGlkZS1wcm9qZWN0b3JfX2J1dHRvbi5wcmV2aW91cyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xufVxuXG4uYy1zbGlkZS1wcm9qZWN0b3JfX2Fycm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGhlaWdodDogMThweDtcbiAgZm9udC1zaXplOiAwO1xuICBsaW5lLWhlaWdodDogMDtcbn1cbi5jLXNsaWRlLXByb2plY3Rvcl9fYXJyb3cgc3ZnIHtcbiAgaGVpZ2h0OiAxOHB4O1xuICB3aWR0aDogMTZweDtcbn1cblxuLmMtc2xpZGUtcHJvamVjdG9yX19pbWcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nLWJvdHRvbTogNzAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jLXNsaWRlLXByb2plY3Rvcl9faW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLmMtc3RhciB7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICBjb2xvcjogI2U5ZWJmNTtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5jLXN0YXItLWZ1bGwge1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxuLmMtc3Rhci0taGFsZiB7XG4gIGNvbG9yOiAjZTllYmY1O1xufVxuLmMtc3Rhci0taGFsZiAuaGFsZi1zdGFyIHtcbiAgZmlsbDogIzY2NjY2Njtcbn1cblxuLyoqXG4gKiBXaGVuIHdlIG5lZWQgYW4gYW5pbWF0aW9uIHdlIGNhbiB1c2UgdGhlIGZvbGxvd2luZyBhcyBhIGJhc2lzXG4gKi9cbi5jLXN0YXR1cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1zdGF0dXNfX2luZGljYXRvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2QyZGI7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbi5jLXN0YXR1c19faW5kaWNhdG9yW2RhdGEtc3RhdHVzPW5vbmVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlY2Y4ZTtcbn1cblxuLmMtc3RhdHVzX19pbmRpY2F0b3JbZGF0YS1zdGF0dXM9bWlub3JdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDMzYTtcbn1cblxuLmMtc3RhdHVzX19pbmRpY2F0b3JbZGF0YS1zdGF0dXM9bWFqb3JdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODEwMDtcbn1cblxuLmMtc3RhdHVzX19pbmRpY2F0b3JbZGF0YS1zdGF0dXM9Y3JpdGljYWxdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmM2UzZTtcbn1cblxuLmMtc3RhdHVzX19sYWJlbCB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4vKipcbiAqIFN1YmZvb3RlclxuICovXG4uYy1zdWJmb290ZXIge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI0U2RTVFNjtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiAjRTZFNUU2O1xufVxuXG4uYy1zdWJmb290ZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jLXN1YmZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEwICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYy1zdWJmb290ZXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxNCAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTU5cHgpIHtcbiAgLmMtc3ViZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gIH1cbiAgLmMtc3ViZm9vdGVyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYwcHgpIHtcbiAgLmMtc3ViZm9vdGVyX19tYWluIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5jLXN1YmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5jLXN1YmZvb3Rlcl9fY29weXJpZ2h0IGEge1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtc3ViZm9vdGVyX190cmFkZW1hcmsge1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cblxuLmMtc3ViZm9vdGVyX19sYW5ndWFnZSB7XG4gIGZsZXgtYmFzaXM6IDIxMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogMTVweCAwO1xufVxuXG4uby1zdWJmb290ZXJfX25hdiB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1OXB4KSB7XG4gIC5vLXN1YmZvb3Rlcl9fbGlzdCA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjBweCkge1xuICAuby1zdWJmb290ZXJfX2xpc3Qge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYwcHgpIHtcbiAgLm8tc3ViZm9vdGVyX19pdGVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG4uby1zdWJmb290ZXJfX2xpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuICBjb2xvcjogd2hpdGU7XG59XG4uby1zdWJmb290ZXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI0FBRDNERjtcbn1cblxuLm8tc3ViZm9vdGVyX190cmFkZW1hcmsge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmMtc3dpdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1zd2l0Y2hfX2lucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jLXN3aXRjaF9fbGFiZWwge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICNlOWViZjU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGN1YmljLWJlemllcigwLCAxLCAwLjUsIDEpO1xufVxuLmMtc3dpdGNoX19sYWJlbDo6YmVmb3JlLCAuYy1zd2l0Y2hfX2xhYmVsOjphZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogOXB4O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG59XG4uYy1zd2l0Y2hfX2xhYmVsOjpiZWZvcmUge1xuICBncmlkLWNvbHVtbjogMTtcbiAgY29udGVudDogYXR0cihkYXRhLWNoZWNrZWQpO1xufVxuLmMtc3dpdGNoX19pbnB1dDpjaGVja2VkIH4gLmMtc3dpdGNoX19sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoNTYsIDc0LCAxMDIsIDAuNCk7XG59XG4uYy1zd2l0Y2hfX2xhYmVsOjphZnRlciB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBjb250ZW50OiBhdHRyKGRhdGEtdW5jaGVja2VkKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cbi5jLXN3aXRjaF9faW5wdXQ6Y2hlY2tlZCB+IC5jLXN3aXRjaF9fbGFiZWw6OmFmdGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5jLXN3aXRjaF9faW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDUwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI0FBRDNERiwgIzc4ZWRkYyk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMC4yMywgMC4xOCwgMC4zLCAxKTtcbn1cbi5jLXN3aXRjaF9faW5kaWNhdG9yOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCAjYTAyZDA5IDEwJSwgI0RFNDMxMyAxMDAlKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cyBjdWJpYy1iZXppZXIoMC4yMywgMC4xOCwgMC4zLCAxKTtcbn1cbi5jLXN3aXRjaF9faW5wdXQ6Y2hlY2tlZCB+IC5jLXN3aXRjaF9fbGFiZWwgLmMtc3dpdGNoX19pbmRpY2F0b3Ige1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAxJSk7XG59XG4uYy1zd2l0Y2hfX2lucHV0OmNoZWNrZWQgfiAuYy1zd2l0Y2hfX2xhYmVsIC5jLXN3aXRjaF9faW5kaWNhdG9yOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmMtdGFic2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jLXRhYnNsaWRlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDRmciA4ZnI7XG4gIH1cbn1cblxuLmMtdGFic2xpZGVyX19uYXYge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5jLXRhYnNsaWRlcl9fbmF2IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jLXRhYnNsaWRlcl9fbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuLmMtdGFic2xpZGVyX19uYXYgaDIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jLXRhYnNsaWRlcl9fbmF2IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbi5jLXRhYnNsaWRlcl9fYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLXJvdy1nYXA6IDE1cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAuYy10YWJzbGlkZXJfX2J1dHRvbnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jLXRhYnNsaWRlcl9fYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5jLXRhYnNsaWRlcl9fYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgb3BhY2l0eSAwLjJzO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmMtdGFic2xpZGVyX19idXR0b24gc3ZnIHtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAuYy10YWJzbGlkZXJfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogNzk5cHgpIHtcbiAgLmMtdGFic2xpZGVyX19idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG4uYy10YWJzbGlkZXJfX2J1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cbi5jLXRhYnNsaWRlcl9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5jLXRhYnNsaWRlcl9fYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiAjQUFEM0RGO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy10YWJzbGlkZXJfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy10YWJzbGlkZXJfX2NvbnRlbnQge1xuICBncmlkLXJvdzogMTtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgei1pbmRleDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLXRhYnNsaWRlcl9fY29udGVudCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtdGFic2xpZGVyX19jb250ZW50LmlzLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbi5jLXRhYnNsaWRlcl9fY29udGVudF9faW5mby1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMTksIDAuOTUpIDcwJSwgcmdiYSgwLCAwLCAxOSwgMC45KSBjYWxjKDEwMCUgLSA2MHB4KSwgcmdiYSgwLCAwLCAxOSwgMC40KSAxMDAlKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5jLXRhYnNsaWRlcl9fY29udGVudF9faW5mby1ibG9jayB7XG4gICAgcGFkZGluZzogMCA2MHB4IDYwcHggNjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jLXRhYnNsaWRlcl9fY29udGVudF9faW5mby1ibG9jayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAuYy10YWJzbGlkZXJfX2NvbnRlbnRfX2luZm8tYmxvY2sge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbi5jLXRhYnNsaWRlcl9fY29udGVudF9faW5mby1ibG9jayAuaWNvbiB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0zMHB4O1xuICB0b3A6IDA7XG59XG4uYy10YWJzbGlkZXJfX2NvbnRlbnRfX2luZm8tYmxvY2sgLmljb24ucG93ZXIge1xuICB3aWR0aDogODBweDtcbiAgcmlnaHQ6IC0yMHB4O1xuICB0b3A6IDIwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogNzk5cHgpIHtcbiAgLmMtdGFic2xpZGVyX19jb250ZW50X19pbmZvLWJsb2NrIC5pY29uIHtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC44LCAwLjgsIDEpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAuYy10YWJzbGlkZXJfX2NvbnRlbnRfX2luZm8tYmxvY2sgLmljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uYy10YWJzbGlkZXJfX2NvbnRlbnRfX2luZm8tYmxvY2sgaDIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgLmMtdGFic2xpZGVyX19jb250ZW50X19pbmZvLWJsb2NrIGgyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbi5jLXRhYnNsaWRlcl9fY29udGVudF9faW5mby1ibG9jayBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy10YWJzbGlkZXJfX2NvbnRlbnRfX2luZm8tYmxvY2sgYTphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogXCI+XCI7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUsIDEuNSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG59XG4uYy10YWJzbGlkZXJfX2NvbnRlbnRfX2luZm8tYmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC02MHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIzAwMDAxMyA2MHB4KSAtMjRweCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xufVxuXG4vKipcbiAqIE1vZGlmaWVyIHdpdGggYnV0dG9ucyB0aGF0IGhhdmUgYSBjaXJjbGUgY29ubmVjdGVkIGJ5IGEgbGluZSB0byBpbmRpY2F0ZSBhICdmbG93J1xuICovXG4uYy10YWJzbGlkZXItLWZsb3cgLmMtdGFic2xpZGVyX19uYXYge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgLmMtdGFic2xpZGVyLS1mbG93IC5jLXRhYnNsaWRlcl9fbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAuYy10YWJzbGlkZXItLWZsb3cgLmMtdGFic2xpZGVyX19uYXY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTI7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNjAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHRvcDogMTJweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWViZjU7XG4gIH1cbn1cbi5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwIDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogcmdiYSg1NiwgNzQsIDEwMiwgMC4zKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5pZSAuYy10YWJzbGlkZXItLWZsb3cgLmMtdGFic2xpZGVyX19idXR0b24ge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBmbGV4OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAuYy10YWJzbGlkZXItLWZsb3cgLmMtdGFic2xpZGVyX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAxIDEwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDQxcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1heC13aWR0aDogMjIycHg7XG4gIH1cbn1cbi5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbjo6YmVmb3JlIHtcbiAgei1pbmRleDogLTE7XG4gIGxlZnQ6IC0zMHB4O1xuICB0b3A6IC0ycHg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAzcHg7XG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWViZjU7XG4gIGNvbG9yOiAjQUFEM0RGO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlciwgYmFja2dyb3VuZC1jb2xvcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgbGluZWFyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgLmMtdGFic2xpZGVyLS1mbG93IC5jLXRhYnNsaWRlcl9fYnV0dG9uOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEycHgpO1xuICB9XG59XG4uYy10YWJzbGlkZXItLWZsb3cgLmMtdGFic2xpZGVyX19idXR0b246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMjtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNTZweDtcbiAgd2lkdGg6IDFweDtcbiAgdG9wOiAtNDhweDtcbiAgbGVmdDogY2FsYygtMzBweCArIDEycHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllYmY1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgLmMtdGFic2xpZGVyLS1mbG93IC5jLXRhYnNsaWRlcl9fYnV0dG9uOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbjpmaXJzdC1jaGlsZDphZnRlciwgLmMtdGFic2xpZGVyLS1mbG93IC5jLXRhYnNsaWRlcl9fYnV0dG9uOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgdG9wOiAxMnB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZTllYmY1O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbjpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gIC5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbiArIC5jLXRhYnNsaWRlcl9fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG4uYy10YWJzbGlkZXItLWZsb3cgLmMtdGFic2xpZGVyX19idXR0b246aG92ZXIsIC5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuLmMtdGFic2xpZGVyLS1mbG93IC5jLXRhYnNsaWRlcl9fYnV0dG9uOmhvdmVyOjpiZWZvcmUsIC5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbjpmb2N1czo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjZDJkYjtcbn1cbi5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbi5pcy1hY3RpdmUge1xuICBjb2xvcjogIzM4NGE2Njtcbn1cbi5jLXRhYnNsaWRlci0tZmxvdyAuYy10YWJzbGlkZXJfX2J1dHRvbi5pcy1hY3RpdmU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBQUQzREY7XG4gIGJvcmRlci1jb2xvcjogI0FBRDNERjtcbn1cblxuLmMtdGVhbS1ncmlkIHtcbiAgcGFkZGluZzogNjBweCAwIDAgMDtcbn1cbi5jLXRlYW0tZ3JpZCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmMtdGVhbS1ncmlkIHtcbiAgICBwYWRkaW5nOiAzMHB4IDE2LjY2NjY2NjY2NjclIDAgMTYuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRleHQgYnV0dG9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHlcbiAqIDIuIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxpbmdcbiAqL1xuLmMtdGV4dC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGNvbG9yOiAjQUFEM0RGO1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAyICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5jLXRleHQtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6ICM0MDkzYWI7XG59XG4uYy10ZXh0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmMtdGV4dC1idXR0b25fX3RleHQge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjkzNzU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtdGV4dC1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTJweDtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy10ZXh0LWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0LWJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xufVxuLmMtdGV4dC1idXR0b24tLWljb24gLmMtdGV4dC1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtdGV4dC1idXR0b24tLXNtYWxsIC5jLXRleHQtYnV0dG9uX190ZXh0IHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjkyMzA3NjkyMzE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uYy10ZXh0LWJ1dHRvbi0tc21hbGwgLmMtdGV4dC1idXR0b25fX2ljb24gc3ZnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY3KTtcbn1cblxuLmMtdGV4dC1pbWFnZSB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmMtdGV4dC1pbWFnZSAubC1iaXNlY3Rpb25fX2l0ZW0ge1xuICAgIHdpZHRoOiA1MC45JTtcbiAgfVxufVxuLmMtdGV4dC1pbWFnZSAucy1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLXRleHQtaW1hZ2UgLnMtdGV4dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiA2MHB4IDYuMjUlIDYwcHggNC4xNjY2NjY2NjY3JTtcbiAgY29sb3I6IGJsYWNrO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyOHB4KSB7XG4gIC5jLXRleHQtaW1hZ2UgLnMtdGV4dCB7XG4gICAgcGFkZGluZzogNjBweCA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG4uYy10ZXh0LWltYWdlIC5zLXRleHQgaDEsIC5jLXRleHQtaW1hZ2UgLnMtdGV4dCBoMiwgLmMtdGV4dC1pbWFnZSAucy10ZXh0IGgzLCAuYy10ZXh0LWltYWdlIC5zLXRleHQgaDQsIC5jLXRleHQtaW1hZ2UgLnMtdGV4dCBoNSB7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5jLXRleHQtaW1hZ2UgLnMtdGV4dCAuYy1idXR0b24ge1xuICBjb2xvcjogIzQ0NTE5OTtcbn1cbi5jLXRleHQtaW1hZ2UgLnMtdGV4dCBhIHtcbiAgY29sb3I6ICM0NDUxOTk7XG59XG4uYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1ncmFkaWVudCAucy10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAxMztcbiAgY29sb3I6IHdoaXRlO1xufVxuLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tZ3JhZGllbnQgLnMtdGV4dCBoMSwgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tZ3JhZGllbnQgLnMtdGV4dCBoMiwgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tZ3JhZGllbnQgLnMtdGV4dCBoMywgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tZ3JhZGllbnQgLnMtdGV4dCBoNCwgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tZ3JhZGllbnQgLnMtdGV4dCBoNSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLWdyYWRpZW50IC5zLXRleHQgLmMtYnV0dG9uIHtcbiAgY29sb3I6ICNBQUQzREY7XG59XG4uYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1ncmFkaWVudCAucy1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLWdyYWRpZW50IC5zLWltYWdlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCUsICMwMDAwMTMgNzAlKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLWdyYWRpZW50IC5zLWltYWdlOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tZ3JhZGllbnQubC1iaXNlY3Rpb24tLXJldmVyc2VkIC5zLWltYWdlOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgdHJhbnNwYXJlbnQgMCUsICMwMDAwMTMgNzAlKTtcbn1cbi5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLWNvcm5lcnMge1xuICBwYWRkaW5nLXRvcDogNjBweDtcbn1cbi5vLWJsb2NrI2NvbXBvbmVudC1pdGVtLTEgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tY29ybmVycyB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbn1cbi5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLWNvcm5lcnMgLnMtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1jb3JuZXJzIC5zLWltYWdlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDAwMDEzIDAsICMwMDAwMTMgNDBweCwgdHJhbnNwYXJlbnQgNDFweCkgMCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tY29ybmVycyAucy1pbWFnZTphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjMDAwMDEzIDAsICMwMDAwMTMgNTlweCwgdHJhbnNwYXJlbnQgNjBweCkgLTM1cHggMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xuICB9XG59XG4uYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1jb3JuZXJzIC5zLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG4uYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1jb3JuZXJzIC5zLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC02MHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgd2hpdGUgNjBweCkgLTI1cHggMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLWNvcm5lcnMubC1iaXNlY3Rpb24tLXJldmVyc2VkIC5zLWltYWdlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMDAwMDEzIDAsICMwMDAwMTMgNTlweCwgdHJhbnNwYXJlbnQgNjBweCkgLTI1cHggMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xuICB9XG59XG4uYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1jb3JuZXJzLmwtYmlzZWN0aW9uLS1yZXZlcnNlZCAucy10ZXh0OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEzNWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgd2hpdGUgNjBweCkgLTM1cHggMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbn1cbi5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLXNsaWRlciAucy10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1zbGlkZXIgLnMtaW1hZ2U6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgd2hpdGUgMCwgd2hpdGUgNTlweCwgdHJhbnNwYXJlbnQgNjBweCkgLTM1cHggMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xuICB9XG59XG5cbi5jLXRodW1ibmFpbF9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy10aHVtYm5haWxfX2ZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDY2LjY3JTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmMtdGh1bWJuYWlsX19mcmFtZS5oYXMtaG92ZXItZWZmZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtdGh1bWJuYWlsX19mcmFtZS5oYXMtaG92ZXItZWZmZWN0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYmEoMTcwLCAyMTEsIDIyMywgMC4yKSwgcmdiYSgxNzAsIDIxMSwgMjIzLCAwLjYpKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbn1cbi5jLXRodW1ibmFpbF9fbGluazpob3ZlciAuYy10aHVtYm5haWxfX2ZyYW1lLmhhcy1ob3Zlci1lZmZlY3Q6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmMtdGh1bWJuYWlsX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllYmY1O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG59XG4uYy10aHVtYm5haWxfX2ZyYW1lLmhhcy1ob3Zlci1lZmZlY3QgLmMtdGh1bWJuYWlsX19pbWFnZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xufVxuLmMtdGh1bWJuYWlsX19saW5rLmhhcy1ob3Zlcjpob3ZlciAuYy10aHVtYm5haWxfX2ltYWdlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcbiAgZmlsdGVyOiBzYXR1cmF0ZSgwJSk7XG59XG5cbi5jLXRodW1ibmFpbF9fY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5jLXRodW1ibmFpbF9fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMzODRhNjY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzO1xufVxuXG4uYy10aHVtYm5haWxfX2J1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi8qKlxuICogTW9kaWZpZXIgb2YgdGhlIHRodW1ibmFpbCB3aGVyZSB0aGUgZmlndXJlIGdldHMgYSBsaXR0bGUgZXh0cmEgc3R5bGluZ1xuICovXG4uYy10aHVtYm5haWwtLXBvcCAuYy10aHVtYm5haWxfX2ZyYW1lIHtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggLTEwcHggcmdiYSg1NiwgNzQsIDEwMiwgMC4yKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLXRodW1ibmFpbC0tcG9wIC5jLXRodW1ibmFpbF9fY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi5jLXRodW1ibmFpbF9fbGlua1tocmVmXTpob3ZlciAuYy10aHVtYm5haWxfX2NhcHRpb24ge1xuICBjb2xvcjogI0FBRDNERjtcbn1cblxuLmMtdHJhZGVtYXJrIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbn1cbi5jLXRyYWRlbWFyazpob3ZlciB7XG4gIGNvbG9yOiAjRjJGOEZBO1xufVxuLmMtdHJhZGVtYXJrOmhvdmVyIC5rb21tYS1lbWJsZW0ge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMnB4IDEycHg7XG4gIGFuaW1hdGlvbjogbG9nby1zcGluIDEuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uYy10cmFkZW1hcmtfX3RleHQge1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbn1cblxuQGtleWZyYW1lcyBsb2dvLXNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTtcbiAgfVxufVxuLmMtdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uYy12aWRlb19fcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1My42JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWJmNTtcbn1cblxuLmMtdmlkZW9fX2lmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy12YWNhbmNpZXNfZ3JpZCB7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuYy12YWNhbmNpZXNfZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cbi5jLXZhY2FuY2llc19ncmlkIGFydGljbGUge1xuICBtYXJnaW46IDAgYXV0byA4MHB4IGF1dG87XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgcGFkZGluZzogOC4zMzMzMzMzMzMzJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IGJsYWNrO1xufVxuLmMtdmFjYW5jaWVzX2dyaWQgYXJ0aWNsZSBoNSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYwNzE0Mjg1NzE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiBibGFjaztcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cbi5jLXZhY2FuY2llc19ncmlkIGFydGljbGUgYSB7XG4gIGNvbG9yOiAjNDQ1MTk5O1xufVxuLmMtdmFjYW5jaWVzX2dyaWQgYXJ0aWNsZSAuYy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgY29sb3I6ICM0NDUxOTk7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG4uYy12YWNhbmNpZXNfZ3JpZCBhcnRpY2xlIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbi5jLXZhY2FuY2llc19ncmlkIGFydGljbGUgdWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4uYy12YWNhbmNpZXNfZ3JpZCBhcnRpY2xlIHVsIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTI3cHg7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDAuNzVlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjNDQ1MTk5O1xufVxuXG4vKiAgNiAtIE9SR0FOSVNNU1xuICogIExhcmdlIGJsb2NrcyBjb21wb3NlZCBvZiBtdWx0aXBsZSBjb21wb25lbnRzLlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIE9yZ2FuaXNtc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uby1hZHZpY2VfX2Zvcm0ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDEzO1xuICBwYWRkaW5nOiAwIDguMzMzMzMzMzMzMyUgNjBweCA4LjMzMzMzMzMzMzMlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuby1hZHZpY2VfX2Zvcm0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuLm8tYWR2aWNlX19mb3JtOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC02MHB4O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAwO1xuICB3aWR0aDogY2FsYygxMDAlICsgMjVweCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIzAwMDAxMyA2MHB4KSAwIDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIC0xKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xufVxuLm8tYWR2aWNlX19mb3JtIC5jLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5vLWFkdmljZS1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm8tYWR2aWNlLWNvbnRlbnQuby1ibG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygtMTAwJSArIDYwcHgpO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDE1MCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIzAwMDAxMyA2MHB4KSAtMzhweCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5vLWFkdmljZS1jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuLm8tYWR2aWNlLWNvbnRlbnQgLm8tYmxvY2sge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogIzAwMDAxMztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5vLWFkdmljZS1jb250ZW50IC5vLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLm8tYWR2aWNlLWNvbnRlbnQgLm8tYmxvY2s6Zmlyc3Qtb2YtdHlwZSB7XG4gIGhlaWdodDogNzAlO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbn1cblxuLmMtYWR2aWNlLWNvbnRlbnQge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcGFkZGluZzogMzBweCAwIDgwcHggMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYy1hZHZpY2UtY29udGVudCB7XG4gICAgcGFkZGluZzogNjBweCA4LjMzMzMzMzMzMzMlIDAgOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uYWR2aWNlLW9wdGlvbnMge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLmFkdmljZS1vcHRpb25zIHtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLyAxMCAqIDEpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMCAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OTlweCkge1xuICAuYWR2aWNlLW9wdGlvbnMge1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuYWR2aWNlLW9wdGlvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuLmFkdmljZS1vcHRpb25zIC5sZWZ0LFxuLmFkdmljZS1vcHRpb25zIC5yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLmFkdmljZS1vcHRpb25zIC5sZWZ0IHN2Zyxcbi5hZHZpY2Utb3B0aW9ucyAucmlnaHQgc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uYWR2aWNlLW9wdGlvbnMgLmxlZnQgYSxcbi5hZHZpY2Utb3B0aW9ucyAucmlnaHQgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAyNXB4IDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYxMTExMTExMTE7XG4gIGNvbG9yOiAjRTZFNUU2O1xufVxuLmFkdmljZS1vcHRpb25zIC5sZWZ0IHAsXG4uYWR2aWNlLW9wdGlvbnMgLnJpZ2h0IHAge1xuICBjb2xvcjogI0U2RTVFNjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjExMTExMTExMTtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xufVxuLmFkdmljZS1vcHRpb25zIC5sZWZ0IC5jb21wYW55LWRldGFpbHMsXG4uYWR2aWNlLW9wdGlvbnMgLnJpZ2h0IC5jb21wYW55LWRldGFpbHMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uYWR2aWNlLW9wdGlvbnMgLnJpZ2h0IHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uYWR2aWNlLW9wdGlvbnMgLmMtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgd2lkdGg6IDIwMHB4O1xufVxuLmFkdmljZS1vcHRpb25zIC5jLWJ1dHRvbiA+IHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLmFkdmljZS1vcHRpb25zIC5jLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMDBweDtcbiAgfVxufVxuXG4uby1ibG9jayB7XG4gIG1hcmdpbi10b3A6IDEwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMCAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxNCAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgfVxufVxuLm8tYmxvY2s6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uby1ibG9jazpmaXJzdC1vZi10eXBlIC5jLXRleHQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAzNTVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYy1ob21lLWhlYWRlci1zdHJlYW1lciArIC5vLWJsb2NrIHtcbiAgICBtYXJnaW46IDEwMHB4IGF1dG87XG4gIH1cbn1cblxuLm8tYmxvY2stYmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQyNXB4KSB7XG4gIC5vLWJsb2NrLWJnIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICB9XG59XG4uby1ibG9jay1iZyA+IGRpdiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5vLWJsb2NrLWJnID4gZGl2IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTAgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5vLWJsb2NrLWJnID4gZGl2IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTQgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIH1cbn1cblxuLm8tYmxvY2stZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMkY4RkE7XG59XG5cbi5vLWJsb2NrLWdyZXktYm9yZGVyLW9uLWdyZXkge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjRjJGOEZBIDAlLCAjRjJGOEZBIDQyJSwgI0U2RUVGMCA0Mi4xJSwgI0U2RUVGMCAxMDAlKTtcbn1cblxuLm8tYmxvY2stZ3JleS1ib3JkZXItZGlhZ29uYWwge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRjJGOEZBIDAlLCAjRjJGOEZBIDcwJSwgI0U2RUVGMCA3MC4xJSwgI0U2RUVGMCAxMDAlKTtcbn1cblxuLm8tYmxvY2stZ3JleS1ib3JkZXItb24td2hpdGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSAwJSwgd2hpdGUgNDIlLCAjRTZFRUYwIDQyLjElLCAjRTZFRUYwIDEwMCUpO1xufVxuXG4uby1ibG9jay13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uby1ibG9jay1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMTM7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5vLWJsb2NrLS1uby1nYXAge1xuICAgIG1hcmdpbi10b3A6IC0xNjBweDtcbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjEycHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuby1jb250YWN0IC5zLWltYWdlIHtcbiAgICB0b3A6IDI1MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MTFweCkge1xuICAuby1jb250YWN0IC5zLWltYWdlIHtcbiAgICB0b3A6IDMwMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MTJweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5vLWNvbnRhY3QgLmMtaW1hZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNTBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjExcHgpIHtcbiAgLm8tY29udGFjdCAuYy1pbWFnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwMHB4O1xuICB9XG59XG5cbi5vLWNvbnRhY3RfX21hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LWhlaWdodDogNTc3cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuby1jb250YWN0X19tYXAge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5vLWNvbnRhY3RfX21hcCB7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgfVxufVxuLm8tY29udGFjdF9fbWFwOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRjJGOEZBIDAsICNGMkY4RkEgNDBweCwgdHJhbnNwYXJlbnQgNDFweCkgMCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm8tY29udGFjdF9fbWFwOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICBsZWZ0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0YyRjhGQSAwLCAjRjJGOEZBIDU5cHgsIHRyYW5zcGFyZW50IDYwcHgpIC0yM3B4IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MXB4KTtcbiAgfVxufVxuLm8tY29udGFjdF9fbWFwIC5nbS1zdHlsZSB7XG4gIHRvcDogMzBweCAhaW1wb3J0YW50O1xufVxuXG4uby1jb250YWN0X19mb3JtIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAxMztcbiAgcGFkZGluZzogNDVweCA4LjMzMzMzMzMzMzMlIDAgOC4zMzMzMzMzMzMzJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm8tY29udGFjdF9fZm9ybSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG59XG4uby1jb250YWN0X19mb3JtOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC02MHB4O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAwO1xuICB3aWR0aDogY2FsYygxMDAlICsgMjVweCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIzAwMDAxMyA2MHB4KSAtMjVweCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG4uby1jb250YWN0X19mb3JtIC5jLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5vLWNvbnRhY3QtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5vLWNvbnRhY3QtY29udGVudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGNhbGMoLTEwMCUgKyA2MHB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHdpZHRoOiAxNTAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDU5cHgsICMwMDAwMTMgNjBweCkgLTM4cHggMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xuICB9XG59XG5cbi5jLWNvbnRhY3QtY29udGVudCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiAzMHB4IDAgODBweCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jLWNvbnRhY3QtY29udGVudCB7XG4gICAgcGFkZGluZzogMzBweCA4LjMzMzMzMzMzMzMlIDgwcHggOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uY29udGFjdC1vcHRpb25zIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDFweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5jb250YWN0LW9wdGlvbnMge1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAvIDEwICogMSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEwICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5OXB4KSB7XG4gIC5jb250YWN0LW9wdGlvbnMge1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuY29udGFjdC1vcHRpb25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbi5jb250YWN0LW9wdGlvbnMgLmxlZnQsXG4uY29udGFjdC1vcHRpb25zIC5yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLmNvbnRhY3Qtb3B0aW9ucyAubGVmdCBzdmcsXG4uY29udGFjdC1vcHRpb25zIC5yaWdodCBzdmcge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogI0FBRDNERjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAuY29udGFjdC1vcHRpb25zIC5sZWZ0IHN2Zyxcbi5jb250YWN0LW9wdGlvbnMgLnJpZ2h0IHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG4uY29udGFjdC1vcHRpb25zIC5sZWZ0IGEsXG4uY29udGFjdC1vcHRpb25zIC5yaWdodCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42MTExMTExMTExO1xuICBjb2xvcjogI0U2RTVFNjtcbn1cbi5jb250YWN0LW9wdGlvbnMgLmxlZnQgcCxcbi5jb250YWN0LW9wdGlvbnMgLnJpZ2h0IHAge1xuICBjb2xvcjogI0U2RTVFNjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjExMTExMTExMTtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xufVxuLmNvbnRhY3Qtb3B0aW9ucyAubGVmdCAuY29tcGFueS1kZXRhaWxzLFxuLmNvbnRhY3Qtb3B0aW9ucyAucmlnaHQgLmNvbXBhbnktZGV0YWlscyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jb250YWN0LW9wdGlvbnMgLnJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NXB4KSB7XG4gIC5jb250YWN0LW9wdGlvbnMgLnJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbi5jb250YWN0LW9wdGlvbnMgLnJpZ2h0IHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uY29udGFjdC1vcHRpb25zIC5jLWJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHdpZHRoOiAyMDBweDtcbn1cbi5jb250YWN0LW9wdGlvbnMgLmMtYnV0dG9uID4gc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuY29udGFjdC1vcHRpb25zIC5jLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMDBweDtcbiAgfVxufVxuXG4uby1jdGEtam9icyB7XG4gIG1hcmdpbi10b3A6IC0xMDBweDtcbn1cblxuLyoqXG4gKiBOT1RFOlxuICogVG8gcHJldmVudCB0aGUgaG9uZXkgcG90IGZyb20gd29ya2luZ1xuICogdGhlIG8tZm9ybSBjYW4ndCBoYXZlIGEgcG9zaXRpb24gcHJvcGVydHkuXG4gKlxuICpcbiAqIE1pbi13aWR0aCBmb3IgZWxlbWVudHNcbiAqIFVzZWQgZm9yIGF1dG9tYXRpYyB3cmFwcGluZyBvZiByb3dzXG4gKi9cbi5vLWZvcm1fX3RpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMzJweDtcbn1cblxuLm8tZm9ybV9fcm93ICsgLm8tZm9ybV9fcm93IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm8tZm9ybV9fcm93LS1zcGxpdCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbn1cbi5vLWZvcm1fX3Jvdy0tc3BsaXQgPiAqIHtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAyMjVweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4uby1mb3JtX19zdWJtaXQge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBib3JkZXItY29sb3I6ICNBQUQzREY7XG4gIGNvbG9yOiAjQUFEM0RGO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLm8tZm9ybV9fc3VibWl0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4uby1vdGhlci1tb2RlbHMge1xuICBwYWRkaW5nOiA4NXB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NTBweCkge1xuICAuby1vdGhlci1tb2RlbHMge1xuICAgIHBhZGRpbmc6IDE3MHB4IDA7XG4gIH1cbn1cblxuLm8tb3RoZXItbW9kZWxzX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5vLW90aGVyLW1vZGVsc19fZ3JpZCA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1MHB4KSB7XG4gIC5vLW90aGVyLW1vZGVsc19fZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAuby1vdGhlci1tb2RlbHNfX2dyaWQgPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk1MHB4KSB7XG4gIC5vLW90aGVyLW1vZGVsc19fZ3JpZCA+ICogKyAqIHtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MHB4KSB7XG4gIC5vLW90aGVyLW1vZGVsc19fZ3JpZCA+ICogKyAqIHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgfVxufVxuXG4uby1vdGhlci1tb2RlbHNfX2l0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MjVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg0OXB4KSB7XG4gIC5vLW90aGVyLW1vZGVsc19faXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NTBweCkge1xuICAuby1vdGhlci1tb2RlbHNfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2MHB4KSAvIDMpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTUwcHgpIHtcbiAgLm8tb3RoZXItbW9kZWxzX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEwMHB4KSAvIDMpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUwcHgpIHtcbiAgLm8tb3RoZXItbW9kZWxzX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDE2MHB4KSAvIDMpO1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudSB7XG4gIHotaW5kZXg6IDYwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDEzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMHZ3KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcywgMjAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzLCA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAuMTUsIDAuMSwgMSksIGxpbmVhcjtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXMsIDBzO1xufVxuLm8tb3ZlcmxheS1tZW51OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMTIwdnc7XG4gIHdpZHRoOiAxMjB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLm8tb3ZlcmxheS1tZW51OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC0yMCU7XG4gIHdpZHRoOiAyMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC04NmRlZywgdHJhbnNwYXJlbnQgNTAlLCAjMDAwMDEzIDUwJSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuby1vdmVybGF5LW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuby1vdmVybGF5LW1lbnVfX2JhciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEwICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuby1vdmVybGF5LW1lbnVfX2JhciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDE0ICogMTIpO1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OTlweCkge1xuICAuby1vdmVybGF5LW1lbnVfX2JhciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEwICogOSk7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX2ltZyB7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm8tb3ZlcmxheS1tZW51X190b2dnbGUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC41dHVybik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX3RvZ2dsZSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19uYXYge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuby1vdmVybGF5LW1lbnVfX25hdiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEwICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuby1vdmVybGF5LW1lbnVfX25hdiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDE0ICogMTIpO1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OTlweCkge1xuICAuby1vdmVybGF5LW1lbnVfX25hdiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEwICogOCk7XG4gIH1cbn1cblxuLm8tb3ZlcmxheS1tZW51X19saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5vLW92ZXJsYXktbWVudV9fbGlzdC5zZXJ2aWNlIHAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLm8tb3ZlcmxheS1tZW51X19saXN0LnNlcnZpY2UgLmMtYnV0dG9uIHtcbiAgY29sb3I6ICNBQUQzREY7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpc3Quc2VydmljZSAuYy1idXR0b24gc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uby1vdmVybGF5LW1lbnVfX2l0ZW0gKyAuby1vdmVybGF5LW1lbnVfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuLm8tb3ZlcmxheS1tZW51X19pdGVtIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uby1vdmVybGF5LW1lbnVfX2l0ZW0gLmMtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjRTZFNUU2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDAuNztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbms6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rLmlzLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm8tcHJvamVjdC1jYXJkcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5vLXByb2plY3QtY2FyZHMuaG9tZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNTlweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogNzZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEzNWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgI0YyRjhGQSA2MHB4KSAtMzhweCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gIH1cbn1cbi5vLXByb2plY3QtY2FyZHMgaDIge1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzAwMDAxMztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkyNHB4KSB7XG4gIC5vLXByb2plY3QtY2FyZHMgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuby1wcm9qZWN0LWNhcmRzIGgyIHtcbiAgICBwYWRkaW5nOiAwIDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi5vLXByb2plY3QtY2FyZHMgLmMtcHJvamVjdC1jYXJkcyB7XG4gIHBhZGRpbmc6IDA7XG59XG4uby1wcm9qZWN0LWNhcmRzIC5jLXByb2plY3QtY2FyZHMgPiAqIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkyNHB4KSB7XG4gIC5vLXByb2plY3QtY2FyZHMgLmMtcHJvamVjdC1jYXJkcyA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MjVweCkge1xuICAuby1wcm9qZWN0LWNhcmRzIC5jLXByb2plY3QtY2FyZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gIH1cbiAgLm8tcHJvamVjdC1jYXJkcyAuYy1wcm9qZWN0LWNhcmRzID4gKiB7XG4gICAgbWFyZ2luOiA2MHB4IDMwcHg7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNjBweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkyNXB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5vLXByb2plY3QtY2FyZHMgLmMtcHJvamVjdC1jYXJkcyA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDMzJSAtIDYwcHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MjVweCkgYW5kIChtYXgtd2lkdGg6IDE0MjRweCkge1xuICAuby1wcm9qZWN0LWNhcmRzIC5jLXByb2plY3QtY2FyZHMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuby1wcm9qZWN0LWNhcmRzIC5jLXByb2plY3QtY2FyZHMgPiAqOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDI1cHgpIHtcbiAgLm8tcHJvamVjdC1jYXJkcyAuYy1wcm9qZWN0LWNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMjc0cHg7XG4gIH1cbn1cblxuLm8tcHJvamVjdC1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm8tcHJvamVjdC1ncmlkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEwMHB4O1xuICAgIHJpZ2h0OiBjYWxjKC0xMDAlICsgNjBweCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogMTUwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCAjMDAwMDEzIDYwcHgpIC0zOHB4IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgfVxufVxuLm8tcHJvamVjdC1ncmlkIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuby1wcm9qZWN0LWdyaWQgaDIge1xuICAgIHBhZGRpbmc6IDAgOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1yZWZlcmVuY2VzLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuby1yZWZlcmVuY2VzLXRleHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTAwcHg7XG4gICAgbGVmdDogY2FsYygtMTAwJSArIDYwcHgpO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDE1MCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIzAwMDAxMyA2MHB4KSAtMzhweCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gIH1cbn1cblxuLm8tc3Rvcmllc19faGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTIuNSU7XG59XG5cbi5vLXN0b3JpZXNfX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDguMzMzJTtcbn1cblxuLm8tc2VydmljZXNfZ3JpZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuby1zZXJ2aWNlc19ncmlkIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5vLXNlcnZpY2VzX2dyaWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTAwcHg7XG4gICAgbGVmdDogY2FsYygtMTAwJSArIDYwcHgpO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDE1MCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIzAwMDAxMyA2MHB4KSAtMzhweCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gIH1cbn1cbi5vLXNlcnZpY2VzX2dyaWQgaDIge1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzAwMDAxMztcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuLm8tdGVhbS1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm8tdGVhbS1ncmlkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE1OXB4O1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNjNweCk7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogNjNweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCAjRjJGOEZBIDYwcHgpIC0yNXB4IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgfVxufVxuXG4uby10cmlwbGUtdGV4dCB7XG4gIGNvbG9yOiAjMDAwMDEzO1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcbn1cbi5vLXRyaXBsZS10ZXh0IGgyIHtcbiAgY29sb3I6ICMwMDAwMTM7XG4gIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm8tdHJpcGxlLXRleHQgaDIge1xuICAgIHBhZGRpbmc6IDAgOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLm8tdHJpcGxlLXRleHQgLmMtdHJpcGxlLXRleHQge1xuICBwYWRkaW5nOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5vLXRyaXBsZS10ZXh0IC5jLXRyaXBsZS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwIDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi5vLXRyaXBsZS10ZXh0IC5zLXRleHQge1xuICBwYWRkaW5nOiAwIDEwcHggMCA2MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uby10cmlwbGUtdGV4dCAucy10ZXh0IC5pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGNvbG9yOiAjNDQ1MTk5O1xufVxuLm8tdHJpcGxlLXRleHQgLnMtdGV4dCAuaWNvbiBzdmcge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuLm8tdHJpcGxlLXRleHQgLnMtdGV4dCBoNCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5vLXZhY2FuY2llcy1jb250ZW50ICNjb21wb25lbnQtaXRlbS0tMSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogdW5zZXQ7XG59XG4uby12YWNhbmNpZXMtY29udGVudCAjY29tcG9uZW50LWl0ZW0tLTEgPiBkaXYge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuby12YWNhbmNpZXMtY29udGVudCAjY29tcG9uZW50LWl0ZW0tLTEgPiBkaXYge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMCAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm8tdmFjYW5jaWVzLWNvbnRlbnQgI2NvbXBvbmVudC1pdGVtLS0xID4gZGl2IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTQgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5vLXZhY2FuY2llcy1jb250ZW50ICNjb21wb25lbnQtaXRlbS0tMSAuYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1jb3JuZXJzLmwtYmlzZWN0aW9uLS1yZXZlcnNlZCAucy10ZXh0IHtcbiAgICBwYWRkaW5nOiA2MHB4IDQuMTY2NjY2NjY2NyUgNjBweCAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm8tdmFjYW5jaWVzLWNvbnRlbnQgI2NvbXBvbmVudC1pdGVtLS0xIC5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLWNvcm5lcnMubC1iaXNlY3Rpb24tLXJldmVyc2VkIC5zLXRleHQge1xuICAgIHBhZGRpbmc6IDYwcHggNC4xNjY2NjY2NjY3JSA2MHB4IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuby12YWNhbmNpZXMtY29udGVudCAjY29tcG9uZW50LWl0ZW0tLTEgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tY29ybmVycy5sLWJpc2VjdGlvbi0tcmV2ZXJzZWQgLnMtaW1hZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuby12YWNhbmNpZXMtY29udGVudCAjY29tcG9uZW50LWl0ZW0tLTEgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tY29ybmVycy5sLWJpc2VjdGlvbi0tcmV2ZXJzZWQgLnMtaW1hZ2U6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuby12YWNhbmNpZXMtY29udGVudCAjY29tcG9uZW50LWl0ZW0tLTEgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tY29ybmVycy5sLWJpc2VjdGlvbi0tcmV2ZXJzZWQgLnMtaW1hZ2U6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgd2hpdGUgMCwgd2hpdGUgNTlweCwgdHJhbnNwYXJlbnQgNjBweCkgLTI1cHggMDtcbiAgfVxufVxuLm8tdmFjYW5jaWVzLWNvbnRlbnQgLmNvbXBvbmVudHMtY29udGVudCB7XG4gIGNvbG9yOiBibGFjaztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuby12YWNhbmNpZXMtY29udGVudCAuY29tcG9uZW50cy1jb250ZW50ID4gI2NvbXBvbmVudC1pdGVtLTEgPiAubC1iaXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLm8tdmFjYW5jaWVzLWNvbnRlbnQgLmNvbXBvbmVudHMtY29udGVudCAucy10ZXh0IGg0IHtcbiAgY29sb3I6ICNBQUQzREY7XG59XG4uby12YWNhbmNpZXMtY29udGVudCAuY29tcG9uZW50cy1jb250ZW50IC5zLXRleHQgc3Ryb25nIHtcbiAgY29sb3I6ICNBQUQzREY7XG59XG4uby12YWNhbmNpZXMtY29udGVudCAuY29tcG9uZW50cy1jb250ZW50IC5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkgPiBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uby12YWNhbmNpZXMtY29udGVudCAuY29tcG9uZW50cy1jb250ZW50IC5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkgPiBsaTpiZWZvcmUge1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5vLXZhY2FuY2llc19ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIG1hcmdpbi1ib3R0b206IC00MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm8tdmFjYW5jaWVzX2dyaWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTAwcHg7XG4gICAgbGVmdDogY2FsYygtMTAwJSArIDYwcHgpO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDE1MCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIzAwMDAxMyA2MHB4KSAtMzhweCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gIH1cbn1cbi5vLXZhY2FuY2llc19ncmlkIGgyIHtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMTM7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5vLXZhY2FuY2llc19ncmlkIGgyIHtcbiAgICBwYWRkaW5nOiAwIDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLyogIDcgLSBUZW1wbGF0ZXNcbiAqICBPdmVycmlkZSBzdHlsaW5nIGZvciBhIHNwZWNpZmljIHRlbXBsYXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGVtcGxhdGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiNob21lIC5mdWxsLXdpZHRoLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDU4MHB4O1xuICBtYXgtaGVpZ2h0OiA4MTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogLTIwMHB4O1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgI2hvbWUgLmZ1bGwtd2lkdGgtaW1hZ2U6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgI2hvbWUgLmZ1bGwtd2lkdGgtaW1hZ2Uge1xuICAgIGhlaWdodDogY2FsYygyOXZ3ICsgMTkycHgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cbiNob21lIC5mdWxsLXdpZHRoLWltYWdlOmJlZm9yZSwgI2hvbWUgLmZ1bGwtd2lkdGgtaW1hZ2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuI2hvbWUgLmZ1bGwtd2lkdGgtaW1hZ2U6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwMDAwMTMgMCUsIHJnYmEoMCwgMCwgMTksIDApIDEwJSwgcmdiYSgwLCAwLCAxOSwgMCkgOTAlLCAjMDAwMDEzIDEwMCUpO1xufVxuI2hvbWUgLmZ1bGwtd2lkdGgtaW1hZ2U6YmVmb3JlIHtcbiAgaGVpZ2h0OiA2MCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMCwgMTksIDApIDAlLCByZ2JhKDAsIDAsIDE5LCAwLjkpIDgwJSwgIzAwMDAxMyAxMDAlKTtcbn1cbiNob21lIC5mdWxsLXdpZHRoLWltYWdlLmlzLW1vYmlsZSAuZnVsbC13aWR0aC1pbWFnZV9fdmlkZW8ge1xuICBwYWRkaW5nLWJvdHRvbTogODUlO1xufVxuI2hvbWUgLmZ1bGwtd2lkdGgtaW1hZ2UuaXMtbW9iaWxlIC5mdWxsLXdpZHRoLWltYWdlX192aWRlbyBpZnJhbWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2hvbWUgLmZ1bGwtd2lkdGgtaW1hZ2VfX3ZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygoMzYwIC8gNjQwKSAqIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2hvbWUtc3BsYXNoLTQyNS5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ3NXB4KSB7XG4gICNob21lIC5mdWxsLXdpZHRoLWltYWdlX192aWRlbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9ob21lLXNwbGFzaC03NzAuanBnXCIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MjBweCkge1xuICAjaG9tZSAuZnVsbC13aWR0aC1pbWFnZV9fdmlkZW8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaG9tZS1zcGxhc2gtMTAwMC5qcGdcIik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAjaG9tZSAuZnVsbC13aWR0aC1pbWFnZV9fdmlkZW8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaG9tZS1zcGxhc2guanBnXCIpO1xuICB9XG59XG4jaG9tZSAuZnVsbC13aWR0aC1pbWFnZV9fdmlkZW8gaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG59XG4jaG9tZSAuZnVsbC13aWR0aC1pbWFnZV9fdmlkZW8gaWZyYW1lLmlzLXJ1bm5pbmcge1xuICBvcGFjaXR5OiAxO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgI2hvbWUgLmZ1bGwtd2lkdGgtaW1hZ2VfX3ZpZGVvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA2MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAxOSwgMCkgMCUsIHJnYmEoMCwgMCwgMTksIDAuOSkgODAlLCAjMDAwMDEzIDEwMCUpO1xuICB9XG59XG4jaG9tZSAuYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1yZXZlcnNlZC5sLWJpc2VjdGlvbi0tY29ybmVycyB7XG4gIHBhZGRpbmctdG9wOiA5MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgI2hvbWUgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tcmV2ZXJzZWQubC1iaXNlY3Rpb24tLWNvcm5lcnMge1xuICAgIHdpZHRoOiAxMDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICNob21lIC5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLXJldmVyc2VkLmwtYmlzZWN0aW9uLS1jb3JuZXJzIC5zLXRleHQge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbiNob21lIC5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLXJldmVyc2VkLmwtYmlzZWN0aW9uLS1jb3JuZXJzIC5zLXRleHQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC02MHB4O1xuICBsZWZ0OiAtNTAlO1xuICB3aWR0aDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9ob21lLXRleHQtaW1hZ2UtbGVmdC10cmlhbmdsZS5zdmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OTlweCkge1xuICAjaG9tZSAuYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1yZXZlcnNlZC5sLWJpc2VjdGlvbi0tY29ybmVycyAucy10ZXh0OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4jaG9tZSAuYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1yZXZlcnNlZC5sLWJpc2VjdGlvbi0tY29ybmVycyAucy1pbWFnZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgbGVmdDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgI2hvbWUgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tcmV2ZXJzZWQubC1iaXNlY3Rpb24tLWNvcm5lcnMgLnMtaW1hZ2Uge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NnB4KTtcbiAgICBsZWZ0OiAtNHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAjaG9tZSAuYy10ZXh0LWltYWdlLmwtYmlzZWN0aW9uLS1yZXZlcnNlZC5sLWJpc2VjdGlvbi0tY29ybmVycyAucy1pbWFnZSB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuI3Byb2plY3RzIC5wcm9qZWN0LXNob3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4jcHJvamVjdHMgLnByb2plY3Qtc2hvdyAuYy1zbGlkZS1wcm9qZWN0b3IsXG4jcHJvamVjdHMgLnByb2plY3Qtc2hvdyAuYy1zbGlkZS1wcm9qZWN0b3JfX3RyYXksXG4jcHJvamVjdHMgLnByb2plY3Qtc2hvdyAuYy1zbGlkZS1wcm9qZWN0b3JfX3NsaWRlLFxuI3Byb2plY3RzIC5wcm9qZWN0LXNob3cgLmMtc2xpZGUtcHJvamVjdG9yX19pbWcsXG4jcHJvamVjdHMgLnByb2plY3Qtc2hvdyAuYy1pbWFnZSB7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDcwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICNwcm9qZWN0cyAucHJvamVjdC1zaG93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKC0xMDAlICsgNjBweCk7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogMTUwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCAjMDAwMDEzIDYwcHgpIC0zOHB4IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgfVxufVxuI3Byb2plY3RzIC5wcm9qZWN0LXNob3cgLmMtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbn1cblxuLnNpbXBsZXBhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnNpbXBsZXBhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGNhbGMoIDUwJSAtICg1MHZ3ICsgOHB4KSApO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLnNpbXBsZXBhZ2UgaDEsIC5zaW1wbGVwYWdlIGgyLCAuc2ltcGxlcGFnZSBoMywgLnNpbXBsZXBhZ2UgaDQsIC5zaW1wbGVwYWdlIGg1LCAuc2ltcGxlcGFnZSBmb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogIzAwMDAxMztcbn1cbi5zaW1wbGVwYWdlIGZvcm0ge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zaW1wbGVwYWdlIGZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuLnNpbXBsZXBhZ2UgcCwgLnNpbXBsZXBhZ2UgdWwge1xuICBtYXJnaW46IDFlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjNmI3YzkzO1xufVxuLnNpbXBsZXBhZ2UgcC5jLWZvcm0tZWxlbWVudF9fZXJyb3IsIC5zaW1wbGVwYWdlIHVsLmMtZm9ybS1lbGVtZW50X19lcnJvciB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5zaW1wbGVwYWdlIGEge1xuICBjb2xvcjogIzQ0NTE5OTtcbn1cblxuLyogIDggLSBTQ09QRVNcbiAqICBFbGVtZW50cyBhbmQgY2xhc3NlcyB0aGF0IGFyZSBzY29wZWQgYnkgYSBwYXJlbnQgY2xhc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnMtY2hlY2tsaXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ucy1jaGVja2xpc3QgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbi5zLWNoZWNrbGlzdCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuLnMtY2hlY2tsaXN0IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jaGVjay9jaGVja2VkLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcbn1cbi5jaGVja2xpc3QtaGFzLXgtc21hbGwtZm9udCAucy1jaGVja2xpc3Qge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuLmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250IC5zLWNoZWNrbGlzdCBsaTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG59XG5cbi8qKlxuICogQWxsIHRleHQgZWxlbWVudHMgdGhhdCBjYW4gYmUgYWRkZWQgYnkgdGhlIHVzZXIgdGhyb3VnaCBhIENNU1xuICovXG4ucy10ZXh0ID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG4ucy10ZXh0ID4gaDEsIC5zLXRleHQgPiBoMiwgLnMtdGV4dCA+IGgzLCAucy10ZXh0ID4gaDQsIC5zLXRleHQgPiBoNSwgLnMtdGV4dCA+IGg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG4gIHBhZGRpbmctbGVmdDogMS4xMjVlbTtcbn1cbi5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigKJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDZweDtcbiAgbGVmdDogMDtcbiAgZm9udC1zaXplOiAxLjY1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogIzZiN2M5Mztcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSA+IGxpIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuOGVtO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSA+IGxpOjpiZWZvcmUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbnRlbnQ6IGNvdW50ZXIob2wtY291bnRlcikgXCIuIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMS4yNzVlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi8qICA5IC0gVVRJTElUSUVTXG4gKiAgSGlnaC1zcGVjaWZpY2l0eSwgdmVyeSBleHBsaWNpdCBzZWxlY3RvcnMuXG4gKiAgT3ZlcnJpZGVzIGFuZCBoZWxwZXIgY2xhc3Nlcy5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgY29sb3JzXG4gKiBCYXNlZCBvbiB0aGVzZSBhcnRpY2xlczpcbiAqIC0gaHR0cDovL2Vyc2tpbmVkZXNpZ24uY29tL2Jsb2cvZnJpZW5kbGllci1jb2xvdXItbmFtZXMtc2Fzcy1tYXBzL1xuICogLSBodHRwczovL2Jsb2cuYXRlY2htZWRpYS5jb20vY3NzLWZvci1tdWx0aXBsZS10aGVtZXMvXG4gKiBPdXRwdXQgaXMgaW4gdGhlIGZvcm0gb2Y6XG5cbiAgIC51LWNvbG9yLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNiYWRhNTU7XG4gICB9XG5cbiAgLnUtYmctbmV1dHJhbC0tZGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlY2FmZjtcbiAgfVxuICovXG4udS1jb2xvci1wcmltYXJ5LS0xMDAge1xuICBjb2xvcjogI2ZmZjRlNjtcbn1cblxuLnUtYmctcHJpbWFyeS0tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjRlNjtcbn1cblxuLnUtY29sb3ItcHJpbWFyeS0tNDAwIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi51LWJnLXByaW1hcnktLTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk5OTk7XG59XG5cbi51LWNvbG9yLXByaW1hcnkge1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxuLnUtYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjY7XG59XG5cbi51LWNvbG9yLXNlY29uZGFyeS0tMjAge1xuICBjb2xvcjogI0YyRjhGRjtcbn1cblxuLnUtYmctc2Vjb25kYXJ5LS0yMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMkY4RkY7XG59XG5cbi51LWNvbG9yLXNlY29uZGFyeS0tMTAwIHtcbiAgY29sb3I6ICNGMkY4RkE7XG59XG5cbi51LWJnLXNlY29uZGFyeS0tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjhGQTtcbn1cblxuLnUtY29sb3Itc2Vjb25kYXJ5LS0yMDAge1xuICBjb2xvcjogI0U2RUVGMDtcbn1cblxuLnUtYmctc2Vjb25kYXJ5LS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTZFRUYwO1xufVxuXG4udS1jb2xvci1zZWNvbmRhcnktLTMwMCB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1iZy1zZWNvbmRhcnktLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk5OTk7XG59XG5cbi51LWNvbG9yLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuXG4udS1iZy1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2O1xufVxuXG4udS1jb2xvci1zZWNvbmRhcnktLTYwMCB7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG4udS1iZy1zZWNvbmRhcnktLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwge1xuICBjb2xvcjogI2Y3ZjlmYjtcbn1cblxuLnUtYmctbmV1dHJhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y5ZmI7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTEwMCB7XG4gIGNvbG9yOiAjZTllYmY1O1xufVxuXG4udS1iZy1uZXV0cmFsLS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllYmY1O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0yMDAge1xuICBjb2xvcjogI2NjZDJkYjtcbn1cblxuLnUtYmctbmV1dHJhbC0tMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjZDJkYjtcbn1cblxuLnUtY29sb3ItdGV4dCB7XG4gIGNvbG9yOiAjMzg0YTY2O1xufVxuXG4udS1iZy10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NGE2Njtcbn1cblxuLnUtY29sb3ItdGV4dC0tNDAwIHtcbiAgY29sb3I6ICM0NDUxOTk7XG59XG5cbi51LWJnLXRleHQtLTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDUxOTk7XG59XG5cbi51LWNvbG9yLXRleHQtLTMwMCB7XG4gIGNvbG9yOiAjNmI3YzkzO1xufVxuXG4udS1iZy10ZXh0LS0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmI3YzkzO1xufVxuXG4udS1jb2xvci10ZXh0LS0yMDAge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLnUtYmctdGV4dC0tMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbn1cblxuLnUtY29sb3ItdGV4dC0tMTAwIHtcbiAgY29sb3I6ICNFNkU1RTY7XG59XG5cbi51LWJnLXRleHQtLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFNkU1RTY7XG59XG5cbi51LWNvbG9yLWFjdGlvbiB7XG4gIGNvbG9yOiAjQUFEM0RGO1xufVxuXG4udS1iZy1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUFEM0RGO1xufVxuXG4udS1jb2xvci13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmQzM2E7XG59XG5cbi51LWJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkMzNhO1xufVxuXG4udS1jb2xvci1hbGVydCB7XG4gIGNvbG9yOiAjZmY4MTAwO1xufVxuXG4udS1iZy1hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjgxMDA7XG59XG5cbi51LWNvbG9yLW5lZ2F0aXZlIHtcbiAgY29sb3I6ICNjZjNlM2U7XG59XG5cbi51LWJnLW5lZ2F0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmM2UzZTtcbn1cblxuLnUtY29sb3ItcG9zaXRpdmUge1xuICBjb2xvcjogIzNlY2Y4ZTtcbn1cblxuLnUtYmctcG9zaXRpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2VjZjhlO1xufVxuXG4udS1jb2xvci1saWdodCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4udS1iZy1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi51LWNvbG9yLWRhcmsge1xuICBjb2xvcjogIzAwMDAxMztcbn1cblxuLnUtYmctZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMTM7XG59XG5cbi51LW93bCA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMS41NTU1NTU1NTU2cmVtO1xufVxuXG4udS1ib3gtc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggLTEwcHggcmdiYSg1NiwgNzQsIDEwMiwgMC4yKTtcbn1cblxuLnUtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udS12aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCgxMDAlKTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnUtbWFyZ2luLWF1dG8ge1xuICBtYXJnaW46IGF1dG87XG59XG5cbi51LW1heC13aWR0aC0xMDAwIHtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG59XG5cbi51LW1heC13aWR0aC03MjAge1xuICBtYXgtd2lkdGg6IDcyMHB4O1xufVxuXG4udS1tYXgtd2lkdGgtMzYwIHtcbiAgbWF4LXdpZHRoOiAzNjBweDtcbn1cblxuLnUtc3BhY2luZy1tYi02MCB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi51LXNwYWNpbmctbXQtNjAge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuXG4udS1zcGFjaW5nLW1iLTMwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnUtc3BhY2luZy1tdC0zMCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKlxuKiBJZiB5b3UgbmVlZCB0byBtYWtlIGEgcXVpY2sgZml4LCB5b3UgY2FuIGRvIGl0IGhlcmUuXG4qIExhdGVyIHdoZW4geW91IGhhdmUgdGhlIHRpbWUsIHlvdSBjYW4gbW92ZSB0aGUgZml4IGludG8gdGhlIGNvcnJlY3QgcGxhY2UgaW4gdGhlIHN0cnVjdHVyZVxuKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAqIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAqIFNldCBmbGFnICdzaG93R3JpZCcgdG8gdHJ1ZSBpbiBzaXRlLnBocFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51LXZpc2libGUtZ3JpZCB7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDI1NSwgMjU1LCAwLjQpLCByZ2JhKDAsIDI1NSwgMjU1LCAwLjQpIDguMzMzMzMzMzMzMyUsIHJnYmEoMCwgMjU1LCAyNTUsIDAuMjUpIDguMzMzMzMzMzMzMyUsIHJnYmEoMCwgMjU1LCAyNTUsIDAuMjUpIDE2LjY2NjY2NjY2NjclKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEwICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudS12aXNpYmxlLWdyaWRfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxNCAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgfVxufSIsIi8qKlxuICogRGVmaW5lIGJyZWFrcG9pbnQgZm9yIGdpdmVuIGZvcm1hdHMgKGluIHB4KVxuICovXG5cbiRicmVha3BvaW50czogKFxuICAgICAgICBzOiA0MDAsXG4gICAgICAgIG06IDgwMCxcbiAgICAgICAgbDogMTIwMFxuKTsiLCIvKipcbiAqICBHbG9iYWwgY29sb3IgdmFyaWFibGVzLlxuICpcdFRoZSB1bmRlcnNjb3JlIHByZWZpeCBtZWFucyB3ZSBuZXZlciB1c2UgdGhlbSBkaXJlY3RseSBpbiB0aGUgc3R5bGVzLCBvbmx5IGZvciBmdW5jdGlvbnMgYW5kIG1peGlucy5cbiAqL1xuXG4kX2NvbG9yLXByaW1hcnktMTAwOiAgICAjZmZmNGU2ICFkZWZhdWx0O1xuJF9jb2xvci1wcmltYXJ5LTQwMDogICAgIzk5OTk5OSAhZGVmYXVsdDtcbiRfY29sb3ItcHJpbWFyeS01MDA6ICAgICM2NjY2NjYgIWRlZmF1bHQ7XG5cbiRfY29sb3Itc2Vjb25kYXJ5LTIwOlx0I0YyRjhGRiAhZGVmYXVsdDtcbiRfY29sb3Itc2Vjb25kYXJ5LTEwMDogICNGMkY4RkEgIWRlZmF1bHQ7XG4kX2NvbG9yLXNlY29uZGFyeS0yMDA6XHQjRTZFRUYwICFkZWZhdWx0O1xuJF9jb2xvci1zZWNvbmRhcnktMzAwOlx0Izk5OTk5OSAhZGVmYXVsdDtcbiRfY29sb3Itc2Vjb25kYXJ5LTUwMDogICM2NjY2NjYgIWRlZmF1bHQ7XG4kX2NvbG9yLXNlY29uZGFyeS02MDA6ICAjMzMzMzMzICFkZWZhdWx0O1xuXG4kX2NvbG9yLW5ldXRyYWwtNTA6ICAgICAjZjdmOWZiICFkZWZhdWx0O1xuJF9jb2xvci1uZXV0cmFsLTEwMDogICAgI2U5ZWJmNSAhZGVmYXVsdDtcbiRfY29sb3ItbmV1dHJhbC0yMDA6ICAgICNjY2QyZGIgIWRlZmF1bHQ7XG5cbiRfY29sb3ItdGV4dC01MDA6ICAgICAgICMzODRhNjYgIWRlZmF1bHQ7XG4kX2NvbG9yLXRleHQtNDAwOiAgICAgICAjNDQ1MTk5ICFkZWZhdWx0O1xuJF9jb2xvci10ZXh0LTMwMDogICAgICAgIzZiN2M5MyAhZGVmYXVsdDtcbiRfY29sb3ItdGV4dC0yMDA6ICAgICAgICM5OTk5OTkgIWRlZmF1bHQ7XG4kX2NvbG9yLXRleHQtMTAwOiAgICAgICAjRTZFNUU2ICFkZWZhdWx0O1xuXG4kX2NvbG9yLWFjdGlvbjogICAgICAgICAjQUFEM0RGICFkZWZhdWx0O1xuJF9jb2xvci13YXJuaW5nOiAgICAgICBcdCNmZmQzM2EgIWRlZmF1bHQ7XG4kX2NvbG9yLWFsZXJ0OiAgICAgICBcdCNmZjgxMDAgIWRlZmF1bHQ7XG4kX2NvbG9yLW5lZ2F0aXZlOiAgICAgICAjY2YzZTNlICFkZWZhdWx0O1xuJF9jb2xvci1wb3NpdGl2ZTogICAgICAgIzNlY2Y4ZSAhZGVmYXVsdDtcblxuJF9jb2xvci1saWdodDogICAgICAgICAgI2ZmZmZmZiAhZGVmYXVsdDtcbiRfY29sb3ItZGFyazogICAgICAgICAgICMwMDAwMTMgIWRlZmF1bHQ7XG5cblxuXG4vLyBUaGVzZSB3ZSBjYW4gdXNlIGRpcmVjdGx5IGluIG91ciBjb21wb25lbnRzXG4kYm94LXNoYWRvdy1jb2xvcjogcmdiYSgkX2NvbG9yLXRleHQtNTAwLCAwLjIpO1xuXG5cbi8qKlxuICogIE9yZ2FuaXplIGNvbG9yIHZhcmlhYmxlcyBpbiBhIFNhc3MgTWFwLlxuICogIFRoaXMgd2F5LCB0aGUgY29sb3JzIGNhbiBiZSBpdGVyYXRlZCwgYXJlIG1vcmUgb3JnYW5pemVkLCBhbmQgYXJlIG1vcmUgaW50dWl0aXZlIHRvIHJlZmVyZW5jZS5cbiAqL1xuJHBhbGV0dGVzOiAoXG4gICdwcmltYXJ5JzogKFxuXHQxMDA6ICAgICAgICAgICAgICAgICRfY29sb3ItcHJpbWFyeS0xMDAsXG5cdDQwMDogICAgICAgICAgICAgICAgJF9jb2xvci1wcmltYXJ5LTQwMCxcblx0YmFzZTogICAgICAgICAgICAgICAkX2NvbG9yLXByaW1hcnktNTAwLFxuICApLFxuICAnc2Vjb25kYXJ5JzogKFxuXHQyMDogICAgICAgICAgICAgICAgICRfY29sb3Itc2Vjb25kYXJ5LTIwLFxuXHQxMDA6ICAgICAgICAgICAgICAgICRfY29sb3Itc2Vjb25kYXJ5LTEwMCxcblx0MjAwOiAgICAgICAgICAgICAgICAkX2NvbG9yLXNlY29uZGFyeS0yMDAsXG5cdDMwMDogICAgICAgICAgICAgICAgJF9jb2xvci1zZWNvbmRhcnktMzAwLFxuXHRiYXNlOiAgICAgICAgICAgICAgICRfY29sb3Itc2Vjb25kYXJ5LTUwMCxcblx0NjAwOiAgICAgICAgICAgICAgICAkX2NvbG9yLXNlY29uZGFyeS02MDAsXG4gICksXG4gICduZXV0cmFsJzogKFxuXHRiYXNlOiAgICAgICAgICAgICAgICRfY29sb3ItbmV1dHJhbC01MCxcblx0MTAwOiAgICAgICAgICAgICAgICAkX2NvbG9yLW5ldXRyYWwtMTAwLFxuXHQyMDA6ICAgICAgICAgICAgICAgICRfY29sb3ItbmV1dHJhbC0yMDAsXG4gICksXG4gICd0ZXh0JzogKFxuXHRiYXNlOiAgICAgICAgICAgICAgICRfY29sb3ItdGV4dC01MDAsXG5cdDQwMDogICAgICAgICAgICAgICBcdCRfY29sb3ItdGV4dC00MDAsXG5cdDMwMDogICAgICAgICAgICAgICAgJF9jb2xvci10ZXh0LTMwMCxcblx0MjAwOiAgICAgICAgICAgICAgICAkX2NvbG9yLXRleHQtMjAwLFxuXHQxMDA6ICAgICAgICAgICAgICAgICRfY29sb3ItdGV4dC0xMDAsXG4gICksXG4gICdhY3Rpb24nOiAoXG5cdGJhc2U6ICAgICAgICAgICAgICAgJF9jb2xvci1hY3Rpb24sXG4gICksXG4gICd3YXJuaW5nJzogKFxuXHRiYXNlOiAgICAgICAgICAgICAgICRfY29sb3Itd2FybmluZyxcbiAgKSxcbiAgJ2FsZXJ0JzogKFxuXHRiYXNlOiAgICAgICAgICAgICAgICRfY29sb3ItYWxlcnQsXG4gICksXG4gICduZWdhdGl2ZSc6IChcblx0YmFzZTogICAgICAgICAgICAgICAkX2NvbG9yLW5lZ2F0aXZlLFxuICApLFxuICAncG9zaXRpdmUnOiAoXG5cdGJhc2U6ICAgICAgICAgICAgICAgJF9jb2xvci1wb3NpdGl2ZSxcbiAgKSxcbiAgJ2xpZ2h0JzogKFxuXHRiYXNlOiAgICAgICAgICAgICAgICRfY29sb3ItbGlnaHQsXG4gICksXG4gICdkYXJrJzogKFxuXHRiYXNlOiAgICAgICAgICAgICAgICRfY29sb3ItZGFyayxcbiAgKSxcbik7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbmZpZyBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJG92ZXJsYXktbWVudTogXHRcdFx0ICAgIDkwMDsgLy8gQXQgdGhpcyB3aWR0aCB0aGUgbW9iaWxlIG1lbnUgZW5kcyBhbmQgd2UgY2FuIGZpdCBpbiBhIGhvcml6b250YWwgbWVudVxuXG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogXHRcdDRweDtcbiRib3JkZXItcmFkaXVzLW1lZGl1bTogXHRcdDhweDtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiBcdFx0MTZweDtcblxuJHRhYmxldC1jb2x1bW5zOlx0XHRcdDg7XG4kc2l0ZS1jb2x1bW5zOiBcdFx0XHRcdDEyO1xuJHNpdGUtbWF4LXdpZHRoOlx0XHRcdDE0NDBweDtcbiRzaXRlLWd1dHRlci13aWR0aDogXHRcdDIwcHg7IC8vIFVzZWQgb25seSBmb3Igc21hbGwgc2NyZWVucy4gTXVzdCBiZSBbdnddIG9yIFtweF0sIE5PVCBbJV0uXG4iLCIvKipcbiAqIDEuXHRNYXhpbXVtIElOTkVSIHdpZHRoIG9mIHRoZSBzaXRlIHNldCBpbiBwaXhlbHNcbiAqXG4gKiAyLiBcdFVzZSBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHZpZXdwb3J0IGZvciB0aGUgc2lkZSBndXR0ZXIgdG8gc2NhbGUgaXQgcHJvcG9ydGlvbmFsbHlcbiAqICAgIFx0TWFrZSBzdXJlIHRoaXMgaXMgbm90IHRvIHNtYWxsIHNvIHlvdSBoYXZlIHNvbWUgd2hpdGUgc3BhY2UgYmV0d2VlbiB0aGUgZWRnZSBhbmQgdGhlIHRleHQsXG4gKiAgICBcdGJ1dCBub3QgdG8gYmlnIGFsc28sIG90aGVyd2lzZSB5b3UgbG9zZSB2YWx1YWJsZSByZWFsIGVzdGF0ZVxuICovXG5cbiRncmlkLW1heC13aWR0aDogICAgICBcdFx0XHQkc2l0ZS1tYXgtd2lkdGg7IFx0LyogMSAqL1xuJGdyaWQtY29sdW1uLWNvdW50OiAgIFx0XHRcdCRzaXRlLWNvbHVtbnM7XG4kZ3JpZC1ndXR0ZXI6ICAgICAgICAgXHRcdFx0NCU7IFx0XHQvKiAyICovXG4kZ3JpZC1jb2x1bW4td2lkdGgtcHg6ICAgXHRcdCgkZ3JpZC1tYXgtd2lkdGggLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuJGdyaWQtY29sdW1uLXdpZHRoLXBlcmNlbnRhZ2U6IFx0cGVyY2VudGFnZSgoJGdyaWQtbWF4LXdpZHRoLyRncmlkLWNvbHVtbi1jb3VudCkvJGdyaWQtbWF4LXdpZHRoKTtcblxuXG5cbi8vIFNvbWUgdmFyaWFibGVzIGZvciBjYWxjdWxhdGluZyB0aGUgZ3JpZCB3aXRoIGV4dHJhIGhhbHZlIGNvbHVtbnMgZm9yIHNldHRpbmcgYSBjb25zdHJhaW5lZCBhcmVhXG4vLyBGaXJzdCBhbmQgbGFzdCBjb2x1bW4gYXJlIHNwbGl0IGluIDIgYW5kIHRoZSByZXN0IGlzIGEgZnVsbCBjb2x1bW5cbi8vXG4vLyAgLS0gR3V0dGVyIC0tICB8ICAxICAgfCAgIDIgICB8ICAgMyAgIHwgICA0ICAgfCAgIDUgICB8ICAgNiAgIHwgICA3ICAgfCAgIDggICB8ICAgOSAgIHwgICAxMCAgIHwgICAxMiAgIHwgIC0tIEd1dHRlciAtLVxuXG4kZ3JpZC1tYWluOlx0ICAgICAgICAgICAgICAgICAgICByZXBlYXQoJGdyaWQtY29sdW1uLWNvdW50LCBtaW5tYXgoMCwgI3skZ3JpZC1jb2x1bW4td2lkdGgtcHh9KSk7XG5cblxuLy8gXCJTcGxpdFwiIGNvbHVtbnMsIGhhbHZlIHRoZSBzaXplLCBkb3VibGUgdGhlIG51bWJlciBvZiBjb2x1bW5zXG4vLyDigJYgMWEgfCAxYiDigJYgMmEgfCAyYiDigJYgM2EgfCAzYiDigJYgNGEgfCA0YiDigJYgNWEgfCA1YiDigJYgNmEgfCA2YiDigJYgN2EgfCA3YiDigJYgOGEgfCA4YiDigJYgOWEgfCA5YiDigJYgMTBhIHwgMTBiIOKAliAxMWEgfCAxMWIg4oCWIDEyYSB8IDEyYiDigJZcblxuJGdyaWQtbWFpbi0tc3BsaXQtY29sdW1uczpcdCAgICByZXBlYXQoI3skZ3JpZC1jb2x1bW4tY291bnQgKiAyfSwgbWlubWF4KDAsICN7JGdyaWQtY29sdW1uLXdpZHRoLXB4IC8gMn0pKTsgLy8gRG91YmxlIG51bWJlciBvZiBjb2x1bW5zLCBoYWx2ZSB0aGUgc2l6ZVxuIiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBEZWZpbmVzIHRoZSB0eXBvZ3JhcGhpYyBiYXNlbGluZS5cbiAqICBXZSBkZWZpbmUgZXZlcnkgc2l6ZSBpbiBwaXhlbHMsIHRoZSB1bmRlcmx5aW5nIHN5c3RlbSBjb252ZXJ0cyB0aGVcbiAqICByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogT3VyIGJhc2UgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICovXG4kYmFzZS1mb250LXNpemU6ICAgICAgICAxOCAhZGVmYXVsdDtcbiRiYXNlLWxpbmUtaGVpZ2h0OiAgICAgIDI4ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXJhdGlvOiAgICAgJGJhc2UtbGluZS1oZWlnaHQvJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kZm9udC1zaXplczogKFxuICAgICAgICB4Mi1zbWFsbDogICAgICAgMTMsXG4gICAgICAgIHgtc21hbGw6ICAgICAgICAxNCxcbiAgICAgICAgc21hbGw6ICAgICAgICAgIDE2LFxuICAgICAgICBiYXNlOiAgICAgICAgICAgJGJhc2UtZm9udC1zaXplLFxuICAgICAgICBtaWQ6ICAgICAgICAgICAgMjAsXG4gICAgICAgIG1pZC1sYXJnZTogICAgICAyNCxcbiAgICAgICAgbGFyZ2U6ICAgICAgICAgIDI4LFxuICAgICAgICB4LWxhcmdlOiAgICAgICAgMzIsXG4gICAgICAgIHgyLWxhcmdlOiAgICAgICAzNixcbiAgICAgICAgeDMtbGFyZ2U6ICAgICAgIDQ4LFxuICAgICAgICB4NC1sYXJnZTogICAgICAgNTVcbik7XG5cblxuLyoqXG4gKlx0SGVyZSB3ZSBhc3NpZ24gc2hvcnQgbmFtZXMgZm9yIHRoZSBmb250IGZhbWlsaWVzXG4gKi9cblxuJGZvbnQtc3lzdGVtOlx0XHQtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiRmb250LW92ZXJwYXNzOiBcdFx0J092ZXJwYXNzJywgc2Fucy1zZXJpZjtcbiRmb250LWluZHVzdHJ5OiBcdFx0J2luZHVzdHJ5Jywgc2Fucy1zZXJpZjtcblxuJGZvbnQtZmFtaWxpZXM6IChcbiAgICAgICAgYmFzZTogICAgICAgICAgICRmb250LW92ZXJwYXNzLFxuICAgICAgICBwcmltYXJ5OiAgICAgICAgJGZvbnQtaW5kdXN0cnksXG5cbiAgLy8gRmFsbGJhY2sgZm9udFxuICAgICAgICBzeXN0ZW06ICAgICAgICAgJGZvbnQtc3lzdGVtXG4pOyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1bmN0aW9ucyB1c2VkIGluIGdyaWQgY2FsY3VsYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICogUmV0dXJuIHBlcmNlbnRhZ2UgYmFzZWQgb24gYW1vdW50IG9mIGNvbHVtbnNcbiAgKiBVc2UgcGFyZW50IGNvbHVtbiBzaXplIHRvIGFkanVzdCB0aGUgb3JpZ2luXG4gICovXG5AZnVuY3Rpb24gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJHNpdGUtY29sdW1ucykge1xuICAvLyBDYWxjdWxhdGUgdGhlIHdpZHRoIGZvciBhIHNpbmdsZSBjb2x1bW4gb24gYSBmdWxsIGdyaWRcbiAgJHNpbmdsZUNvbHVtblNpemU6IDEwMCAvICRzaXRlLWNvbHVtbnM7XG5cbiAgLy8gR2V0IHRoZSBvcmlnaW4gc2l6ZSBpbiBwZXJjZW50YWdlIGZyb20gdGhlIGZ1bGwgZ3JpZFxuICAkb3JpZ2luUGVyY2VudGFnZTogJG9yaWdpbiAvICRzaXRlLWNvbHVtbnMgKiAxMDA7XG5cbiAgLy8gQ2FsY3VsYXRlIHNpbmdsZSBjb2x1bW4gZnJvbSBuZXcgb3JpZ2luXG4gICRuZXdTaW5nbGVDb2x1bW5TaXplOiAkc2luZ2xlQ29sdW1uU2l6ZSAvICRvcmlnaW5QZXJjZW50YWdlICogMTAwO1xuXG4gIC8vIFJldHVybiBhbW91bnQgb2YgY29sdW1ucyBhcyBwZXJjZW50YWdlXG4gIEByZXR1cm4gKCRuZXdTaW5nbGVDb2x1bW5TaXplICogJGNvbHVtbkNvdW50KTtcbn1cblxuLyoqXG4gICogRGVmYXVsdCBmdW5jdGlvbiBmb3IgY29sdW1uc1xuICAqIFJldHVybiBhcyBwZXJjZW50YWdlXG4gICovXG5AZnVuY3Rpb24gY29sdW1uKCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zKSB7XG4gIEByZXR1cm4gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQsICRvcmlnaW4pICogMSU7XG59XG5cbi8qKlxuICAqIFJldHVybiBhcyB2aWV3cG9ydCB3aWR0aFxuICAqL1xuQGZ1bmN0aW9uIGNvbHVtblZ3KCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zKSB7XG4gIEByZXR1cm4gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQsICRvcmlnaW4pICogMXZ3O1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogIENhbGN1bGF0ZSBsaW5lLWhlaWdodCByYXRpbyBmcm9tIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHQgaW4gcHggdmFsdWVcbiAqL1xuXG5AbWl4aW4gbGluZS1oZWlnaHQtcmF0aW8oJGZvbnQtc2l6ZSwgJGxoKSB7XG4gIGxpbmUtaGVpZ2h0OiAkbGggLyBtYXAtZ2V0KCRmb250LXNpemVzLCAkZm9udC1zaXplKTtcbn1cblxuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHgtbGFyZ2UpO1xuICAgIH1cblxuICovXG5cbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcbiAgQGlmIG1hcC1nZXQoJGZvbnQtc2l6ZXMsICRzaXplKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKG1hcC1nZXQoJGZvbnQtc2l6ZXMsICRzaXplKSk7XG4gIH1cbiAgICAvLyBXaGVuIG1hcHBpbmcgaXNuJ3QgZm91bmQgY2FsY3VsYXRlIGFzIGlmIFBYLXZhbHVlIHdhcyBnaXZlbiBhbmQgcmV0dXJuIFJFTSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQGlmIGlzLW51bWJlcigkc2l6ZSkge1xuICAgICAgZm9udC1zaXplOiB2YWx1ZVRvUmVtKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gXCIgYCN7JHNpemV9YCBpcyBub3QgYSB2YWxpZCB2YWx1ZS4gSXQgbXVzdCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZzogYCN7JGZvbnQtc2l6ZXN9YFwiO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBmb250IGZhbWlsaWVzIGZyb20gb3VyIG1hcHBpbmdcblxuXHRVU0FHRTpcblxuXHRzcGFuIHtcblx0XHRAaW5jbHVkZSBmb250LWZhbWlseShwcmltYXJ5KTtcblx0fVxuXG4gKi9cblxuQG1peGluIGZvbnQtZmFtaWx5KCRmYW1pbHk6ICdiYXNlJykge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvbnQtZmFtaWxpZXMsICRmYW1pbHkpIHtcbiAgICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbGllcywgJGZhbWlseSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiVW5rbm93biBmYW1pbHk6IGAjeyRmYW1pbHl9YCBpbiAkZm9udC1mYW1pbGllcy4gXCI7XG4gICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWxpZXMsIHN5c3RlbSk7XG4gIH1cbn1cblxuXG5cbi8qKlxuICogIEZvbnQgbWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplLCBmb250LXdlaWdodCwgYW5kIGxpbmUtaGVpZ2h0XG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCh4LWxhcmdlLCAzNCwgNTAwKTtcbiAgICB9XG5cbiAgICAubXlDbGFzcyB7XG4gICAgICBAaW5jbHVkZSBmb250KG1lZGl1bSwgJHdlaWdodDogMzAwKTtcbiAgICB9XG5cbiAqL1xuXG5AbWl4aW4gZm9udCgkc2l6ZSwgJGxoOiBudWxsLCAkd2VpZ2h0OiBudWxsKSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc2l6ZSk7XG5cbiAgQGlmICRsaCB7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQtcmF0aW8oJHNpemUsICRsaCk7XG4gIH1cblxuICBAaWYgJHdlaWdodCB7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gIH1cbn0iLCIvKipcbiAqIEZsdWlkIHR5cGUgcGx1Z2luIChodHRwczovL2NvZGVwZW4uaW8vTWFkZUJ5TWlrZS9wZW4vdk5ydmRaKVxuICogUmVxdWlyZXMgdGhlIGNhbGMtaW50ZXJwb2xhdGlvbiBmdW5jdGlvbiB3aGljaCBjYW4gYWxzbyBiZSB1c2VkIGluZGVwZW5kZW50bHlcbiAqXG4gKiBVc2FnZTpcbiAqXG4gKiAuZGVtbyB7XG4gKiAgICAgQGluY2x1ZGUgaW50ZXJwb2xhdGUoZm9udC1zaXplLCAzMjBweCwgMTM2NnB4LCAxNHB4LCAyMHB4KTtcbiAqIH1cbiAqXG4gKiBNdWx0aXBsZSBwcm9wZXJ0aWVzIHdpdGggc2FtZSB2YWx1ZXM6XG4gKlxuICogaDEsaDIsaDMsaDQsaDUge1xuICogICBAaW5jbHVkZSBpbnRlcnBvbGF0ZSgocGFkZGluZy10b3AsIHBhZGRpbmctYm90dG9tKSwgMjByZW0sIDcwcmVtLCAwcmVtLCAuNXJlbSk7XG4gKiB9XG4gKlxuICovXG5AbWl4aW4gaW50ZXJwb2xhdGUoJHByb3BlcnRpZXMsICRtaW4tc2NyZWVuLCAkbWF4LXNjcmVlbiwgJG1pbi12YWx1ZSwgJG1heC12YWx1ZSkge1xuICAmIHtcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgI3skcHJvcGVydHl9OiAkbWluLXZhbHVlO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4tc2NyZWVuKSB7XG4gICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGNhbGMtaW50ZXJwb2xhdGlvbigkbWluLXNjcmVlbiwgJG1pbi12YWx1ZSwgJG1heC1zY3JlZW4sICRtYXgtdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYXgtc2NyZWVuKSB7XG4gICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICRtYXgtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIGludGVycG9sYXRlIG1peGluLCBjYW4gYWxzbyBiZSB1c2VkIGluZGVwZW5kZW50bHlcbkBmdW5jdGlvbiBjYWxjLWludGVycG9sYXRpb24oJG1pbi1zY3JlZW4sICRtaW4tdmFsdWUsICRtYXgtc2NyZWVuLCAkbWF4LXZhbHVlKSB7XG4gICRhOiAoKCRtYXgtdmFsdWUgIC0gICRtaW4tdmFsdWUpICAvICAoJG1heC1zY3JlZW4gIC0gICRtaW4tc2NyZWVuKSk7XG4gICRiOiAkbWluLXZhbHVlIC0gJGEgKiAkbWluLXNjcmVlbjtcblxuICAkc2lnbjogXCIrXCI7XG4gIEBpZiAoJGIgPCAwKSB7XG4gICAgJHNpZ246IFwiLVwiO1xuICAgICRiOiBhYnMoJGIpO1xuICB9XG5cbiAgQHJldHVybiBjYWxjKCN7JGEqMTAwfXZ3ICN7JHNpZ259ICN7JGJ9KTtcbn0iLCIvKiBNZWRpYSBxdWVyeSBtaXhpbiBmb3Igd3JpdGluZyBNb2JpbGUgRmlyc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AZnVuY3Rpb24gY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRicmVha3BvaW50KSB7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICBAd2FybiBcIlVua25vd24gYnJlYWtwb2ludDogYCN7JGJyZWFrcG9pbnR9YCBpbiAkYnJlYWtwb2ludHMuIFwiO1xuICBAcmV0dXJuIG51bGw7XG59XG5cbkBtaXhpbiBtcSgkbWluOiBudWxsLCAkbWF4OiBudWxsKSB7XG4gICRxdWVyeTogXCJhbGxcIiAhZGVmYXVsdDtcblxuICAvLyBUcnkgdG8gY29udmVydCAkbWluIHZhbHVlIGlmIG5vdCBudW1iZXIgb3IgbnVsbFxuICBAaWYodHlwZS1vZigkbWluKSAhPSBudW1iZXIgYW5kICRtaW4gIT0gbnVsbCl7XG4gICAgJG1pbjogY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRtaW4pO1xuICB9XG5cbiAgLy8gVHJ5IHRvIGNvbnZlcnQgJG1heCB2YWx1ZSBpZiBub3QgbnVtYmVyIG9yIG51bGxcbiAgQGlmKHR5cGUtb2YoJG1heCkgIT0gbnVtYmVyIGFuZCAkbWF4ICE9IG51bGwpe1xuICAgICRtYXg6IGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkbWF4KTtcbiAgfVxuXG4gIC8vIHNldCBib3RoIG1pbiBhbmQgbWF4XG4gIEBpZiAoJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwpIHtcbiAgICAkcXVlcnk6IFwiKG1pbi13aWR0aDogI3skbWlufXB4KSBhbmQgKG1heC13aWR0aDogI3skbWF4IC0gMX1weClcIjtcbiAgfVxuICAgIC8vIHNldCBqdXN0IG1pblxuICBAZWxzZSBpZiAoJG1pbiAhPSBudWxsIGFuZCAkbWF4ID09IG51bGwpIHtcbiAgICAkcXVlcnk6IFwiKG1pbi13aWR0aDogI3skbWlufXB4KVwiO1xuICB9XG4gICAgLy8gc2V0IGp1c3QgbWF4XG4gIEBlbHNlIGlmICgkbWluID09IG51bGwgYW5kICRtYXggIT0gbnVsbCkge1xuICAgICRxdWVyeTogXCIobWF4LXdpZHRoOiAjeyRtYXggLSAxfXB4KVwiO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgI3skcXVlcnl9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIFRvb2xib3ggZnVuY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogIE1hdGhzIGhlbHBlcnMuXG4gKiAgSGFsdmUgYW5kIGRvdWJsZSBudW1iZXJzLCByZXR1cm5pbmcgcm91bmRlZCBpbnRlZ2Vycy5cblxuICAgIFVTQUdFOlxuXG4gICAgLmZvbyB7XG4gICAgICAgIHBhZGRpbmc6IGhhbHZlKDMwcHgpO1xuICAgIH1cblxuICovXG5cbkBmdW5jdGlvbiBxdWFydGVyKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyIC8gNCk7XG59XG5cbkBmdW5jdGlvbiBoYWx2ZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAvIDIpO1xufVxuXG5AZnVuY3Rpb24gZG91YmxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogMik7XG59XG5cbkBmdW5jdGlvbiB0cmlwbGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAzKTtcbn1cblxuQGZ1bmN0aW9uIHF1YWRydXBsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDQpO1xufVxuXG5cbi8qKlxuICogIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICogIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbiAqICBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4gKi9cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuXHRAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcblx0XHRAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcblx0fVxuXG5cdEByZXR1cm4gJG51bWJlcjtcbn1cblxuXG4vKiBDaGVjayBpZiB2YWx1ZSBpcyBudW1iZXIgKi9cblxuQGZ1bmN0aW9uIGlzLW51bWJlcigkdmFsdWUpIHtcblx0QHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcic7XG59XG5cblxuLyogVmFsdWUgdG8gRW0gKi9cblxuQGZ1bmN0aW9uIHZhbHVlVG9SZW0oJHZhbHVlKSB7XG5cdCRub1VuaXRzOiBzdHJpcC11bml0KCR2YWx1ZSk7XG5cdEByZXR1cm4gI3skbm9Vbml0cyAvIDE2ICogMXJlbX07XG59XG5cbi8qIFZhbHVlIHRvIFJlbSAqL1xuXG5AZnVuY3Rpb24gdmFsdWVUb0VtKCR2YWx1ZSkge1xuXHQkbm9Vbml0czogc3RyaXAtdW5pdCgkdmFsdWUpO1xuXHRAcmV0dXJuICN7JG5vVW5pdHMgLyAxNiAqIDFlbX07XG59XG5cblxuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIGFjY2Vzc2luZyB0aGUgY29sb3JzIGZyb20gb3VyIG1hcHBpbmdcbiAqXHRUbyBhY2Nlc3MgY29sb3JzIGluIG91ciBwYWxldHRlLCB3ZSB1c2UgYSB2ZXJ5IHNpbXBsZSBjdXN0b20gU2FzcyBmdW5jdGlvblxuXG5cdFVTQUdFOlxuXG5cdGEge1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA0MDApO1xuXHRcdH1cblx0fVxuXG4gKi9cblxuQGZ1bmN0aW9uIHBhbGV0dGUoJHBhbGV0dGUsICRsZXZlbDogJ2Jhc2UnKSB7XG5cdEBpZiBtYXAtaGFzLWtleSgkcGFsZXR0ZXMsICRwYWxldHRlKSB7XG5cblx0XHRAaWYgbWFwLWhhcy1rZXkobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKSB7XG5cdFx0XHRAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKTtcblx0XHR9XG5cblx0XHQvLyBDb2xvciBsZXZlbCBub3QgZm91bmQsIHNvIHNldCBiYXNlIGFzICRsZXZlbCB0byBwcmV2ZW50IGFuIGVycm9yXG5cdFx0QHdhcm4gXCJVbmtub3duIGxldmVsIGAjeyRsZXZlbH1gIGZvciBjb2xvciBgI3skcGFsZXR0ZX1gIGluICRwYWxldHRlLlwiO1xuXHRcdEByZXR1cm4gZGVlcHBpbmtcblx0fVxuXG5cdEB3YXJuIFwiVW5rbm93biBjb2xvcjogYCN7JHBhbGV0dGV9YCBpbiAkcGFsZXR0ZS4gXCI7XG5cdEByZXR1cm4gaG90cGluaztcbn1cblxuXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3Igc2V0dGluZyBhIGNvbnNpc3RlbnQgYm94LXNoYWRvd1xuXG5cdFVTQUdFOlxuXG5cdC5jYXJkIHtcblx0XHRAaW5jbHVkZSBib3gtc2hhZG93O1xuXHR9XG5cblx0LmNhcmQtLWFsdCB7XG5cdFx0QGluY2x1ZGUgYm94LXNoYWRvdyhsb3cpO1xuXHR9XG5cbiAqL1xuQG1peGluIGJveC1zaGFkb3coJHR5cGU6IGhpZ2gpIHtcblx0QGlmICgkdHlwZSA9PSAnaGlnaCcpIHtcblx0XHRib3gtc2hhZG93OiAwIDEwcHggMjBweCAtMTBweCAkYm94LXNoYWRvdy1jb2xvcjtcblx0fVxuXHRAaWYgKCR0eXBlID09ICdsb3cnKSB7XG5cdFx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgJGJveC1zaGFkb3ctY29sb3I7XG5cdH1cbn1cblxuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobGFyZ2UpO1xuXHR9XG5cbiAqL1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHR5cGU6IHNtYWxsKSB7XG5cdEBpZiAoJHR5cGUgPT0gJ3NtYWxsJykge1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtYWxsO1xuXHR9XG5cdEBpZiAoJHR5cGUgPT0gJ21lZGl1bScpIHtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZWRpdW07XG5cdH1cblx0QGlmICgkdHlwZSA9PSAnbGFyZ2UnKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG5cdH1cbn1cblxuLyoqXG4gKiBMb2JvdG9taXplZCBPd2wgU2VsZWN0b3IgbWl4aW46XG4gKiAtIFNldCBzcGFjaW5nIGZvciBjb25zZWN1dGl2ZSBpdGVtcyB3aXRoIG1hcmdpbi10b3Agb24gYWxsIGJ1dCB0aGUgZmlyc3QgaXRlbVxuXG5cdFVTQUdFOlxuXG5cdC5ib3gge1xuXHRcdEBpbmNsdWRlIG93bC1jaGlsZHJlbjtcblx0fVxuXG5cdC5jYXJkX19pdGVtIHtcblx0XHRAaW5jbHVkZSBvd2w7XG5cdH1cblxuICovXG5cbi8vIEdpdmVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudCBzcGFjaW5nXG5AbWl4aW4gb3dsLWNoaWxkcmVuKCRtYXJnaW46ICN7JGxpbmUtaGVpZ2h0LXJhdGlvfXJlbSkge1xuXHQmID4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6ICRtYXJnaW47XG5cdH1cbn1cblxuLy8gR2l2ZXMgdGhlIGVsZW1lbnQgaXRzZWxmIHNwYWNpbmdcbkBtaXhpbiBvd2woJG1hcmdpbjogI3skbGluZS1oZWlnaHQtcmF0aW99cmVtKSB7XG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHR9XG59XG5cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG5cbkBtaXhpbiBoeXBoZW5hdGUge1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdC13ZWJraXQtaHlwaGVuczogYXV0bztcblx0LW1zLWh5cGhlbnM6IGF1dG87XG5cdGh5cGhlbnM6IGF1dG87XG59XG5cbi8qXG4gKiAgUmVzdHJpY3QgYW4gZWxlbWVudCB0byBhIG1heC13aWR0aCBmb3IgY3JlYXRpbmcgZ3V0dGVycyBvbiB0aGUgc2lkZVxuICovXG5AbWl4aW4gY29udGFpbigpIHtcblx0d2lkdGg6IGNhbGMoMTAwJSAtICN7ZG91YmxlKCRzaXRlLWd1dHRlci13aWR0aCl9KTsgLy8gTWFraW5nIHN1cmUgaXQgZG9lc24ndCBnZXQgdG8gc21hbGwgd2l0aCBsaXR0bGUgY29udGVudFxuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY2FsYygxMDAlIC8gI3skdGFibGV0LWNvbHVtbnMgKyAyfSAqICN7JHRhYmxldC1jb2x1bW5zfSk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAvICN7JHNpdGUtY29sdW1ucyArIDJ9ICogI3skc2l0ZS1jb2x1bW5zfSk7XG5cdFx0bWF4LXdpZHRoOiAkc2l0ZS1tYXgtd2lkdGg7XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIFRoZSAnei1pbmRleC1tYXAnIGlzIHVzZWQgZm9yIG1hbmFnaW5nIHRoZSBlbGVtZW50cyBzdGFja2luZyBvcmRlciBpbiB0aGUgJ3Jvb3QnIHN0YWNraW5nIGNvbnRleHRcbiAqICBUaGlzIHdheSB3ZSBoYXZlIGEgb3ZlcnZpZXcgb2YgYWxsIHRoZSB6LWluZGV4IHZhbHVlcyB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgcHJvamVjdC5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuJHotaW5kZXg6IChcblx0ei12aXNpYmxlLWdyaWQ6XHRcdFx0XHQxMDAwMCxcblx0ei1jb29raWU6XHRcdCBcdFx0XHQ5OTk5LFxuXHR6LWhlYWRlcjogXHRcdFx0XHRcdDUwLFxuXHR6LWJvZHk6XHRcdFx0XHRcdFx0NDAsXG5cdHotcHJlZm9vdGVyOlx0XHRcdCBcdDMwLFxuXHR6LWZvb3RlcjpcdFx0XHRcdCBcdDIwLFxuXHR6LXN1YmZvb3RlcjpcdFx0XHRcdDEwLFxuKTtcblxuXG4vKipcbiAgICBVU0FHRTpcblxuICAgIEBpbmNsdWRlIHooei1tb2RhbCk7XG5cbiAqL1xuXG5AbWl4aW4geigkbGFiZWwpIHtcblx0ei1pbmRleDogbWFwLWdldCgkei1pbmRleCwkbGFiZWwpO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCYXNpYyBlbGVtZW50cyAobm8gY2xhc3Mgc2VsZWN0b3JzIGFsbG93ZWQpXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLy8qKlxuLy8gKiBMb2JvdG9taXplZCBvd2wgc2VsZWN0b3Jcbi8vICogaHR0cHM6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL2F4aW9tYXRpYy1jc3MtYW5kLWxvYm90b21pemVkLW93bHNcbi8vICovXG4vLyogKyAqIHtcbi8vICBtYXJnaW4tdG9wOiAjeyRsaW5lLWhlaWdodC1yYXRpb31yZW07XG4vLyAgYmFja2dyb3VuZDogZmlyZWJyaWNrO1xuLy99XG5cbi8qKlxuICogU2V0IHVwIHRoZSBodG1sXG4gKlxuICogMS4gTWFrZXMgc3VyZSB0aGF0IHNvbWUgZm9udHMgYXJlIGJldHRlciByZW5kZXJlZFxuICogMi4gU2V0IGZvbnQgdG8gbGluaW5nIGZpZ3VyZXNcbiAqL1xuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibG51bVwiO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtcmF0aW87XG4gIEBpbmNsdWRlIGZvbnQtZmFtaWx5KGJhc2UpO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcbiAgYmFja2dyb3VuZDogcGFsZXR0ZShkYXJrKTtcblxuICBAaW5jbHVkZSBtcSg0MjUpIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoc21hbGwpO1xuICB9XG59XG5cblxuLyoqXG4gKiBbMV0gTWFrZSBzdXJlIGVsZW1lbnRzIGxpa2UgaW5wdXQgYW5kIHRleHRhcmVhIGluaGVyaXQgc29tZSBiYXNlIHByb3BlcnRpZXNcbiAqICAgICBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE2LzExL2Nzcy1pbmhlcml0YW5jZS1jYXNjYWRlLWdsb2JhbC1zY29wZS1uZXctb2xkLXdvcnN0LWJlc3QtZnJpZW5kcy9cbiAqXG4gKiBbMl0gU2V0dGluZyBib3gtc2l6aW5nIHRoZSBiZXN0IHdheSBwZXI6XG4gKiAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbioge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICYsXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHBhbGV0dGUoc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHBhbGV0dGUobGlnaHQpO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgLyogWzFdICovXG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBhcm91bmQgZmlndXJlXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBbMV0gU2V0dGluZyAndmVydGljYWwtYWxpZ24nIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyICdpbWcnXG4gKlx0ICAgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGludG8gYSBwYWdlIGFzLWlzLiBTYWZlciBhbHRlcm5hdGl2ZSB0b1xuICpcdCAgIHVzaW5nICdkaXNwbGF5OiBibG9jazsnLlxuICogWzJdIFJlbW92ZSBib3JkZXIgLyBlc3BlY2lhbGx5IG9uIG9sZGVyIGJyb3dzZXJzXG4gKi9cbmltZywgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLypbMV0qL1xuICBib3JkZXI6IG5vbmU7IC8qWzJdKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIFN0aWxsIGFkZCBkaXNwbGF5IGJsb2NrIHRvIHN2ZyB0byBwcmV2ZW50IHVud2FudGVkIHNwYWNpbmdcbiAqL1xuc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogIE5lZWRlZCBmb3IgaU9TIHRvIHByZXZlbnQgaW5wdXQgem9vbWluZ1xuICogIGh0dHBzOi8vdXhjZWxsZW5jZS5jb20vMjAxNC8wMS8xNS9xdWljay1maXgtaW5jcmVhc2UtZm9udC1zaXplLXRvLTE2cHgtdG8tZml4LWlucHV0LXpvb21cbiAqL1xuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuXG5hIHtcbiAgY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvOyAvLyBwcmV0dHkgdW5kZXJsaW5pbmcgbGlua3NcblxuICAmOm5vdChbY2xhc3NdKTpob3ZlciB7IC8vIExpbmtzIHdpdGggbm8gY2xhc3MgZ2V0IGEgZGVmYXVsdCBob3ZlclxuICAgIGNvbG9yOiBzY2FsZS1jb2xvcihwYWxldHRlKGFjdGlvbiksICRsaWdodG5lc3M6IC0yMCUpO1xuICB9XG59XG5cblxuLy8gVE9ETzogSXMgdGhpcyB0aGUgcmlnaHQgd2F5IHRvIHJlc2V0IGFsbCBtYXJnaW4/P1xuLy8gUmVzZXQgYWxsIHRvcCBtYXJnaW5zXG5oMSxoMixoMyxoNCxoNSxoNixoZ3JvdXAsXG51bCxvbCxkZCxcbnAsZmlndXJlLFxucHJlLHRhYmxlLGZpZWxkc2V0LGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn0iLCJoMSwgaDIsIGgzLCBoNHtcblx0QGluY2x1ZGUgZm9udC1mYW1pbHkocHJpbWFyeSk7XG59XG5cbmgxIHtcblx0QGluY2x1ZGUgaW50ZXJwb2xhdGUoZm9udC1zaXplLCAzMjBweCwgMTM2NnB4LCAyOHB4LCA1NXB4KTtcblx0Y29sb3I6IHBhbGV0dGUobGlnaHQpO1xuXG5cdC8vQGluY2x1ZGUgbXEobnVsbCwgNDI1KSB7XG5cdC8vXHRAaW5jbHVkZSBmb250LXNpemUoeDMtbGFyZ2UpO1xuXHQvL31cbn1cblxuaDIge1xuXHRAaW5jbHVkZSBmb250KHgyLWxhcmdlLCA0MywgNjAwKTtcblx0Y29sb3I6IHBhbGV0dGUobGlnaHQpO1xuXG5cdEBpbmNsdWRlIG1xKG51bGwsIDQyNSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4LWxhcmdlKTtcblx0fVxuXHQmLm9uLWxpZ2h0IHtcblx0XHRjb2xvcjogcGFsZXR0ZShkYXJrKTtcblx0fVxufVxuXG5oMyB7XG5cdEBpbmNsdWRlIGZvbnQobGFyZ2UsIDM0LCA0MDApO1xuXHRjb2xvcjogcGFsZXR0ZShsaWdodCk7XG5cblx0QGluY2x1ZGUgbXEobnVsbCwgNDI1KSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKG1pZC1sYXJnZSk7XG5cdH1cblx0Ji5vbi1saWdodCB7XG5cdFx0Y29sb3I6IHBhbGV0dGUoZGFyayk7XG5cdH1cbn1cblxuaDQge1xuXHRAaW5jbHVkZSBmb250KG1pZCwgMjgsIDYwMCk7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQsIDQwMCk7XG5cblx0QGluY2x1ZGUgbXEobnVsbCwgNDI1KSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHR9XG59XG5cbmg1IHtcblx0QGluY2x1ZGUgZm9udCh4LXNtYWxsLCAyMiwgNTAwKTtcblx0Y29sb3I6IHBhbGV0dGUobGlnaHQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdEBpbmNsdWRlIG1xKG51bGwsIDQyNSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4Mi1zbWFsbCk7XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICpcdERlZmF1bHQgaW5kZW50YXRpb24gdmFsdWUgZm9yIGxpc3RzXG4gKi9cblxudWwsXG5vbHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tbGVmdDogMS4xMjVlbTtcbn1cblxuZGR7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cblxuLyoqXG4gKlx0UmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5cbmxpIHtcblx0PiB1bCxcblx0PiBvbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5cbi8qKlxuKlx0bGlzdC1pdGVtcyBuZWVkcyByZXNldHRpbmcgZm9yIG91ciBMb2JvdG9taXplZCBPd2wgc2VsZWN0b3JcbiovXG5cbmxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwO1xufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5sLWNvbnRhaW4ge1xuICBAaW5jbHVkZSBjb250YWluO1xufVxuXG4kbENvbnRhaW5TcXVlZXplOiAxMCA4IDY7XG5cbkBlYWNoICRzcXVlZXplIGluICRsQ29udGFpblNxdWVlemUge1xuXG4gIC5sLWNvbnRhaW5fX3NxdWVlemUtI3skc3F1ZWV6ZX17XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBjb2x1bW4oJHNxdWVlemUsIDEyKTtcbiAgfVxuXG59IiwiLmwtYmlzZWN0aW9uIHtcblxuICBAaW5jbHVkZSBtcSgkbWF4OiA5MDApXG4gIHtcbiAgICBAaW5jbHVkZSBvd2wtY2hpbGRyZW4oNDBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcSg5MDApe1xuICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiBmbGV4LXN0YXJ0KTtcbiAgfVxufVxuXG4ubC1iaXNlY3Rpb24tLXJldmVyc2VkIHtcbiAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuIGZsZXgtc3RhcnQpO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIEBpbmNsdWRlIG1xKDkwMCl7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG59XG5cbi5sLWJpc2VjdGlvbl9faXRlbXtcbiAgQGluY2x1ZGUgbXEoOTAwKXtcbiAgICB3aWR0aDogY29sdW1uKDUuNzUsIDEyKTtcbiAgfVxufSIsIi8vIFVzYWdlOlxuLy9cbi8vICAgQGluY2x1ZGUgZmxleFsoa2V5d29yZHMpXTtcbi8vXG4vLyBLZXl3b3Jkczpcbi8vXG4vLyAgIFtpbmxpbmUgfCB3cmFwIHwgY29sdW1uIHwgcmV2ZXJzZSB8IGNlbnRlciogfCBmbGV4LXN0YXJ0KiB8IGZsZXgtZW5kKiB8IHN0cmV0Y2ggfCBiYXNlbGluZSB8IHNwYWNlLWFyb3VuZCB8IHNwYWNlLWJldHdlZW5dXG4vL1xuLy8gKiBJZiBvbmx5IG9uZSBvZiB0aGVzZSBrZXl3b3JkcyBpcyBwcmVzZW50LCBpdCdzIHVzZWQgZm9yIGJvdGgganVzdGlmeS1jb250ZW50IGFuZCBhbGlnbi1pdGVtcy5cbi8vICAgV2hlbiB0d28ga2V5d29yZHMgYXJlIHByZXNlbnQgdGhlIGZpcnN0IGdvZXMgaW4ganVzdGlmeS1jb250ZW50IChtYWluIGF4aXMpIGFuZCB0aGUgb3RoZXIgaW4gYWxpZ24taXRlbXMgKHBlcnBlbmRpY3VsYXIgYXhpcykuXG4vL1xuLy8gRXhhbXBsZXM6XG4vL1xuLy8gICBAaW5jbHVkZSBmbGV4O1xuLy9cbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy9cbi8vICAgQGluY2x1ZGUgZmxleChjb2x1bW4gd3JhcCk7XG4vL1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbi8vICAgICBmbGV4LXdyYXA6IHdyYXA7XG4vL1xuLy8gICAgQGluY2x1ZGUgZmxleChjb2x1bW4gcmV2ZXJzZSk7XG4vL1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuLy9cbi8vICAgQGluY2x1ZGUgZmxleChjZW50ZXIpO1xuLy9cbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vL1xuLy8gICBAaW5jbHVkZSBmbGV4KGZsZXgtZW5kIGZsZXgtc3RhcnQpO1xuLy9cbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4vLyAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cblxuQG1peGluIGZsZXgoJHBhcmFtczogbnVsbCkge1xuICAkZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiAgJGRpcmVjdGlvbjogcm93O1xuICAkcmV2ZXJzZTogbnVsbDtcbiAgJGp1c3RpZnktY29udGVudDogbnVsbDtcbiAgJGFsaWduLWl0ZW1zOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHBhcmFtcyB7XG4gICAgQGlmICR2YWx1ZSA9PSBcImlubGluZVwiIHtcbiAgICAgICRkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXBcIiB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyZXZlcnNlXCIge1xuICAgICAgJHJldmVyc2U6IC1yZXZlcnNlO1xuICAgIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93XCIge1xuICAgICAgJGRpcmVjdGlvbjogcm93O1xuICAgIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uXCIge1xuICAgICAgJGRpcmVjdGlvbjogY29sdW1uO1xuICAgIH0gQGVsc2UgaWYgaW5kZXgoc3BhY2UtYmV0d2VlbiBzcGFjZS1hcm91bmQsICR2YWx1ZSkge1xuICAgICAgJGp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgIH0gQGVsc2UgaWYgaW5kZXgoYmFzZWxpbmUgc3RyZXRjaCwgJHZhbHVlKSB7XG4gICAgICAkYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICB9IEBlbHNlIGlmIGluZGV4KGZsZXgtc3RhcnQgY2VudGVyIGZsZXgtZW5kLCAkdmFsdWUpIHtcbiAgICAgIEBpZiAkanVzdGlmeS1jb250ZW50IHtcbiAgICAgICAgJGFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICBAaWYgbm90ICRhbGlnbi1pdGVtcyB7XG4gICAgICAgICAgJGFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnktY29udGVudDtcbiAgYWxpZ24taXRlbXM6ICRhbGlnbi1pdGVtcztcblxuICBAaWYoJHJldmVyc2UgIT0gbnVsbCBvciAkZGlyZWN0aW9uICE9IHJvdykge1xuICAgZmxleC1kaXJlY3Rpb246ICN7JGRpcmVjdGlvbn0jeyRyZXZlcnNlfTtcbiAgfSBAZWxzZSBpZigkZGlyZWN0aW9uID09IHJvdyl7XG4gICAgZmxleC1kaXJlY3Rpb246ICN7JGRpcmVjdGlvbn1cbiAgfVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29tcG9uZW50c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cblxuQGltcG9ydCBcImNvbXBvbmVudHMuYm9keVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jYXJkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jbG9zZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY29ybmVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jb29raWVCYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNvb2tpZU92ZXJsYXlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNvb2tpZVN3aXRjaFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY29va2llVHlwZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY29sbGVhZ3Vlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY3RhRnJlZGVyaWNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmN0YUpvYnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmN0YVRleHRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZpY2hlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZmxhc2hNZXNzYWdlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5mb290ZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZvcm1FbGVtZW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5mb3JtRmVlZGJhY2tcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuaG9tZUhlYWRlclN0cmVhbWVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5pY29uQnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5pbWFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMubGFuZ3VhZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLm5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMub3B0aW9uc01lbnVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnBhZ2VUcmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wcm9qZWN0R3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucHJvamVjdENvbnRlbnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnJhdGluZ1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucmVmZXJlbmNlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2VydmljZXNHcmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zaGFyZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2xpZGVQcm9qZWN0b3JcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnN0YXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnN0YXR1c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc3ViZm9vdGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zd2l0Y2hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRhYnNsaWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudGVhbUdyaWRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRleHRCdXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRleHRJbWFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudGh1bWJuYWlsXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy50cmFkZW1hcmtcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnZpZGVvXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy52YWNhbmNpZXNHcmlkXCI7IiwiLyoqXG4gKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiAqIChiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIHRoZSBmb290ZXIpXG4gKi9cblxuLmMtYm9keSB7XG5cdEBpbmNsdWRlIHooei1ib2R5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEZWZhdWx0IGJ1dHRvblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogMS4gQ29sb3IgZ2V0cyBpbmhlcml0ZWQgYW5kIHVzZWQgZm9yIG5lc3RlZCBlbGVtZW50cyB3aXRoICdjdXJyZW50Q29sb3InIHByb3BlcnR5ICovXG5cbi5jLWJ1dHRvbiB7XG5cdC8vQGluY2x1ZGUgZmxleChpbmxpbmUgY2VudGVyKTtcblx0QGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0IGNlbnRlcik7XG5cdEBpbmNsdWRlIGZvbnQoc21hbGwsIDIwLCA1MDApO1xuXHRwYWRkaW5nOiAxMXB4IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblx0Ym9yZGVyOiBub25lO1xuXHRjb2xvcjogcGFsZXR0ZShkYXJrKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IocGFsZXR0ZShhY3Rpb24pLCAkbGlnaHRuZXNzOiAtMjAlKTtcblx0fVxuXHQmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG5cdH1cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdH1cbn1cblxuLmMtYnV0dG9uX190ZXh0IHtcblx0cGFkZGluZzogMCAxNXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLWJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IC00cHg7XG5cdG1hcmdpbi1yaWdodDogMTVweDtcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjkpIHRyYW5zbGF0ZVgoNHB4KTtcblx0fVxuXG5cdC8vIFdoZW4gaWNvbiBjb21lcyBiZWZvcmUgdGhlIHRleHQgKGluIHRoZSBET00pIHN3aXRjaCB0aGUgbWFyZ2luXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0fVxuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdH1cblxuXHQuYy1idXR0b24tLWludGVybmFsICYge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpIHJvdGF0ZSg5MGRlZykgc2NhbGUoMC45KTtcblx0fVxuXHQuYy1idXR0b24tLWludGVybmFsOmhvdmVyOm5vdCg6ZGlzYWJsZWQpICYge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpIHJvdGF0ZSg5MGRlZykgc2NhbGUoMC45KSB0cmFuc2xhdGVYKDRweCk7XG5cdH1cbn1cblxuLmMtYnV0dG9uLS10ZXh0IHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuXG5cdC5jLWJ1dHRvbl9fdGV4dCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHR9XG5cblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxufVxuXG4uYy1idXR0b24tLWdob3N0IHtcblx0cGFkZGluZzogMTBweCA5cHg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcywgYm9yZGVyIDAuM3M7XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUoZGFyayk7XG5cdFx0Y29sb3I6IHBhbGV0dGUoZGFyayk7XG5cdH1cbn1cblxuLmMtYnV0dG9uLS1uby1jb3JuZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDE0cHggMjBweDtcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHR3aWR0aDogMTVweDtcblx0XHRoZWlnaHQ6IDE1cHg7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCA0OCUsIHBhbGV0dGUoYWN0aW9uKSA1MCUsIHRyYW5zcGFyZW50IDUyJSk7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtMXB4O1xuXHRcdHJpZ2h0OiAtMXB4O1xuXHRcdGJvcmRlci13aWR0aDogMCAxNnB4IDE2cHggMDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgcGFsZXR0ZShkYXJrKTtcblx0fVxuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgNDglLCBwYWxldHRlKGFjdGlvbikgNTAlLCB0cmFuc3BhcmVudCA1MiUpO1xuXHRcdH1cblx0fVxufVxuXG4uYy1idXR0b24tLW5vLWNvcm5lci1ib3R0b20ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAtMXB4O1xuXHRcdGxlZnQ6IC0xcHg7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxNnB4IDAgMCAxNnB4O1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCBwYWxldHRlKGRhcmspO1xuXHR9XG59XG5cbi5jLWJ1dHRvbi0tb24tZGFyayB7XG5cdGNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRjb2xvcjogcmdiYShwYWxldHRlKGxpZ2h0KSwgMC43NSk7XG5cdH1cbn1cblxuLmMtYnV0dG9uLS1yZXZlcnNlZCB7XG5cdEBpbmNsdWRlIGZsZXgoaW5saW5lIGZsZXgtc3RhcnQgY2VudGVyKTtcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHQuYy1idXR0b25fX2ljb24ge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoLTAuOSk7XG5cdH1cbn0iLCIuYy1jYXJke1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5jLWNhcmQtLWxvbmcge1xuXHRtaW4taGVpZ2h0OiA1MDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShkYXJrKTtcblx0QGluY2x1ZGUgZmxleChpbmxpbmUgY2VudGVyIGNvbHVtbik7XG5cblx0ZmxleC1zaHJpbms6IDE7XG5cdGZsZXgtZ3JvdzogMTtcblx0bWluLXdpZHRoOiAyMDBweDtcblxuXHRAaW5jbHVkZSBtcShudWxsLCAxNDI1KSB7XG5cdFx0ZmxleC1zaHJpbms6IDE7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHR3aWR0aDogY29sdW1uKDksIDEwKTtcblx0XHRtaW4taGVpZ2h0OiBhdXRvO1xuXHRcdG1hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDtcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxuXHRAaW5jbHVkZSBtcShudWxsLCAxMjAwKSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgxNDI1KSB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG5cdC5jLWNhcmQgKyAmIHtcblx0XHRAaW5jbHVkZSBtcShudWxsLCAxNDI1KSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHR9XG5cdH1cblxuXHQuYy1jYXJkX19pbWFnZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHRyYW5zcGFyZW50IDAlLCBwYWxldHRlKGRhcmspIDEwMCUpIDAgMDtcblx0XHR9XG5cdH1cblxuXHQuYy1jYXJkX190aXRsZSB7XG5cdFx0d2lkdGg6IDUwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cGFkZGluZy10b3A6IDMwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogLTQwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDI7XG5cblx0XHRAaW5jbHVkZSBtcSgxNDI1KSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogNjBweDtcblx0XHR9XG5cdH1cblxuXHRzdmcge1xuXHRcdG1hcmdpbi10b3A6IDMwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDI7XG5cblx0XHRAaW5jbHVkZSBtcShudWxsLCAxNDI1KSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogNTtcblx0XHRcdG1hcmdpbi1ib3R0b206IC01MHB4O1xuXHRcdH1cblx0fVxufVxuXG4uYy1jYXJkX19pbWFnZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoZGFyayk7XG5cblx0LmMtY2FyZF9faW1hZ2UtcmF0aW8gJiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0fVxufVxuXG4uYy1jYXJkX19pbWFnZS1yYXRpbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAwO1xuXHRwYWRkaW5nLWJvdHRvbTogY2FsYygoNDI2IC8gMzYwKSAqIDEwMCUpO1xufVxuXG4uYy1jYXJkX19pbWFnZS0tcGxhY2Vob2xkZXIge1xuXHRtaW4taGVpZ2h0OiAxMjBweDtcblxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvcHJvamVjdGNhcmRfYmcuc3ZnJyk7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLmMtY2FyZF9fYm9keSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IGNvbHVtbigyLjUsIDMpO1xuXG5cdG1hcmdpbi10b3A6IC02MHB4O1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgcGFsZXR0ZShkYXJrKSA2MHB4KSAtMzVweCAwO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG5cdH1cbn1cblxuLmMtY2FyZF9faW5uZXItYm9keSB7XG5cdHBhZGRpbmc6IDMwcHggMzBweCAwIDMwcHg7XG5cdG1pbi1oZWlnaHQ6IDE0MHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGRhcmspO1xufVxuXG4uYy1jYXJkX190aXRsZSB7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdEBpbmNsdWRlIGZvbnQtZmFtaWx5KGJhc2UpO1xuXHRAaW5jbHVkZSBmb250KG1pZCwgMzIsIDYwMCk7XG59XG5cbi5jLWNhcmRfX2NvbnRlbnQge1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcbn1cblxuLmMtY2FyZF9fYWN0aW9uIHtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLy8gTW9kaWZpZXIgZm9yIGNlbnRlcmluZyB0aGUgaW1hZ2UgJiB0aGUgYWN0aW9uIGJ1dHRvblxuLmMtY2FyZC0tY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1jYXJkLS11bmJveCB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cblx0LmMtY2FyZF9faW1hZ2Uge1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXG5cdC5jLWNhcmRfX2JvZHkge1xuXHRcdHBhZGRpbmc6IDMwcHggMCAwO1xuXHR9XG5cblx0LmMtY2FyZF9fdGl0bGUge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZShtaWQpO1xuXHR9XG5cblx0LmMtY2FyZF9fY29udGVudCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDbG9zZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWNsb3NlOiAoXG5cdCdiZ2NvbG9yJzogIHBhbGV0dGUobGlnaHQpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtY2xvc2Uge1xuXHRAaW5jbHVkZSBmbGV4KGNlbnRlcik7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDE4MG1zIGVhc2Utb3V0O1xuXG5cdCY6YWZ0ZXIsXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAyMHB4O1xuXHRcdHJpZ2h0OiAyMCU7XG5cdFx0bGVmdDogMjAlO1xuXHRcdGhlaWdodDogM3B4O1xuXHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogbWFwLWdldCgkYy1jbG9zZSwgJ2JnY29sb3InKTtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdH1cblx0JjpiZWZvcmUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuXHQmOmFmdGVyIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuXHR9XG59IiwiLnRvcC1sZWZ0LWNvcm5lciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdHotaW5kZXg6IDE7XG5cdGJvcmRlci10b3A6IDYwcHggc29saWQgcGFsZXR0ZShkYXJrKTtcblx0Ym9yZGVyLXJpZ2h0OiA2MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufSIsIi5jLWNvb2tpZS1iYXJcbntcbiAgcG9zaXRpb246IGZpeGVkO1xuICBAaW5jbHVkZSB6KHotY29va2llKTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuICBvcGFjaXR5OiAxO1xuICBib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgdHJhbnNmb3JtIDAuNnM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cbiAgJi5pcy1hY2NlcHRlZHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJi5mYWRlLW91dFxuICB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwJSwgMCk7XG4gIH1cbn1cblxuLmMtY29va2llLWJhcl9fbWFpbntcbiAgQGluY2x1ZGUgZmxleChjZW50ZXIgY2VudGVyKTtcbn1cblxuLmMtY29va2llLWJhcl9fdGV4dHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiBwYWxldHRlKGRhcmspO1xufVxuXG4uYy1jb29raWUtYmFyX19saW5re1xuICBjb2xvcjogcGFsZXR0ZShkYXJrKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAmOmhvdmVye1xuICAgIGNvbG9yOiByZ2JhKHBhbGV0dGUoZGFyayksIDAuNzUpO1xuICB9XG59XG5cbi5jLWNvb2tpZS1iYXJfX2J1dHRvbntcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgcGFkZGluZzogNXB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCAzMDApO1xuXG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHBhbGV0dGUobGlnaHQpO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuXG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuXG4gICY6aG92ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShwYWxldHRlKHNlY29uZGFyeSwgMzAwKSwgMC41KTtcbiAgfVxufSIsIi5jLWNvb2tpZS1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBAaW5jbHVkZSB6KHotY29va2llKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIEBpbmNsdWRlIGZsZXgoY2VudGVyIGNlbnRlcik7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShwYWxldHRlKGRhcmspLCAwLjYpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG5cbiAgJi5pcy1hY2NlcHRlZHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJi5mYWRlLW91dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fbW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDkyJTtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgcGFkZGluZzogNjBweCAxMjBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcbn1cblxuLmMtY29va2llLW92ZXJsYXlfX2NvbnRhaW5lcntcbiAgJi5pcy1oaWRkZW57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQpO1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogcGFsZXR0ZSh0ZXh0LCAzMDApO1xufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgJjpob3ZlcntcbiAgICBjb2xvcjogcmdiYShwYWxldHRlKGFjdGlvbiksIDAuNzUpO1xuICB9XG59XG5cbi5jLWNvb2tpZS1vdmVybGF5X19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cztcblxuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcblxuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihwYWxldHRlKGFjdGlvbiksIDglKVxuICB9XG59XG5cbi5jLWNvb2tpZS1vdmVybGF5X190eXBlcywgLmMtY29va2llLW92ZXJsYXlfX3NldHRpbmdze1xuICBtYXJnaW46IDMwcHggMDtcblxuICAmID4gKiArICp7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgfVxufVxuXG4uYy1jb29raWUtb3ZlcmxheV9fc2V0dGluZ3N7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59IiwiLmMtY29va2llLXN3aXRjaFxue31cblxuLmMtY29va2llLXN3aXRjaF9fdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQpO1xufVxuXG4uYy1jb29raWUtc3dpdGNoX190ZXh0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDMwMCk7XG59XG5cbi5jLWNvb2tpZS1zd2l0Y2hfX3NldHRpbmdze1xuICBtYXJnaW46IDMwcHggMCAwO1xuXG4gICYgPiAqICsgKntcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICB9XG59XG5cbi5jLWNvb2tpZS1zd2l0Y2hfX2J1dHRvbntcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAzNXB4O1xuICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHM7XG5cbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogcGFsZXR0ZShsaWdodCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG5cbiAgJjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4ocGFsZXR0ZShhY3Rpb24pLCA4JSlcbiAgfVxufSIsIi5jLWNvb2tpZS10eXBlIHtcbiAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuIGZsZXgtc3RhcnQpO1xuICB3aWR0aDogMTAwJTtcblxuICAmLS1zdGF0aWN7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuLmMtY29va2llLXR5cGVfX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMjZweDtcbiAgfVxufVxuXG4uYy1jb29raWUtdHlwZV9faW5wdXR7XG4gIC5jLWNvb2tpZS10eXBlLS1zdGF0aWMgJntcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cbn1cblxuLmMtY29va2llLXR5cGVfX3RleHR7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDMwMCk7XG59XG5cbi5jLWNvb2tpZS10eXBlX190aXRsZXtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcbn0iLCIkYy1jb2xsZWFndWVzLWl0ZW0tc2l6ZTogMjQwcHg7XG4kYy1jb2xsZWFndWVzLWdhcDogY29sdW1uKDEsIDgpO1xuXG4uYy1jb2xsZWFndWVzLXdyYXBwZXIge1xufVxuXG4uYy1jb2xsZWFndWVzIHtcbiAgQGluY2x1ZGUgbXEoODAwKSB7XG4gICAgbWFyZ2luOiBjb2x1bW4oLTAuNSwgOCkgY29sdW1uKC0wLjUsIDgpIDAgY29sdW1uKC0wLjUsIDgpO1xuICB9XG4gIEBpbmNsdWRlIGZsZXgod3JhcCBjZW50ZXIpO1xuXG4gIEBpbmNsdWRlIG1xKDEyMDApIHtcbiAgICBAaW5jbHVkZSBmbGV4KHdyYXAgZmxleC1zdGFydCk7XG4gIH1cbn1cblxuLmMtY29sbGVhZ3Vlc19faXRlbSB7XG4gIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICBmbGV4LWJhc2lzOiAyNDBweDtcbiAgbWF4LXdpZHRoOiAyNDBweDtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW46IGNvbHVtbigwLjUsIDkpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYy1jb2xsZWFndWVzX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmU4ZWI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgcGFsZXR0ZShzZWNvbmRhcnksIDEwMCkgMCwgcGFsZXR0ZShzZWNvbmRhcnksIDEwMCkgNTlweCwgdHJhbnNwYXJlbnQgNjBweCkgLTM1cHggMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xuICB9XG59XG5cbi5jLWNvbGxlYWd1ZXNfX25hbWUge1xuICBtYXJnaW46IDIwcHggMCA1cHg7XG4gIEBpbmNsdWRlIGZvbnQobWlkLCAyMiwgNTAwKTtcbiAgY29sb3I6IHBhbGV0dGUoZGFyayk7XG59XG5cbi5jLWNvbGxlYWd1ZXNfX2Z1bmN0aW9uLFxuLmMtY29sbGVhZ3Vlc19fZW1haWwge1xuICBAaW5jbHVkZSBmb250KHNtYWxsLCAxOCwgNDAwKTtcbiAgY29sb3I6IHBhbGV0dGUodGV4dCwgNDAwKTtcbn1cblxuLmMtY29sbGVhZ3Vlc19fZW1haWwge1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59IiwiLmMtY3RhLWZyZWRlcmljIHtcbiAgcGFkZGluZzogMDtcblxuICBAaW5jbHVkZSBmbGV4KGNlbnRlciBzcGFjZS1iZXR3ZWVuIGNvbHVtbik7XG5cbiAgQGluY2x1ZGUgbXEobnVsbCwgMTQyNSkge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKDEzNDApIHtcbiAgICBwYWRkaW5nOiAwIGNvbHVtbigxLCAxMik7XG4gIH1cbiAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0IHNwYWNlLWJldHdlZW4pO1xuICB9XG59XG5cbi5jLWN0YS1mcmVkZXJpYy0tbGVmdCB7XG5cbiAgQGluY2x1ZGUgbXEobnVsbCwgOTAwKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuYy1idXR0b24tLWdob3N0IHtcbiAgICBAaW5jbHVkZSBtcShudWxsLCA5MDApIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcSg5MDAsIDEwNjApIHtcbiAgICB3aWR0aDogY29sdW1uKDUsIDEwKTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgxMDYwLCAxMjAwKSB7XG4gICAgd2lkdGg6IGNvbHVtbig0LCAxMCk7XG4gICAgbWFyZ2luOiAwIGNvbHVtbigxLCAxMCkgMCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoMTIwMCkge1xuICAgIHdpZHRoOiBjb2x1bW4oMywgMTApO1xuICAgIG1hcmdpbjogMCBjb2x1bW4oMSwgMTApO1xuICB9XG5cbiAgaDIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICB9XG5cbiAgLmMtYnV0dG9uLS1naG9zdCB7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgY29sb3I6IHBhbGV0dGUodGV4dCwgNDAwKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgfVxuICB9XG59XG5cbi5jLWN0YS1mcmVkZXJpYy0tcmlnaHQge1xuICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICB3aWR0aDogY29sdW1uKDUsIDEwKTtcbiAgfVxuXG4gIC5mcmVkZXJpYywgLmpvYi10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLmZyZWRlcmljIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBAaW5jbHVkZSBtcSgxMDYwKSB7XG4gICAgICB3aWR0aDogY29sdW1uKDIsIDUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDI5JTtcbiAgICAgIEBpbmNsdWRlIG1xKDEwNjApIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5qb2ItdGl0bGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1xKDEwNjApIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBmb250LWZhbWlseShwcmltYXJ5KTtcbiAgICAgIC8vQGluY2x1ZGUgZm9udC1mYW1pbHkoYmFzZSk7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBAaW5jbHVkZSBmb250KGxhcmdlLCAzMiwgNjAwKTtcbiAgICB9XG5cbiAgICBoNHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBAaW5jbHVkZSBmb250LWZhbWlseShiYXNlKTtcbiAgICAgIEBpbmNsdWRlIGZvbnQobWlkLCAzMSwgNDAwKTtcbiAgICAgIGNvbG9yOiBwYWxldHRlKHRleHQsIDQwMCk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBmb250KHNtYWxsLCAxOCk7XG4gICAgICBjb2xvcjogcGFsZXR0ZSh0ZXh0LCA0MDApO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuYy1jdGEtam9icyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoZGFyayk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA0MHB4IDAgMzBweCAwO1xuXG4gIEBpbmNsdWRlIG1xKDkwMCkge1xuICAgIHBhZGRpbmc6IDQwcHggMCAyMHB4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgxNDAwKSB7XG4gICAgd2lkdGg6IGNvbHVtbigxMCwgMTIpO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC01OXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCBwYWxldHRlKGRhcmspIDYwcHgpIC0zNXB4IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgfVxuXG4gIGgyLCAuYy1idXR0b24ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogY29sdW1uKDEwLCAxMik7XG5cbiAgICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICAgIHdpZHRoOiAzNjBweDtcbiAgICB9XG4gIH1cblxuICAuYy1idXR0b24ge1xuICAgIGNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG4gICAgQGluY2x1ZGUgZmxleChjZW50ZXIpO1xuICAgIHRvcDogMzBweDtcbiAgfVxuXG59XG4iLCIuYy1jdGEtdGV4dCB7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICA+IC5jLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBjb2xvcjogcGFsZXR0ZSh0ZXh0LCA0MDApO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG5cbiAgLm8tYmxvY2stYmxhY2sgJiB7XG5cbiAgICBoMi5vbi1saWdodCB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgPiAuYy1idXR0b24ge1xuICAgICAgY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcbiAgICB9XG4gIH1cbn0iLCIuYy1maWNoZXMtd3JhcHBlciB7XG59XG5cbi5jLWZpY2hlcyB7XG4gIEBpbmNsdWRlIG1xKDgwMCkge1xuICAgIG1hcmdpbjogY29sdW1uKC0wLjI1LCA4KSBjb2x1bW4oLTAuMjUsIDgpIDAgY29sdW1uKC0wLjI1LCA4KTtcbiAgfVxuICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQgd3JhcCk7XG5cbiAgJi50ZXh0IHtcbiAgICBAaW5jbHVkZSBtcShudWxsLCA5MDApIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyIHdyYXApO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW46IDMwcHggY29sdW1uKDAuNSwgOCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmMtZmljaGVzX190aXRsZSB7XG4gIGNvbG9yOiBwYWxldHRlKGRhcmspO1xuICBwYWRkaW5nOiAzMHB4IDAgNjBweCAwO1xufVxuXG4uYy1maWNoZXNfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1iYXNpczogNTAlO1xuICBtYXgtd2lkdGg6IDQ0LjQlO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbjogY29sdW1uKDAuMTI1LCA5KSBjb2x1bW4oMC4yNSwgOSk7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogc29saWQgMXB4IHBhbGV0dGUoZGFyayk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDQ4JSwgcGFsZXR0ZShkYXJrKSA1MCUsIHRyYW5zcGFyZW50IDUyJSk7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMXB4O1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogMCAyNnB4IDI2cHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgcGFsZXR0ZShzZWNvbmRhcnksIDEwMCk7XG4gIH1cbn1cblxuLmMtZmljaGVzX19ib2R5IHtcbiAgY29sb3I6IHBhbGV0dGUoZGFyayk7XG4gIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCBjZW50ZXIpO1xufVxuXG5cblxuLmMtZmljaGVzX19uYW1lIHtcbiAgQGluY2x1ZGUgZm9udChtaWQsIDMyLCA1MDApO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHBhbGV0dGUoZGFyayk7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4uYy1maWNoZXNfX2Z1bmN0aW9uIHtcbiAgQGluY2x1ZGUgZm9udChzbWFsbCwgMzIsIDQwMCk7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDQwMCk7XG59XG5cblxuLy8vIFRleHQgZmljaGVzXG5cbi5jLWZpY2hlc19fdGV4dGl0ZW0ge1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgZmxleC1iYXNpczogMjQwcHg7XG4gIG1heC13aWR0aDogMzQwcHg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luOiBjb2x1bW4oMC4yNSwgOSk7XG5cbiAgLmMtY2FyZF9fYm9keSB7XG4gICAgcGFkZGluZzogNTBweCAzMHB4IDAgMzBweDtcbiAgICBtaW4taGVpZ2h0OiAxMTVweDtcbiAgfVxuXG4gIC5jLWNhcmRfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLmMtY2FyZF9fY29udGVudCB7XG4gICAgY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcbiAgfVxufVxuXG4uYy1maWNoZXNfX3RleHRib2R5IHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBjb2xvcjogcGFsZXR0ZShkYXJrKTtcbiAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0IHNwYWNlLWJldHdlZW4pO1xuICBtaW4td2lkdGg6IDM0MHB4O1xufVxuXG5cbi5jLWZpY2hlc19fcXVvdGVzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufSIsIi5jLWZsYXNoLW1lc3NhZ2UtY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1mbGFzaC1tZXNzYWdlIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogLTgwJTtcblx0bGVmdDogNTAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHBhZGRpbmc6IDVweCAxNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG5cdGZvbnQtc2l6ZTogMC42cmVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IHdoaXRlO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01cHgsIDApO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLThweDtcblx0XHRsZWZ0OiBjYWxjKDUwJSAtIDcuNXB4KTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItd2lkdGg6IDAgNy41cHggOHB4IDcuNXB4O1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgcGFsZXR0ZShhY3Rpb24pIHRyYW5zcGFyZW50O1xuXHR9XG5cblx0Ji5jbGlja2VkIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG5cdH1cbn0iLCIvKipcbiAqIE5hdmlnYXRpb24gaW4gdGhlIGZvb3RlciB0aGF0IGhhcyBhIHVuaXF1ZSBsYXlvdXRcbiAqXG4gKi9cblxuJGZvb3Rlcl9fbmF2LWJwLS1tZWRpdW06IDU0MDtcbiRmb290ZXJfX25hdi1icC0tbGFyZ2U6IDEwMDA7XG4kZm9vdGVyX19pdGVtLWxpbmUtaGVpZ2h0OiAyODtcblxuLmMtZm9vdGVyIHtcblx0QGluY2x1ZGUgeih6LWZvb3Rlcik7XG5cdGNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShkYXJrKTtcbn1cblxuLmMtZm9vdGVyX19uYXYge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRncmlkLW1haW4tLXNwbGl0LWNvbHVtbnM7XG5cdHBhZGRpbmctYm90dG9tOiA5MHB4O1xufVxuXG4uYy1mb290ZXJfX2NvbHVtbiB7XG5cdG1hcmdpbjogNzBweCAwIDAgMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Z3JpZC1jb2x1bW46IDMgLyAtMztcblxuXG5cdC8vIFN0YWNrIGNvbHVtbnMgdW5kZXIgZWFjaCBvdGhlclxuXHRAaW5jbHVkZSBtcSgkbWF4OiAkZm9vdGVyX19uYXYtYnAtLW1lZGl1bSkge1xuXHRcdG1hcmdpbi10b3A6IDM1cHg7XG5cblx0XHRAZm9yICRpIGZyb20gMiB0aHJvdWdoIDQge1xuXHRcdFx0JjpudGgtY2hpbGQoI3skaX0pIHtcblx0XHRcdFx0Z3JpZC1yb3c6ICRpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblx0Ly8gTWFrZSBhIDJ4MiBncmlkXG5cdEBpbmNsdWRlIG1xKCRmb290ZXJfX25hdi1icC0tbWVkaXVtLCAkZm9vdGVyX19uYXYtYnAtLWxhcmdlKXtcblx0XHRncmlkLWNvbHVtbjogMyAvIDEyO1xuXG5cdFx0JjpudGgtY2hpbGQoZXZlbil7XG5cdFx0XHRncmlkLWNvbHVtbjogMTQgLyAtMztcblx0XHR9XG5cdFx0JjpudGgtY2hpbGQobiszKXtcblx0XHRcdGdyaWQtcm93OiAyO1xuXHRcdH1cblx0XHQmOm50aC1jaGlsZChuKzUpe1xuXHRcdFx0Z3JpZC1yb3c6IDM7XG5cdFx0fVxuXHR9XG5cblxuXHQvLyBNYWtlIGEgc3BlY2lhbCA0IGluIGEgcm93IGdyaWQsIHdpdGggYSBvZmZzZXQgdG8gdGhlIGxlZnQsIGFuZCBhIHNtYWxsZXIgbGFzdCBjb2x1bW5cblx0QGluY2x1ZGUgbXEoJGZvb3Rlcl9fbmF2LWJwLS1sYXJnZSl7XG5cdFx0JGNvbHVtbi1zdGFydDogMTtcblx0XHQkY29sdW1uLXdpZHRoOiA0O1xuXHRcdGdyaWQtY29sdW1uOiAkY29sdW1uLXN0YXJ0IC8gKCN7JGNvbHVtbi1zdGFydCArICRjb2x1bW4td2lkdGh9KTtcblxuXHRcdEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggNSB7XG5cdFx0XHQmOm50aC1jaGlsZCgjeyRpfSl7XG5cdFx0XHRcdCRzdGFydDogKCRpICogNikgLSA0O1xuXHRcdFx0XHRncmlkLWNvbHVtbjogI3skc3RhcnR9IC8gI3skc3RhcnQgKyAkY29sdW1uLXdpZHRofTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOm50aC1jaGlsZCg0KSB7XG5cdFx0XHRncmlkLWNvbHVtbjogMTkvMjU7XG5cdFx0fVxuXHRcdCY6bnRoLWNoaWxkKDUpIHtcblx0XHRcdGdyaWQtY29sdW1uOiAyNS8zMDtcblx0XHR9XG5cdH1cbn1cblxuLmMtZm9vdGVyX19pdGVtIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRAaW5jbHVkZSBmb250KHgtc21hbGwsICRmb290ZXJfX2l0ZW0tbGluZS1oZWlnaHQpO1xuXHRjb2xvcjogcGFsZXR0ZShsaWdodCk7XG5cblx0YSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0Ji5waG9uZSB7XG5cdFx0Y29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdH1cblx0fVxufVxuXG4uYy1mb290ZXJfX2l0ZW0tLWdhcCB7XG5cdG1hcmdpbi10b3A6ICN7JGZvb3Rlcl9faXRlbS1saW5lLWhlaWdodH1weDtcbn1cblxuLmMtZm9vdGVyX19saW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSwgMzAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAxJSwgI3skZm9vdGVyX19pdGVtLWxpbmUtaGVpZ2h0IC0gNX1weCk7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBjb2xvcjtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBzY2FsZS1jb2xvcihwYWxldHRlKHNlY29uZGFyeSwgMzAwKSwgJGxpZ2h0bmVzczogMzAlKTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsICN7JGZvb3Rlcl9faXRlbS1saW5lLWhlaWdodCAtIDV9cHgpO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcblx0XHR9XG5cdH1cbn1cblxuLmMtZm9vdGVyX19saW5rLS1oYXMtbm8taG92ZXIge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtZm9vdGVyX19saW5rLS1oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHgyLXNtYWxsKTtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRjb2xvcjogd2hpdGU7XG5cblx0Jjpob3ZlciB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufSIsIi5jLWZvcm0tZWxlbWVudCB7fVxuXG4uYy1mb3JtLWVsZW1lbnQtLWhvbmV5e1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1mb3JtLWVsZW1lbnRfX2Vycm9yIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHgtc21hbGwpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHRleHQpO1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbi10b3A6IDA7XG5cbiAgJjpub3QoOmVtcHR5KSB7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uYy1mb3JtLWVsZW1lbnRfX2xhYmVsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgb3JkZXI6IDE7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG5cbiAgLmMtZm9ybS1lbGVtZW50X192YWx1ZTpmb2N1cyB+ICYge1xuICAgIC8vY29sb3I6IHBhbGV0dGUobGlnaHQpO1xuICB9XG59XG5cblxuLmMtZm9ybS1lbGVtZW50X19maWVsZCB7XG4gIG9yZGVyOiAyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogcGFsZXR0ZShwcmltYXJ5KTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHgtc21hbGwpO1xuICAgIGNvbG9yOiBwYWxldHRlKHRleHQsIDIwMCk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGZvbnQtc2l6ZTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuICB9XG5cbiAgLmhhcy1lcnJvciAmIHtcbiAgICBib3JkZXItY29sb3I6IHBhbGV0dGUodGV4dCk7XG4gIH1cblxuICBAYXQtcm9vdCB0ZXh0YXJlYSN7Jn0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxufSIsIi5jLWZvcm0tZmVlZGJhY2t7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDMwcHggNTBweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHRleHQpO1xuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoc21hbGwpO1xuXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShzbWFsbCk7XG4gIGNvbG9yOiB3aGl0ZTtcblxuICAmOm5vdCg6ZW1wdHkpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1mZWVkYmFjayk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICBsaTo6Zmlyc3QtbGV0dGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59IiwiLmMtaGVhZGVyIHtcbiAgQGluY2x1ZGUgeih6LWhlYWRlcik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNTBweCAwO1xufVxuXG4uYy1oZWFkZXJfX21haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2VlbiBjZW50ZXIpO1xuICBAaW5jbHVkZSBjb250YWluO1xuXG4gIEBpbmNsdWRlIG1xKDkwMCwgMTMwMCkge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICB9XG59XG5cbi5jLWhlYWRlcl9fbG9nbyB7XG4gIEBpbmNsdWRlIGZsZXgoY2VudGVyIGNlbnRlcik7XG4gIHdpZHRoOiAyNDBweDtcbiAgei1pbmRleDogNTtcbn1cblxuLmMtaGVhZGVyX19uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4OiAxO1xufVxuXG4uYy1oZWFkZXJfX292ZXJsYXktYnV0dG9uIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gID4gKiB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzO1xuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC44LCAxLCAxKTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ1LCAxLCAxKTtcbiAgICB9XG4gIH1cblxuICA+ICogKyAqIHtcbiAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgID4gKiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnRlY2huaWNhbC1maWNoZS1tYXRlcmlhbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwcHg7XG4gIGxlZnQ6IDA7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNjAlO1xuICAgIGhlaWdodDogMzAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtMzVkZWcsICByZ2JhKDAsMCwxOSwwKSAyNSUsIHJnYmEoMCwwLDE5LDEpIDcwJSk7IC8qIEZGMy42LTE1ICovXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTM1ZGVnLCAgcmdiYSgwLDAsMTksMCkgMjUlLHJnYmEoMCwwLDE5LDEpIDcwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0zNWRlZywgIHJnYmEoMCwwLDE5LDApIDI1JSxyZ2JhKDAsMCwxOSwxKSA3MCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDEzJywgZW5kQ29sb3JzdHI9JyMwMDAwMTMnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi9cbiAgfVxuXG4gIC5jLW5hdl9fbGluayB7XG4gICAgcGFkZGluZzogN3B4IDIwcHggN3B4IDEwcHg7XG4gICAgY29sb3I6IHBhbGV0dGUoZGFyayk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICBib3JkZXItd2lkdGg6IDE2cHggMTZweCAwIDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCBwYWxldHRlKGRhcmspO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHBhbGV0dGUoZGFyayk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcihwYWxldHRlKGFjdGlvbiksICRsaWdodG5lc3M6IC0yMCUpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIExhcmdlIHZpZXdwb3J0IGdldHMgYSBzdGFja2VkIG5hdmlnYXRpb24gdGhhdCB0b2dnbGVzIHdpdGggYSBoYW1idXJnZXIgYnV0dG9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbkBpbmNsdWRlIG1xKCRvdmVybGF5LW1lbnUpIHtcbiAgLmMtaGVhZGVyX19sb2dvIHtcbiAgICBmbGV4OiAwIDAgMjQwcHg7XG4gIH1cbiAgLmMtaGVhZGVyX19uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5jLWhlYWRlcl9fb3ZlcmxheS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmVcbiAgfVxufSIsIi5jLWhvbWUtaGVhZGVyLXN0cmVhbWVyIHtcblx0cGFkZGluZzogMTB2aCAwIDV2aDtcblx0QGluY2x1ZGUgZmxleChjZW50ZXIgZmxleC1zdGFydCBjb2x1bW4pO1xufVxuXG4uYy1ob21lLWhlYWRlci1zdHJlYW1lcl9fY29udGVudCB7XG5cdEBpbmNsdWRlIG1xKDY1MCkge1xuXHRcdG1heC13aWR0aDogNTc1cHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgxMjAwKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cbn1cblxuLmMtaG9tZS1oZWFkZXItc3RyZWFtZXJfX3RleHQge1xuXHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjc1O1xufSIsIiRjLWljb24tYnV0dG9uLXNpemU6IDQwcHg7XG5cbi5jLWljb24tYnV0dG9uIHtcblx0QGluY2x1ZGUgZmxleChpbmxpbmUgY2VudGVyKTtcblx0d2lkdGg6ICRjLWljb24tYnV0dG9uLXNpemU7XG5cdGhlaWdodDogJGMtaWNvbi1idXR0b24tc2l6ZTtcblx0Y29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYShwYWxldHRlKGFjdGlvbiksIDAuMyk7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXIsIGJveC1zaGFkb3c7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjVzO1xuXHRvdXRsaW5lOiBub25lO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IocGFsZXR0ZShhY3Rpb24pLCAkbGlnaHRuZXNzOiAtMzAlKTtcblx0XHRjb2xvcjogcGFsZXR0ZShsaWdodCk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRAaW5jbHVkZSBib3gtc2hhZG93KGxvdyk7XG5cdH1cblxuXHQmW2RhdGEtaWNvbi1kaXJlY3Rpb249XCJyZXZlcnNlXCJdIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcblx0fVxufSIsIi5jLWltYWdlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cblx0QGluY2x1ZGUgbXEoOTAwKSB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG5cblx0Ly9cbiAgICAvL1xuXHQvLyYgPiBpbWcge1xuXHQvL1x0ZGlzcGxheTogYmxvY2s7XG5cdC8vXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vXHR3aWR0aDogMTAwJTtcblx0Ly9cdG1pbi1oZWlnaHQ6IDEzMHB4O1xuXHQvL1x0dGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vXG5cdC8vXHQmOmJlZm9yZSB7XG5cdC8vXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG5cdC8vXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZShzbWFsbCk7XG5cdC8vXHRcdGNvbnRlbnQ6IFwiV2UncmUgc29ycnksIHRoaXMgaW1hZ2UgaXMgYnJva2VuIDooXCI7XG5cdC8vXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHQvL1x0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdC8vXHRcdHRvcDogLTEwcHg7XG5cdC8vXHRcdGxlZnQ6IDA7XG5cdC8vXHRcdGhlaWdodDogY2FsYygxMDAlICsgMjBweCk7XG5cdC8vXHRcdHdpZHRoOiAxMDAlO1xuXHQvL1x0XHRwYWRkaW5nOiAxNXB4O1xuXHQvL1x0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwpO1xuXHQvL1x0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9rbXMvZHluYW1pYy9pbWFnZS5zdmcpO1xuXHQvL1x0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHQvL1x0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gMjBweCBjZW50ZXI7XG5cdC8vXHRcdGJhY2tncm91bmQtc2l6ZTogMTMwcHg7XG5cdC8vXHRcdGJvcmRlcjogMnB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0Ly9cdH1cblx0Ly99XG59XG5cbi5jLWltYWdlX19wbGFjZWhvbGRlcntcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiA2Ni42NyU7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcva21zL2R5bmFtaWMvaW1hZ2Uuc3ZnXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogMjAwcHggYXV0bztcblxuXHRAaW5jbHVkZSBtcSg5MDApIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblxuXHQmLS12aWRlb3tcblx0XHRwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gMTYgKiA5KTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2ttcy9keW5hbWljL3ZpZGVvLWJsb2NrLnN2Z1wiKTtcblx0fVxufVxuXG4iLCIuYy1sYW5ndWFnZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdHBhZGRpbmctdG9wOiA0MnB4O1xuXG5cdEBpbmNsdWRlIG1xKDkwMCwgMTMwMCkge1xuXHRcdHRvcDogLTIwcHg7XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2N1cnJlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMTNweCAyNXB4IDEzcHggMTVweDtcblxuXHRAaW5jbHVkZSBtcSg5MDAsIDEzMDApIHtcblx0XHRwYWRkaW5nOiA4cHggMjVweCA4cHggMTVweDtcblx0fVxuXG5cdGNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG5cdEBpbmNsdWRlIGZvbnQoYmFzZSwgMjIpO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0QHN1cHBvcnRzKGNsaXAtcGF0aDogcG9seWdvbihjYWxjKDEwMCUgLSAxOHB4KSAwLCAxMDAlIDE4cHgsIDEwMCUgMTAwJSwgMCAxMDAlLCAwIDApICkge1xuXHRcdGNsaXAtcGF0aDogcG9seWdvbihjYWxjKDEwMCUgLSAxOHB4KSAwLCAxMDAlIDE4cHgsIDEwMCUgMTAwJSwgMCAxMDAlLCAwIDApO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgMTcuNXB4IDE3LjVweCAwO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgcGFsZXR0ZShhY3Rpb24pO1xuXHRcdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cywgJjpob3Zlcixcblx0Ji5jLWJ1dHRvbi0tZ2hvc3Q6aG92ZXI6bm90KDpkaXNhYmxlZCl7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRjb2xvcjogcGFsZXR0ZShkYXJrKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG5cblx0XHQuYy1sYW5ndWFnZV9fYXJyb3cge1xuXHRcdFx0Y29sb3I6IHBhbGV0dGUoZGFyayk7XG5cdFx0fVxuXG5cdFx0QHN1cHBvcnRzKGNsaXAtcGF0aDogcG9seWdvbihjYWxjKDEwMCUgLSAxOHB4KSAwLCAxMDAlIDE4cHgsIDEwMCUgMTAwJSwgMCAxMDAlLCAwIDApICkge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgcGFsZXR0ZShkYXJrKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duXG57XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiBjYWxjKDEwMCUgLSAxcHgpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoZGFyayk7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHQvL3BhZGRpbmc6IDAgMCA1cHg7XG5cdG1hcmdpbjogMDtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xuXG5cdC5jLWxhbmd1YWdlOmhvdmVyICZ7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxuXG59XG5cbi5jLWxhbmd1YWdlX19saW5re1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogMTNweDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG5cdCY6aG92ZXJ7XG5cdFx0Y29sb3I6IHBhbGV0dGUoZGFyayk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuXHR9XG59XG5cbi5jLWxhbmd1YWdlX19hcnJvdyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMztcblx0cmlnaHQ6IDEycHg7XG5cdHRvcDogMjBweDtcblx0Zm9udC1zaXplOiA4cHg7XG5cdGNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdEBpbmNsdWRlIG1xKDkwMCwgMTMwMCkge1xuXHRcdHRvcDogMTVweDtcblx0fVxufSIsIi5jLW5hdiB7XG5cdEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCBjZW50ZXIpO1xufVxuXG4uYy1uYXZfX2xpc3Qge1xuXHRAaW5jbHVkZSBmbGV4KGNlbnRlcik7XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHdpZHRoOiA2NSU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcSg5MDAsIDEzMDApIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0d2lkdGg6IDgwJTtcblx0fVxufVxuXG4uYy1uYXZfX2l0ZW0ge1xuXHRAaW5jbHVkZSBmb250KGJhc2UsIDIyKTtcblx0QGluY2x1ZGUgZmxleChjZW50ZXIpO1xuXHRmbGV4OiAxIDAgYXV0bztcblx0bWFyZ2luLXRvcDogMDtcblxuXHRAaW5jbHVkZSBtcSg5MDAsIDEzMDApIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHR9XG5cblxuXHQmICsgJiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdH1cbn1cblxuLmMtbmF2X19saW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAyMHB4IDA7XG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Y29sb3I6IHdoaXRlO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMXJlbTtcblx0XHRsZWZ0OiAtMTAxJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGNvbG9yO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHR9XG5cblx0LmlzLWFjdGl2ZSAmIHtcblx0XHQvL3BvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDElLCAwKTtcblx0XHR9XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMSUsIDApO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcblx0XHR9XG5cdH1cbn1cblxuLmMtbmF2X19pY29uIHtcblx0bWFyZ2luLWxlZnQ6IDdweDtcblx0Y29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcbn1cblxuLmMtbmF2X19hY3Rpb25zIHtcblx0QGluY2x1ZGUgZmxleChjZW50ZXIpO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiA0MHB4O1xuXHR0b3A6IC0yMHB4O1xuXG5cdEBpbmNsdWRlIG1xKDkwMCwgMTMwMCkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHR0b3A6IDA7XG5cdH1cblxuXHQucGhvbmUsIC5sYW5ndWFnZSB7XG5cdFx0QGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0IGNvbHVtbik7XG5cblx0XHRAaW5jbHVkZSBtcSg5MDAsIDEzMDApIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCBjZW50ZXIpO1xuXHRcdFx0dG9wOiAtMjBweDtcblx0XHR9XG5cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Y29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblxuXHRcdGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblxuXHRcdC5jLWJ1dHRvbiB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nOiAxNHB4IDIwcHg7XG5cdFx0XHRAaW5jbHVkZSBtcSg5MDAsIDEzMDApIHtcblx0XHRcdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdFx0fVxuXHRcdFx0QHN1cHBvcnRzKGNsaXAtcGF0aDogcG9seWdvbihjYWxjKDEwMCUgLSAxOHB4KSAwLCAxMDAlIDE4cHgsIDEwMCUgMTAwJSwgMCAxMDAlLCAwIDApICkge1xuXHRcdFx0XHRjbGlwLXBhdGg6IHBvbHlnb24oY2FsYygxMDAlIC0gMThweCkgMCwgMTAwJSAxOHB4LCAxMDAlIDEwMCUsIDAgMTAwJSwgMCAwKTtcblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDE3LjVweCAxNy41cHggMDtcblx0XHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgcGFsZXR0ZShhY3Rpb24pO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHBhbGV0dGUoZGFyayk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRAaW5jbHVkZSBmb250KHNtYWxsLCAyMik7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAycHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAxOHB4O1xuXHRcdFx0Y29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblxuXHRcdFx0QGluY2x1ZGUgbXEoOTAwLCAxMzAwKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0fVxuXHR9XG5cblx0Lmxhbmd1YWdlIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblxuXHRcdEBpbmNsdWRlIG1xKDkwMCwgMTMwMCkge1xuXHRcdFx0dG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdC5sb2dpbi1idXR0b24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHR0b3A6IC00NXB4O1xuXHRcdHBhZGRpbmc6IDdweCAxMHB4IDdweCAxNXB4O1xuXHRcdGNvbG9yOiBwYWxldHRlKGRhcmspO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG5cdFx0QHN1cHBvcnRzKGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAxNnB4IDEwMCUsIDAgY2FsYygxMDAlIC0gMTZweCkpKSB7XG5cdFx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMTZweCAxMDAlLCAwIGNhbGMoMTAwJSAtIDE2cHgpKTtcblx0XHR9XG5cdH1cbn0iLCIvLyBNYWdpYyBudW1iZXIgd2hlcmUgdGhlIG9wdGlvbiBtZW51IHNob3VsZCBjaGFuZ2UgbGF5b3V0XG4kb3B0aW9ucy1tZW51LWJwOiA4NDA7XG5cbi5jLW9wdGlvbnMtbWVudSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIEBpbmNsdWRlIG1xKCRtYXg6ICRvcHRpb25zLW1lbnUtYnApe1xuICAgIEBpbmNsdWRlIGZsZXgoc3BhY2UtYmV0d2Vlbik7XG4gIH1cbn1cblxuLmMtb3B0aW9ucy1tZW51X19zZWdtZW50IHtcbiAgQGluY2x1ZGUgbXEoJG9wdGlvbnMtbWVudS1icCkge1xuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuICB9XG59XG5cbi5jLW9wdGlvbnMtbWVudV9fbGFiZWwge1xuICBAaW5jbHVkZSBmb250KHNtYWxsLCAkd2VpZ2h0OiA1MDApO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogcGFsZXR0ZSh0ZXh0LCAxMDApO1xuXG4gIEBpbmNsdWRlIG1xKCRtYXg6ICRvcHRpb25zLW1lbnUtYnApe1xuICAgIC5jLW9wdGlvbnMtbWVudV9fc2VnbWVudDpsYXN0LWNoaWxkICYge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59IiwiLnBhZ2VUcmFuc2l0aW9uT3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMTclO1xuICB3aWR0aDogMTM0JTtcbiAgaGVpZ2h0OiAxMjAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGRhcmspO1xuICB6LWluZGV4OiA5OTk7XG4gIC8vb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEyMCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuXG4gICYuZG93biB7XG4gICAgLy9vcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgJi5kb25lIHtcbiAgICAvL29wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTIwJSk7XG4gIH1cbn1cblxuLmMtdHJhZGVtYXJrX190ZXh0IHtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59IiwiJGMtcGFnaW5hdGlvbi10ZXh0LWNvbG9yOiByZ2JhKHBhbGV0dGUodGV4dCwgNDAwKSwgMC41KTtcblxuLmMtcGFnaW5hdGlvbiB7XG5cdEBpbmNsdWRlIGZsZXgoY2VudGVyKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuXHRAaW5jbHVkZSBmbGV4KGNlbnRlcik7XG5cdEBpbmNsdWRlIGZvbnQoeC1zbWFsbCwgMTYsIDUwMCk7XG5cdGNvbG9yOiBzY2FsZS1jb2xvcigkYy1wYWdpbmF0aW9uLXRleHQtY29sb3IsICRsaWdodG5lc3M6IDY1JSk7XG59XG5cbi5jLXBhZ2luYXRpb25fX2xpbmsge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRjb2xvcjogJGMtcGFnaW5hdGlvbi10ZXh0LWNvbG9yO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuXHQmOmxpbms6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKHRleHQpO1xuXHRcdGJhY2tncm91bmQ6IHBhbGV0dGUobmV1dHJhbCk7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdH1cbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHQge1xuXHRAaW5jbHVkZSBmbGV4KHN0cmV0Y2ggY2VudGVyKTtcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMjBweDtcbn0iLCIuYy1wcm9qZWN0LWdyaWQge1xuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gIH1cbiAgcGFkZGluZzogMDtcbiAgQGluY2x1ZGUgbXEoMTQwMCkge1xuICAgIHBhZGRpbmc6IDMwcHggY29sdW1uKDEsIDEyKSAwIGNvbHVtbigxLCAxMik7XG4gIH1cbn1cblxuJGMtY29sbGVhZ3Vlcy1pdGVtLXNpemU6IDI0MHB4O1xuJGMtY29sbGVhZ3Vlcy1nYXA6IGNvbHVtbigxLCA4KTtcblxuLmMtcHJvamVjdC1ncmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIG1xKDgwMCkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcm93LWdhcDogNjBweDtcbiAgICBjb2x1bW4tZ2FwOiBjb2x1bW4oMSwgMTApO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxufVxuXG4uYy1wcm9qZWN0LWdyaWRfX2l0ZW0ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIEBpbmNsdWRlIG1xKG51bGwsIDgwMCkge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbiAgJjpudGgtY2hpbGQoMikge1xuICAgIEBpbmNsdWRlIG1xKDgwMCkge1xuICAgICAgZ3JpZC1yb3c6IHNwYW4gMjtcblxuICAgICAgLmMtcHJvamVjdC1ncmlkX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ1cHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmMtcHJvamVjdC1ncmlkX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZThlYjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1wcm9qZWN0LWdyaWRfX2JvZHkge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbi5jLXByb2plY3QtZ3JpZF9fbmFtZSB7XG4gIEBpbmNsdWRlIGZvbnQobWlkLCAzMiwgNTAwKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiBwYWxldHRlKGRhcmspO1xufVxuXG4uYy1wcm9qZWN0LWdyaWRfX2Z1bmN0aW9uIHtcbiAgQGluY2x1ZGUgZm9udChzbWFsbCwgMzIsIDQwMCk7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDQwMCk7XG59XG4iLCIvKipcbiAqIFdyYXBwZXIgb2YgdGhlIG1haW4gYm9keVxuICogKGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGZvb3RlcilcbiAqL1xuXG4uYy10ZXh0LWltYWdlIHtcblx0Ji5jLXByb2plY3QtY29udGVudCB7XG5cdFx0Ly9wYWRkaW5nOiAwIGNvbHVtbigxLCAxMik7XG5cblx0XHQucy1pbWFnZSB7XG5cdFx0XHRAaW5jbHVkZSBtcSg5MDApIHtcblx0XHRcdFx0d2lkdGg6IGNvbHVtbig2LjUsIDEyKTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdFx0XHR9XG5cdFx0XHRmbGV4LXNocmluazogMDtcblxuXHRcdFx0LmMtc2xpZGUtcHJvamVjdG9yX19zbGlkZSxcblx0XHRcdC5jLXNsaWRlLXByb2plY3Rvcl9faW1nIHtcblx0XHRcdFx0QGluY2x1ZGUgbXEobnVsbCwgMTIwMCkge1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5jLXNsaWRlLXByb2plY3Rvcl9fY29udHJvbCB7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0cmlnaHQ6IC0zMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zLXRleHQge1xuXHRcdFx0QGluY2x1ZGUgbXEoOTAwKSB7XG5cdFx0XHRcdHdpZHRoOiBjb2x1bW4oMy41LCAxMik7XG5cdFx0XHRcdG1hcmdpbjogMCBjb2x1bW4oMC43NSwgMTIpIDYwcHggY29sdW1uKDAuNSwgMTIpO1xuXHRcdFx0fVxuXHRcdFx0cGFkZGluZzogNjBweCA1MHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShkYXJrKTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdG1pbi1oZWlnaHQ6IDM3NXB4O1xuXHRcdFx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcblxuXHRcdFx0QGluY2x1ZGUgbXEoMTAyOCkge1xuXHRcdFx0XHRtYXJnaW46IDAgY29sdW1uKDEsIDEyKTtcblx0XHRcdH1cblxuXHRcdFx0dWwuaGV4IHtcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0bWFyZ2luOiAzMHB4IDA7XG5cblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQobWlkLCAyOSwgNDAwKTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG5cdFx0XHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdGxlZnQ6IC0yMHB4O1xuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0XHRcdHdpZHRoOiA4cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDVweDtcblx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogMCAycHg7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogLTRweDtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDRweCBzb2xpZDtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIkYy1yYXRpbmctYnA6IDY3MDsgLy8gV2hlbiB0byBjaGFuZ2UgZnJvbSBjb2x1bW4gdG8gcm93IHZpZXdcblxuLmMtcmF0aW5nIHtcblx0QGluY2x1ZGUgYm94LXNoYWRvdztcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhsYXJnZSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdG1heC13aWR0aDogNTU1cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobGlnaHQpO1xufVxuXG4uYy1yYXRpbmdfX2xpbmsge1xuXHRwYWRkaW5nOiAzMHB4IDIwcHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCwgMjAwKTtcbn1cbi5jLXJhdGluZ19fc3RhcnMge1xuXHRAaW5jbHVkZSBmbGV4KGNlbnRlcik7XG5cdHBhZGRpbmc6IDAgMjBweDtcblx0aGVpZ2h0OiA2MHB4O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59IiwiLmMtcmVmZXJlbmNlcy13cmFwcGVyIHtcbn1cblxuLmMtcmVmZXJlbmNlc19fbG9nb3MtYXJlYSB7XG4gIEBpbmNsdWRlIG1xKDEyODApIHtcbiAgICBwYWRkaW5nOiAwIGNvbHVtbigxKTtcbiAgfVxufVxuXG4uYy1yZWZlcmVuY2VzX190aXRsZSB7XG4gIGNvbG9yOiBwYWxldHRlKGRhcmspO1xuICBAaW5jbHVkZSBmb250KGJhc2UsIDIwLCA0MDApO1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuXG4uYy1yZWZlcmVuY2VzX19pbWFnZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTJweDtcbiAgICBib3R0b206IC0ycHg7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCA2MnB4IDYycHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBwYWxldHRlKHNlY29uZGFyeSwgMTAwKSB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uYy1yZWZlcmVuY2VzX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZlOGViO1xufVxuXG5cbi5jLXJlZmVyZW5jZXNfX2xvZ29zIHtcblxuICA+ICoge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJG1heDogNTAwKSB7XG4gICAgPiAqICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xKDUwMCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IC00MHB4O1xuXG4gICAgPiAqIHtcbiAgICAgIG1hcmdpbjogNDBweDtcbiAgICAgIG1heC13aWR0aDogMTgwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1xKDYyMCkge1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi5jLXJlZmVyZW5jZXNfX25hbWUge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBAaW5jbHVkZSBmb250KG1pZCwgMjQsIDUwMCk7XG4gIGNvbG9yOiBwYWxldHRlKGRhcmspO1xufVxuXG4uYy1yZWZlcmVuY2VzX19mdW5jdGlvbiB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgQGluY2x1ZGUgZm9udChzbWFsbCwgMjQsIDQwMCk7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDQwMCk7XG59XG5cblxuLy8vIFRleHQgcmVmZXJlbmNlc1xuXG4uYy1yZWZlcmVuY2VzX19pdGVtIHtcbiAgLmMtY2FyZF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuYy1jYXJkX19jb250ZW50IHtcbiAgICBjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICB9XG4gIC5jLWNhcmRfX2lubmVyLWJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbn1cblxuLmMtcmVmZXJlbmNlc19fY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgY29sb3I6IHBhbGV0dGUoZGFyayk7XG4gIC8vQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0IHNwYWNlLWJldHdlZW4pO1xufVxuXG4uYy1yZWZlcmVuY2VzX19xdW90ZXMge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDI1cHggMTJweCAwO1xuICB3aWR0aDogMzJweDtcbn0iLCIuYy1zZXJ2aWNlc19ncmlkIHtcbiAgcGFkZGluZzogMDtcbiAgQGluY2x1ZGUgZmxleChjZW50ZXIgc3BhY2UtYmV0d2VlbiBjb2x1bW4pO1xuXG4gIC8vQGluY2x1ZGUgbXEobnVsbCwgMTQyNSkge1xuICAvLyAgZmxleC13cmFwOiB3cmFwO1xuICAvL31cbiAgLy9cbiAgLy9AaW5jbHVkZSBtcSgxMjAwKSB7XG4gIC8vICBwYWRkaW5nOiAwIGNvbHVtbigxLCAxMik7XG4gIC8vfVxuICBAaW5jbHVkZSBtcSgxMDAwKSB7XG4gICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0IHNwYWNlLWJldHdlZW4pO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIGFydGljbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgQGluY2x1ZGUgbXEoMTAwMCkge1xuICAgICAgd2lkdGg6IGNvbHVtbig1LjUsIDEyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgfVxuICAgIC8vbWluLXdpZHRoOiA0ODBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyY6bnRoLWNoaWxkKDJuKSB7XG4gICAgLy8gIEBpbmNsdWRlIG1xKDEwMDApIHtcbiAgICAvLyAgICBtYXJnaW4tdG9wOiAtMTQwcHg7XG4gICAgLy8gIH1cbiAgICAvL31cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZmxleChjb2x1bW4pO1xuICAgICAgQGluY2x1ZGUgbXEoNDI1KSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoc3RyZXRjaCk7XG4gICAgICB9XG4gICAgICBjb2xvcjogcGFsZXR0ZShkYXJrKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIGJveC1zaGFkb3cgMC4zcztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKHBhbGV0dGUoYWN0aW9uKSwgJGxpZ2h0bmVzczogLTQwJSk7XG5cbiAgICAgICAgLnRleHQgaDQge1xuICAgICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcihwYWxldHRlKGFjdGlvbiksICRsaWdodG5lc3M6IC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IocGFsZXR0ZShhY3Rpb24pLCAkbGlnaHRuZXNzOiAtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IocGFsZXR0ZShhY3Rpb24pLCAkbGlnaHRuZXNzOiAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweCAzMHB4IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoNDI1KSB7XG4gICAgICAgICAgcGFkZGluZzogNjBweCAzMHB4IDYwcHggMDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgaDQge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBtcSg0MjUpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseShiYXNlKTtcbiAgICAgICAgICBAaW5jbHVkZSBmb250KG1pZCwgMzEsIDYwMCk7XG4gICAgICAgICAgY29sb3I6IHBhbGV0dGUodGV4dCwgNDAwKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgNXB4IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGNvbG9yOiBwYWxldHRlKHRleHQsIDQwMCk7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRtYXg6IDQyNSkge1xuICAgICAgICAgIHBhZGRpbmc6IDI1cHggMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoNDI1KSB7XG4gICAgICAgICAgbWFyZ2luOiAwIGNvbHVtbigwLjUsIDUuNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnBvd2VyIHtcbiAgICAgICAgICB3aWR0aDogODBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1xKDQyNSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGNhbGMoOS4wOTA5MDkwOTA5JSAtIDIwcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYXJyb3cge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgQGluY2x1ZGUgZmxleChmbGV4LWVuZCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoNDI1KSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIpO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShkYXJrKTtcbiAgICAgICAgY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIHBhbGV0dGUoc2Vjb25kYXJ5LCAxMDApIDYwcHgpIC0zNXB4IDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xuICAgIH1cbiAgfVxufSIsIi8vIE1hZ2ljIG51bWJlciB3aGVyZSB0aGUgb3B0aW9uIG1lbnUgc2hvdWxkIGNoYW5nZSBsYXlvdXRcbiRzaGFyZS1saXN0LWJwOiA4NDA7XG5cbi5jLXNoYXJlX19saXN0IHtcblx0QGluY2x1ZGUgZmxleChpbmxpbmUgY29sdW1uKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRzaGFyZS1saXN0LWJwKXtcblx0XHRAaW5jbHVkZSBmbGV4O1xuXHR9XG59XG5cbi5jLXNoYXJlX19pdGVtIHtcblx0QGluY2x1ZGUgbXEoJG1heDogJHNoYXJlLWxpc3QtYnApe1xuXHRcdCYgKyAmIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA0dnc7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIG1xKCRzaGFyZS1saXN0LWJwKSB7XG5cdFx0JiArICYge1xuXHRcdFx0bWFyZ2luLXRvcDogMTVweDtcblx0XHR9XG5cdH1cbn0iLCIuYy1zbGlkZS1wcm9qZWN0b3Ige1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXNsaWRlLXByb2plY3Rvcl9fdHJheSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1zbGlkZS1wcm9qZWN0b3JfX3NsaWRlIHtcbiAgZ3JpZC1yb3c6IDE7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG5cblxuICBwYWRkaW5nLWJvdHRvbTogNzAlO1xuICBoZWlnaHQ6IDA7XG5cbiAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIC5pZSAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5pZSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jLXNsaWRlLXByb2plY3Rvcl9fY29udHJvbCB7XG4gIEBpbmNsdWRlIGZsZXgoY2VudGVyIGNvbHVtbik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcblxuICAubC1iaXNlY3Rpb24tLWNvcm5lcnMgJiB7XG4gICAgYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbi5jLXNsaWRlLXByb2plY3Rvcl9fYnV0dG9uIHtcbiAgQGluY2x1ZGUgZmxleChjZW50ZXIgY2VudGVyKTtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgY29sb3I6IHBhbGV0dGUobmV1dHJhbCk7XG4gIGJhY2tncm91bmQ6IHBhbGV0dGUoZGFyayk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLCBib3gtc2hhZG93O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI1cztcbiAgb3V0bGluZTogbm9uZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogcGFsZXR0ZShsaWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKHBhbGV0dGUoZGFyayksICRsaWdodG5lc3M6IDMwJSk7XG4gICAgY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobG93KTtcbiAgfVxuXG4gICYucHJldmlvdXMge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xuICB9XG59XG5cbi5jLXNsaWRlLXByb2plY3Rvcl9fYXJyb3cge1xuICBAaW5jbHVkZSBmbGV4KGNlbnRlciBjZW50ZXIpO1xuICBoZWlnaHQ6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgc3ZnIHtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gIH1cbn1cblxuLmMtc2xpZGUtcHJvamVjdG9yX19pbWcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nLWJvdHRvbTogNzAlO1xuXG4gIEBpbmNsdWRlIG1xKDkwMCkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufSIsIi5jLXN0YXIge1xuXHRwYWRkaW5nOiAwIDJweDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0bGluZS1oZWlnaHQ6IDA7XG59XG5cbi5jLXN0YXItLWZ1bGwge1xuXHRjb2xvcjogcGFsZXR0ZShzZWNvbmRhcnkpO1xufVxuXG4uYy1zdGFyLS1oYWxmIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblxuXHQuaGFsZi1zdGFyIHtcblx0XHRmaWxsOiBwYWxldHRlKHNlY29uZGFyeSk7XG5cdH1cbn1cblxuLyoqXG4gKiBXaGVuIHdlIG5lZWQgYW4gYW5pbWF0aW9uIHdlIGNhbiB1c2UgdGhlIGZvbGxvd2luZyBhcyBhIGJhc2lzXG4gKi9cblxuLy8uYy1zdGFyIHtcbi8vXHR0cmFuc2Zvcm0tb3JpZ2luOiA1cHggLTIwcHg7XG4vL1x0YW5pbWF0aW9uOiBzdGFyLWFwcGVhciAuNXMgbm9ybWFsIGZvcndhcmRzIGN1YmljLWJlemllcigwLjQzLCAwLjM1LCAwLjI5LCAxLjIzKTtcbi8vXG4vL1x0JHN0YXItY3VlLWRlbGF5OiAwLjE7XG4vL1x0QGZvciAkaSBmcm9tIDIgdGhyb3VnaCA1IHtcbi8vXHRcdCY6bnRoLW9mLXR5cGUoI3skaX0pIHtcbi8vXHRcdFx0YW5pbWF0aW9uLWRlbGF5OiAjeygkaSAtIDEpICogJHN0YXItY3VlLWRlbGF5fXM7XG4vL1x0XHR9XG4vL1x0fVxuLy99XG5cbi8vQGtleWZyYW1lcyBzdGFyLWFwcGVhciB7XG4vL1x0ZnJvbSB7XG4vL1x0XHRvcGFjaXR5OiAwO1xuLy9cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLCAwKSByb3RhdGUoLTkwZGVnKTtcbi8vXHR9XG4vL1x0dG8ge1xuLy9cdFx0b3BhY2l0eTogMTtcbi8vXHRcdHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgcm90YXRlKDBkZWcpO1xuLy9cdH1cbi8vfSIsIi5jLXN0YXR1cyB7XG4gIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCBjZW50ZXIpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLXN0YXR1c19faW5kaWNhdG9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xuICBib3JkZXItcmFkaXVzOiAxMDAlXG59XG5cbi5jLXN0YXR1c19faW5kaWNhdG9yW2RhdGEtc3RhdHVzPW5vbmVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShwb3NpdGl2ZSk7XG59XG5cbi5jLXN0YXR1c19faW5kaWNhdG9yW2RhdGEtc3RhdHVzPW1pbm9yXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUod2FybmluZyk7XG59XG5cbi5jLXN0YXR1c19faW5kaWNhdG9yW2RhdGEtc3RhdHVzPW1ham9yXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoYWxlcnQpO1xufVxuXG4uYy1zdGF0dXNfX2luZGljYXRvcltkYXRhLXN0YXR1cz1jcml0aWNhbF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5lZ2F0aXZlKTtcbn1cblxuLmMtc3RhdHVzX19sYWJlbCB7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDIwMCk7XG59XG4iLCIvKipcbiAqIFN1YmZvb3RlclxuICovXG5cbi5jLXN1YmZvb3RlciB7XG5cdGJvcmRlci10b3A6IHNvbGlkIDFweCBwYWxldHRlKHRleHQsIDEwMCk7XG5cdEBpbmNsdWRlIHooei1zdWJmb290ZXIpO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0LCAxMDApO1xufVxuXG4uYy1zdWJmb290ZXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRAaW5jbHVkZSBmb250KHgtc21hbGwpO1xuXHRwYWRkaW5nOiAxNXB4IDA7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogNTYwKSB7XG5cdFx0cGFkZGluZzogMzBweCAwO1xuXG5cdFx0PiAqICsgKiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbXEoNTYwKSB7XG5cdFx0QGluY2x1ZGUgZmxleCh3cmFwIHNwYWNlLWJldHdlZW4gY2VudGVyKTtcblx0fVxufVxuXG4uYy1zdWJmb290ZXJfX2NvcHlyaWdodCB7XG5cdEBpbmNsdWRlIGZsZXgod3JhcCk7XG5cdHBhZGRpbmc6IDE1cHggMDtcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRhIHtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG59XG5cbi5jLXN1YmZvb3Rlcl9fdHJhZGVtYXJrIHtcblx0bWFyZ2luLXJpZ2h0OiAzMHB4O1xuXHRwYWRkaW5nOiAxNXB4IDA7XG59XG5cbi5jLXN1YmZvb3Rlcl9fbGFuZ3VhZ2Uge1xuXHRmbGV4LWJhc2lzOiAyMTBweDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdHBhZGRpbmc6IDE1cHggMDtcbn1cblxuLm8tc3ViZm9vdGVyX19uYXYge1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi10b3A6IDhweDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uby1zdWJmb290ZXJfX2xpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogNTYwKSB7XG5cdFx0PiAqICsgKiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1xKDU2MCkge1xuXHRcdEBpbmNsdWRlIGZsZXgod3JhcCk7XG5cdH1cbn1cblxuLm8tc3ViZm9vdGVyX19pdGVtIHtcblx0QGluY2x1ZGUgbXEoNTYwKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAzMnB4O1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdH1cbn1cblxuLm8tc3ViZm9vdGVyX19saW5rIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcblx0Y29sb3I6IHdoaXRlO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG5cdH1cbn1cblxuLm8tc3ViZm9vdGVyX190cmFkZW1hcmsge1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcbn1cbiIsIi5jLXN3aXRjaCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtc3dpdGNoX19pbnB1dCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRvcGFjaXR5OiAwO1xufVxuXG4uYy1zd2l0Y2hfX2xhYmVsIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0QGluY2x1ZGUgZm9udCh4Mi1zbWFsbCwgJHdlaWdodDogNTAwKTtcblx0ZGlzcGxheTogaW5saW5lLWdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0Y29sb3I6IHdoaXRlO1xuXHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4IHJnYmEoMCwwLDAsMC4yKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGN1YmljLWJlemllcigwLCAxLCAwLjUsIDEpO1xuXG5cdC8vIEZvY3VzIHN0eWxlIGZvciBhY2Nlc3NpYmlsaXR5XG5cdC8vLmMtc3dpdGNoX19pbnB1dDpmb2N1cyB+ICYge1xuXHQvL1x0Ym94LXNoYWRvdzogMCAwIDVweCAycHggI2ZmZiwgMHB4IDBweCAxOHB4IDNweCByZ2JhKHBhbGV0dGUoc2Vjb25kYXJ5KSwwLjYpO1xuXHQvL31cblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwYWRkaW5nOiA5cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdGNvbnRlbnQ6IGF0dHIoZGF0YS1jaGVja2VkKTtcblxuXHRcdC5jLXN3aXRjaF9faW5wdXQ6Y2hlY2tlZCB+ICYge1xuXHRcdFx0Y29sb3I6IHJnYmEocGFsZXR0ZSh0ZXh0KSwwLjQpO1xuXHRcdH1cblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHRncmlkLWNvbHVtbjogMjtcblx0XHRjb250ZW50OiBhdHRyKGRhdGEtdW5jaGVja2VkKTtcblx0XHRjb2xvcjogcmdiYShwYWxldHRlKGxpZ2h0KSwwLjMpO1xuXG5cdFx0LmMtc3dpdGNoX19pbnB1dDpjaGVja2VkIH4gJiB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cdH1cbn1cblxuLmMtc3dpdGNoX19pbmRpY2F0b3Ige1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDA7IC8vIG11c3QgZ28gdW5kZXJuZWF0aCB0aGUgbGFiZWxcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiA1MCU7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHBhbGV0dGUoYWN0aW9uKSwgYWRqdXN0X2NvbG9yKHBhbGV0dGUoYWN0aW9uKSwgJHJlZDogLTUwLCAkZ3JlZW46IDI2LCAkYmx1ZTotMykpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAuMjMsIDAuMTgsIDAuMywgMSk7XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIDI3MGRlZywgI2EwMmQwOSAxMCUsICNERTQzMTMgMTAwJSk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzIGN1YmljLWJlemllcigwLjIzLCAwLjE4LCAwLjMsIDEpO1xuXHR9XG5cblx0LmMtc3dpdGNoX19pbnB1dDpjaGVja2VkIH4gLmMtc3dpdGNoX19sYWJlbCAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAxJSk7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG59IiwiJGMtdGFic2xpZGVyLWJwOiA1MDA7XG4kYy10YWJzbGlkZXItYnAyOiA4MDA7XG4kYy10YWJzbGlkZXItYnAzOiAxMjAwO1xuJGMtdGFic2xpZGVyLWJwNDogMTUwMDtcblxuLmMtdGFic2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuXG4gIEBpbmNsdWRlIG1xKCRjLXRhYnNsaWRlci1icDMpIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNGZyIDhmcjtcbiAgfVxufVxuXG4uYy10YWJzbGlkZXJfX25hdiB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIG1xKCRjLXRhYnNsaWRlci1icCkge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGMtdGFic2xpZGVyLWJwMykge1xuICAgIEBpbmNsdWRlIGZsZXgoY29sdW1uIHNwYWNlLWJldHdlZW4pO1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIEBpbmNsdWRlIG1xKCRjLXRhYnNsaWRlci1icDMpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgfVxuXG4gIH1cbn1cblxuLmMtdGFic2xpZGVyX19idXR0b25zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIEBpbmNsdWRlIG1xKCRjLXRhYnNsaWRlci1icCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxuICBncmlkLXJvdy1nYXA6IDE1cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgQGluY2x1ZGUgbXEoJGMtdGFic2xpZGVyLWJwMykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4uYy10YWJzbGlkZXJfX2J1dHRvbiB7XG4gIEBpbmNsdWRlIGZvbnQobWlkLCAyOCwgNzAwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHBhbGV0dGUodGV4dCwgMjAwKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgb3BhY2l0eSAwLjJzO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkbWF4OiAkYy10YWJzbGlkZXItYnApIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRjLXRhYnNsaWRlci1icCwgJG1heDogJGMtdGFic2xpZGVyLWJwMikge1xuICAgIEBpbmNsdWRlIGZvbnQoc21hbGwsIDIwLCA3MDApO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC44O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmMtdGFic2xpZGVyX19jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtdGFic2xpZGVyX19jb250ZW50IHtcbiAgZ3JpZC1yb3c6IDE7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gIHotaW5kZXg6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbn1cblxuLmMtdGFic2xpZGVyX19jb250ZW50X19pbmZvLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYShwYWxldHRlKGRhcmspLCAwLjk1KSA3MCUsIHJnYmEocGFsZXR0ZShkYXJrKSwgMC45KSBjYWxjKDEwMCUgLSA2MHB4KSwgcmdiYShwYWxldHRlKGRhcmspLCAwLjQpIDEwMCUpO1xuXG4gIEBpbmNsdWRlIG1xKCRjLXRhYnNsaWRlci1icCkge1xuICAgIHBhZGRpbmc6IDAgNjBweCA2MHB4IDYwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkYy10YWJzbGlkZXItYnAzKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkYy10YWJzbGlkZXItYnA0KSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5pY29uIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0zMHB4O1xuICAgIHRvcDogMDtcblxuICAgICYucG93ZXIge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICByaWdodDogLTIwcHg7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGMtdGFic2xpZGVyLWJwLCAkYy10YWJzbGlkZXItYnAyKSB7XG4gICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOCwgMC44LCAxKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkYy10YWJzbGlkZXItYnApIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgbXEoJG1heDogJGMtdGFic2xpZGVyLWJwKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlxcMDAzZVwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUsIDEuNSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC02MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgcGFsZXR0ZShkYXJrKSA2MHB4KSAtMjRweCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gIH1cbn1cblxuLyoqXG4gKiBNb2RpZmllciB3aXRoIGJ1dHRvbnMgdGhhdCBoYXZlIGEgY2lyY2xlIGNvbm5lY3RlZCBieSBhIGxpbmUgdG8gaW5kaWNhdGUgYSAnZmxvdydcbiAqL1xuXG4uYy10YWJzbGlkZXItLWZsb3cge1xuICAkY2lyY2xlLXNpemU6IDI0cHg7XG4gICRjaXJjbGUtYm9yZGVyLXNpemU6IDFweDtcblxuICAuYy10YWJzbGlkZXJfX25hdiB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1xKCRjLXRhYnNsaWRlci1icCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLy8gTGluZSBiZWhpbmQgdGhlIHdob2xlIG5hdiBpbnN0ZWFkIG9mIG9uIGVhY2ggYnV0dG9uXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTI7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHRvcDogI3skY2lyY2xlLXNpemUvMn07XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmMtdGFic2xpZGVyX19idXR0b24ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShzbWFsbCk7XG4gICAgbWFyZ2luOiAwIDAgMCAzMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IHJnYmEocGFsZXR0ZSh0ZXh0KSwgMC4zKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgLmllICYge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGZsZXg6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkYy10YWJzbGlkZXItYnApIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoY29sdW1uIGZsZXgtc3RhcnQpO1xuICAgICAgZmxleDogMSAxIDEwcHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogMTcwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweCArIDE2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGMtdGFic2xpZGVyLWJwMikge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKG1pZCk7XG4gICAgICBtYXgtd2lkdGg6IDIyMnB4O1xuICAgIH1cblxuICAgIC8vIENpcmNsZVxuICAgICY6OmJlZm9yZSB7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgdG9wOiAtMnB4O1xuICAgICAgd2lkdGg6ICRjaXJjbGUtc2l6ZTtcbiAgICAgIGhlaWdodDogJGNpcmNsZS1zaXplO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJvcmRlcjogJGNpcmNsZS1ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG4gICAgICBjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlciwgYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4yNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQsIGxpbmVhcjtcblxuICAgICAgQGluY2x1ZGUgbXEoJGMtdGFic2xpZGVyLWJwKSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAjeyRjaXJjbGUtc2l6ZS8yfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGluZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNDBweCArIDhweCArIDhweDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICB0b3A6IC00MHB4IC0gOHB4O1xuICAgICAgbGVmdDogY2FsYygtMzBweCArICN7JGNpcmNsZS1zaXplLzJ9KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkYy10YWJzbGlkZXItYnApIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGhpZGUgbGluZSBvbiBmaXJzdCBjaGlsZCB3aGVuIHN0YWNrZWRcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBtcSgkbWF4OiAkYy10YWJzbGlkZXItYnApIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQdXQgbGl0dGxlIGxpbmUgb24gdG9wIHRvIGNvbm5lY3QgdG8gdGhlIG1pZGRsZSBsaW5lIChMK1IpXG4gICAgJjpmaXJzdC1jaGlsZCxcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRjLXRhYnNsaWRlci1icCkge1xuICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgdG9wOiAjeyRjaXJjbGUtc2l6ZS8yfTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRjLXRhYnNsaWRlci1icCkge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENyZWF0ZSB2ZXJ0aWNhbCBzcGFjaW5nIHdoZW4gc3RhY2tlZFxuICAgICYgKyAuYy10YWJzbGlkZXJfX2J1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBtcSgkbWF4OiAkYy10YWJzbGlkZXItYnApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IHBhbGV0dGUodGV4dCwgMjAwKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZSBvZiB0aGUgYnV0dG9uXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgY29sb3I6IHBhbGV0dGUodGV4dCk7XG5cbiAgICAgIC8vIEV4dHJhIHJpbmcgYXJvdW5kIGNpcmNsZSB3aGVuIGFjdGl2ZVxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICAgICAgICBib3JkZXItY29sb3I6IHBhbGV0dGUoYWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuYy10ZWFtLWdyaWQge1xuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuICBwYWRkaW5nOiA2MHB4IDAgMCAwO1xuICBAaW5jbHVkZSBtcSgxNDAwKSB7XG4gICAgcGFkZGluZzogMzBweCBjb2x1bW4oMiwgMTIpIDAgY29sdW1uKDIsIDEyKTtcbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUZXh0IGJ1dHRvblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHlcbiAqIDIuIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxpbmdcbiAqL1xuXG4uYy10ZXh0LWJ1dHRvbiB7XG5cdEBpbmNsdWRlIGZsZXgoaW5saW5lIGNlbnRlcik7XG5cdGNvbG9yOiBwYWxldHRlKGFjdGlvbik7IC8vIDFcblx0cGFkZGluZzogMDsgLyogMiAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xuXHRib3JkZXI6IG5vbmU7IC8qIDIgKi9cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKXtcblx0XHRjb2xvcjogc2NhbGVfY29sb3IocGFsZXR0ZShhY3Rpb24pLCAkbGlnaHRuZXNzOiAtNDAlKTtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxufVxuXG4uYy10ZXh0LWJ1dHRvbl9fdGV4dCB7XG5cdEBpbmNsdWRlIGZvbnQoc21hbGwsIDE1LCA1MDApO1xuXHRsZXR0ZXItc3BhY2luZzogMS41cHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jLXRleHQtYnV0dG9uX19pY29uIHtcblx0ZGlzcGxheTogbm9uZTsgLy8gQnkgZGVmYXVsdCBpY29uIGlzIGhpZGRlblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRvcDogLTJweDtcblx0bWFyZ2luLWxlZnQ6IDZweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtdGV4dC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG5cdH1cblxuXHQuYy10ZXh0LWJ1dHRvbi0taWNvbiAme1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0fVxufVxuXG4uYy10ZXh0LWJ1dHRvbi0tc21hbGwge1xuXHQuYy10ZXh0LWJ1dHRvbl9fdGV4dCB7XG5cdFx0QGluY2x1ZGUgZm9udCh4Mi1zbWFsbCwgMTIsIDUwMCk7XG5cdH1cblx0LmMtdGV4dC1idXR0b25fX2ljb24gc3ZnIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuNjcpO1xuXHR9XG59IiwiLmMtdGV4dC1pbWFnZSB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gIC5sLWJpc2VjdGlvbl9faXRlbSB7XG4gICAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgICB3aWR0aDogNTAuOSU7XG4gICAgfVxuICB9XG5cbiAgLnMtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zLXRleHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDYwcHggY29sdW1uKDAuNzUsIDEyKSA2MHB4IGNvbHVtbigwLjUsIDEyKTtcbiAgICBjb2xvcjogYmxhY2s7XG5cbiAgICBAaW5jbHVkZSBtcSgxMDI4KSB7XG4gICAgICBwYWRkaW5nOiA2MHB4IGNvbHVtbigxLCAxMik7XG4gICAgfVxuXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG5cbiAgICAuYy1idXR0b24ge1xuICAgICAgY29sb3I6IHBhbGV0dGUodGV4dCwgNDAwKTtcblxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IHBhbGV0dGUodGV4dCwgNDAwKTtcbiAgICB9XG4gIH1cblxuICAmLmwtYmlzZWN0aW9uLS1ncmFkaWVudCB7XG4gICAgLnMtdGV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGRhcmspO1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICBoMSwgaDIsIGgzLCBoNCwgaDUge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC5jLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnMtaW1hZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAlLCBwYWxldHRlKGRhcmspIDcwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmwtYmlzZWN0aW9uLS1yZXZlcnNlZCB7XG4gICAgICAucy1pbWFnZTo6YWZ0ZXIge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHRyYW5zcGFyZW50IDAlLCBwYWxldHRlKGRhcmspIDcwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5sLWJpc2VjdGlvbi0tY29ybmVycyB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG5cbiAgICAuby1ibG9jayNjb21wb25lbnQtaXRlbS0xICYge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICB9XG5cbiAgICAucy1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcGFsZXR0ZShkYXJrKSAwLCBwYWxldHRlKGRhcmspIDQwcHgsIHRyYW5zcGFyZW50IDQxcHgpIDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHBhbGV0dGUoZGFyaykgMCwgcGFsZXR0ZShkYXJrKSA1OXB4LCB0cmFuc3BhcmVudCA2MHB4KSAtMzVweCAwO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucy10ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTYwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCB3aGl0ZSA2MHB4KSAtMjVweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubC1iaXNlY3Rpb24tLXJldmVyc2VkIHtcbiAgICAgIC5zLWltYWdlOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIG1xKDkwMCkge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcGFsZXR0ZShkYXJrKSAwLCBwYWxldHRlKGRhcmspIDU5cHgsIHRyYW5zcGFyZW50IDYwcHgpIC0yNXB4IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucy10ZXh0OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEzNWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgd2hpdGUgNjBweCkgLTM1cHggMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmwtYmlzZWN0aW9uLS1zbGlkZXIge1xuICAgIC5zLXRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIH1cblxuICAgIC5zLWltYWdlOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIG1xKDkwMCkge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgd2hpdGUgMCwgd2hpdGUgNTlweCwgdHJhbnNwYXJlbnQgNjBweCkgLTM1cHggMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuYy10aHVtYm5haWxfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR3aWR0aDogMTAwJTsgLy8gTWFrZSBzdXJlIGl0cyB3aWRlIGVub3VnaCwgYWxzbyB3aGVuIHRoZXJlIGlzIGxpdHRsZSB0ZXh0XG59XG5cbi5jLXRodW1ibmFpbF9fZnJhbWUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogNjYuNjclO1xuXHRoZWlnaHQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0Ly8gRXh0cmEgY2xhc3MgdGhhdCBhZGRzIGEgaG92ZXIgZWZmZWN0XG5cdCYuaGFzLWhvdmVyLWVmZmVjdCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0JHNlbGY6ICY7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0YmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYmEocGFsZXR0ZShhY3Rpb24pLCAwLjIpLCByZ2JhKHBhbGV0dGUoYWN0aW9uKSwgMC42KSk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG5cblx0XHRcdEBhdC1yb290IC5jLXRodW1ibmFpbF9fbGluazpob3ZlciAjeyRzZWxmfXtcblx0XHRcdFx0b3BhY2l0eTogMTtcblxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uYy10aHVtYm5haWxfX2ltYWdlIHtcblx0JHNlbGY6ICY7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKCduZXV0cmFsJywgMTAwKTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuXG5cdC8vIEdpdmUgYSBsaXR0bGUgaG92ZXIgZWZmZWN0IHdoZW4gbmVlZGVkXG5cdC5jLXRodW1ibmFpbF9fZnJhbWUuaGFzLWhvdmVyLWVmZmVjdCAmIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgZmlsdGVyO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG5cblx0XHRAYXQtcm9vdCAuYy10aHVtYm5haWxfX2xpbmsuaGFzLWhvdmVyOmhvdmVyICN7JHNlbGZ9IHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNik7XG5cdFx0XHRmaWx0ZXI6IHNhdHVyYXRlKDAlKTtcblx0XHR9XG5cdH1cbn1cblxuLmMtdGh1bWJuYWlsX19jb250ZW50IHtcblx0bWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmMtdGh1bWJuYWlsX19jYXB0aW9uIHtcblx0QGluY2x1ZGUgZm9udChtaWQsIDI4LCA1MDApO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcblx0dHJhbnNpdGlvbjogY29sb3IgLjI1cztcbn1cblxuLmMtdGh1bWJuYWlsX19idXR0b24ge1xuXHRtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4vKipcbiAqIE1vZGlmaWVyIG9mIHRoZSB0aHVtYm5haWwgd2hlcmUgdGhlIGZpZ3VyZSBnZXRzIGEgbGl0dGxlIGV4dHJhIHN0eWxpbmdcbiAqL1xuLmMtdGh1bWJuYWlsLS1wb3Age1xuXHQuYy10aHVtYm5haWxfX2ZyYW1lIHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKGxhcmdlKTtcblx0XHRAaW5jbHVkZSBib3gtc2hhZG93O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblx0LmMtdGh1bWJuYWlsX19jb250ZW50IHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR9XG59XG5cblxuLy8gR3JvdXAgc3R5bGluZyB3aGVuIGhvdmVyZWRcbi5jLXRodW1ibmFpbF9fbGlua1tocmVmXTpob3ZlciB7XG5cblx0LmMtdGh1bWJuYWlsX19jYXB0aW9uIHtcblx0XHRjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuXHR9XG59IiwiLmMtdHJhZGVtYXJrIHtcblx0QGluY2x1ZGUgZmxleChpbmxpbmUgY2VudGVyKTtcblx0QGluY2x1ZGUgZm9udCh4LXNtYWxsKTtcblx0Y29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5LCAzMDApO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSwgMTAwKTtcblxuXHRcdC5rb21tYS1lbWJsZW0ge1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogMTJweCAxMnB4O1xuXHRcdFx0YW5pbWF0aW9uOiBsb2dvLXNwaW4gMS44cyBsaW5lYXIgaW5maW5pdGU7XG5cdFx0fVxuXHR9XG59XG5cbi5jLXRyYWRlbWFya19fdGV4dCB7XG5cdG1hcmdpbi1yaWdodDogN3B4O1xufVxuXG5Aa2V5ZnJhbWVzIGxvZ28tc3BpbiB7XG5cdGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuXHR0byB7IHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbn0iLCIuYy12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5jLXZpZGVvX19wbGFjZWhvbGRlcntcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTMuNiU7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoJ25ldXRyYWwnLCAxMDApOyBcbn1cblxuLmMtdmlkZW9fX2lmcmFtZXtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59IiwiLmMtdmFjYW5jaWVzX2dyaWQge1xuICBwYWRkaW5nOiAwO1xuICBAaW5jbHVkZSBmbGV4KGNlbnRlciBzcGFjZS1iZXR3ZWVuIGNvbHVtbik7XG5cbiAgQGluY2x1ZGUgbXEoMTAwMCkge1xuICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCBzcGFjZS1iZXR3ZWVuKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBhcnRpY2xlIHtcbiAgICBtYXJnaW46IDAgYXV0byA4MHB4IGF1dG87XG4gICAgd2lkdGg6IGNvbHVtbigxMCwgMTIpO1xuICAgIHBhZGRpbmc6IGNvbHVtbigxLCAxMik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiBibGFjaztcblxuICAgIGg1IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgQGluY2x1ZGUgZm9udChsYXJnZSwgNDUsIDUwMCk7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IHBhbGV0dGUodGV4dCwgNDAwKTtcbiAgICB9XG5cbiAgICAuYy1idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBjb2xvcjogcGFsZXR0ZSh0ZXh0LCA0MDApO1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAtMjdweDtcbiAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICBoZWlnaHQ6IDAuNzVlbTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcGFsZXR0ZSh0ZXh0LCA0MDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBPcmdhbmlzbXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5cbkBpbXBvcnQgXCJvcmdhbmlzbXMuYWR2aWNlXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmJsb2NrXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNvbnRhY3RcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY3RhRnJlZGVyaWNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY3RhSm9ic1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5mb3JtXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLm90aGVyTW9kZWxzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLm92ZXJsYXlNZW51XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnByb2plY3RDYXJkc1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5wcm9qZWN0R3JpZFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5yZWZlcmVuY2VzR3JpZFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5zdG9yaWVzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnNlcnZpY2VzR3JpZFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50ZWFtR3JpZFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50cmlwbGVUZXh0XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnZhY2FuY2llc0NvbnRlbnRcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudmFjYW5jaWVzR3JpZFwiO1xuIiwiLm8tYWR2aWNlIHtcbn1cblxuLm8tYWR2aWNlX19mb3JtIHtcbiAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgd2lkdGg6IGNvbHVtbig1LCAxMCk7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxuICBtYXJnaW4tdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGRhcmspO1xuICBwYWRkaW5nOiAwIGNvbHVtbigxLCAxMikgNjBweCBjb2x1bW4oMSwgMTIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNjBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDI1cHgpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCBwYWxldHRlKGRhcmspIDYwcHgpIDAgMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAtMSk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIH1cblxuICAuYy1idXR0b24ge1xuICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCBjZW50ZXIgaW5saW5lKTtcbiAgfVxufVxuXG4uby1hZHZpY2UtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNjBweDtcblxuICAmLm8tYmxvY2s6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiBjYWxjKC0xMDAlICsgNjBweCk7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCAgcGFsZXR0ZShkYXJrKSA2MHB4KSAtMzhweCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcShudWxsLCA5MDApIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5vLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogcGFsZXR0ZShkYXJrKTtcblxuICAgIEBpbmNsdWRlIG1xKG51bGwsIDkwMCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBoZWlnaHQ6IDcwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYy1hZHZpY2UtY29udGVudCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiAzMHB4IDAgODBweCAwO1xuICBAaW5jbHVkZSBtcSgxMjAwKSB7XG4gICAgcGFkZGluZzogNjBweCBjb2x1bW4oMSwgMTIpIDAgY29sdW1uKDEsIDEyKTtcbiAgfVxufVxuXG4uYWR2aWNlLW9wdGlvbnMge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBAaW5jbHVkZSBmbGV4KHNwYWNlLWJldHdlZW4pO1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgQGluY2x1ZGUgbXEoODAxLCA5MDApIHtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLyAxMCAqIDEpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMCAqIDgpO1xuICB9XG4gIEBpbmNsdWRlIG1xKG51bGwsIDgwMCkge1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICB9XG4gIEBpbmNsdWRlIG1xKG51bGwsIDkwMCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxuXG5cblxuICAubGVmdCxcbiAgLnJpZ2h0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICAgICAgQGluY2x1ZGUgZm9udChiYXNlLCAyOSk7XG4gICAgICBjb2xvcjogcGFsZXR0ZSh0ZXh0LCAxMDApO1xuICAgIH1cbiAgICBwIHtcbiAgICAgIGNvbG9yOiBwYWxldHRlKHRleHQsIDEwMCk7XG4gICAgICBAaW5jbHVkZSBmb250KGJhc2UsIDI5KTtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICB9XG5cbiAgICAuY29tcGFueS1kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbiAgLnJpZ2h0IHtcblxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuXG4gIC5jLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgPiBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKDUwMCwgOTAwKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufSIsIiRvLWJsb2NrLXNwYWNpbmc6IDEwMHB4O1xuXG4uby1ibG9jayB7XG5cdG1hcmdpbi10b3A6ICRvLWJsb2NrLXNwYWNpbmc7XG5cdG1hcmdpbi1ib3R0b206ICRvLWJsb2NrLXNwYWNpbmc7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cblx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0LmMtdGV4dC1pbWFnZSB7XG5cdFx0XHRtaW4taGVpZ2h0OiAzNTVweDtcblx0XHR9XG5cdH1cblxuXHQuYy1ob21lLWhlYWRlci1zdHJlYW1lciArICYge1xuXHRcdEBpbmNsdWRlIG1xKDEyMDApIHtcblx0XHRcdC8vbWFyZ2luLXRvcDogMTgwcHg7XG5cdFx0XHQvL21hcmdpbi1ib3R0b206IDE1MHB4O1xuXHRcdFx0bWFyZ2luOiAxMDBweCBhdXRvO1xuXHRcdH1cblx0fVxufVxuXG4uby1ibG9jay1iZyB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdHdpZHRoOiAxMDAlO1xuICBcdG1heC13aWR0aDogbm9uZTtcblx0cGFkZGluZy10b3A6IDYwcHg7XG5cdHBhZGRpbmctYm90dG9tOiA2MHB4O1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cblx0QGluY2x1ZGUgbXEoNDI1KSB7XG5cdFx0cGFkZGluZy10b3A6ICRvLWJsb2NrLXNwYWNpbmc7XG5cdFx0cGFkZGluZy1ib3R0b206ICRvLWJsb2NrLXNwYWNpbmc7XG5cdH1cblxuXHQmID4gZGl2IHtcblx0XHRAaW5jbHVkZSBjb250YWluO1xuXHR9XG5cblx0Ly8vLyBSZXNldCB0b3AgcGFkZGluZyB0byBwcmV2ZW50IGRvdWJsZSBzcGFjaW5nIGJlY2F1c2UgcGFkZGluZyBkb2Vzbid0IGNvbGxhcHNlXG5cdC8vJiArICYge1xuXHQvL1x0cGFkZGluZy10b3A6IDA7XG5cdC8vfVxufVxuXG4uby1ibG9jay1ncmV5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShzZWNvbmRhcnksIDEwMCk7XG59XG5cbi5vLWJsb2NrLWdyZXktYm9yZGVyLW9uLWdyZXkge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHRvIGJvdHRvbSwgcGFsZXR0ZShzZWNvbmRhcnksIDEwMCkgMCUsIHBhbGV0dGUoc2Vjb25kYXJ5LCAxMDApIDQyJSwgcGFsZXR0ZShzZWNvbmRhcnksIDIwMCkgNDIuMSUsIHBhbGV0dGUoc2Vjb25kYXJ5LCAyMDApIDEwMCUpO1xufVxuXG4uby1ibG9jay1ncmV5LWJvcmRlci1kaWFnb25hbCB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCggMTM1ZGVnLCBwYWxldHRlKHNlY29uZGFyeSwgMTAwKSAwJSwgcGFsZXR0ZShzZWNvbmRhcnksIDEwMCkgNzAlLCBwYWxldHRlKHNlY29uZGFyeSwgMjAwKSA3MC4xJSwgcGFsZXR0ZShzZWNvbmRhcnksIDIwMCkgMTAwJSk7XG59XG5cbi5vLWJsb2NrLWdyZXktYm9yZGVyLW9uLXdoaXRlIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCB0byBib3R0b20sIHdoaXRlIDAlLCB3aGl0ZSA0MiUsIHBhbGV0dGUoc2Vjb25kYXJ5LCAyMDApIDQyLjElLCBwYWxldHRlKHNlY29uZGFyeSwgMjAwKSAxMDAlKTtcbn1cblxuLm8tYmxvY2std2hpdGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLm8tYmxvY2stYmxhY2sge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGRhcmspO1xufVxuXG4uby1ibG9jay0tbm8tZ2FwIHtcblx0QGluY2x1ZGUgbXEoOTAwKSB7XG5cdFx0bWFyZ2luLXRvcDogLTE2MHB4O1xuXHRcdHBhZGRpbmctdG9wOiAxNjBweDtcblx0fVxufSIsIi5vLWNvbnRhY3Qge1xuXG4gIC5zLWltYWdlIHtcbiAgICBAaW5jbHVkZSBtcSg2MTIsIDkwMCkge1xuICAgICAgdG9wOiAyNTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEobnVsbCwgNjEyKSB7XG4gICAgICB0b3A6IDMwMHB4O1xuICAgIH1cbiAgfVxuICAuYy1pbWFnZSB7XG4gICAgQGluY2x1ZGUgbXEoNjEyLCA5MDApIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEobnVsbCwgNjEyKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzAwcHg7XG4gICAgfVxuICB9XG59XG5cbi5vLWNvbnRhY3RfX21hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LWhlaWdodDogNTc3cHg7XG5cbiAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgd2lkdGg6IGNvbHVtbig1LCAxMCk7XG4gIH1cbiAgQGluY2x1ZGUgbXEobnVsbCwgOTAwKSB7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBwYWxldHRlKHNlY29uZGFyeSwgMTAwKSAwLCBwYWxldHRlKHNlY29uZGFyeSwgMTAwKSA0MHB4LCB0cmFuc3BhcmVudCA0MXB4KSAwIDA7XG5cbiAgICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0YyRjhGQSAwLCAjRjJGOEZBIDU5cHgsIHRyYW5zcGFyZW50IDYwcHgpIC0yM3B4IDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYxcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5nbS1zdHlsZSB7XG4gICAgdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm8tY29udGFjdF9fZm9ybSB7XG4gIEBpbmNsdWRlIG1xKDkwMCkge1xuICAgIHdpZHRoOiBjb2x1bW4oNSwgMTApO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbiAgbWFyZ2luLXRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShkYXJrKTtcbiAgcGFkZGluZzogNDVweCBjb2x1bW4oMSwgMTIpIDAgY29sdW1uKDEsIDEyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTYwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyNXB4KTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgcGFsZXR0ZShkYXJrKSA2MHB4KSAtMjVweCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB9XG5cbiAgLmMtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQgY2VudGVyIGlubGluZSk7XG4gIH1cbn1cblxuLm8tY29udGFjdC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IGNhbGMoLTEwMCUgKyA2MHB4KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHdpZHRoOiAxNTAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIHBhbGV0dGUoZGFyaykgNjBweCkgLTM4cHggMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gICAgfVxuICB9XG59XG5cbi5jLWNvbnRhY3QtY29udGVudCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiAzMHB4IDAgODBweCAwO1xuICBAaW5jbHVkZSBtcSgxMjAwKSB7XG4gICAgcGFkZGluZzogMzBweCBjb2x1bW4oMSwgMTIpIDgwcHggY29sdW1uKDEsIDEyKTtcbiAgfVxufVxuXG4uY29udGFjdC1vcHRpb25zIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgQGluY2x1ZGUgZmxleChzcGFjZS1iZXR3ZWVuKTtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIEBpbmNsdWRlIG1xKDgwMSwgOTAwKSB7XG4gICAgbGVmdDogY2FsYygxMDAlIC8gMTAgKiAxKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTAgKiA4KTtcbiAgfVxuICBAaW5jbHVkZSBtcShudWxsLCA4MDApIHtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgfVxuICBAaW5jbHVkZSBtcShudWxsLCA5MDApIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cblxuXG5cbiAgLmxlZnQsXG4gIC5yaWdodCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiBwYWxldHRlKGFjdGlvbik7XG5cbiAgICAgIEBpbmNsdWRlIG1xKDE1MDApIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgIEBpbmNsdWRlIGZvbnQoYmFzZSwgMjkpO1xuICAgICAgY29sb3I6IHBhbGV0dGUodGV4dCwgMTAwKTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBjb2xvcjogcGFsZXR0ZSh0ZXh0LCAxMDApO1xuICAgICAgQGluY2x1ZGUgZm9udChiYXNlLCAyOSk7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgfVxuXG4gICAgLmNvbXBhbnktZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG4gIC5yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIEBpbmNsdWRlIG1xKDEzNDUpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuXG4gIC5jLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgPiBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKDUwMCwgOTAwKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufSIsIi5vLWN0YS1qb2JzIHtcbiAgbWFyZ2luLXRvcDogLTEwMHB4O1xufSIsIi8qKlxuICogTk9URTpcbiAqIFRvIHByZXZlbnQgdGhlIGhvbmV5IHBvdCBmcm9tIHdvcmtpbmdcbiAqIHRoZSBvLWZvcm0gY2FuJ3QgaGF2ZSBhIHBvc2l0aW9uIHByb3BlcnR5LlxuICpcbiAqXG4gKiBNaW4td2lkdGggZm9yIGVsZW1lbnRzXG4gKiBVc2VkIGZvciBhdXRvbWF0aWMgd3JhcHBpbmcgb2Ygcm93c1xuICovXG4kby1mb3JtLWVsZW1lbnQtbWluLXdpZHRoOiAyMjVweDtcblxuXG4uby1mb3JtIHt9XG5cbi5vLWZvcm1fX3RpdGxlIHtcblx0bWFyZ2luOiAwIDAgMzJweDtcbn1cblxuLm8tZm9ybV9fcm93IHtcblxuXHQmICsgJiB7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0fVxufVxuXG4uby1mb3JtX19yb3ctLXNwbGl0IHtcblx0QGluY2x1ZGUgZmxleCh3cmFwIGZsZXgtc3RhcnQpO1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuXG5cdC8vIERpcmVjdCBjaGlsZHJlblxuXHQmID4gKiB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHRcdGZsZXgtYmFzaXM6ICRvLWZvcm0tZWxlbWVudC1taW4td2lkdGg7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdH1cbn1cblxuLm8tZm9ybV9fc3VibWl0IHtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKCdhY3Rpb24nKTtcblx0Y29sb3I6IHBhbGV0dGUoJ2FjdGlvbicpO1xuXHRAaW5jbHVkZSBtcShudWxsLCA5MDApIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxufSIsIi5vLW90aGVyLW1vZGVsc3tcbiAgcGFkZGluZzogODVweCAwO1xuXG4gIEBpbmNsdWRlIG1xKDg1MClcbiAge1xuICAgIHBhZGRpbmc6IDE3MHB4IDA7XG4gIH1cbn1cblxuLm8tb3RoZXItbW9kZWxzX190aXRsZXtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCA7XG59XG5cbi5vLW90aGVyLW1vZGVsc19fZ3JpZHtcblxuICAmID4gKiArICpcbiAge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtcSg4NTApXG4gIHtcbiAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQgZmxleC1zdGFydCk7XG5cbiAgICAmID4gKiArICpcbiAgICB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEoOTUwKVxuICB7XG4gICAgJiA+ICogKyAqXG4gICAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEoMTE1MCl7XG5cbiAgICAmID4gKiArICpcbiAgICB7XG4gICAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICB9XG4gIH1cblxufVxuXG4uby1vdGhlci1tb2RlbHNfX2l0ZW17XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQyNXB4O1xuXG4gIEBpbmNsdWRlIG1xKCRtYXg6IDg1MCl7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoODUwKVxuICB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDYwcHgpIC8gMyk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoOTUwKVxuICB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxMDBweCkgLyAzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKDExNTApe1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTYwcHgpIC8gMyk7XG4gIH1cblxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogT3ZlcmxheSBtZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tb3ZlcmxheS1tZW51OiAoXG4gICdjb2xvcic6ICAgICAgICAgICAgcGFsZXR0ZSh0ZXh0LCAxMDApLFxuICAnYmdjb2xvcic6ICAgICAgICAgIHBhbGV0dGUoZGFyayksXG4gICdzaGFkZXItY29sb3InOiAgICAgcmdiYSgwLCAwLCAwLCAwLjYpLFxuICAnbW92ZS1zcGVlZCc6ICAgICAgIDQwMG1zLFxuICAnb3BhY2l0eS1zcGVlZCc6ICAgIDIwMG1zLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tb3ZlcmxheS1tZW51IHtcbiAgei1pbmRleDogNjA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnYmdjb2xvcicpO1xuXG4gIC8vIFdoZW4gaXQgZGlzYXBwZWFycyBvdXQgb2Ygdmlld1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMHZ3KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKSwgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdvcGFjaXR5LXNwZWVkJyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzLCBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAuMTUsIDAuMSwgMSksIGxpbmVhcjtcblxuICAvLyBXaGVuIGl0IGNvbWVzIGludG8gdmlld1xuICAuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKSwgMHM7XG4gIH1cblxuICAvLyBTaGFkZXJcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtMTIwdnc7XG4gICAgd2lkdGg6IDEyMHZ3O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ3NoYWRlci1jb2xvcicpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG4gICAgLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlhZ29uYWwgc2hhcGUgb24gdGhlIHJpZ2h0XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtMjAlO1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtODZkZWcsIHRyYW5zcGFyZW50IDUwJSwgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdiZ2NvbG9yJykgNTAlKTtcbiAgfVxuXG4gIC8vIEhpZGUgb3ZlcmxheSBtZW51IG9uIGxhcmdlciB2aWV3cG9ydHNcbiAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX2JhciB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG4gIEBpbmNsdWRlIGZsZXgoY2VudGVyIHNwYWNlLWJldHdlZW4pO1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIG1hcmdpbi1yaWdodDogMDtcblxuICBAaW5jbHVkZSBtcShudWxsLCA4MDApe1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMCAqIDkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLm8tb3ZlcmxheS1tZW51X19pbWcge1xuICBoZWlnaHQ6IDQ4cHg7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNXR1cm4pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXG4gIC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX25hdiB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG5cbiAgQGluY2x1ZGUgbXEobnVsbCwgODAwKXtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTAgKiA4KTtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX2xpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICYuc2VydmljZSB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5jLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9faXRlbSB7XG4gIEBpbmNsdWRlIG93bCgzMHB4KTtcblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAuYy1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShsYXJnZSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdjb2xvcicpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDAuNztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG59IiwiLm8tcHJvamVjdC1jYXJkcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJi5ob21lIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTU5cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgd2lkdGg6IDc2cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCAgcGFsZXR0ZShzZWNvbmRhcnksIDEwMCkgNjBweCkgLTM4cHggMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogcGFsZXR0ZShkYXJrKTtcblxuICAgIEBpbmNsdWRlIG1xKCRtYXg6IDkyNSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgxMjAwKSB7XG4gICAgICBwYWRkaW5nOiAwIGNvbHVtbigxLCAxMik7XG4gICAgfVxuICB9XG5cbiAgLmMtcHJvamVjdC1jYXJkcyB7XG4gICAgcGFkZGluZzogMDtcblxuICAgID4gKiB7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRtYXg6IDkyNSkge1xuICAgICAgPiAqICsgKiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoOTI1KSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQgc3BhY2UtYmV0d2Vlbik7XG4gICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuXG4gICAgICA+ICoge1xuICAgICAgICBtYXJnaW46IDYwcHggMzBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNjBweCk7XG5cblxuICAgICAgICBAaW5jbHVkZSBtcSgxMjAwKSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMzMlIC0gNjBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgICBAaW5jbHVkZSBtcSg5MjUsIDE0MjUpIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgPiAqIHtcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKDE0MjUpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMjc0cHg7XG4gICAgfVxuICB9XG59IiwiLm8tcHJvamVjdC1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTAwcHg7XG4gICAgICByaWdodDogY2FsYygtMTAwJSArIDYwcHgpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCAgcGFsZXR0ZShkYXJrKSA2MHB4KSAtMzhweCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIG1xKDE0MDApIHtcbiAgICAgIHBhZGRpbmc6IDAgY29sdW1uKDEsIDEyKTtcbiAgICB9XG4gIH1cbn0iLCIuby1yZWZlcmVuY2VzLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1xKDkwMCkge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTEwMHB4O1xuICAgICAgbGVmdDogY2FsYygtMTAwJSArIDYwcHgpO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHdpZHRoOiAxNTAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIHBhbGV0dGUoZGFyaykgNjBweCkgLTM4cHggMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gICAgfVxuICB9XG59IiwiLm8tc3RvcmllcyB7XG5cbn1cblxuLm8tc3Rvcmllc19faGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMTIuNSU7XG59XG5cbi5vLXN0b3JpZXNfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IDguMzMzJTtcbn0iLCIuby1zZXJ2aWNlc19ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAtNDBweDtcblxuICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTAwcHg7XG4gICAgICBsZWZ0OiBjYWxjKC0xMDAlICsgNjBweCk7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCAgcGFsZXR0ZShkYXJrKSA2MHB4KSAtMzhweCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogcGFsZXR0ZShkYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59IiwiLm8tdGVhbS1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTU5cHg7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDYzcHgpO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHdpZHRoOiA2M3B4O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgNTlweCwgIHBhbGV0dGUoc2Vjb25kYXJ5LCAxMDApIDYwcHgpIC0yNXB4IDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSArIDYwcHgpO1xuICAgIH1cbiAgfVxufSIsIi5vLXRyaXBsZS10ZXh0IHtcbiAgY29sb3I6ICBwYWxldHRlKGRhcmspO1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcblxuICBoMiB7XG4gICAgY29sb3I6ICBwYWxldHRlKGRhcmspO1xuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIG1xKDEyMDApIHtcbiAgICAgIHBhZGRpbmc6IDAgY29sdW1uKDEsIDEyKTtcbiAgICB9XG4gIH1cblxuICAuYy10cmlwbGUtdGV4dCB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIG1xKDEyMDApIHtcbiAgICAgIHBhZGRpbmc6IDAgY29sdW1uKDEsIDEyKTtcbiAgICB9XG4gIH1cblxuICAucy10ZXh0IHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMCA2MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBjb2xvcjogIHBhbGV0dGUodGV4dCwgNDAwKTtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufSIsIi5vLXZhY2FuY2llcy1jb250ZW50IHtcblxuICAjY29tcG9uZW50LWl0ZW0tLTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBjb250YWluKCk7XG4gICAgfVxuXG4gICAgLmMtdGV4dC1pbWFnZS5sLWJpc2VjdGlvbi0tY29ybmVycy5sLWJpc2VjdGlvbi0tcmV2ZXJzZWQgLnMtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtcSg5MDAsIDEyMDApIHtcbiAgICAgICAgcGFkZGluZzogNjBweCBjb2x1bW4oMC41LCAxMikgNjBweCAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEoMTIwMCkge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IGNvbHVtbigwLjUsIDEyKSA2MHB4IGNvbHVtbigxLCAxMik7XG4gICAgICB9XG4gICAgfVxuICAgIC5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLWNvcm5lcnMubC1iaXNlY3Rpb24tLXJldmVyc2VkIC5zLWltYWdlIHtcbiAgICAgIEBpbmNsdWRlIG1xKDEyMDApIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBtcShudWxsLCAxMjAwKSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgxMjAwKSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB3aGl0ZSAwLCB3aGl0ZSA1OXB4LCB0cmFuc3BhcmVudCA2MHB4KSAtMjVweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbXBvbmVudHMtY29udGVudCB7XG4gICAgY29sb3I6IGJsYWNrO1xuXG4gICAgPiAjY29tcG9uZW50LWl0ZW0tMSA+IC5sLWJpc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBtcSgxMjAwKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgY29sdW1uKDEsIDEyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucy10ZXh0IHtcblxuICAgICAgaDQge1xuICAgICAgICBjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogcGFsZXR0ZShhY3Rpb24pO1xuICAgICAgfVxuXG4gICAgICA+IHVsOm5vdChbY2xhc3NdKSA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5vLXZhY2FuY2llc19ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIG1hcmdpbi1ib3R0b206IC00MHB4O1xuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTAwcHg7XG4gICAgICBsZWZ0OiBjYWxjKC0xMDAlICsgNjBweCk7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCA1OXB4LCAgcGFsZXR0ZShkYXJrKSA2MHB4KSAtMzhweCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogcGFsZXR0ZShkYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcblxuICAgIEBpbmNsdWRlIG1xKDEyMDApIHtcbiAgICAgIHBhZGRpbmc6IDAgY29sdW1uKDEsIDEyKTtcbiAgICB9XG4gIH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cblxuLy8gTm90aGluZyBoZXJlIHlldCwganVzdCBpbXBvcnQgc29tZXRoaW5nIGhlcmUuLi5cbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMuaG9tZVwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy5wcm9qZWN0XCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzLnNpbXBsZXBhZ2VcIjsiLCIjaG9tZSB7XG4gIC5mdWxsLXdpZHRoLWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDU4MHB4O1xuICAgIG1heC1oZWlnaHQ6IDgxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogLTIwMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXG4gICAgQGluY2x1ZGUgbXEoJG1heDogNTUwKSB7XG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkbWF4OiAxMDAwKSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoMTAwMCkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI5dncgKyAxOTJweCk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICByZ2JhKDAsMCwxOSwxKSAwJSxyZ2JhKDAsMCwxOSwwKSAxMCUscmdiYSgwLDAsMTksMCkgOTAlLHJnYmEoMCwwLDE5LDEpIDEwMCUpO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogNjAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIHJnYmEoMCwwLDE5LDApIDAlLCByZ2JhKDAsMCwxOSwgMC45KSA4MCUsIHJnYmEoMCwwLDE5LDEpIDEwMCUpO1xuICAgIH1cblxuICAgICYuaXMtbW9iaWxlIHtcbiAgICAgIC5mdWxsLXdpZHRoLWltYWdlX192aWRlbyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4NSU7XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuZnVsbC13aWR0aC1pbWFnZV9fdmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoKDM2MCAvIDY0MCkgKiAxMDAlKTtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaG9tZS1zcGxhc2gtNDI1LmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1xKDQ3NSkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9ob21lLXNwbGFzaC03NzAuanBnXCIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKDgyMCkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9ob21lLXNwbGFzaC0xMDAwLmpwZ1wiKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgxMTAwKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2hvbWUtc3BsYXNoLmpwZ1wiKTtcbiAgICB9XG5cbiAgICBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcblxuICAgICAgJi5pcy1ydW5uaW5nIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkbWF4OiAxMDAwKSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIHJnYmEoMCwwLDE5LDApIDAlLCByZ2JhKDAsMCwxOSwgMC45KSA4MCUsIHJnYmEoMCwwLDE5LDEpIDEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jLXRleHQtaW1hZ2UubC1iaXNlY3Rpb24tLXJldmVyc2VkLmwtYmlzZWN0aW9uLS1jb3JuZXJzIHtcbiAgICBwYWRkaW5nLXRvcDogOTBweDtcbiAgICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICAgIHdpZHRoOiBjb2x1bW4oMTMsIDEyKTtcbiAgICB9XG5cbiAgICAucy10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1xKDkwMCkge1xuICAgICAgICB3aWR0aDogY29sdW1uKDYsIDEyKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgNjBweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNjBweDtcbiAgICAgICAgbGVmdDogLTUwJTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAwKTsgLy8gbmVlZGVkIHRvIHByZXZlbnQgbGluZSBiZXR3ZWVuIFNWRyBhbmQgZGl2XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2hvbWUtdGV4dC1pbWFnZS1sZWZ0LXRyaWFuZ2xlLnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICBAaW5jbHVkZSBtcShudWxsLCA4MDApIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zLWltYWdlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIG1xKDgwMCwgOTAwKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NnB4KTtcbiAgICAgICAgbGVmdDogLTRweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgICAgIHdpZHRoOiBjb2x1bW4oNywgMTIpO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIjcHJvamVjdHMge1xuICAucHJvamVjdC1zaG93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDE2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXG4gICAgLmMtc2xpZGUtcHJvamVjdG9yLFxuICAgIC5jLXNsaWRlLXByb2plY3Rvcl9fdHJheSxcbiAgICAuYy1zbGlkZS1wcm9qZWN0b3JfX3NsaWRlLFxuICAgIC5jLXNsaWRlLXByb2plY3Rvcl9faW1nLFxuICAgIC5jLWltYWdlICB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzAlO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG1xKDkwMCkge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTEwMCUgKyA2MHB4KTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50IDU5cHgsICBwYWxldHRlKGRhcmspIDYwcHgpIC0zOHB4IDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNjBweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmMtYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgfVxuICB9XG59XG5cbiIsIi5zaW1wbGVwYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogY2FsYyggNTAlIC0gKDUwdncgKyA4cHgpICk7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cblxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbG9yOiBwYWxldHRlKGRhcmspO1xuICB9XG5cbiAgZm9ybSB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBwLCB1bCB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBjb2xvcjogcGFsZXR0ZSh0ZXh0LCAzMDApO1xuXG4gICAgJi5jLWZvcm0tZWxlbWVudF9fZXJyb3Ige1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogcGFsZXR0ZSh0ZXh0LCA0MDApO1xuICB9XG59IiwiLnMtY2hlY2tsaXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdEBpbmNsdWRlIG93bC1jaGlsZHJlbig1cHgpO1xuXG5cdGxpIHtcblx0XHRAaW5jbHVkZSBmbGV4KCk7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRsaW5lLWhlaWdodDogMS40NTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHR3aWR0aDogMThweDtcblx0XHRcdGhlaWdodDogMThweDtcblx0XHRcdG1hcmdpbi1yaWdodDogOHB4O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7XG5cdFx0fVxuXHR9XG5cblx0LmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250ICZ7XG5cdFx0QGluY2x1ZGUgZm9udCh4LXNtYWxsKTtcblxuXHRcdGxpIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59IiwiLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cblxuXG4ucy10ZXh0IHtcblxuXHQvLyBGaXJzdCB0aGUgb3dsIHNlbGVjdG9yIGZvciBzZXR0aW5nIGEgZGVmYXVsdCB2ZXJ0aWNhbCByaHl0aG1cblx0JiA+ICogKyAqIHtcblx0XHRtYXJnaW4tdG9wOiAxLjVyZW07XG5cdH1cblxuXHQvLyBUaGUgaGVhZGVycyBuZWVkIGV4dHJhIHNwYWNlIG9uIHRoZSBib3R0b20gdG8gb2Zmc2V0IHRoZSBwYXJhZ3JhcGhzXG5cdC8vJiA+IGgxIHtcblx0Ly9cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0Ly99XG5cdC8vJiA+IGgyIHtcblx0Ly9cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0Ly99XG5cdC8vJiA+IGgzIHtcblx0Ly9cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0Ly99XG5cdC8vJiA+IGg0IHtcblx0Ly9cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0Ly99XG5cdC8vJiA+IGg1IHtcblx0Ly9cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0Ly99XG5cdC8vJiA+IGg2IHtcblx0Ly9cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0Ly99XG5cblx0JiA+IGgxLFxuXHQmID4gaDIsXG5cdCYgPiBoMyxcblx0JiA+IGg0LFxuXHQmID4gaDUsXG5cdCYgPiBoNiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0fVxuXG5cdCYgPiB1bDpub3QoW2NsYXNzXSkge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0XHQmID4gbGkge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxLjEyNWVtO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcMjAyMlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogNnB4O1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRmb250LXNpemU6IDEuNjVlbTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdFx0XHRcdGNvbG9yOiBwYWxldHRlKHRleHQsIDMwMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JiA+IG9sOm5vdChbY2xhc3NdKSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyO1xuXG5cdFx0JiA+IGxpIHtcblx0XHRcdGNvdW50ZXItaW5jcmVtZW50OiBvbC1jb3VudGVyO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxLjhlbTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udChzbWFsbCwgJHdlaWdodDogNTAwKTtcblx0XHRcdFx0Y29udGVudDogY291bnRlcihvbC1jb3VudGVyKSBcIi4gXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA1cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxLjI3NWVtO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdFx0XHRjb2xvcjogcGFsZXR0ZSh0ZXh0LCAyMDApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgQ29sb3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiBIZXJlIHdlIHByaW50IG91dCBhbGwgb3VyIGhlbHBlciBjbGFzc2VzIGZvciBvdXIgZGVmaW5lZCBjb2xvcnNcbiAqIEJhc2VkIG9uIHRoZXNlIGFydGljbGVzOlxuICogLSBodHRwOi8vZXJza2luZWRlc2lnbi5jb20vYmxvZy9mcmllbmRsaWVyLWNvbG91ci1uYW1lcy1zYXNzLW1hcHMvXG4gKiAtIGh0dHBzOi8vYmxvZy5hdGVjaG1lZGlhLmNvbS9jc3MtZm9yLW11bHRpcGxlLXRoZW1lcy9cbiAqIE91dHB1dCBpcyBpbiB0aGUgZm9ybSBvZjpcblxuICAgLnUtY29sb3ItcHJpbWFyeSB7XG4gICAgICBjb2xvcjogI2JhZGE1NTtcbiAgIH1cblxuICAudS1iZy1uZXV0cmFsLS1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVjYWZmO1xuICB9XG4gKi9cblxuQGVhY2ggJGxldmVsLCAkcGFsZXR0ZSBpbiAkcGFsZXR0ZXMge1xuXHRAZWFjaCAkdHlwZSwgJGNvbG9yIGluICRwYWxldHRlIHtcblx0XHRAaWYoJHR5cGUgPT0gJ2Jhc2UnKXtcblx0XHRcdC51LWNvbG9yLSN7JGxldmVsfSB7XG5cdFx0XHRcdGNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0XHQudS1iZy0jeyRsZXZlbH0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQudS1jb2xvci0jeyRsZXZlbH0tLSN7JHR5cGV9IHtcblx0XHRcdFx0Y29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHRcdC51LWJnLSN7JGxldmVsfS0tI3skdHlwZX0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLnUtb3dsIHtcblx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xufVxuXG4udS1ib3gtc2hhZG93IHtcblx0QGluY2x1ZGUgYm94LXNoYWRvdztcbn1cblxuLnUtaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG59XG5cbi51LXZpc3VhbGx5LWhpZGRlbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHR3aWR0aDogMXB4O1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDA7XG5cblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuXHRjbGlwOiByZWN0KDAgMCAwIDApO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udS1tYXJnaW4tYXV0byB7XG5cdG1hcmdpbjogYXV0bztcbn1cblxuJHVNYXhXaWR0aHM6IDEwMDAgNzIwIDM2MDtcblxuQGVhY2ggJG1heFdpZHRoIGluICR1TWF4V2lkdGhzIHtcblx0LnUtbWF4LXdpZHRoLSN7JG1heFdpZHRofXtcblx0XHRtYXgtd2lkdGg6ICN7JG1heFdpZHRofXB4O1xuXHR9XG59XG5cbiR1U3BhY2luZ3M6IDYwIDMwO1xuXG5AZWFjaCAkdVNwYWNpbmcgaW4gJHVTcGFjaW5ncyB7XG5cdC51LXNwYWNpbmctbWItI3skdVNwYWNpbmd9e1xuXHRcdG1hcmdpbi1ib3R0b206ICN7JHVTcGFjaW5nfXB4O1xuXHR9XG5cblx0LnUtc3BhY2luZy1tdC0jeyR1U3BhY2luZ317XG5cdFx0bWFyZ2luLXRvcDogI3skdVNwYWNpbmd9cHg7XG5cdH1cbn1cblxuXG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufSIsIi8qXG4qIElmIHlvdSBuZWVkIHRvIG1ha2UgYSBxdWljayBmaXgsIHlvdSBjYW4gZG8gaXQgaGVyZS5cbiogTGF0ZXIgd2hlbiB5b3UgaGF2ZSB0aGUgdGltZSwgeW91IGNhbiBtb3ZlIHRoZSBmaXggaW50byB0aGUgY29ycmVjdCBwbGFjZSBpbiB0aGUgc3RydWN0dXJlXG4qL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOb3RoaW5nIGhlcmUgeWV0LCBHb29kIGpvYiEhIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRoaXMgZ3JpZCBjYW4gYmUgdHVybmVkIG9uIGFuZCBvZmYgd2hlbiB5b3Ugd2FudCB0byBjaGVja1xuICogaWYgZXZlcnl0aGluZyBpcyBuaWNlIGluIHBsYWNlLlxuICogU2V0IGZsYWcgJ3Nob3dHcmlkJyB0byB0cnVlIGluIHNpdGUucGhwXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBTZXQgdGhlIHNhbWUgbnVtYmVyIG9mIGNvbHVtbnMgYXMgc2V0IGluIHRoZSBncmlkIHNldHRpbmdzXG4kdmctY29sdW1uLWNvdW50OiAgICRncmlkLWNvbHVtbi1jb3VudDtcbiR2Zy1jb2xvci0xOiAgICAgICAgcmdiYSgwLCAyNTUsIDI1NSwgMC40KTtcbiR2Zy1jb2xvci0yOiAgICAgICAgcmdiYSgwLCAyNTUsIDI1NSwgMC4yNSk7XG5cbi8vIERlZmF1bHQgdmFsdWVzIGlmIG5vIGdyaWQgc2V0dGluZyBpcyBzZXRcbiR2Zy1jb2x1bW4tY291bnQ6ICAgMTIgIWRlZmF1bHQ7XG4kdmctY29sdW1uLXdpZHRoOiAgIHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQpICFkZWZhdWx0O1xuXG5cbi51LXZpc2libGUtZ3JpZCB7XG4gIEBpbmNsdWRlIHooei12aXNpYmxlLWdyaWQpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgQGluY2x1ZGUgY29udGFpbigpO1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuICAgICAgdG8gcmlnaHQsXG4gICAgICAkdmctY29sb3ItMSxcbiAgICAgICR2Zy1jb2xvci0xICR2Zy1jb2x1bW4td2lkdGgsXG4gICAgICAkdmctY29sb3ItMiAkdmctY29sdW1uLXdpZHRoLFxuICAgICAgJHZnLWNvbG9yLTIgKCR2Zy1jb2x1bW4td2lkdGggKiAyKVxuICAgICk7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/