File: D:/HostingSpaces/SBogers10/switch4u.komma.nl/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
=========================================================== */
/* =========================================================
Organize color variables in a Sass Map.
This way, the colors can be iterated, are more organized,
and are more intuitive to reference.
========================================================= */
/**
* A simple function for accessing the colors from our mapping
* To access colors in our palette, we use a very simple custom Sass function
* This function is placed here, (and not in the toolbox)
* because we want to use it in our other setting files
USAGE:
.demo {
color: palette(primary);
}
*/
/* ========================================
Config settings
======================================== */
/*
[1] Logo dark or light can be set in header.blade.php / footer.blade.php &
[2] Set this to true when bgColor gets a dark color that contrast the body bg color
*/
/* ==========================================================
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
*/
/* ============================================
Define breakpoints for given formats
============================================ */
/* 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
* ========================================================================== */
/**
* Mixin for setting font-size in REM through a Sass Map with all available sizes
USAGE:
.myClass {
@include font-size(xl);
}
*/
/* 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 */
/*
* Set vertical spacing only for mobile viewport
USAGE:
.example {
@include vspacing-s(
'margin-top' 1
);
}
*/
/*
* Set vertical spacing for viewport larger than mobile
* In flexible units (vw) and on max viewport in a fixed amount (px)
USAGE:
.example {
@include vspacing-m-up(
'padding-top' 0.33,
'margin-bottom' 0.5
);
}
*/
/*
* From values given return the correct v-spacing for each breakpoint
*/
/**
* A simple function for setting a consistent border-radius
USAGE:
.card {
@include border-radius;
}
.card--alt {
@include border-radius(l);
}
*/
/**
* 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;
}
*/
/*
* Lobotomized owl selector.
* - Gives the children of the element spacing
* - https://alistapart.com/article/axiomatic-css-and-lobotomized-owls
*/
/**
* 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
*
* 3. Avoid the IE 10-11 `min-height` bug.
* 4. Use `%` instead of `vh` since `vh` is buggy in older mobile Safari.
*/
html {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
font-feature-settings: "lnum";
box-sizing: border-box;
height: 100%;
}
body {
font-size: 1rem;
line-height: 1.5;
position: relative;
line-height: 1.5;
font-family: "Roboto", sans-serif;
margin: 0;
color: #656565;
background: #FFFFFF;
overflow-x: hidden;
display: flex;
flex-direction: column;
height: 100%;
/* 3, 4 */
}
footer {
flex: 1 0 auto;
display: flex;
flex-direction: column;
}
/**
* [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
*/
::selection {
background: #529993;
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%;
}
/**
* 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:not([class]) {
position: relative;
color: #4079B8;
text-decoration: none;
-webkit-text-decoration-skip: ink;
text-decoration-skip-ink: auto;
}
a:not([class])::after {
position: absolute;
top: 100%;
left: 0;
width: 100%;
height: 1px;
background: #4079B8;
content: "";
opacity: 0;
transition: height 0.3s, opacity 0.3s, transform 0.3s;
transform: translateY(-5px);
}
a:not([class]):hover::after {
height: 2px;
opacity: 1;
transform: translateY(0px);
}
h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
margin-top: 0;
margin-bottom: 0;
}
h1 {
font-size: 2.5rem;
line-height: 1;
}
h2 {
font-size: 2rem;
line-height: 1.25;
font-weight: normal;
}
h3 {
font-size: 1.5rem;
line-height: 1.3333333333;
font-weight: 500;
}
h4 {
font-size: 1.25rem;
line-height: 1.6;
font-weight: 500;
}
h5, h6 {
font-size: 1rem;
line-height: 1.5;
font-weight: bold;
}
/** =====================================================================================
* 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;
}
/* 4 - Layout elements
* Design patterns (e.g. grids or media object)
=========================================================== */
/*==========================================================================
* Contain
* ========================================================================== */
.l-contain {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.l-contain {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.l-contain {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
/*===============================================================================
* Split layout in 2 equal columns
*
* Until viewport is wide enough the columns are stacked vertically
* ============================================================================== */
.l-split {
position: relative;
background-color: #FFFFFF;
height: 100%;
}
@media screen and (min-width: 840px) {
.l-split {
display: flex;
}
}
/**
* Special contain version for split.
* Doesn't restrain content on medium viewport
*/
.l-split--contain {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.l-split--contain {
width: 100%;
}
}
@media screen and (min-width: 1152px) {
.l-split--contain {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 1152px) {
.l-split__column {
width: 50%;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split__column:first-child {
width: 62.5%;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.l-split__column:first-child {
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
@media screen and (max-width: 839px) {
.l-split__column:last-child {
margin-top: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split__column:last-child {
width: 37.5%;
}
}
.l-split--is-reversed .l-split__column:first-child {
order: 2;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split--is-reversed .l-split__column:first-child {
padding-left: 12.5%;
padding-right: 0;
}
}
@media screen and (min-width: 1152px) {
.l-split--is-reversed .l-split__column:first-child {
padding-left: 8.3333333333%;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split--breakout-on-m .l-split__column:first-child {
width: 60%;
padding-left: 10%;
padding-right: 10%;
}
.l-split--breakout-on-m .l-split__column:last-child {
width: 40%;
}
}
/**
* When there is only 1 column, align it to the middle and contain the width
* Only one column is used e.g. in the tabslider when there is no image set
*/
@media screen and (min-width: 840px) {
.l-split__column:only-child {
margin: 0 auto;
width: 75%;
padding-left: 0;
padding-right: 0;
}
}
@media screen and (min-width: 1152px) {
.l-split__column:only-child {
width: 50%;
padding-left: 0 !important;
}
}
.l-split__column--vpad {
margin-top: 40px;
margin-bottom: 40px;
}
@media screen and (min-width: 840px) {
.l-split__column--vpad {
margin-top: 80px;
margin-bottom: 80px;
}
}
@media screen and (min-width: 1152px) {
.l-split__column--leftpad {
padding-left: 8.3333333333%;
}
}
/*==========================================================================
* Restrict
*
* When a block shouldn't take up the whole width of the container
* we can restrict the maximum width
* ========================================================================== */
@media screen and (min-width: 840px) {
.l-restrict-narrow {
margin-left: auto;
margin-right: auto;
width: 75%;
max-width: 38em;
}
}
@media screen and (min-width: 1152px) {
.l-restrict-narrow {
width: 50%;
}
}
@media screen and (min-width: 840px) {
.l-restrict-wide {
margin-left: auto;
margin-right: auto;
width: 87.5%;
}
}
@media screen and (min-width: 1152px) {
.l-restrict-wide {
width: 66.6666666667%;
}
}
/* 5 - COMPONENTS
* Discrete complete chunks of UI.
* Designed components
=========================================================== */
/** ==========================================================================
* Components
* =========================================================================*/
.c-breadcrumb {
padding-bottom: 4px;
}
.c-breadcrumb__list {
margin: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
}
.c-breadcrumb__item {
display: flex;
align-items: center;
}
.c-breadcrumb__item:nth-child(n+2) .c-breadcrumb__icon {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
margin-left: 8px;
margin-right: 8px;
transform: rotate(0.75turn);
color: #1D1D1D;
}
.c-breadcrumb__link {
color: #656565;
text-decoration: none;
}
.c-breadcrumb__item--last .c-breadcrumb__link {
font-weight: bold;
}
.c-button {
border-radius: 8px;
font-size: 0.875rem;
line-height: 1.1428571429;
font-weight: 500;
display: inline-flex;
align-items: center;
justify-content: center;
color: #FFFFFF;
background-color: #529993;
text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
border: none;
padding: 16px 0;
text-transform: uppercase;
position: relative;
overflow: hidden;
cursor: pointer;
text-decoration: none;
}
.c-button:focus {
outline: none;
box-shadow: 0 0 0 1px #FFFFFF, 0 0 5px 2px #529993;
}
.c-button:active:not(:disabled) {
outline: none;
box-shadow: none;
}
.c-button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-button::after {
content: "";
position: absolute;
z-index: 1;
top: calc(50% - 2px);
left: calc(50% - 2px);
width: 4px;
height: 4px;
opacity: 0;
border-radius: 50%;
background: #427a76;
pointer-events: none;
transition-property: opacity, transform;
transition-duration: 0.5s;
}
.c-button:hover:not(:disabled)::after {
opacity: 1;
transform: scale(100);
}
.c-button__text {
position: relative;
z-index: 2;
padding: 0 24px;
text-align: center;
}
.c-button--icon .c-button__text {
padding-right: 16px;
}
.c-button__icon {
display: none;
position: relative;
z-index: 2;
top: -1px;
margin-right: 15px;
transition: transform 0.3s;
}
.c-button:hover:not(:disabled) .c-button__icon {
transform: translateX(3px);
}
.c-button__icon:first-child {
margin-right: 0;
margin-left: 15px;
}
.c-button--icon .c-button__icon {
display: block;
width: 16px;
}
/* ==========================================================================
* Default button
* ========================================================================== */
.c-ghostbutton {
border-radius: 8px;
font-size: 0.875rem;
line-height: 1.1428571429;
font-weight: 500;
display: inline-flex;
justify-content: center;
align-items: center;
color: #FFFFFF;
background: transparent;
text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
border: 1px solid currentColor;
padding: 16px 0;
text-transform: uppercase;
position: relative;
cursor: pointer;
text-decoration: none;
}
.c-ghostbutton:focus {
outline: none;
box-shadow: 0 0 4px 2px rgba(255, 255, 255, 0.5);
}
.c-ghostbutton:active:not(:disabled) {
outline: none;
box-shadow: none !important;
}
.c-ghostbutton:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-ghostbutton::after {
border-radius: 8px;
border: 1px solid transparent;
background: rgba(0, 0, 0, 0.07);
background-clip: content-box;
content: "";
position: absolute;
top: -1px;
bottom: -1px;
right: -1px;
left: -1px;
transform: scaleX(0);
opacity: 0;
pointer-events: none;
transition-duration: 0.5s;
}
.c-ghostbutton:hover:not(:disabled)::after {
transform: scaleX(1);
opacity: 1;
transition-property: opacity, transform;
transition-duration: 0.35s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-ghostbutton__text {
position: relative;
z-index: 2;
padding: 0 24px;
text-align: center;
}
.c-button--icon .c-ghostbutton__text {
padding-right: 16px;
}
.c-ghostbutton__icon {
display: none;
position: relative;
z-index: 2;
top: -1px;
margin-right: 15px;
transition: transform 0.3s;
}
.c-ghostbutton:hover:not(:disabled) .c-ghostbutton__icon {
transform: translateX(3px);
}
.c-ghostbutton--icon .c-ghostbutton__icon {
display: block;
width: 16px;
}
.c-ghostbutton__icon:first-child {
margin-right: 0;
margin-left: 15px;
}
.c-card {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
position: relative;
}
/*
* Card that does some animations on hover
*/
.c-card--has-action {
overflow: hidden;
z-index: 0;
}
.c-card--has-action:hover, .c-card--has-action:active {
outline: none !important;
}
.c-card--has-action::before, .c-card--has-action::after {
content: "";
position: absolute;
z-index: 1;
top: 0;
right: 0;
bottom: 0;
left: 0;
opacity: 0;
pointer-events: none;
}
.c-card--has-action::before {
background-color: rgba(0, 0, 0, 0.92);
background: radial-gradient(rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.92) 100%);
transform: translateX(-135%) rotate(-11deg) scale(1.3);
transform-origin: center;
transition-property: opacity, transform;
transition-duration: 300ms;
transition-delay: 100ms;
transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action::after {
z-index: 2;
width: 25px;
margin: auto;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2366BFB7' d='M13.4 6.783H.762A.772.772 0 0 1 0 6c0-.432.341-.783.762-.783H13.4L9.623 1.336a.798.798 0 0 1 0-1.107.747.747 0 0 1 1.077 0l5.077 5.218a.798.798 0 0 1 0 1.106L10.7 11.771a.747.747 0 0 1-1.077 0 .798.798 0 0 1 0-1.107L13.4 6.783z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
transform: scale(1.75);
transition-property: opacity, transform;
transition-duration: 200ms;
}
.c-card--has-action:hover:before {
opacity: 0.92;
transform: rotate(-11deg) scale(1.3);
transition-duration: 400ms;
transition-delay: 50ms;
}
.c-card--has-action:hover:after {
opacity: 1;
transform: none;
transition-duration: 400ms;
transition-delay: 200ms;
}
.c-card--has-action:focus {
outline-color: #000000;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-card__picture {
width: 100%;
flex: auto;
display: block;
}
.c-card__img {
object-fit: cover;
width: 100%;
height: 100%;
}
.c-card__label {
font-size: 0.875rem;
line-height: 1.1428571429;
position: relative;
z-index: 3;
overflow: hidden;
padding: 14px 10px 15px;
text-align: center;
font-weight: medium;
text-transform: uppercase;
color: #FFFFFF;
background-color: #20505B;
transition-property: background;
transition-duration: 400ms;
}
.c-card--has-action:hover .c-card__label {
color: #FFFFFF;
}
.c-card__label::before {
content: "";
position: absolute;
z-index: -1;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #529993;
pointer-events: none;
transform: translateY(300%) rotate(11deg) scale(1.5, 3);
transform-origin: center;
transition-property: opacity, transform;
transition-duration: 300ms;
transition-delay: 200ms;
transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action:hover .c-card__label::before {
opacity: 1;
transform: rotate(5deg) scale(2);
transition-duration: 300ms;
transition-delay: 0ms;
}
.c-card__info {
padding: 16px 32px;
background-color: #F8F8F8;
}
.c-card__heading {
font-size: 1rem;
line-height: 1.5;
color: #656565;
}
.c-card__subheading {
color: #999999;
}
.c-card__textline {
color: #999999;
}
*:not(.c-card__textline) + .c-card__textline {
margin-top: 16px;
}
.c-close {
display: flex;
align-items: center;
justify-content: 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:focus {
box-shadow: 0 0 3px 2px #20505B;
}
.c-close:after, .c-close:before {
content: "";
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: #20505B;
border-radius: 3px;
}
.c-close:before {
transform: rotate(45deg);
}
.c-close:after {
transform: rotate(-45deg);
}
.c-close:hover {
transform: scale(1.2);
}
.c-connect {
display: inline-flex;
flex-direction: column;
align-items: center;
}
@media screen and (min-width: 840px) {
.c-connect {
flex-direction: row;
}
}
.c-connect__phone {
font-size: 1.25rem;
line-height: 1.6;
font-weight: bold;
text-decoration: none;
color: #2C2C2C;
transition: opacity 300ms;
}
.c-connect__phone:hover, .c-connect__phone:active {
outline: none !important;
}
.c-connect__phone:hover {
opacity: 0.7;
text-decoration: underline;
}
.c-connect__phone:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-connect__or {
margin: 0 16px;
color: #656565;
}
@media screen and (max-width: 839px) {
.c-connect__or {
margin: 8px 0 16px;
}
}
.c-data {
margin: 8px 0;
}
.c-data__line {
display: flex;
}
.c-data__label {
min-width: 64px;
font-weight: bold;
color: rgba(0, 0, 0, 0.7);
}
.c-data__value {
color: rgba(0, 0, 0, 0.4);
text-decoration: none;
}
.c-data__value[href]:hover, .c-data__value[href]:active {
outline: none !important;
}
.c-data__value[href]:hover {
text-decoration: underline;
}
.c-data__value[href]:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-download-list {
list-style: none;
padding: 0;
margin: 0;
}
.c-download-list__item {
border-bottom: 1px solid #C8C8C8;
transition: color 0.2s, background-color 0.2s;
}
.c-download-list__item:hover {
background-color: rgba(200, 200, 200, 0.2);
}
.c-download-list__link {
display: flex;
padding: 8px 0;
text-decoration: none;
}
.c-download-list__icon {
display: inline-block;
width: 16px;
}
.c-download-list__icon svg {
width: 100%;
}
.c-download-list__text {
width: calc(100% - 16px);
padding-left: 8px;
}
.c-download-list__item:hover .c-download-list__text {
color: #1D1D1D;
}
.c-form-group__label {
font-size: 0.9375rem;
line-height: 1.6;
display: block;
padding: 4px 0;
color: #999999;
}
.c-form-group__error {
display: none;
}
.has-error .c-form-group__error:not(:empty) {
font-size: 0.875rem;
line-height: 1.1428571429;
display: block;
padding: 8px;
color: #4079B8;
background-color: rgba(64, 121, 184, 0.1);
border: 1px solid #4079B8;
border-top: none;
border-radius: 0 0 4px 4px;
}
.c-form-feedback {
font-size: 0.9375rem;
line-height: 1.6;
border-radius: 4px;
margin: 0 0 8px;
padding: 24px 32px;
color: #2C2C2C;
background-color: rgba(255, 211, 58, 0.2);
border: 1px solid #ffd33a;
}
.c-form-feedback:not(:empty) {
display: block;
}
.c-form-feedback:before {
content: attr(data-feedback);
display: inline-block;
margin-left: -16px;
margin-bottom: 8px;
font-weight: 500;
}
.c-form-feedback li::first-letter {
text-transform: uppercase;
}
.c-hamburger {
display: flex;
justify-content: center;
align-items: center;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
color: #20505B;
background: none;
border: none;
outline: none;
cursor: pointer;
}
.c-hamburger:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-hamburger > span, .c-hamburger:after, .c-hamburger:before {
content: "";
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: currentColor;
border-radius: 3px;
transform-origin: right;
transition-property: transform;
transition-duration: 150ms;
transition-timing-function: ease-out;
transition-delay: 100ms;
}
.c-hamburger:before {
top: 12px;
transform: scaleX(0.8);
}
.c-hamburger:after {
top: 28px;
transform: scaleX(0.5);
}
.c-hamburger:hover > span {
transform: scaleX(0.8);
}
.c-hamburger:hover:after, .c-hamburger:hover:before {
transform: scaleX(1);
}
.is-overlay-menu-active .c-hamburger > span {
transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger:before {
transform: translateY(3px) scaleX(1) !important;
transition-delay: 0s;
}
.is-overlay-menu-active .c-hamburger:after {
transform: translateY(-3px) scaleX(1) !important;
transition-delay: 0s;
}
.c-heading {
font-size: 2rem;
line-height: 1.25;
margin: 40px 0;
color: #2C2C2C;
}
@media screen and (min-width: 1152px) {
.c-heading--indent {
padding-left: 8.3333333333%;
}
}
@media screen and (min-width: 840px) {
.c-hero {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
}
@media screen and (min-width: 840px) and (min-width: 840px) {
.c-hero {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 840px) and (min-width: 1152px) {
.c-hero {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.c-hero__main {
position: relative;
background-color: #FFFFFF;
}
.c-hero__slider {
overflow: hidden;
position: relative;
padding-bottom: 55.556%;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-hero__slider {
padding-bottom: 50%;
}
}
.c-hero__picture {
position: absolute;
top: 0;
left: 0;
opacity: 0;
transition-property: opacity, filter;
transition-duration: 500ms;
transition-timing-function: linear;
filter: blur(5px);
}
.c-hero__picture.is-active {
opacity: 1;
transform: translateY(0) scale(1);
filter: none;
}
.c-hero__image {
width: 100%;
}
.c-hero__caption {
font-size: calc(16px + 1vw);
font-weight: bold;
position: relative;
padding: 24px;
line-height: 1.2;
text-align: center;
color: #FFFFFF;
background-color: #1D1D1D;
}
@media screen and (min-width: 840px) {
.c-hero__caption {
position: absolute;
bottom: 0;
max-width: 50%;
padding: 32px;
text-align: left;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-hero__caption {
padding: 2.6vw;
font-size: 3.5vw;
line-height: 1.15;
}
}
@media screen and (min-width: 1152px) {
.c-hero__caption {
font-size: 3rem;
line-height: 1;
line-height: 1.25;
padding-left: 4.1666666667%;
}
}
.c-hero__controls {
position: absolute;
bottom: 0;
right: 0;
width: 100%;
padding: 8px;
}
.c-hero__controls::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
height: 48px;
width: 100%;
background: linear-gradient(to top, black, transparent);
opacity: 0.3;
}
.c-hero__scroll {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
bottom: 0;
left: 50%;
width: 40px;
height: 40px;
padding: 10px;
color: #FFFFFF;
background-color: #529993;
border-radius: 100%;
transform: translate(-50%, 50%) rotate(0.25turn);
transition: background-color 200ms;
}
@media screen and (max-width: 839px) {
.c-hero__scroll {
display: none;
}
}
.c-hero__scroll > svg {
transition: transform 200ms;
}
.c-hero__scroll:hover {
cursor: pointer;
background: #46827d;
}
.c-hero__scroll:hover > svg {
transform: translateX(3px);
}
.c-hero__scroll:focus {
outline: none;
background: #4a8a84;
box-shadow: 0 0 0 3px #c9e2e0;
}
.c-input {
font-size: 0.9375rem;
line-height: 1.6;
width: 100%;
padding: 7px 16px;
color: #2C2C2C;
background-color: #FFFFFF;
border: 1px solid #C8C8C8;
outline: none;
}
.has-error .c-input {
box-shadow: 0 0 7px -3px #4079B8;
border-color: #4079B8;
}
.c-input:focus {
box-shadow: 0 0 7px -3px #1D1D1D;
border-color: #1D1D1D;
}
textarea.c-input {
display: block;
padding: 16px;
min-height: 158px;
line-height: 24px;
resize: vertical;
}
.c-language {
position: relative;
}
.c-language__button {
font-size: 0.9375rem;
line-height: 1.6;
border-radius: 4px;
display: flex;
position: relative;
width: 100%;
padding: 8px;
text-align: left;
background: transparent;
color: rgba(101, 101, 101, 0.5);
border: none;
-webkit-appearance: none;
appearance: none;
transition: background-color 0.15s, box-shadow 0.15s;
}
.c-language__button:focus {
outline: none;
}
.c-language__icon {
flex: none;
pointer-events: none;
}
.c-language__label {
margin-left: 4px;
font-weight: bold;
}
.c-language__dropdown {
position: absolute;
right: 0;
top: 100%;
min-width: 100%;
margin: 0;
opacity: 0;
list-style: none;
border-radius: 4px;
box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.15);
pointer-events: none;
transform: translate3d(0, -5px, 0);
transition: opacity 0.3s, transform 0.3s;
}
.c-language:hover .c-language__dropdown {
opacity: 1;
pointer-events: all;
transform: translate3d(0, 0, 0);
}
.c-language__item {
background-color: #FFFFFF;
overflow: hidden;
}
.c-language__item:nth-child(even) {
background-color: #f2f2f2;
}
.c-language__item:first-child {
border-radius: 4px 4px 0 0;
}
.c-language__item:last-child {
border-radius: 0 0 4px 4px;
}
.c-language__item:first-child:last-child {
border-radius: 4px;
}
.c-language__link {
display: block;
padding: 4px 8px;
text-align: center;
font-weight: bold;
text-decoration: none;
color: #656565;
transition: background-color 0.3s;
}
.c-language__link:hover {
color: #FFFFFF;
background-color: #529993;
}
/*
Colors get defined in _settings.config.scss
*/
.c-nav {
height: 100%;
padding: 0;
}
.c-nav__list {
display: flex;
justify-content: flex-end;
align-items: center;
margin-left: 0;
padding: 0;
list-style: none;
}
.c-nav__item {
font-size: 1rem;
line-height: 1.5;
white-space: nowrap;
margin-right: 2%;
}
.c-nav__item:last-child {
margin-right: 0;
}
.c-nav__link {
position: relative;
padding: 4px;
color: #656565;
text-decoration: none;
transition: color 150ms linear;
}
.c-nav__link:hover, .c-nav__link:active {
outline: none !important;
}
.c-nav__link::before {
content: "";
display: block;
position: absolute;
z-index: -1;
left: 4px;
bottom: 1px;
width: calc(100% - 8px);
height: 2px;
border-radius: 1px;
background-color: #66BFB7;
transform: scaleX(0);
transform-origin: bottom right;
transition: transform 300ms cubic-bezier(0.86, 0, 0.07, 1);
}
.c-nav__link:hover {
color: #20505B;
}
.c-nav__link:hover::before {
transform: scaleX(1);
transform-origin: bottom left;
}
.c-nav__link.is-active {
font-weight: 500;
color: #1D1D1D;
}
.c-nav__link.is-active::before {
transform: scaleX(1);
transform-origin: bottom left;
background-color: #66BFB7;
}
.c-nav__link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-pagination {
display: inline-flex;
justify-content: center;
align-items: center;
border-radius: 8px;
border: 1px solid #C8C8C8;
list-style: none;
margin-left: 0;
overflow: hidden;
}
.c-pagination__item {
display: flex;
justify-content: center;
align-items: center;
}
@media screen and (max-width: 839px) {
.c-pagination__item {
display: none;
}
.c-pagination__item:first-child, .c-pagination__item:last-child, .c-pagination__item.is-last-page, .c-pagination__item.is-active {
display: flex;
}
.c-pagination__item.is-last-page {
pointer-events: none;
}
}
.c-pagination__item + .c-pagination__item {
border-left: 1px solid;
border-color: inherit;
}
.c-pagination__text,
.c-pagination__link,
.c-pagination__prev,
.c-pagination__next {
display: flex;
justify-content: center;
align-items: center;
min-width: 48px;
min-height: 48px;
padding: 8px;
}
.c-pagination__text {
color: #2C2C2C;
opacity: 0.35;
}
.c-pagination__link {
color: #2C2C2C;
text-decoration: none;
transition: color 0.2s, background-color 0.2s;
}
.c-pagination__link:hover {
color: #1f1f1f;
background: #F8F8F8;
}
.is-active > .c-pagination__link {
box-shadow: inset 0 0 10px -5px #66BFB7;
font-weight: bold;
color: #66BFB7;
cursor: default;
}
.c-pagination__prev,
.c-pagination__next {
transition: background 0.2s;
transform: rotate(0.75turn);
}
.c-pagination__prev.is-inactive,
.c-pagination__next.is-inactive {
color: rgba(44, 44, 44, 0.4);
background: transparent;
}
.c-pagination__prev {
transform: rotate(0.25turn);
}
/*
* Page title
*/
.c-page-title {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
padding-top: 16px;
padding-bottom: 16px;
color: #20505B;
}
@media screen and (min-width: 840px) {
.c-page-title {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.c-page-title {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 840px) {
.c-page-title {
padding-top: 48px;
padding-bottom: 48px;
}
}
.c-page-title--center {
text-align: center;
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.c-page-title--center {
width: 75%;
}
}
@media screen and (min-width: 1152px) {
.c-page-title--center {
width: 66.6666666667%;
}
}
@media screen and (min-width: 840px) {
.c-page-title__preheading {
margin-top: -16px;
margin-bottom: 16px;
}
}
.c-page-title__heading {
font-size: 2.5rem;
line-height: 1;
line-height: 1.3;
}
.c-page-title__heading-small {
font-size: 1.25rem;
line-height: 1.6;
display: block;
}
.c-projector {
position: relative;
height: 100%;
max-width: 576px;
margin: 0 auto;
}
.c-projector__figure {
display: -ms-grid;
display: grid;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
height: 100%;
}
.c-projector__caption {
font-size: 0.9375rem;
line-height: 1.6;
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 2;
grid-row: 2;
-webkit-user-select: text;
-ms-user-select: text;
user-select: text;
margin-top: 8px;
color: #999999;
}
.c-projector__picture {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
height: 100%;
min-height: 360px;
display: block;
background-color: #F8F8F8;
opacity: 0;
transition: opacity 0.5s;
}
.ie .c-projector--single-image .c-projector__picture {
min-height: 400px;
}
.c-projector__picture.is-active {
opacity: 1;
}
.c-projector__control {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
margin-bottom: 8px;
margin-right: 8px;
}
.c-projector__img {
width: 100%;
height: 100%;
object-fit: cover;
}
@media screen and (max-width: 839px) {
.c-projector__img {
max-height: 78vh;
}
}
.c-servicepoint {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
text-align: left;
}
.c-servicepoint__image {
flex: 0;
min-width: auto;
max-width: 194px;
margin-right: 16px;
border-radius: 100%;
}
.c-servicepoint__content {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
min-width: 50%;
max-width: 100%;
flex-grow: 1;
flex-basis: calc(calc(420px - 100%) * 999);
margin-top: 16px;
margin-bottom: 16px;
}
@media screen and (min-width: 1152px) {
.c-servicepoint__content {
flex-basis: auto;
}
}
.c-servicepoint__body {
margin-top: 8px;
}
.c-servicepoint__footer {
margin-top: 8px;
}
.c-servicepoint__heading {
font-size: 1rem;
line-height: 1.5;
color: rgba(0, 0, 0, 0.6);
border-radius: 100%;
}
.c-servicepoint__subheading {
font-size: 0.9375rem;
line-height: 1.6;
color: rgba(0, 0, 0, 0.35);
}
.c-sitemap__item {
font-size: 1.5rem;
line-height: 1.3333333333;
color: #656565;
}
.c-sitemap__link {
display: block;
padding: 4px 0;
text-decoration: none;
}
.c-sitemap__link:hover {
color: #66BFB7;
text-decoration: underline;
}
/*
* Skip Link
*/
.c-skip-link {
font-size: 0.9375rem;
line-height: 1.6;
position: fixed;
top: -100vh;
left: 50%;
transform: translateX(-50%);
color: #4079B8;
text-decoration: none;
}
.c-skip-link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
top: 5px;
/* Now the link will appear */
}
.c-slide-indicator {
display: flex;
justify-content: flex-end;
align-items: center;
}
.c-slide-indicator__button {
position: relative;
border: none;
background-color: #529993;
color: #FFFFFF;
height: 40px;
width: 40px;
}
.c-slide-indicator__button + .c-slide-indicator__button {
margin-left: 8px;
}
.c-slide-indicator__button[aria-label=previous] > svg {
transform: rotate(90deg);
}
.c-slide-indicator__button[aria-label=next] > svg {
transform: rotate(-90deg);
}
.c-slide-indicator__button:hover {
cursor: pointer;
background-color: #4a8a84;
}
.c-slide-indicator__button:focus {
outline: none;
background-color: #4a8a84;
}
.c-slide-indicator__dot {
position: relative;
display: inline-block;
width: 30px;
height: 30px;
background-color: transparent;
border: none;
cursor: pointer;
transition-property: background-color, opacity;
transition-duration: 250ms;
}
.c-slide-indicator__dot:focus {
outline: none;
}
.c-slide-indicator__dot:hover:not(.is-active), .c-slide-indicator__dot:focus:not(.is-active) {
opacity: 0.5;
}
.c-slide-indicator__dot:before, .c-slide-indicator__dot:after {
content: "";
position: absolute;
background-clip: content-box;
transition-property: transform, background-color, opacity;
transition-duration: 0.3s;
transition-timing-function: ease-in-out;
border-radius: 100%;
}
.c-slide-indicator__dot:before {
top: calc((30px - 8px) / 2);
right: calc((30px - 8px) / 2);
bottom: calc((30px - 8px) / 2);
left: calc((30px - 8px) / 2);
background-color: #FFFFFF;
}
.c-slide-indicator__dot:after {
top: calc((30px - 12px) / 2);
right: calc((30px - 12px) / 2);
bottom: calc((30px - 12px) / 2);
left: calc((30px - 12px) / 2);
border: 1px solid #FFFFFF;
transform: scale(1.4);
opacity: 0;
}
.c-slide-indicator__dot.is-active:before {
background-color: #000000;
border-color: rgba(255, 255, 255, 0.9);
transform: scale(0.75);
}
.c-slide-indicator__dot.is-active:after {
opacity: 0.9;
transform: scale(1);
}
.c-slide-indicator__dot:focus {
opacity: 1 !important;
}
.c-slide-indicator__dot:focus:before {
box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-slide-indicator__dot:focus:after {
box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-subnav {
height: 100%;
}
.c-subnav--boxed {
background-color: #F8F8F8;
padding: 80px 6vw;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-subnav--boxed {
padding-left: 25%;
}
}
.c-subnav__header {
margin: 0;
margin-bottom: 40px;
}
.c-subnav__list {
list-style-type: none;
margin-left: 0;
}
.c-subnav__item--back {
margin-top: 24px;
}
.c-subnav__link {
position: relative;
display: flex;
padding: 8px 0;
color: #656565;
text-decoration: none;
cursor: pointer;
transition: color 250ms;
}
.c-subnav__link:hover, .c-subnav__link:active {
outline: none !important;
}
.c-subnav__link:hover {
color: #4079B8;
}
.c-subnav__link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-subnav__link::before {
content: "";
display: block;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border-bottom: 1px solid #C8C8C8;
}
.c-subnav__item.is-active .c-subnav__link::before {
border-color: #66BFB7;
border-width: 2px;
}
.c-subnav__icon {
opacity: 0;
align-items: center;
margin-left: 16px;
color: #C8C8C8;
transform: translateX(-16px);
transition: all 250ms ease-out;
}
.c-subnav__link:hover .c-subnav__icon {
opacity: 1;
transform: none;
color: #4079B8;
}
.c-subnav__item.is-active .c-subnav__link {
color: #66BFB7;
font-weight: bold;
}
.c-subnav__item.is-active .c-subnav__link::before {
border-color: #66BFB7;
border-width: 2px;
}
.c-subnav__item.is-active .c-subnav__icon {
opacity: 0;
}
/**
* 1. Color gets inherited and used for nested elements with 'currentColor' property
* 2. Reset default button styling
*/
.c-textbutton {
display: inline-flex;
justify-content: center;
align-items: center;
color: #4079B8;
/* 1 */
padding: 0;
/* 2 */
background-color: transparent;
/* 2 */
border: none;
/* 2 */
cursor: pointer;
text-decoration: none;
transition: color 0.3s;
}
.c-textbutton:hover, .c-textbutton:active {
outline: none !important;
}
.c-textbutton:hover:not(:disabled) {
color: #26496e;
}
.c-textbutton:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-textbutton:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-textbutton__text {
font-size: 1rem;
line-height: 1.5;
}
.c-textbutton__icon {
display: none;
position: relative;
margin-left: 8px;
transition: transform 0.3s;
}
.c-textbutton:hover:not(:disabled) .c-textbutton__icon {
transform: translateX(3px);
}
.c-textbutton--icon .c-textbutton__icon {
display: block;
}
.c-textbutton--is-reversed .c-textbutton__text {
order: 2;
}
.c-textbutton--is-reversed .c-textbutton__icon {
order: 1;
top: 1px;
margin-left: 0;
margin-right: 8px;
transform: rotate(0.5turn);
}
.c-textbutton--is-reversed:hover:not(:disabled) .c-textbutton__icon {
transform: rotate(0.5turn) translateX(3px);
}
.c-trademark {
display: inline-flex;
justify-content: center;
align-items: center;
text-decoration: none;
transition: color 200ms;
}
.c-trademark:hover, .c-trademark:active {
outline: none !important;
}
.c-trademark:hover {
color: #FFFFFF;
}
.c-trademark:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-trademark__text {
margin-right: 7px;
white-space: nowrap;
}
.c-trademark__icon {
width: 100px;
max-height: 32px;
opacity: 0.75;
transition: opacity 200ms;
transform: translateY(-1px);
}
.c-trademark:hover .c-trademark__icon {
opacity: 1;
}
.c-video {
position: relative;
height: 0;
width: 100%;
padding-bottom: 56.25%;
background-color: #F5F5F5;
}
.c-video__iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/* 6 - ORGANISMS
* Large blocks composed of multiple components.
=========================================================== */
/** ==========================================================================
* Organisms
* =========================================================================*/
.o-accordion {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-accordion {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-accordion {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-accordion__item {
border-radius: 8px;
position: relative;
overflow: hidden;
border-style: solid;
border-width: 1px;
border-color: #C8C8C8;
transition-property: border;
transition-duration: 250ms;
}
.o-accordion__item + .o-accordion__item {
margin-top: 16px;
}
.o-accordion__item:not(.is-active):hover {
border-color: #66BFB7;
}
.o-accordion__title {
display: flex;
justify-content: flex-start;
align-items: center;
padding-top: 16px;
padding-right: 24px;
padding-bottom: 16px;
padding-left: 48px;
color: #000000;
cursor: pointer;
}
@media screen and (min-width: 840px) {
.o-accordion__title {
padding-left: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-accordion__title {
padding-left: 8.3333333333%;
}
}
.o-accordion__item:not(.is-active) .o-accordion__title:hover {
color: #66BFB7;
}
.o-accordion__icon {
flex: 0 0 auto;
position: absolute;
top: auto;
left: 14px;
width: 20px;
height: 20px;
color: inherit;
border-color: currentColor;
border-width: 2px;
border-style: solid;
border-radius: 100%;
transition-property: color;
transition-duration: 250ms;
transition-timing-function: ease;
}
@media screen and (min-width: 840px) {
.o-accordion__icon {
left: calc(6.25% - 10px);
}
}
@media screen and (min-width: 1152px) {
.o-accordion__icon {
left: calc(4.1666666667% - 10px);
}
}
.o-accordion__icon::before, .o-accordion__icon::after {
content: "";
display: block;
position: absolute;
height: 2px;
width: 10px;
left: 3px;
top: calc(50% - 1px);
background-color: currentColor;
transition-property: background-color, transform;
transition-duration: 250ms, 400ms;
transition-timing-function: ease, cubic-bezier(0.86, 0, 0.07, 1);
}
.o-accordion__item.is-active .o-accordion__icon::before {
transform: scaleX(0) rotate(0.25turn);
}
.o-accordion__icon::after {
transform: rotate(0.25turn);
}
.o-accordion__item.is-active .o-accordion__icon::after {
transform: rotate(0.5turn);
}
.o-accordion__header {
font-size: 1rem;
line-height: 1.5;
font-weight: 500;
color: inherit;
text-decoration: inherit;
transition-property: color;
transition-duration: 250ms;
transition-timing-function: ease;
}
@media screen and (min-width: 840px) {
.o-accordion__header {
font-size: 1.5rem;
line-height: 1.3333333333;
}
}
/* Hidden by default*/
.o-accordion__content {
opacity: 0;
max-height: 0;
overflow: hidden;
padding-left: 48px;
padding-right: 24px;
transform: translateY(6px);
transition: all 0.2s ease-in-out;
}
.o-accordion__content > * + * {
margin-top: 1.5rem;
}
@media screen and (min-width: 840px) {
.o-accordion__content {
padding-left: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-accordion__content {
padding-left: 8.3333333333%;
}
}
.o-accordion__item.is-active .o-accordion__content {
opacity: 1;
max-height: 400px;
padding-bottom: 32px;
transform: none;
transition-property: all;
transition-duration: 400ms;
transition-timing-function: ease-out;
transition-delay: 0.2s;
}
@media screen and (max-width: 839px) {
.o-block {
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-block {
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-block {
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-block {
margin-bottom: 96px;
}
}
@media screen and (max-width: 839px) {
.o-block + .o-block {
margin-top: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-block + .o-block {
margin-top: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-block + .o-block {
margin-top: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-block + .o-block {
margin-top: 96px;
}
}
/*
* Wrapper of the main body
* (between the header and the footer)
*/
.o-body {
z-index: 40;
position: relative;
flex: 0 0 auto;
}
.o-callout-bar {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
color: #2C2C2C;
background-color: rgba(102, 191, 183, 0.15);
text-align: center;
}
.o-callout-bar__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-callout-bar__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-callout-bar__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (max-width: 839px) {
.o-callout-bar__main {
padding-top: 12vw;
padding-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-callout-bar__main {
padding-top: 10vw;
padding-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-callout-bar__main {
padding-top: 7.1428571429vw;
padding-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-callout-bar__main {
padding-top: 96px;
padding-bottom: 96px;
}
}
@media screen and (max-width: 839px) {
.o-callout-bar__main > * + * {
margin-top: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-callout-bar__main > * + * {
margin-top: 5vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-callout-bar__main > * + * {
margin-top: 3.5714285714vw;
}
}
@media screen and (min-width: 1344px) {
.o-callout-bar__main > * + * {
margin-top: 48px;
}
}
.o-callout-bar__body {
display: inline-block;
}
.o-callout-bar__heading {
font-size: 2rem;
line-height: 1.25;
}
/*
* Card grid
*
*/
@media screen and (min-width: 600px) {
.o-card-grid__main {
display: flex;
flex-wrap: wrap;
}
}
@media screen and (max-width: 599px) {
.o-card-grid__item + .o-card-grid__item {
margin-top: 32px;
}
}
@media screen and (max-width: 599px) {
.o-card-grid__item {
max-width: 344px;
margin: 0 auto;
}
}
@media screen and (min-width: 600px) and (max-width: 1151px) {
.o-card-grid__item {
flex: 0;
flex-basis: calc(50% - ((2 - 1) / 2 * 32px));
margin-left: 32px;
}
.o-card-grid__item:nth-child(2n+1) {
margin-left: 0;
}
.o-card-grid__item:nth-child(n+3) {
margin-top: 32px;
}
}
@media screen and (min-width: 1152px) {
.o-card-grid__item {
flex: 0;
flex-basis: calc(33.3333333333% - ((3 - 1) / 3 * 32px));
margin-left: 32px;
}
.o-card-grid__item:nth-child(3n+1) {
margin-left: 0;
}
.o-card-grid__item:nth-child(n+4) {
margin-top: 32px;
}
}
.o-contact {
background-color: #FFFFFF;
position: relative;
}
@media screen and (min-width: 1220px) {
.o-contact {
display: flex;
width: calc((100% / 14) * 12);
max-width: 1152px;
margin-left: auto;
margin-right: auto;
}
}
.o-contact__info {
padding-top: 32px;
padding-left: 6vw;
padding-right: 6vw;
}
@media screen and (min-width: 840px) {
.o-contact__info {
padding-left: 10%;
padding-right: 10%;
}
}
@media screen and (min-width: 1152px) {
.o-contact__info {
padding-left: 7.1428571429%;
padding-right: 7.1428571429%;
}
}
@media screen and (min-width: 1220px) {
.o-contact__info {
width: 50%;
padding-top: 48px;
padding-bottom: 48px;
padding-right: 8px;
}
}
.o-contact__form {
margin-top: 32px;
padding: 32px 6vw;
background-color: #F8F8F8;
}
@media screen and (min-width: 840px) {
.o-contact__form {
padding-left: 10%;
padding-right: 10%;
}
}
@media screen and (min-width: 1152px) {
.o-contact__form {
padding-left: 7.1428571429%;
padding-right: 7.1428571429%;
}
}
@media screen and (min-width: 1220px) {
.o-contact__form {
width: 50%;
margin-top: 0;
padding-top: 48px;
}
}
.o-contact__header {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
font-size: 2rem;
line-height: 1.25;
margin-bottom: 32px;
color: #2C2C2C;
}
.o-contact__card {
margin-bottom: 40px;
}
.o-contact__address {
margin-top: 24px;
}
.o-contact__numbers {
margin-top: 16px;
}
.o-cookie-bar {
z-index: -1;
display: none;
position: fixed;
bottom: 0;
left: 0;
height: 64px;
width: 100%;
background-color: #1D1D1D;
opacity: 1;
box-shadow: 0 -4px 6px 0 rgba(0, 0, 0, 0.2);
transition: opacity 0.5s, transform 0.6s;
transform: none;
}
.o-cookie-bar:not(.is-accepted) {
z-index: 9999;
display: flex;
justify-content: flex-start;
align-items: center;
}
.o-cookie-bar.is-transitioning-out {
z-index: -1;
opacity: 0;
transform: translateY(50%);
}
.o-cookie-bar__main {
display: flex;
justify-content: center;
align-items: center;
}
@media screen and (max-width: 373px) {
.o-cookie-bar__main {
transform: scale(0.9);
}
}
.o-cookie-bar__text {
margin: 0;
color: #FFFFFF;
}
@media screen and (max-width: 374px) {
.o-cookie-bar__text {
font-size: 0.875rem;
line-height: 1.1428571429;
}
}
.o-cookie-bar__link {
color: inherit;
transition: color 0.3s;
}
.o-cookie-bar__link:hover {
color: rgba(255, 255, 255, 0.75);
}
.o-cookie-bar__button {
flex: none;
margin-left: 40px;
}
@media screen and (max-width: 839px) {
.o-cookie-bar__button {
margin-left: 16px;
}
}
/*===============================================================================
* Double image in 2 equal columns
*
* Until viewport is wide enough the pictures are stacked vertically
* ============================================================================== */
.o-double-image {
margin: -1px;
text-align: center;
}
@media screen and (min-width: 1100px) {
.o-double-image {
display: flex;
}
}
.o-double-image__picture {
display: block;
margin: 1px;
order: 1;
min-height: 360px;
}
@media screen and (min-width: 1100px) {
.o-double-image__picture {
width: 50%;
display: flex;
justify-content: flex-end;
}
.o-double-image__picture:last-child {
justify-content: flex-start;
}
}
.o-double-image__img {
object-fit: cover;
max-height: 85vh;
}
.o-double-image--is-reversed .o-double-image__picture {
justify-content: flex-start;
}
.o-double-image--is-reversed .o-double-image__picture:last-child {
order: 0;
justify-content: flex-end;
}
/*===============================================================================
* Double layout in 2 equal columns
*
* Until viewport is wide enough the columns are stacked vertically
* ============================================================================== */
.o-double-text {
position: relative;
background-color: #FFFFFF;
height: 100%;
}
@media screen and (min-width: 840px) {
.o-double-text {
display: flex;
}
}
@media screen and (min-width: 1152px) {
.o-double-text__column {
width: 50%;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-double-text__column:first-child {
width: 62.5%;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-double-text__column:first-child {
padding-left: 8.3333333333%;
}
}
@media screen and (max-width: 839px) {
.o-double-text__column:last-child {
margin-top: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-double-text__column:last-child {
width: 37.5%;
}
}
@media screen and (min-width: 1152px) {
.o-double-text__column:last-child {
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
@media screen and (min-width: 840px) {
.o-downloads {
display: flex;
justify-content: space-between;
}
}
@media screen and (min-width: 840px) {
.o-downloads--is-reversed {
flex-direction: row-reverse;
}
}
.o-downloads__main {
background-color: #FFFFFF;
padding-top: 40px;
padding-bottom: 72px;
}
@media screen and (min-width: 840px) {
.o-downloads__main {
width: 50%;
}
}
@media screen and (max-width: 1151px) {
.o-downloads__main {
padding-left: 6.25%;
padding-right: 6.25%;
}
}
@media screen and (min-width: 1152px) {
.o-downloads__main {
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
.o-downloads__main .c-heading {
margin-top: 0;
}
@media screen and (max-width: 839px) {
.o-downloads__service-point {
margin-top: 80px;
}
}
@media screen and (min-width: 840px) {
.o-downloads__service-point {
margin-top: 40px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-downloads__service-point {
width: 37.5%;
}
}
@media screen and (min-width: 1152px) {
.o-downloads__service-point {
width: 41.6666666667%;
}
}
.o-footer {
z-index: 20;
color: #1D1D1D;
background-color: #FFFFFF;
flex: 1 0 auto;
}
.o-footer__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-footer__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-footer__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (max-width: 839px) {
.o-footer__main {
padding-top: 6vw;
padding-bottom: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-footer__main {
padding-top: 5vw;
padding-bottom: 5vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-footer__main {
padding-top: 3.5714285714vw;
padding-bottom: 3.5714285714vw;
}
}
@media screen and (min-width: 1344px) {
.o-footer__main {
padding-top: 48px;
padding-bottom: 48px;
}
}
@media screen and (min-width: 840px) {
.o-footer__columns {
display: flex;
}
}
.o-footer__brand {
display: inline-block;
}
@media screen and (max-width: 839px) {
.o-footer__brand {
margin-bottom: 3.96vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-footer__brand {
margin-bottom: 3.3vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-footer__brand {
margin-bottom: 2.3571428571vw;
}
}
@media screen and (min-width: 1344px) {
.o-footer__brand {
margin-bottom: 31.68px;
}
}
.o-footer__logo {
width: 152px;
}
.o-footer__info > * + * {
margin-top: 32px;
}
@media screen and (min-width: 840px) {
.o-footer__info {
width: 40%;
}
}
@media screen and (min-width: 1152px) {
.o-footer__info {
width: 41.6666666667%;
}
}
@media screen and (max-width: 839px) {
.o-footer__nav {
margin-top: 3.96vw;
}
}
@media screen and (min-width: 840px) {
.o-footer__nav {
margin-left: 10%;
}
}
@media screen and (min-width: 1152px) {
.o-footer__nav {
margin-left: 8.3333333333%;
}
}
.o-footer__list {
list-style: none;
margin: 0;
}
.o-footer__link {
display: inline-block;
position: relative;
z-index: 0;
color: #1D1D1D;
text-decoration: none;
cursor: pointer;
transition: color 100ms linear;
}
.o-footer__link:hover, .o-footer__link:active {
outline: none !important;
}
.o-footer__link:hover {
color: rgba(32, 80, 91, 0.7);
}
.o-footer__link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.o-footer__social {
display: flex;
list-style: none;
margin: 32px 0 0;
}
.o-footer__channel {
display: flex;
justify-content: center;
align-items: center;
width: 24px;
height: 24px;
margin-right: 16px;
}
.o-footer__icon {
flex: auto;
display: block;
height: 100%;
background-repeat: no-repeat;
background-position: center;
transition-property: opacity;
transition-duration: 0.3s;
}
.facebook .o-footer__icon {
background-image: url("/img/social/facebook.svg");
height: 21px;
}
.instagram .o-footer__icon {
background-image: url("/img/social/instagram.svg");
}
.twitter .o-footer__icon {
background-image: url("/img/social/twitter.svg");
height: 20px;
}
.linkedin .o-footer__icon {
background-image: url("/img/social/linkedin.svg");
height: 18px;
}
.o-footer__icon:hover {
opacity: 0.5;
}
.o-footer__icon:focus {
outline-color: #4079B8;
}
.o-form__header {
margin-bottom: 40px;
}
.o-form__footer {
margin-top: 40px;
}
.o-form__row + .o-form__row {
margin-top: 20px;
}
.o-form__pot {
opacity: 0;
position: absolute;
top: 0;
left: 0;
height: 0;
width: 0;
z-index: -1;
}
/*
Colors get defined in _settings.config.scss
*/
.o-header {
z-index: 50;
background-color: #FFFFFF;
position: relative;
padding: 32px 0;
}
.o-header.is-sticky {
opacity: 0;
position: fixed;
z-index: 50;
top: 0;
left: 0;
width: 100%;
padding-top: 32px;
padding-bottom: 32px;
box-shadow: 0 -5px 30px black;
transform: translateY(-100%);
transition-property: transform, opacity;
transition-duration: 300ms;
transition-delay: 0s, 300ms;
transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}
@media screen and (min-width: 1100px) {
.o-header.is-sticky {
display: none;
}
}
.is-sticky-header-visible .o-header.is-sticky {
opacity: 1;
transform: none;
transition-delay: 0s;
}
.o-header__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
}
@media screen and (min-width: 840px) {
.o-header__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-header__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-header__nav {
width: 100%;
margin-left: 48px;
}
@media screen and (max-width: 1099px) {
.o-header__nav {
display: none;
}
}
.o-header__language {
flex: none;
margin-left: 16px;
}
@media screen and (max-width: 1099px) {
.o-header__language {
margin-left: auto;
}
}
.o-header__logo {
flex: none;
}
.o-header__logo:hover, .o-header__logo:active {
outline: none !important;
}
.o-header__logo:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.o-header__img {
height: 48px;
}
@media screen and (min-width: 1100px) {
.o-header__toggle {
display: none;
}
}
.o-intro {
position: relative;
z-index: 0;
background-color: #20505B;
}
@media screen and (max-width: 839px) {
.o-intro {
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-intro {
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-intro {
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-intro {
margin-bottom: 96px;
}
}
.o-intro__body {
position: relative;
}
@media screen and (max-width: 839px) {
.o-intro__body {
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-intro__body {
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-intro__body {
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-intro__body {
margin-bottom: 96px;
}
}
@media screen and (max-width: 839px) {
.o-intro--mobile-break-out .o-intro__body {
width: 100vw;
margin-left: 50%;
transform: translateX(-50%);
}
}
@media screen and (min-width: 840px) {
.o-intro__body::before {
content: "";
position: absolute;
z-index: 0;
top: 50%;
right: 0;
bottom: 0;
left: 0;
background-color: #66BFB7;
}
}
.o-intro__content {
background-color: #FFFFFF;
position: relative;
}
@media screen and (min-width: 840px) {
.o-intro__content {
display: flex;
}
}
@media screen and (min-width: 1152px) {
.o-intro__content {
width: calc((100% / 14) * 12);
max-width: 1152px;
margin-left: auto;
margin-right: auto;
}
}
.o-intro__nav,
.o-intro__image {
margin-top: 32px;
}
@media screen and (min-width: 840px) {
.o-intro__nav,
.o-intro__image {
order: -1;
width: 41.6666666667%;
margin-top: 0;
}
}
@media screen and (min-width: 1152px) {
.o-intro__nav,
.o-intro__image {
width: 50%;
}
}
.o-intro__nav {
background-color: #F8F8F8;
padding: 32px 6vw;
}
@media screen and (min-width: 840px) {
.o-intro__nav {
padding: 80px 4.1666666667%;
padding-left: 10%;
}
}
@media screen and (min-width: 1152px) {
.o-intro__nav {
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
.o-intro__text {
padding-top: 32px;
padding-left: 6vw;
padding-right: 6vw;
}
@media screen and (min-width: 840px) {
.o-intro__text {
width: 58.3333333333%;
padding: 80px 8.3333333333%;
}
}
@media screen and (min-width: 1152px) {
.o-intro__text {
width: 50%;
}
}
.o-intro__title,
.o-intro__heading {
color: #FFFFFF !important;
}
.o-intro__button {
color: #FFFFFF !important;
}
.o-logos__list {
display: flex;
flex-wrap: wrap;
margin-left: 0;
margin: -2.382vw;
list-style-type: none;
}
@media screen and (min-width: 1344px) {
.o-logos__list {
margin: -32px;
}
}
.o-logos__item {
flex: 0 1 100%;
margin: 2.382vw;
}
@media screen and (min-width: 384px) {
.o-logos__item {
flex-basis: calc(50% - 5vw);
}
}
@media screen and (min-width: 840px) {
.o-logos__item {
flex-basis: calc(33.3333333333% - 5vw);
}
}
@media screen and (min-width: 1152px) {
.o-logos__item {
flex-basis: calc(25% - 5vw);
}
}
@media screen and (min-width: 1344px) {
.o-logos__item {
flex-basis: calc(25% - 64px);
margin: 32px;
}
}
.o-logos__link {
display: block;
}
.o-logos__img {
display: block;
width: 100%;
height: 0;
padding-bottom: 100%;
background-repeat: no-repeat;
background-size: contain;
background-position: center;
}
.o-map a:after {
display: none;
}
.o-news {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-news {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-news {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-news__heading {
font-size: 2rem;
line-height: 1.25;
color: #2C2C2C;
}
.o-news__article {
position: relative;
}
.o-news__article + .o-news__article {
margin-top: 32px;
}
.o-news__link {
display: block;
cursor: pointer;
text-decoration: none;
transition: background-color 150ms linear;
}
.o-news__link:hover, .o-news__link:active {
outline: none !important;
}
.o-news__link::before {
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 1px solid #C8C8C8;
transition: opacity 150ms linear;
}
.o-news__link:hover, .o-news__link:focus {
background-color: #F8F8F8;
}
.o-news__link:hover::before, .o-news__link:focus::before {
opacity: 0;
}
.o-news__link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
@media screen and (min-width: 840px) {
.o-news__link {
display: flex;
justify-content: flex-start;
align-items: flex-start;
}
}
.o-news__body {
flex-grow: 1;
padding: 6vw;
}
@media screen and (min-width: 840px) {
.o-news__body {
order: 1;
padding-top: 48px;
padding-bottom: 48px;
padding-left: 12.5%;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-news__body {
padding-left: 8.3333333333%;
}
}
.o-news__image {
position: relative;
width: 100%;
padding-bottom: 55%;
}
@media screen and (min-width: 840px) {
.o-news__image {
flex: none;
order: 2;
width: 25%;
padding-bottom: 25%;
}
}
.o-news__bg-image {
position: absolute;
background-position: 50% 50%;
background-size: cover;
top: 6vw;
right: 6vw;
width: calc(100% - 12vw);
height: calc(100% - 6vw);
}
@media screen and (min-width: 840px) {
.o-news__bg-image {
top: 8px;
right: 8px;
width: calc(100% - 16px);
height: calc(100% - 16px);
}
}
.o-news__intro {
margin-top: 24px;
}
.o-news__timestamp {
display: block;
margin-top: 16px;
color: #999999;
}
.o-news__action {
display: flex;
justify-content: flex-start;
align-items: center;
margin-top: 8px;
color: #4079B8;
}
.o-news__readmore {
margin-right: 8px;
}
.o-news__footer {
margin-top: 32px;
text-align: center;
}
.o-overlay-menu {
z-index: 100;
display: flex;
flex-direction: column;
opacity: 0;
position: fixed;
height: 100%;
width: 100%;
left: 0;
top: 0;
background-color: #F8F8F8;
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(32, 80, 91, 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%, #F8F8F8 50%);
}
@media screen and (min-width: 1100px) {
.o-overlay-menu {
display: none;
}
}
.o-overlay-menu__bar {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 32px;
padding-bottom: 32px;
}
@media screen and (min-width: 840px) {
.o-overlay-menu__bar {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-overlay-menu__bar {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.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% - 12vw);
margin-left: auto;
margin-right: auto;
margin-top: 32px;
}
@media screen and (min-width: 840px) {
.o-overlay-menu__nav {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-overlay-menu__nav {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-overlay-menu__list {
display: flex;
flex-direction: column;
justify-content: space-between;
margin-left: 0;
list-style: none;
}
.o-overlay-menu__item {
padding: 8px 0;
}
.o-overlay-menu__item + .o-overlay-menu__item {
border-top: 1px solid rgba(101, 101, 101, 0.3);
}
.o-overlay-menu__link {
font-size: 1.5rem;
line-height: 1.3333333333;
display: block;
color: #656565;
text-decoration: none;
transition: opacity 200ms linear;
}
.o-overlay-menu__link:hover {
color: #20505B;
}
.o-overlay-menu__link:focus {
outline-offset: 2px;
outline-color: rgba(101, 101, 101, 0.3);
}
.o-overlay-menu__link.is-active {
position: relative;
opacity: 1;
font-weight: bold;
}
.o-overlay-menu__link.is-active::before {
content: "\2794";
position: absolute;
top: 6px;
left: -1.25em;
font-size: 14px;
}
.o-quote {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-quote {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-quote {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 840px) {
.o-quote {
display: flex;
}
}
@media screen and (min-width: 840px) {
.o-quote__body {
width: 50%;
}
}
@media screen and (min-width: 1152px) {
.o-quote__body {
margin-left: 8.3333333333%;
width: 66.6666666667%;
}
}
.o-quote__picture {
display: block;
}
@media screen and (max-width: 839px) {
.o-quote__picture {
margin-top: 32px;
}
}
@media screen and (min-width: 840px) {
.o-quote__picture {
width: 37.5%;
margin-left: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-quote__picture {
width: 33.3333333333%;
margin-left: 8.3333333333%;
margin-right: 8.3333333333%;
}
}
.o-quote__img {
display: block;
margin: 0 auto;
}
.o-quote__text {
font-size: 1.25rem;
line-height: 1.6;
quotes: "\201C" "\201D";
}
.o-quote__text::before {
content: open-quote;
}
.o-quote__text::after {
content: close-quote;
}
.o-quote__author {
margin-top: 24px;
margin-left: 8.3333333333%;
}
.o-quote__heading {
font-size: 1rem;
line-height: 1.5;
color: #656565;
}
.o-quote__subheading {
font-size: 0.9375rem;
line-height: 1.6;
color: #999999;
}
.o-references {
display: flex;
flex-wrap: wrap;
margin: -32px;
}
.o-references__item {
border-radius: 4px;
flex: 0 1 100%;
margin: 32px;
padding-top: 24px;
padding-bottom: 24px;
background-color: #FFFFFF;
border: 0px solid #C8C8C8;
box-shadow: 0 2.4px 39.4px -16px rgba(0, 0, 0, 0.024), 0 6.8px 45.5px -16px rgba(0, 0, 0, 0.035), 0 16.3px 51.4px -16px rgba(0, 0, 0, 0.046), 0 54px 80px -16px rgba(0, 0, 0, 0.07);
}
@media screen and (min-width: 800px) {
.o-references__item {
flex-basis: calc(50% - 64px - 0px);
}
}
.o-references__body {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
margin-top: 0;
padding-right: 24px;
}
.o-references__picture {
display: block;
flex-grow: 1;
flex-basis: 25%;
margin-bottom: 24px;
margin-left: 24px;
}
.o-references__content {
flex-grow: 9999;
flex-basis: 18em;
margin-left: 24px;
color: #656565;
}
.o-references__author {
margin-top: 24px;
}
.o-references__heading {
font-size: 1rem;
line-height: 1.5;
font-weight: normal;
color: #656565;
}
.o-references__subheading {
color: #999999;
}
.o-subfooter {
z-index: 10;
color: #FFFFFF;
background-color: #20505B;
padding-bottom: 64px;
border-top: 1px solid #529993;
transition: padding 0.6s;
}
.is-cookies-accepted .o-subfooter {
padding-bottom: 0;
}
.o-subfooter__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
font-size: 0.9375rem;
line-height: 1.6;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
padding-top: 8px;
padding-bottom: 8px;
}
@media screen and (min-width: 840px) {
.o-subfooter__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-subfooter__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-subfooter__copyright {
display: flex;
flex-wrap: wrap;
margin-top: 8px;
margin-bottom: 8px;
margin-right: 32px;
}
.o-subfooter__nav {
margin-right: auto;
margin-top: 8px;
margin-bottom: 8px;
}
.o-subfooter__list {
display: flex;
flex-wrap: wrap;
list-style-type: none;
margin: 0;
}
.o-subfooter__item {
margin-right: 32px;
white-space: nowrap;
}
.o-subfooter__link {
color: #FFFFFF;
text-decoration: none;
transition: color 200ms;
}
.o-subfooter__link:hover, .o-subfooter__link:active {
outline: none !important;
}
.o-subfooter__link:hover {
color: #66BFB7;
}
.o-subfooter__link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.o-subfooter__trademark {
margin-top: 8px;
margin-bottom: 8px;
}
/*
* On small screens the content is stacked, without controls
* When the screen is wide enough we add the controls
* and show only the chosen 'slide content'
*/
.o-tabslider {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-tabslider {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-tabslider {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-tabslider__button {
border-radius: 8px;
min-height: 48px;
color: #2C2C2C;
background-color: #FFFFFF;
border: 1px solid #C8C8C8;
font-weight: 500;
cursor: pointer;
transition-property: color, border;
transition-duration: 250ms;
}
.o-tabslider__button:hover {
color: #66BFB7;
border-color: #66BFB7;
}
.o-tabslider__button.is-active {
color: #FFFFFF;
background-color: #66BFB7;
border-color: #66BFB7;
}
.o-tabslider__button:focus {
outline: none;
border-color: #66BFB7;
}
.o-tabslider__button:focus:not(.is-active):not(:active) {
box-shadow: 0 0 0 1px #FFFFFF, 0 0 5px 3px rgba(44, 44, 44, 0.1);
}
@media screen and (max-width: 839px) {
.o-tabslider__controls {
display: none;
}
}
@media screen and (min-width: 840px) {
.o-tabslider__controls {
display: flex;
justify-content: space-between;
align-items: center;
}
}
@media screen and (min-width: 1152px) {
.o-tabslider__controls {
margin-left: 8.3333333333%;
margin-right: 8.3333333333%;
}
}
.o-tabslider__step {
width: 48px;
}
.o-tabslider__step--prev {
transform: rotate(0.5turn);
}
@media screen and (min-width: 840px) {
.o-tabslider__tabs {
display: flex;
}
}
@media screen and (min-width: 1344px) {
.o-tabslider__tabs {
margin: -8px 8px;
}
}
.o-tabslider__tab {
font-size: 0.875rem;
line-height: 1.1428571429;
margin: 8px;
padding: 7px 16px;
text-transform: uppercase;
}
@media screen and (min-width: 840px) {
.o-tabslider__container {
display: -ms-grid;
display: grid;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
margin-top: 48px;
}
}
@media screen and (max-width: 839px) {
.o-tabslider__content + .o-tabslider__content {
margin-top: 12vw;
}
}
@media screen and (min-width: 840px) {
.o-tabslider__content {
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-column: 1;
grid-column: 1;
opacity: 0;
z-index: 0;
transform: translateY(6px);
pointer-events: none;
transform-origin: top center;
transition-property: opacity, transform;
transition-duration: 200ms;
transition-timing-function: ease-in;
}
.o-tabslider__content.is-active {
opacity: 1;
z-index: 1;
transform: none;
pointer-events: all;
transition-duration: 500ms;
transition-delay: 200ms;
transition-timing-function: ease-out;
}
}
.o-tabslider__label {
font-size: 0.875rem;
line-height: 1.1428571429;
display: block;
padding-bottom: 8px;
text-transform: uppercase;
color: #2C2C2C;
}
@media screen and (min-width: 840px) {
.o-tabslider__label {
display: none;
}
}
.o-team {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-team {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-team {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (max-width: 839px) {
.o-team {
margin-top: 12vw;
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-team {
margin-top: 10vw;
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-team {
margin-top: 7.1428571429vw;
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-team {
margin-top: 96px;
margin-bottom: 96px;
}
}
@media screen and (min-width: 600px) {
.o-team__matrix {
display: flex;
flex-wrap: wrap;
margin: -16px;
}
}
.o-team__item {
margin: 0 auto 32px;
max-width: 320px;
}
@media screen and (min-width: 600px) {
.o-team__item {
margin: 16px;
max-width: none;
flex: none;
flex-basis: calc(50% - 32px);
}
}
@media screen and (min-width: 1000px) {
.o-team__item {
flex-basis: calc(33.33% - 32px);
}
}
@media screen and (min-width: 1152px) {
.o-team__item {
flex-basis: calc(25% - 32px);
}
}
@media screen and (max-width: 1151px) {
.o-usp {
background-color: #529993;
}
}
@media screen and (min-width: 840px) {
.o-usp__main {
display: flex;
}
}
.o-usp__text {
padding: 32px 0;
color: #FFFFFF;
background-color: #529993;
}
@media screen and (min-width: 840px) {
.o-usp__text {
width: 62.5%;
padding-top: 6.25%;
padding-bottom: 6.25%;
padding-left: 0;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-usp__text {
width: 50%;
padding: 4.1666666667% 8.3333333333%;
}
}
.o-usp__image {
background-position: 50% 50%;
background-size: cover;
}
@media screen and (max-width: 839px) {
.o-usp__image {
margin-left: -6vw;
margin-right: -6vw;
padding-bottom: 65%;
min-height: 360px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-usp__image {
width: 50%;
margin-right: -12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-usp__image {
width: 50%;
}
}
.o-usp__heading {
font-size: 2rem;
line-height: 1.25;
margin-bottom: 24px;
color: #FFFFFF;
}
.o-usp__list {
list-style-type: none;
margin-left: 16px;
}
.o-usp__item {
position: relative;
padding-left: 16px;
}
.o-usp__item + .o-usp__item {
margin-top: 16px;
}
.o-usp__item::before {
content: "";
position: absolute;
top: 5px;
left: -16px;
width: 16px;
height: 12px;
background-image: url(/img/check/checked.svg);
background-size: 16px 12px;
}
.o-usp__action {
margin-top: 48px;
}
.o-usp__image {
background-color: #F8F8F8;
background-repeat: no-repeat;
}
.o-vacancies {
margin: 0;
padding: 0;
line-height: 1.4;
list-style: none;
}
.o-vacancies > * + * {
margin-top: 16px;
}
.o-vacancies__link {
display: block;
padding: 20px;
border: solid 1px #C8C8C8;
font-size: 1.1em;
color: #1D1D1D;
text-decoration: none;
transition: all 0.2s;
}
.o-vacancies__link:hover {
border-color: transparent;
background-color: #F8F8F8;
}
/* 7 - Templates
* Override styling for a specific template
=========================================================== */
/** ==========================================================================
* Templates
* =========================================================================*/
/* 8 - SCOPES
* Elements and classes that are scoped by a parent class
=========================================================== */
.s-checklist {
list-style: none;
margin-left: 0;
}
.s-checklist li {
display: flex;
vertical-align: middle;
margin-top: 5px;
line-height: 1.45;
}
.s-checklist li::before {
content: "";
background-image: url(/img/check/checked.svg);
background-repeat: no-repeat;
width: 12px;
height: 12px;
margin-right: 8px;
transform: translateY(7px);
}
.checklist-has-x-small-font .s-checklist {
font-size: 0.875rem;
line-height: 1.1428571429;
}
.checklist-has-x-small-font .s-checklist li::before {
transform: translateY(5px);
}
/**
* All text elements that can be added by the user through a CMS
*/
.s-text h2, .s-text h3, .s-text h4 {
color: #2C2C2C;
}
.s-text > * + * {
margin-top: 32px;
}
.s-text > :first-child {
margin-top: 0 !important;
}
.s-text > * + .c-button {
margin-top: 40px;
}
.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 {
font-size: 1.5rem;
line-height: 1.3333333333;
content: "\2022";
position: absolute;
top: -4px;
left: 0;
}
.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 {
content: counter(ol-counter) ". ";
position: absolute;
top: 0;
left: 0;
width: 1.275em;
text-align: right;
}
/* 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--900 {
background-color: #decaff;
}
*/
.u-color-primary--500 {
color: #66BFB7;
}
.u-bg-primary--500 {
background-color: #66BFB7;
}
.u-color-primary--700 {
color: #20505B;
}
.u-bg-primary--700 {
background-color: #20505B;
}
.u-color-secondary--500 {
color: #529993;
}
.u-bg-secondary--500 {
background-color: #529993;
}
.u-color-neutral--0 {
color: #FFFFFF;
}
.u-bg-neutral--0 {
background-color: #FFFFFF;
}
.u-color-neutral--100 {
color: #F8F8F8;
}
.u-bg-neutral--100 {
background-color: #F8F8F8;
}
.u-color-neutral--200 {
color: #F5F5F5;
}
.u-bg-neutral--200 {
background-color: #F5F5F5;
}
.u-color-neutral--300 {
color: #C8C8C8;
}
.u-bg-neutral--300 {
background-color: #C8C8C8;
}
.u-color-neutral--400 {
color: #999999;
}
.u-bg-neutral--400 {
background-color: #999999;
}
.u-color-neutral--500 {
color: #656565;
}
.u-bg-neutral--500 {
background-color: #656565;
}
.u-color-neutral--800 {
color: #2C2C2C;
}
.u-bg-neutral--800 {
background-color: #2C2C2C;
}
.u-color-neutral--900 {
color: #1D1D1D;
}
.u-bg-neutral--900 {
background-color: #1D1D1D;
}
.u-color-neutral--1000 {
color: #000000;
}
.u-bg-neutral--1000 {
background-color: #000000;
}
.u-color-feedback--action {
color: #4079B8;
}
.u-bg-feedback--action {
background-color: #4079B8;
}
.u-color-feedback--warning {
color: #ffd33a;
}
.u-bg-feedback--warning {
background-color: #ffd33a;
}
.u-color-feedback--alert {
color: #ff8100;
}
.u-bg-feedback--alert {
background-color: #ff8100;
}
.u-color-feedback--negative {
color: #cf3e3e;
}
.u-bg-feedback--negative {
background-color: #cf3e3e;
}
.u-color-feedback--positive {
color: #3ecf8e;
}
.u-bg-feedback--positive {
background-color: #3ecf8e;
}
.u-color-border--0 {
color: #fff;
}
.u-bg-border--0 {
background-color: #fff;
}
.u-color-border--300 {
color: #C8C8C8;
}
.u-bg-border--300 {
background-color: #C8C8C8;
}
.u-color-border--500 {
color: #656565;
}
.u-bg-border--500 {
background-color: #656565;
}
.u-hidden {
display: none !important;
}
.u-placeholder-image {
height: 100% !important;
width: 100% !important;
object-fit: cover !important;
}
.u-text-align-center {
text-align: center !important;
}
/*
* 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
*/
.u-spacing-mt0 {
margin-top: 0px !important;
}
.u-spacing-mr0 {
margin-right: 0px !important;
}
.u-spacing-mb0 {
margin-bottom: 0px !important;
}
.u-spacing-ml0 {
margin-left: 0px !important;
}
.u-spacing-pt0 {
padding-top: 0px !important;
}
.u-spacing-pr0 {
padding-right: 0px !important;
}
.u-spacing-pb0 {
padding-bottom: 0px !important;
}
.u-spacing-pl0 {
padding-left: 0px !important;
}
.u-spacing-mt1 {
margin-top: 8px !important;
}
.u-spacing-mr1 {
margin-right: 8px !important;
}
.u-spacing-mb1 {
margin-bottom: 8px !important;
}
.u-spacing-ml1 {
margin-left: 8px !important;
}
.u-spacing-pt1 {
padding-top: 8px !important;
}
.u-spacing-pr1 {
padding-right: 8px !important;
}
.u-spacing-pb1 {
padding-bottom: 8px !important;
}
.u-spacing-pl1 {
padding-left: 8px !important;
}
.u-spacing-mt2 {
margin-top: 16px !important;
}
.u-spacing-mr2 {
margin-right: 16px !important;
}
.u-spacing-mb2 {
margin-bottom: 16px !important;
}
.u-spacing-ml2 {
margin-left: 16px !important;
}
.u-spacing-pt2 {
padding-top: 16px !important;
}
.u-spacing-pr2 {
padding-right: 16px !important;
}
.u-spacing-pb2 {
padding-bottom: 16px !important;
}
.u-spacing-pl2 {
padding-left: 16px !important;
}
.u-spacing-mt3 {
margin-top: 24px !important;
}
.u-spacing-mr3 {
margin-right: 24px !important;
}
.u-spacing-mb3 {
margin-bottom: 24px !important;
}
.u-spacing-ml3 {
margin-left: 24px !important;
}
.u-spacing-pt3 {
padding-top: 24px !important;
}
.u-spacing-pr3 {
padding-right: 24px !important;
}
.u-spacing-pb3 {
padding-bottom: 24px !important;
}
.u-spacing-pl3 {
padding-left: 24px !important;
}
.u-spacing-mt4 {
margin-top: 32px !important;
}
.u-spacing-mr4 {
margin-right: 32px !important;
}
.u-spacing-mb4 {
margin-bottom: 32px !important;
}
.u-spacing-ml4 {
margin-left: 32px !important;
}
.u-spacing-pt4 {
padding-top: 32px !important;
}
.u-spacing-pr4 {
padding-right: 32px !important;
}
.u-spacing-pb4 {
padding-bottom: 32px !important;
}
.u-spacing-pl4 {
padding-left: 32px !important;
}
.u-spacing-mt5 {
margin-top: 40px !important;
}
.u-spacing-mr5 {
margin-right: 40px !important;
}
.u-spacing-mb5 {
margin-bottom: 40px !important;
}
.u-spacing-ml5 {
margin-left: 40px !important;
}
.u-spacing-pt5 {
padding-top: 40px !important;
}
.u-spacing-pr5 {
padding-right: 40px !important;
}
.u-spacing-pb5 {
padding-bottom: 40px !important;
}
.u-spacing-pl5 {
padding-left: 40px !important;
}
.u-spacing-mt6 {
margin-top: 48px !important;
}
.u-spacing-mr6 {
margin-right: 48px !important;
}
.u-spacing-mb6 {
margin-bottom: 48px !important;
}
.u-spacing-ml6 {
margin-left: 48px !important;
}
.u-spacing-pt6 {
padding-top: 48px !important;
}
.u-spacing-pr6 {
padding-right: 48px !important;
}
.u-spacing-pb6 {
padding-bottom: 48px !important;
}
.u-spacing-pl6 {
padding-left: 48px !important;
}
.u-spacing-mt7 {
margin-top: 56px !important;
}
.u-spacing-mr7 {
margin-right: 56px !important;
}
.u-spacing-mb7 {
margin-bottom: 56px !important;
}
.u-spacing-ml7 {
margin-left: 56px !important;
}
.u-spacing-pt7 {
padding-top: 56px !important;
}
.u-spacing-pr7 {
padding-right: 56px !important;
}
.u-spacing-pb7 {
padding-bottom: 56px !important;
}
.u-spacing-pl7 {
padding-left: 56px !important;
}
.u-spacing-mt8 {
margin-top: 64px !important;
}
.u-spacing-mr8 {
margin-right: 64px !important;
}
.u-spacing-mb8 {
margin-bottom: 64px !important;
}
.u-spacing-ml8 {
margin-left: 64px !important;
}
.u-spacing-pt8 {
padding-top: 64px !important;
}
.u-spacing-pr8 {
padding-right: 64px !important;
}
.u-spacing-pb8 {
padding-bottom: 64px !important;
}
.u-spacing-pl8 {
padding-left: 64px !important;
}
@media screen and (max-width: 839px) {
.u-spacing-pv {
padding-top: 12vw;
padding-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.u-spacing-pv {
padding-top: 10vw;
padding-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.u-spacing-pv {
padding-top: 7.1428571429vw;
padding-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.u-spacing-pv {
padding-top: 96px;
padding-bottom: 96px;
}
}
@media screen and (min-width: 1152px) {
.u-spacing-pr0\@l {
padding-right: 0 !important;
}
}
/* ==========================================================================
* 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;
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
position: fixed;
left: 0;
right: 0;
width: 100%;
pointer-events: none;
/* 8 point grid lines */
}
@media screen and (min-width: 840px) {
.u-visible-grid {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.u-visible-grid {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.u-visible-grid {
padding: 0;
}
}
.u-visible-grid__main {
height: 100vh;
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 25%, rgba(0, 43, 255, 0.04) 25%, rgba(0, 43, 255, 0.04) 50%);
}
@media screen and (min-width: 840px) {
.u-visible-grid__main {
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 12.5%, rgba(0, 43, 255, 0.04) 12.5%, rgba(0, 43, 255, 0.04) 25%);
}
}
@media screen and (min-width: 1152px) {
.u-visible-grid__main {
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 8.3333333333%, rgba(0, 43, 255, 0.04) 8.3333333333%, rgba(0, 43, 255, 0.04) 16.6666666667%);
}
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbmZpZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLnR5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xLVNldHRpbmdzL19zZXR0aW5ncy5icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMubWVkaWFRdWVyaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMudG9vbGJveC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLnppbmRleC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmJhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8zLUVsZW1lbnRzL19lbGVtZW50cy5oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmxpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNC1MYXlvdXRzL19sYXlvdXRzLmNvbnRhaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMuc3BsaXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMucmVzdHJpY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZ2hvc3RidXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY2FyZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jb25uZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmRhdGEuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZG93bmxvYWRMaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvcm1Hcm91cC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5mb3JtRmVlZGJhY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaGFtYnVyZ2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhlYWRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaGVyby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5pbnB1dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5sYW5ndWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdlVGl0bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucHJvamVjdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNlcnZpY2VQb2ludC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zaXRlbWFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNraXBMaW5rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNsaWRlLWluZGljYXRvci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zdWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudGV4dC1idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudHJhZGVtYXJrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5ibG9jay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuYm9keS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY2FsbG91dEJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY2FyZC1ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5jb250YWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5jb29raWVCYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmRvdWJsZUltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5kb3VibGVUZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5kb3dubG9hZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmZvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZm9ybS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5pbnRyby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMubG9nb3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm1hcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMubmV3cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMub3ZlcmxheU1lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnF1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5yZWZlcmVuY2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5zdWJmb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRhYnNsaWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudGVhbS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudXNwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy52YWNhbmNpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy83LVRlbXBsYXRlcy9fdGVtcGxhdGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOC1TY29wZXMvX3Njb3Blcy5jaGVja2xpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy84LVNjb3Blcy9fc2NvcGVzLnRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzktVXRpbGl0aWVzL191dGlsaXRpZXMuaGVscGVycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzktVXRpbGl0aWVzL191dGlsaXRpZXMuc2hhbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLnNwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLnZpc2libGVHcmlkLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWdCO0FBQ2hCOzs7Ozs7O2dFQUFBO0FDREE7Ozs7K0RBQUE7QUE4Q0E7Ozs7Ozs7Ozs7OztHQUFBO0FDOUNBOzs4Q0FBQTtBQUlBOzs7RUFBQTtBQ0pBOzs7O2dFQUFBO0FBTUE7O0dBQUE7QUErQ0E7O0dBQUE7QUNyREE7O2tEQUFBO0FKY0E7OytEQUFBO0FLZEE7OytFQUFBO0FBSUE7OztJQUFBO0FBa0JBOzs7SUFBQTtBQVFBOztJQUFBO0FDOUJBOztnRkFBQTtBQUtBOzs7Ozs7Ozs7R0FBQTtBQ0xBO2dEQUFBO0FDQUE7O3NEQUFBO0FBS0E7Ozs7Ozs7Ozs7R0FBQTtBQWlDQTs7OztHQUFBO0FBZUE7QUFPQTtBQU9BO0FBa0JBOzs7Ozs7Ozs7OztHQUFBO0FBd0JBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUFpQ0E7O0dBQUE7QUFTQTs7Ozs7Ozs7Ozs7OztHQUFBO0FBMEJBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBZ0JBOzs7O0dBQUE7QUFrQkE7OztHQUFBO0FBd0JBOztHQUFBO0FDM09BOzs7d0dBQUE7QUFpQkE7Ozs7O0dBQUE7QVRLQTs7K0RBQUE7QVV0QkE7O2dGQUFBO0FBSUE7Ozs7Ozs7O0dBQUE7QUFVQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDVndMRjs7QVVyTEE7RUpTTTtFQVJBO0VJQ0o7RUFDQSxpQlBma0I7RU9nQmxCLGtDUCtCYTtFTzlCYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFjO0NWMExoQjs7QVV2TEE7RUFDRTtFQUNBO0VBQ0E7Q1YwTEY7O0FVdExBOzs7Ozs7R0FBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0NWeUxGO0FVdkxFO0VBR0U7Q1Z1TEo7O0FVbkxBOztHQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFBbUI7Q1Z1THJCOztBVXBMQTtHQUFBO0FBRUE7RUFDRTtDVnVMRjs7QVVwTEE7Ozs7O0dBQUE7QUFNQTtFQUNFO0VBQXdCO0VBQ3hCO0VBQWM7RUFDZDtDVnlMRjs7QVV0TEE7OztHQUFBO0FBSUE7OztFQUdFO0NWeUxGOztBVXBMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO1VBQUE7Q1Z1TEY7QVVyTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDVnVMSjtBVW5MSTtFQUNFO0VBQ0E7RUFDQTtDVnFMTjs7QVU3S0E7Ozs7RUFJRTtFQUNBO0NWZ0xGOztBVzFUQTtFTGdDTTtFQVJBO0NOdVNOOztBVzNUQTtFTDRCTTtFQVJBO0VLbEJMO0NYK1REOztBVzVUQTtFTHVCTTtFQVJBO0VLYkw7Q1hnVUQ7O0FXN1RBO0VMa0JNO0VBUkE7RUtSTDtDWGlVRDs7QVc5VEE7RUxhTTtFQVJBO0VLSEw7Q1hrVUQ7O0FZdlZBOzt5RkFBQTtBQUtBOztHQUFBO0FBSUE7O0VBRUM7RUFDQTtFQUNBO0NadVZEOztBWXBWQTtFQUNDO0NadVZEOztBWWxWQTs7R0FBQTtBQUtDOztFQUVDO0NabVZGOztBQWxWQTs7K0RBQUE7QWE5QkE7O2dGQUFBO0FBS0E7RUwyT0M7RUFDQTtFQUNBO0NSMElEO0FPclZDO0VNbENEO0lMaVBJO0dSMElGO0NBQ0Y7QU8xVkM7RU1sQ0Q7SUx3UEU7SUFDQTtHUndJQTtDQUNGOztBY3ZZQTs7OztvRkFBQTtBQU9BO0VBQ0M7RUFDQTtFQUNBO0Nkd1lEO0FPM1dDO0VPaENEO0lBT0U7R2R3WUE7Q0FDRjs7QWNwWUE7OztHQUFBO0FBS0E7RU53TkM7RUFDQTtFQUNBO0NSK0tEO0FPMVhDO0VPZkQ7SU5nT0c7R1I2S0Q7Q0FDRjtBTy9YQztFT2ZEO0lOcU9FO0lBQ0E7R1I2S0E7Q0FDRjs7QU9yWUM7RU9WRDtJQUlFO0dkZ1pBO0NBQ0Y7QU8zWUM7RU9GQTtJQUVFO0lBQ0E7R2QrWUQ7Q0FDRjtBT2paQztFT0ZBO0lBTUU7SUFDQTtHZGlaRDtDQUNGO0FPdlpDO0VPVUE7SU51REs7R1IwVko7Q0FDRjtBTzVaQztFT1VBO0lBTUU7R2RnWkQ7Q0FDRjtBYzNZRTtFQUNDO0NkNllIO0FPcGFDO0VPc0JDO0lBSUU7SUFDQTtHZDhZRjtDQUNGO0FPMWFDO0VPc0JDO0lBUUU7R2RnWkY7Q0FDRjs7QU8vYUM7RU91Q0U7SUFDQztJQUNBO0lBQ0E7R2Q0WUY7RWMxWUM7SUFDQztHZDRZRjtDQUNGO0FjdFlBOzs7R0FBQTtBUHBEQztFT3dERDtJQUVFO0lBQ0E7SUFDQTtJQUNBO0dkd1lBO0NBQ0Y7QU90Y0M7RU93REQ7SUFRRTtJQUNBO0dkMFlBO0NBQ0Y7O0FjcFlBO0VBQ0M7RUFDQTtDZHVZRDtBT2pkQztFT3dFRDtJQUtFO0lBQ0E7R2R3WUE7Q0FDRjs7QU92ZEM7RU9xRkE7SUFDQztHZHNZQTtDQUNGO0FlcGdCQTs7Ozs7Z0ZBQUE7QVJ1Q0M7RVEvQkQ7SUFFSTtJQUNBO0lBQ0E7SUFDQTtHZm9nQkY7Q0FDRjtBTzNlQztFUS9CRDtJQVFJO0dmc2dCRjtDQUNGOztBT2hmQztFUW5CRDtJQUVJO0lBQ0E7SUFDQTtHZnNnQkY7Q0FDRjtBT3hmQztFUW5CRDtJQVFJO0dmdWdCRjtDQUNGOztBQTlmQTs7OytEQUFBO0FnQnRDQTs7OEVBQUE7QUNBQTtFQUNDO0NqQjhpQkQ7O0FpQjNpQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDakI4aUJEOztBaUIxaUJBO0VBQ0M7RUFDQTtDakI2aUJEO0FpQjFpQkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7Q2pCMmlCSDs7QWlCdGlCQTtFQUNDO0VBQ0E7Q2pCeWlCRDtBaUJ2aUJDO0VBQ0M7Q2pCeWlCRjs7QWtCbGtCQTtFVjhKRTtFRjFJSTtFQVJBO0VZVEw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEJza0JEO0FrQnBrQkM7RUFDQztFQUNBO0NsQnNrQkY7QWtCcGtCQztFQUNDO0VBQ0E7Q2xCc2tCRjtBa0Jwa0JDO0VBQ0M7RUFDQTtDbEJza0JGO0FrQmxrQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEJva0JGO0FrQmprQkM7RUFDQztFQUNBO0NsQm1rQkY7O0FrQi9qQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDbEJra0JEO0FrQmhrQkM7RUFDQztDbEJra0JGOztBa0I5akJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQmlrQkQ7QWtCL2pCQztFQUNDO0NsQmlrQkY7QWtCN2pCQztFQUNDO0VBQ0E7Q2xCK2pCRjtBa0I1akJDO0VBQ0M7RUFDQTtDbEI4akJGOztBbUIvcEJBOztnRkFBQTtBQVNBO0VYaUtFO0VGMUlJO0VBUkE7RWFaTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkI2cEJEO0FtQjNwQkM7RUFDQztFQUNBO0NuQjZwQkY7QW1CMXBCQztFQUNDO0VBQ0E7Q25CNHBCRjtBbUIxcEJDO0VBQ0M7RUFDQTtDbkI0cEJGO0FtQnhwQkM7RVhpSUM7RVcvSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25CMHBCRjtBbUJ0cEJFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkJ3cEJIOztBbUJucEJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q25Cc3BCRDtBbUJwcEJDO0VBQ0M7Q25Cc3BCRjs7QW1CbHBCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkJxcEJEO0FtQm5wQkM7RUFDQztDbkJxcEJGO0FtQmxwQkM7RUFDQztFQUNBO0NuQm9wQkY7QW1CaHBCQztFQUNDO0VBQ0E7Q25Ca3BCRjs7QW9CdHVCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCeXVCRDs7QW9CdHVCQTs7R0FBQTtBQUdBO0VBRUM7RUFDQTtDcEJ3dUJEO0FRbmlCQztFQUVDO0NSb2lCRjtBb0J6dUJDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQjB1QkY7QW9CdHVCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCd3VCRjtBb0JudUJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQnF1QkY7QW9CaHVCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQmt1Qkg7QW9CL3RCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQml1Qkg7QW9COXRCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQmd1QkY7O0FvQjV0QkE7RUFDQztFQUNBO0VBQ0E7Q3BCK3RCRDs7QW9CNXRCQTtFQUNDO0VBQ0E7RUFDQTtDcEIrdEJEOztBb0I1dEJBO0VkM0VNO0VBUkE7RWNxRkw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEJndUJEO0FvQjl0QkM7RUFDQztDcEJndUJGO0FvQjV0QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCNnRCRjtBb0IzdEJFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BCNnRCSDs7QW9CeHRCQTtFQUNDO0VBQ0E7Q3BCMnRCRDs7QW9CenRCQTtFZDdITTtFQVJBO0VjdUlMO0NwQjZ0QkQ7O0FvQjN0QkE7RUFDQztDcEI4dEJEOztBb0I1dEJBO0VBQ0M7Q3BCK3RCRDtBb0I1dEJDO0VBQ0M7Q3BCOHRCRjs7QXFCNzNCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQmc0QkQ7QXFCOTNCQztFQUNDO0NyQmc0QkY7QXFCNzNCQztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQjgzQkY7QXFCNTNCQztFQUNDO0NyQjgzQkY7QXFCNTNCQztFQUNDO0NyQjgzQkY7QXFCMzNCQztFQUNDO0NyQjYzQkY7O0FzQm42QkE7RUFDQztFQUNBO0VBQ0E7Q3RCczZCRDtBTzk0QkM7RWUzQkQ7SUFNRTtHdEJ1NkJBO0NBQ0Y7O0FzQm42QkE7RWhCU007RUFSQTtFZ0JFTDtFQUNBO0VBQ0E7RUFDQTtDdEJzNkJEO0FRaHVCQztFQUVDO0NSaXVCRjtBc0J2NkJDO0VBQ0M7RUFDQTtDdEJ5NkJGO0FzQnQ2QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDdEJ3NkJGOztBc0JuNkJBO0VBQ0M7RUFDQTtDdEJzNkJEO0FPOTZCQztFZU1EO0lBS0U7R3RCdTZCQTtDQUNGOztBdUIvOEJBO0VBQ0M7Q3ZCazlCRDs7QXVCLzhCQTtFQUNDO0N2Qms5QkQ7O0F1Qi84QkE7RUFDQztFQUNBO0VBQ0E7Q3ZCazlCRDs7QXVCLzhCQTtFQUNJO0VBQ0g7Q3ZCazlCRDtBUTF3QkM7RUFFQztDUjJ3QkY7QXVCaDlCRTtFQUNDO0N2Qms5Qkg7QXVCaDlCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N2Qms5Qkg7O0F3QnovQkE7RUFDRTtFQUNBO0VBQ0E7Q3hCNC9CRjs7QXdCei9CQTtFQUNFO0VBQ0E7Q3hCNC9CRjtBd0IxL0JFO0VBQ0U7Q3hCNC9CSjs7QXdCeC9CQTtFQUNFO0VBQ0E7RUFDQTtDeEIyL0JGOztBd0J4L0JBO0VBQ0U7RUFDQTtDeEIyL0JGO0F3QnovQkU7RUFDRTtDeEIyL0JKOztBd0J2L0JBO0VBQ0U7RUFDQTtDeEIwL0JGO0F3QngvQkU7RUFDRTtDeEIwL0JKOztBeUJsaENBO0VuQnFCTTtFQVJBO0VtQlhKO0VBQ0E7RUFDQTtDekJzaENGOztBeUJuaENBO0VBQ0U7Q3pCc2hDRjtBeUJwaENFO0VuQldJO0VBUkE7RW1CREY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pCdWhDSjs7QTBCeGlDQTtFcEJvQk07RUFSQTtFRStJSjtFa0J4SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUI0aUNGO0EwQjFpQ0U7RUFDRTtDMUI0aUNKO0EwQnppQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQjJpQ0o7QTBCeGlDRTtFQUNFO0MxQjBpQ0o7O0EyQnZrQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0Iwa0NEO0EyQnhrQ0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDM0Iwa0NGO0EyQnZrQ0M7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCdWtDRjtBMkJwa0NDO0VBQ0M7RUFDQTtDM0Jza0NGO0EyQm5rQ0M7RUFDQztFQUNBO0MzQnFrQ0Y7QTJCamtDRTtFQUNDO0MzQm1rQ0g7QTJCamtDRTtFQUVDO0MzQmtrQ0g7QTJCN2pDRTtFQUNDO0MzQitqQ0g7QTJCN2pDRTtFQUNDO0VBQ0E7QzNCK2pDSDtBMkI3akNFO0VBQ0M7RUFDQTtDM0IrakNIOztBNEI1b0NBO0V0QmdDTTtFQVJBO0VzQnRCTDtFQUNBO0M1QmdwQ0Q7O0FPNW1DQztFcUJqQ0Q7SUFFRTtHNUJncENBO0NBQ0Y7O0FPbG5DQztFc0I1QkQ7SXJCcU9DO0lBQ0E7SUFDQTtHUjg2QkM7Q0FDRjtBTzFuQ0M7RXNCNUJEO0lyQjJPSTtHUis2QkY7Q0FDRjtBTy9uQ0M7RXNCNUJEO0lyQmtQRTtJQUNBO0dSNjZCQTtDQUNGOztBNkIzcENBO0VBQ0U7RUFDQTtDN0I4cENGOztBNkIzcENBO0VBQ0U7RUFDQTtFQUNBO0M3QjhwQ0Y7QU9ocENDO0VzQmpCRDtJQU1JO0c3QitwQ0Y7Q0FDRjs7QTZCNXBDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCK3BDRjtBNkI3cENFO0VBQ0U7RUFDQTtFQUNBO0M3QitwQ0o7O0E2QjNwQ0E7RUFDRTtDN0I4cENGOztBNkIzcENBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0I2cENGO0FPcHJDQztFc0JjRDtJQVlJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RzdCOHBDRjtDQUNGO0FPN3JDQztFc0JjRDtJQXFCSTtJQUNBO0lBQ0E7RzdCOHBDRjtDQUNGO0FPcHNDQztFc0JjRDtJdkJyQk07SUFSQTtJdUJ5REY7SUFDQTtHN0JncUNGO0NBQ0Y7O0E2QjdwQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3QmdxQ0Y7QTZCOXBDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCZ3FDSjs7QTZCMXBDQTtFQUtFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCeXBDRjtBTy91Q0M7RXNCb0VEO0lBRUk7RzdCNnFDRjtDQUNGO0E2QjVwQ0U7RUFDRTtDN0I4cENKO0E2QjNwQ0U7RUFDRTtFQUNBO0M3QjZwQ0o7QTZCM3BDSTtFQUNFO0M3QjZwQ047QTZCenBDRTtFQUNFO0VBQ0E7RUFDQTtDN0IycENKOztBOEIzeENBO0V4QmlCTTtFQVJBO0V3QlBMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUIreENEO0E4Qjd4Q0M7RUFDQztFQUNBO0M5Qit4Q0Y7QThCNXhDQztFQUNDO0VBQ0E7QzlCOHhDRjtBOEIzeENVO0VBQ1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUI2eENGOztBK0J0ekNBO0VBQ0M7Qy9CeXpDRDs7QStCdHpDQTtFekJjTTtFQVJBO0VFK0lKO0V1QmxKRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0MvQjB6Q0Q7QStCeHpDQztFQUNDO0MvQjB6Q0Y7O0ErQmx6Q0E7RUFDQztFQUNBO0MvQnF6Q0Q7O0ErQmx6Q0E7RUFDQztFQUNBO0MvQnF6Q0Q7O0ErQmx6Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9CcXpDRDtBK0JuekNDO0VBQ0M7RUFDQTtFQUNBO0MvQnF6Q0Y7O0ErQmp6Q0E7RUFDQztFQUNBO0MvQm96Q0Q7QStCbHpDQztFQUNDO0MvQm96Q0Y7QStCanpDQztFQUNDO0MvQm16Q0Y7QStCaHpDQztFQUNDO0MvQmt6Q0Y7QStCL3lDQztFQUNDO0MvQml6Q0Y7O0ErQjd5Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0JnekNEO0ErQjl5Q0M7RUFDQztFQUNBO0MvQmd6Q0Y7O0FnQ3A1Q0E7O0VBQUE7QUFXQTtFQUNDO0VBQ0E7Q2hDKzRDRDs7QWdDNTRDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaEMrNENEOztBZ0MzNENBO0UxQkVNO0VBUkE7RTBCUUw7RUFDQTtDaEMrNENEO0FnQzc0Q0M7RUFDQztDaEMrNENGOztBZ0MxNENBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaEM0NENEO0FReHRDQztFQUVDO0NSeXRDRjtBZ0M3NENDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDKzRDRjtBZ0M1NENDO0VBQ0M7Q2hDODRDRjtBZ0M1NENFO0VBQ0M7RUFDQTtDaEM4NENIO0FnQ3o0Q0M7RUFDQztFQUNBO0NoQzI0Q0Y7QWdDejRDRTtFQUNDO0VBQ0E7RUFDQTtDaEMyNENIO0FnQ3Y0Q0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDaEN5NENGOztBaUN2OUNBO0VBQ0M7RUFDQTtFQUNBO0V6QjJKQztFeUJ6SkQ7RUFDQTtFQUNBO0VBQ0E7Q2pDMDlDRDs7QWlDdjlDQTtFQUNDO0VBQ0E7RUFDQTtDakMwOUNEO0FPNzhDQztFMEJoQkQ7SUFPRTtHakMwOUNBO0VpQ3g5Q0E7SUFJQztHakN1OUNEO0VpQ3A5Q0E7SUFDQztHakNzOUNEO0NBQ0Y7QWlDbjlDQztFQUNDO0VBQ0E7Q2pDcTlDRjs7QWlDajlDQTs7OztFQUlDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakNvOUNEOztBaUNqOUNBO0VBQ0M7RUFDQTtDakNvOUNEOztBaUNqOUNBO0VBQ0M7RUFDQTtFQUNBO0NqQ285Q0Q7QWlDbDlDQztFQUNDO0VBQ0E7Q2pDbzlDRjtBaUNqOUNDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2pDbTlDRjs7QWlDLzhDQTs7RUFFQztFQUNBO0NqQ2s5Q0Q7QWlDaDlDQzs7RUFDQztFQUNBO0NqQ205Q0Y7O0FpQy84Q0E7RUFDQztDakNrOUNEOztBa0NuakRBOztHQUFBO0FBSUE7RTFCNE9DO0VBQ0E7RUFDQTtFQXpCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UwQnROQztFQUNBO0VBQ0E7Q2xDMmpERjtBTzdoREM7RTJCbkNEO0kxQmtQSTtHUmsxQ0Y7Q0FDRjtBT2xpREM7RTJCbkNEO0kxQnlQRTtJQUNBO0dSZzFDQTtDQUNGO0FPeGlEQztFMkJuQ0Q7SUFRSTtJQUNBO0dsQ3VrREY7Q0FDRjs7QWtDcGtEQTtFQUNFO0VBQ0E7RUFDQTtDbEN1a0RGO0FPcGpEQztFMkJ0QkQ7SUFNSTtHbEN3a0RGO0NBQ0Y7QU96akRDO0UyQnRCRDtJQVNJO0dsQzBrREY7Q0FDRjs7QU85akRDO0UyQlREO0lBRUk7SUFDQTtHbEMwa0RGO0NBQ0Y7O0FrQ3ZrREE7RTVCTE07RUFSQTtFNEJlSjtDbEMya0RGOztBa0N4a0RBO0U1QlZNO0VBUkE7RTRCb0JKO0NsQzRrREY7O0FtQ3huREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDbkMybkREOztBbUN2bkRBO0VBQ0M7RUFBQTtFQUNBO0VBQUE7RUFDQTtFQUFBO0VBQ0E7Q25DMG5ERDs7QW1DdG5EQTtFN0JnQk07RUFSQTtFNkJOTDtFQUFBO0VBQ0E7RUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7Q25DMG5ERDs7QW1DdG5EQTtFQUNDO0VBQUE7RUFDQTtFQUFBO0VBQ0E7TUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkN5bkREO0FtQ3ZuREM7RUFDQztDbkN5bkRGO0FtQ3RuREM7RUFDQztDbkN3bkRGOztBbUNubkRBO0VBQ0M7RUFBQTtFQUNBO0VBQUE7RUFDQTtNQUFBO0VBQ0E7RUFDQTtDbkNzbkREOztBbUNsbkRBO0VBRUM7RUFDQTtFQUNBO0NuQ29uREQ7QU96b0RDO0U0QmlCRDtJQU9FO0duQ3FuREE7Q0FDRjs7QW9DanJEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BDb3JERDs7QW9DaHJEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLG1CQWhCb0I7RUFpQnBCO0NwQ21yREQ7O0FvQy9xREE7RTVCbU1DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTRCck1BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcENzckREO0FPNXFEQztFNkJqQkQ7SUFVRTtHcEN1ckRBO0NBQ0Y7O0FvQ25yREE7RUFDQztDcENzckREOztBb0NsckRBO0VBQ0M7Q3BDcXJERDs7QW9DanJEQTtFOUJmTTtFQVJBO0U4QnlCTDtFQUNBO0NwQ3FyREQ7O0FvQ2pyREE7RTlCdEJNO0VBUkE7RThCZ0NMO0NwQ3FyREQ7O0FxQzd1REE7RS9CZ0NNO0VBUkE7RStCdEJMO0NyQ2l2REQ7O0FxQzl1REE7RUFDQztFQUNBO0VBQ0E7Q3JDaXZERDtBcUMvdURDO0VBQ0M7RUFDQTtDckNpdkRGOztBc0M3dkRBOztHQUFBO0FBSUE7RWhDNEJNO0VBUkE7RWdDbEJKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdENnd0RGO0FzQzl2REU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQVU7Q3RDaXdEZDs7QXVDOXZEQTtFQUNDO0VBQ0E7RUFDQTtDdkNpd0REOztBdUM5dkRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2Q2l3REQ7QXVDL3ZEQztFQUNDO0N2Q2l3REY7QXVDOXZEQztFQUNDO0N2Q2d3REY7QXVDN3ZEQztFQUNDO0N2Qyt2REY7QXVDNXZEQztFQUNDO0VBQ0E7Q3ZDOHZERjtBdUMzdkRDO0VBQ0M7RUFDQTtDdkM2dkRGOztBdUN6dkRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2QzR2REQ7QXVDMXZEQztFQUNDO0N2QzR2REY7QXVDenZEQztFQUVDO0N2QzB2REY7QXVDdnZEQztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVDO0N2Q3V2REg7QXVDbnZEQztFQUVDLDRCQURTO0VBRVQsOEJBRlM7RUFHVCwrQkFIUztFQUlULDZCQUpTO0VBS1Q7Q3ZDb3ZERjtBdUNqdkRDO0VBRUMsNkJBRFM7RUFFVCwrQkFGUztFQUdULGdDQUhTO0VBSVQsOEJBSlM7RUFLVDtFQUNBO0VBQ0E7Q3ZDa3ZERjtBdUM5dURFO0VBQ0M7RUFDQTtFQUNBO0N2Q2d2REg7QXVDN3VERTtFQUNDO0VBQ0E7Q3ZDK3VESDtBdUMzdURDO0VBQ0M7Q3ZDNnVERjtBdUMzdURFO0VBRUM7Q3ZDNHVESDtBdUN6dURFO0VBRUM7Q3ZDMHVESDs7QXdDbjJEQTtFQUNDO0N4Q3MyREQ7O0F3Q2wyREE7RUFDQztFQUNBO0N4Q3EyREQ7QU9sMURDO0VpQ3JCRDtJQUtFO0d4Q3MyREE7Q0FDRjs7QXdDbDJEQTtFQUNDO0VBQ0E7Q3hDcTJERDs7QXdDajJEQTtFQUNDO0VBQ0E7Q3hDbzJERDs7QXdDaDJEQTtFQUNDO0N4Q20yREQ7O0F3Qy8xREE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeENpMkREO0FRbnJEQztFQUVDO0NSb3JERjtBd0NsMkRDO0VBQ0M7Q3hDbzJERjtBd0NqMkRDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3hDbTJERjtBd0NoMkRDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeENrMkRGO0F3Q2gyREU7RUFDQztFQUNBO0N4Q2syREg7O0F3QzUxREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hDKzFERDtBd0M3MURDO0VBQ0M7RUFDQTtFQUNBO0N4QysxREY7O0F3Q3gxREM7RUFDQztFQUNBO0N4QzIxREY7QXdDejFERTtFQUNDO0VBQ0E7Q3hDMjFESDtBd0N2MURDO0VBQ0M7Q3hDeTFERjs7QXlDaDhEQTs7O0dBQUE7QUFLQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQXdDO0VBQ3hDO0VBQVk7RUFDWjtFQUErQjtFQUMvQjtFQUFjO0VBQ2Q7RUFDQTtFQUNBO0N6Q3E4REQ7QVE1dkRDO0VBRUM7Q1I2dkRGO0F5Q3Q4REM7RUFDQztDekN3OERGO0F5Q3Q4REM7RUFDQztFQUNBO0N6Q3c4REY7QXlDdDhEQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0N6Q3c4REY7O0F5Q3A4REE7RW5DWE07RUFSQTtDTjQ5RE47O0F5Q3I4REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDekN3OEREO0F5Q3Q4REM7RUFDQztDekN3OERGO0F5Q3I4REM7RUFDQztDekN1OERGOztBeUNqOERDO0VBQXNCO0N6Q3E4RHZCO0F5Q3A4REM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6Q3M4REY7QXlDcDhEQztFQUNDO0N6Q3M4REY7O0EwQ3RnRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQ3dnRUQ7QVFwekRDO0VBRUM7Q1JxekRGO0EwQ3pnRUM7RUFDQztDMUMyZ0VGO0EwQ3hnRUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDMUMwZ0VGOztBMEN0Z0VBO0VBQ0M7RUFDQTtDMUN5Z0VEOztBMEN0Z0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUN5Z0VEO0EwQ3ZnRUM7RUFDQztDMUN5Z0VGOztBMkNuakVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0NzakVGOztBMkNuakVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0NzakVGOztBQXBoRUE7OytEQUFBO0E0Qy9DQTs7OEVBQUE7QUNvQkE7RXJDNE5DO0VBQ0E7RUFDQTtDUjYxREQ7QU94aUVDO0VzQ25CRDtJckNrT0k7R1I2MURGO0NBQ0Y7QU83aUVDO0VzQ25CRDtJckN5T0U7SUFDQTtHUjIxREE7Q0FDRjs7QTZDbGtFQTtFckNrSkU7RXFDL0lEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3Q29rRUQ7QVF2NURDO0VBQ0MsaUJxQ3RMWTtDN0Mra0VkO0E2Q3JrRUM7RUFDQztDN0N1a0VGOztBNkNua0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3Q3NrRUQ7QU9obEVDO0VzQ0NEO0lBWUU7RzdDdWtFQTtDQUNGO0FPcmxFQztFc0NDRDtJQWVFO0c3Q3lrRUE7Q0FDRjtBNkN0a0VDO0VBQ0M7QzdDd2tFRjs7QTZDcGtFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdDdWtFRDtBTzltRUM7RXNDeUJEO0lBaUJFO0c3Q3drRUE7Q0FDRjtBT25uRUM7RXNDeUJEO0lBb0JFO0c3QzBrRUE7Q0FDRjtBNkN4a0VDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0N5a0VGO0E2Q3JrRUU7RUFDQztDN0N1a0VIO0E2Q25rRUM7RUFDQztDN0Nxa0VGO0E2Q25rRUU7RUFDQztDN0Nxa0VIOztBNkNoa0VBO0V2Q3JGTTtFQVJBO0V1QytGTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdDb2tFRDtBT3pwRUM7RXNDOEVEO0l2Q3JGTTtJQVJBO0dONnFFSjtDQUNGOztBNkNua0VBO0FBQ0E7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtDN0Nva0VEO0FRMWdFQztFQUNDLG1CQUYyQjtDUjhnRTdCO0FPN3FFQztFc0M2RkQ7SUFZRTtHN0N3a0VBO0NBQ0Y7QU9sckVDO0VzQzZGRDtJQWVFO0c3QzBrRUE7Q0FDRjtBNkN4a0VDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtDN0N5a0VGOztBT2pzRUM7RXVDdkNEO0l0Q3dHTTtHUnFvRUo7Q0FDRjtBT3ZzRUM7RXVDdkNEO0l0QytITTtHUm1uRUo7Q0FDRjtBTzVzRUM7RXVDdkNEO0l0Q29JTTtHUm1uRUo7Q0FDRjtBT2p0RUM7RXVDdkNEO0l0Q3lJTTtHUm1uRUo7Q0FDRjtBT3R0RUM7RXVDakNBO0l0Q2tHSztHUnlwRUo7Q0FDRjtBTzN0RUM7RXVDakNBO0l0Q3lISztHUnVvRUo7Q0FDRjtBT2h1RUM7RXVDakNBO0l0QzhISztHUnVvRUo7Q0FDRjtBT3J1RUM7RXVDakNBO0l0Q21JSztHUnVvRUo7Q0FDRjs7QStDanhFQzs7O0VBQUE7QUFNRDtFdENtQkM7RXNDakJBO0VBQ0E7Qy9Da3hFRDs7QWdEaHhFQTtFeEM4TUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFd0NoTkE7RUFDQTtFQUNFO0NoRHV4RUg7O0FnRHB4RUE7RXhDOE5DO0VBQ0E7RUFDQTtDUjBqRUQ7QU9yd0VDO0V5Q3JCRDtJeENvT0k7R1IwakVGO0NBQ0Y7QU8xd0VDO0V5Q3JCRDtJeEMyT0U7SUFDQTtHUndqRUE7Q0FDRjtBT2h4RUM7RXlDckJEO0l4Q3NGTTtJQUFBO0dSb3RFSjtDQUNGO0FPdHhFQztFeUNyQkQ7SXhDNkdNO0lBQUE7R1Jtc0VKO0NBQ0Y7QU81eEVDO0V5Q3JCRDtJeENrSE07SUFBQTtHUm9zRUo7Q0FDRjtBT2x5RUM7RXlDckJEO0l4Q3VITTtJQUFBO0dScXNFSjtDQUNGO0FPeHlFQztFeUNiQTtJeEM4RUs7R1IydUVKO0NBQ0Y7QU83eUVDO0V5Q2JBO0l4Q3FHSztHUnl0RUo7Q0FDRjtBT2x6RUM7RXlDYkE7SXhDMEdLO0dSeXRFSjtDQUNGO0FPdnpFQztFeUNiQTtJeEMrR0s7R1J5dEVKO0NBQ0Y7O0FnRGowRUE7RUFDQztDaERvMEVEOztBZ0RoMEVBO0UxQ1BNO0VBUkE7Q05vMUVOOztBaUQ1MkVBOzs7R0FBQTtBMUN1Q0M7RTBDeEJEO0lBRUk7SUFDQTtHakRvMkVGO0NBQ0Y7O0FPaDFFQztFMENiRztJQUNFO0dqRGkyRUo7Q0FDRjtBT3QxRUM7RTBDakJEO0lBV0k7SUFDQTtHakRnMkVGO0NBQ0Y7QU81MUVDO0UwQ2pCRDtJQWlCSTtJQUVBO0lBQ0E7R2pEKzFFRjtFaUQ3MUVFO0lBQ0U7R2pEKzFFSjtFaUQ1MUVFO0lBQ0U7R2pEODFFSjtDQUNGO0FPejJFQztFMENqQkQ7SUFpQ0k7SUFFQTtJQUNBO0dqRDQxRUY7RWlEMTFFRTtJQUNFO0dqRDQxRUo7RWlEejFFRTtJQUNFLGlCQXpEa0I7R2pEbzVFdEI7Q0FDRjs7QWtEbjVFQTtFQUNDO0VBQ0E7Q2xEczVFRDtBTzMzRUM7RTJDN0JEO0lBS0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHbER1NUVBO0NBQ0Y7O0FrRG41RUE7RUFHQztFQUNBLGtCaERTd0I7RWdEUnhCLG1CaERRd0I7Q0Y0NEV6QjtBTzE0RUM7RTJDZkQ7STFDa1BFO0lBQ0E7R1IycUVBO0NBQ0Y7QU9oNUVDO0UyQ2ZEO0kxQ2tQRTtJQUNBO0dSaXJFQTtDQUNGO0FPdDVFQztFMkNmRDtJQVNFO0lBQ0E7SUFDQTtJQUNBO0dsRGc2RUE7Q0FDRjs7QWtENzVFQTtFQUdDO0VBQ0E7RUFDQTtDbEQ4NUVEO0FPcDZFQztFMkNDRDtJMUNrT0U7SUFDQTtHUnFzRUE7Q0FDRjtBTzE2RUM7RTJDQ0Q7STFDa09FO0lBQ0E7R1Iyc0VBO0NBQ0Y7QU9oN0VDO0UyQ0NEO0lBUUU7SUFDQTtJQUNBO0dsRDI2RUE7Q0FDRjs7QWtEeDZFQTtFMUNtS0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRjdMSztFQVJBO0U0Q2lDTDtFQUNBO0NsRGc3RUQ7O0FrRDc2RUE7RUFDQztDbERnN0VEOztBa0Q3NkVBO0VBQ0M7Q2xEZzdFRDs7QWtENzZFQTtFQUNDO0NsRGc3RUQ7O0FtRDkrRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWpEd0IyQjtFaUR2QjNCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkRpL0VEO0FtRDkrRUM7RTFDRUE7RTBDQUM7RUFDQTtFQUNBO0NuRGcvRUY7QW1ENytFQztFQUNDO0VBQ0E7RUFDQTtDbkQrK0VGOztBbUQzK0VBO0VBQ0M7RUFDQTtFQUNBO0NuRDgrRUQ7QU8vK0VDO0U0Q0ZEO0lBTUU7R25EKytFQTtDQUNGOztBbUQ1K0VBO0VBQ0M7RUFDQTtDbkQrK0VEO0FPei9FQztFNENRRDtJN0NmTTtJQVJBO0dONmdGSjtDQUNGOztBbUQ5K0VBO0VBQ0M7RUFDQTtDbkRpL0VEO0FtRC8rRUM7RUFDQztDbkRpL0VGOztBbUQ3K0VBO0VBQ0M7RUFDQTtDbkRnL0VEO0FPNWdGQztFNEMwQkQ7SUFLRTtHbkRpL0VBO0NBQ0Y7O0FvRHhqRkE7Ozs7b0ZBQUE7QUFRQTtFQUNDO0VBQ0E7Q3BEd2pGRDtBTzNoRkM7RTZDL0JEO0lBT0U7R3BEdWpGQTtDQUNGOztBb0RuakZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BEc2pGRDtBT3ZpRkM7RTZDbkJEO0lBT0U7SUFDQTtJQUNBO0dwRHVqRkE7RW9EcmpGQTtJQUNDO0dwRHVqRkQ7Q0FDRjs7QW9EbGpGQTtFQUNDO0VBQ0E7Q3BEcWpGRDs7QW9EaGpGQztFQUNDO0NwRG1qRkY7QW9EampGRTtFQUNDO0VBQ0E7Q3BEbWpGSDs7QXFEcm1GQTs7OztvRkFBQTtBQU9BO0VBQ0M7RUFDQTtFQUNBO0NyRHNtRkQ7QU96a0ZDO0U4Q2hDRDtJQU9FO0dyRHNtRkE7Q0FDRjs7QU85a0ZDO0U4Q3BCRDtJQUdFO0dyRG9tRkE7Q0FDRjtBT3BsRkM7RThDZEE7SUFFRTtJQUNBO0dyRG9tRkQ7Q0FDRjtBTzFsRkM7RThDZEE7SUFNRTtHckRzbUZEO0NBQ0Y7QU8vbEZDO0U4Q0pBO0k3Q3FFSztHUmtpRko7Q0FDRjtBT3BtRkM7RThDSkE7SUFNRTtHckRzbUZEO0NBQ0Y7QU96bUZDO0U4Q0pBO0lBU0U7SUFDQTtHckR3bUZEO0NBQ0Y7O0FPL21GQztFK0N2Q0Q7SUFFSTtJQUNBO0d0RHlwRkY7Q0FDRjs7QU90bkZDO0UrQ2hDRDtJQUVJO0d0RHlwRkY7Q0FDRjs7QXNEdHBGQTtFQUNFO0VBQ0E7RUFDQTtDdER5cEZGO0FPbG9GQztFK0MxQkQ7SUFNSTtHdEQwcEZGO0NBQ0Y7QU92b0ZDO0UrQzFCRDtJQVVJO0lBQ0E7R3REMnBGRjtDQUNGO0FPN29GQztFK0MxQkQ7SUFjSTtJQUNBO0d0RDZwRkY7Q0FDRjtBc0QzcEZFO0VBQ0U7Q3RENnBGSjs7QU90cEZDO0UrQ0hEO0lBR0k7R3REMnBGRjtDQUNGO0FPNXBGQztFK0NIRDtJQU9JO0d0RDRwRkY7Q0FDRjtBT2pxRkM7RStDSEQ7SUFXSTtHdEQ2cEZGO0NBQ0Y7QU90cUZDO0UrQ0hEO0lBY0k7R3REK3BGRjtDQUNGOztBdURyc0ZBO0U5Q1lDO0U4Q1ZBO0VBQ0E7RUFDQTtDdkR3c0ZEOztBdURwc0ZBO0UvQzJOQztFQUNBO0VBQ0E7Q1I2K0VEO0FPeHJGQztFZ0RsQkQ7SS9DaU9JO0dSNitFRjtDQUNGO0FPN3JGQztFZ0RsQkQ7SS9Dd09FO0lBQ0E7R1IyK0VBO0NBQ0Y7QU9uc0ZDO0VnRGxCRDtJL0NtRk07SUFBQTtHUnVvRko7Q0FDRjtBT3pzRkM7RWdEbEJEO0kvQzBHTTtJQUFBO0dSc25GSjtDQUNGO0FPL3NGQztFZ0RsQkQ7SS9DK0dNO0lBQUE7R1J1bkZKO0NBQ0Y7QU9ydEZDO0VnRGxCRDtJL0NvSE07SUFBQTtHUnduRko7Q0FDRjs7QU8zdEZDO0VnRFREO0lBRUU7R3ZEdXVGQTtDQUNGOztBdURudUZBO0VBSUM7Q3ZEbXVGRDtBT3J1RkM7RWdERkQ7SS9DbUVNO0dSd3FGSjtDQUNGO0FPMXVGQztFZ0RGRDtJL0MwRk07R1JzcEZKO0NBQ0Y7QU8vdUZDO0VnREZEO0kvQytGTTtHUnNwRko7Q0FDRjtBT3B2RkM7RWdERkQ7SS9Db0dNO0dSc3BGSjtDQUNGOztBdURudkZBO0VBQ0M7Q3ZEc3ZGRDs7QVE3bEZDO0VBQ0MsaUIrQ3BKcUI7Q3ZEb3ZGdkI7QU9qd0ZDO0VnRFlEO0lBSUU7R3ZEcXZGQTtDQUNGO0FPdHdGQztFZ0RZRDtJQU9FO0d2RHV2RkE7Q0FDRjs7QU8zd0ZDO0VnRHlCRDtJL0N3Q007R1Irc0ZKO0NBQ0Y7QU9qeEZDO0VnRHlCRDtJQUtFO0d2RHV2RkE7Q0FDRjtBT3R4RkM7RWdEeUJEO0lBUUU7R3ZEeXZGQTtDQUNGOztBdUR0dkZBO0VBQ0M7RUFDQTtDdkR5dkZEOztBdURydkZBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZEdXZGRDtBUTltRkM7RUFFQztDUittRkY7QXVEeHZGQztFQUNDO0N2RDB2RkY7QXVEdnZGQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0N2RHl2RkY7O0F1RHB2RkE7RUFDQztFQUNBO0VBQ0E7Q3ZEdXZGRDs7QXVEbnZGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkRzdkZEOztBdURsdkZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZEcXZGRDtBdURudkZDO0VBQ0M7RUFDQTtDdkRxdkZGO0F1RG52RkM7RUFDQztDdkRxdkZGO0F1RG52RkM7RUFDQztFQUNBO0N2RHF2RkY7QXVEbnZGQztFQUNDO0VBQ0E7Q3ZEcXZGRjtBdURsdkZDO0VBQ0M7Q3ZEb3ZGRjtBdURqdkZDO0VBQ0M7Q3ZEbXZGRjs7QXdEejRGQTtFQUNDO0N4RDQ0RkQ7O0F3RHY0RkE7RUFDQztDeEQwNEZEOztBd0R0NEZDO0VBQ0M7Q3hEeTRGRjs7QXdEcDRGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RHU0RkQ7O0F5RDk1RkE7O0VBQUE7QUFJQTtFaERrQkM7RWdEaEJBO0VBQ0E7RUFDQTtDekRnNkZEO0F5RDk1RkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RGc2RkY7QU9wNUZDO0VrRDFCQTtJQWlCRTtHekRpNkZEO0NBQ0Y7QXlELzVGRTtFQUNDO0VBQ0E7RUFDQTtDekRpNkZIOztBeUQ1NUZBO0VqRHVNQztFQUNBO0VBQ0E7RWlEdk1BO0VBQ0E7RUFDQTtFQUNBO0N6RGk2RkQ7QU94NkZDO0VrREVEO0lqRDZNSTtHUjZ0RkY7Q0FDRjtBTzc2RkM7RWtERUQ7SWpEb05FO0lBQ0E7R1IydEZBO0NBQ0Y7O0F5RHo2RkE7RUFDQztFQUNBO0N6RDQ2RkQ7QU94N0ZDO0VrRFVEO0lBS0U7R3pENjZGQTtDQUNGOztBeUQxNkZBO0VBQ0M7RUFDQTtDekQ2NkZEO0FPbDhGQztFa0RtQkQ7SUFLRTtHekQ4NkZBO0NBQ0Y7O0F5RDM2RkE7RUFFQztDekQ2NkZEO0FRL3dGQztFQUVDO0NSZ3hGRjtBeUQ5NkZDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3pEZzdGRjs7QXlENTZGQTtFQUNDO0N6RCs2RkQ7O0FPeDlGQztFa0Q0Q0Q7SUFFRTtHekQrNkZBO0NBQ0Y7O0EwRGpnR0E7RUFDQztFQUNBO0VBQ0E7QzFEb2dHRDtBT3ArRkM7RW1EbkNEO0lsRG9HTTtHUnU2Rko7Q0FDRjtBT3orRkM7RW1EbkNEO0lsRDJITTtHUnE1Rko7Q0FDRjtBTzkrRkM7RW1EbkNEO0lsRGdJTTtHUnE1Rko7Q0FDRjtBT24vRkM7RW1EbkNEO0lsRHFJTTtHUnE1Rko7Q0FDRjs7QTBEN2dHQTtFQUNDO0MxRGdoR0Q7QU81L0ZDO0VtRHJCRDtJbERzRk07R1IrN0ZKO0NBQ0Y7QU9qZ0dDO0VtRHJCRDtJbEQ2R007R1I2NkZKO0NBQ0Y7QU90Z0dDO0VtRHJCRDtJbERrSE07R1I2NkZKO0NBQ0Y7QU8zZ0dDO0VtRHJCRDtJbER1SE07R1I2NkZKO0NBQ0Y7QU9oaEdDO0VtRGJDO0lBQ0M7SUFDQTtJQUNBO0cxRGdpR0Q7Q0FDRjtBT3ZoR0M7RW1ETEM7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0cxRCtoR0Q7Q0FDRjs7QTBEMWhHQTtFQUNDO0VBQ0E7QzFENmhHRDtBT3hpR0M7RW1EU0Q7SUFLRTtHMUQ4aEdBO0NBQ0Y7QU83aUdDO0VtRFNEO0lBU0U7SUFDQTtJQUNBO0lBQ0E7RzFEK2hHQTtDQUNGOztBMEQzaEdBOztFQUVDO0MxRDhoR0Q7QU8xakdDO0VtRDBCRDs7SUFLRTtJQUNBO0lBQ0E7RzFEZ2lHQTtDQUNGO0FPbGtHQztFbUQwQkQ7O0lBV0U7RzFEa2lHQTtDQUNGOztBMEQ5aEdBO0VBQ0M7RUFDQTtDMURpaUdEO0FPN2tHQztFbUQwQ0Q7SUFLRTtJQUNBO0cxRGtpR0E7Q0FDRjtBT25sR0M7RW1EMENEO0lBVUU7SUFDQTtHMURtaUdBO0NBQ0Y7O0EwRC9oR0E7RUFDQztFQUNBLGtCeEQ5RHdCO0V3RCtEeEIsbUJ4RC9Ed0I7Q0ZpbUd6QjtBTy9sR0M7RW1EMEREO0lBTUU7SUFDQTtHMURtaUdBO0NBQ0Y7QU9ybUdDO0VtRDBERDtJQVdFO0cxRG9pR0E7Q0FDRjs7QTBEaGlHQTs7RUFFQztDMURtaUdEOztBMEQvaEdBO0VBQ0M7QzFEa2lHRDs7QTJEcnBHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNEd3BHRDtBTzNuR0M7RW9EbENEO0lBUUU7RzNEeXBHQTtDQUNGOztBMkR0cEdBO0VBQ0M7RUFDQSxnQkFuQnlCO0MzRDRxRzFCO0FPcm9HQztFb0R0QkQ7SUFLRTtHM0QwcEdBO0NBQ0Y7QU8xb0dDO0VvRHRCRDtJQVFFO0czRDRwR0E7Q0FDRjtBTy9vR0M7RW9EdEJEO0lBV0U7RzNEOHBHQTtDQUNGO0FPcHBHQztFb0R0QkQ7SUFjRTtJQUNBLGFBL0J1QjtHM0Qrckd2QjtDQUNGOztBMkQ3cEdBO0VBQ0M7QzNEZ3FHRDs7QTJEN3BHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRGdxR0Q7O0E0RDNzR0U7RUFDQztDNUQ4c0dIOztBNkR4c0dBO0VyRHFPQztFQUNBO0VBQ0E7Q1J1K0ZEO0FPbHJHQztFc0Q1QkQ7SXJEMk9JO0dSdStGRjtDQUNGO0FPdnJHQztFc0Q1QkQ7SXJEa1BFO0lBQ0E7R1JxK0ZBO0NBQ0Y7O0E2RHJ0R0E7RXZEaUJNO0VBUkE7RXVEUEw7QzdEeXRHRDs7QTZEdHRHQTtFQUVDO0M3RHd0R0Q7QVFoaUdDO0VBQ0MsaUJxRDFMWTtDN0Q0dEdkOztBNkR4dEdBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7QzdEMHRHRDtBUXJoR0M7RUFFQztDUnNoR0Y7QTZEM3RHQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0Q2dEdGO0E2RDF0R0M7RUFFQztDN0QydEdGO0E2RHp0R0U7RUFDQztDN0QydEdIO0E2RHZ0R0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDN0R5dEdGO0FPM3VHQztFc0RkRDtJQW9DRTtJQUNBO0lBQ0E7RzdEeXRHQTtDQUNGOztBNkR0dEdBO0VBQ0M7RUFDQSxhM0RoQ3dCO0NGeXZHekI7QU92dkdDO0VzRDRCRDtJQUtFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RzdEMHRHQTtDQUNGO0FPaHdHQztFc0Q0QkQ7SUFhRTtHN0QydEdBO0NBQ0Y7O0E2RHh0R0E7RUFDQztFQUNBO0VBQ0E7QzdEMnRHRDtBTzN3R0M7RXNENkNEO0lBTUU7SUFDQTtJQUNBO0lBQ0E7RzdENHRHQTtDQUNGOztBNkR6dEdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsUzNEaEV3QjtFMkRpRXhCLFczRGpFd0I7RTJEa0V4QjtFQUNBO0M3RDR0R0Q7QU83eEdDO0VzRDBERDtJQVVFO0lBQ0E7SUFDQTtJQUNBO0c3RDZ0R0E7Q0FDRjs7QTZEeHRHQTtFQUNDO0M3RDJ0R0Q7O0E2RHh0R0E7RUFDQztFQUNBO0VBQ0E7QzdEMnRHRDs7QTZEeHRHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdEMnRHRDs7QTZEeHRHQTtFQUNDO0M3RDJ0R0Q7O0E2RHh0R0E7RUFDQztFQUNBO0M3RDJ0R0Q7O0E4RHgxR0E7RXJEVUM7RXFEUkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUR5MUdEO0E4RHQxR0M7RUFDQztFQUNBO0VBQ0E7QzlEdzFHRjtBOERwMUdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOURzMUdGO0E4RHAxR0U7RUFDQztFQUNBO0M5RHMxR0g7QThEajFHQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlEbTFHRjtBT3IzR0M7RXVEeEJEO0lBK0RFO0c5RGsxR0E7Q0FDRjs7QThEOTBHQTtFdEQ2SkM7RUFDQTtFQUNBO0VzRDdKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5RG0xR0Q7QU9yNEdDO0V1RDRDRDtJdERtS0k7R1IwckdGO0NBQ0Y7QU8xNEdDO0V1RDRDRDtJdEQwS0U7SUFDQTtHUndyR0E7Q0FDRjs7QThEMTFHQTtFQUNDO0M5RDYxR0Q7O0E4RHoxR0E7RUFDQztFQUNBO0VBQ0E7QzlENDFHRDtBOEQxMUdDO0VBQ0M7QzlENDFHRjs7QThEdjFHQTtFdERtSUM7RUFDQTtFQUNBO0VzRG5JQTtDOUQ0MUdEO0FPcDZHQztFdURzRUQ7SXREeUlJO0dSeXRHRjtDQUNGO0FPejZHQztFdURzRUQ7SXREZ0pFO0lBQ0E7R1J1dEdBO0NBQ0Y7O0E4RG4yR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5RHMyR0Q7O0E4RGwyR0E7RUFDQztDOURxMkdEO0E4RG4yR0M7RUFDQztDOURxMkdGOztBOERoMkdBO0V4RHJHTTtFQVJBO0V3RCtHTDtFQUNBO0VBQ0E7RUFDQTtDOURvMkdEO0E4RGwyR0M7RUFDQztDOURvMkdGO0E4RGoyR0M7RUFDQztFQUNBO0M5RG0yR0Y7QThEaDJHQztFQUNDO0VBQ0E7RUFDQTtDOURrMkdGO0E4RGgyR0U7RUFDSTtFQUNIO0VBQ0c7RUFDQTtFQUNIO0M5RGsyR0g7O0ErRGpnSEE7RXZEZ1BDO0VBQ0E7RUFDQTtDUnF4R0Q7QU9oK0dDO0V3RHZDRDtJdkRzUEk7R1JxeEdGO0NBQ0Y7QU9yK0dDO0V3RHZDRDtJdkQ2UEU7SUFDQTtHUm14R0E7Q0FDRjs7QU8zK0dDO0V3RG5DRDtJQUVFO0cvRGloSEE7Q0FDRjs7QU9qL0dDO0V3RDdCRDtJQUVFO0cvRGloSEE7Q0FDRjtBT3YvR0M7RXdEN0JEO0lBTUU7SUFDQTtHL0RraEhBO0NBQ0Y7O0ErRC9nSEE7RUFDQztDL0RraEhEO0FPamdIQztFd0RsQkQ7SUFJRTtHL0RtaEhBO0NBQ0Y7QU90Z0hDO0V3RGxCRDtJQVFFO0lBQ0E7Ry9Eb2hIQTtDQUNGO0FPNWdIQztFd0RsQkQ7SUFZRTtJQUNBO0lBQ0E7Ry9Ec2hIQTtDQUNGOztBK0RuaEhBO0VBQ0M7RUFDQTtDL0RzaEhEOztBK0RuaEhBO0V6RFpNO0VBUkE7RXlEc0JMO0MvRHVoSEQ7QStEcmhIQztFQUFZO0MvRHdoSGI7QStEdmhIQztFQUFZO0MvRDBoSGI7O0ErRHZoSEE7RUFDQztFQUNBO0MvRDBoSEQ7O0ErRHZoSEE7RXpEekJNO0VBUkE7RXlEbUNMO0MvRDJoSEQ7O0ErRHhoSEE7RXpEOUJNO0VBUkE7RXlEd0NMO0MvRDRoSEQ7O0FnRTdrSEE7RUFDQztFQUNBO0VBQ0E7Q2hFZ2xIRDs7QWdFN2tIQTtFeERrSkU7RXdEaEpEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG9MQUNDO0NoRStrSEY7QU90a0hDO0V5RGxCRDtJQWdCRTtHaEU0a0hBO0NBQ0Y7O0FnRXprSEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoRTRrSEQ7O0FnRXprSEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoRTRrSEQ7O0FnRXprSEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDaEU0a0hEOztBZ0V6a0hBO0VBQ0M7Q2hFNGtIRDs7QWdFemtIQTtFMURwQ007RUFSQTtFMEQ4Q0w7RUFDQTtDaEU2a0hEOztBZ0Uxa0hBO0VBQ0M7Q2hFNmtIRDs7QWlFM29IQTtFeERZQztFd0RWQTtFQUNBO0VBQ0EscUIvRHFCMkI7RStEcEIzQjtFQUNBO0NqRThvSEQ7QWlFNW9IQztFQUNDO0NqRThvSEY7O0FpRXpvSEE7RXpEcU5DO0VBQ0E7RUFDQTtFRmxOSztFQVJBO0UyRE1MO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakUrb0hEO0FPM29IQztFMERaRDtJekQyTkk7R1JnOEdGO0NBQ0Y7QU9ocEhDO0UwRFpEO0l6RGtPRTtJQUNBO0dSODdHQTtDQUNGOztBaUV0cEhBO0VBQ0M7RUFDQTtFQUNFO0VBQ0E7RUFDRjtDakV5cEhEOztBaUVycEhBO0VBQ0M7RUFDQTtFQUNBO0NqRXdwSEQ7O0FpRXBwSEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDakV1cEhEOztBaUVucEhBO0VBQ0M7RUFDQTtDakVzcEhEOztBaUVscEhBO0VBRUM7RUFDQTtFQUNBO0NqRW9wSEQ7QVExL0dDO0VBRUM7Q1IyL0dGO0FpRXJwSEM7RUFDQztDakV1cEhGO0FpRXBwSEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDakVzcEhGOztBaUVqcEhBO0VBQ0M7RUFDQTtDakVvcEhEOztBa0VqdUhBOzs7O0dBQUE7QUFPQTtFMUQ0TkM7RUFDQTtFQUNBO0NSdWdIRDtBT2x0SEM7RTJEbkJEO0kxRGtPSTtHUnVnSEY7Q0FDRjtBT3Z0SEM7RTJEbkJEO0kxRHlPRTtJQUNBO0dScWdIQTtDQUNGOztBa0UxdUhBO0UxRGdKRTtFMEQ5SUQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEU2dUhEO0FrRTN1SEM7RUFDQztFQUNBO0NsRTZ1SEY7QWtFMXVIQztFQUNDO0VBQ0E7RUFDQTtDbEU0dUhGO0FrRXp1SEM7RUFDQztFQUNBO0NsRTJ1SEY7QWtFenVIRTtFQUNDO0NsRTJ1SEg7O0FPenZIQztFMkRtQkQ7SUFFRTtHbEV5dUhBO0NBQ0Y7QU8vdkhDO0UyRG1CRDtJQU1FO0lBQ0E7SUFDQTtHbEUwdUhBO0NBQ0Y7QU90d0hDO0UyRG1CRDtJQVlFO0lBQ0E7R2xFMnVIQTtDQUNGOztBa0V4dUhBO0VBQ0M7Q2xFMnVIRDs7QWtFeHVIQTtFQUNDO0NsRTJ1SEQ7O0FPcHhIQztFMkQ0Q0Q7SUFFRTtHbEUydUhBO0NBQ0Y7QU8xeEhDO0UyRDRDRDtJQU1FO0dsRTR1SEE7Q0FDRjs7QWtFeHVIQTtFNUQ5RE07RUFSQTtFNER3RUw7RUFDQTtFQUNBO0NsRTR1SEQ7O0FPdnlIQztFMkQ4REQ7SUFFRTtJQUFBO0lBQ0E7SUFBQTtJQUNBO0lBQUE7SUFDQTtHbEU0dUhBO0NBQ0Y7O0FPaHpIQztFMkR3RUE7STFEUEs7R1JvdkhKO0NBQ0Y7QU90ekhDO0UyRHVFRDtJQVFFO0lBQUE7SUFDQTtJQUFBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHbEUydUhBO0VrRXp1SEE7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHbEUydUhEO0NBQ0Y7O0FrRXZ1SEE7RTVEN0dNO0VBUkE7RTREdUhMO0VBQ0E7RUFDQTtFQUNBO0NsRTJ1SEQ7QU90MUhDO0UyRHNHRDtJQVFFO0dsRTR1SEE7Q0FDRjs7QW1FbDRIQTtFM0RnUEM7RUFDQTtFQUNBO0NSc3BIRDtBT2oySEM7RTREdkNEO0kzRHNQSTtHUnNwSEY7Q0FDRjtBT3QySEM7RTREdkNEO0kzRDZQRTtJQUNBO0dSb3BIQTtDQUNGO0FPNTJIQztFNER2Q0Q7STNEd0dNO0lBQUE7R1JnekhKO0NBQ0Y7QU9sM0hDO0U0RHZDRDtJM0QrSE07SUFBQTtHUit4SEo7Q0FDRjtBT3gzSEM7RTREdkNEO0kzRG9JTTtJQUFBO0dSZ3lISjtDQUNGO0FPOTNIQztFNER2Q0Q7STNEeUlNO0lBQUE7R1JpeUhKO0NBQ0Y7O0FPcDRIQztFNEQvQkQ7SUFFSTtJQUNBO0lBQ0E7R25FczZIRjtDQUNGOztBbUVuNkhBO0VBQ0U7RUFDQTtDbkVzNkhGO0FPajVIQztFNER2QkQ7SUFLSTtJQUNBO0lBQ0E7SUFDQTtHbkV1NkhGO0NBQ0Y7QU96NUhDO0U0RHZCRDtJQVlJO0duRXc2SEY7Q0FDRjtBTzk1SEM7RTREdkJEO0lBZ0JJO0duRXk2SEY7Q0FDRjs7QU9uNkhDO0U2RDVCRDtJQUVFO0dwRWs4SEE7Q0FDRjs7QU96NkhDO0U2RHRCRDtJQUVFO0dwRWs4SEE7Q0FDRjs7QW9FLzdIQTtFQUNDO0VBQ0E7RUFDQTtDcEVrOEhEO0FPcjdIQztFNkRoQkQ7SUFNRTtJQUVDO0lBQ0E7SUFDQTtJQUNBO0dwRWs4SEQ7Q0FDRjtBTzk3SEM7RTZEaEJEO0lBZ0JFO0lBQ0E7R3BFazhIQTtDQUNGOztBb0UvN0hBO0VBQ0M7RUFDQTtDcEVrOEhEO0FPejhIQztFNkRLRDtJQUtFO0lBQ0E7SUFDQTtJQUNBO0dwRW04SEE7Q0FDRjtBT2o5SEM7RTZES0Q7SUFZRTtJQUNBO0dwRW84SEE7Q0FDRjtBT3Y5SEM7RTZES0Q7SUFpQkU7R3BFcThIQTtDQUNGOztBb0VsOEhBO0U5RGpDTTtFQVJBO0U4RDJDTDtFQUNBO0NwRXM4SEQ7O0FvRW44SEE7RUFDQztFQUNBO0NwRXM4SEQ7O0FvRW44SEE7RUFFQztFQUNBO0NwRXE4SEQ7QVF0MEhDO0VBQ0MsaUI0RGxJWTtDcEUwOEhkO0FvRXQ4SEM7RUFJQztFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBUFE7RUFRUixhQVBTO0VBUVQ7RUFDQTtDcEVxOEhGOztBb0VqOEhBO0VBQ0M7Q3BFbzhIRDs7QW9FajhIQTtFQUNDO0VBQ0E7Q3BFbzhIRDs7QXFFMWlJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NyRTZpSUQ7QXFFM2lJQztFQUNDO0NyRTZpSUY7O0FxRXhpSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckUyaUlEO0FxRXppSUM7RUFDQztFQUNBO0NyRTJpSUY7O0FBM2dJQTs7K0RBQUE7QXNFdkRBOzs4RUFBQTtBdEUrREE7OytEQUFBO0F1RS9EQTtFQUNDO0VBQ0E7Q3ZFOGtJRDtBdUU1a0lDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3ZFOGtJRjtBdUU1a0lFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFOGtJSDtBdUUxa0lDO0VqRVdLO0VBUkE7Q04ya0lOO0F1RTFrSUc7RUFDQztDdkU0a0lKOztBd0V0bUlBOztHQUFBO0FBT0M7RUFDQztDeEVxbUlGO0F3RWptSUM7RUFDQztDeEVtbUlGO0F3RS9sSUM7RUFDQztDeEVpbUlGO0F3RTlsSUM7RUFDQztDeEVnbUlGO0F3RTdsSUM7RUFDQztDeEUrbElGO0F3RTdsSUU7RUFDQztFQUNBO0VBQ0E7Q3hFK2xJSDtBd0U3bElHO0VsRURHO0VBUkE7RWtFV0Y7RUFDQTtFQUNBO0VBQ0E7Q3hFZ21JSjtBd0UzbElDO0VBQ0M7RUFDQTtDeEU2bElGO0F3RTNsSUU7RUFDQztFQUNBO0VBQ0E7RUFDQTtDeEU2bElIO0F3RTNsSUc7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hFNmxJSjs7QUFqbElBOzs7K0RBQUE7QXlFdkVBOzt5RkFBQTtBQUtBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBMEJHO0VBQ0M7Q3pFa3BJSjs7QXlFaHBJRztFQUNDO0N6RW1wSUo7O0F5RXZwSUc7RUFDQztDekUwcElKOztBeUV4cElHO0VBQ0M7Q3pFMnBJSjs7QXlFL3BJRztFQUNDO0N6RWtxSUo7O0F5RWhxSUc7RUFDQztDekVtcUlKOztBeUV2cUlHO0VBQ0M7Q3pFMHFJSjs7QXlFeHFJRztFQUNDO0N6RTJxSUo7O0F5RS9xSUc7RUFDQztDekVrcklKOztBeUVocklHO0VBQ0M7Q3pFbXJJSjs7QXlFdnJJRztFQUNDO0N6RTBySUo7O0F5RXhySUc7RUFDQztDekUycklKOztBeUUvcklHO0VBQ0M7Q3pFa3NJSjs7QXlFaHNJRztFQUNDO0N6RW1zSUo7O0F5RXZzSUc7RUFDQztDekUwc0lKOztBeUV4c0lHO0VBQ0M7Q3pFMnNJSjs7QXlFL3NJRztFQUNDO0N6RWt0SUo7O0F5RWh0SUc7RUFDQztDekVtdElKOztBeUV2dElHO0VBQ0M7Q3pFMHRJSjs7QXlFeHRJRztFQUNDO0N6RTJ0SUo7O0F5RS90SUc7RUFDQztDekVrdUlKOztBeUVodUlHO0VBQ0M7Q3pFbXVJSjs7QXlFdnVJRztFQUNDO0N6RTB1SUo7O0F5RXh1SUc7RUFDQztDekUydUlKOztBeUUvdUlHO0VBQ0M7Q3pFa3ZJSjs7QXlFaHZJRztFQUNDO0N6RW12SUo7O0F5RXZ2SUc7RUFDQztDekUwdklKOztBeUV4dklHO0VBQ0M7Q3pFMnZJSjs7QXlFL3ZJRztFQUNDO0N6RWt3SUo7O0F5RWh3SUc7RUFDQztDekVtd0lKOztBeUV2d0lHO0VBQ0M7Q3pFMHdJSjs7QXlFeHdJRztFQUNDO0N6RTJ3SUo7O0F5RS93SUc7RUFDQztDekVreElKOztBeUVoeElHO0VBQ0M7Q3pFbXhJSjs7QXlFdnhJRztFQUNDO0N6RTB4SUo7O0F5RXh4SUc7RUFDQztDekUyeElKOztBeUUveElHO0VBQ0M7Q3pFa3lJSjs7QXlFaHlJRztFQUNDO0N6RW15SUo7O0F5RXZ5SUc7RUFDQztDekUweUlKOztBeUV4eUlHO0VBQ0M7Q3pFMnlJSjs7QTBFOTBJQTtFQUNDO0MxRWkxSUQ7O0EwRTkwSUE7RUFDQztFQUNBO0VBQ0E7QzFFaTFJRDs7QTBFOTBJQTtFQUNDO0MxRWkxSUQ7O0EyRTUxSUE7OztFQUFBO0FDRUM7RUFBeUI7QzVFazJJMUI7O0E0RWoySUM7RUFBeUI7QzVFcTJJMUI7O0E0RXAySUM7RUFBeUI7QzVFdzJJMUI7O0E0RXYySUM7RUFBeUI7QzVFMjJJMUI7O0E0RXgySUM7RUFBeUI7QzVFNDJJMUI7O0E0RTMySUM7RUFBeUI7QzVFKzJJMUI7O0E0RTkySUM7RUFBeUI7QzVFazNJMUI7O0E0RWozSUM7RUFBeUI7QzVFcTNJMUI7O0E0RTkzSUM7RUFBeUI7QzVFazRJMUI7O0E0RWo0SUM7RUFBeUI7QzVFcTRJMUI7O0E0RXA0SUM7RUFBeUI7QzVFdzRJMUI7O0E0RXY0SUM7RUFBeUI7QzVFMjRJMUI7O0E0RXg0SUM7RUFBeUI7QzVFNDRJMUI7O0E0RTM0SUM7RUFBeUI7QzVFKzRJMUI7O0E0RTk0SUM7RUFBeUI7QzVFazVJMUI7O0E0RWo1SUM7RUFBeUI7QzVFcTVJMUI7O0E0RTk1SUM7RUFBeUI7QzVFazZJMUI7O0E0RWo2SUM7RUFBeUI7QzVFcTZJMUI7O0E0RXA2SUM7RUFBeUI7QzVFdzZJMUI7O0E0RXY2SUM7RUFBeUI7QzVFMjZJMUI7O0E0RXg2SUM7RUFBeUI7QzVFNDZJMUI7O0E0RTM2SUM7RUFBeUI7QzVFKzZJMUI7O0E0RTk2SUM7RUFBeUI7QzVFazdJMUI7O0E0RWo3SUM7RUFBeUI7QzVFcTdJMUI7O0E0RTk3SUM7RUFBeUI7QzVFazhJMUI7O0E0RWo4SUM7RUFBeUI7QzVFcThJMUI7O0E0RXA4SUM7RUFBeUI7QzVFdzhJMUI7O0E0RXY4SUM7RUFBeUI7QzVFMjhJMUI7O0E0RXg4SUM7RUFBeUI7QzVFNDhJMUI7O0E0RTM4SUM7RUFBeUI7QzVFKzhJMUI7O0E0RTk4SUM7RUFBeUI7QzVFazlJMUI7O0E0RWo5SUM7RUFBeUI7QzVFcTlJMUI7O0E0RTk5SUM7RUFBeUI7QzVFaytJMUI7O0E0RWorSUM7RUFBeUI7QzVFcStJMUI7O0E0RXArSUM7RUFBeUI7QzVFdytJMUI7O0E0RXYrSUM7RUFBeUI7QzVFMitJMUI7O0E0RXgrSUM7RUFBeUI7QzVFNCtJMUI7O0E0RTMrSUM7RUFBeUI7QzVFKytJMUI7O0E0RTkrSUM7RUFBeUI7QzVFay9JMUI7O0E0RWovSUM7RUFBeUI7QzVFcS9JMUI7O0E0RTkvSUM7RUFBeUI7QzVFa2dKMUI7O0E0RWpnSkM7RUFBeUI7QzVFcWdKMUI7O0E0RXBnSkM7RUFBeUI7QzVFd2dKMUI7O0E0RXZnSkM7RUFBeUI7QzVFMmdKMUI7O0E0RXhnSkM7RUFBeUI7QzVFNGdKMUI7O0E0RTNnSkM7RUFBeUI7QzVFK2dKMUI7O0E0RTlnSkM7RUFBeUI7QzVFa2hKMUI7O0E0RWpoSkM7RUFBeUI7QzVFcWhKMUI7O0E0RTloSkM7RUFBeUI7QzVFa2lKMUI7O0E0RWppSkM7RUFBeUI7QzVFcWlKMUI7O0E0RXBpSkM7RUFBeUI7QzVFd2lKMUI7O0E0RXZpSkM7RUFBeUI7QzVFMmlKMUI7O0E0RXhpSkM7RUFBeUI7QzVFNGlKMUI7O0E0RTNpSkM7RUFBeUI7QzVFK2lKMUI7O0E0RTlpSkM7RUFBeUI7QzVFa2pKMUI7O0E0RWpqSkM7RUFBeUI7QzVFcWpKMUI7O0E0RTlqSkM7RUFBeUI7QzVFa2tKMUI7O0E0RWprSkM7RUFBeUI7QzVFcWtKMUI7O0E0RXBrSkM7RUFBeUI7QzVFd2tKMUI7O0E0RXZrSkM7RUFBeUI7QzVFMmtKMUI7O0E0RXhrSkM7RUFBeUI7QzVFNGtKMUI7O0E0RTNrSkM7RUFBeUI7QzVFK2tKMUI7O0E0RTlrSkM7RUFBeUI7QzVFa2xKMUI7O0E0RWpsSkM7RUFBeUI7QzVFcWxKMUI7O0E0RTlsSkM7RUFBeUI7QzVFa21KMUI7O0E0RWptSkM7RUFBeUI7QzVFcW1KMUI7O0E0RXBtSkM7RUFBeUI7QzVFd21KMUI7O0E0RXZtSkM7RUFBeUI7QzVFMm1KMUI7O0E0RXhtSkM7RUFBeUI7QzVFNG1KMUI7O0E0RTNtSkM7RUFBeUI7QzVFK21KMUI7O0E0RTltSkM7RUFBeUI7QzVFa25KMUI7O0E0RWpuSkM7RUFBeUI7QzVFcW5KMUI7O0FPemxKQztFcUV6QkQ7SXBFMEZNO0lBQUE7R1I4aEpKO0NBQ0Y7QU9obUpDO0VxRXpCRDtJcEVpSE07SUFBQTtHUjZnSko7Q0FDRjtBT3RtSkM7RXFFekJEO0lwRXNITTtJQUFBO0dSOGdKSjtDQUNGO0FPNW1KQztFcUV6QkQ7SXBFMkhNO0lBQUE7R1IrZ0pKO0NBQ0Y7O0FPbG5KQztFcUVqQkE7SUFDQztHNUV1b0pBO0NBQ0Y7QTZFL3BKQTs7OztnRkFBQTtBQXlCQTtFcEVBQztFRHVOQTtFQUNBO0VBQ0E7RXFFdE5BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtDN0U4b0pEO0FPem9KQztFc0VkRDtJckU2Tkk7R1I4N0lGO0NBQ0Y7QU85b0pDO0VzRWREO0lyRW9PRTtJQUNBO0dSNDdJQTtDQUNGO0FPcHBKQztFc0VkRDtJQW1CRTtHN0VtcEpBO0NBQ0Y7O0E2RS9vSkE7RUFDQztFQUVBO0M3RWlwSkQ7QU85cEpDO0VzRVVEO0lBWUU7RzdFNG9KQTtDQUNGO0FPbnFKQztFc0VVRDtJQXFCRTtHN0V3b0pBIiwiZmlsZSI6ImNzcy9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiAgMSAtIFNFVFRJTkdTXG4gKiAgR2xvYmFsIHZhcmlhYmxlcywgc2l0ZS13aWRlIHNldHRpbmdzLFxuICogIGNvbmZpZyBzd2l0Y2hlcyBldGMuXG4gKlxuICogIFRoZSBvcmRlciBpbiB3aGljaCB0aGVzZSBTYXNzIGZpbGVzXG4gKiAgYXJlIGxvYWRlZCBpcyBjcml0aWNhbCFcbiAqICBTbyBwbGVhc2UgYmUgY2FyZWZ1bCB3aGVuIGVkaXRpbmdcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT3JnYW5pemUgY29sb3IgdmFyaWFibGVzIGluIGEgU2FzcyBNYXAuXG4gICBUaGlzIHdheSwgdGhlIGNvbG9ycyBjYW4gYmUgaXRlcmF0ZWQsIGFyZSBtb3JlIG9yZ2FuaXplZCxcbiAgIGFuZCBhcmUgbW9yZSBpbnR1aXRpdmUgdG8gcmVmZXJlbmNlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBjb2xvcnMgZnJvbSBvdXIgbWFwcGluZ1xuICpcdFRvIGFjY2VzcyBjb2xvcnMgaW4gb3VyIHBhbGV0dGUsIHdlIHVzZSBhIHZlcnkgc2ltcGxlIGN1c3RvbSBTYXNzIGZ1bmN0aW9uXG4gKiAgVGhpcyBmdW5jdGlvbiBpcyBwbGFjZWQgaGVyZSwgKGFuZCBub3QgaW4gdGhlIHRvb2xib3gpXG4gKiAgYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSBpdCBpbiBvdXIgb3RoZXIgc2V0dGluZyBmaWxlc1xuXG5cdFVTQUdFOlxuXG5cdC5kZW1vIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5KTtcblx0fVxuXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbmZpZyBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcblx0WzFdXHRcdExvZ28gZGFyayBvciBsaWdodCBjYW4gYmUgc2V0IGluIGhlYWRlci5ibGFkZS5waHAgLyBmb290ZXIuYmxhZGUucGhwICZcblx0WzJdIFx0U2V0IHRoaXMgdG8gdHJ1ZSB3aGVuIGJnQ29sb3IgZ2V0cyBhIGRhcmsgY29sb3IgdGhhdCBjb250cmFzdCB0aGUgYm9keSBiZyBjb2xvclxuKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBcdCBEZWZpbmVzIHRoZSB0eXBvZ3JhcGhpYyBiYXNlbGluZS5cbiAgIFdlIGRlZmluZSBldmVyeSBzaXplIGluIHBpeGVscywgdGhlIHVuZGVybHlpbmcgc3lzdGVtXG4gICBjb252ZXJ0cyB0aGUgcmVzcGVjdGl2ZSB1bml0cyB0byB0aGUgcmVzcG9uc2l2ZSBSRU0gdmFsdWUuXG4gXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBPdXIgYmFzZSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0XG4gKi9cbi8qKlxuICpcdEhlcmUgd2UgYXNzaWduIHNob3J0IG5hbWVzIGZvciB0aGUgZm9udCBmYW1pbGllc1xuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBnaXZlbiBmb3JtYXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogIDIgLSBUT09MU1xuICogIFNpdGUgd2lkZSBtaXhpbnMgYW5kIGZ1bmN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGdW5jdGlvbnMgdXNlZCBpbiBncmlkIGNhbGN1bGF0aW9uXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgKiBSZXR1cm4gcGVyY2VudGFnZSBiYXNlZCBvbiBhbW91bnQgb2YgY29sdW1uc1xuICAqIFVzZSBwYXJlbnQgY29sdW1uIHNpemUgdG8gYWRqdXN0IHRoZSBvcmlnaW5cbiAgKi9cbi8qKlxuICAqIERlZmF1bHQgZnVuY3Rpb24gZm9yIGNvbHVtbnNcbiAgKiBSZXR1cm4gYXMgcGVyY2VudGFnZVxuICAqL1xuLyoqXG4gICogUmV0dXJuIGFzIHZpZXdwb3J0IHdpZHRoXG4gICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRm9udCByZWxhdGVkIGZ1bmN0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogIE1peGluIGZvciBzZXR0aW5nIGZvbnQtc2l6ZSBpbiBSRU0gdGhyb3VnaCBhIFNhc3MgTWFwIHdpdGggYWxsIGF2YWlsYWJsZSBzaXplc1xuXG4gICAgVVNBR0U6XG5cbiAgICAubXlDbGFzcyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG4gICAgfVxuXG4gKi9cbi8qIE1lZGlhIHF1ZXJ5IG1peGluIGZvciB3cml0aW5nIE1vYmlsZSBGaXJzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRvb2xib3ggZnVuY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogIE1hdGhzIGhlbHBlcnMuXG4gKiAgSGFsdmUgYW5kIGRvdWJsZSBudW1iZXJzLCByZXR1cm5pbmcgcm91bmRlZCBpbnRlZ2Vycy5cblxuICAgIFVTQUdFOlxuXG4gICAgLmZvbyB7XG4gICAgICAgIHBhZGRpbmc6IGhhbHZlKDMwcHgpO1xuICAgIH1cblxuICovXG4vKipcbiAqICBSZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbiAqICBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIE51bWJlciB0byByZW1vdmUgdW5pdCBmcm9tXG4gKiAgQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuICovXG4vKiBDaGVjayBpZiB2YWx1ZSBpcyBudW1iZXIgKi9cbi8qIFZhbHVlIHRvIEVtICovXG4vKiBWYWx1ZSB0byBSZW0gKi9cbi8qXG4gKiBTZXQgdmVydGljYWwgc3BhY2luZyBvbmx5IGZvciBtb2JpbGUgdmlld3BvcnRcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctcyhcblx0XHRcdFx0J21hcmdpbi10b3AnIDFcblx0XHQpO1xuICB9XG5cbiAqL1xuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIGZvciB2aWV3cG9ydCBsYXJnZXIgdGhhbiBtb2JpbGVcbiAqIEluIGZsZXhpYmxlIHVuaXRzICh2dykgYW5kIG9uIG1heCB2aWV3cG9ydCBpbiBhIGZpeGVkIGFtb3VudCAocHgpXG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nLW0tdXAoXG5cdFx0XHRcdCdwYWRkaW5nLXRvcCcgMC4zMyxcblx0XHRcdFx0J21hcmdpbi1ib3R0b20nIDAuNVxuXHRcdCk7XG4gIH1cblxuICovXG4vKlxuICogRnJvbSB2YWx1ZXMgZ2l2ZW4gcmV0dXJuIHRoZSBjb3JyZWN0IHYtc3BhY2luZyBmb3IgZWFjaCBicmVha3BvaW50XG4gKi9cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBzZXR0aW5nIGEgY29uc2lzdGVudCBib3JkZXItcmFkaXVzXG5cblx0VVNBR0U6XG5cblx0LmNhcmQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG5cdH1cblxuXHQuY2FyZC0tYWx0IHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKGwpO1xuXHR9XG5cbiAqL1xuLyoqXG4gKiBMb2JvdG9taXplZCBPd2wgU2VsZWN0b3IgbWl4aW46XG4gKiAtIFNldCBzcGFjaW5nIGZvciBjb25zZWN1dGl2ZSBpdGVtcyB3aXRoIG1hcmdpbi10b3Agb24gYWxsIGJ1dCB0aGUgZmlyc3QgaXRlbVxuXG5cdFVTQUdFOlxuXG5cdC5ib3gge1xuXHRcdEBpbmNsdWRlIG93bC1jaGlsZHJlbjtcblx0fVxuXG5cdC5jYXJkX19pdGVtIHtcblx0XHRAaW5jbHVkZSBvd2w7XG5cdH1cblxuICovXG4vKlxuICogTG9ib3RvbWl6ZWQgb3dsIHNlbGVjdG9yLlxuICogLSBHaXZlcyB0aGUgY2hpbGRyZW4gb2YgdGhlIGVsZW1lbnQgc3BhY2luZ1xuICogLSBodHRwczovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvYXhpb21hdGljLWNzcy1hbmQtbG9ib3RvbWl6ZWQtb3dsc1xuICovXG4vKipcbiAqICBTaG93IGh5cGhlbnMgZm9yIGV2ZXJ5IGJyb3dzZXIgc3VwcG9ydGluZyBpdFxuICogIGFuZCB3aWxsIGJyZWFrIGxpbmVzIGluIGV2ZXJ5IG90aGVyIGJyb3dzZXJcbiAqL1xuLypcbiAqICBSZXN0cmljdCBhbiBlbGVtZW50IHRvIGEgbWF4LXdpZHRoIGZvciBjcmVhdGluZyBndXR0ZXJzIG9uIHRoZSBzaWRlXG4gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgVGhlICd6LWluZGV4LW1hcCcgaXMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGVsZW1lbnRzIHN0YWNraW5nIG9yZGVyIGluIHRoZSAncm9vdCcgc3RhY2tpbmcgY29udGV4dFxuICogIFRoaXMgd2F5IHdlIGhhdmUgYSBvdmVydmlldyBvZiBhbGwgdGhlIHotaW5kZXggdmFsdWVzIHRoYXQgYXJlIHVzZWQgYWNyb3NzIHRoZSBwcm9qZWN0LlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgIFVTQUdFOlxuXG4gICAgQGluY2x1ZGUgeih6LW1vZGFsKTtcblxuICovXG4vKiAgMyAtIEVMRU1FTlRTXG4gKiAgUGxhaW4gb2xkIHNpbXBsZSBIVE1MIGVsZW1lbnRzIHdpdGhvdXQgYSBjbGFzcyAodHlwZSBzZWxlY3RvcnMpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCYXNpYyBlbGVtZW50cyAobm8gY2xhc3Mgc2VsZWN0b3JzIGFsbG93ZWQpXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBTZXQgdXAgdGhlIGh0bWxcbiAqXG4gKiAxLiBNYWtlcyBzdXJlIHRoYXQgc29tZSBmb250cyBhcmUgYmV0dGVyIHJlbmRlcmVkXG4gKiAyLiBTZXQgZm9udCB0byBsaW5pbmcgZmlndXJlc1xuICpcbiAqIDMuIEF2b2lkIHRoZSBJRSAxMC0xMSBgbWluLWhlaWdodGAgYnVnLlxuICogNC4gVXNlIGAlYCBpbnN0ZWFkIG9mIGB2aGAgc2luY2UgYHZoYCBpcyBidWdneSBpbiBvbGRlciBtb2JpbGUgU2FmYXJpLlxuICovXG5odG1sIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJsbnVtXCI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzY1NjU2NTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIDMsIDQgKi9cbn1cblxuZm9vdGVyIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qKlxuICogWzFdIE1ha2Ugc3VyZSBlbGVtZW50cyBsaWtlIGlucHV0IGFuZCB0ZXh0YXJlYSBpbmhlcml0IHNvbWUgYmFzZSBwcm9wZXJ0aWVzXG4gKiAgICAgaHR0cHM6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNi8xMS9jc3MtaW5oZXJpdGFuY2UtY2FzY2FkZS1nbG9iYWwtc2NvcGUtbmV3LW9sZC13b3JzdC1iZXN0LWZyaWVuZHMvXG4gKlxuICogWzJdIFNldHRpbmcgYm94LXNpemluZyB0aGUgYmVzdCB3YXkgcGVyOlxuICogICAgIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlL1xuICovXG4qIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBbMV0gVHVybiBvZmYgdGV4dC1zaGFkb3cgd2hlbiBzZWxlY3RpbmcgdGV4dCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5XG4gKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzUyOTk5MztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICAvKiBbMV0gKi9cbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFsxXSBTZXR0aW5nICd2ZXJ0aWNhbC1hbGlnbicgcmVtb3ZlcyB0aGUgd2hpdGVzcGFjZSB0aGF0IGFwcGVhcnMgdW5kZXIgJ2ltZydcbiAqXHQgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXG4gKlx0ICAgdXNpbmcgJ2Rpc3BsYXk6IGJsb2NrOycuXG4gKiBbMl0gUmVtb3ZlIGJvcmRlciAvIGVzcGVjaWFsbHkgb24gb2xkZXIgYnJvd3NlcnNcbiAqL1xuaW1nLCBzdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKlsxXSovXG4gIGJvcmRlcjogbm9uZTtcbiAgLypbMl0qL1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogIE5lZWRlZCBmb3IgaU9TIHRvIHByZXZlbnQgaW5wdXQgem9vbWluZ1xuICogIGh0dHBzOi8vdXhjZWxsZW5jZS5jb20vMjAxNC8wMS8xNS9xdWljay1maXgtaW5jcmVhc2UtZm9udC1zaXplLXRvLTE2cHgtdG8tZml4LWlucHV0LXpvb21cbiAqL1xuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuYTpub3QoW2NsYXNzXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjNDA3OUI4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bztcbn1cbmE6bm90KFtjbGFzc10pOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICM0MDc5Qjg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjNzLCBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG59XG5hOm5vdChbY2xhc3NdKTpob3Zlcjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDJweDtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGhncm91cCxcbnVsLCBvbCwgZGQsXG5wLCBmaWd1cmUsXG5wcmUsIHRhYmxlLCBmaWVsZHNldCwgaHIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDUsIGg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICpcdERlZmF1bHQgaW5kZW50YXRpb24gdmFsdWUgZm9yIGxpc3RzXG4gKi9cbnVsLFxub2wge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1sZWZ0OiAxLjEyNWVtO1xufVxuXG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKipcbiAqXHRSZW1vdmUgZXh0cmEgdmVydGljYWwgc3BhY2luZyB3aGVuIG5lc3RpbmcgbGlzdHMuXG4gKi9cbmxpID4gdWwsXG5saSA+IG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogIDQgLSBMYXlvdXQgZWxlbWVudHNcbiAqICBEZXNpZ24gcGF0dGVybnMgKGUuZy4gZ3JpZHMgb3IgbWVkaWEgb2JqZWN0KVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb250YWluXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtY29udGFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLWNvbnRhaW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1jb250YWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFNwbGl0IGxheW91dCBpbiAyIGVxdWFsIGNvbHVtbnNcbiAqXG4gKiBVbnRpbCB2aWV3cG9ydCBpcyB3aWRlIGVub3VnaCB0aGUgY29sdW1ucyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLXNwbGl0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1zcGxpdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4vKipcbiAqIFNwZWNpYWwgY29udGFpbiB2ZXJzaW9uIGZvciBzcGxpdC5cbiAqIERvZXNuJ3QgcmVzdHJhaW4gY29udGVudCBvbiBtZWRpdW0gdmlld3BvcnRcbiAqL1xuLmwtc3BsaXQtLWNvbnRhaW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1zcGxpdC0tY29udGFpbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdC0tY29udGFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAubC1zcGxpdF9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDZ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMzcuNSU7XG4gIH1cbn1cbi5sLXNwbGl0LS1pcy1yZXZlcnNlZCAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgb3JkZXI6IDI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAubC1zcGxpdC0taXMtcmV2ZXJzZWQgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMi41JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXQtLWlzLXJldmVyc2VkIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAubC1zcGxpdC0tYnJlYWtvdXQtb24tbSAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogNjAlO1xuICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgfVxuICAubC1zcGxpdC0tYnJlYWtvdXQtb24tbSAubC1zcGxpdF9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbn1cbi8qKlxuICogV2hlbiB0aGVyZSBpcyBvbmx5IDEgY29sdW1uLCBhbGlnbiBpdCB0byB0aGUgbWlkZGxlIGFuZCBjb250YWluIHRoZSB3aWR0aFxuICogT25seSBvbmUgY29sdW1uIGlzIHVzZWQgZS5nLiBpbiB0aGUgdGFic2xpZGVyIHdoZW4gdGhlcmUgaXMgbm8gaW1hZ2Ugc2V0XG4gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW46b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDc1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW46b25seS1jaGlsZCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubC1zcGxpdF9fY29sdW1uLS12cGFkIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW4tLXZwYWQge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbi0tbGVmdHBhZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSZXN0cmljdFxuICpcbiAqIFdoZW4gYSBibG9jayBzaG91bGRuJ3QgdGFrZSB1cCB0aGUgd2hvbGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuICogd2UgY2FuIHJlc3RyaWN0IHRoZSBtYXhpbXVtIHdpZHRoXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtcmVzdHJpY3QtbmFycm93IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDc1JTtcbiAgICBtYXgtd2lkdGg6IDM4ZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1yZXN0cmljdC1uYXJyb3cge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtcmVzdHJpY3Qtd2lkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiA4Ny41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXJlc3RyaWN0LXdpZGUge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG4vKiAgNSAtIENPTVBPTkVOVFNcbiAqICBEaXNjcmV0ZSBjb21wbGV0ZSBjaHVua3Mgb2YgVUkuXG4gKiAgRGVzaWduZWQgY29tcG9uZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbXBvbmVudHNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmMtYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG59XG5cbi5jLWJyZWFkY3J1bWJfX2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmMtYnJlYWRjcnVtYl9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYy1icmVhZGNydW1iX19pdGVtOm50aC1jaGlsZChuKzIpIC5jLWJyZWFkY3J1bWJfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgY29sb3I6ICMxRDFEMUQ7XG59XG5cbi5jLWJyZWFkY3J1bWJfX2xpbmsge1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtYnJlYWRjcnVtYl9faXRlbS0tbGFzdCAuYy1icmVhZGNydW1iX19saW5rIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUyOTk5MztcbiAgdGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjRkZGRkZGLCAwIDAgNXB4IDJweCAjNTI5OTkzO1xufVxuLmMtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYy1idXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYy1idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgbGVmdDogY2FsYyg1MCUgLSAycHgpO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgb3BhY2l0eTogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjNDI3YTc2O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xufVxuLmMtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMTAwKTtcbn1cblxuLmMtYnV0dG9uX190ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWJ1dHRvbi0taWNvbiAuYy1idXR0b25fX3RleHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4uYy1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogLTFweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbi5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy1idXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWJ1dHRvbl9faWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG4uYy1idXR0b24tLWljb24gLmMtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRGVmYXVsdCBidXR0b25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1naG9zdGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1naG9zdGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5jLWdob3N0YnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLWdob3N0YnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmMtZ2hvc3RidXR0b246OmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xcHg7XG4gIGJvdHRvbTogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbn1cbi5jLWdob3N0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMzVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi5jLWdob3N0YnV0dG9uX190ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWJ1dHRvbi0taWNvbiAuYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5jLWdob3N0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1naG9zdGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy1naG9zdGJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuLmMtZ2hvc3RidXR0b24tLWljb24gLmMtZ2hvc3RidXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE2cHg7XG59XG4uYy1naG9zdGJ1dHRvbl9faWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbi5jLWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogQ2FyZCB0aGF0IGRvZXMgc29tZSBhbmltYXRpb25zIG9uIGhvdmVyXG4gKi9cbi5jLWNhcmQtLWhhcy1hY3Rpb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlciwgLmMtY2FyZC0taGFzLWFjdGlvbjphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOjpiZWZvcmUsIC5jLWNhcmQtLWhhcy1hY3Rpb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkyKTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC44KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjkyKSAxMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMzUlKSByb3RhdGUoLTExZGVnKSBzY2FsZSgxLjMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246OmFmdGVyIHtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDI1cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTYgMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGw9JyUyMzY2QkZCNycgZD0nTTEzLjQgNi43ODNILjc2MkEuNzcyLjc3MiAwIDAgMSAwIDZjMC0uNDMyLjM0MS0uNzgzLjc2Mi0uNzgzSDEzLjRMOS42MjMgMS4zMzZhLjc5OC43OTggMCAwIDEgMC0xLjEwNy43NDcuNzQ3IDAgMCAxIDEuMDc3IDBsNS4wNzcgNS4yMThhLjc5OC43OTggMCAwIDEgMCAxLjEwNkwxMC43IDExLjc3MWEuNzQ3Ljc0NyAwIDAgMS0xLjA3NyAwIC43OTguNzk4IDAgMCAxIDAtMS4xMDdMMTMuNCA2Ljc4M3onLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjc1KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXI6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC45MjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTExZGVnKSBzY2FsZSgxLjMpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogNTBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXI6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMDAwMDAwO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy1jYXJkX19waWN0dXJlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1jYXJkX19pbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtY2FyZF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDE0cHggMTBweCAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBtZWRpdW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1MDVCO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIgLmMtY2FyZF9fbGFiZWwge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5jLWNhcmRfX2xhYmVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Mjk5OTM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwJSkgcm90YXRlKDExZGVnKSBzY2FsZSgxLjUsIDMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIgLmMtY2FyZF9fbGFiZWw6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpIHNjYWxlKDIpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMG1zO1xufVxuXG4uYy1jYXJkX19pbmZvIHtcbiAgcGFkZGluZzogMTZweCAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuXG4uYy1jYXJkX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLmMtY2FyZF9fc3ViaGVhZGluZyB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYy1jYXJkX190ZXh0bGluZSB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuKjpub3QoLmMtY2FyZF9fdGV4dGxpbmUpICsgLmMtY2FyZF9fdGV4dGxpbmUge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uYy1jbG9zZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBlYXNlLW91dDtcbn1cbi5jLWNsb3NlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAycHggIzIwNTA1Qjtcbn1cbi5jLWNsb3NlOmFmdGVyLCAuYy1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwJTtcbiAgbGVmdDogMjAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICMyMDUwNUI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5jLWNsb3NlOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5jLWNsb3NlOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi5jLWNsb3NlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG4uYy1jb25uZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1jb25uZWN0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5jLWNvbm5lY3RfX3Bob25lIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzJDMkMyQztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbn1cbi5jLWNvbm5lY3RfX3Bob25lOmhvdmVyLCAuYy1jb25uZWN0X19waG9uZTphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1jb25uZWN0X19waG9uZTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYy1jb25uZWN0X19waG9uZTpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtY29ubmVjdF9fb3Ige1xuICBtYXJnaW46IDAgMTZweDtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1jb25uZWN0X19vciB7XG4gICAgbWFyZ2luOiA4cHggMCAxNnB4O1xuICB9XG59XG5cbi5jLWRhdGEge1xuICBtYXJnaW46IDhweCAwO1xufVxuXG4uYy1kYXRhX19saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmMtZGF0YV9fbGFiZWwge1xuICBtaW4td2lkdGg6IDY0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xufVxuXG4uYy1kYXRhX192YWx1ZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLWRhdGFfX3ZhbHVlW2hyZWZdOmhvdmVyLCAuYy1kYXRhX192YWx1ZVtocmVmXTphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1kYXRhX192YWx1ZVtocmVmXTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmMtZGF0YV9fdmFsdWVbaHJlZl06Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5jLWRvd25sb2FkLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5jLWRvd25sb2FkLWxpc3RfX2l0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0M4QzhDODtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuLmMtZG93bmxvYWQtbGlzdF9faXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC4yKTtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9fbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDhweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWRvd25sb2FkLWxpc3RfX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xufVxuLmMtZG93bmxvYWQtbGlzdF9faWNvbiBzdmcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9fdGV4dCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG59XG4uYy1kb3dubG9hZC1saXN0X19pdGVtOmhvdmVyIC5jLWRvd25sb2FkLWxpc3RfX3RleHQge1xuICBjb2xvcjogIzFEMUQxRDtcbn1cblxuLmMtZm9ybS1ncm91cF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmMtZm9ybS1ncm91cF9fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuLmhhcy1lcnJvciAuYy1mb3JtLWdyb3VwX19lcnJvcjpub3QoOmVtcHR5KSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHg7XG4gIGNvbG9yOiAjNDA3OUI4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY0LCAxMjEsIDE4NCwgMC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQwNzlCODtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG59XG5cbi5jLWZvcm0tZmVlZGJhY2sge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIHBhZGRpbmc6IDI0cHggMzJweDtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMTEsIDU4LCAwLjIpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZkMzNhO1xufVxuLmMtZm9ybS1mZWVkYmFjazpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmMtZm9ybS1mZWVkYmFjazpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtZmVlZGJhY2spO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmMtZm9ybS1mZWVkYmFjayBsaTo6Zmlyc3QtbGV0dGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtaGFtYnVyZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzIwNTA1QjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYy1oYW1idXJnZXI6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG4uYy1oYW1idXJnZXIgPiBzcGFuLCAuYy1oYW1idXJnZXI6YWZ0ZXIsIC5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwJTtcbiAgbGVmdDogMjAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcbn1cbi5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICB0b3A6IDEycHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG59XG4uYy1oYW1idXJnZXI6YWZ0ZXIge1xuICB0b3A6IDI4cHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG59XG4uYy1oYW1idXJnZXI6aG92ZXIgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbn1cbi5jLWhhbWJ1cmdlcjpob3ZlcjphZnRlciwgLmMtaGFtYnVyZ2VyOmhvdmVyOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyID4gc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuYy1oYW1idXJnZXI6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cblxuLmMtaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbjogNDBweCAwO1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLWhlYWRpbmctLWluZGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLWhlcm8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtaGVybyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtaGVybyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLmMtaGVyb19fbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmMtaGVyb19fc2xpZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTUuNTU2JTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5jLWhlcm9fX3NsaWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgfVxufVxuXG4uYy1oZXJvX19waWN0dXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGZpbHRlcjogYmx1cig1cHgpO1xufVxuLmMtaGVyb19fcGljdHVyZS5pcy1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gIGZpbHRlcjogbm9uZTtcbn1cblxuLmMtaGVyb19faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtaGVyb19fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogY2FsYygxNnB4ICsgMXZ3KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFEMUQxRDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLWhlcm9fX2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMzJweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuYy1oZXJvX19jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAyLjZ2dztcbiAgICBmb250LXNpemU6IDMuNXZ3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtaGVyb19fY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHBhZGRpbmctbGVmdDogNC4xNjY2NjY2NjY3JTtcbiAgfVxufVxuXG4uYy1oZXJvX19jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweDtcbn1cbi5jLWhlcm9fX2NvbnRyb2xzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHRyYW5zcGFyZW50KTtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4uYy1oZXJvX19zY3JvbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Mjk5OTM7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSkgcm90YXRlKDAuMjV0dXJuKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLWhlcm9fX3Njcm9sbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmMtaGVyb19fc2Nyb2xsID4gc3ZnIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zO1xufVxuLmMtaGVyb19fc2Nyb2xsOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjNDY4MjdkO1xufVxuLmMtaGVyb19fc2Nyb2xsOmhvdmVyID4gc3ZnIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4uYy1oZXJvX19zY3JvbGw6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjNGE4YTg0O1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggI2M5ZTJlMDtcbn1cblxuLmMtaW5wdXQge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDdweCAxNnB4O1xuICBjb2xvcjogIzJDMkMyQztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5oYXMtZXJyb3IgLmMtaW5wdXQge1xuICBib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggIzQwNzlCODtcbiAgYm9yZGVyLWNvbG9yOiAjNDA3OUI4O1xufVxuLmMtaW5wdXQ6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggIzFEMUQxRDtcbiAgYm9yZGVyLWNvbG9yOiAjMUQxRDFEO1xufVxudGV4dGFyZWEuYy1pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNnB4O1xuICBtaW4taGVpZ2h0OiAxNThweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5jLWxhbmd1YWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1sYW5ndWFnZV9fYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMTAxLCAxMDEsIDEwMSwgMC41KTtcbiAgYm9yZGVyOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBib3gtc2hhZG93IDAuMTVzO1xufVxuLmMtbGFuZ3VhZ2VfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLWxhbmd1YWdlX19pY29uIHtcbiAgZmxleDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLWxhbmd1YWdlX19sYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbn1cbi5jLWxhbmd1YWdlOmhvdmVyIC5jLWxhbmd1YWdlX19kcm9wZG93biB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5jLWxhbmd1YWdlX19pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmMtbGFuZ3VhZ2VfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xufVxuLmMtbGFuZ3VhZ2VfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUyOTk5Mztcbn1cblxuLypcblx0Q29sb3JzIGdldCBkZWZpbmVkIGluIF9zZXR0aW5ncy5jb25maWcuc2Nzc1xuKi9cbi5jLW5hdiB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbn1cblxuLmMtbmF2X19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLW5hdl9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAyJTtcbn1cbi5jLW5hdl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uYy1uYXZfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDRweDtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXMgbGluZWFyO1xufVxuLmMtbmF2X19saW5rOmhvdmVyLCAuYy1uYXZfX2xpbms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtbmF2X19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgbGVmdDogNHB4O1xuICBib3R0b206IDFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gIGhlaWdodDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NkJGQjc7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG59XG4uYy1uYXZfX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzIwNTA1Qjtcbn1cbi5jLW5hdl9fbGluazpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xufVxuLmMtbmF2X19saW5rLmlzLWFjdGl2ZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMUQxRDFEO1xufVxuLmMtbmF2X19saW5rLmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZCRkI3O1xufVxuLmMtbmF2X19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDOEM4Qzg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1wYWdpbmF0aW9uX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1wYWdpbmF0aW9uX19pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jLXBhZ2luYXRpb25fX2l0ZW06Zmlyc3QtY2hpbGQsIC5jLXBhZ2luYXRpb25fX2l0ZW06bGFzdC1jaGlsZCwgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1sYXN0LXBhZ2UsIC5jLXBhZ2luYXRpb25fX2l0ZW0uaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5jLXBhZ2luYXRpb25fX2l0ZW0uaXMtbGFzdC1wYWdlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuLmMtcGFnaW5hdGlvbl9faXRlbSArIC5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG59XG5cbi5jLXBhZ2luYXRpb25fX3RleHQsXG4uYy1wYWdpbmF0aW9uX19saW5rLFxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiA0OHB4O1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiA4cHg7XG59XG5cbi5jLXBhZ2luYXRpb25fX3RleHQge1xuICBjb2xvcjogIzJDMkMyQztcbiAgb3BhY2l0eTogMC4zNTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fbGluayB7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cbi5jLXBhZ2luYXRpb25fX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzFmMWYxZjtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODtcbn1cbi5pcy1hY3RpdmUgPiAuYy1wYWdpbmF0aW9uX19saW5rIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggLTVweCAjNjZCRkI3O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM2NkJGQjc7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHQge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbn1cbi5jLXBhZ2luYXRpb25fX3ByZXYuaXMtaW5hY3RpdmUsXG4uYy1wYWdpbmF0aW9uX19uZXh0LmlzLWluYWN0aXZlIHtcbiAgY29sb3I6IHJnYmEoNDQsIDQ0LCA0NCwgMC40KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjI1dHVybik7XG59XG5cbi8qXG4gKiBQYWdlIHRpdGxlXG4gKi9cbi5jLXBhZ2UtdGl0bGUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgcGFkZGluZy10b3A6IDE2cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICBjb2xvcjogIzIwNTA1Qjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLXBhZ2UtdGl0bGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1wYWdlLXRpdGxlIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZS0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZS0tY2VudGVyIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtcGFnZS10aXRsZS0tY2VudGVyIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZV9fcHJlaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtcHJvamVjdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogNTc2cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYy1wcm9qZWN0b3JfX2ZpZ3VyZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1wcm9qZWN0b3JfX2NhcHRpb24ge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAyO1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmMtcHJvamVjdG9yX19waWN0dXJlIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMzYwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG59XG4uaWUgLmMtcHJvamVjdG9yLS1zaW5nbGUtaW1hZ2UgLmMtcHJvamVjdG9yX19waWN0dXJlIHtcbiAgbWluLWhlaWdodDogNDAwcHg7XG59XG4uYy1wcm9qZWN0b3JfX3BpY3R1cmUuaXMtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmMtcHJvamVjdG9yX19jb250cm9sIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5jLXByb2plY3Rvcl9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1wcm9qZWN0b3JfX2ltZyB7XG4gICAgbWF4LWhlaWdodDogNzh2aDtcbiAgfVxufVxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG4gIGZsZXg6IDA7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxOTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIG1pbi13aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogY2FsYyhjYWxjKDQyMHB4IC0gMTAwJSkgKiA5OTkpO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLXNlcnZpY2Vwb2ludF9fY29udGVudCB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2JvZHkge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbn1cblxuLmMtc2l0ZW1hcF9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLmMtc2l0ZW1hcF9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHggMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtc2l0ZW1hcF9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjNjZCRkI3O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLypcbiAqIFNraXAgTGlua1xuICovXG4uYy1za2lwLWxpbmsge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDB2aDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGNvbG9yOiAjNDA3OUI4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1za2lwLWxpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG4gIHRvcDogNXB4O1xuICAvKiBOb3cgdGhlIGxpbmsgd2lsbCBhcHBlYXIgKi9cbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUyOTk5MztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiArIC5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uW2FyaWEtbGFiZWw9cHJldmlvdXNdID4gc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b25bYXJpYS1sYWJlbD1uZXh0XSA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhOGE4NDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhOGE4NDtcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmhvdmVyOm5vdCguaXMtYWN0aXZlKSwgLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6bm90KC5pcy1hY3RpdmUpIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YmVmb3JlLCAuYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpiZWZvcmUge1xuICB0b3A6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIHJpZ2h0OiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICBib3R0b206IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGxlZnQ6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDphZnRlciB7XG4gIHRvcDogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIHJpZ2h0OiBjYWxjKCgzMHB4IC0gMTJweCkgLyAyKTtcbiAgYm90dG9tOiBjYWxjKCgzMHB4IC0gMTJweCkgLyAyKTtcbiAgbGVmdDogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgb3BhY2l0eTogMDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90LmlzLWFjdGl2ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90LmlzLWFjdGl2ZTphZnRlciB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1czphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xufVxuXG4uYy1zdWJuYXYge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXN1Ym5hdi0tYm94ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICBwYWRkaW5nOiA4MHB4IDZ2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5jLXN1Ym5hdi0tYm94ZWQge1xuICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICB9XG59XG5cbi5jLXN1Ym5hdl9faGVhZGVyIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uYy1zdWJuYXZfX2xpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uYy1zdWJuYXZfX2l0ZW0tLWJhY2sge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4uYy1zdWJuYXZfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDI1MG1zO1xufVxuLmMtc3VibmF2X19saW5rOmhvdmVyLCAuYy1zdWJuYXZfX2xpbms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtc3VibmF2X19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICM0MDc5Qjg7XG59XG4uYy1zdWJuYXZfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG4uYy1zdWJuYXZfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOEM4Qzg7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9fbGluazo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjZCRkI3O1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIGNvbG9yOiAjQzhDOEM4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE2cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7XG59XG4uYy1zdWJuYXZfX2xpbms6aG92ZXIgLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzQwNzlCODtcbn1cblxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAuYy1zdWJuYXZfX2xpbmsge1xuICBjb2xvcjogIzY2QkZCNztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9fbGluazo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjZCRkI3O1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyoqXG4gKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHlcbiAqIDIuIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxpbmdcbiAqL1xuLmMtdGV4dGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICM0MDc5Qjg7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4uYy10ZXh0YnV0dG9uOmhvdmVyLCAuYy10ZXh0YnV0dG9uOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLXRleHRidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBjb2xvcjogIzI2NDk2ZTtcbn1cbi5jLXRleHRidXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYy10ZXh0YnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy10ZXh0YnV0dG9uX190ZXh0IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbi5jLXRleHRidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuLmMtdGV4dGJ1dHRvbi0taWNvbiAuYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLXRleHRidXR0b24tLWlzLXJldmVyc2VkIC5jLXRleHRidXR0b25fX3RleHQge1xuICBvcmRlcjogMjtcbn1cbi5jLXRleHRidXR0b24tLWlzLXJldmVyc2VkIC5jLXRleHRidXR0b25fX2ljb24ge1xuICBvcmRlcjogMTtcbiAgdG9wOiAxcHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG4uYy10ZXh0YnV0dG9uLS1pcy1yZXZlcnNlZDpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybikgdHJhbnNsYXRlWCgzcHgpO1xufVxuXG4uYy10cmFkZW1hcmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXM7XG59XG4uYy10cmFkZW1hcms6aG92ZXIsIC5jLXRyYWRlbWFyazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy10cmFkZW1hcms6aG92ZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5jLXRyYWRlbWFyazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtdHJhZGVtYXJrX190ZXh0IHtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLXRyYWRlbWFya19faWNvbiB7XG4gIHdpZHRoOiAxMDBweDtcbiAgbWF4LWhlaWdodDogMzJweDtcbiAgb3BhY2l0eTogMC43NTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuLmMtdHJhZGVtYXJrOmhvdmVyIC5jLXRyYWRlbWFya19faWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jLXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xufVxuXG4uYy12aWRlb19faWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qICA2IC0gT1JHQU5JU01TXG4gKiAgTGFyZ2UgYmxvY2tzIGNvbXBvc2VkIG9mIG11bHRpcGxlIGNvbXBvbmVudHMuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogT3JnYW5pc21zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5vLWFjY29yZGlvbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWFjY29yZGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tYWNjb3JkaW9uX19pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNDOEM4Qzg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uby1hY2NvcmRpb25fX2l0ZW0gKyAuby1hY2NvcmRpb25fX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuLm8tYWNjb3JkaW9uX19pdGVtOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzY2QkZCNztcbn1cblxuLm8tYWNjb3JkaW9uX190aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb25fX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tYWNjb3JkaW9uX190aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG4uby1hY2NvcmRpb25fX2l0ZW06bm90KC5pcy1hY3RpdmUpIC5vLWFjY29yZGlvbl9fdGl0bGU6aG92ZXIge1xuICBjb2xvcjogIzY2QkZCNztcbn1cblxuLm8tYWNjb3JkaW9uX19pY29uIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAxNHB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uX19pY29uIHtcbiAgICBsZWZ0OiBjYWxjKDYuMjUlIC0gMTBweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1hY2NvcmRpb25fX2ljb24ge1xuICAgIGxlZnQ6IGNhbGMoNC4xNjY2NjY2NjY3JSAtIDEwcHgpO1xuICB9XG59XG4uby1hY2NvcmRpb25fX2ljb246OmJlZm9yZSwgLm8tYWNjb3JkaW9uX19pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTBweDtcbiAgbGVmdDogM3B4O1xuICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zLCA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UsIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcbn1cbi5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgLm8tYWNjb3JkaW9uX19pY29uOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKSByb3RhdGUoMC4yNXR1cm4pO1xufVxuLm8tYWNjb3JkaW9uX19pY29uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn1cbi5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgLm8tYWNjb3JkaW9uX19pY29uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xufVxuXG4uby1hY2NvcmRpb25fX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICB9XG59XG5cbi8qIEhpZGRlbiBieSBkZWZhdWx0Ki9cbi5vLWFjY29yZGlvbl9fY29udGVudCB7XG4gIG9wYWNpdHk6IDA7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLm8tYWNjb3JkaW9uX19jb250ZW50ID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAuby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICBvcGFjaXR5OiAxO1xuICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogOTZweDtcbiAgfVxufVxuXG4vKlxuKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiogKGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGZvb3RlcilcbiovXG4uby1ib2R5IHtcbiAgei1pbmRleDogNDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5vLWNhbGxvdXQtYmFyIHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBjb2xvcjogIzJDMkMyQztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDE5MSwgMTgzLCAwLjE1KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDEydnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMTB2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNy4xNDI4NTcxNDI5dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDMuNTcxNDI4NTcxNHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogNDhweDtcbiAgfVxufVxuXG4uby1jYWxsb3V0LWJhcl9fYm9keSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm8tY2FsbG91dC1iYXJfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG4vKlxuICogQ2FyZCBncmlkXG4gKlxuICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuby1jYXJkLWdyaWRfX21haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9faXRlbSArIC5vLWNhcmQtZ3JpZF9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDM0NHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIGZsZXg6IDA7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAoKDIgLSAxKSAvIDIgKiAzMnB4KSk7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZCgybisxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZChuKzMpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgICBmbGV4OiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAoKDMgLSAxKSAvIDMgKiAzMnB4KSk7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZChuKzQpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5cbi5vLWNvbnRhY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLm8tY29udGFjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLm8tY29udGFjdF9faW5mbyB7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDZ2dztcbiAgcGFkZGluZy1yaWdodDogNnZ3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tY29udGFjdF9faW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tY29udGFjdF9faW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiA3LjE0Mjg1NzE0MjklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDcuMTQyODU3MTQyOSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuby1jb250YWN0X19pbmZvIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgfVxufVxuXG4uby1jb250YWN0X19mb3JtIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbiAgcGFkZGluZzogMzJweCA2dnc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1jb250YWN0X19mb3JtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1jb250YWN0X19mb3JtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDcuMTQyODU3MTQyOSU7XG4gICAgcGFkZGluZy1yaWdodDogNy4xNDI4NTcxNDI5JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5vLWNvbnRhY3RfX2Zvcm0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgfVxufVxuXG4uby1jb250YWN0X19oZWFkZXIge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuXG4uby1jb250YWN0X19jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLm8tY29udGFjdF9fYWRkcmVzcyB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5vLWNvbnRhY3RfX251bWJlcnMge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uby1jb29raWUtYmFyIHtcbiAgei1pbmRleDogLTE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUQxRDFEO1xuICBvcGFjaXR5OiAxO1xuICBib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjZzO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4uby1jb29raWUtYmFyOm5vdCguaXMtYWNjZXB0ZWQpIHtcbiAgei1pbmRleDogOTk5OTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm8tY29va2llLWJhci5pcy10cmFuc2l0aW9uaW5nLW91dCB7XG4gIHotaW5kZXg6IC0xO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbn1cblxuLm8tY29va2llLWJhcl9fbWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzczcHgpIHtcbiAgLm8tY29va2llLWJhcl9fbWFpbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG59XG5cbi5vLWNvb2tpZS1iYXJfX3RleHQge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzc0cHgpIHtcbiAgLm8tY29va2llLWJhcl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICB9XG59XG5cbi5vLWNvb2tpZS1iYXJfX2xpbmsge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5vLWNvb2tpZS1iYXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cblxuLm8tY29va2llLWJhcl9fYnV0dG9uIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1jb29raWUtYmFyX19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRG91YmxlIGltYWdlIGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBwaWN0dXJlcyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLWRvdWJsZS1pbWFnZSB7XG4gIG1hcmdpbjogLTFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5vLWRvdWJsZS1pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxcHg7XG4gIG9yZGVyOiAxO1xuICBtaW4taGVpZ2h0OiAzNjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZTpsYXN0LWNoaWxkIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuLm8tZG91YmxlLWltYWdlX19pbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgbWF4LWhlaWdodDogODV2aDtcbn1cblxuLm8tZG91YmxlLWltYWdlLS1pcy1yZXZlcnNlZCAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4uby1kb3VibGUtaW1hZ2UtLWlzLXJldmVyc2VkIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZTpsYXN0LWNoaWxkIHtcbiAgb3JkZXI6IDA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRG91YmxlIGxheW91dCBpbiAyIGVxdWFsIGNvbHVtbnNcbiAqXG4gKiBVbnRpbCB2aWV3cG9ydCBpcyB3aWRlIGVub3VnaCB0aGUgY29sdW1ucyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLWRvdWJsZS10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3VibGUtdGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1kb3VibGUtdGV4dF9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDZ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMzcuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1kb3VibGUtdGV4dF9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWRvd25sb2FkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG93bmxvYWRzLS1pcy1yZXZlcnNlZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG59XG5cbi5vLWRvd25sb2Fkc19fbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWRvd25sb2Fkc19fbWFpbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWRvd25sb2Fkc19fbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2LjI1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2LjI1JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWRvd25sb2Fkc19fbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi5vLWRvd25sb2Fkc19fbWFpbiAuYy1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZG93bmxvYWRzX19zZXJ2aWNlLXBvaW50IHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3dubG9hZHNfX3NlcnZpY2UtcG9pbnQge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWRvd25sb2Fkc19fc2VydmljZS1wb2ludCB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZG93bmxvYWRzX19zZXJ2aWNlLXBvaW50IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuLm8tZm9vdGVyIHtcbiAgei1pbmRleDogMjA7XG4gIGNvbG9yOiAjMUQxRDFEO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLm8tZm9vdGVyX19tYWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDV2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMy41NzE0Mjg1NzE0dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDMuNTcxNDI4NTcxNHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX2NvbHVtbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm8tZm9vdGVyX19icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWZvb3Rlcl9fYnJhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuOTZ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tZm9vdGVyX19icmFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4zdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjM1NzE0Mjg1NzF2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWZvb3Rlcl9fYnJhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMxLjY4cHg7XG4gIH1cbn1cblxuLm8tZm9vdGVyX19sb2dvIHtcbiAgd2lkdGg6IDE1MnB4O1xufVxuXG4uby1mb290ZXJfX2luZm8gPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX2luZm8ge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1mb290ZXJfX2luZm8ge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1mb290ZXJfX25hdiB7XG4gICAgbWFyZ2luLXRvcDogMy45NnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX25hdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1mb290ZXJfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi5vLWZvb3Rlcl9fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBjb2xvcjogIzFEMUQxRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDEwMG1zIGxpbmVhcjtcbn1cbi5vLWZvb3Rlcl9fbGluazpob3ZlciwgLm8tZm9vdGVyX19saW5rOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5vLWZvb3Rlcl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDMyLCA4MCwgOTEsIDAuNyk7XG59XG4uby1mb290ZXJfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5vLWZvb3Rlcl9fc29jaWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAzMnB4IDAgMDtcbn1cblxuLm8tZm9vdGVyX19jaGFubmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbn1cblxuLm8tZm9vdGVyX19pY29uIHtcbiAgZmxleDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xufVxuLmZhY2Vib29rIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2ZhY2Vib29rLnN2Z1wiKTtcbiAgaGVpZ2h0OiAyMXB4O1xufVxuLmluc3RhZ3JhbSAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9pbnN0YWdyYW0uc3ZnXCIpO1xufVxuLnR3aXR0ZXIgLm8tZm9vdGVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvdHdpdHRlci5zdmdcIik7XG4gIGhlaWdodDogMjBweDtcbn1cbi5saW5rZWRpbiAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9saW5rZWRpbi5zdmdcIik7XG4gIGhlaWdodDogMThweDtcbn1cbi5vLWZvb3Rlcl9faWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5vLWZvb3Rlcl9faWNvbjpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICM0MDc5Qjg7XG59XG5cbi5vLWZvcm1fX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5vLWZvcm1fX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5vLWZvcm1fX3JvdyArIC5vLWZvcm1fX3JvdyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5vLWZvcm1fX3BvdCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLypcblx0Q29sb3JzIGdldCBkZWZpbmVkIGluIF9zZXR0aW5ncy5jb25maWcuc2Nzc1xuKi9cbi5vLWhlYWRlciB7XG4gIHotaW5kZXg6IDUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDMycHggMDtcbn1cbi5vLWhlYWRlci5pcy1zdGlja3kge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDUwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIGJveC1zaGFkb3c6IDAgLTVweCAzMHB4IGJsYWNrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMzAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5vLWhlYWRlci5pcy1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5pcy1zdGlja3ktaGVhZGVyLXZpc2libGUgLm8taGVhZGVyLmlzLXN0aWNreSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG5cbi5vLWhlYWRlcl9fbWFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1oZWFkZXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1oZWFkZXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLWhlYWRlcl9fbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiA0OHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA5OXB4KSB7XG4gIC5vLWhlYWRlcl9fbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLWhlYWRlcl9fbGFuZ3VhZ2Uge1xuICBmbGV4OiBub25lO1xuICBtYXJnaW4tbGVmdDogMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuby1oZWFkZXJfX2xhbmd1YWdlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4uby1oZWFkZXJfX2xvZ28ge1xuICBmbGV4OiBub25lO1xufVxuLm8taGVhZGVyX19sb2dvOmhvdmVyLCAuby1oZWFkZXJfX2xvZ286YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLm8taGVhZGVyX19sb2dvOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uby1oZWFkZXJfX2ltZyB7XG4gIGhlaWdodDogNDhweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5vLWhlYWRlcl9fdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLWludHJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1MDVCO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8taW50cm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWludHJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8taW50cm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8taW50cm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDk2cHg7XG4gIH1cbn1cblxuLm8taW50cm9fX2JvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8taW50cm9fX2JvZHkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8taW50cm8tLW1vYmlsZS1icmVhay1vdXQgLm8taW50cm9fX2JvZHkge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX2JvZHk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZCRkI3O1xuICB9XG59XG5cbi5vLWludHJvX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5vLWludHJvX19uYXYsXG4uby1pbnRyb19faW1hZ2Uge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX25hdixcbi5vLWludHJvX19pbWFnZSB7XG4gICAgb3JkZXI6IC0xO1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8taW50cm9fX25hdixcbi5vLWludHJvX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uby1pbnRyb19fbmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgcGFkZGluZzogMzJweCA2dnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1pbnRyb19fbmF2IHtcbiAgICBwYWRkaW5nOiA4MHB4IDQuMTY2NjY2NjY2NyU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1pbnRyb19fdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDZ2dztcbiAgcGFkZGluZy1yaWdodDogNnZ3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX3RleHQge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nOiA4MHB4IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fdGV4dCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uby1pbnRyb19fdGl0bGUsXG4uby1pbnRyb19faGVhZGluZyB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5vLWludHJvX19idXR0b24ge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4uby1sb2dvc19fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbjogLTIuMzgydnc7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1sb2dvc19fbGlzdCB7XG4gICAgbWFyZ2luOiAtMzJweDtcbiAgfVxufVxuXG4uby1sb2dvc19faXRlbSB7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDIuMzgydnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODRweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDV2dyk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tbG9nb3NfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gNjRweCk7XG4gICAgbWFyZ2luOiAzMnB4O1xuICB9XG59XG5cbi5vLWxvZ29zX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vLWxvZ29zX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4uby1tYXAgYTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vLW5ld3Mge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tbmV3cyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tbmV3c19faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuXG4uby1uZXdzX19hcnRpY2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm8tbmV3c19fYXJ0aWNsZSArIC5vLW5ld3NfX2FydGljbGUge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuXG4uby1uZXdzX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGxpbmVhcjtcbn1cbi5vLW5ld3NfX2xpbms6aG92ZXIsIC5vLW5ld3NfX2xpbms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLm8tbmV3c19fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cbi5vLW5ld3NfX2xpbms6aG92ZXIsIC5vLW5ld3NfX2xpbms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuLm8tbmV3c19fbGluazpob3Zlcjo6YmVmb3JlLCAuby1uZXdzX19saW5rOmZvY3VzOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLm8tbmV3c19fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3NfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5vLW5ld3NfX2JvZHkge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6IDZ2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3NfX2JvZHkge1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1uZXdzX19ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tbmV3c19faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTUlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19faW1hZ2Uge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgb3JkZXI6IDI7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjUlO1xuICB9XG59XG5cbi5vLW5ld3NfX2JnLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB0b3A6IDZ2dztcbiAgcmlnaHQ6IDZ2dztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDZ2dyk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzX19iZy1pbWFnZSB7XG4gICAgdG9wOiA4cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgfVxufVxuXG4uby1uZXdzX19pbnRybyB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5vLW5ld3NfX3RpbWVzdGFtcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLm8tbmV3c19fYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGNvbG9yOiAjNDA3OUI4O1xufVxuXG4uby1uZXdzX19yZWFkbW9yZSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uby1uZXdzX19mb290ZXIge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vLW92ZXJsYXktbWVudSB7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTIwdncpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zLCAyMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDQwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMC4xNSwgMC4xLCAxKSwgbGluZWFyO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcywgMHM7XG59XG4uby1vdmVybGF5LW1lbnU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC0xMjB2dztcbiAgd2lkdGg6IDEyMHZ3O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzIsIDgwLCA5MSwgMC42KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudTo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4uby1vdmVybGF5LW1lbnU6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogLTIwJTtcbiAgd2lkdGg6IDIwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTg2ZGVnLCB0cmFuc3BhcmVudCA1MCUsICNGOEY4RjggNTAlKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1vdmVybGF5LW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1vdmVybGF5LW1lbnVfX2JhciB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tb3ZlcmxheS1tZW51X19pbWcge1xuICBoZWlnaHQ6IDQ4cHg7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNXR1cm4pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X190b2dnbGUge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbmF2IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51X19uYXYge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1vdmVybGF5LW1lbnVfX25hdiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tb3ZlcmxheS1tZW51X19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19pdGVtIHtcbiAgcGFkZGluZzogOHB4IDA7XG59XG4uby1vdmVybGF5LW1lbnVfX2l0ZW0gKyAuby1vdmVybGF5LW1lbnVfX2l0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMDEsIDEwMSwgMTAxLCAwLjMpO1xufVxuXG4uby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMyMDUwNUI7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICBvdXRsaW5lLWNvbG9yOiByZ2JhKDEwMSwgMTAxLCAxMDEsIDAuMyk7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbmsuaXMtYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcGFjaXR5OiAxO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5vLW92ZXJsYXktbWVudV9fbGluay5pcy1hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4p6UXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2cHg7XG4gIGxlZnQ6IC0xLjI1ZW07XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm8tcXVvdGUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1xdW90ZSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXF1b3RlIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1xdW90ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1xdW90ZV9fYm9keSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXF1b3RlX19ib2R5IHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuLm8tcXVvdGVfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLXF1b3RlX19waWN0dXJlIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1xdW90ZV9fcGljdHVyZSB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXF1b3RlX19waWN0dXJlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXF1b3RlX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5vLXF1b3RlX190ZXh0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBxdW90ZXM6IFwi4oCcXCIgXCLigJ1cIjtcbn1cbi5vLXF1b3RlX190ZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiBvcGVuLXF1b3RlO1xufVxuLm8tcXVvdGVfX3RleHQ6OmFmdGVyIHtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG59XG5cbi5vLXF1b3RlX19hdXRob3Ige1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLm8tcXVvdGVfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uby1xdW90ZV9fc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLm8tcmVmZXJlbmNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAtMzJweDtcbn1cblxuLm8tcmVmZXJlbmNlc19faXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZmxleDogMCAxIDEwMCU7XG4gIG1hcmdpbjogMzJweDtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDBweCBzb2xpZCAjQzhDOEM4O1xuICBib3gtc2hhZG93OiAwIDIuNHB4IDM5LjRweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDI0KSwgMCA2LjhweCA0NS41cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjAzNSksIDAgMTYuM3B4IDUxLjRweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDQ2KSwgMCA1NHB4IDgwcHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5vLXJlZmVyZW5jZXNfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gNjRweCAtIDBweCk7XG4gIH1cbn1cblxuLm8tcmVmZXJlbmNlc19fYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAyNSU7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xufVxuXG4uby1yZWZlcmVuY2VzX19jb250ZW50IHtcbiAgZmxleC1ncm93OiA5OTk5O1xuICBmbGV4LWJhc2lzOiAxOGVtO1xuICBtYXJnaW4tbGVmdDogMjRweDtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2F1dGhvciB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uby1yZWZlcmVuY2VzX19zdWJoZWFkaW5nIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLXN1YmZvb3RlciB7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNTA1QjtcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNTI5OTkzO1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNnM7XG59XG4uaXMtY29va2llcy1hY2NlcHRlZCAuby1zdWJmb290ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLm8tc3ViZm9vdGVyX19tYWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1zdWJmb290ZXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1zdWJmb290ZXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLXN1YmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xufVxuXG4uby1zdWJmb290ZXJfX25hdiB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi5vLXN1YmZvb3Rlcl9faXRlbSB7XG4gIG1hcmdpbi1yaWdodDogMzJweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm8tc3ViZm9vdGVyX19saW5rIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXM7XG59XG4uby1zdWJmb290ZXJfX2xpbms6aG92ZXIsIC5vLXN1YmZvb3Rlcl9fbGluazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uby1zdWJmb290ZXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzY2QkZCNztcbn1cbi5vLXN1YmZvb3Rlcl9fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLm8tc3ViZm9vdGVyX190cmFkZW1hcmsge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLypcbiAqIE9uIHNtYWxsIHNjcmVlbnMgdGhlIGNvbnRlbnQgaXMgc3RhY2tlZCwgd2l0aG91dCBjb250cm9sc1xuICogV2hlbiB0aGUgc2NyZWVuIGlzIHdpZGUgZW5vdWdoIHdlIGFkZCB0aGUgY29udHJvbHNcbiAqIGFuZCBzaG93IG9ubHkgdGhlIGNob3NlbiAnc2xpZGUgY29udGVudCdcbiAqL1xuLm8tdGFic2xpZGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGFic2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX2J1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDOEM4Qzg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJvcmRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjNjZCRkI3O1xuICBib3JkZXItY29sb3I6ICM2NkJGQjc7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbi5pcy1hY3RpdmUge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2QkZCNztcbiAgYm9yZGVyLWNvbG9yOiAjNjZCRkI3O1xufVxuLm8tdGFic2xpZGVyX19idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICM2NkJGQjc7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpmb2N1czpub3QoLmlzLWFjdGl2ZSk6bm90KDphY3RpdmUpIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNGRkZGRkYsIDAgMCA1cHggM3B4IHJnYmEoNDQsIDQ0LCA0NCwgMC4xKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fY29udHJvbHMge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX3N0ZXAge1xuICB3aWR0aDogNDhweDtcbn1cblxuLm8tdGFic2xpZGVyX19zdGVwLS1wcmV2IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fdGFicyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fdGFicyB7XG4gICAgbWFyZ2luOiAtOHB4IDhweDtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX3RhYiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIG1hcmdpbjogOHB4O1xuICBwYWRkaW5nOiA3cHggMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgbWFyZ2luLXRvcDogNDhweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRlbnQgKyAuby10YWJzbGlkZXJfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fY29udGVudCB7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIC5vLXRhYnNsaWRlcl9fY29udGVudC5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbn1cblxuLm8tdGFic2xpZGVyX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzJDMkMyQztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm8tdGVhbSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby10ZWFtIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogMTJ2dztcbiAgICBtYXJnaW4tYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiAxMHZ3O1xuICAgIG1hcmdpbi1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiA3LjE0Mjg1NzE0Mjl2dztcbiAgICBtYXJnaW4tYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDk2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuby10ZWFtX19tYXRyaXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogLTE2cHg7XG4gIH1cbn1cblxuLm8tdGVhbV9faXRlbSB7XG4gIG1hcmdpbjogMCBhdXRvIDMycHg7XG4gIG1heC13aWR0aDogMzIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuby10ZWFtX19pdGVtIHtcbiAgICBtYXJnaW46IDE2cHg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGZsZXg6IG5vbmU7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAzMnB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMzJweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby10ZWFtX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtIDMycHgpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby11c3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1Mjk5OTM7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdXNwX19tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5vLXVzcF9fdGV4dCB7XG4gIHBhZGRpbmc6IDMycHggMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Mjk5OTM7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby11c3BfX3RleHQge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgICBwYWRkaW5nLXRvcDogNi4yNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDYuMjUlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXVzcF9fdGV4dCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiA0LjE2NjY2NjY2NjclIDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tdXNwX19pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby11c3BfX2ltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTZ2dztcbiAgICBtYXJnaW4tcmlnaHQ6IC02dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDY1JTtcbiAgICBtaW4taGVpZ2h0OiAzNjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdXNwX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXVzcF9faW1hZ2Uge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLm8tdXNwX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5vLXVzcF9fbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi5vLXVzcF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xufVxuLm8tdXNwX19pdGVtICsgLm8tdXNwX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5vLXVzcF9faXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgbGVmdDogLTE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7XG59XG5cbi5vLXVzcF9fYWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNDhweDtcbn1cblxuLm8tdXNwX19pbWFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5vLXZhY2FuY2llcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5vLXZhY2FuY2llcyA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLm8tdmFjYW5jaWVzX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNDOEM4Qzg7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGNvbG9yOiAjMUQxRDFEO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuLm8tdmFjYW5jaWVzX19saW5rOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbn1cblxuLyogIDcgLSBUZW1wbGF0ZXNcbiAqICBPdmVycmlkZSBzdHlsaW5nIGZvciBhIHNwZWNpZmljIHRlbXBsYXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGVtcGxhdGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qICA4IC0gU0NPUEVTXG4gKiAgRWxlbWVudHMgYW5kIGNsYXNzZXMgdGhhdCBhcmUgc2NvcGVkIGJ5IGEgcGFyZW50IGNsYXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zLWNoZWNrbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnMtY2hlY2tsaXN0IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBsaW5lLWhlaWdodDogMS40NTtcbn1cbi5zLWNoZWNrbGlzdCBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvY2hlY2svY2hlY2tlZC5zdmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG59XG4uY2hlY2tsaXN0LWhhcy14LXNtYWxsLWZvbnQgLnMtY2hlY2tsaXN0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbn1cbi5jaGVja2xpc3QtaGFzLXgtc21hbGwtZm9udCAucy1jaGVja2xpc3QgbGk6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xufVxuXG4vKipcbiAqIEFsbCB0ZXh0IGVsZW1lbnRzIHRoYXQgY2FuIGJlIGFkZGVkIGJ5IHRoZSB1c2VyIHRocm91Z2ggYSBDTVNcbiAqL1xuLnMtdGV4dCBoMiwgLnMtdGV4dCBoMywgLnMtdGV4dCBoNCB7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuLnMtdGV4dCA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbi5zLXRleHQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4ucy10ZXh0ID4gKiArIC5jLWJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMTI1ZW07XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pID4gbGk6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBjb250ZW50OiBcIuKAolwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTRweDtcbiAgbGVmdDogMDtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSA+IGxpIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuOGVtO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpIFwiLiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxLjI3NWVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogIDkgLSBVVElMSVRJRVNcbiAqICBIaWdoLXNwZWNpZmljaXR5LCB2ZXJ5IGV4cGxpY2l0IHNlbGVjdG9ycy5cbiAqICBPdmVycmlkZXMgYW5kIGhlbHBlciBjbGFzc2VzLlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBIZXJlIHdlIHByaW50IG91dCBhbGwgb3VyIGhlbHBlciBjbGFzc2VzIGZvciBvdXIgZGVmaW5lZCBjb2xvcnNcbiAqIEJhc2VkIG9uIHRoZXNlIGFydGljbGVzOlxuICogLSBodHRwOi8vZXJza2luZWRlc2lnbi5jb20vYmxvZy9mcmllbmRsaWVyLWNvbG91ci1uYW1lcy1zYXNzLW1hcHMvXG4gKiAtIGh0dHBzOi8vYmxvZy5hdGVjaG1lZGlhLmNvbS9jc3MtZm9yLW11bHRpcGxlLXRoZW1lcy9cbiAqIE91dHB1dCBpcyBpbiB0aGUgZm9ybSBvZjpcblxuICAgLnUtY29sb3ItcHJpbWFyeSB7XG4gICAgICBjb2xvcjogI2JhZGE1NTtcbiAgIH1cblxuICAudS1iZy1uZXV0cmFsLS05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWNhZmY7XG4gIH1cbiAqL1xuLnUtY29sb3ItcHJpbWFyeS0tNTAwIHtcbiAgY29sb3I6ICM2NkJGQjc7XG59XG5cbi51LWJnLXByaW1hcnktLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NkJGQjc7XG59XG5cbi51LWNvbG9yLXByaW1hcnktLTcwMCB7XG4gIGNvbG9yOiAjMjA1MDVCO1xufVxuXG4udS1iZy1wcmltYXJ5LS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1MDVCO1xufVxuXG4udS1jb2xvci1zZWNvbmRhcnktLTUwMCB7XG4gIGNvbG9yOiAjNTI5OTkzO1xufVxuXG4udS1iZy1zZWNvbmRhcnktLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Mjk5OTM7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTAge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnUtYmctbmV1dHJhbC0tMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTEwMCB7XG4gIGNvbG9yOiAjRjhGOEY4O1xufVxuXG4udS1iZy1uZXV0cmFsLS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0yMDAge1xuICBjb2xvcjogI0Y1RjVGNTtcbn1cblxuLnUtYmctbmV1dHJhbC0tMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMzAwIHtcbiAgY29sb3I6ICNDOEM4Qzg7XG59XG5cbi51LWJnLW5ldXRyYWwtLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOEM4Qzg7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTQwMCB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1iZy1uZXV0cmFsLS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS01MDAge1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtYmctbmV1dHJhbC0tNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tODAwIHtcbiAgY29sb3I6ICMyQzJDMkM7XG59XG5cbi51LWJnLW5ldXRyYWwtLTgwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQzJDMkM7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTkwMCB7XG4gIGNvbG9yOiAjMUQxRDFEO1xufVxuXG4udS1iZy1uZXV0cmFsLS05MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUQxRDFEO1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0xMDAwIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi51LWJnLW5ldXRyYWwtLTEwMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tYWN0aW9uIHtcbiAgY29sb3I6ICM0MDc5Qjg7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA3OUI4O1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0td2FybmluZyB7XG4gIGNvbG9yOiAjZmZkMzNhO1xufVxuXG4udS1iZy1mZWVkYmFjay0td2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmQzM2E7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1hbGVydCB7XG4gIGNvbG9yOiAjZmY4MTAwO1xufVxuXG4udS1iZy1mZWVkYmFjay0tYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4MTAwO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tbmVnYXRpdmUge1xuICBjb2xvcjogI2NmM2UzZTtcbn1cblxuLnUtYmctZmVlZGJhY2stLW5lZ2F0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmM2UzZTtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLXBvc2l0aXZlIHtcbiAgY29sb3I6ICMzZWNmOGU7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1wb3NpdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZWNmOGU7XG59XG5cbi51LWNvbG9yLWJvcmRlci0tMCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udS1iZy1ib3JkZXItLTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4udS1jb2xvci1ib3JkZXItLTMwMCB7XG4gIGNvbG9yOiAjQzhDOEM4O1xufVxuXG4udS1iZy1ib3JkZXItLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOEM4Qzg7XG59XG5cbi51LWNvbG9yLWJvcmRlci0tNTAwIHtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi51LWJnLWJvcmRlci0tNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udS1wbGFjZWhvbGRlci1pbWFnZSB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xufVxuXG4udS10ZXh0LWFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4vKlxuKiBJZiB5b3UgbmVlZCB0byBtYWtlIGEgcXVpY2sgZml4LCB5b3UgY2FuIGRvIGl0IGhlcmUuXG4qIExhdGVyIHdoZW4geW91IGhhdmUgdGhlIHRpbWUsIHlvdSBjYW4gbW92ZSB0aGUgZml4IGludG8gdGhlIGNvcnJlY3QgcGxhY2UgaW4gdGhlIHN0cnVjdHVyZVxuKi9cbi51LXNwYWNpbmctbXQwIHtcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIwIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjAge1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDAge1xuICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQwIHtcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDAge1xuICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10MSB7XG4gIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yMSB7XG4gIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIxIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWwxIHtcbiAgbWFyZ2luLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0MSB7XG4gIHBhZGRpbmctdG9wOiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjEge1xuICBwYWRkaW5nLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjEge1xuICBwYWRkaW5nLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGwxIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDIge1xuICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIyIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQyIHtcbiAgcGFkZGluZy10b3A6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjIge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIyIHtcbiAgcGFkZGluZy1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDIge1xuICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDMge1xuICBtYXJnaW4tdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIzIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQzIHtcbiAgcGFkZGluZy10b3A6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjMge1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIzIHtcbiAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDMge1xuICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDQge1xuICBtYXJnaW4tdG9wOiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI0IHtcbiAgbWFyZ2luLXJpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ0IHtcbiAgcGFkZGluZy10b3A6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjQge1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI0IHtcbiAgcGFkZGluZy1ib3R0b206IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDQge1xuICBwYWRkaW5nLWxlZnQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDUge1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI1IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI1IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ1IHtcbiAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjUge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI1IHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDUge1xuICBwYWRkaW5nLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDYge1xuICBtYXJnaW4tdG9wOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI2IHtcbiAgbWFyZ2luLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI2IHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sNiB7XG4gIG1hcmdpbi1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ2IHtcbiAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjYge1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI2IHtcbiAgcGFkZGluZy1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDYge1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDcge1xuICBtYXJnaW4tdG9wOiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI3IHtcbiAgbWFyZ2luLXJpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI3IHtcbiAgbWFyZ2luLWJvdHRvbTogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sNyB7XG4gIG1hcmdpbi1sZWZ0OiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ3IHtcbiAgcGFkZGluZy10b3A6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjcge1xuICBwYWRkaW5nLXJpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI3IHtcbiAgcGFkZGluZy1ib3R0b206IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDcge1xuICBwYWRkaW5nLWxlZnQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDgge1xuICBtYXJnaW4tdG9wOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI4IHtcbiAgbWFyZ2luLXJpZ2h0OiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI4IHtcbiAgbWFyZ2luLWJvdHRvbTogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sOCB7XG4gIG1hcmdpbi1sZWZ0OiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ4IHtcbiAgcGFkZGluZy10b3A6IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjgge1xuICBwYWRkaW5nLXJpZ2h0OiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI4IHtcbiAgcGFkZGluZy1ib3R0b206IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDgge1xuICBwYWRkaW5nLWxlZnQ6IDY0cHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLnUtc3BhY2luZy1wdiB7XG4gICAgcGFkZGluZy10b3A6IDEydnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC51LXNwYWNpbmctcHYge1xuICAgIHBhZGRpbmctdG9wOiAxMHZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLnUtc3BhY2luZy1wdiB7XG4gICAgcGFkZGluZy10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC51LXNwYWNpbmctcHYge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAudS1zcGFjaW5nLXByMFxcQGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRoaXMgZ3JpZCBjYW4gYmUgdHVybmVkIG9uIGFuZCBvZmYgd2hlbiB5b3Ugd2FudCB0byBjaGVja1xuICogaWYgZXZlcnl0aGluZyBpcyBuaWNlIGluIHBsYWNlLlxuICogU2V0IGZsYWcgJ3Nob3dHcmlkJyB0byB0cnVlIGluIHNpdGUucGhwXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnUtdmlzaWJsZS1ncmlkIHtcbiAgei1pbmRleDogMTAwMDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAvKiA4IHBvaW50IGdyaWQgbGluZXMgKi9cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC51LXZpc2libGUtZ3JpZCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC51LXZpc2libGUtZ3JpZCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC51LXZpc2libGUtZ3JpZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4udS12aXNpYmxlLWdyaWRfX21haW4ge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpIDI1JSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSAyNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgNTAlKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG4gICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSAxMi41JSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSAxMi41JSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSAyNSUpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcbiAgICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpIDguMzMzMzMzMzMzMyUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgOC4zMzMzMzMzMzMzJSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSAxNi42NjY2NjY2NjY3JSk7XG4gIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9yZ2FuaXplIGNvbG9yIHZhcmlhYmxlcyBpbiBhIFNhc3MgTWFwLlxuICAgVGhpcyB3YXksIHRoZSBjb2xvcnMgY2FuIGJlIGl0ZXJhdGVkLCBhcmUgbW9yZSBvcmdhbml6ZWQsXG4gICBhbmQgYXJlIG1vcmUgaW50dWl0aXZlIHRvIHJlZmVyZW5jZS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbiRwYWxldHRlczogKFxuXG4gICdwcmltYXJ5JzogKFxuICAgIDUwMDogIzY2QkZCNyxcbiAgICA3MDA6ICMyMDUwNUIsXG4gICksXG5cbiAgJ3NlY29uZGFyeSc6IChcbiAgICA1MDA6ICM1Mjk5OTMsXG4gICksXG5cbiAgJ25ldXRyYWwnOiAoXG4gICAgMDogICAjRkZGRkZGLFxuICAgIDEwMDogI0Y4RjhGOCxcbiAgICAyMDA6ICNGNUY1RjUsXG4gICAgMzAwOiAjQzhDOEM4LFxuICAgIDQwMDogIzk5OTk5OSxcbiAgICA1MDA6ICM2NTY1NjUsXG4gICAgODAwOiAjMkMyQzJDLFxuICAgIDkwMDogIzFEMUQxRCxcbiAgICAxMDAwOiAjMDAwMDAwLFxuICApLFxuXG4gICdmZWVkYmFjayc6IChcbiAgICBhY3Rpb246ICM0MDc5QjgsXG4gICAgd2FybmluZzogI2ZmZDMzYSxcbiAgICBhbGVydDogI2ZmODEwMCxcbiAgICBuZWdhdGl2ZTogI2NmM2UzZSxcbiAgICBwb3NpdGl2ZTogIzNlY2Y4ZSxcbiAgKSxcblxuICAnYm9yZGVyJzogKFxuICAgIDA6ICAgI2ZmZixcbiAgICAzMDA6ICNDOEM4QzgsXG4gICAgNTAwOiAjNjU2NTY1LFxuICApLFxuKTtcblxuXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBjb2xvcnMgZnJvbSBvdXIgbWFwcGluZ1xuICpcdFRvIGFjY2VzcyBjb2xvcnMgaW4gb3VyIHBhbGV0dGUsIHdlIHVzZSBhIHZlcnkgc2ltcGxlIGN1c3RvbSBTYXNzIGZ1bmN0aW9uXG4gKiAgVGhpcyBmdW5jdGlvbiBpcyBwbGFjZWQgaGVyZSwgKGFuZCBub3QgaW4gdGhlIHRvb2xib3gpXG4gKiAgYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSBpdCBpbiBvdXIgb3RoZXIgc2V0dGluZyBmaWxlc1xuXG5cdFVTQUdFOlxuXG5cdC5kZW1vIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5KTtcblx0fVxuXG4gKi9cblxuQGZ1bmN0aW9uIHBhbGV0dGUoJHBhbGV0dGUsICRsZXZlbDogMSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJHBhbGV0dGVzLCAkcGFsZXR0ZSkge1xuICAgIEBpZiBtYXAtaGFzLWtleShtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkbGV2ZWwpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkbGV2ZWwpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gSWYgbGV2ZWwgZG9lc24ndCBleGlzdCBpbiBtYXAsIGdpdmUgdGhlIGZpcnN0IHZhbHVlIG9mIHRoZSBwYWxldHRlXG4gICAgICBAcmV0dXJuIG50aChudGgobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgMSksIDIpO1xuICAgIH1cbiAgfVxuXG4gIEB3YXJuIFwiVW5rbm93biBjb2xvcjogYCN7JHBhbGV0dGV9YCBpbiAkcGFsZXR0ZS4gXCI7XG4gIEByZXR1cm4gaG90cGluaztcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb25maWcgc2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcblx0WzFdXHRcdExvZ28gZGFyayBvciBsaWdodCBjYW4gYmUgc2V0IGluIGhlYWRlci5ibGFkZS5waHAgLyBmb290ZXIuYmxhZGUucGhwICZcblx0WzJdIFx0U2V0IHRoaXMgdG8gdHJ1ZSB3aGVuIGJnQ29sb3IgZ2V0cyBhIGRhcmsgY29sb3IgdGhhdCBjb250cmFzdCB0aGUgYm9keSBiZyBjb2xvclxuKi9cblxuJHNpdGUtaGVhZGVyOiAoXG5cdCdiZ0NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J3RleHRDb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG5cdCd0ZXh0Q29sb3JIb3Zlcic6XHRcdFx0cGFsZXR0ZShwcmltYXJ5LCA3MDApLFxuXHQndGV4dENvbG9yQWN0aXZlJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDkwMCksXG5cdCdkZWNvcmF0aW9uQ29sb3InOlx0XHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J2RlY29yYXRpb25Db2xvckFjdGl2ZSc6XHRwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCdsb2dvLWhlaWdodCc6XHRcdFx0XHQ0OHB4LFxuKTtcblxuXG4kc2l0ZS1pbnRybzogKFxuXHQnaXNEYXJrJzpcdFx0XHRcdFx0dHJ1ZSwgLy8gWzJdXG5cdCdiZ0NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShwcmltYXJ5LCA3MDApLFxuXHQnYmFyQ29sb3InOlx0XHRcdFx0XHRwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdsaW5rQ29sb3InOlx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J3N1Ym5hdkJnQ29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwKSxcbik7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNvbWUgZ2xvYmFsIHNldHRpbmdzIHRoYXQgd2UgcHJvYmFibHkgZG9uJ3QgbmVlZCB0byBjaGFuZ2VcblxuJHNpdGUtY29sdW1ucy1zOlx0XHRcdDQ7XG4kc2l0ZS1jb2x1bW5zLW06XHRcdFx0ODtcbiRzaXRlLWNvbHVtbnMtbDpcdFx0XHQxMjtcbiRzaXRlLWNvbHVtbi1zaXplOlx0XHQgICAgOTY7IC8vIFNpemUgb2YgYSBzaW5nbGUgY29sdW1uIHdoZW4gdmlld3BvcnQgaXMgYXQgaXRzIG1heCB3aWR0aCAodXNlZCBmb3IgY2FsY3VsYXRpbmcgbWF4LXdpZHRoKS5cbiRzaXRlLWd1dHRlci13aWR0aDogXHQgICAgNnZ3OyAvLyBVc2VkIG9ubHkgZm9yIHNtYWxsIHNjcmVlbnMuIE11c3QgYmUgW3Z3XSBvciBbcHhdLCBOT1QgWyVdLlxuJHNpdGUtY29va2llQmFyLWhlaWdodDogICAgIDY0cHg7IC8vIEZpeGVkIHNpemUgc28gd2UgY2FuIG9mZnNldCBwYWRkaW5nLWJvdHRvbSBvbiB0aGUgYm9keVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGlvbnMgdGhhdCBhcmUgZG9uZSB3aXRoIHNvbWUgb2YgdGhlIGdpdmVuIHZhbHVlcyBhYm92ZSB0aGlzIGxpbmVcblxuJHNpdGUtbWF4LXdpZHRoOiAkc2l0ZS1jb2x1bW4tc2l6ZSAqICRzaXRlLWNvbHVtbnMtbDsgLy8gTWFpbiBjb250YWluZXIgbWF4LXdpZHRoICh3aXRob3V0IGd1dHRlcilcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZSBkZWZhdWx0IGJvcmRlci1yYWRpdXMgdmFsdWVzIHVzZWQgaW4gdGhlIGJvcmRlciBtaXhpblxuXG4kYm9yZGVyLXJhZGl1czogKFxuXHRzOiA0cHgsXG5cdG06IDhweCxcblx0bDogMTZweFxuKTsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gXHQgRGVmaW5lcyB0aGUgdHlwb2dyYXBoaWMgYmFzZWxpbmUuXG4gICBXZSBkZWZpbmUgZXZlcnkgc2l6ZSBpbiBwaXhlbHMsIHRoZSB1bmRlcmx5aW5nIHN5c3RlbVxuICAgY29udmVydHMgdGhlIHJlc3BlY3RpdmUgdW5pdHMgdG8gdGhlIHJlc3BvbnNpdmUgUkVNIHZhbHVlLlxuIFx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBPdXIgYmFzZSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0XG4gKi9cbiRiYXNlLWZvbnQtc2l6ZTogICBcdDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdCFkZWZhdWx0O1xuJGJhc2UtbGluZS1oZWlnaHQ6IFx0MjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0IWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtcmF0aW86XHQkYmFzZS1saW5lLWhlaWdodC8kYmFzZS1mb250LXNpemUgICAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZXM6IChcblx0J3hzJzogXHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDE0LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDE2XG5cdCksXG5cdCdzJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MTUsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MjRcblx0KSxcblx0J2Jhc2UnOiBcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdCRiYXNlLWZvbnQtc2l6ZSxcblx0XHRsaW5lLWhlaWdodDogXHQkYmFzZS1saW5lLWhlaWdodFxuXHQpLFxuXHQnbSc6IFx0XHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDIwLFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDMyXG5cdCksXG5cdCdsJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MjQsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MzJcblx0KSxcblx0J3hsJzogXHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDMyLFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDQwXG5cdCksXG5cdCd4eGwnOiBcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0NDAsXG5cdFx0bGluZS1oZWlnaHQ6IFx0NDBcblx0KSxcblx0J3h4eGwnOiBcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDQ4LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDQ4XG5cdCksXG5cdCd4eHh4bCc6IFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0NTYsXG5cdFx0bGluZS1oZWlnaHQ6IFx0NTZcblx0KSxcbik7XG5cblxuLyoqXG4gKlx0SGVyZSB3ZSBhc3NpZ24gc2hvcnQgbmFtZXMgZm9yIHRoZSBmb250IGZhbWlsaWVzXG4gKi9cblxuJGZvbnQtc3lzdGVtOlx0XHQtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiRmb250LXJvYm90bzogXHQnUm9ib3RvJywgc2Fucy1zZXJpZjsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBnaXZlbiBmb3JtYXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8vIERlZmF1bHQgYnJlYWtwb2ludHNcbiRicmVha3BvaW50czogKFxuXHRzOiAzODQsXG5cdG06IDg0MCxcblx0bDogMTE1Mixcbik7XG5cbi8vIERldGVybWluZSBhdCB3aGljaCB2aWV3cG9ydCBzaXplIHdlIGNhbiBmaXQgaW4gYSBob3Jpem9udGFsIG1lbnUgaW5zdGVhZCBvZiB0aGUgaGFtYnVyZ2VyIG1lbnUgdG9nZ2xlXG4kYnAtaGVhZGVyLWxhcmdlOiAxMTAwO1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGUgdmlld3BvcnQgc2l6ZSB3aGVuIGNvbnRhaW5lciBjYW4ndCBncm93IGFueW1vcmVcbiRicC1tYXg6ICRzaXRlLW1heC13aWR0aCArICgoJHNpdGUtbWF4LXdpZHRoIC8gJHNpdGUtY29sdW1ucy1sKSAqIDIpOyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1bmN0aW9ucyB1c2VkIGluIGdyaWQgY2FsY3VsYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICogUmV0dXJuIHBlcmNlbnRhZ2UgYmFzZWQgb24gYW1vdW50IG9mIGNvbHVtbnNcbiAgKiBVc2UgcGFyZW50IGNvbHVtbiBzaXplIHRvIGFkanVzdCB0aGUgb3JpZ2luXG4gICovXG5AZnVuY3Rpb24gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJHNpdGUtY29sdW1ucy1sKSB7XG5cdC8vIENhbGN1bGF0ZSB0aGUgd2lkdGggZm9yIGEgc2luZ2xlIGNvbHVtbiBvbiBhIGZ1bGwgZ3JpZFxuXHQkc2luZ2xlQ29sdW1uU2l6ZTogMTAwIC8gJHNpdGUtY29sdW1ucy1sO1xuXG5cdC8vIEdldCB0aGUgb3JpZ2luIHNpemUgaW4gcGVyY2VudGFnZSBmcm9tIHRoZSBmdWxsIGdyaWRcblx0JG9yaWdpblBlcmNlbnRhZ2U6ICRvcmlnaW4gLyAkc2l0ZS1jb2x1bW5zLWwgKiAxMDA7XG5cblx0Ly8gQ2FsY3VsYXRlIHNpbmdsZSBjb2x1bW4gZnJvbSBuZXcgb3JpZ2luXG5cdCRuZXdTaW5nbGVDb2x1bW5TaXplOiAkc2luZ2xlQ29sdW1uU2l6ZSAvICRvcmlnaW5QZXJjZW50YWdlICogMTAwO1xuXG5cdC8vIFJldHVybiBhbW91bnQgb2YgY29sdW1ucyBhcyBwZXJjZW50YWdlXG5cdEByZXR1cm4gKCRuZXdTaW5nbGVDb2x1bW5TaXplICogJGNvbHVtbkNvdW50KTtcbn1cblxuLyoqXG4gICogRGVmYXVsdCBmdW5jdGlvbiBmb3IgY29sdW1uc1xuICAqIFJldHVybiBhcyBwZXJjZW50YWdlXG4gICovXG5AZnVuY3Rpb24gY29sdW1uKCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zLWwpIHtcblx0QHJldHVybiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCwgJG9yaWdpbikgKiAxJTtcbn1cblxuLyoqXG4gICogUmV0dXJuIGFzIHZpZXdwb3J0IHdpZHRoXG4gICovXG5AZnVuY3Rpb24gY29sdW1uVncoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRzaXRlLWNvbHVtbnMtbCkge1xuXHRAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCAkb3JpZ2luKSAqIDF2dztcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRm9udCByZWxhdGVkIGZ1bmN0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqICBNaXhpbiBmb3Igc2V0dGluZyBmb250LXNpemUgaW4gUkVNIHRocm91Z2ggYSBTYXNzIE1hcCB3aXRoIGFsbCBhdmFpbGFibGUgc2l6ZXNcblxuICAgIFVTQUdFOlxuXG4gICAgLm15Q2xhc3Mge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuICAgIH1cblxuICovXG5cblxuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRsaDogbnVsbCkge1xuICAvLyBHZXQgY29ycmVjdCBrZXkgd2l0aCBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0IHB4IHZhbHVlXG4gICRmb250LXNpemUtcHJvcGVydGllczogbWFwLWdldCgkZm9udC1zaXplcywgJGZzKTtcbiAgQGlmICRmb250LXNpemUtcHJvcGVydGllcyB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpKTtcblxuICAgIEBpZigkbGggPT0gbnVsbCl7XG4gICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkZm9udC1zaXplLXByb3BlcnRpZXMsIGxpbmUtaGVpZ2h0KSAvIG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaCAvIG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpO1xuICAgIH1cbiAgfVxuICAvLyBXaGVuIG1hcHBpbmcgaXNuJ3QgZm91bmQgY2FsY3VsYXRlIGFzIGlmIFBYLXZhbHVlIHdhcyBnaXZlbiBhbmQgcmV0dXJuIFJFTSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQGlmIGlzLW51bWJlcigkZnMpIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFsdWVUb1JlbSgkZnMpO1xuXG4gICAgICBAaWYoJGxoICE9IG51bGwpe1xuICAgICAgICBsaW5lLWhlaWdodDogJGxoIC8gJGZzO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiBcIiBgI3skZnN9YCBpcyBub3QgYSB2YWxpZCB2YWx1ZS4gSXQgbXVzdCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZzogYCN7JGZvbnQtc2l6ZXN9YFwiO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vVE9ETzogcmVtb3ZlIGZ1bmN0aW9uIGFuZCB1c2VzXG5AbWl4aW4gZm9udCgkc2l6ZSwgJGxoOiBudWxsLCAkd2VpZ2h0OiBudWxsKSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc2l6ZSwgJGxoKTtcbn0iLCIvKiBNZWRpYSBxdWVyeSBtaXhpbiBmb3Igd3JpdGluZyBNb2JpbGUgRmlyc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AZnVuY3Rpb24gY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRicmVha3BvaW50KSB7XG5cblx0QGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcblx0XHRAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG5cdH1cblxuXHRAd2FybiBcIlVua25vd24gYnJlYWtwb2ludDogYCN7JGJyZWFrcG9pbnR9YCBpbiAkYnJlYWtwb2ludHMuXCI7XG5cdEByZXR1cm4gbnVsbDtcbn1cblxuQG1peGluIG1xKCRtaW46IG51bGwsICRtYXg6IG51bGwpIHtcblx0JHF1ZXJ5OiBcImFsbFwiICFkZWZhdWx0O1xuXG5cdC8vIFRyeSB0byBjb252ZXJ0ICRtaW4gdmFsdWUgaWYgbm90IG51bWJlciBvciBudWxsXG5cdEBpZih0eXBlLW9mKCRtaW4pICE9IG51bWJlciBhbmQgJG1pbiAhPSBudWxsKXtcblx0XHQkbWluOiBjb252ZXJ0QnJlYWtwb2ludEtleVRvVmFsdWUoJG1pbik7XG5cdH1cblxuXHQvLyBUcnkgdG8gY29udmVydCAkbWF4IHZhbHVlIGlmIG5vdCBudW1iZXIgb3IgbnVsbFxuXHRAaWYodHlwZS1vZigkbWF4KSAhPSBudW1iZXIgYW5kICRtYXggIT0gbnVsbCl7XG5cdFx0JG1heDogY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRtYXgpO1xuXHR9XG5cblx0Ly8gc2V0IGJvdGggbWluIGFuZCBtYXhcblx0QGlmICgkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCkge1xuXHRcdCRxdWVyeTogXCIobWluLXdpZHRoOiAjeyRtaW59cHgpIGFuZCAobWF4LXdpZHRoOiAjeyRtYXggLSAxfXB4KVwiO1xuXHR9XG5cdC8vIHNldCBqdXN0IG1pblxuXHRAZWxzZSBpZiAoJG1pbiAhPSBudWxsIGFuZCAkbWF4ID09IG51bGwpIHtcblx0XHQkcXVlcnk6IFwiKG1pbi13aWR0aDogI3skbWlufXB4KVwiO1xuXHR9XG5cdC8vIHNldCBqdXN0IG1heFxuXHRAZWxzZSBpZiAoJG1pbiA9PSBudWxsIGFuZCAkbWF4ICE9IG51bGwpIHtcblx0XHQkcXVlcnk6IFwiKG1heC13aWR0aDogI3skbWF4IC0gMX1weClcIjtcblx0fVxuXG5cdEBtZWRpYSBzY3JlZW4gYW5kICN7JHF1ZXJ5fSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRvb2xib3ggZnVuY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqICBNYXRocyBoZWxwZXJzLlxuICogIEhhbHZlIGFuZCBkb3VibGUgbnVtYmVycywgcmV0dXJuaW5nIHJvdW5kZWQgaW50ZWdlcnMuXG5cbiAgICBVU0FHRTpcblxuICAgIC5mb28ge1xuICAgICAgICBwYWRkaW5nOiBoYWx2ZSgzMHB4KTtcbiAgICB9XG5cbiAqL1xuXG5AZnVuY3Rpb24gcXVhcnRlcigkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAvIDQpO1xufVxuXG5AZnVuY3Rpb24gaGFsdmUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgLyAyKTtcbn1cblxuQGZ1bmN0aW9uIGRvdWJsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDIpO1xufVxuXG5AZnVuY3Rpb24gdHJpcGxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogMyk7XG59XG5cbkBmdW5jdGlvbiBxdWFkcnVwbGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiA0KTtcbn1cblxuXG4vKipcbiAqICBSZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbiAqICBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIE51bWJlciB0byByZW1vdmUgdW5pdCBmcm9tXG4gKiAgQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuICovXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcblx0QGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG5cdFx0QHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG5cdH1cblxuXHRAcmV0dXJuICRudW1iZXI7XG59XG5cblxuLyogQ2hlY2sgaWYgdmFsdWUgaXMgbnVtYmVyICovXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG5cdEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInO1xufVxuXG5cbi8qIFZhbHVlIHRvIEVtICovXG5cbkBmdW5jdGlvbiB2YWx1ZVRvUmVtKCR2YWx1ZSkge1xuXHQkbm9Vbml0czogc3RyaXAtdW5pdCgkdmFsdWUpO1xuXHRAcmV0dXJuICN7JG5vVW5pdHMgLyAxNiAqIDFyZW19O1xufVxuXG4vKiBWYWx1ZSB0byBSZW0gKi9cblxuQGZ1bmN0aW9uIHZhbHVlVG9FbSgkdmFsdWUpIHtcblx0JG5vVW5pdHM6IHN0cmlwLXVuaXQoJHZhbHVlKTtcblx0QHJldHVybiAjeyRub1VuaXRzIC8gMTYgKiAxZW19O1xufVxuXG5cblxuXG4vLyBTZXQgYSBmaXhlZCBzcGFjZSBiYXNlZCBvbiB0aGUgOHB0IGdyaWRcbi8vIEp1c3QgcGFzcyB0aGUgZnVuY3Rpb24gYSBudW1iZXIgZXF1YWwgdG8gdGhlIG51bWJlciBvZiAoOClwb2ludHMgeW91IG5lZWRcbkBmdW5jdGlvbiBzcGFjZSgkc2l6ZTogJzEnKSB7XG4gIEByZXR1cm4gOHB4ICogJHNpemU7XG59XG5cblxuXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgb25seSBmb3IgbW9iaWxlIHZpZXdwb3J0XG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAxXG5cdFx0KTtcbiAgfVxuXG4gKi9cblxuXG5cbkBtaXhpbiB2c3BhY2luZy1zKCR2YWx1ZXMuLi4pIHtcbiAgQGluY2x1ZGUgbXEoJG1heDogbSkge1xuICAgIEBlYWNoICRpIGluICR2YWx1ZXMge1xuICAgICAgLy8gQnkgc2V0dGluZyBndXR0ZXIgc2l6ZSBhcyBhIGhhbHZlIGNvbHVtbiB3aWR0aCB3ZSBjYW4gbWFrZSAnc3F1YXJlcycgb24gbW9iaWxlXG4gICAgICAje250aCgkaSwgMSl9OiAjeygkc2l0ZS1ndXR0ZXItd2lkdGggKiAyKSAqIG50aCgkaSwgMil9O1xuICAgIH1cbiAgfVxufVxuXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgZm9yIHZpZXdwb3J0IGxhcmdlciB0aGFuIG1vYmlsZVxuICogSW4gZmxleGlibGUgdW5pdHMgKHZ3KSBhbmQgb24gbWF4IHZpZXdwb3J0IGluIGEgZml4ZWQgYW1vdW50IChweClcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctbS11cChcblx0XHRcdFx0J3BhZGRpbmctdG9wJyAwLjMzLFxuXHRcdFx0XHQnbWFyZ2luLWJvdHRvbScgMC41XG5cdFx0KTtcbiAgfVxuXG4gKi9cblxuQG1peGluIHZzcGFjaW5nLW0tdXAoJHZhbHVlcy4uLikge1xuICBAaW5jbHVkZSBtcShtLCBsKSB7XG4gICAgQGVhY2ggJGkgaW4gJHZhbHVlcyB7XG4gICAgICAje250aCgkaSwgMSl9OiAjeygxIC8gKCRzaXRlLWNvbHVtbnMtbSArIDIpICogMTAwKSAqIG50aCgkaSwgMil9dnc7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1xKGwsICRicC1tYXgpIHtcbiAgICBAZWFjaCAkaSBpbiAkdmFsdWVzIHtcbiAgICAgICN7bnRoKCRpLCAxKX06ICN7KDEgLyAoJHNpdGUtY29sdW1ucy1sICsgMikgKiAxMDApICogbnRoKCRpLCAyKX12dztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbXEoJGJwLW1heCkge1xuICAgIEBlYWNoICRpIGluICR2YWx1ZXMge1xuICAgICAgI3tudGgoJGksIDEpfTogI3soJHNpdGUtbWF4LXdpZHRoIC8gJHNpdGUtY29sdW1ucy1sKSAqIG50aCgkaSwgMil9cHg7XG4gICAgfVxuICB9XG59XG5cbi8qXG4gKiBGcm9tIHZhbHVlcyBnaXZlbiByZXR1cm4gdGhlIGNvcnJlY3Qgdi1zcGFjaW5nIGZvciBlYWNoIGJyZWFrcG9pbnRcbiAqL1xuQG1peGluIHZzcGFjaW5nKCR2YWx1ZXMuLi4pIHtcblx0QGluY2x1ZGUgdnNwYWNpbmctcygkdmFsdWVzLi4uKTtcblx0QGluY2x1ZGUgdnNwYWNpbmctbS11cCgkdmFsdWVzLi4uKTtcbn1cblxuXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3Igc2V0dGluZyBhIGNvbnNpc3RlbnQgYm9yZGVyLXJhZGl1c1xuXG5cdFVTQUdFOlxuXG5cdC5jYXJkIHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHR9XG5cblx0LmNhcmQtLWFsdCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhsKTtcblx0fVxuXG4gKi9cbkBtaXhpbiBib3JkZXItcmFkaXVzKCR0eXBlOiBzKSB7XG5cdEBpZiAoJHR5cGUgPT0gJ3MnKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cblx0QGlmICgkdHlwZSA9PSAnbScpIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBtKTtcblx0fVxuXHRAaWYgKCR0eXBlID09ICdsJykge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIGwpO1xuXHR9XG59XG5cbi8qKlxuICogTG9ib3RvbWl6ZWQgT3dsIFNlbGVjdG9yIG1peGluOlxuICogLSBTZXQgc3BhY2luZyBmb3IgY29uc2VjdXRpdmUgaXRlbXMgd2l0aCBtYXJnaW4tdG9wIG9uIGFsbCBidXQgdGhlIGZpcnN0IGl0ZW1cblxuXHRVU0FHRTpcblxuXHQuYm94IHtcblx0XHRAaW5jbHVkZSBvd2wtY2hpbGRyZW47XG5cdH1cblxuXHQuY2FyZF9faXRlbSB7XG5cdFx0QGluY2x1ZGUgb3dsO1xuXHR9XG5cbiAqL1xuXG4vKlxuICogTG9ib3RvbWl6ZWQgb3dsIHNlbGVjdG9yLlxuICogLSBHaXZlcyB0aGUgY2hpbGRyZW4gb2YgdGhlIGVsZW1lbnQgc3BhY2luZ1xuICogLSBodHRwczovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvYXhpb21hdGljLWNzcy1hbmQtbG9ib3RvbWl6ZWQtb3dsc1xuICovXG5AbWl4aW4gb3dsLWNoaWxkcmVuKCRtYXJnaW46ICN7JGxpbmUtaGVpZ2h0LXJhdGlvfXJlbSkge1xuXHQmID4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6ICRtYXJnaW47XG5cdH1cbn1cblxuLy8gR2l2ZXMgdGhlIGVsZW1lbnQgaXRzZWxmIHNwYWNpbmdcbkBtaXhpbiBvd2woJG1hcmdpbjogI3skbGluZS1oZWlnaHQtcmF0aW99cmVtKSB7XG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHR9XG59XG5cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG5cbkBtaXhpbiBoeXBoZW5hdGUge1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdC13ZWJraXQtaHlwaGVuczogYXV0bztcblx0LW1zLWh5cGhlbnM6IGF1dG87XG5cdGh5cGhlbnM6IGF1dG87XG59XG5cblxuLy8gd2hlbiBob3ZlciBvciBhY3RpdmUgZGlzYWJsZSBvdXRsaW5lIHN0eWxpbmdcbkBtaXhpbiBkaXNhYmxlT3V0bGluZUZvck1vdXNlIHtcblx0Jjpob3Zlcixcblx0JjphY3RpdmUge1xuXHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG5cblxuLypcbiAqICBSZXN0cmljdCBhbiBlbGVtZW50IHRvIGEgbWF4LXdpZHRoIGZvciBjcmVhdGluZyBndXR0ZXJzIG9uIHRoZSBzaWRlXG4gKi9cblxuQG1peGluIGNvbnRhaW4oJG9uTWVkaXVtOiB0cnVlKSB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAje2RvdWJsZSgkc2l0ZS1ndXR0ZXItd2lkdGgpfSk7IC8vIE1ha2luZyBzdXJlIGl0IGRvZXNu4oCZdCBnZXQgdG8gc21hbGwgd2l0aCBsaXR0bGUgY29udGVudFxuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaWYoJG9uTWVkaXVtID09IHRydWUpIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnMtbSArIDJ9KSAqICN7JHNpdGUtY29sdW1ucy1tfSk7XG4gICAgfSBAZWxzZSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG4gIH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnMtbCArIDJ9KSAqICN7JHNpdGUtY29sdW1ucy1sfSk7XG5cdFx0bWF4LXdpZHRoOiAjeyRzaXRlLW1heC13aWR0aH1weDtcblx0fVxufVxuXG5cbkBtaXhpbiBndXR0ZXJQYWRkaW5nKCRtcSl7XG5cdCRjb2x1bW5Db3VudDogJHNpdGUtY29sdW1ucy1zO1xuXG5cdEBpZigkbXEgPT0gbSkgeyAkY29sdW1uQ291bnQ6ICRzaXRlLWNvbHVtbnMtbTsgfVxuXHRAaWYoJG1xID09IGwpIHsgJGNvbHVtbkNvdW50OiAkc2l0ZS1jb2x1bW5zLWw7IH1cblxuXHRAaW5jbHVkZSBtcSgkbXEpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UoMSAvICgkY29sdW1uQ291bnQgKyAyKSk7XG5cdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZSgxIC8gKCRjb2x1bW5Db3VudCArIDIpKTtcblx0fVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgVGhlICd6LWluZGV4LW1hcCcgaXMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGVsZW1lbnRzIHN0YWNraW5nIG9yZGVyIGluIHRoZSAncm9vdCcgc3RhY2tpbmcgY29udGV4dFxuICogIFRoaXMgd2F5IHdlIGhhdmUgYSBvdmVydmlldyBvZiBhbGwgdGhlIHotaW5kZXggdmFsdWVzIHRoYXQgYXJlIHVzZWQgYWNyb3NzIHRoZSBwcm9qZWN0LlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4kei1pbmRleDogKFxuXHR6LXZpc2libGUtZ3JpZDpcdFx0XHQxMDAwMCxcblx0ei1jb29raWU6XHRcdCBcdFx0XHRcdDk5OTksXG5cdHotb3ZlcmxheS1tZW51Olx0XHRcdDEwMCxcblx0ei1oZWFkZXI6IFx0XHRcdFx0XHQ1MCxcblx0ei1ib2R5Olx0XHRcdFx0XHRcdFx0NDAsXG5cdHotZm9vdGVyOlx0XHRcdFx0IFx0XHQyMCxcblx0ei1zdWJmb290ZXI6XHRcdFx0XHQxMCxcbik7XG5cblxuLyoqXG4gICAgVVNBR0U6XG5cbiAgICBAaW5jbHVkZSB6KHotbW9kYWwpO1xuXG4gKi9cblxuQG1peGluIHooJGxhYmVsKSB7XG5cdHotaW5kZXg6IG1hcC1nZXQoJHotaW5kZXgsJGxhYmVsKTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQmFzaWMgZWxlbWVudHMgKG5vIGNsYXNzIHNlbGVjdG9ycyBhbGxvd2VkKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBTZXQgdXAgdGhlIGh0bWxcbiAqXG4gKiAxLiBNYWtlcyBzdXJlIHRoYXQgc29tZSBmb250cyBhcmUgYmV0dGVyIHJlbmRlcmVkXG4gKiAyLiBTZXQgZm9udCB0byBsaW5pbmcgZmlndXJlc1xuICpcbiAqIDMuIEF2b2lkIHRoZSBJRSAxMC0xMSBgbWluLWhlaWdodGAgYnVnLlxuICogNC4gVXNlIGAlYCBpbnN0ZWFkIG9mIGB2aGAgc2luY2UgYHZoYCBpcyBidWdneSBpbiBvbGRlciBtb2JpbGUgU2FmYXJpLlxuICovXG5cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtcmF0aW87XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1yb2JvdG87XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcbiAgYmFja2dyb3VuZDogcGFsZXR0ZShuZXV0cmFsLCAwKTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7IC8qIDMsIDQgKi9cbn1cblxuZm9vdGVyIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cblxuLyoqXG4gKiBbMV0gTWFrZSBzdXJlIGVsZW1lbnRzIGxpa2UgaW5wdXQgYW5kIHRleHRhcmVhIGluaGVyaXQgc29tZSBiYXNlIHByb3BlcnRpZXNcbiAqICAgICBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE2LzExL2Nzcy1pbmhlcml0YW5jZS1jYXNjYWRlLWdsb2JhbC1zY29wZS1uZXctb2xkLXdvcnN0LWJlc3QtZnJpZW5kcy9cbiAqXG4gKiBbMl0gU2V0dGluZyBib3gtc2l6aW5nIHRoZSBiZXN0IHdheSBwZXI6XG4gKiAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbioge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICYsXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHBhbGV0dGUoc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG4gIHRleHQtc2hhZG93OiBub25lOyAvKiBbMV0gKi9cbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFsxXSBTZXR0aW5nICd2ZXJ0aWNhbC1hbGlnbicgcmVtb3ZlcyB0aGUgd2hpdGVzcGFjZSB0aGF0IGFwcGVhcnMgdW5kZXIgJ2ltZydcbiAqXHQgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXG4gKlx0ICAgdXNpbmcgJ2Rpc3BsYXk6IGJsb2NrOycuXG4gKiBbMl0gUmVtb3ZlIGJvcmRlciAvIGVzcGVjaWFsbHkgb24gb2xkZXIgYnJvd3NlcnNcbiAqL1xuaW1nLCBzdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKlsxXSovXG4gIGJvcmRlcjogbm9uZTsgLypbMl0qL1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogIE5lZWRlZCBmb3IgaU9TIHRvIHByZXZlbnQgaW5wdXQgem9vbWluZ1xuICogIGh0dHBzOi8vdXhjZWxsZW5jZS5jb20vMjAxNC8wMS8xNS9xdWljay1maXgtaW5jcmVhc2UtZm9udC1zaXplLXRvLTE2cHgtdG8tZml4LWlucHV0LXpvb21cbiAqL1xuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuXG4vLyBMaW5rcyB3aXRoIG5vIGNsYXNzIGdldCBhIGRlZmF1bHQgaG92ZXJcbmE6bm90KFtjbGFzc10pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87IC8vIHByZXR0eSB1bmRlcmxpbmluZyBsaW5rc1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcbiAgICBjb250ZW50OiAnJztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjNzLCBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRPRE86IElzIHRoaXMgdGhlIHJpZ2h0IHdheSB0byByZXNldCBhbGwgbWFyZ2luPz9cbi8vIFJlc2V0IGFsbCB0b3AgbWFyZ2luc1xuaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLFxudWwsb2wsZGQsXG5wLGZpZ3VyZSxcbnByZSx0YWJsZSxmaWVsZHNldCxociB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59IiwiaDEge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHhsKTtcbn1cblxuaDIge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDQge1xuXHRAaW5jbHVkZSBmb250LXNpemUobSk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg1LCBoNiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqXHREZWZhdWx0IGluZGVudGF0aW9uIHZhbHVlIGZvciBsaXN0c1xuICovXG5cbnVsLFxub2x7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0bWFyZ2luLWxlZnQ6IDEuMTI1ZW07XG59XG5cbmRke1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuXG5cbi8qKlxuICpcdFJlbW92ZSBleHRyYSB2ZXJ0aWNhbCBzcGFjaW5nIHdoZW4gbmVzdGluZyBsaXN0cy5cbiAqL1xuXG5saSB7XG5cdD4gdWwsXG5cdD4gb2wge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb250YWluXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5sLWNvbnRhaW4ge1xuICBAaW5jbHVkZSBjb250YWluO1xufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogU3BsaXQgbGF5b3V0IGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBjb2x1bW5zIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5sLXNwbGl0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRoZWlnaHQ6IDEwMCU7IC8vIHN0cmV0Y2ggaXQgb3V0IGluIGl0cyBjb250YWluZXJcblxuXHQvLyBTZXQgc2lkZSBieSBzaWRlIGZyb20gbWVkaXVtIHZpZXdwb3J0cyBhbmQgdXBcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuXG4vKipcbiAqIFNwZWNpYWwgY29udGFpbiB2ZXJzaW9uIGZvciBzcGxpdC5cbiAqIERvZXNuJ3QgcmVzdHJhaW4gY29udGVudCBvbiBtZWRpdW0gdmlld3BvcnRcbiAqL1xuXG4ubC1zcGxpdC0tY29udGFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW4oJG9uTWVkaXVtOiBmYWxzZSk7XG59XG5cblxuLmwtc3BsaXRfX2NvbHVtbiB7XG5cblx0Ly8gT24gZGVza3RvcCBjb2x1bW5zIGFyZSA1MC81MFxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LCAxMik7XG5cdH1cblxuXHQvLyBNYWluIGNvbnRlbnQgZ29lcyBmaXJzdCwgdXN1YWxseSB0ZXh0XG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRcdHdpZHRoOiBjb2x1bW4oNSwgOCk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSwgOCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMik7XG5cdFx0fVxuXHR9XG5cblx0Ly8gc2Vjb25kYXJ5IGNvbnRlbnQgZ29lcyBsYXN0LCB1c3VhbGx5IGFuIGltYWdlIG9yIGFzaWRlIHRleHRcblx0JjpsYXN0LWNoaWxkIHtcblx0XHQvLyBDcmVhdGUgdmVydGljYWwgc3BhY2luZyBvbiBtb2JpbGVcblx0XHRAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMC41XG5cdFx0KTtcblx0XHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0XHR3aWR0aDogY29sdW1uKDMsIDgpO1xuXHRcdH1cblx0fVxuXG5cdC8vIFZpc3VhbGx5IHN3aXRjaCBjb2x1bW5zIG9uIG1lZGl1bSAmIGxhcmdlIHZpZXdwb3J0c1xuXHQubC1zcGxpdC0taXMtcmV2ZXJzZWQgJiB7XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRvcmRlcjogMjtcblxuXHRcdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCA4KTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AaW5jbHVkZSBtcShtLCBsKSB7XG5cdC5sLXNwbGl0LS1icmVha291dC1vbi1tIHtcblx0XHQubC1zcGxpdF9fY29sdW1uIHtcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHR3aWR0aDogY29sdW1uKDYsIDEwKTtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTApO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSwgMTApO1xuXHRcdFx0fVxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0d2lkdGg6IGNvbHVtbig0LCAxMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyoqXG4gKiBXaGVuIHRoZXJlIGlzIG9ubHkgMSBjb2x1bW4sIGFsaWduIGl0IHRvIHRoZSBtaWRkbGUgYW5kIGNvbnRhaW4gdGhlIHdpZHRoXG4gKiBPbmx5IG9uZSBjb2x1bW4gaXMgdXNlZCBlLmcuIGluIHRoZSB0YWJzbGlkZXIgd2hlbiB0aGVyZSBpcyBubyBpbWFnZSBzZXRcbiAqL1xuLmwtc3BsaXRfX2NvbHVtbjpvbmx5LWNoaWxkIHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgOCk7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuXHRcdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuLy8gQ29sdW1ucyB0aGF0IGhhdmUgdGV4dCBpbnN0ZWFkIG9mIGFuIGltYWdlIG5lZWQgc29tZSBwYWRkaW5nIG9uIHRvcFxuLy8gdG8gYWxpZ24gdGhlbSB3aXRoIHRoZSBvdGhlciBjb2x1bW4gdGhhdCBoYXMgcGFkZGluZy10b3AgdG9vXG4ubC1zcGxpdF9fY29sdW1uLS12cGFkIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDUpO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDEwKTtcblx0XHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxMCk7XG5cdH1cbn1cblxuXG4vLyBDcmVhdGUgYSBjb2x1bW4gZXh0cmEgd2hpdGUgc3BhY2UgdG8gdGhlIGxlZnQgKG9uIGxhcmdlIHZpZXdwb3J0cylcbkBpbmNsdWRlIG1xKGwpIHtcblx0Lmwtc3BsaXRfX2NvbHVtbi0tbGVmdHBhZCB7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSZXN0cmljdFxuICpcbiAqIFdoZW4gYSBibG9jayBzaG91bGRuJ3QgdGFrZSB1cCB0aGUgd2hvbGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuICogd2UgY2FuIHJlc3RyaWN0IHRoZSBtYXhpbXVtIHdpZHRoXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5sLXJlc3RyaWN0LW5hcnJvdyB7XG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGNvbHVtbig2LDgpO1xuICAgIG1heC13aWR0aDogMzhlbTtcbiAgfVxuICBAaW5jbHVkZSBtcShsKXtcbiAgICB3aWR0aDogY29sdW1uKDYsMTIpO1xuICB9XG59XG5cbi5sLXJlc3RyaWN0LXdpZGUge1xuICBAaW5jbHVkZSBtcShtKXtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGNvbHVtbig3LDgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEobCl7XG4gICAgd2lkdGg6IGNvbHVtbig4LDEyKTtcbiAgfVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29tcG9uZW50c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBpbXBvcnQgXCJjb21wb25lbnRzLmJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZ2hvc3RidXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNhcmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNsb3NlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jb25uZWN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5kYXRhXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5kb3dubG9hZExpc3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZvcm1Hcm91cFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZm9ybUZlZWRiYWNrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5oYW1idXJnZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlYWRpbmdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlcm9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmlucHV0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5sYW5ndWFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMubmF2XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdlVGl0bGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnByb2plY3RvclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2VydmljZVBvaW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zaXRlbWFwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5za2lwTGlua1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2xpZGUtaW5kaWNhdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zdWJuYXZcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRleHQtYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy50cmFkZW1hcmtcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnZpZGVvXCI7IiwiLmMtYnJlYWRjcnVtYiB7XG5cdHBhZGRpbmctYm90dG9tOiA0cHg7IC8vIG1ha2Ugc3VyZSB0b3RhbCBoZWlnaHQgd2lsbCBiZSBkaXZpc2libGUgYnkgOFxuIH1cblxuLmMtYnJlYWRjcnVtYl9fbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG5cbi5jLWJyZWFkY3J1bWJfX2l0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdCY6bnRoLWNoaWxkKG4rMikge1xuXHRcdCYgLmMtYnJlYWRjcnVtYl9faWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0d2lkdGg6IHNwYWNlKDMpO1xuXHRcdFx0aGVpZ2h0OiBzcGFjZSgzKTtcblx0XHRcdG1hcmdpbi1sZWZ0OiBzcGFjZSgxKTtcblx0XHRcdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG5cdFx0XHQvL2NvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdFx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHRcdH1cblx0fVxufVxuXG4uYy1icmVhZGNydW1iX19saW5rIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdC5jLWJyZWFkY3J1bWJfX2l0ZW0tLWxhc3QgJiB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWJ1dHRvbjogKFxuXHQnY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdiZ2NvbG9yJzpcdFx0XHRwYWxldHRlKHNlY29uZGFyeSksXG5cdCdiZ2NvbG9yLWhvdmVyJzpcdHNjYWxlLWNvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5KSwgJGxpZ2h0bmVzczogLTIwJSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1idXR0b24ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtYnV0dG9uLCAnYmdjb2xvcicpO1xuXHR0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsMCwwLDAuMik7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCBwYWxldHRlKG5ldXRyYWwsIDApLCAwIDAgNXB4IDJweCBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2JnY29sb3InKTtcblx0fVxuXHQmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG5cblx0Ly8gUHNldWRvIGVsZW1lbnQgZm9yIGFuaW1hdGluZyBob3ZlclxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMTtcblx0XHR0b3A6IGNhbGMoNTAlIC0gMnB4KTtcblx0XHRsZWZ0OiBjYWxjKDUwJSAtIDJweCk7XG5cdFx0d2lkdGg6IDRweDtcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2JnY29sb3ItaG92ZXInKTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcblx0fVxuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCk6OmFmdGVyIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMTAwKTtcblx0fVxufVxuXG4uYy1idXR0b25fX3RleHQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdHBhZGRpbmc6IDAgc3BhY2UoMyk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQuYy1idXR0b24tLWljb24gJiB7XG5cdFx0cGFkZGluZy1yaWdodDogc3BhY2UoMik7XG5cdH1cbn1cblxuLmMtYnV0dG9uX19pY29uIHtcblx0ZGlzcGxheTogbm9uZTsgLy8gQnkgZGVmYXVsdCBpY29uIGlzIGhpZGRlblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdHRvcDogLTFweDtcblx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQvLyBXaGVuIGljb24gY29tZXMgYmVmb3JlIHRoZSB0ZXh0IChpbiB0aGUgRE9NKSBzd2l0Y2ggdGhlIG1hcmdpblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdH1cblxuXHQuYy1idXR0b24tLWljb24gJiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7IC8vIFNob3cgd2hlbiBoYXMgaWNvbiBtb2RpZmllclxuXHRcdHdpZHRoOiAxNnB4O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERlZmF1bHQgYnV0dG9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kYy1naG9zdC1idXR0b246IChcblx0J2NvbG9yJzpcdHBhbGV0dGUobmV1dHJhbCwgMCksXG4pO1xuXG5cbi5jLWdob3N0YnV0dG9uIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogbWFwLWdldCgkYy1naG9zdC1idXR0b24sICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0dGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLDAsMCwwLjIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdHBhZGRpbmc6IHNwYWNlKDIpIDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiAwIDAgNHB4IDJweCByZ2JhKG1hcC1nZXQoJGMtZ2hvc3QtYnV0dG9uLCAnY29sb3InKSwgMC41KTtcblxuXHR9XG5cdCY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxuXG5cdC8vIEJvcmRlciB3aXRoIHBzZXVkbyBlbGVtZW50IGZvciBhbmltYXRpb25cblx0Jjo6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0YmFja2dyb3VuZDogcmdiYShwYWxldHRlKG5ldXRyYWwsIDEwMDApLCAwLjA3KTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTFweDtcblx0XHRib3R0b206IC0xcHg7XG5cdFx0cmlnaHQ6IC0xcHg7XG5cdFx0bGVmdDogLTFweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IC41cztcblx0fVxuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7XG5cdFx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWdob3N0YnV0dG9uX190ZXh0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHRwYWRkaW5nOiAwIHNwYWNlKDMpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LmMtYnV0dG9uLS1pY29uICYge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDIpO1xuXHR9XG59XG5cbi5jLWdob3N0YnV0dG9uX19pY29uIHtcblx0ZGlzcGxheTogbm9uZTsgLy8gQnkgZGVmYXVsdCBpY29uIGlzIGhpZGRlblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdHRvcDogLTFweDtcblx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1naG9zdGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxuXG5cdC5jLWdob3N0YnV0dG9uLS1pY29uICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0XHR3aWR0aDogMTZweDtcblx0fVxuXG5cdC8vIFdoZW4gaWNvbiBjb21lcyBiZWZvcmUgdGhlIHRleHQgKGluIHRoZSBET00pIHN3aXRjaCB0aGUgbWFyZ2luXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ2FyZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWNhcmQ6IChcblx0J2xhYmVsLWJnY29sb3InOlx0XHRwYWxldHRlKHByaW1hcnksIDcwMCksXG5cdCdsYWJlbC1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2xhYmVsLWJnY29sb3ItaG92ZXInOlx0cGFsZXR0ZShzZWNvbmRhcnksIDUwMCksXG5cdCdsYWJlbC1jb2xvci1ob3Zlcic6XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYXJyb3ctY29sb3ItaG92ZXInOlx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQnYmdjb2xvci1ob3Zlcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwMCksXG5cdCdpbmZvLWJnY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWNhcmQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogQ2FyZCB0aGF0IGRvZXMgc29tZSBhbmltYXRpb25zIG9uIGhvdmVyXG4gKi9cbi5jLWNhcmQtLWhhcy1hY3Rpb24ge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvLyBiZWNhdXNlIG9mIHBzZXVkbyBlbGVtZW50XG5cdHotaW5kZXg6IDA7XG5cblx0Jjo6YmVmb3JlLFxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuXHQvLyBTaGFkZWQgYmFja2dyb3VuZCAoSElEREVOIGJ5IGRlZmF1bHQpXG5cdCY6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRjLWNhcmQsJ2JnY29sb3ItaG92ZXInKSwgMC45Mik7XG5cdFx0YmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYmEobWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyksMC44KSAwJSwgcmdiYShtYXAtZ2V0KCRjLWNhcmQsJ2JnY29sb3ItaG92ZXInKSwwLjkyKSAxMDAlKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEzNSUpIHJvdGF0ZSgtMTFkZWcpIHNjYWxlKDEuMyk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcblx0fVxuXG5cdC8vIEFycm93IChISURERU4gYnkgZGVmYXVsdClcblx0Ly8gQ29udGFpbnMgYW4gU1ZHIGFycm93IGljb24gaW4gdGhlIGJhY2tncm91bmQtaW1hZ2Vcblx0Jjo6YWZ0ZXIge1xuXHRcdHotaW5kZXg6IDI7XG5cdFx0d2lkdGg6IDI1cHg7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHN2Zy11cmwoJzxzdmcgdmlld0JveD1cIjAgMCAxNiAxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBmaWxsPVwiI3ttYXAtZ2V0KCRjLWNhcmQsJ2Fycm93LWNvbG9yLWhvdmVyJyl9XCIgZD1cIk0xMy40IDYuNzgzSC43NjJBLjc3Mi43NzIgMCAwIDEgMCA2YzAtLjQzMi4zNDEtLjc4My43NjItLjc4M0gxMy40TDkuNjIzIDEuMzM2YS43OTguNzk4IDAgMCAxIDAtMS4xMDcuNzQ3Ljc0NyAwIDAgMSAxLjA3NyAwbDUuMDc3IDUuMjE4YS43OTguNzk4IDAgMCAxIDAgMS4xMDZMMTAuNyAxMS43NzFhLjc0Ny43NDcgMCAwIDEtMS4wNzcgMCAuNzk4Ljc5OCAwIDAgMSAwLTEuMTA3TDEzLjQgNi43ODN6XCIvPjwvc3ZnPicpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS43NSk7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Ly8gU2hhZGVkIGJhY2tncm91bmQgKFZJU0lCTEUgd2hlbiBob3ZlcmVkKVxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdG9wYWNpdHk6IDAuOTI7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMTFkZWcpIHNjYWxlKDEuMyk7XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDUwbXM7XG5cdFx0fVxuXHRcdC8vIEFycm93IChWSVNJQkxFIHdoZW4gaG92ZXJlZClcblx0XHQmOmFmdGVyIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXHRcdH1cblx0fVxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2JnY29sb3ItaG92ZXInKTtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG4uYy1jYXJkX19waWN0dXJlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGZsZXg6IGF1dG87XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1jYXJkX19pbWcge1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmMtY2FyZF9fbGFiZWwge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDM7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDE0cHggMTBweCAxNXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiBtZWRpdW07XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2xhYmVsLWNvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnbGFiZWwtYmdjb2xvcicpO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcblxuXHQuYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyICYge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2xhYmVsLWNvbG9yLWhvdmVyJyk7XG5cdH1cblxuXHQvLyBDb2xvcmVkIGJhY2tncm91bmQgYmVoaW5kIGxhYmVsIChISURERU4gYnkgZGVmYXVsdClcblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnbGFiZWwtYmdjb2xvci1ob3ZlcicpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMCUpIHJvdGF0ZSg1ZGVnKSBzY2FsZSgyKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwJSkgcm90YXRlKDExZGVnKSBzY2FsZSgxLjUsIDMpO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1LCAwLjEsIDAuMywgMSk7XG5cblx0XHQuYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyICYge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDVkZWcpIHNjYWxlKDIpO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWNhcmRfX2luZm8ge1xuXHRwYWRkaW5nOiBzcGFjZSgyKSBzcGFjZSg0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1jYXJkLCdpbmZvLWJnY29sb3InKTtcbn1cbi5jLWNhcmRfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xufVxuLmMtY2FyZF9fc3ViaGVhZGluZyB7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59XG4uYy1jYXJkX190ZXh0bGluZSB7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG5cblx0Ly8gV2hlbiBpdCBmb2xsb3dzIGFuIGVsZW1lbnQgdGhhdCdzIG5vdCBsaWtlIGl0c2VsZlxuXHQqOm5vdCgjeyZ9KSArICYge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDbG9zZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWNsb3NlOiAoXG5cdCdjb2xvcic6ICBwYWxldHRlKHByaW1hcnksIDcwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1jbG9zZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IHNwYWNlKDUpO1xuXHRoZWlnaHQ6IHNwYWNlKDUpO1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDE4MG1zIGVhc2Utb3V0O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAzcHggMnB4IG1hcC1nZXQoJGMtY2xvc2UsICdjb2xvcicpO1xuXHR9XG5cblx0JjphZnRlcixcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDIwcHg7XG5cdFx0cmlnaHQ6IDIwJTtcblx0XHRsZWZ0OiAyMCU7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjLWNsb3NlLCAnY29sb3InKTtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdH1cblx0JjpiZWZvcmUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuXHQmOmFmdGVyIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDb25uZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtY29ubmVjdDogKFxuXHQnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdjb2xvci1hbHQnOlx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuXG4uYy1jb25uZWN0IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0fVxufVxuXG5cbi5jLWNvbm5lY3RfX3Bob25lIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0QGluY2x1ZGUgZm9udChtKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtY29ubmVjdCwgJ2NvbG9yJyk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC43O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59XG5cblxuLmMtY29ubmVjdF9fb3Ige1xuXHRtYXJnaW46IDAgc3BhY2UoMik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWNvbm5lY3QsICdjb2xvci1hbHQnKTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luOiBzcGFjZSgxKSAwIHNwYWNlKDIpO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBEYXRhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtZGF0YTogKFxuICAnY29sb3InOlx0XHRcdHJnYmEoMCwwLDAsIDAuNyksXG4gICdjb2xvci1hbHQnOlx0XHRyZ2JhKDAsMCwwLCAwLjQpLFxuICAnYmdjb2xvci1ob3Zlcic6XHRzY2FsZS1jb2xvcihwYWxldHRlKHNlY29uZGFyeSksICRsaWdodG5lc3M6IC0yMCUpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jLWRhdGEge1xuXHRtYXJnaW46IHNwYWNlKDEpIDA7XG59XG5cbi5jLWRhdGFfX2xpbmUge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uYy1kYXRhX19sYWJlbCB7XG5cdG1pbi13aWR0aDogc3BhY2UoOCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjb2xvcjogbWFwLWdldCgkYy1kYXRhLCAnY29sb3InKTtcbn1cblxuLmMtZGF0YV9fdmFsdWUge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjLWRhdGEsICdjb2xvci1hbHQnKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCZbaHJlZl0ge1xuXHRcdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0XHQmOmZvY3VzIHtcblx0XHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0XHR9XG5cdH1cbn0iLCIuYy1kb3dubG9hZC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X19pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEocGFsZXR0ZShuZXV0cmFsLCAzMDApLCAwLjIpO1xuICB9XG59XG5cbi5jLWRvd25sb2FkLWxpc3RfX2xpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiBzcGFjZSgxKSAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWRvd25sb2FkLWxpc3RfX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmMtZG93bmxvYWQtbGlzdF9fdGV4dCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgcGFkZGluZy1sZWZ0OiBzcGFjZSgxKTtcblxuICAuYy1kb3dubG9hZC1saXN0X19pdGVtOmhvdmVyICYge1xuICAgIGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG4gIH1cbn1cbiIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRm9ybSBncm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWZvcm0tZ3JvdXA6IChcbiAgJ2NvbG9yJzpcdFx0XHRcdFx0ICAgIHBhbGV0dGUobmV1dHJhbCwgNDAwKSxcbiAgJ2Vycm9yLWNvbG9yJzpcdFx0XHRcdHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbiksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1mb3JtLWdyb3VwX19sYWJlbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHNwYWNlKDAuNSkgMDtcbiAgY29sb3I6IG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2NvbG9yJyk7XG59XG5cbi5jLWZvcm0tZ3JvdXBfX2Vycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICAuaGFzLWVycm9yICY6bm90KDplbXB0eSkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogc3BhY2UoMSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2Vycm9yLWNvbG9yJyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRjLWZvcm0tZ3JvdXAsICdlcnJvci1jb2xvcicpLCAwLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2Vycm9yLWNvbG9yJyk7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEZvcm0gZmVlZGJhY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1mb3JtLWZlZWRiYWNrOiAoXG4gICdjb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcbiAgJ2JnY29sb3InOlx0cmdiYShwYWxldHRlKGZlZWRiYWNrLCB3YXJuaW5nKSwgMC4yKSxcbiAgJ2JvcmRlcic6IFx0cGFsZXR0ZShmZWVkYmFjaywgd2FybmluZyksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1mb3JtLWZlZWRiYWNrIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuICBtYXJnaW46IDAgMCBzcGFjZSgxKTtcbiAgcGFkZGluZzogc3BhY2UoMykgc3BhY2UoNCk7XG4gIGNvbG9yOiBtYXAtZ2V0KCRjLWZvcm0tZmVlZGJhY2ssICdjb2xvcicpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWZvcm0tZmVlZGJhY2ssICdiZ2NvbG9yJyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGMtZm9ybS1mZWVkYmFjaywgJ2JvcmRlcicpO1xuXG4gICY6bm90KDplbXB0eSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjpiZWZvcmV7XG4gICAgY29udGVudDogYXR0cihkYXRhLWZlZWRiYWNrKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IHNwYWNlKC0yKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgbGk6OmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSGFtYnVyZ2VyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jLWhhbWJ1cmdlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IHNwYWNlKDUpO1xuXHRoZWlnaHQ6IHNwYWNlKDUpO1xuXHRwYWRkaW5nOiAwO1xuXHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA3MDApO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cblxuXHQmID4gc3Bhbixcblx0JjphZnRlcixcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDIwcHg7XG5cdFx0cmlnaHQ6IDIwJTtcblx0XHRsZWZ0OiAyMCU7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0dG9wOiAxMnB4O1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHR0b3A6IDI4cHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC41KTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdCYgPiBzcGFuIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIsXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG5cdFx0fVxuXHR9XG5cblx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0JiA+IHNwYW4ge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcblx0XHR9XG5cdH1cbn0iLCIuYy1oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udCh4bCk7XG5cdG1hcmdpbjogc3BhY2UoNSkgMDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcbn1cblxuLmMtaGVhZGluZy0taW5kZW50IHtcblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSGVyb1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWhlcm86IChcblx0J2NhcHRpb24tYmdjb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgOTAwKSxcblx0J2NhcHRpb24tY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtaGVybyB7XG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBAaW5jbHVkZSBjb250YWluO1xuICB9XG59XG5cbi5jLWhlcm9fX21haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG59XG5cbi5jLWhlcm9fX3NsaWRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU1LjU1NiU7IC8vIFJhdGlvIHVzZWQgZm9yIG1vYmlsZSBpbWFnZVxuXG4gIEBpbmNsdWRlIG1xKG0sIGwpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTAlOyAvLyBSYXRpbyB1c2VkIGZvciBpbWFnZVxuICB9XG59XG5cbi5jLWhlcm9fX3BpY3R1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgZmlsdGVyOiBibHVyKDVweCk7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuXG4uYy1oZXJvX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1oZXJvX19jYXB0aW9uIHtcbiAgLy9AaW5jbHVkZSBoeXBoZW5hdGU7XG4gIGZvbnQtc2l6ZTogY2FsYygxNnB4ICsgMXZ3KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogc3BhY2UoMyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IG1hcC1nZXQoJGMtaGVybywgJ2NhcHRpb24tY29sb3InKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1oZXJvLCAnY2FwdGlvbi1iZ2NvbG9yJyk7XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbWF4LXdpZHRoOiBjb2x1bW4oNiwxMik7XG4gICAgcGFkZGluZzogc3BhY2UoNCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC8vIEZvbnQtbG9jayB0byBzY2FsZSBmb250LXNpemUgcHJvcG9ydGlvbmFsbHlcbiAgQGluY2x1ZGUgbXEobSwgbCkge1xuICAgIHBhZGRpbmc6IDIuNnZ3OyAvLyBNYWdpYyB2YWx1ZSBzbyB0ZXh0IHNjYWxlcyBuaWNlbHlcbiAgICBmb250LXNpemU6IDMuNXZ3OyAvLyBNYWdpYyB2YWx1ZSBzbyB0ZXh0IHNjYWxlcyBuaWNlbHlcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoeHh4bCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgcGFkZGluZy1sZWZ0OiBjb2x1bW4oMC41KTtcbiAgfVxufVxuXG4uYy1oZXJvX19jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHNwYWNlKDEpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogc3BhY2UoNik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHRyYW5zcGFyZW50KTtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cbn1cblxuXG4vLyBCdXR0b24gd2l0aCBhcnJvdyB0aGF0IHNjcm9sbHMgZG93blxuLmMtaGVyb19fc2Nyb2xsIHtcbiAgQGluY2x1ZGUgbXEoJG1heDogbSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSByb3RhdGUoMC4yNXR1cm4pO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICYgPiBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcztcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBzY2FsZV9jb2xvcihwYWxldHRlKHNlY29uZGFyeSksICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gICAgJiA+IHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHNjYWxlX2NvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5KSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHNjYWxlX2NvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5KSwgJGxpZ2h0bmVzczogNzAlKTtcbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSW5wdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1pbnB1dDogKFxuXHQnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdiZ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JvcmRlcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgMzAwKSxcblx0J2ZvY3VzJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCA5MDApLFxuXHQnZXJyb3InOlx0XHRwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLFxuXHQnYm9yZGVyLXNpemUnOlx0MXB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtaW5wdXQge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAoc3BhY2UoMSkgLSBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyLXNpemUnKSkgc3BhY2UoMik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWlucHV0LCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1pbnB1dCwgJ2JnY29sb3InKTtcblx0Ym9yZGVyOiBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyLXNpemUnKSBzb2xpZCBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyJyk7XG5cdG91dGxpbmU6IG5vbmU7XG5cblx0Lmhhcy1lcnJvciAmIHtcblx0XHRib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggbWFwLWdldCgkYy1pbnB1dCwgJ2Vycm9yJyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjLWlucHV0LCAnZXJyb3InKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCBtYXAtZ2V0KCRjLWlucHV0LCAnZm9jdXMnKTtcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGMtaW5wdXQsICdmb2N1cycpO1xuXHR9XG5cblx0QGF0LXJvb3QgdGV4dGFyZWEjeyZ9IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiBzcGFjZSgyKTtcblx0XHRtaW4taGVpZ2h0OiBzcGFjZSgyMCkgLSBkb3VibGUobWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlci1zaXplJykpO1xuXHRcdGxpbmUtaGVpZ2h0OiBzcGFjZSgzKTtcblx0XHRyZXNpemU6IHZlcnRpY2FsO1xuXHR9XG59XG5cblxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBMYW5ndWFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWxhbmd1YWdlOiAoXG5cdCdiZ2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3ItYWx0JzpcdFx0XHQgIFx0ZGFya2VuKHBhbGV0dGUobmV1dHJhbCwgMCksIDUlKSxcblx0J2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuXHQnY29sb3ItaG92ZXInOlx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3ItaG92ZXInOlx0XHRcdHBhbGV0dGUoc2Vjb25kYXJ5KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWxhbmd1YWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1sYW5ndWFnZV9fYnV0dG9uIHtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0ZGlzcGxheTogZmxleDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogc3BhY2UoMSk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogcmdiYShtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ3RleHRDb2xvcicpLCAwLjUpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXM7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdC8vLmMtbGFuZ3VhZ2U6aG92ZXIgJiB7XG5cdC8vXHRjb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICd0ZXh0Q29sb3InKTtcblx0Ly99XG59XG5cbi5jLWxhbmd1YWdlX19pY29uIHtcblx0ZmxleDogbm9uZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLWxhbmd1YWdlX19sYWJlbCB7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgwLjUpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAxMDAlO1xuXHRtaW4td2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogMDtcblx0b3BhY2l0eTogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdGJveC1zaGFkb3c6IDAgMCAxMnB4IDFweCByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMTAwMCksIDAuMTUpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1sYW5ndWFnZTpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2l0ZW0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOm1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdiZ2NvbG9yJyk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdiZ2NvbG9yLWFsdCcpO1xuXHR9XG5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgMCAwO1xuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRib3JkZXItcmFkaXVzOiAwIDAgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuXHR9XG59XG5cbi5jLWxhbmd1YWdlX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IHNwYWNlKDAuNSkgc3BhY2UoMSk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdjb2xvcicpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdjb2xvci1ob3ZlcicpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdiZ2NvbG9yLWhvdmVyJyk7XG5cdH1cbn1cblxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBOYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8qXG5cdENvbG9ycyBnZXQgZGVmaW5lZCBpbiBfc2V0dGluZ3MuY29uZmlnLnNjc3NcbiovXG5cbiRjLW5hdjogKFxuXHQnbGluay1wYWRkaW5nJzogNHB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtbmF2IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uYy1uYXZfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4uYy1uYXZfX2l0ZW0ge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG1hcmdpbi1yaWdodDogMiU7XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cbn1cblxuXG4uYy1uYXZfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IG1hcC1nZXQoJGMtbmF2LCAnbGluay1wYWRkaW5nJyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ3RleHRDb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGxpbmVhcjtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0XHRsZWZ0OiBtYXAtZ2V0KCRjLW5hdiwgJ2xpbmstcGFkZGluZycpO1xuXHRcdGJvdHRvbTogMXB4O1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje2RvdWJsZShtYXAtZ2V0KCRjLW5hdiwgJ2xpbmstcGFkZGluZycpKX0pO1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDFweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ2RlY29yYXRpb25Db2xvcicpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDApO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAndGV4dENvbG9ySG92ZXInKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICdkZWNvcmF0aW9uQ29sb3JIb3ZlcicpO1xuXHRcdH1cblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ3RleHRDb2xvckFjdGl2ZScpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ2RlY29yYXRpb25Db2xvckFjdGl2ZScpO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXBhZ2luYXRpb246IChcblx0J2NvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdhY3RpdmUtY29sb3InOlx0XHRwYWxldHRlKHByaW1hcnkpLFxuXHQnYm9yZGVyLWNvbG9yJzpcdFx0cGFsZXR0ZShib3JkZXIsIDMwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1wYWdpbmF0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdib3JkZXItY29sb3InKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQvLyBPbiBzbWFsbCBzY3JlZW5zIGhpZGUgYWxsIGl0ZW1zIGJ1dCB0aGUgYXJyb3dzLCBmaXJzdCBwYWdlLCBsYXN0IHBhZ2UgYW5kIGFjdGl2ZVxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKXtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0JjpmaXJzdC1jaGlsZCxcblx0XHQmOmxhc3QtY2hpbGQsXG5cdFx0Ji5pcy1sYXN0LXBhZ2UsXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cblx0XHQmLmlzLWxhc3QtcGFnZSB7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmICsgJiB7XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cdH1cbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCxcbi5jLXBhZ2luYXRpb25fX2xpbmssXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1pbi13aWR0aDogc3BhY2UoNik7XG5cdG1pbi1oZWlnaHQ6IHNwYWNlKDYpO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpO1xuXHRvcGFjaXR5OiAwLjM1O1xufVxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcblx0Y29sb3I6IG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2NvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBzY2FsZS1jb2xvcihtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpLCAkbGlnaHRuZXNzOiAtMzAlKTtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdH1cblxuXHQuaXMtYWN0aXZlID4gJiB7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggLTVweCBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdhY3RpdmUtY29sb3InKTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYsXG4uYy1wYWdpbmF0aW9uX19uZXh0IHtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG5cblx0Ji5pcy1pbmFjdGl2ZSB7XG5cdFx0Y29sb3I6IHJnYmEobWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnY29sb3InKSwgMC40KTtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2IHtcblx0dHJhbnNmb3JtOiByb3RhdGUoMC4yNXR1cm4pO1xufSIsIi8qXG4gKiBQYWdlIHRpdGxlXG4gKi9cblxuLmMtcGFnZS10aXRsZSB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG4gIEBpbmNsdWRlIGh5cGhlbmF0ZTtcbiAgcGFkZGluZy10b3A6IHNwYWNlKDIpO1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoMik7XG4gIGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDcwMCk7XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIHBhZGRpbmctdG9wOiBzcGFjZSg2KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoNik7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZS0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICB3aWR0aDogY29sdW1uKDYsIDgpO1xuICB9XG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICB3aWR0aDogY29sdW1uKDgsIDEyKTtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19wcmVoZWFkaW5nIHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIG1hcmdpbi10b3A6IHNwYWNlKC0yKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgyKTtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5jLXBhZ2UtdGl0bGVfX2hlYWRpbmctc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUobSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4iLCIuYy1wcm9qZWN0b3Ige1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMTAwJTtcblx0bWF4LXdpZHRoOiA1NzZweDtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cblxuLmMtcHJvamVjdG9yX19maWd1cmUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4uYy1wcm9qZWN0b3JfX2NhcHRpb24ge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMjtcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xufVxuXG5cbi5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMTtcblx0YWxpZ24tc2VsZjogZW5kO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDM2MHB4OyAvLyBuZWVkZWQgZm9yIElFXG5cdGRpc3BsYXk6IGJsb2NrOyAvLyBOZWVkZWQgZm9yIElFXG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuXG5cdC5pZSAuYy1wcm9qZWN0b3ItLXNpbmdsZS1pbWFnZSAmIHtcblx0XHRtaW4taGVpZ2h0OiA0MDBweDtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cblxuLmMtcHJvamVjdG9yX19jb250cm9sIHtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xufVxuXG5cbi5jLXByb2plY3Rvcl9faW1nIHtcblx0Ly8gbWFrZSBzdXJlIGl0IHN0cmV0Y2hlcyB0aGUgY29udGFpbmVyXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyOyAvLyBGYWxsYmFjayBmb3IgSUUgdmlhIEpTIHBvbHlmaWxsLCBtaW4taGVpZ2h0IGlzIHNldCBvbiB0aGUgd3JhcHBlclxuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXgtaGVpZ2h0OiA3OHZoOyAvLyBNYWtlIHN1cmUgaW1hZ2VzIGFyZSB2aXNpYmxlIGVudGlyZWx5IG9uIHNtYWxsIGRldmljZXMgaW4gbGFuZHNjYXBlKVxuXHR9XG59IiwiJGMtc2VydmljZXBvaW50LWJwLXdpZHRoOiA0MjBweDsgLy8gc2l6ZSBvZiBjb21wb25lbnQgd2hlbiB3ZSBzd2l0Y2ggZnJvbSBzdGFja2VkIHRvIHJvdyB2aWV3XG4kYy1zZXJ2aWNlcG9pbnQtZ2FwOiBzcGFjZSgyKTtcblxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0dGV4dC1hbGlnbjogbGVmdDsgLy8gbmVlZGVkIGZvciB3aGVuIGEgcGFyZW50IGVsZW1lbnQgaGFzIHRleHQtYWxpZ24gY2VudGVyXG59XG5cblxuLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG5cdGZsZXg6IDA7XG5cdG1pbi13aWR0aDogYXV0bztcblx0bWF4LXdpZHRoOiAxNzhweCArICRjLXNlcnZpY2Vwb2ludC1nYXA7XG5cdG1hcmdpbi1yaWdodDogJGMtc2VydmljZXBvaW50LWdhcDtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdG1pbi13aWR0aDogNTAlOyAvLyBIYXMgdG8gYmUgbWluaW1hbCBoYWxmIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXJcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRmbGV4LWdyb3c6IDE7XG5cdGZsZXgtYmFzaXM6IGNhbGMoY2FsYygjeyRjLXNlcnZpY2Vwb2ludC1icC13aWR0aH0gLSAxMDAlKSAqIDk5OSk7IC8vIEJhc2VkIG9uIHRoaXMgbWV0aG9kOiBodHRwczovL2hleWRvbndvcmtzLmNvbS9hcnRpY2xlL3RoZS1mbGV4Ym94LWhvbHktYWxiYXRyb3NzL1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMik7XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdGZsZXgtYmFzaXM6IGF1dG87XG5cdH1cbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2JvZHkge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xufVxuXG5cbi5jLXNlcnZpY2Vwb2ludF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoYmFzZSk7XG5cdGNvbG9yOiByZ2JhKDAsMCwwLCAwLjYpO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG5cbi5jLXNlcnZpY2Vwb2ludF9fc3ViaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdGNvbG9yOiByZ2JhKDAsMCwwLCAwLjM1KTtcbn0iLCIuYy1zaXRlbWFwX19pdGVtIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xufVxuXG4uYy1zaXRlbWFwX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IHNwYWNlKDAuNSkgMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG59IiwiLypcbiAqIFNraXAgTGlua1xuICovXG5cbi5jLXNraXAtbGluayB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDB2aDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgb3V0bGluZS13aWR0aDogMnB4O1xuICAgIHRvcDogNXB4OyAvKiBOb3cgdGhlIGxpbmsgd2lsbCBhcHBlYXIgKi9cbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogU2xpZGUgaW5kaWNhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtc2xpZGUtaW5kaWNhdG9yOiAoXG5cdCdkb3QtY29sb3InOlx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2RvdC1jb2xvci1hY3RpdmUnOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwMCksXG5cdCdkb3QtcmluZy1jb2xvci1hY3RpdmUnOlx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2RvdC1zaXplJzpcdFx0XHRcdFx0OHB4LFxuXHQnZG90LXNpemUtYWN0aXZlJzpcdFx0XHQ2cHgsXG5cdCdkb3QtcmluZy1zaXplLWFjdGl2ZSc6XHRcdDEycHgsXG5cdCdkb3Qtc2l6ZS10YXJnZXRib3gnOlx0XHQzMHB4LFxuXHQnZG90LWlzLXJvdW5kZWQnOlx0XHRcdHRydWUsXG5cdCdidXR0b24taWNvbi1jb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdidXR0b24tYmctY29sb3InOlx0XHRcdHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLFxuXHQnYnV0dG9uLWJnLWNvbG9yLWhvdmVyJzpcdHNjYWxlX2NvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLCAkbGlnaHRuZXNzOiAtMTAlKSxcblx0J2J1dHRvbi1zaXplJzpcdFx0XHRcdDQwcHgsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1zbGlkZS1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1iZy1jb2xvcicpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24taWNvbi1jb2xvcicpO1xuXHRoZWlnaHQ6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLXNpemUnKTtcblx0d2lkdGg6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLXNpemUnKTtcblxuXHQmICsgJiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDhweDtcblx0fVxuXG5cdCZbYXJpYS1sYWJlbD0ncHJldmlvdXMnXSA+IHN2ZyB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHR9XG5cblx0JlthcmlhLWxhYmVsPSduZXh0J10gPiBzdmcge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tYmctY29sb3ItaG92ZXInKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tYmctY29sb3ItaG92ZXInKTtcblx0fVxufVxuXG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS10YXJnZXRib3gnKTtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQmOmhvdmVyOm5vdCguaXMtYWN0aXZlKSxcblx0Jjpmb2N1czpub3QoLmlzLWFjdGl2ZSkge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0QGlmIChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1pcy1yb3VuZGVkJykgPT0gdHJ1ZSkge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0JG9mZnNldDogY2FsYygoI3ttYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpfSAtICN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZScpfSkgLyAyKTtcblx0XHR0b3A6ICRvZmZzZXQ7XG5cdFx0cmlnaHQ6ICRvZmZzZXQ7XG5cdFx0Ym90dG9tOiAkb2Zmc2V0O1xuXHRcdGxlZnQ6ICRvZmZzZXQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtY29sb3InKTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdCRvZmZzZXQ6IGNhbGMoKCN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS10YXJnZXRib3gnKX0gLSAje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXJpbmctc2l6ZS1hY3RpdmUnKX0pIC8gMik7XG5cdFx0dG9wOiAkb2Zmc2V0O1xuXHRcdHJpZ2h0OiAkb2Zmc2V0O1xuXHRcdGJvdHRvbTogJG9mZnNldDtcblx0XHRsZWZ0OiAkb2Zmc2V0O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXJpbmctY29sb3ItYWN0aXZlJyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtY29sb3ItYWN0aXZlJyk7XG5cdFx0XHRib3JkZXItY29sb3I6IHJnYmEobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtcmluZy1jb2xvci1hY3RpdmUnKSwgMC45KTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoc3RyaXAtdW5pdChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLWFjdGl2ZScpKSAvIHN0cmlwLXVuaXQobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZScpKSk7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAwLjk7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdC8vYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShzZWNvbmRhcnkpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHQvL2JhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5KTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xuXHRcdH1cblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogU3VibmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtc3VibmF2OiAoXG5cdCdib3JkZXItY29sb3InOiBcdFx0cGFsZXR0ZShib3JkZXIsIDMwMCksXG5cdCdjb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG5cdCdob3Zlci1jb2xvcic6XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdFx0cGFsZXR0ZShwcmltYXJ5KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLXN1Ym5hdiB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4uYy1zdWJuYXYtLWJveGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1pbnRybywgJ3N1Ym5hdkJnQ29sb3InKTtcblx0cGFkZGluZzogc3BhY2UoMTApICRzaXRlLWd1dHRlci13aWR0aDtcblxuXHRAaW5jbHVkZSBtcShtLCBsKXtcblx0XHRwYWRkaW5nLWxlZnQ6IDI1JTtcblx0fVxufVxuXG5cbi5jLXN1Ym5hdl9faGVhZGVyIHtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg1KTtcbn1cblxuXG4uYy1zdWJuYXZfX2xpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cbi5jLXN1Ym5hdl9faXRlbS0tYmFjayB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG5cbi5jLXN1Ym5hdl9fbGluayB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZzogc3BhY2UoMSkgMDtcblx0Y29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnY29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGNvbG9yIDI1MG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2hvdmVyLWNvbG9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGMtc3VibmF2LCAnYm9yZGVyLWNvbG9yJyk7XG5cblx0XHQuYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlICYge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdFx0fVxuXHR9XG59XG5cblxuLmMtc3VibmF2X19pY29uIHtcblx0b3BhY2l0eTogMDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdib3JkZXItY29sb3InKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCN7c3BhY2UoLTIpfSk7XG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLW91dDtcblxuXHQuYy1zdWJuYXZfX2xpbms6aG92ZXIgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnaG92ZXItY29sb3InKTtcblx0fVxufVxuXG5cbi8vIEFjdGl2ZSBzdGF0ZSBvZiB0aGUgc3VibmF2IGl0ZW1cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUge1xuXHQuYy1zdWJuYXZfX2xpbmsge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdhY3RpdmUtY29sb3InKTtcblx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHRcdH1cblx0fVxuXG5cdC5jLXN1Ym5hdl9faWNvbiB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogVGV4dCBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy10ZXh0YnV0dG9uOiAoXG5cdCdjb2xvcic6XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcblx0J2NvbG9yQWx0JzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogMS4gQ29sb3IgZ2V0cyBpbmhlcml0ZWQgYW5kIHVzZWQgZm9yIG5lc3RlZCBlbGVtZW50cyB3aXRoICdjdXJyZW50Q29sb3InIHByb3BlcnR5XG4gKiAyLiBSZXNldCBkZWZhdWx0IGJ1dHRvbiBzdHlsaW5nXG4gKi9cblxuLmMtdGV4dGJ1dHRvbiB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y29sb3I6IG1hcC1nZXQoJGMtdGV4dGJ1dHRvbiwgJ2NvbG9yJyk7IC8qIDEgKi9cblx0cGFkZGluZzogMDsgLyogMiAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xuXHRib3JkZXI6IG5vbmU7IC8qIDIgKi9cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0Y29sb3I6IHNjYWxlLWNvbG9yKG1hcC1nZXQoJGMtdGV4dGJ1dHRvbiwgJ2NvbG9yJyksICRsaWdodG5lc3M6IC00MCUpO1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG4uYy10ZXh0YnV0dG9uX190ZXh0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xufVxuXG4uYy10ZXh0YnV0dG9uX19pY29uIHtcblx0ZGlzcGxheTogbm9uZTsgLy8gQnkgZGVmYXVsdCBpY29uIGlzIGhpZGRlblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgxKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtdGV4dGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxuXG5cdC5jLXRleHRidXR0b24tLWljb24gJntcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdH1cbn1cblxuLy8gQ2hhbmdlIGRpcmVjdGlvbiBvZiBpY29uIChhcnJvdylcbi5jLXRleHRidXR0b24tLWlzLXJldmVyc2VkIHtcblx0LmMtdGV4dGJ1dHRvbl9fdGV4dCB7IG9yZGVyOiAyO1x0fVxuXHQuYy10ZXh0YnV0dG9uX19pY29uIHtcblx0XHRvcmRlcjogMTtcblx0XHR0b3A6IDFweDtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xuXHR9XG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMC41dHVybikgdHJhbnNsYXRlWCgzcHgpO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBUcmFkZW1hcmtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby10cmFkZW1hcms6IChcblx0J2xvZ28td2lkdGgnOlx0XHQxMDBweFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jLXRyYWRlbWFyayB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyA7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuLmMtdHJhZGVtYXJrX190ZXh0IHtcblx0bWFyZ2luLXJpZ2h0OiA3cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLXRyYWRlbWFya19faWNvbiB7XG5cdHdpZHRoOiBtYXAtZ2V0KCRvLXRyYWRlbWFyaywgJ2xvZ28td2lkdGgnKTtcblx0bWF4LWhlaWdodDogMzJweDtcblx0b3BhY2l0eTogLjc1O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cblx0LmMtdHJhZGVtYXJrOmhvdmVyICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn0iLCIuYy12aWRlb3tcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvLyBBc3BlY3QgUmF0aW86IDE2OjlcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xufVxuXG4uYy12aWRlb19faWZyYW1le1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIE9yZ2FuaXNtc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBpbXBvcnQgXCJvcmdhbmlzbXMuYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmJsb2NrXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmJvZHlcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY2FsbG91dEJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jYXJkLWdyaWRcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY29udGFjdFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jb29raWVCYXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZG91YmxlSW1hZ2VcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZG91YmxlVGV4dFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5kb3dubG9hZHNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZm9vdGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmZvcm1cIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuaGVhZGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmludHJvXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmxvZ29zXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLm1hcFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5uZXdzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLm92ZXJsYXlNZW51XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnF1b3RlXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnJlZmVyZW5jZXNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuc3ViZm9vdGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnRhYnNsaWRlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50ZWFtXCI7XG4vL0BpbXBvcnQgXCJvcmdhbmlzbXMudG9wLWJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy51c3BcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudmFjYW5jaWVzXCI7XG4iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLWFjY29yZGlvbjogKFxuXHQnYm9yZGVyLXdpZHRoJzpcdFx0XHQxcHgsXG5cdCdib3JkZXItY29sb3InOlx0XHRcdHBhbGV0dGUoYm9yZGVyLCAzMDApLFxuXHQnaGVhZGVyLWNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMDApLFxuXHQnaG92ZXItY29sb3InOiBcdFx0XHRwYWxldHRlKHByaW1hcnkpLFxuXHQnaWNvbi1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2ljb24tYm9yZGVyLXNpemUnOiBcdDJweCxcblx0J2ljb24tc2l6ZSc6XHRcdFx0MjBweCxcblx0J2ljb24tc3RyaXBlLWhlaWdodCc6XHQycHgsXG5cdCdpY29uLXN0cmlwZS13aWR0aCc6ICBcdDEwcHgsXG5cdCd0cmFuc2l0aW9uLWR1cmF0aW9uJzpcdDQwMG1zLFxuXHQndHJhbnNpdGlvbi1lYXNpbmcnOlx0Y3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tYWNjb3JkaW9uIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuLm8tYWNjb3JkaW9uX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnYm9yZGVyLXdpZHRoJyk7XG5cdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdib3JkZXItY29sb3InKTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblxuXHQmOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXHR9XG59XG5cbi5vLWFjY29yZGlvbl9fdGl0bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSgyKTtcblx0cGFkZGluZy1yaWdodDogc3BhY2UoMyk7XG5cdHBhZGRpbmctYm90dG9tOiBzcGFjZSgyKTtcblx0cGFkZGluZy1sZWZ0OiBzcGFjZSg2KTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaGVhZGVyLWNvbG9yJyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDgpO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsMTIpO1xuXHR9XG5cblx0Ly8gT25seSBzZXQgaG92ZXIgY29sb3Igd2hlbiBub3QgYWN0aXZlXG5cdC5vLWFjY29yZGlvbl9faXRlbTpub3QoLmlzLWFjdGl2ZSkgJjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaG92ZXItY29sb3InKTtcblx0fVxufVxuXG4uby1hY2NvcmRpb25fX2ljb24ge1xuXHRmbGV4OiAwIDAgYXV0bztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IGF1dG87XG5cdGxlZnQ6IChzcGFjZSgzKSAtIGhhbHZlKG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJykpKTtcblx0d2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJyk7XG5cdGhlaWdodDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKTtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuXHRib3JkZXItd2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1ib3JkZXItc2l6ZScpO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGxlZnQ6IGNhbGMoI3tjb2x1bW4oMC41LCA4KX0gLSAje2hhbHZlKG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJykpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0bGVmdDogY2FsYygje2NvbHVtbigwLjUsIDEyKX0gLSAje2hhbHZlKG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJykpfSk7XG5cdH1cblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc3RyaXBlLWhlaWdodCcpO1xuXHRcdHdpZHRoOiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc3RyaXBlLXdpZHRoJyk7XG5cdFx0bGVmdDogaGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSAtIG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtd2lkdGgnKSAtIChkb3VibGUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLWJvcmRlci1zaXplJykpKSk7XG5cdFx0dG9wOiBjYWxjKDUwJSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLWJvcmRlci1zaXplJykpfSk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcywgbWFwLWdldCgkby1hY2NvcmRpb24sICd0cmFuc2l0aW9uLWR1cmF0aW9uJyk7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UsIG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAndHJhbnNpdGlvbi1lYXNpbmcnKTtcblx0fVxuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Lm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwLjI1dHVybik7XG5cdFx0fVxuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcblxuXHRcdC5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgJiB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcblx0XHR9XG5cdH1cbn1cblxuLm8tYWNjb3JkaW9uX19oZWFkZXIge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0fVxufVxuXG4vKiBIaWRkZW4gYnkgZGVmYXVsdCovXG4uby1hY2NvcmRpb25fX2NvbnRlbnQge1xuXHRAaW5jbHVkZSBvd2wtY2hpbGRyZW47XG5cdG9wYWNpdHk6IDA7XG5cdG1heC1oZWlnaHQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctbGVmdDogc3BhY2UoNik7XG5cdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDMpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcblx0Ly8gQ2xvc2UgYW5pbWF0aW9uXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cblxuXHQuby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0bWF4LWhlaWdodDogNDAwcHg7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHQvLyBPcGVuIGFuaW1hdGlvbiAod2l0aCB0aGUgc2FtZSBkZWxheSBhcyBjbG9zZSBkdXJhdGlvbilcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkby1hY2NvcmRpb24sICd0cmFuc2l0aW9uLWR1cmF0aW9uJyk7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cdH1cbn0iLCIuby1ibG9jayB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0J21hcmdpbi1ib3R0b20nIDFcblx0KTtcblxuXHQvLyBUb3AgbWFyZ2luIG9ubHkgb24gY29uc2VjdXRpdmUgYmxvY2tzXG5cdCYgKyAmIHtcblx0XHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdFx0J21hcmdpbi10b3AnIDFcblx0XHQpO1xuXHR9XG59IiwiIC8qXG4gKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiAqIChiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIHRoZSBmb290ZXIpXG4gKi9cblxuXG4uby1ib2R5IHtcblx0QGluY2x1ZGUgeih6LWJvZHkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZsZXg6IDAgMCBhdXRvO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ2FsbG91dCBiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1jYWxsb3V0LWJhcjogKFxuXHQnY29sb3InOiAgXHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2JnY29sb3InOiAgXHRyZ2JhKHBhbGV0dGUocHJpbWFyeSwgNTAwKSwgMC4xNSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1jYWxsb3V0LWJhciB7XG5cdEBpbmNsdWRlIGh5cGhlbmF0ZTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tY2FsbG91dC1iYXIsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWNhbGxvdXQtYmFyLCAnYmdjb2xvcicpO1xuICBcdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tY2FsbG91dC1iYXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuICAgIEBpbmNsdWRlIHZzcGFjaW5nKFxuICAgICAgICAncGFkZGluZy10b3AnIDEsXG4gICAgICAgICdwYWRkaW5nLWJvdHRvbScgMVxuICAgICk7XG5cblx0Ly8gVmVydGljYWwgc3BhY2luZyBmb3IgZWxlbWVudHMgdGhhdCBwcm9jZWVkIGFub3RoZXIgZWxlbWVudFxuXHQmID4gKiArICoge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0J21hcmdpbi10b3AnIDAuNVxuXHRcdCk7XG5cdH1cbn1cblxuXG4uby1jYWxsb3V0LWJhcl9fYm9keSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG4uby1jYWxsb3V0LWJhcl9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG59IiwiLypcbiAqIENhcmQgZ3JpZFxuICpcbiAqL1xuXG4kby1jYXJkLWdyaWQtaXRlbXMtbTogICAyOyAvLyBOdW1iZXIgb2YgY2FyZHMgd2hlbiBpbiBtZWRpdW0gdmlld3BvcnRcbiRvLWNhcmQtZ3JpZC1pdGVtcy1sOiAgIDM7IC8vIE51bWJlciBvZiBjYXJkcyB3aGVuIGluIGxhcmdlIHZpZXdwb3J0XG4kby1jYXJkLWdyaWQtbS1icDogICAgICA2MDA7IC8vIEN1c3RvbSBicmVha3BvaW50IHdoZW4gc3dpdGNoaW5nIGZyb20gc3RhY2tlZCBjYXJkcyB0byByb3dzXG4kby1jYXJkLWdyaWQtc3BhY2luZzogICBzcGFjZSg0KTtcblxuJG8tY2FyZC1ncmlkLXNpemUtbTogICAgcGVyY2VudGFnZSgxLyRvLWNhcmQtZ3JpZC1pdGVtcy1tKTtcbiRvLWNhcmQtZ3JpZC1zaXplLWw6ICAgIHBlcmNlbnRhZ2UoMS8kby1jYXJkLWdyaWQtaXRlbXMtbCk7XG5cblxuXG4uby1jYXJkLWdyaWRfX21haW4ge1xuICBAaW5jbHVkZSBtcSgkby1jYXJkLWdyaWQtbS1icCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbi5vLWNhcmQtZ3JpZF9faXRlbSB7XG5cbiAgLy8gQ3JlYXRlIG5pY2UgdmVydGljYWwgc3BhY2luZyBvbiBtb2JpbGVcbiAgQGluY2x1ZGUgbXEoJG1heDogJG8tY2FyZC1ncmlkLW0tYnApe1xuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpbmdsZSBjb2x1bW4gKHN0YWNrZWQpXG4gIEBpbmNsdWRlIG1xKCRtYXg6ICRvLWNhcmQtZ3JpZC1tLWJwKSB7XG4gICAgbWF4LXdpZHRoOiAzNDRweDsgLy8gY29uc3RyYWluIHRoZSB3aWR0aCBvZiB0aGUgY2FyZCBpbnNpZGVcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC8vIFR3byBjb2x1bW5zXG4gIEBpbmNsdWRlIG1xKCRvLWNhcmQtZ3JpZC1tLWJwLCAkbWF4OiBsKSB7XG4gICAgZmxleDogMDtcbiAgICAvLyBXZSBjYWxjdWxhdGUgdGhlIHNpemUgb2YgdGhlIGl0ZW0gYmFzZWQgb24gdGhlIHNldHRpbmdzIGFuZCBwdXQgaXQgaW4gYSBsb25naGFuZCBmbGV4IHZhbHVlIGJlY2F1c2Ugb2YgSUUgc3VwcG9ydFxuICAgIGZsZXgtYmFzaXM6IGNhbGMoI3skby1jYXJkLWdyaWQtc2l6ZS1tfSAtICgoI3skby1jYXJkLWdyaWQtaXRlbXMtbX0gLSAxKSAvICN7JG8tY2FyZC1ncmlkLWl0ZW1zLW19ICogI3skby1jYXJkLWdyaWQtc3BhY2luZ30pKTtcbiAgICBtYXJnaW4tbGVmdDogI3skby1jYXJkLWdyaWQtc3BhY2luZ307XG5cbiAgICAmOm50aC1jaGlsZCgjeyRvLWNhcmQtZ3JpZC1pdGVtcy1tfW4gKyAxKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChuICsgI3skby1jYXJkLWdyaWQtaXRlbXMtbSArIDF9KSB7XG4gICAgICBtYXJnaW4tdG9wOiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfTtcbiAgICB9XG4gIH1cblxuICAvLyBGb3VyIGNvbHVtbnNcbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIGZsZXg6IDA7XG4gICAgLy8gV2UgY2FsY3VsYXRlIHRoZSBzaXplIG9mIHRoZSBpdGVtIGJhc2VkIG9uIHRoZSBzZXR0aW5ncyBhbmQgcHV0IGl0IGluIGEgbG9uZ2hhbmQgZmxleCB2YWx1ZSBiZWNhdXNlIG9mIElFIHN1cHBvcnRcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCN7JG8tY2FyZC1ncmlkLXNpemUtbH0gLSAoKCN7JG8tY2FyZC1ncmlkLWl0ZW1zLWx9IC0gMSkgLyAjeyRvLWNhcmQtZ3JpZC1pdGVtcy1sfSAqICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9KSk7XG4gICAgbWFyZ2luLWxlZnQ6ICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9O1xuXG4gICAgJjpudGgtY2hpbGQoI3skby1jYXJkLWdyaWQtaXRlbXMtbH1uICsgMSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQobiArICN7JG8tY2FyZC1ncmlkLWl0ZW1zLWwgKyAxfSkge1xuICAgICAgbWFyZ2luLXRvcDogJG8tY2FyZC1ncmlkLXNwYWNpbmc7XG4gICAgfVxuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDb250YWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tY29udGFjdDogKFxuXHQnYmdjb2xvci1mb3JtJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDApLFxuXHQnYnAtbGFyZ2UnOlx0XHRcdFx0MTIyMFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vLWNvbnRhY3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnMtbCArIDJ9KSAqICN7JHNpdGUtY29sdW1ucy1sfSk7XG5cdFx0bWF4LXdpZHRoOiAjeyRzaXRlLW1heC13aWR0aH1weDtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cbn1cblxuXG4uby1jb250YWN0X19pbmZvIHtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhtKTtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhsKTtcblx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRwYWRkaW5nLWxlZnQ6ICRzaXRlLWd1dHRlci13aWR0aDtcblx0cGFkZGluZy1yaWdodDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0cGFkZGluZy10b3A6IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjZSg2KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgxKTtcblx0fVxufVxuXG4uby1jb250YWN0X19mb3JtIHtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhtKTtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhsKTtcblx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdHBhZGRpbmc6IHNwYWNlKDQpICRzaXRlLWd1dHRlci13aWR0aDtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1jb250YWN0LCAnYmdjb2xvci1mb3JtJyk7XG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdH1cbn1cblxuLm8tY29udGFjdF9faGVhZGVyIHtcblx0QGluY2x1ZGUgaHlwaGVuYXRlO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg0KTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcbn1cblxuLm8tY29udGFjdF9fY2FyZCB7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDUpO1xufVxuXG4uby1jb250YWN0X19hZGRyZXNzIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMyk7XG59XG5cbi5vLWNvbnRhY3RfX251bWJlcnMge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENvb2tpZWJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLWNvb2tpZS1iYXI6IChcblx0J2JnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDkwMCksXG5cdCdjb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG4pO1xuXG4uby1jb29raWUtYmFyIHtcblx0ei1pbmRleDogLTE7IC8vIG5vdCBzZWxlY3RhYmxlXG5cdGRpc3BsYXk6IG5vbmU7IC8vIGhpZGUgYnkgZGVmYXVsdFxuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiAkc2l0ZS1jb29raWVCYXItaGVpZ2h0O1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1jb29raWUtYmFyLCAnYmdjb2xvcicpO1xuXHRvcGFjaXR5OiAxO1xuXHRib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjZzO1xuXHR0cmFuc2Zvcm06IG5vbmU7XG5cblx0Ly8gV2hlbiBjb29raWVzIGFyZSBub3QgeWV0IGFjY2VwdGVkLCBzaG93IGNvb2tpZWJhclxuXHQmOm5vdCguaXMtYWNjZXB0ZWQpIHtcblx0XHRAaW5jbHVkZSB6KHotY29va2llKTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cblx0Ji5pcy10cmFuc2l0aW9uaW5nLW91dCB7XG5cdFx0ei1pbmRleDogLTE7IC8vIG5vdCBzZWxlY3RhYmxlXG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblx0fVxufVxuXG4uby1jb29raWUtYmFyX19tYWluIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogMzc0KSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuXHR9XG59XG5cbi5vLWNvb2tpZS1iYXJfX3RleHQge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWNvb2tpZS1iYXIsICdjb2xvcicpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdH1cbn1cblxuLm8tY29va2llLWJhcl9fbGluayB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiByZ2JhKG1hcC1nZXQoJG8tY29va2llLWJhciwgJ2NvbG9yJyksIDAuNzUpO1xuXHR9XG59XG5cbi5vLWNvb2tpZS1iYXJfX2J1dHRvbiB7XG5cdGZsZXg6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSg1KTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXHR9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEb3VibGUgaW1hZ2UgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIHBpY3R1cmVzIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kby1kb3VibGUtaW1hZ2UtYnAxOiAxMTAwO1xuXG4uby1kb3VibGUtaW1hZ2Uge1xuXHRtYXJnaW46IC0xcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXG5cdC8vIFNldCBzaWRlIGJ5IHNpZGUgZnJvbSBtZWRpdW0gdmlld3BvcnRzIGFuZCB1cFxuXHRAaW5jbHVkZSBtcSgkby1kb3VibGUtaW1hZ2UtYnAxKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDFweDtcblx0b3JkZXI6IDE7XG5cdG1pbi1oZWlnaHQ6IDM2MHB4OyAvLyBuZWVkZWQgZm9yIElFXG5cblx0QGluY2x1ZGUgbXEoJG8tZG91YmxlLWltYWdlLWJwMSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLm8tZG91YmxlLWltYWdlX19pbWcge1xuXHRvYmplY3QtZml0OiBjb3ZlcjsgLy8gRmFsbGJhY2sgZm9yIElFIHZpYSBKUyBwb2x5ZmlsbCwgbWluLWhlaWdodCBjYW4gYmUgbmVlZGVkLi5cblx0bWF4LWhlaWdodDogODV2aDtcbn1cblxuXG4uby1kb3VibGUtaW1hZ2UtLWlzLXJldmVyc2VkIHtcblx0JiAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRvcmRlcjogMDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0fVxuXHR9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEb3VibGUgbGF5b3V0IGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBjb2x1bW5zIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5vLWRvdWJsZS10ZXh0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRoZWlnaHQ6IDEwMCU7IC8vIHN0cmV0Y2ggaXQgb3V0IGluIGl0cyBjb250YWluZXJcblxuXHQvLyBTZXQgc2lkZSBieSBzaWRlIGZyb20gbWVkaXVtIHZpZXdwb3J0cyBhbmQgdXBcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuXG4uby1kb3VibGUtdGV4dF9fY29sdW1uIHtcblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LCAxMik7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0XHR3aWR0aDogY29sdW1uKDUsIDgpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDgpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdFx0fVxuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHQvLyBDcmVhdGUgdmVydGljYWwgc3BhY2luZyBvbiBtb2JpbGVcblx0XHRAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0J21hcmdpbi10b3AnIDAuNVxuXHRcdCk7XG5cdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0d2lkdGg6IGNvbHVtbigzLCA4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcblx0XHR9XG5cdH1cbn0iLCIuby1kb3dubG9hZHMge1xuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLm8tZG93bmxvYWRzLS1pcy1yZXZlcnNlZCB7XG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbn1cblxuLm8tZG93bmxvYWRzX19tYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxKTtcbiAgcGFkZGluZy10b3A6IHNwYWNlKDUpO1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoOSk7XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkbWF4OiBsKSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjb2x1bW4oMC41LCA4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMC41LCA4KTtcbiAgfVxuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMik7XG4gIH1cblxuICAuYy1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5vLWRvd25sb2Fkc19fc2VydmljZS1wb2ludCB7XG5cbiAgQGluY2x1ZGUgbXEoJG1heDogbSkge1xuICAgIG1hcmdpbi10b3A6IHNwYWNlKDEwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBtYXJnaW4tdG9wOiBzcGFjZSg1KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKG0sIGwpIHtcbiAgICB3aWR0aDogY29sdW1uKDMsIDgpXG4gIH1cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHdpZHRoOiBjb2x1bW4oNSwgMTIpO1xuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBGb290ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1mb290ZXI6IChcblx0J2JnQ29sb3InOiAgXHQgICAgcGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J3RleHRDb2xvcic6ICBcdCAgICBwYWxldHRlKG5ldXRyYWwsIDkwMCksXG5cdCd0ZXh0Q29sb3JIb3Zlcic6ICBcdHJnYmEocGFsZXR0ZShwcmltYXJ5LCA3MDApLCAwLjcpLFxuXHQnbG9nb1dpZHRoJzogIFx0ICAgIDE1MnB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tZm9vdGVyIHtcblx0QGluY2x1ZGUgeih6LWZvb3Rlcik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWZvb3RlciwgJ3RleHRDb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWZvb3RlciwgJ2JnQ29sb3InKTtcblx0ZmxleDogMSAwIGF1dG87XG59XG5cblxuLm8tZm9vdGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0J3BhZGRpbmctdG9wJyAwLjUsXG5cdFx0J3BhZGRpbmctYm90dG9tJyAwLjVcblx0KTtcbn1cblxuXG4uby1mb290ZXJfX2NvbHVtbnMge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWZvb3Rlcl9fYnJhbmQge1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQnbWFyZ2luLWJvdHRvbScgMC4zM1xuXHQpO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuLm8tZm9vdGVyX19sb2dvIHtcblx0d2lkdGg6IG1hcC1nZXQoJG8tZm9vdGVyLCAnbG9nb1dpZHRoJyk7XG59XG5cblxuLy8gTGVmdCBjb2x1bW5cbi5vLWZvb3Rlcl9faW5mbyB7XG5cdEBpbmNsdWRlIG93bC1jaGlsZHJlbihzcGFjZSg0KSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNCwgMTApO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDUsIDEyKTtcblx0fVxufVxuXG5cbi8vIFJpZ2h0IGNvbHVtblxuLm8tZm9vdGVyX19uYXYge1xuXHRAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdCdtYXJnaW4tdG9wJyAwLjMzXG5cdCk7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsIDEwKTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdH1cbn1cblxuLm8tZm9vdGVyX19saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xufVxuXG5cbi5vLWZvb3Rlcl9fbGluayB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAwO1xuXHRjb2xvcjogbWFwLWdldCgkby1mb290ZXIsICd0ZXh0Q29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGNvbG9yIDEwMG1zIGxpbmVhcjtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby1mb290ZXIsICd0ZXh0Q29sb3JIb3ZlcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59XG5cblxuLm8tZm9vdGVyX19zb2NpYWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IHNwYWNlKDQpIDAgMDtcbn1cblxuXG4uby1mb290ZXJfX2NoYW5uZWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgyKTtcbn1cblxuXG4uby1mb290ZXJfX2ljb24ge1xuXHRmbGV4OiBhdXRvO1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cblx0LmZhY2Vib29rICYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2ZhY2Vib29rLnN2Z1wiKTtcblx0XHRoZWlnaHQ6IDIxcHg7XG5cdH1cblx0Lmluc3RhZ3JhbSAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9pbnN0YWdyYW0uc3ZnXCIpO1xuXHR9XG5cdC50d2l0dGVyICYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL3R3aXR0ZXIuc3ZnXCIpO1xuXHRcdGhlaWdodDogMjBweDtcblx0fVxuXHQubGlua2VkaW4gJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvbGlua2VkaW4uc3ZnXCIpO1xuXHRcdGhlaWdodDogMThweDtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG5cdH1cbn0iLCIuby1mb3JtIHt9XG5cbi5vLWZvcm1fX2hlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDUpO1xufVxuXG4uby1mb3JtX19ib2R5IHt9XG5cbi5vLWZvcm1fX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xufVxuXG4uby1mb3JtX19yb3cge1xuXHQmICsgJiB7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0fVxufVxuXG4vLyBBIGhpZGRlbiB3cmFwcGVyIGZvciBob25leSBwb3Qgc3R1ZmZcbi5vLWZvcm1fX3BvdCB7XG5cdG9wYWNpdHk6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHR6LWluZGV4OiAtMTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG5cdENvbG9ycyBnZXQgZGVmaW5lZCBpbiBfc2V0dGluZ3MuY29uZmlnLnNjc3NcbiovXG5cbi5vLWhlYWRlciB7XG5cdEBpbmNsdWRlIHooei1oZWFkZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ2JnQ29sb3InKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiBzcGFjZSg0KSAwO1xuXG5cdCYuaXMtc3RpY2t5IHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR6LWluZGV4OiA1MDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xuXHRcdGJveC1zaGFkb3c6IDAgLTVweCAzMHB4IGJsYWNrO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzLCAzMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcblxuXHRcdEBpbmNsdWRlIG1xKCRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmlzLXN0aWNreS1oZWFkZXItdmlzaWJsZSAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcblx0XHR9XG5cdH1cbn1cblxuLm8taGVhZGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5vLWhlYWRlcl9fbmF2IHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSg2KTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiAkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uby1oZWFkZXJfX2xhbmd1YWdlIHtcblx0ZmxleDogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0fVxufVxuXG4uby1oZWFkZXJfX2xvZ28ge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRmbGV4OiBub25lO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG4uby1oZWFkZXJfX2ltZyB7XG5cdGhlaWdodDogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICdsb2dvLWhlaWdodCcpO1xufVxuXG4uby1oZWFkZXJfX3RvZ2dsZSB7XG5cdEBpbmNsdWRlIG1xKCRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBJbnRyb1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8taW50cm8ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdiZ0NvbG9yJyk7XG5cblx0Ly8gV2hlbiBpbnRybyBpcyBkYXJrZXIgdGhlbiBib2R5IHdlIG5lZWQgdG8gYWRkIGV4dHJhIG1hcmdpblxuXHRAaWYgbWFwLWdldCgkc2l0ZS1pbnRybywgJ2lzRGFyaycpe1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0J21hcmdpbi1ib3R0b20nIDFcblx0XHQpO1xuXHR9XG59XG5cblxuLm8taW50cm9fX2JvZHkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0J21hcmdpbi1ib3R0b20nIDFcblx0KTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0Lm8taW50cm8tLW1vYmlsZS1icmVhay1vdXQgJiB7XG5cdFx0XHR3aWR0aDogMTAwdnc7XG5cdFx0XHRtYXJnaW4tbGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAwO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWludHJvLCAnYmFyQ29sb3InKTtcblx0XHR9XG5cdH1cbn1cblxuXG4uby1pbnRyb19fY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1ucy1sICsgMn0pICogI3skc2l0ZS1jb2x1bW5zLWx9KTtcblx0XHRtYXgtd2lkdGg6ICN7JHNpdGUtbWF4LXdpZHRofXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxufVxuXG5cbi5vLWludHJvX19uYXYsXG4uby1pbnRyb19faW1hZ2Uge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0b3JkZXI6IC0xO1xuXHRcdHdpZHRoOiBjb2x1bW4oNSwxMik7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsMTIpO1xuXHR9XG59XG5cblxuLm8taW50cm9fX25hdiB7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdzdWJuYXZCZ0NvbG9yJyk7XG5cdHBhZGRpbmc6IHNwYWNlKDQpICRzaXRlLWd1dHRlci13aWR0aDtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0cGFkZGluZzogc3BhY2UoMTApIGNvbHVtbigwLjUsMTIpO1xuXHRcdHBhZGRpbmctbGVmdDogcGVyY2VudGFnZSgxIC8gKDggKyAyKSk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBwZXJjZW50YWdlKDEgLyAoMTAgKyAyKSk7XG5cdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZSgxIC8gKDEwICsgMikpO1xuXHR9XG59XG5cblxuLm8taW50cm9fX3RleHQge1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG5cdHBhZGRpbmctbGVmdDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRwYWRkaW5nLXJpZ2h0OiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNywxMik7XG5cdFx0cGFkZGluZzogc3BhY2UoMTApIGNvbHVtbigxLDEyKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsMTIpO1xuXHR9XG59XG5cblxuLm8taW50cm9fX3RpdGxlLFxuLm8taW50cm9fX2hlYWRpbmcge1xuXHRjb2xvcjogbWFwLWdldCgkc2l0ZS1pbnRybywgJ2NvbG9yJykgIWltcG9ydGFudDtcbn1cblxuXG4uby1pbnRyb19fYnV0dG9uIHtcblx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdsaW5rQ29sb3InKSAhaW1wb3J0YW50O1xufSIsIiRvLWxvZ29zLXNwYWNpbmctZHluYW1pYzogMi4zODJ2dztcbiRvLWxvZ29zLXNwYWNpbmctZml4ZWQ6IFx0c3BhY2UoNCk7XG5cbi5vLWxvZ29zIHt9XG5cbi5vLWxvZ29zX19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW4tbGVmdDogMDsgLy8gcmVzZXRcblx0bWFyZ2luOiAtI3skby1sb2dvcy1zcGFjaW5nLWR5bmFtaWN9O1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cblx0QGluY2x1ZGUgbXEoJGJwLW1heCl7XG5cdFx0bWFyZ2luOiAtI3skby1sb2dvcy1zcGFjaW5nLWZpeGVkfTtcblx0fVxufVxuXG4uby1sb2dvc19faXRlbSB7XG5cdGZsZXg6IDAgMSAxMDAlO1xuXHRtYXJnaW46ICRvLWxvZ29zLXNwYWNpbmctZHluYW1pYztcblxuXHRAaW5jbHVkZSBtcShzKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzIpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZHluYW1pYyl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzMpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZHluYW1pYyl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzQpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZHluYW1pYyl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzQpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZml4ZWQpfSk7XG5cdFx0bWFyZ2luOiAkby1sb2dvcy1zcGFjaW5nLWZpeGVkO1xuXHR9XG59XG5cbi5vLWxvZ29zX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5vLWxvZ29zX19pbWcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMDtcblx0cGFkZGluZy1ib3R0b206IDEwMCU7IC8vIEFzcGVjdCByYXRpb1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn0iLCIuby1tYXAge1xuXG5cdC8vIFJlc2V0IHNvbWUgc3R5bGluZyBmb3IgZ29vZ2xlIG1hcHNcblx0YSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogTmV3c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vJG8tbmV3czogKFxuLy9cdCdob3Zlci1iZ2NvbG9yJzogIFx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMCksXG4vL1x0J3RleHQtY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG4vLyk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLW5ld3Mge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG4uby1uZXdzX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcbn1cblxuLm8tbmV3c19fYXJ0aWNsZSB7XG5cdEBpbmNsdWRlIG93bChzcGFjZSg0KSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm8tbmV3c19fbGluayB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyBsaW5lYXI7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUoYm9yZGVyLCAzMDApO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xuXHR9XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHR9XG59XG5cbi5vLW5ld3NfX2JvZHkge1xuXHRmbGV4LWdyb3c6IDE7XG5cdHBhZGRpbmc6ICRzaXRlLWd1dHRlci13aWR0aDtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0b3JkZXI6IDE7XG5cdFx0cGFkZGluZy10b3A6IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjZSg2KTtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDgpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLDgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsMTIpO1xuXHR9XG59XG5cbi5vLW5ld3NfX2ltYWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZy1ib3R0b206IDU1JTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZmxleDogbm9uZTtcblx0XHRvcmRlcjogMjtcblx0XHR3aWR0aDogY29sdW1uKDIsOCk7XG5cdFx0cGFkZGluZy1ib3R0b206IGNvbHVtbigyLDgpO1xuXHR9XG59XG5cbi5vLW5ld3NfX2JnLWltYWdlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHR0b3A6ICRzaXRlLWd1dHRlci13aWR0aDtcblx0cmlnaHQ6ICRzaXRlLWd1dHRlci13aWR0aDtcblx0d2lkdGg6IGNhbGMoMTAwJSAtICN7ZG91YmxlKCRzaXRlLWd1dHRlci13aWR0aCl9KTtcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRzaXRlLWd1dHRlci13aWR0aH0pO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR0b3A6IHNwYWNlKDEpO1xuXHRcdHJpZ2h0OiBzcGFjZSgxKTtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3tzcGFjZSgyKX0pO1xuXHRcdGhlaWdodDogY2FsYygxMDAlIC0gI3tzcGFjZSgyKX0pO1xuXHR9XG59XG5cblxuLy8gQm9keSBjb250ZW50OlxuLm8tbmV3c19faW50cm8ge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgzKTtcbn1cblxuLm8tbmV3c19fdGltZXN0YW1wIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xufVxuXG4uby1uZXdzX19hY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcbn1cblxuLm8tbmV3c19fcmVhZG1vcmUge1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xufVxuXG4uby1uZXdzX19mb290ZXIge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogT3ZlcmxheSBtZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tb3ZlcmxheS1tZW51OiAoXG5cdCdiZ2NvbG9yJzogICAgICAgICAgcGFsZXR0ZShuZXV0cmFsLCAxMDApLFxuXHQnY29sb3InOiAgICAgICAgICAgIHBhbGV0dGUobmV1dHJhbCwgNTAwKSxcblx0J2hvdmVyLWNvbG9yJzogICAgICBwYWxldHRlKHByaW1hcnksIDcwMCksXG5cdCdzaGFkZXItY29sb3InOiAgICAgcmdiYShwYWxldHRlKHByaW1hcnksIDcwMCksIDAuNiksXG5cdCdtb3ZlLXNwZWVkJzogICAgICAgNDAwbXMsXG5cdCdvcGFjaXR5LXNwZWVkJzogICAgMjAwbXMsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1vdmVybGF5LW1lbnUge1xuXHRAaW5jbHVkZSB6KHotb3ZlcmxheS1tZW51KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0b3BhY2l0eTogMDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnYmdjb2xvcicpO1xuXG5cdC8vIFdoZW4gaXQgZGlzYXBwZWFycyBvdXQgb2Ygdmlld1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMHZ3KTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKSwgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdvcGFjaXR5LXNwZWVkJyk7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDBzLCBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAuMTUsIDAuMSwgMSksIGxpbmVhcjtcblxuXHQvLyBXaGVuIGl0IGNvbWVzIGludG8gdmlld1xuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKSwgMHM7XG5cdH1cblxuXHQvLyBTaGFkZXJcblx0Jjo6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAtMTIwdnc7XG5cdFx0d2lkdGg6IDEyMHZ3O1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ3NoYWRlci1jb2xvcicpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKTtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG5cdFx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0fVxuXHR9XG5cblx0Ly8gRGlhZ29uYWwgc2hhcGUgb24gdGhlIHJpZ2h0XG5cdCY6OmFmdGVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAtMjAlO1xuXHRcdHdpZHRoOiAyMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtODZkZWcsIHRyYW5zcGFyZW50IDUwJSwgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdiZ2NvbG9yJykgNTAlKTtcblx0fVxuXG5cdC8vIEhpZGUgb3ZlcmxheSBtZW51IG9uIGxhcmdlciB2aWV3cG9ydHNcblx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2JhciB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19pbWcge1xuXHRoZWlnaHQ6IHNwYWNlKDYpO1xufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTAuNXR1cm4pO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgZWFzZS1vdXQ7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXG5cdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fbmF2IHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2l0ZW0ge1xuXHRwYWRkaW5nOiBzcGFjZSgxKSAwO1xuXG5cdCYgKyAmIHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYShtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2NvbG9yJyksIDAuMyk7XG5cdH1cbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2xpbmsge1xuXHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb2xvcjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2hvdmVyLWNvbG9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xuXHRcdG91dGxpbmUtY29sb3I6IHJnYmEobWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdjb2xvcicpLCAwLjMpO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHQgICAgY29udGVudDogJ1xcMjc5NCc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgIHRvcDogNnB4O1xuXHRcdCAgICBsZWZ0OiAtMS4yNWVtO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdH1cblx0fVxufSIsIi5vLXF1b3RlIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuLm8tcXVvdGUge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG4uby1xdW90ZV9fYm9keSB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDQsOCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0XHR3aWR0aDogY29sdW1uKDgsMTIpO1xuXHR9XG59XG5cbi5vLXF1b3RlX19waWN0dXJlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oMyw4KTtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsOCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNCwxMik7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0XHRtYXJnaW4tcmlnaHQ6IGNvbHVtbigxLDEyKTtcblx0fVxufVxuXG4uby1xdW90ZV9faW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4uby1xdW90ZV9fdGV4dCB7XG5cdEBpbmNsdWRlIGZvbnQobSk7XG5cdHF1b3RlczogJ1xcMjAxYycgJ1xcMjAxZCc7XG5cblx0Jjo6YmVmb3JlIHsgY29udGVudDogb3Blbi1xdW90ZTsgfVxuXHQmOjphZnRlciAgeyBjb250ZW50OiBjbG9zZS1xdW90ZTsgfVxufVxuXG4uby1xdW90ZV9fYXV0aG9yIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMyk7XG5cdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMC41LCA2KTtcbn1cblxuLm8tcXVvdGVfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xufVxuXG4uby1xdW90ZV9fc3ViaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBSZWZlcmVuY2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tcmVmZXJlbmNlczogKFxuXHQnZ2FwJzpcdFx0XHRcdHNwYWNlKDQpLFxuXHQncGFkZGluZyc6XHRcdFx0c3BhY2UoMyksXG5cdCdib3JkZXItc2l6ZSc6XHRcdDBweCxcblx0J2JvcmRlci1jb2xvcicgOlx0cGFsZXR0ZShib3JkZXIsIDMwMCksXG5cdCdiZ2NvbG9yJyA6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2NvbG9yJyA6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuXHQnY29sb3JTdWInIDpcdFx0cGFsZXR0ZShuZXV0cmFsLCA0MDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vLXJlZmVyZW5jZXMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdG1hcmdpbjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnZ2FwJykgKiAtMTtcbn1cblxuLm8tcmVmZXJlbmNlc19faXRlbSB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMocyk7XG5cdGZsZXg6IDAgMSAxMDAlO1xuXHRtYXJnaW46IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2dhcCcpO1xuXHRwYWRkaW5nLXRvcDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xuXHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdiZ2NvbG9yJyk7XG5cdGJvcmRlcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYm9yZGVyLXNpemUnKSBzb2xpZCBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdib3JkZXItY29sb3InKTtcblx0Ym94LXNoYWRvdzpcblx0XHQwIDIuNHB4IDM5LjRweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDI0KSxcblx0XHQwIDYuOHB4IDQ1LjVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDM1KSxcblx0XHQwIDE2LjNweCA1MS40cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjA0NiksXG5cdFx0MCA1NHB4IDgwcHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcblxuXG5cdEBpbmNsdWRlIG1xKDgwMCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYyg1MCUgLSAje2RvdWJsZShtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdnYXAnKSl9IC0gI3tkb3VibGUobWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYm9yZGVyLXNpemUnKSl9KTtcblx0fVxufVxuXG4uby1yZWZlcmVuY2VzX19ib2R5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0bWFyZ2luLXRvcDogMDtcblx0cGFkZGluZy1yaWdodDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xufVxuXG4uby1yZWZlcmVuY2VzX19waWN0dXJlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZsZXgtZ3JvdzogMTtcblx0ZmxleC1iYXNpczogMjUlO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgzKTtcblx0bWFyZ2luLWxlZnQ6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fY29udGVudCB7XG5cdGZsZXgtZ3JvdzogOTk5OTtcblx0ZmxleC1iYXNpczogMThlbTtcblx0bWFyZ2luLWxlZnQ6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2NvbG9yJyk7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2F1dGhvciB7XG5cdG1hcmdpbi10b3A6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcbn1cblxuLm8tcmVmZXJlbmNlc19faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2NvbG9yJyk7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3N1YmhlYWRpbmcge1xuXHRjb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnY29sb3JTdWInKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFN1YiBGb290ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1zdWJmb290ZXI6IChcblx0J2JnY29sb3InOiAgXHRcdFx0cGFsZXR0ZShwcmltYXJ5LCA3MDApLFxuXHQnY29sb3InOiAgXHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnY29sb3ItaG92ZXInOiAgXHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J3NwYWNpbmctaG9yaXpvbnRhbCc6XHRzcGFjZSg0KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLXN1YmZvb3RlciB7XG5cdEBpbmNsdWRlIHooei1zdWJmb290ZXIpO1xuXHRjb2xvcjogbWFwLWdldCgkby1zdWJmb290ZXIsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2JnY29sb3InKTtcblx0cGFkZGluZy1ib3R0b206ICRzaXRlLWNvb2tpZUJhci1oZWlnaHQ7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCBwYWxldHRlKHNlY29uZGFyeSwgNTAwKTtcblx0dHJhbnNpdGlvbjogcGFkZGluZyAwLjZzO1xuXG5cdC5pcy1jb29raWVzLWFjY2VwdGVkICYge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG59XG5cblxuLm8tc3ViZm9vdGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSgxKTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDEpO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9fY29weXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuICBcdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuICBcdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuXHRtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJG8tc3ViZm9vdGVyLCAnc3BhY2luZy1ob3Jpem9udGFsJyk7XG59XG5cblxuLm8tc3ViZm9vdGVyX19uYXYge1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn1cblxuXG4uby1zdWJmb290ZXJfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luOiAwO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9faXRlbSB7XG5cdG1hcmdpbi1yaWdodDogbWFwLWdldCgkby1zdWJmb290ZXIsICdzcGFjaW5nLWhvcml6b250YWwnKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4uby1zdWJmb290ZXJfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRjb2xvcjogbWFwLWdldCgkby1zdWJmb290ZXIsICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2NvbG9yLWhvdmVyJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRhYnNsaWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXRhYnNsaWRlcjogKFxuXHQnYmdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYWN0aXZlLWJnY29sb3InOlx0XHRcdHBhbGV0dGUocHJpbWFyeSksXG5cdCdib3JkZXItY29sb3InOiBcdFx0XHRwYWxldHRlKGJvcmRlciwgMzAwKSxcblx0J2FjdGl2ZS1ib3JkZXItY29sb3InOiBcdFx0cGFsZXR0ZShwcmltYXJ5KSxcblx0J3RhYi1nYXAnOiAgXHRcdFx0XHRzcGFjZSgxKSxcbik7XG5cbi8qXG4gKiBPbiBzbWFsbCBzY3JlZW5zIHRoZSBjb250ZW50IGlzIHN0YWNrZWQsIHdpdGhvdXQgY29udHJvbHNcbiAqIFdoZW4gdGhlIHNjcmVlbiBpcyB3aWRlIGVub3VnaCB3ZSBhZGQgdGhlIGNvbnRyb2xzXG4gKiBhbmQgc2hvdyBvbmx5IHRoZSBjaG9zZW4gJ3NsaWRlIGNvbnRlbnQnXG4gKi9cblxuXG4uby10YWJzbGlkZXIge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG5cbi8vIFNoYXJlZCBzdHlsaW5nIGZvciB0YWItIGFuZCBzdGVwLWJ1dHRvbnNcbi5vLXRhYnNsaWRlcl9fYnV0dG9uIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0bWluLWhlaWdodDogc3BhY2UoNik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYmdjb2xvcicpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2JvcmRlci1jb2xvcicpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBib3JkZXI7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1iZ2NvbG9yJyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1iZ2NvbG9yJyk7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYmdjb2xvcicpO1xuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYm9yZGVyLWNvbG9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShwcmltYXJ5KTtcblxuXHRcdCY6bm90KC5pcy1hY3RpdmUpOm5vdCg6YWN0aXZlKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggbWFwLWdldCgkby10YWJzbGlkZXIsICdiZ2NvbG9yJyksIDAgMCA1cHggM3B4IHJnYmEobWFwLWdldCgkby10YWJzbGlkZXIsICdjb2xvcicpLCAwLjEpO1xuXHRcdH1cblx0fVxufVxuXG4uby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsMTIpO1xuXHRcdG1hcmdpbi1yaWdodDogY29sdW1uKDEsMTIpO1xuXHR9XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcCB7XG5cdHdpZHRoOiBzcGFjZSg2KTtcbn1cblxuLm8tdGFic2xpZGVyX19zdGVwLS1wcmV2IHtcblx0dHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG5cbi5vLXRhYnNsaWRlcl9fdGFicyB7XG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG5cdFx0bWFyZ2luOiAobWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJykgKiAtMSkgbWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJyk7XG5cdH1cbn1cblxuXG4uby10YWJzbGlkZXJfX3RhYiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdG1hcmdpbjogbWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJyk7XG5cdHBhZGRpbmc6IChzcGFjZSgxKSAtIDFweCkgc3BhY2UoMik7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5vLXRhYnNsaWRlcl9fY29udGFpbmVyIHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNik7XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19jb250ZW50IHtcblx0JiArICYge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0Z3JpZC1yb3c6IDE7XG5cdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR6LWluZGV4OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblx0XHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR9XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19sYWJlbCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoMSk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIi5vLXRlYW0ge1xuICBAaW5jbHVkZSBjb250YWluO1xuICBAaW5jbHVkZSB2c3BhY2luZyhcbiAgICAgICdtYXJnaW4tdG9wJyAxLFxuICAgICAgJ21hcmdpbi1ib3R0b20nIDFcbiAgKTtcbn1cblxuLm8tdGVhbV9fbWF0cml4IHtcbiAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiBzcGFjZSgyKSAqIC0xO1xuICB9XG59XG5cbi5vLXRlYW1fX2l0ZW0ge1xuICBtYXJnaW46IDAgYXV0byBzcGFjZSg0KTtcbiAgbWF4LXdpZHRoOiAzMjBweDtcblxuICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICBtYXJnaW46IHNwYWNlKDIpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gI3tzcGFjZSg0KX0pOyAvLyBMb25naGFuZCBuZWVkZWQgZm9yIElFXG4gIH1cblxuICBAaW5jbHVkZSBtcSgxMDAwKSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSAje3NwYWNlKDQpfSk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAje3NwYWNlKDQpfSk7XG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFVTUFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXVzcDogKFxuXHQnYmFja2dyb3VuZC1jb2xvcic6ICBcdHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLFxuXHQndGV4dC1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLXVzcCB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IGwpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ2JhY2tncm91bmQtY29sb3InKTtcblx0fVxufVxuXG4uby11c3BfX21haW4ge1xuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5vLXVzcF9fdGV4dCB7XG5cdHBhZGRpbmc6IHNwYWNlKDQpIDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ3RleHQtY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby11c3AsICdiYWNrZ3JvdW5kLWNvbG9yJyk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNSwgOCk7XG5cdFx0cGFkZGluZzoge1xuXHRcdFx0dG9wOiBjb2x1bW4oMC41LCA4KTtcblx0XHRcdGJvdHRvbTogY29sdW1uKDAuNSwgOCk7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IGNvbHVtbigxLCA4KTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2KTtcblx0XHRwYWRkaW5nOiBjb2x1bW4oMC41KSBjb2x1bW4oMSk7XG5cdH1cbn1cblxuLm8tdXNwX19pbWFnZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi1sZWZ0OiAtJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRcdG1hcmdpbi1yaWdodDogLSRzaXRlLWd1dHRlci13aWR0aDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNjUlO1xuXHRcdG1pbi1oZWlnaHQ6IDM2MHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNCwgOCk7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjb2x1bW4oLTEsIDgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNik7XG5cdH1cbn1cblxuLm8tdXNwX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ3RleHQtY29sb3InKTtcbn1cblxuLm8tdXNwX19saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMTZweDtcbn1cblxuLm8tdXNwX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDIpO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0JHdpZHRoOiAxNnB4O1xuXHRcdCRoZWlnaHQ6IDEycHg7XG5cblx0XHRjb250ZW50OicnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDVweDtcblx0XHRsZWZ0OiAtI3skd2lkdGh9O1xuXHRcdHdpZHRoOiAkd2lkdGg7XG5cdFx0aGVpZ2h0OiAkaGVpZ2h0O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aCAkaGVpZ2h0O1xuXHR9XG59XG5cbi5vLXVzcF9fYWN0aW9uIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNik7XG59XG5cbi5vLXVzcF9faW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59IiwiLm8tdmFjYW5jaWVzIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdD4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuXHR9XG59XG5cblxuLm8tdmFjYW5jaWVzX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogc29saWQgMXB4IHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuXHQmOmhvdmVyIHtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0fVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGVtcGxhdGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuIiwiLnMtY2hlY2tsaXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cblx0bGkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDU7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jaGVjay9jaGVja2VkLnN2Zyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpO1xuXHRcdH1cblx0fVxuXG5cdC5jaGVja2xpc3QtaGFzLXgtc21hbGwtZm9udCAme1xuXHRcdEBpbmNsdWRlIGZvbnQoeHMpO1xuXG5cdFx0bGkge1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn0iLCIvKipcbiAqIEFsbCB0ZXh0IGVsZW1lbnRzIHRoYXQgY2FuIGJlIGFkZGVkIGJ5IHRoZSB1c2VyIHRocm91Z2ggYSBDTVNcbiAqL1xuXG5cbi5zLXRleHQge1xuXG5cdGgyLCBoMywgaDQge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cdH1cblxuXHQvLyBGaXJzdCB0aGUgb3dsIHNlbGVjdG9yIGZvciBzZXR0aW5nIGEgZGVmYXVsdCB2ZXJ0aWNhbCByaHl0aG1cblx0JiA+ICogKyAqIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblx0fVxuXG5cdC8vIE1ha2Ugc3VyZSBmaXJzdCBpdGVtIGluIHNjb3BlZCB0ZXh0IGhhcyBubyBtYXJnaW4gb24gdG9wXG5cdCYgPiA6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcblx0fVxuXG5cdCYgPiAqICsgLmMtYnV0dG9uIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0fVxuXG5cdCYgPiB1bDpub3QoW2NsYXNzXSkge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0XHQmID4gbGkge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxLjEyNWVtO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFwyMDIyXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAtNHB4O1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYgPiBvbDpub3QoW2NsYXNzXSkge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0Y291bnRlci1yZXNldDogb2wtY291bnRlcjtcblxuXHRcdCYgPiBsaSB7XG5cdFx0XHRjb3VudGVyLWluY3JlbWVudDogb2wtY291bnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMS44ZW07XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IGNvdW50ZXIob2wtY291bnRlcikgXCIuIFwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEuMjc1ZW07XG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgQ29sb3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiBIZXJlIHdlIHByaW50IG91dCBhbGwgb3VyIGhlbHBlciBjbGFzc2VzIGZvciBvdXIgZGVmaW5lZCBjb2xvcnNcbiAqIEJhc2VkIG9uIHRoZXNlIGFydGljbGVzOlxuICogLSBodHRwOi8vZXJza2luZWRlc2lnbi5jb20vYmxvZy9mcmllbmRsaWVyLWNvbG91ci1uYW1lcy1zYXNzLW1hcHMvXG4gKiAtIGh0dHBzOi8vYmxvZy5hdGVjaG1lZGlhLmNvbS9jc3MtZm9yLW11bHRpcGxlLXRoZW1lcy9cbiAqIE91dHB1dCBpcyBpbiB0aGUgZm9ybSBvZjpcblxuICAgLnUtY29sb3ItcHJpbWFyeSB7XG4gICAgICBjb2xvcjogI2JhZGE1NTtcbiAgIH1cblxuICAudS1iZy1uZXV0cmFsLS05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWNhZmY7XG4gIH1cbiAqL1xuXG5AZWFjaCAkbGV2ZWwsICRwYWxldHRlIGluICRwYWxldHRlcyB7XG5cdEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJHBhbGV0dGUge1xuXHRcdEBpZigkdHlwZSA9PSAnYmFzZScpe1xuXHRcdFx0LnUtY29sb3ItI3skbGV2ZWx9IHtcblx0XHRcdFx0Y29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHRcdC51LWJnLSN7JGxldmVsfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdC51LWNvbG9yLSN7JGxldmVsfS0tI3skdHlwZX0ge1xuXHRcdFx0XHRjb2xvcjogI3skY29sb3J9O1xuXHRcdFx0fVxuXHRcdFx0LnUtYmctI3skbGV2ZWx9LS0jeyR0eXBlfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIudS1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcbn1cblxuLnUtcGxhY2Vob2xkZXItaW1hZ2Uge1xuXHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0b2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbn1cblxuLnUtdGV4dC1hbGlnbi1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXIhaW1wb3J0YW50O1xufSIsIi8qXG4qIElmIHlvdSBuZWVkIHRvIG1ha2UgYSBxdWljayBmaXgsIHlvdSBjYW4gZG8gaXQgaGVyZS5cbiogTGF0ZXIgd2hlbiB5b3UgaGF2ZSB0aGUgdGltZSwgeW91IGNhbiBtb3ZlIHRoZSBmaXggaW50byB0aGUgY29ycmVjdCBwbGFjZSBpbiB0aGUgc3RydWN0dXJlXG4qL1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTm90aGluZyBoZXJlIHlldCwgR29vZCBqb2IhISIsIkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggOCB7XG5cdC8vIE1hcmdpblxuXHQudS1zcGFjaW5nLW10I3skaX0gICAgIHsgbWFyZ2luLXRvcDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW1yI3skaX0gICAgIHsgbWFyZ2luLXJpZ2h0OiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctbWIjeyRpfSAgICAgeyBtYXJnaW4tYm90dG9tOiBzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW1sI3skaX0gICAgIHsgbWFyZ2luLWxlZnQ6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblxuXHQvLyBQYWRkaW5nXG5cdC51LXNwYWNpbmctcHQjeyRpfSAgICAgeyBwYWRkaW5nLXRvcDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLXByI3skaX0gICAgIHsgcGFkZGluZy1yaWdodDogc3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1wYiN7JGl9ICAgICB7IHBhZGRpbmctYm90dG9tOnNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctcGwjeyRpfSAgICAgeyBwYWRkaW5nLWxlZnQ6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cbn1cblxuLnUtc3BhY2luZy1wdiB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdwYWRkaW5nLXRvcCcgMSxcblx0XHQncGFkZGluZy1ib3R0b20nIDFcblx0KVxufVxuXG5AaW5jbHVkZSBtcShsKSB7XG5cdC51LXNwYWNpbmctcHIwXFxAbCB7XG5cdFx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRoaXMgZ3JpZCBjYW4gYmUgdHVybmVkIG9uIGFuZCBvZmYgd2hlbiB5b3Ugd2FudCB0byBjaGVja1xuICogaWYgZXZlcnl0aGluZyBpcyBuaWNlIGluIHBsYWNlLlxuICogU2V0IGZsYWcgJ3Nob3dHcmlkJyB0byB0cnVlIGluIHNpdGUucGhwXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cblxuLy8gQ29sb3I6IFNldCBhIGh1ZSB2YWx1ZSB0aGF0IGhhcyBlbm91Z2ggY29udHJhc3RcbiR2Zy1odWU6IFx0XHRcdFx0XHQyMzA7IC8vIDAtMzYwXG5cbi8vIENvbHVtbnM6IE51bWJlciBvZiBjb2x1bW5zIHBlciB2aWV3cG9ydFxuJHZnLWNvbHVtbi1jb3VudC1zOiBcdFx0JHNpdGUtY29sdW1ucy1zO1xuJHZnLWNvbHVtbi1jb3VudC1tOiBcdFx0JHNpdGUtY29sdW1ucy1tO1xuJHZnLWNvbHVtbi1jb3VudC1sOiBcdFx0JHNpdGUtY29sdW1ucy1sO1xuXG5cbi8vIERvIHNvbWUgY2FsY3VsYXRpb25zIGFuZCBwdXQgdGhlbSBpbiB2YXJpYWJsZXMgZm9yIHJldXNlXG4kdmctY29sdW1uLXdpZHRoLXM6IHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQtcyk7XG4kdmctY29sdW1uLXdpZHRoLW06IHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQtbSk7XG4kdmctY29sdW1uLXdpZHRoLWw6IHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQtbCk7XG4kdmctY29sb3ItMTogaHNsYSgkdmctaHVlLCAxMDAsIDUwLCAwLjA3KTtcbiR2Zy1jb2xvci0yOiBoc2xhKCR2Zy1odWUsIDEwMCwgNTAsIDAuMDQpO1xuXG5cbi51LXZpc2libGUtZ3JpZCB7XG5cdEBpbmNsdWRlIHooei12aXNpYmxlLWdyaWQpO1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0LyogOCBwb2ludCBncmlkIGxpbmVzICovXG5cdC8vYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0Ly9cdHRvIGJvdHRvbSxcblx0Ly9cdGhzbGEoMCwgMTAwLCA1MCwgMC44NCkgMCxcblx0Ly9cdGhzbGEoMCwgMTAwLCA1MCwgMCkgMXB4LFxuXHQvL1x0aHNsYSgwLCAxMDAsIDUwLCAwKSA4cHgsXG5cdC8vXHRoc2xhKDIwMCwgMTAwLCA1MCwgMC4wNCkgOHB4XG5cdC8vKTtcblxuXHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG59XG5cbi51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG5cdGhlaWdodDogMTAwdmg7XG5cblx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdHRvIHJpZ2h0LFxuXHRcdFx0JHZnLWNvbG9yLTEsXG5cdFx0XHQkdmctY29sb3ItMSAkdmctY29sdW1uLXdpZHRoLXMsXG5cdFx0XHQkdmctY29sb3ItMiAkdmctY29sdW1uLXdpZHRoLXMsXG5cdFx0XHQkdmctY29sb3ItMiAoJHZnLWNvbHVtbi13aWR0aC1zICogMilcblx0KTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gcmlnaHQsXG5cdFx0XHRcdCR2Zy1jb2xvci0xLFxuXHRcdFx0XHQkdmctY29sb3ItMSAkdmctY29sdW1uLXdpZHRoLW0sXG5cdFx0XHRcdCR2Zy1jb2xvci0yICR2Zy1jb2x1bW4td2lkdGgtbSxcblx0XHRcdFx0JHZnLWNvbG9yLTIgKCR2Zy1jb2x1bW4td2lkdGgtbSAqIDIpXG5cdFx0KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gcmlnaHQsXG5cdFx0XHRcdCR2Zy1jb2xvci0xLFxuXHRcdFx0XHQkdmctY29sb3ItMSAkdmctY29sdW1uLXdpZHRoLWwsXG5cdFx0XHRcdCR2Zy1jb2xvci0yICR2Zy1jb2x1bW4td2lkdGgtbCxcblx0XHRcdFx0JHZnLWNvbG9yLTIgKCR2Zy1jb2x1bW4td2lkdGgtbCAqIDIpXG5cdFx0KTtcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/