File: D:/HostingSpaces/ReturnIndustries/return-industries.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
=========================================================== */
/* ========================================
Config settings
======================================== */
/* =========================================================
Organize color variables in a Sass Map.
This way, the colors can be iterated, are more organized,
and are more intuitive to reference.
========================================================= */
/* ==========================================================
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 */
/**
* A simple function for accessing the colors from our mapping
* To access colors in our palette, we use a very simple custom Sass function
USAGE:
a {
color: palette(primary);
&:hover {
color: palette(primary, 2);
}
}
*/
/*
* 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 box-shadow
USAGE:
.card {
@include box-shadow;
}
.card--alt {
@include box-shadow(low);
}
*/
/**
* A simple function for setting a consistent border-radius
USAGE:
.card {
@include border-radius;
}
.card--alt {
@include border-radius(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
*/
html {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
font-feature-settings: "lnum";
box-sizing: border-box;
}
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;
}
/**
* [1] Make sure elements like input and textarea inherit some base properties
* https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
*
* [2] Setting box-sizing the best way per:
* https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
*/
* {
font-family: inherit;
line-height: inherit;
color: inherit;
}
*, *:before, *:after {
box-sizing: inherit;
}
/**
* [1] Turn off text-shadow when selecting text for better readability
*/
::-moz-selection {
background: #0D0D0C;
color: #fff7f2;
text-shadow: none;
/* [1] */
}
::selection {
background: #0D0D0C;
color: #fff7f2;
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: #859CCC;
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: #859CCC;
content: "";
opacity: 0;
-webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
transition: height 0.3s, opacity 0.3s, transform 0.3s;
transition: height 0.3s, opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
-webkit-transform: translateY(-5px);
transform: translateY(-5px);
}
a:not([class]):hover::after {
height: 2px;
opacity: 1;
-webkit-transform: translateY(0px);
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: 400;
}
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: 600;
}
/** =====================================================================================
* 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: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
/**
* 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 {
-webkit-box-ordinal-group: 3;
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-button {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
border-radius: 8px;
font-size: 0.875rem;
line-height: 1.1428571429;
color: #fff7f2;
background-color: #0D0D0C;
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 #0D0D0C;
}
.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: #0a0a0a;
pointer-events: none;
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 0.5s;
transition-duration: 0.5s;
}
.c-button:hover:not(:disabled)::after {
opacity: 1;
-webkit-transform: scale(100);
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;
-webkit-transition: -webkit-transform 0.3s;
transition: -webkit-transform 0.3s;
transition: transform 0.3s;
transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-button:hover:not(:disabled) .c-button__icon {
-webkit-transform: translateX(3px);
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 {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
border-radius: 8px;
font-size: 0.875rem;
line-height: 1.1428571429;
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;
-webkit-transform: scaleX(0);
transform: scaleX(0);
opacity: 0;
pointer-events: none;
-webkit-transition-duration: 0.5s;
transition-duration: 0.5s;
}
.c-ghostbutton:hover:not(:disabled)::after {
-webkit-transform: scaleX(1);
transform: scaleX(1);
opacity: 1;
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 0.35s;
transition-duration: 0.35s;
-webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
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;
-webkit-transition: -webkit-transform 0.3s;
transition: -webkit-transform 0.3s;
transition: transform 0.3s;
transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-ghostbutton:hover:not(:disabled) .c-ghostbutton__icon {
-webkit-transform: translateX(3px);
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: block;
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::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%);
-webkit-transform: translateX(-135%) rotate(11deg) scale(1.3);
transform: translateX(-135%) rotate(11deg) scale(1.3);
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 300ms;
transition-duration: 300ms;
-webkit-transition-delay: 100ms;
transition-delay: 100ms;
-webkit-transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
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='%230D0D0C' 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;
-webkit-transform: scale(1.75);
transform: scale(1.75);
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
}
.c-card--has-action:hover:before {
opacity: 0.92;
-webkit-transform: rotate(11deg) scale(1.3);
transform: rotate(11deg) scale(1.3);
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
-webkit-transition-delay: 50ms;
transition-delay: 50ms;
}
.c-card--has-action:hover:after {
opacity: 1;
-webkit-transform: none;
transform: none;
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
-webkit-transition-delay: 200ms;
transition-delay: 200ms;
}
.c-card--has-action:focus {
outline-offset: 2px;
outline-color: #859CCC;
}
.c-card__picture {
width: 100%;
display: block;
}
.c-card__img {
-o-object-fit: cover;
object-fit: cover;
width: 100%;
}
@media screen and (max-width: 839px) {
.c-card__img {
max-height: 53.5vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-card__img {
max-height: 25.6vw;
}
}
.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: 500;
text-transform: uppercase;
color: #ffffff;
background-color: #000000;
-webkit-transition-property: background;
transition-property: background;
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
}
.c-card--has-action:hover .c-card__label {
color: #fff7f2;
}
.c-card__label::before {
content: "";
position: absolute;
z-index: -1;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #0D0D0C;
pointer-events: none;
-webkit-transform: translateY(200%) rotate(5deg) scale(2);
transform: translateY(200%) rotate(5deg) scale(2);
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
-webkit-transition-delay: 200ms;
transition-delay: 200ms;
-webkit-transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action:hover .c-card__label::before {
opacity: 1;
-webkit-transform: rotate(5deg) scale(2);
transform: rotate(5deg) scale(2);
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
-webkit-transition-delay: 0ms;
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: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
background: none;
border: none;
outline: none;
cursor: pointer;
-webkit-transition: -webkit-transform 180ms ease-out;
transition: -webkit-transform 180ms ease-out;
transition: transform 180ms ease-out;
transition: transform 180ms ease-out, -webkit-transform 180ms ease-out;
}
.c-close:focus {
box-shadow: 0 0 3px 2px #ffffff;
}
.c-close:after, .c-close:before {
content: "";
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: #ffffff;
border-radius: 3px;
}
.c-close:before {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.c-close:after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.c-close:hover {
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
.c-connect {
display: -webkit-box;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
flex-direction: column;
}
@media screen and (min-width: 840px) {
.c-connect {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
.c-connect__phone {
font-size: 1.5rem;
line-height: 1.3333333333;
font-weight: 600;
text-decoration: none;
color: #1A1A1A;
-webkit-transition: opacity 300ms;
transition: opacity 300ms;
}
.c-connect__phone:hover {
opacity: 0.7;
text-decoration: underline;
}
.c-connect__phone:focus {
outline: none;
color: #859CCC;
text-shadow: 1px 1px 0 #fff, 2px 2px 0 rgba(26, 26, 26, 0.35);
text-decoration: underline;
}
.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: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
.c-data__label {
min-width: 64px;
font-weight: 600;
color: #1A1A1A;
}
.c-data__value {
-webkit-box-flex: 9999;
flex-grow: 9999;
color: #656565;
text-decoration: none;
}
.c-data__value[href]:hover {
text-decoration: underline;
}
.c-data__value[href]:focus {
outline-color: #859CCC;
}
.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: #859CCC;
background-color: rgba(133, 156, 204, 0.1);
border: 1px solid #859CCC;
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: #1A1A1A;
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: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
color: #000000;
background: none;
border: none;
outline: none;
cursor: pointer;
}
.c-hamburger:focus {
box-shadow: 0 0 3px 2px #859CCC;
}
.c-hamburger.is-light {
color: #ffffff;
}
.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;
-webkit-transform-origin: right;
transform-origin: right;
-webkit-transition-property: -webkit-transform;
transition-property: -webkit-transform;
transition-property: transform;
transition-property: transform, -webkit-transform;
-webkit-transition-duration: 150ms;
transition-duration: 150ms;
-webkit-transition-timing-function: ease-out;
transition-timing-function: ease-out;
-webkit-transition-delay: 100ms;
transition-delay: 100ms;
}
.c-hamburger:before {
top: 12px;
-webkit-transform: scaleX(0.8);
transform: scaleX(0.8);
}
.c-hamburger:after {
top: 28px;
-webkit-transform: scaleX(0.5);
transform: scaleX(0.5);
}
.c-hamburger:hover > span {
-webkit-transform: scaleX(0.8);
transform: scaleX(0.8);
}
.c-hamburger:hover:after, .c-hamburger:hover:before {
-webkit-transform: scaleX(1);
transform: scaleX(1);
}
.is-overlay-menu-active .c-hamburger > span {
-webkit-transform: scaleX(1) !important;
transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger:before {
-webkit-transform: translateY(3px) scaleX(1) !important;
transform: translateY(3px) scaleX(1) !important;
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
.is-overlay-menu-active .c-hamburger:after {
-webkit-transform: translateY(-3px) scaleX(1) !important;
transform: translateY(-3px) scaleX(1) !important;
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
.c-heading {
font-size: 2rem;
line-height: 1.25;
margin: 40px 0;
color: #1A1A1A;
}
@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;
-webkit-transition-property: opacity, -webkit-filter;
transition-property: opacity, -webkit-filter;
transition-property: opacity, filter;
transition-property: opacity, filter, -webkit-filter;
-webkit-transition-duration: 500ms;
transition-duration: 500ms;
-webkit-transition-timing-function: linear;
transition-timing-function: linear;
-webkit-filter: blur(5px);
filter: blur(5px);
}
.c-hero__picture.is-active {
opacity: 1;
-webkit-transform: translateY(0) scale(1);
transform: translateY(0) scale(1);
-webkit-filter: none;
filter: none;
}
.c-hero__image {
width: 100%;
}
.c-hero__caption {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
font-size: 3rem;
line-height: 1;
position: relative;
padding: 24px;
line-height: 1.16;
text-align: center;
color: #ffffff;
background-color: #000000;
pointer-events: none;
}
@media screen and (max-width: 383px) {
.c-hero__caption {
font-size: 13vw;
}
}
@media screen and (min-width: 840px) {
.c-hero__caption {
position: absolute;
top: 50%;
max-width: 66.6666666667%;
padding: 32px;
text-align: left;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-hero__caption {
max-width: 60%;
padding: 2.6vw;
font-size: 4.2vw;
}
}
@media screen and (min-width: 1152px) {
.c-hero__caption {
font-size: 3.5rem;
line-height: 1;
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: -webkit-gradient(linear, left bottom, left top, from(black), to(transparent));
background: linear-gradient(to top, black, transparent);
opacity: 0.3;
}
.c-hero__scroll {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
position: absolute;
bottom: 0;
left: 50%;
width: 40px;
height: 40px;
padding: 10px;
color: #ffffff;
background-color: #0D0D0C;
border-radius: 100%;
-webkit-transform: translate(-50%, 50%) rotate(0.25turn);
transform: translate(-50%, 50%) rotate(0.25turn);
-webkit-transition: background-color 200ms;
transition: background-color 200ms;
}
@media screen and (max-width: 839px) {
.c-hero__scroll {
display: none;
}
}
.c-hero__scroll > svg {
-webkit-transition: -webkit-transform 200ms;
transition: -webkit-transform 200ms;
transition: transform 200ms;
transition: transform 200ms, -webkit-transform 200ms;
}
.c-hero__scroll:hover {
cursor: pointer;
background: #0c0c0b;
}
.c-hero__scroll:hover > svg {
-webkit-transform: translateX(3px);
transform: translateX(3px);
}
.c-hero__scroll:focus {
outline: none;
background: #0c0c0b;
box-shadow: 0 0 0 3px #ffffff;
}
/*
* Alternative version of the hero element
* Comment out when needed
*/
.c-input {
font-size: 0.9375rem;
line-height: 1.6;
width: 100%;
padding: 7px 16px;
color: #1A1A1A;
background-color: #ffffff;
border: 1px solid #c8c8c8;
outline: none;
}
.has-error .c-input {
box-shadow: 0 0 7px -3px #859CCC;
border-color: #859CCC;
}
.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;
color: #c8c8c8;
}
.c-language.is-light {
color: #ffffff;
}
.c-language__button {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
font-size: 0.9375rem;
line-height: 1.6;
border-radius: 4px;
position: relative;
width: 100%;
padding: 8px;
text-align: left;
background: transparent;
color: inherit;
border: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
-webkit-transition: background-color 0.15s, box-shadow 0.15s;
transition: background-color 0.15s, box-shadow 0.15s;
}
.c-language__button:focus {
outline: none;
}
.c-language:hover .c-language__button {
color: #0D0D0C;
}
.c-language__icon {
-webkit-box-flex: 0;
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;
-webkit-transform: translate3d(0, -5px, 0);
transform: translate3d(0, -5px, 0);
-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
transition: opacity 0.3s, -webkit-transform 0.3s;
transition: opacity 0.3s, transform 0.3s;
transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
.c-language:hover .c-language__dropdown {
opacity: 1;
pointer-events: all;
-webkit-transform: translate3d(0, 0, 0);
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;
-webkit-transition: background-color 0.3s;
transition: background-color 0.3s;
}
.c-language__link:hover {
color: #fff7f2;
background-color: #0D0D0C;
}
.c-nav {
height: 100%;
padding: 0;
}
.c-nav__list {
display: -webkit-box;
display: flex;
-webkit-box-pack: end;
justify-content: flex-end;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin-left: 3vw;
padding: 0;
list-style: none;
}
.c-nav__item {
white-space: nowrap;
}
.c-nav__item:last-child {
margin-right: 0;
}
@media screen and (max-width: 1151px) {
.c-nav__item {
font-size: calc(1.3vw + 0.05rem);
margin-right: 1.3vw;
}
}
@media screen and (min-width: 1152px) {
.c-nav__item {
margin-right: 2.2vw;
}
}
@media screen and (min-width: 1344px) {
.c-nav__item {
margin-right: 4%;
}
}
.c-nav__link {
position: relative;
padding: 4px;
color: #1A1A1A;
text-decoration: none;
}
.is-header-alt .c-nav__link {
color: #fff7f2;
}
.c-nav__link::before {
content: "";
display: block;
position: absolute;
z-index: -1;
left: 4px;
bottom: 1px;
width: calc(100% - 8px);
height: 2px;
background-color: #c8c8c8;
-webkit-transform: scaleX(0);
transform: scaleX(0);
-webkit-transform-origin: bottom right;
transform-origin: bottom right;
-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
.is-header-alt .c-nav__link::before {
background-color: rgba(255, 255, 255, 0.5);
}
.c-nav__link:hover::before {
-webkit-transform: scaleX(1);
transform: scaleX(1);
-webkit-transform-origin: bottom left;
transform-origin: bottom left;
}
.c-nav__link.is-active {
font-weight: 500;
}
.c-nav__link.is-active::before {
background-color: #E30613;
-webkit-transform: scaleX(1);
transform: scaleX(1);
-webkit-transform-origin: bottom left;
transform-origin: bottom left;
}
.c-nav__link:focus {
outline-color: #859CCC;
}
.c-pagination {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
border-radius: 8px;
border: 1px solid #c8c8c8;
list-style: none;
margin-left: 0;
overflow: hidden;
}
.c-pagination__item {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
@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: -webkit-box;
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: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
min-width: 48px;
min-height: 48px;
padding: 8px;
}
.c-pagination__text {
color: #1A1A1A;
opacity: 0.35;
}
.c-pagination__link {
color: #1A1A1A;
text-decoration: none;
-webkit-transition: color 0.2s, background-color 0.2s;
transition: color 0.2s, background-color 0.2s;
}
.c-pagination__link:hover {
color: #121212;
background: #f8f8f8;
}
.is-active > .c-pagination__link {
box-shadow: inset 0 0 10px -5px #E30613;
font-weight: bold;
color: #E30613;
cursor: default;
}
.c-pagination__prev,
.c-pagination__next {
-webkit-transition: background 0.2s;
transition: background 0.2s;
-webkit-transform: rotate(0.75turn);
transform: rotate(0.75turn);
}
.c-pagination__prev.is-inactive,
.c-pagination__next.is-inactive {
color: rgba(26, 26, 26, 0.4);
background: transparent;
}
.c-pagination__prev {
-webkit-transform: rotate(0.25turn);
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: #1A1A1A;
}
@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--on-dark {
color: #ffffff;
}
.c-projector {
position: relative;
height: 100%;
}
.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;
-moz-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%;
display: block;
background-color: #f8f8f8;
opacity: 0;
-webkit-transition: opacity 0.5s;
transition: opacity 0.5s;
}
.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%;
-o-object-fit: cover;
object-fit: cover;
}
@media screen and (max-width: 839px) {
.c-projector__img {
max-height: 78vh;
}
}
.c-servicepoint {
flex-wrap: wrap;
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
text-align: left;
margin-top: -16px;
}
.c-servicepoint__image {
margin-top: 16px;
margin-right: 16px;
border-radius: 100%;
max-width: 176px;
}
@media screen and (max-width: 539px) {
.c-servicepoint__image {
width: 96px;
}
}
.c-servicepoint__content {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
display: -ms-grid;
display: grid;
-ms-grid-rows: 1fr auto 1fr;
grid-template-rows: 1fr auto 1fr;
-webkit-box-flex: 9999;
flex-grow: 9999;
min-width: 180px;
margin-top: 16px;
}
.c-servicepoint__header {
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
}
.c-servicepoint__body {
-ms-grid-row: 2;
grid-row: 2;
margin: 8px 0;
}
.c-servicepoint__footer {
-ms-grid-row: 3;
grid-row: 3;
}
.c-servicepoint__heading {
font-size: 1rem;
line-height: 1.5;
color: #656565;
border-radius: 100%;
}
.c-servicepoint__subheading {
font-size: 0.9375rem;
line-height: 1.6;
color: #999999;
}
.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: #E30613;
text-decoration: underline;
}
/*
* Skip Link
*/
.c-skip-link {
font-size: 0.9375rem;
line-height: 1.6;
position: fixed;
top: -100vh;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
color: #859CCC;
text-decoration: none;
}
.c-skip-link:focus {
outline-color: #859CCC;
outline-offset: 2px;
top: 5px;
/* Now the link will appear */
}
.c-slide-indicator {
display: -webkit-box;
display: flex;
-webkit-box-pack: end;
justify-content: flex-end;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
.c-slide-indicator__button {
position: relative;
display: inline-block;
width: 30px;
height: 30px;
background-color: transparent;
border: none;
cursor: pointer;
-webkit-transition-property: background-color, opacity;
transition-property: background-color, opacity;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
}
.c-slide-indicator__button:focus {
outline: none;
}
.c-slide-indicator__button:hover:not(.is-active), .c-slide-indicator__button:focus:not(.is-active) {
opacity: 0.5;
}
.c-slide-indicator__button:before, .c-slide-indicator__button:after {
content: "";
position: absolute;
background-clip: content-box;
-webkit-transition-property: background-color, opacity, -webkit-transform;
transition-property: background-color, opacity, -webkit-transform;
transition-property: transform, background-color, opacity;
transition-property: transform, background-color, opacity, -webkit-transform;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out;
border-radius: 100%;
}
.c-slide-indicator__button: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__button: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;
-webkit-transform: scale(1.4);
transform: scale(1.4);
opacity: 0;
}
.c-slide-indicator__button.is-active:before {
background-color: #000000;
border-color: rgba(255, 255, 255, 0.9);
-webkit-transform: scale(0.75);
transform: scale(0.75);
}
.c-slide-indicator__button.is-active:after {
opacity: 0.9;
-webkit-transform: scale(1);
transform: scale(1);
}
.c-slide-indicator__button:focus {
opacity: 1 !important;
}
.c-slide-indicator__button:focus:before {
box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-slide-indicator__button:focus:after {
box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-subnav {
height: 100%;
padding: 1px 6vw 80px 6vw;
background-color: #f8f8f8;
}
@media screen and (min-width: 840px) {
.c-subnav {
padding-top: 40px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split--breakout-on-m .c-subnav {
padding-left: 25%;
}
}
@media screen and (min-width: 1152px) {
.c-subnav {
padding-left: 16.6666666667%;
padding-right: 16.6666666667%;
}
}
.c-subnav__list {
margin-top: 40px;
list-style-type: none;
margin-left: 0;
}
.c-subnav__item--back {
margin-top: 24px;
}
.c-subnav__link {
position: relative;
display: -webkit-box;
display: flex;
padding: 8px 0;
color: #656565;
text-decoration: none;
cursor: pointer;
-webkit-transition: color 250ms;
transition: color 250ms;
}
.c-subnav__link:hover {
color: #1A1A1A;
}
.c-subnav__link:focus {
outline-color: #859CCC;
}
.c-subnav__item.is-active .c-subnav__link {
color: #E30613;
font-weight: 600;
}
.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: #E30613;
border-width: 2px;
}
.c-subnav__icon {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-align: center;
align-items: center;
margin-left: auto;
color: #c8c8c8;
-webkit-transform: translateX(-8px);
transform: translateX(-8px);
-webkit-transition-property: color, -webkit-transform;
transition-property: color, -webkit-transform;
transition-property: transform, color;
transition-property: transform, color, -webkit-transform;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
}
.c-subnav__link:hover .c-subnav__icon {
-webkit-transform: none;
transform: none;
color: #1A1A1A;
}
.c-subnav__item.is-active .c-subnav__icon {
display: none;
}
/**
* 1. Color gets inherited and used for nested elements with 'currentColor' property
* 2. Reset default button styling
*/
.c-textbutton {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
color: #859CCC;
/* 1 */
padding: 0;
/* 2 */
background-color: transparent;
/* 2 */
border: none;
/* 2 */
cursor: pointer;
text-decoration: none;
-webkit-transition: color 0.3s;
transition: color 0.3s;
}
.c-textbutton:hover:not(:disabled) {
color: #3c568f;
}
.c-textbutton:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-textbutton:focus {
outline-color: #859CCC;
}
.c-textbutton__text {
font-size: 1rem;
line-height: 1.5;
}
.c-textbutton__icon {
display: none;
position: relative;
margin-left: 8px;
-webkit-transition: -webkit-transform 0.3s;
transition: -webkit-transform 0.3s;
transition: transform 0.3s;
transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-textbutton:hover:not(:disabled) .c-textbutton__icon {
-webkit-transform: translateX(3px);
transform: translateX(3px);
}
.c-textbutton--icon .c-textbutton__icon {
display: block;
}
.c-textbutton--is-reversed .c-textbutton__text {
-webkit-box-ordinal-group: 3;
order: 2;
}
.c-textbutton--is-reversed .c-textbutton__icon {
-webkit-box-ordinal-group: 2;
order: 1;
top: 1px;
margin-left: 0;
margin-right: 8px;
-webkit-transform: rotate(0.5turn);
transform: rotate(0.5turn);
}
.c-textbutton--is-reversed:hover:not(:disabled) .c-textbutton__icon {
-webkit-transform: rotate(0.5turn) translateX(3px);
transform: rotate(0.5turn) translateX(3px);
}
.c-textbutton--on-dark {
color: #ffffff !important;
}
.c-trademark {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
text-decoration: none;
-webkit-transition: color 200ms;
transition: color 200ms;
}
.c-trademark:hover {
color: #ffffff;
}
.c-trademark:focus {
outline-color: #859CCC;
}
.c-trademark__text {
margin-right: 7px;
white-space: nowrap;
}
.c-trademark__icon {
width: 100px;
max-height: 32px;
opacity: 0.5;
-webkit-transition: opacity 200ms;
transition: opacity 200ms;
}
.c-trademark:hover .c-trademark__icon {
opacity: 1;
}
.c-video {
position: relative;
height: 0;
width: 100%;
padding-bottom: 53.6%;
background-color: #f8f8f8;
}
.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;
-webkit-transition-property: border;
transition-property: border;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
}
.o-accordion__item + .o-accordion__item {
margin-top: 16px;
}
.o-accordion__item:not(.is-active):hover {
border-color: #E30613;
}
.o-accordion__title {
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
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: #E30613;
}
.o-accordion__icon {
-webkit-box-flex: 0;
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%;
-webkit-transition-property: color;
transition-property: color;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
-webkit-transition-timing-function: ease;
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;
-webkit-transition-property: background-color, -webkit-transform;
transition-property: background-color, -webkit-transform;
transition-property: background-color, transform;
transition-property: background-color, transform, -webkit-transform;
-webkit-transition-duration: 250ms, 400ms;
transition-duration: 250ms, 400ms;
-webkit-transition-timing-function: ease, cubic-bezier(0.86, 0, 0.07, 1);
transition-timing-function: ease, cubic-bezier(0.86, 0, 0.07, 1);
}
.o-accordion__item.is-active .o-accordion__icon::before {
-webkit-transform: scaleX(0) rotate(0.25turn);
transform: scaleX(0) rotate(0.25turn);
}
.o-accordion__icon::after {
-webkit-transform: rotate(0.25turn);
transform: rotate(0.25turn);
}
.o-accordion__item.is-active .o-accordion__icon::after {
-webkit-transform: rotate(0.5turn);
transform: rotate(0.5turn);
}
.o-accordion__header {
font-size: 1rem;
line-height: 1.5;
font-weight: 500;
color: inherit;
text-decoration: inherit;
-webkit-transition-property: color;
transition-property: color;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
-webkit-transition-timing-function: ease;
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;
-webkit-transform: translateY(6px);
transform: translateY(6px);
-webkit-transition: all 0.2s ease-in-out;
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;
-webkit-transform: none;
transform: none;
-webkit-transition-property: all;
transition-property: all;
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
-webkit-transition-timing-function: ease-out;
transition-timing-function: ease-out;
-webkit-transition-delay: 0.2s;
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;
}
.o-callout-bar {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
color: #1A1A1A;
background-color: #f8f8f8;
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__heading {
font-size: 2rem;
line-height: 1.25;
}
/*
* Card grid
*
*/
@media screen and (min-width: 600px) {
.o-card-grid__main {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
@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: 444px;
margin: 0 auto;
}
}
@media screen and (min-width: 600px) and (max-width: 1151px) {
.o-card-grid__item {
-webkit-box-flex: 0;
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 {
-webkit-box-flex: 0;
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 {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
position: relative;
}
@media screen and (min-width: 840px) {
.o-contact {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-contact {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 1220px) {
.o-contact {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
.o-contact__info {
background-color: #ffffff;
}
@media screen and (min-width: 840px) {
.o-contact__info {
padding: 48px 12.5%;
}
}
@media screen and (min-width: 1220px) {
.o-contact__info {
width: 50%;
padding-left: 8.3333333333%;
padding-right: 24px;
}
}
.o-contact__form {
background-color: #f8f8f8;
}
@media screen and (max-width: 839px) {
.o-contact__form {
margin-top: 12vw;
padding: 6vw;
width: 100vw;
margin-left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}
}
@media screen and (min-width: 840px) {
.o-contact__form {
padding: 48px 12.5%;
}
}
@media screen and (min-width: 1220px) {
.o-contact__form {
width: 50%;
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
.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: #1A1A1A;
}
.o-contact__card {
margin-bottom: 40px;
}
.o-contact__address {
margin-top: 24px;
}
.o-contact__numbers {
margin-top: 16px;
}
.o-cookie-bar {
z-index: 9999;
display: none;
position: fixed;
bottom: 0;
left: 0;
height: 64px;
width: 100%;
background-color: #000000;
opacity: 1;
box-shadow: 0 -4px 6px 0 rgba(0, 0, 0, 0.2);
-webkit-transition: opacity 0.5s, -webkit-transform 0.6s;
transition: opacity 0.5s, -webkit-transform 0.6s;
transition: opacity 0.5s, transform 0.6s;
transition: opacity 0.5s, transform 0.6s, -webkit-transform 0.6s;
-webkit-transform: none;
transform: none;
}
.o-cookie-bar:not(.is-accepted) {
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
.o-cookie-bar.is-transitioning-out {
opacity: 0;
-webkit-transform: translateY(50%);
transform: translateY(50%);
}
.o-cookie-bar__main {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
@media screen and (max-width: 373px) {
.o-cookie-bar__main {
-webkit-transform: scale(0.9);
transform: scale(0.9);
}
}
.o-cookie-bar__text {
margin: 0;
color: #999999;
}
@media screen and (max-width: 374px) {
.o-cookie-bar__text {
font-size: 0.875rem;
line-height: 1.1428571429;
}
}
.o-cookie-bar__link {
color: inherit;
-webkit-transition: color 0.3s;
transition: color 0.3s;
}
.o-cookie-bar__link:hover {
color: rgba(153, 153, 153, 0.75);
}
.o-cookie-bar__button {
-webkit-box-flex: 0;
flex: none;
margin-left: 40px;
}
@media screen and (max-width: 839px) {
.o-cookie-bar__button {
margin-left: 16px;
}
}
.o-cookie-overlay {
position: fixed;
z-index: 9999;
top: 0;
left: 0;
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.6);
opacity: 1;
-webkit-transition: opacity 0.5s;
transition: opacity 0.5s;
}
.o-cookie-overlay.is-accepted {
display: none;
}
.o-cookie-overlay.fade-out {
opacity: 0;
}
.o-cookie-overlay__modal {
display: block;
width: 92%;
max-width: 960px;
padding: 60px 120px;
margin: auto;
background-color: #ffffff;
}
.o-cookie-overlay__container.is-hidden {
display: none;
}
.o-cookie-overlay__title {
font-size: 24px;
line-height: 1;
font-weight: 500;
margin: 0 0 5px;
color: #1A1A1A;
}
.o-cookie-overlay__text {
font-size: 16px;
line-height: 1.2;
margin: 0;
color: #999999;
}
.o-cookie-overlay__link {
text-decoration: underline;
color: #859CCC;
cursor: pointer;
-webkit-transition: color 0.3s;
transition: color 0.3s;
}
.o-cookie-overlay__link:hover {
color: rgba(133, 156, 204, 0.75);
}
.o-cookie-overlay__button {
display: inline-block;
margin-top: 35px;
padding: 13px 25px;
border-radius: 4px;
background-color: #859CCC;
-webkit-transition: background-color 0.4s;
transition: background-color 0.4s;
font-size: 16px;
line-height: 1.2;
font-weight: 500;
color: #ffffff;
cursor: pointer;
outline: none;
border: none;
}
.o-cookie-overlay__button:hover {
background-color: #6885c0;
}
.o-cookie-overlay__types, .o-cookie-overlay__settings {
margin: 30px 0;
}
.o-cookie-overlay__types > * + *, .o-cookie-overlay__settings > * + * {
margin-top: 25px;
}
.o-cookie-overlay__settings {
margin-bottom: 0;
}
.o-footer {
z-index: 20;
color: #f2efed;
background-color: #E30613;
}
.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: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
.o-footer__brand {
display: block;
width: 100%;
-webkit-transition: opacity 200ms linear;
transition: opacity 200ms linear;
}
@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__brand:hover {
opacity: 0.5;
}
.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: 6vw;
}
}
@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: #f2efed;
text-decoration: none;
cursor: pointer;
-webkit-transition: color 0.3s;
transition: color 0.3s;
}
.o-footer__link::before {
content: "";
display: block;
position: absolute;
z-index: -1;
left: -10px;
bottom: 0;
width: 100%;
height: 50%;
background-color: rgba(242, 239, 237, 0.1);
-webkit-transform: scaleX(0) skew(0deg);
transform: scaleX(0) skew(0deg);
-webkit-transform-origin: bottom left;
transform-origin: bottom left;
-webkit-transition: -webkit-transform 0.35s cubic-bezier(0.86, 0, 0.07, 1);
transition: -webkit-transform 0.35s cubic-bezier(0.86, 0, 0.07, 1);
transition: transform 0.35s cubic-bezier(0.86, 0, 0.07, 1);
transition: transform 0.35s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.86, 0, 0.07, 1);
}
.o-footer__link:hover::before {
-webkit-transform: scaleX(1) skew(-37deg);
transform: scaleX(1) skew(-37deg);
}
.o-footer__link:focus {
outline-color: #859CCC;
}
.o-footer__social {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
list-style: none;
margin: 32px 0 0;
}
.o-footer__channel {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
width: 24px;
height: 24px;
margin-right: 16px;
}
.o-footer__icon {
-webkit-box-flex: 1;
flex: auto;
display: block;
height: 100%;
background-repeat: no-repeat;
background-position: center;
-webkit-transition-property: opacity;
transition-property: opacity;
-webkit-transition-duration: 0.3s;
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: #859CCC;
}
.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;
}
.o-header {
z-index: 50;
position: relative;
padding: 32px 0;
}
.o-header.is-header-alt {
background-color: #E30613;
}
.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;
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: transform, opacity;
transition-property: transform, opacity, -webkit-transform;
-webkit-transition-duration: 300ms;
transition-duration: 300ms;
-webkit-transition-delay: 0s, 300ms;
transition-delay: 0s, 300ms;
-webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
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;
-webkit-transform: none;
transform: none;
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
.o-header__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
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%;
}
@media screen and (max-width: 1099px) {
.o-header__nav {
display: none;
}
}
.o-header__language {
margin-left: 16px;
}
@media screen and (max-width: 1099px) {
.o-header__language {
margin-left: auto;
}
}
.o-header__logo {
-webkit-box-flex: 0;
flex: none;
}
.o-header__logo:focus {
outline-offset: 2px;
outline-color: #859CCC;
}
.o-header__img {
max-height: 48px;
width: 147px;
}
@media screen and (min-width: 1100px) {
.o-header__toggle {
display: none;
}
}
.o-intro {
position: relative;
z-index: 0;
}
@media screen and (max-width: 839px) {
.o-intro.is-intro-alt {
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-intro.is-intro-alt {
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-intro.is-intro-alt {
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-intro.is-intro-alt {
margin-bottom: 96px;
}
}
.is-intro-alt .o-intro__header {
background-color: #AE0F0A;
}
.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 (min-width: 840px) {
.is-intro-alt .o-intro__body {
background-color: #AE0F0A;
}
}
@media screen and (max-width: 839px) {
.o-intro--mobile-break-out .o-intro__main {
width: 100vw;
margin-left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}
}
@media screen and (min-width: 840px) {
.o-intro__main::before {
content: "";
position: absolute;
z-index: 0;
top: 50%;
right: 0;
bottom: 0;
left: 0;
background-color: #E30613;
}
}
.o-logos__list {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin-left: 0;
margin: -2.382vw;
list-style-type: none;
}
@media screen and (min-width: 1344px) {
.o-logos__list {
margin: -32px;
}
}
.o-logos__item {
-webkit-box-flex: 0;
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: #1A1A1A;
}
.o-news__article {
position: relative;
}
.o-news__article + .o-news__article {
margin-top: 32px;
}
.o-news__link {
display: block;
cursor: pointer;
text-decoration: none;
-webkit-transition: background-color 150ms linear;
transition: background-color 150ms linear;
}
.o-news__link::before {
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 1px solid #c8c8c8;
-webkit-transition: opacity 150ms linear;
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: #859CCC;
}
@media screen and (min-width: 840px) {
.o-news__link {
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: start;
align-items: flex-start;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
.o-news__body {
-webkit-box-flex: 1;
flex-grow: 1;
padding: 6vw;
}
@media screen and (min-width: 840px) {
.o-news__body {
-webkit-box-ordinal-group: 2;
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 {
-webkit-box-flex: 0;
flex: none;
-webkit-box-ordinal-group: 3;
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: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin-top: 8px;
color: #859CCC;
}
.o-news__readmore {
margin-right: 8px;
}
.o-news__footer {
margin-top: 32px;
text-align: center;
}
.o-overlay-menu {
z-index: 100;
display: -webkit-box;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
flex-direction: column;
opacity: 0;
position: fixed;
height: 100%;
width: 100%;
left: 0;
top: 0;
background-color: #E30613;
-webkit-transform: translateX(-120vw);
transform: translateX(-120vw);
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: transform, opacity;
transition-property: transform, opacity, -webkit-transform;
-webkit-transition-duration: 400ms, 200ms;
transition-duration: 400ms, 200ms;
-webkit-transition-delay: 0s, 400ms;
transition-delay: 0s, 400ms;
-webkit-transition-timing-function: cubic-bezier(0.5, 0.15, 0.1, 1), linear;
transition-timing-function: cubic-bezier(0.5, 0.15, 0.1, 1), linear;
}
.is-overlay-menu-active .o-overlay-menu {
opacity: 1;
-webkit-transform: none;
transform: none;
-webkit-transition-delay: 200ms, 0s;
transition-delay: 200ms, 0s;
}
.o-overlay-menu::before {
display: block;
content: "";
position: absolute;
top: 0;
right: -120vw;
width: 120vw;
height: 100%;
background: rgba(0, 0, 0, 0.6);
pointer-events: none;
opacity: 0;
-webkit-transition-property: opacity;
transition-property: opacity;
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
-webkit-transition-delay: 400ms;
transition-delay: 400ms;
-webkit-transition-timing-function: linear;
transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu::before {
opacity: 1;
-webkit-transition-delay: 0s;
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%, #E30613 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: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
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 {
-webkit-transform: rotate(-0.5turn);
transform: rotate(-0.5turn);
-webkit-transition: -webkit-transform 600ms ease-out;
transition: -webkit-transform 600ms ease-out;
transition: transform 600ms ease-out;
transition: transform 600ms ease-out, -webkit-transform 600ms ease-out;
-webkit-transition-delay: 200ms;
transition-delay: 200ms;
}
.is-overlay-menu-active .o-overlay-menu__toggle {
-webkit-transform: none;
transform: none;
}
.o-overlay-menu__nav {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
margin-top: 24px;
}
@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: -webkit-box;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
flex-direction: column;
-webkit-box-align: center;
align-items: center;
-webkit-box-pack: justify;
justify-content: space-between;
height: calc(58vh);
margin-left: 0;
list-style: none;
}
.o-overlay-menu__link {
font-size: 1.5rem;
line-height: 1.3333333333;
display: block;
color: #f2efed;
text-decoration: none;
opacity: 0.7;
-webkit-transition: opacity 200ms linear;
transition: opacity 200ms linear;
}
.o-overlay-menu__link:hover {
opacity: 1;
}
.o-overlay-menu__link:focus {
outline-offset: 2px;
outline-color: #f2efed;
}
.o-overlay-menu__link.is-active {
opacity: 1;
position: relative;
font-weight: 600;
}
.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: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
@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 {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin: -32px;
}
.o-references__item {
border-radius: 4px;
-webkit-box-flex: 0;
flex: 0 1 100%;
margin: 32px;
padding-top: 24px;
padding-bottom: 24px;
background-color: #ffffff;
border: 0px solid #c8c8c8;
box-shadow: 0 3px 40px -10px rgba(0, 0, 0, 0.2);
}
@media screen and (min-width: 800px) {
.o-references__item {
flex-basis: calc(50% - 64px - 0px);
}
}
.o-references__body {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: start;
align-items: flex-start;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin-top: 0;
padding-right: 24px;
}
.o-references__picture {
display: block;
-webkit-box-flex: 1;
flex-grow: 1;
flex-basis: 25%;
margin-bottom: 24px;
margin-left: 24px;
}
.o-references__content {
-webkit-box-flex: 9999;
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: #b8aaa9;
background-color: #AE0F0A;
padding-bottom: 64px;
-webkit-transition: padding 0.6s;
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;
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
font-size: 0.9375rem;
line-height: 1.6;
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 {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin-top: 8px;
margin-bottom: 8px;
margin-right: 32px;
}
.o-subfooter__nav {
margin-right: auto;
margin-top: 8px;
margin-bottom: 8px;
}
.o-subfooter__list {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
list-style-type: none;
margin: 0;
}
.o-subfooter__item {
margin-right: 32px;
white-space: nowrap;
}
.o-subfooter__link {
color: #b8aaa9;
text-decoration: none;
-webkit-transition: color 200ms;
transition: color 200ms;
}
.o-subfooter__link:hover {
color: #f2efed;
}
.o-subfooter__link:focus {
outline-color: #859CCC;
}
.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: #1A1A1A;
background-color: #ffffff;
border: 1px solid #c8c8c8;
font-weight: 500;
cursor: pointer;
-webkit-transition-property: color, border;
transition-property: color, border;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
}
.o-tabslider__button:hover {
color: #E30613;
border-color: #E30613;
}
.o-tabslider__button.is-active {
color: #f2efed;
background-color: #E30613;
border-color: #E30613;
}
.o-tabslider__button:focus {
outline: none;
border-color: #E30613;
}
.o-tabslider__button:focus:not(.is-active):not(:active) {
box-shadow: 0 0 0 1px #ffffff, 0 0 5px 3px rgba(26, 26, 26, 0.1);
}
@media screen and (max-width: 839px) {
.o-tabslider__controls {
display: none;
}
}
@media screen and (min-width: 840px) {
.o-tabslider__controls {
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
@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 {
-webkit-transform: rotate(0.5turn);
transform: rotate(0.5turn);
}
@media screen and (min-width: 840px) {
.o-tabslider__tabs {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
@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;
-webkit-transform: translateY(6px);
transform: translateY(6px);
pointer-events: none;
-webkit-transform-origin: top center;
transform-origin: top center;
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
-webkit-transition-timing-function: ease-in;
transition-timing-function: ease-in;
}
.o-tabslider__content.is-active {
opacity: 1;
z-index: 1;
-webkit-transform: none;
transform: none;
pointer-events: all;
-webkit-transition-duration: 500ms;
transition-duration: 500ms;
-webkit-transition-delay: 200ms;
transition-delay: 200ms;
-webkit-transition-timing-function: ease-out;
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: #1A1A1A;
}
@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 {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
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;
-webkit-box-flex: 0;
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);
}
}
.o-top-bar {
color: #ffffff;
background-color: #000000;
}
@media screen and (max-width: 1099px) {
.o-top-bar {
display: none;
}
}
.o-top-bar__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
text-align: right;
}
@media screen and (min-width: 840px) {
.o-top-bar__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-top-bar__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-top-bar__list {
list-style: none;
margin-left: 0;
padding: 8px 0;
}
.o-top-bar__link {
font-size: 0.875rem;
line-height: 1.1428571429;
display: inline-block;
padding: 8px 0;
text-decoration: none;
color: #ffffff;
}
.o-top-bar__link:hover {
text-decoration: underline;
}
@media screen and (max-width: 1151px) {
.o-usp {
background-color: #E30613;
}
}
@media screen and (min-width: 840px) {
.o-usp__main {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
.o-usp__text {
padding: 32px 0;
color: #f2efed;
background-color: #E30613;
}
@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: #f2efed;
}
.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;
}
/* 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: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
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;
-webkit-transform: translateY(7px);
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 {
-webkit-transform: translateY(5px);
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: #1A1A1A;
}
.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--dark {
background-color: #decaff;
}
*/
.u-color-primary {
color: #E30613;
}
.u-bg-primary {
background-color: #E30613;
}
.u-color-primary--2 {
color: #AE0F0A;
}
.u-bg-primary--2 {
background-color: #AE0F0A;
}
.u-color-secondary {
color: #0D0D0C;
}
.u-bg-secondary {
background-color: #0D0D0C;
}
.u-color-secondary--2 {
color: #b76e47;
}
.u-bg-secondary--2 {
background-color: #b76e47;
}
.u-color-tertiary {
color: #525d7d;
}
.u-bg-tertiary {
background-color: #525d7d;
}
.u-color-tertiary--2 {
color: #404862;
}
.u-bg-tertiary--2 {
background-color: #404862;
}
.u-color-neutral {
color: #f8f8f8;
}
.u-bg-neutral {
background-color: #f8f8f8;
}
.u-color-neutral--medium {
color: #c8c8c8;
}
.u-bg-neutral--medium {
background-color: #c8c8c8;
}
.u-color-neutral--dark {
color: #1d1d1d;
}
.u-bg-neutral--dark {
background-color: #1d1d1d;
}
.u-color-text {
color: #1A1A1A;
}
.u-bg-text {
background-color: #1A1A1A;
}
.u-color-text--2 {
color: #656565;
}
.u-bg-text--2 {
background-color: #656565;
}
.u-color-text--3 {
color: #999999;
}
.u-bg-text--3 {
background-color: #999999;
}
.u-color-text-on-dark {
color: #ffffff;
}
.u-bg-text-on-dark {
background-color: #ffffff;
}
.u-color-text-on-dark--2 {
color: #ededed;
}
.u-bg-text-on-dark--2 {
background-color: #ededed;
}
.u-color-text-on-dark--3 {
color: #999999;
}
.u-bg-text-on-dark--3 {
background-color: #999999;
}
.u-color-text-on-primary {
color: #f2efed;
}
.u-bg-text-on-primary {
background-color: #f2efed;
}
.u-color-text-on-primary--2 {
color: #dbd5d5;
}
.u-bg-text-on-primary--2 {
background-color: #dbd5d5;
}
.u-color-text-on-primary--3 {
color: #b8aaa9;
}
.u-bg-text-on-primary--3 {
background-color: #b8aaa9;
}
.u-color-text-on-secondary {
color: #fff7f2;
}
.u-bg-text-on-secondary {
background-color: #fff7f2;
}
.u-color-text-on-secondary--2 {
color: #ffe0cc;
}
.u-bg-text-on-secondary--2 {
background-color: #ffe0cc;
}
.u-color-text-on-secondary--3 {
color: #ffd0b3;
}
.u-bg-text-on-secondary--3 {
background-color: #ffd0b3;
}
.u-color-text-on-tertiary {
color: #e1ecfa;
}
.u-bg-text-on-tertiary {
background-color: #e1ecfa;
}
.u-color-text-on-tertiary--2 {
color: #d4e5fa;
}
.u-bg-text-on-tertiary--2 {
background-color: #d4e5fa;
}
.u-color-text-on-tertiary--3 {
color: #bbd8fa;
}
.u-bg-text-on-tertiary--3 {
background-color: #bbd8fa;
}
.u-color-feedback {
color: #4079b8;
}
.u-bg-feedback {
background-color: #4079b8;
}
.u-color-feedback--action {
color: #859CCC;
}
.u-bg-feedback--action {
background-color: #859CCC;
}
.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-light {
color: #ffffff;
}
.u-bg-light {
background-color: #ffffff;
}
.u-color-dark {
color: #000000;
}
.u-bg-dark {
background-color: #000000;
}
.u-color-border {
color: #c8c8c8;
}
.u-bg-border {
background-color: #c8c8c8;
}
.u-color-box-shadow {
color: rgba(0, 0, 0, 0.2);
}
.u-bg-box-shadow {
background-color: rgba(0, 0, 0, 0.2);
}
.u-hidden {
display: none !important;
}
.u-placeholder-image {
height: 100% !important;
-o-object-fit: cover !important;
object-fit: cover !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;
}
}
.u-spacing-mb0 {
margin-bottom: 0 !important;
}
@media screen and (min-width: 1152px) {
.u-spacing-pr0\@l {
padding-right: 0 !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
*/
/* ==========================================================================
* 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8xLVNldHRpbmdzL19zZXR0aW5ncy5jb25maWcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMS1TZXR0aW5ncy9fc2V0dGluZ3MudHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMS1TZXR0aW5ncy9fc2V0dGluZ3MuYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMuZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLm1lZGlhUXVlcmllcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMudG9vbGJveC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMuemluZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8zLUVsZW1lbnRzL19lbGVtZW50cy5iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8zLUVsZW1lbnRzL19lbGVtZW50cy5oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMy1FbGVtZW50cy9fZWxlbWVudHMubGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzQtTGF5b3V0cy9fbGF5b3V0cy5jb250YWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS80LUxheW91dHMvX2xheW91dHMuc3BsaXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLmZsZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzQtTGF5b3V0cy9fbGF5b3V0cy5yZXN0cmljdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZ2hvc3RidXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jb25uZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZGF0YS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvcm1Hcm91cC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvcm1GZWVkYmFjay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhhbWJ1cmdlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhlYWRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5oZXJvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaW5wdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5sYW5ndWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLm5hdi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnBhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdlVGl0bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wcm9qZWN0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zZXJ2aWNlUG9pbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zaXRlbWFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2tpcExpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zbGlkZS1pbmRpY2F0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zdWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50ZXh0LWJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnRyYWRlbWFyay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmFjY29yZGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5ibG9jay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5ib2R5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNhbGxvdXRCYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY2FyZC1ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNvbnRhY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY29va2llQmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNvb2tpZU92ZXJsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmludHJvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmxvZ29zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm1hcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5uZXdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm92ZXJsYXlNZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnF1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnJlZmVyZW5jZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuc3ViZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRhYnNsaWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy50ZWFtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRvcC1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudXNwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS83LVRlbXBsYXRlcy9fdGVtcGxhdGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS84LVNjb3Blcy9fc2NvcGVzLmNoZWNrbGlzdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvOC1TY29wZXMvX3Njb3Blcy50ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS85LVV0aWxpdGllcy9fdXRpbGl0aWVzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy5oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS85LVV0aWxpdGllcy9fdXRpbGl0aWVzLnNoYW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS85LVV0aWxpdGllcy9fdXRpbGl0aWVzLnZpc2libGVHcmlkLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWdCO0FBQ2hCOzs7Ozs7O2dFQUFBO0FDREE7OzhDQUFBO0FDQUE7Ozs7K0RBQUE7QUNBQTs7OztnRUFBQTtBQU1BOztHQUFBO0FBK0NBOztHQUFBO0FDckRBOztrREFBQTtBSmNBOzsrREFBQTtBS2RBOzsrRUFBQTtBQUlBOzs7SUFBQTtBQWtCQTs7O0lBQUE7QUFRQTs7SUFBQTtBQzlCQTs7Z0ZBQUE7QUFLQTs7Ozs7Ozs7O0dBQUE7QUNMQTtnREFBQTtBQ0FBOztzREFBQTtBQUtBOzs7Ozs7Ozs7O0dBQUE7QUFpQ0E7Ozs7R0FBQTtBQWVBO0FBT0E7QUFPQTtBQVFBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBd0NBOzs7Ozs7Ozs7OztHQUFBO0FBd0JBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUFpQ0E7O0dBQUE7QUFVQTs7Ozs7Ozs7Ozs7OztHQUFBO0FBdUJBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUEwQkE7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUFnQkE7Ozs7R0FBQTtBQWtCQTs7O0dBQUE7QUFnQkE7O0dBQUE7QUN6UkE7Ozt3R0FBQTtBQWlCQTs7Ozs7R0FBQTtBVEtBOzsrREFBQTtBVXRCQTs7Z0ZBQUE7QUFJQTs7Ozs7R0FBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDVnFNRjs7QVVsTUE7RUpjTTtFQVJBO0VJSko7RUFDQSxpQlBWa0I7RU9XbEIsa0NQb0NhO0VPbkNiO0VBQ0E7RUFDQTtFQUNBO0NWc01GOztBVWxNQTs7Ozs7O0dBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtDVnFNRjtBVW5NRTtFQUdFO0NWbU1KOztBVS9MQTs7R0FBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQW1CO0NWbU1yQjtBVXRNQTtFQUNFO0VBQ0E7RUFDQTtFQUFtQjtDVm1NckI7O0FVaE1BO0dBQUE7QUFFQTtFQUNFO0NWbU1GOztBVWhNQTs7Ozs7R0FBQTtBQU1BO0VBQ0U7RUFBd0I7RUFDeEI7RUFBYztFQUNkO0NWcU1GOztBVWxNQTs7O0dBQUE7QUFJQTs7O0VBR0U7Q1ZxTUY7O0FVaE1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7VUFBQTtDVm1NRjtBVWpNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUNBO1VBQUE7Q1ZtTUo7QVUvTEk7RUFDRTtFQUNBO0VBQ0E7VUFBQTtDVmlNTjs7QVV6TEE7Ozs7RUFJRTtFQUNBO0NWNExGOztBV3hUQTtFTGdDTTtFQVJBO0NOcVNOOztBV3pUQTtFTDRCTTtFQVJBO0VLbEJMO0NYNlREOztBVzFUQTtFTHVCTTtFQVJBO0VLYkw7Q1g4VEQ7O0FXM1RBO0VMa0JNO0VBUkE7RUtSTDtDWCtURDs7QVc1VEE7RUxhTTtFQVJBO0VLSEw7Q1hnVUQ7O0FZclZBOzt5RkFBQTtBQUtBOztHQUFBO0FBSUE7O0VBRUM7RUFDQTtFQUNBO0NacVZEOztBWWxWQTtFQUNDO0NacVZEOztBWWhWQTs7R0FBQTtBQUtDOztFQUVDO0NaaVZGOztBQWhWQTs7K0RBQUE7QWE5QkE7O2dGQUFBO0FBS0E7RUx5UkM7RUFDQTtFQUNBO0NSMEZEO0FPblZDO0VNbENEO0lMK1JJO0dSMEZGO0NBQ0Y7QU94VkM7RU1sQ0Q7SUxzU0U7SUFDQTtHUndGQTtDQUNGOztBY3JZQTs7OztvRkFBQTtBQU9BO0VBQ0M7RUFDQTtFQUNBO0Nkc1lEO0FPeldDO0VPaENEO0lDa0VFLHFCQS9CVTtJQStCVixjQS9CVTtJQXNDUjtJQUFBO1lBQUE7R2ZxVUY7Q0FDRjs7QWNuWUE7OztHQUFBO0FBS0E7RU5zUUM7RUFDQTtFQUNBO0NSZ0lEO0FPelhDO0VPZkQ7SU44UUc7R1I4SEQ7Q0FDRjtBTzlYQztFT2ZEO0lObVJFO0lBQ0E7R1I4SEE7Q0FDRjs7QU9wWUM7RU9WRDtJQUlFO0dkK1lBO0NBQ0Y7QU8xWUM7RU9GQTtJQUVFO0lBQ0E7R2Q4WUQ7Q0FDRjtBT2haQztFT0ZBO0lBTUU7SUFDQTtHZGdaRDtDQUNGO0FPdFpDO0VPVUE7SU5xRks7R1IyVEo7Q0FDRjtBTzNaQztFT1VBO0lBTUU7R2QrWUQ7Q0FDRjtBYzFZRTtFQUNDO1VBQUE7Q2Q0WUg7QU9uYUM7RU9zQkM7SUFJRTtJQUNBO0dkNllGO0NBQ0Y7QU96YUM7RU9zQkM7SUFRRTtHZCtZRjtDQUNGOztBTzlhQztFT3VDRTtJQUNDO0lBQ0E7SUFDQTtHZDJZRjtFY3pZQztJQUNDO0dkMllGO0NBQ0Y7QWNyWUE7OztHQUFBO0FQcERDO0VPd0REO0lBRUU7SUFDQTtJQUNBO0lBQ0E7R2R1WUE7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QjExQ0M7RUFDQztDL0I0MUNGO0FPcDFDQztFd0JaRDtJQVFFO0lBQ0E7Ry9CNDFDQTtDQUNGO0FPMTFDQztFd0JaRDtJQWFFO0cvQjYxQ0E7Q0FDRjtBTy8xQ0M7RXdCWkQ7SUFpQkU7Ry9CODFDQTtDQUNGOztBK0IzMUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Qy9CODFDRDtBK0I1MUNDO0VBQ0M7Qy9CODFDRjtBK0IzMUNDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtFQUFBO0VBQUE7RUFBQTtDL0I2MUNGO0ErQjMxQ0U7RUFDQztDL0I2MUNIO0ErQngxQ0U7RUFDQztVQUFBO0VBQ0E7VUFBQTtDL0IwMUNIO0ErQnQxQ0M7RUFDQztDL0J3MUNGO0ErQnQxQ0U7RUFDQztFQUNBO1VBQUE7RUFDQTtVQUFBO0MvQncxQ0g7QStCcDFDQztFQUNDO0MvQnMxQ0Y7O0FnQ3o2Q0E7RWpCNkRFLDRCQXhCYztFQXdCZCxxQkF4QmM7RUF5QmQseUJpQjdEYTtVakI2RGIsd0JpQjdEYTtFakI4RGIsMEJpQjlEYTtVakI4RGIsb0JpQjlEYTtFakJtRVg7RUFBQTtVQUFBO0VQZ0pGO0V3QmpORDtFQUNBO0VBQ0E7RUFDQTtDaEMrNkNEOztBZ0M1NkNBO0VqQm9ERSxxQkEvQlU7RUErQlYsY0EvQlU7RUFnQ1YseUJpQnBEYTtVakJvRGIsd0JpQnBEYTtFakJxRGIsMEJpQnJEYTtVakJxRGIsb0JpQnJEYTtFakIwRFg7RUFBQTtVQUFBO0NmdzNDSjtBT2o2Q0M7RXlCbEJEO0lBS0U7R2hDazdDQTtFZ0NoN0NBO0lBSUM7SUFBQTtHaEMrNkNEO0VnQzU2Q0E7SUFDQztHaEM4NkNEO0NBQ0Y7QWdDMzZDQztFQUNDO0VBQ0E7Q2hDNjZDRjs7QWdDejZDQTs7OztFakIyQkUscUJBL0JVO0VBK0JWLGNBL0JVO0VBZ0NWLHlCaUJ4QmE7VWpCd0JiLHdCaUJ4QmE7RWpCeUJiLDBCaUJ6QmE7VWpCeUJiLG9CaUJ6QmE7RWpCOEJYO0VBQUE7VUFB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Q2kvREg7O0E0QzUrREE7RXRDbkZNO0VBUkE7RXNDNkZMO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtDNUNnL0REO0FPbmtFQztFcUM0RUQ7SXRDbkZNO0lBUkE7R051bEVKO0NBQ0Y7O0E0Qy8rREE7QUFDQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBRUE7RUFBQTtDNUNnL0REO0FROTNEQztFQUNDLG1CQUYyQjtDUms0RDdCO0FPdmxFQztFcUMyRkQ7SUFZRTtHNUNvL0RBO0NBQ0Y7QU81bEVDO0VxQzJGRDtJQWVFO0c1Q3MvREE7Q0FDRjtBNENwL0RDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUVBO0VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7QzVDcS9ERjs7QU8zbUVDO0VzQ3ZDRDtJckNzSU07R1JpaEVKO0NBQ0Y7QU9qbkVDO0VzQ3ZDRDtJckM2Sk07R1IrL0RKO0NBQ0Y7QU90bkVDO0VzQ3ZDRDtJckNrS007R1IrL0RKO0NBQ0Y7QU8zbkVDO0VzQ3ZDRDtJckN1S007R1IrL0RKO0NBQ0Y7QU9ob0VDO0VzQ2pDQTtJckNnSUs7R1JxaUVKO0NBQ0Y7QU9yb0VDO0VzQ2pDQTtJckN1Sks7R1JtaEVKO0NBQ0Y7QU8xb0VDO0VzQ2pDQTtJckM0Sks7R1JtaEVKO0NBQ0Y7QU8vb0VDO0VzQ2pDQTtJckNpS0s7R1JtaEVKO0NBQ0Y7O0E4QzNyRUM7OztFQUFBO0FBS0Q7RXJDb0JDO0VxQ2xCQTtDOUM2ckVEOztBK0N6ckVBO0V2Q29RQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0V1Q3RRQTtFQUNBO0VBQ0M7Qy9DZ3NFRjs7QStDN3JFQTtFdkM0UUM7RUFDQTtFQUNBO0NScTdERDtBTzlxRUM7RXdDckJEO0l2Q2tSSTtHUnE3REY7Q0FDRjtBT25yRUM7RXdDckJEO0l2Q3lSRTtJQUNBO0dSbTdEQTtDQUNGO0FPenJFQztFd0NyQkQ7SXZDb0hNO0lBQUE7R1IrbEVKO0NBQ0Y7QU8vckVDO0V3Q3JCRDtJdkMySU07SUFBQTtHUjhrRUo7Q0FDRjtBT3JzRUM7RXdDckJEO0l2Q2dKTTtJQUFBO0dSK2tFSjtDQUNGO0FPM3NFQztFd0NyQkQ7SXZDcUpNO0lBQUE7R1JnbEVKO0NBQ0Y7QU9qdEVDO0V3Q2JBO0l2QzRHSztHUnNuRUo7Q0FDRjtBT3R0RUM7RXdDYkE7SXZDbUlLO0dSb21FSjtDQUNGO0FPM3RFQztFd0NiQTtJdkN3SUs7R1JvbUVKO0NBQ0Y7QU9odUVDO0V3Q2JBO0l2QzZJSztHUm9tRUo7Q0FDRjs7QStDM3VFQTtFekNETTtFQVJBO0NOeXZFTjs7QWdEanhFQTs7O0dBQUE7QXpDdUNDO0V5Q3hCRDtJakNvQ007SUFzQkoscUJBL0JVO0lBK0JWLGNBL0JVO0lBc0NSO0lBQUE7WUFBQTtHZjRzRUY7Q0FDRjs7QU90dkVDO0V5Q2RHO0lBQ0U7R2hEd3dFSjtDQUNGO0FPNXZFQztFeUNsQkQ7SUFXSTtJQUNBO0doRHV3RUY7Q0FDRjtBT2x3RUM7RXlDbEJEO0lBaUJJO1lBQUE7SUFFQTtJQUNBO0doRHN3RUY7RWdEcHdFRTtJQUNFO0doRHN3RUo7RWdEbndFRTtJQUNFO0doRHF3RUo7Q0FDRjtBTy93RUM7RXlDbEJEO0lBaUNJO1lBQUE7SUFFQTtJQUNBO0doRG13RUY7RWdEandFRTtJQUNFO0doRG13RUo7RWdEaHdFRTtJQUNFLGlCQXhEa0I7R2hEMHpFdEI7Q0FDRjs7QWlEenpFQTtFekNvUkM7RUFDQTtFQUNBO0V5Q3BSQTtDakQ4ekVEO0FPbnlFQztFMEM3QkQ7SXpDMFJJO0dSMGlFRjtDQUNGO0FPeHlFQztFMEM3QkQ7SXpDaVNFO0lBQ0E7R1J3aUVBO0NBQ0Y7QU85eUVDO0UwQzdCRDtJbEMrREUscUJBL0JVO0lBK0JWLGNBL0JVO0lBc0NSO0lBQUE7WUFBQTtHZjB3RUY7Q0FDRjs7QWlEeDBFQTtFQUNDO0NqRDIwRUQ7QU94ekVDO0UwQ3BCRDtJQUlFO0dqRDQwRUE7Q0FDRjtBTzd6RUM7RTBDcEJEO0lBUUU7SUFDQTtJQUNBO0dqRDYwRUE7Q0FDRjs7QWlEMTBFQTtFQUNDO0NqRDYwRUQ7QU94MEVDO0UwQ05EO0lBS0U7SUFDQSxhaERoQnlCO0lnRGlCekI7SUFDQTtJQUNBO1lBQUE7R2pENjBFQTtDQUNGO0FPajFFQztFMENORDtJQWFFO0dqRDgwRUE7Q0FDRjtBT3QxRUM7RTBDTkQ7SUFpQkU7SUFDQTtJQUNBO0dqRCswRUE7Q0FDRjs7QWlENTBFQTtFekN1TkM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRm5QSztFQVJBO0UyQ21DTDtFQUNBO0NqRG8xRUQ7O0FpRGoxRUE7RUFDQztDakRvMUVEOztBaURqMUVBO0VBQ0M7Q2pEbzFFRDs7QWlEajFFQTtFQUNDO0NqRG8xRUQ7O0FrRDU1RUE7RXpDeUJDO0V5Q3ZCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFqRGtCMkI7RWlEakIzQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7VUFBQTtDbEQrNUVEO0FrRDU1RUM7RW5DMERDLHFCQS9CVTtFQStCVixjQS9CVTtFQWdDVix3Qm1DMURjO1VuQzBEZCw0Qm1DMURjO0VuQzJEZCwwQm1DM0RjO1VuQzJEZCxvQm1DM0RjO0VuQ2dFWjtFQUFBO1VBQUE7Q2ZpMkVKO0FrRDk1RUM7RUFDQztFQUNBO1VBQUE7Q2xEZzZFRjs7QWtENTVFQTtFbkNnREUscUJBL0JVO0VBK0JWLGNBL0JVO0VBZ0NWLHlCbUNoRGE7VW5DZ0RiLHdCbUNoRGE7RW5DaURiLDBCbUNqRGE7VW5DaURiLG9CbUNqRGE7RW5Dc0RYO0VBQUE7VUFBQTtDZjQyRUo7QU9yNUVDO0UyQ2REO0lBR0U7WUFBQTtHbERvNkVBO0NBQ0Y7O0FrRGo2RUE7RUFDQztFQUNBO0NsRG82RUQ7QU8vNUVDO0UyQ1BEO0k1Q0FNO0lBUkE7R05tN0VKO0NBQ0Y7O0FrRG42RUE7RUFDQztFQUNBO0VBQUE7Q2xEczZFRDtBa0RwNkVDO0VBQ0M7Q2xEczZFRjs7QWtEbDZFQTtFQUNDO1VBQUE7RUFDQTtDbERxNkVEO0FPbDdFQztFMkNXRDtJQUtFO0dsRHM2RUE7Q0FDRjs7QW1EOTlFQTtFQUNFO0UxQ3dCRDtFMEN0QkM7RUFDQTtFcENxRUEscUJBL0JVO0VBK0JWLGNBL0JVO0VBZ0NWLHlCb0NwRWM7VXBDb0VkLHdCb0NwRWM7RXBDcUVkLDBCb0NyRWM7VXBDcUVkLG9Cb0NyRWM7RXBDMEVaO0VBQUE7VUFBQTtFb0N6RUY7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUFBO0NuRGsrRUY7QW1EaCtFRTtFQUNFO0NuRGsrRUo7QW1ELzlFRTtFQUNFO0NuRGkrRUo7O0FtRDc5RUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25EZytFRjs7QW1ENTlFRTtFQUNFO0NuRCs5RUo7O0FtRDM5RUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRDg5RUY7O0FtRDM5RUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDbkQ4OUVGOztBbUQzOUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFBQTtDbkQ4OUVGO0FtRDU5RUU7RUFDRTtDbkQ4OUVKOztBbUQxOUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtDbkQyOUVGO0FtRHo5RUU7RUFDRTtDbkQyOUVKOztBbUR2OUVBO0VBQ0U7Q25EMDlFRjtBbUR4OUVFO0VBQ0U7Q25EMDlFSjs7QW1EdDlFQTtFQUNFO0NuRHk5RUY7O0FvRDdpRkE7RTNDY0M7RTJDWkE7RUFDQTtDcERnakZEOztBb0Q3aUZBO0U1QzZRQztFQUNBO0VBQ0E7Q1JveUVEO0FPN2hGQztFNkN0QkQ7STVDbVJJO0dSb3lFRjtDQUNGO0FPbGlGQztFNkN0QkQ7STVDMFJFO0lBQ0E7R1JreUVBO0NBQ0Y7QU94aUZDO0U2Q3RCRDtJNUNxSE07SUFBQTtHUjg4RUo7Q0FDRjtBTzlpRkM7RTZDdEJEO0k1QzRJTTtJQUFBO0dSNjdFSjtDQUNGO0FPcGpGQztFNkN0QkQ7STVDaUpNO0lBQUE7R1I4N0VKO0NBQ0Y7QU8xakZDO0U2Q3RCRDtJNUNzSk07SUFBQTtHUis3RUo7Q0FDRjs7QU9oa0ZDO0U2Q2REO0lyQ2dERSxxQkEvQlU7SUErQlYsY0EvQlU7SUFzQ1I7SUFBQTtZQUFBO0dmNmhGRjtDQUNGOztBb0Qva0ZBO0VBSUM7RUFDQTtFQUNBO0VBQUE7Q3BEK2tGRDtBTzdrRkM7RTZDUkQ7STVDdUdNO0dSay9FSjtDQUNGO0FPbGxGQztFNkNSRDtJNUM4SE07R1JnK0VKO0NBQ0Y7QU92bEZDO0U2Q1JEO0k1Q21JTTtHUmcrRUo7Q0FDRjtBTzVsRkM7RTZDUkQ7STVDd0lNO0dSZytFSjtDQUNGO0FvRGptRkM7RUFDQztDcERtbUZGOztBb0QvbEZBO0VBQ0M7Q3BEa21GRDs7QVFsNUVDO0VBQ0MsaUI0QzNNcUI7Q3BEZ21GdkI7QU81bUZDO0U2Q1dEO0lBSUU7R3BEaW1GQTtDQUNGO0FPam5GQztFNkNXRDtJQU9FO0dwRG1tRkE7Q0FDRjs7QU90bkZDO0U2Q3VCRDtJNUN3RU07R1I0aEZKO0NBQ0Y7QU81bkZDO0U2Q3VCRDtJQUtFO0dwRG9tRkE7Q0FDRjtBT2pvRkM7RTZDdUJEO0lBUUU7R3BEc21GQTtDQUNGOztBb0RubUZBO0VBQ0M7RUFDQTtDcERzbUZEOztBb0RubUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtDcERzbUZEO0FvRHBtRkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0NwRHNtRkY7QW9EbG1GRTtFQUNDO1VBQUE7Q3BEb21GSDtBb0RobUZDO0VBQ0M7Q3BEa21GRjs7QW9EOWxGQTtFckN6Q0UscUJBL0JVO0VBK0JWLGNBL0JVO0VBc0NSO0VBQUE7VUFBQTtFcUNvQ0g7RUFDQTtDcERrbUZEOztBb0QvbEZBO0VyQy9DRSxxQkEvQlU7RUErQlYsY0EvQlU7RUFnQ1YseUJxQytDYTtVckMvQ2Isd0JxQytDYTtFckM5Q2IsMEJxQzhDYTtVckM5Q2Isb0JxQzhDYTtFckN6Q1g7RUFBQTtVQUFBO0VxQzBDSDtFQUNBO0VBQ0E7Q3BEcW1GRDs7QW9EbG1GQTtFQUNDO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtVQUFBO0NwRHFtRkQ7QW9Ebm1GQztFQUNDO0VBQ0E7Q3BEcW1GRjtBb0RubUZDO0VBQ0M7Q3BEcW1GRjtBb0RubUZDO0VBQ0M7RUFDQTtDcERxbUZGO0FvRG5tRkM7RUFDQztFQUNBO0NwRHFtRkY7QW9EbG1GQztFQUNDO0NwRG9tRkY7QW9Eam1GQztFQUNDO0NwRG1tRkY7O0FxRDl2RkE7RUFDQztDckRpd0ZEOztBcUQ1dkZBO0VBQ0M7Q3JEK3ZGRDs7QXFEM3ZGQztFQUNDO0NyRDh2RkY7O0FxRHp2RkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckQ0dkZEOztBc0Qxd0ZBO0U3Q2FDO0U2Q1hBO0VBQ0E7Q3RENndGRDtBc0Qzd0ZDO0VBQ0M7Q3RENndGRjtBc0Qxd0ZDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0N0RDR3RkY7QU94d0ZDO0UrQ2xCQTtJQWlCRTtHdEQ2d0ZEO0NBQ0Y7QXNEM3dGRTtFQUNDO0VBQ0E7VUFBQTtFQUNBO1VBQUE7Q3RENndGSDs7QXNEeHdGQTtFOUM2T0M7RUFDQTtFQUNBO0VPdk5DLHFCQS9CVTtFQStCVixjQS9CVTtFQWdDViwwQnVDdkJhO1V2Q3VCYiwrQnVDdkJhO0V2Q3dCYiwwQnVDeEJhO1V2Q3dCYixvQnVDeEJhO0V2QzZCWDtFQUFBO1VBQUE7RXVDNUJIO0N0RGd4RkQ7QU83eEZDO0UrQ1VEO0k5Q21QSTtHUm9pRkY7Q0FDRjtBT2x5RkM7RStDVUQ7STlDMFBFO0lBQ0E7R1JraUZBO0NBQ0Y7O0FzRHh4RkE7RUFDQztDdEQyeEZEO0FPNXlGQztFK0NnQkQ7SUFJRTtHdEQ0eEZBO0NBQ0Y7O0FzRHp4RkE7RUFDQztDdEQ0eEZEO0FPcnpGQztFK0N3QkQ7SUFJRTtHdEQ2eEZBO0NBQ0Y7O0FzRDF4RkE7RUFDQztVQUFBO0N0RDZ4RkQ7QXNEM3hGQztFQUNDO0VBQ0E7Q3RENnhGRjs7QXNEenhGQTtFQUNDO0VBQ0E7Q3RENHhGRDs7QU92MEZDO0UrQzhDRDtJQUVFO0d0RDR4RkE7Q0FDRjs7QXVEejJGQTtFQUNDO0VBQ0E7Q3ZENDJGRDtBT2wxRkM7RWdEeEJBO0kvQ3VISztHUnV2Rko7Q0FDRjtBT3YxRkM7RWdEeEJBO0kvQzhJSztHUnF1Rko7Q0FDRjtBTzUxRkM7RWdEeEJBO0kvQ21KSztHUnF1Rko7Q0FDRjtBT2oyRkM7RWdEeEJBO0kvQ3dKSztHUnF1Rko7Q0FDRjs7QXVEdDNGQztFQUNDO0N2RHkzRkY7O0F1RHIzRkE7RUFDQztDdkR3M0ZEO0FPOTJGQztFZ0RYRDtJL0MwR007R1JteEZKO0NBQ0Y7QU9uM0ZDO0VnRFhEO0kvQ2lJTTtHUml3Rko7Q0FDRjtBT3gzRkM7RWdEWEQ7SS9Dc0lNO0dSaXdGSjtDQUNGO0FPNzNGQztFZ0RYRDtJL0MySU07R1Jpd0ZKO0NBQ0Y7QU9sNEZDO0VnREhDO0lBQ0M7R3ZEdzRGRDtDQUNGOztBT3Y0RkM7RWdES0M7SUFDQztJQUNBO0lBQ0E7WUFBQTtHdkRzNEZEO0NBQ0Y7QU8vNEZDO0VnRGFDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHdkRxNEZEO0NBQ0Y7O0F3RDc3RkE7RXpDOENNO0VBc0JKLHFCQS9CVTtFQStCVixjQS9CVTtFQXNDUjtFQUFBO1VBQUE7RXlDekVIO0VBQ0E7RUFDQTtDeERrOEZEO0FPcDZGQztFaURsQ0Q7SUFPRTtHeERtOEZBO0NBQ0Y7O0F3RGg4RkE7RUFDQztVQUFBO0VBQ0EsZ0JBbEJ5QjtDeERxOUYxQjtBTzk2RkM7RWlEdkJEO0lBS0U7R3hEbzhGQTtDQUNGO0FPbjdGQztFaUR2QkQ7SUFRRTtHeERzOEZBO0NBQ0Y7QU94N0ZDO0VpRHZCRDtJQVdFO0d4RHc4RkE7Q0FDRjtBTzc3RkM7RWlEdkJEO0lBY0U7SUFDQSxhQTlCdUI7R3hEdytGdkI7Q0FDRjs7QXdEdjhGQTtFQUNDO0N4RDA4RkQ7O0F3RHY4RkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEQwOEZEOztBeURwL0ZFO0VBQ0M7Q3pEdS9GSDs7QTBEai9GQTtFbERtUkM7RUFDQTtFQUNBO0NSa3VGRDtBTzM5RkM7RW1ENUJEO0lsRHlSSTtHUmt1RkY7Q0FDRjtBT2grRkM7RW1ENUJEO0lsRGdTRTtJQUNBO0dSZ3VGQTtDQUNGOztBMEQ5L0ZBO0VwRGlCTTtFQVJBO0VvRFBMO0MxRGtnR0Q7O0EwRC8vRkE7RUFFQztDMURpZ0dEO0FRbnhGQztFQUNDLGlCa0RoUFk7QzFEcWdHZDs7QTBEamdHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QzFEb2dHRDtBMERsZ0dDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QzFEb2dHRjtBMERqZ0dDO0VBRUM7QzFEa2dHRjtBMERoZ0dFO0VBQ0M7QzFEa2dHSDtBMEQ5L0ZDO0VBQ0M7QzFEZ2dHRjtBTzlnR0M7RW1EZEQ7STNDZ0RFLHFCQS9CVTtJQStCVixjQS9CVTtJQWdDVix3QjJDakJjO1kzQ2lCZCw0QjJDakJjO0kzQ2tCZCx5QjJDbEJjO1kzQ2tCZCx3QjJDbEJjO0kzQ3VCWjtJQUFBO1lBQUE7R2Y0K0ZGO0NBQ0Y7O0EwRGhnR0E7RUFDQztVQUFBO0VBQ0EsYXpEeEMwQjtDRDJpRzNCO0FPM2hHQztFbURzQkQ7SUFLRTtZQUFBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RzFEb2dHQTtDQUNGO0FPcGlHQztFbURzQkQ7SUFhRTtHMURxZ0dBO0NBQ0Y7O0EwRGxnR0E7RUFDQztFQUNBO0VBQ0E7QzFEcWdHRDtBTy9pR0M7RW1EdUNEO0lBTUU7WUFBQTtJQUNBO1lBQUE7SUFDQTtJQUNBO0cxRHNnR0E7Q0FDRjs7QTBEbmdHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLFN6RHhFMEI7RXlEeUUxQixXekR6RTBCO0V5RDBFMUI7RUFDQTtDMURzZ0dEO0FPamtHQztFbURvREQ7SUFVRTtJQUNBO0lBQ0E7SUFDQTtHMUR1Z0dBO0NBQ0Y7O0EwRGxnR0E7RUFDQztDMURxZ0dEOztBMERsZ0dBO0VBQ0M7RUFDQTtFQUNBO0MxRHFnR0Q7O0EwRGxnR0E7RTNDL0NFLHFCQS9CVTtFQStCVixjQS9CVTtFQWdDVix3QjJDK0NhO1UzQy9DYiw0QjJDK0NhO0UzQzlDYiwwQjJDOENhO1UzQzlDYixvQjJDOENhO0UzQ3pDWDtFQUFBO1VBQUE7RTJDMENIO0VBQ0E7QzFEd2dHRDs7QTBEcmdHQTtFQUNDO0MxRHdnR0Q7O0EwRHJnR0E7RUFDQztFQUNBO0MxRHdnR0Q7O0EyRDluR0E7RWxEV0M7RWtEVEM7RUFBQTtFQUNBO0VBQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7VUFBQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0MzRCtuR0Y7QTJENW5HRTtFQUNFO0VBQ0E7VUFBQTtFQUNBO1VBQUE7QzNEOG5HSjtBMkQxbkdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0MzRDRuR0o7QTJEMW5HSTtFQUNFO0VBQ0E7VUFBQTtDM0Q0bkdOO0EyRHZuR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRHluR0o7QU8xcEdDO0VvRHpCRDtJQStESTtHM0R3bkdGO0NBQ0Y7O0EyRHJuR0E7RW5ENk1DO0VBQ0E7RUFDQTtFT3ZOQyxxQkEvQlU7RUErQlYsY0EvQlU7RUFnQ1YsMEI0Q1NjO1U1Q1RkLCtCNENTYztFNUNSZCwwQjRDUWM7VTVDUmQsb0I0Q1FjO0U1Q0haO0VBQUE7VUFBQTtFNENJRjtFQUNBO0MzRDZuR0Y7QU8zcUdDO0VvRDBDRDtJbkRtTkk7R1JrN0ZGO0NBQ0Y7QU9ockdDO0VvRDBDRDtJbkQwTkU7SUFDQTtHUmc3RkE7Q0FDRjs7QTJEcm9HQTtFQUNFO0MzRHdvR0Y7O0EyRHJvR0E7RUFDRTtVQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtVQUFBO0MzRHdvR0Y7QTJEdG9HRTtFQUNFO1VBQUE7QzNEd29HSjs7QTJEcG9HQTtFbkR3TEM7RUFDQTtFQUNBO0VtRHhMQztDM0R5b0dGO0FPMXNHQztFb0QrREQ7SW5EOExJO0dSaTlGRjtDQUNGO0FPL3NHQztFb0QrREQ7SW5EcU1FO0lBQ0E7R1IrOEZBO0NBQ0Y7O0EyRGpwR0E7RUFDRTtFQUFBO0VBQ0E7RUFBQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7QzNEb3BHRjs7QTJEanBHQTtFckRyRk07RUFSQTtFcUQrRko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0MzRHFwR0Y7QTJEbnBHRTtFQUNFO0MzRHFwR0o7QTJEbHBHRTtFQUNFO0VBQ0E7QzNEb3BHSjtBMkRqcEdFO0VBQ0U7RUFDQTtFQUNBO0MzRG1wR0o7O0E0RDV4R0E7RXBEOFJDO0VBQ0E7RUFDQTtDUmtnR0Q7QU8zdkdDO0VxRHZDRDtJcERvU0k7R1JrZ0dGO0NBQ0Y7QU9od0dDO0VxRHZDRDtJcEQyU0U7SUFDQTtHUmdnR0E7Q0FDRjs7QU90d0dDO0VxRG5DRDtJN0NxRUUscUJBL0JVO0lBK0JWLGNBL0JVO0lBc0NSO0lBQUE7WUFBQTtHZm11R0Y7Q0FDRjs7QU83d0dDO0VxRDdCRDtJQUVFO0c1RDZ5R0E7Q0FDRjtBT254R0M7RXFEN0JEO0lBTUU7SUFDQTtHNUQ4eUdBO0NBQ0Y7O0E0RDN5R0E7RUFDQztDNUQ4eUdEO0FPN3hHQztFcURsQkQ7SUFJRTtHNUQreUdBO0NBQ0Y7QU9seUdDO0VxRGxCRDtJQVFFO0lBQ0E7RzVEZ3pHQTtDQUNGO0FPeHlHQztFcURsQkQ7SUFZRTtJQUNBO0lBQ0E7RzVEa3pHQTtDQUNGOztBNEQveUdBO0VBQ0M7RUFDQTtDNURrekdEOztBNEQveUdBO0V0RFpNO0VBUkE7RXNEc0JMO0M1RG16R0Q7QTREanpHQztFQUFZO0M1RG96R2I7QTREbnpHQztFQUFZO0M1RHN6R2I7O0E0RG56R0E7RUFDQztFQUNBO0M1RHN6R0Q7O0E0RG56R0E7RXREekJNO0VBUkE7RXNEbUNMO0M1RHV6R0Q7O0E0RHB6R0E7RXREOUJNO0VBUkE7RXNEd0NMO0M1RHd6R0Q7O0E2RHoyR0E7RTlDb0NNO0VBc0JKLHFCQS9CVTtFQStCVixjQS9CVTtFQXNDUjtFQUFBO1VBQUE7RThDL0RIO0M3RDgyR0Q7O0E2RDMyR0E7RXJEeU1FO0VxRHZNRDtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3RDgyR0Q7QU9uMkdDO0VzRG5CRDtJQVdFO0c3RCsyR0E7Q0FDRjs7QTZENTJHQTtFOUNnQk07RUFzQkoscUJBL0JVO0VBK0JWLGNBL0JVO0VBZ0NWLHdCOEN0Q2E7VTlDc0NiLDRCOEN0Q2E7RTlDdUNiLHlCOEN2Q2E7VTlDdUNiLHdCOEN2Q2E7RTlDNENYO0VBQUE7VUFBQTtFOEMzQ0g7RUFDQTtDN0RtM0dEOztBNkRoM0dBO0VBQ0M7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0M3RG0zR0Q7O0E2RGgzR0E7RUFDQztVQUFBO0VBQ0E7RUFDQTtFQUNBO0M3RG0zR0Q7O0E2RGgzR0E7RUFDQztDN0RtM0dEOztBNkRoM0dBO0V2RDVCTTtFQVJBO0V1RHNDTDtFQUNBO0M3RG8zR0Q7O0E2RGozR0E7RUFDQztDN0RvM0dEOztBOEQxNkdBO0VyRFlDO0VxRFZBO0VBQ0E7RUFDQSxxQjdETzJCO0U2RE4zQjtFQUFBO0M5RDY2R0Q7QThEMzZHQztFQUNDO0M5RDY2R0Y7O0E4RHo2R0E7RXREcVFDO0VBQ0E7RUFDQTtFTzdPSztFQXNCSixxQkEvQlU7RUErQlYsY0EvQlU7RUFnQ1Ysd0IrQy9DYTtVL0MrQ2IsNEIrQy9DYTtFL0NnRGIsMEIrQ2hEYTtVL0NnRGIsb0IrQ2hEYTtFL0NxRFg7RUFBQTtVQUFBO0VUaERFO0VBUkE7RXdES0w7RUFDQTtDOURtN0dEO0FPMTZHQztFdURkRDtJdEQyUUk7R1JpckdGO0NBQ0Y7QU8vNkdDO0V1RGREO0l0RGtSRTtJQUNBO0dSK3FHQTtDQUNGOztBOEQzN0dBO0UvQ2tCTTtFQXNCSixxQkEvQlU7RUErQlYsY0EvQlU7RUFzQ1I7RUFBQTtVQUFBO0UrQzdDRjtFQUNBO0VBQ0Q7QzlEZzhHRDs7QThENzdHQTtFQUNDO0VBQ0E7RUFDQTtDOURnOEdEOztBOEQ3N0dBO0UvQ0tNO0VBc0JKLHFCQS9CVTtFQStCVixjQS9CVTtFQXNDUjtFQUFBO1VBQUE7RStDaENIO0VBQ0E7QzlEazhHRDs7QThELzdHQTtFQUNDO0VBQ0E7QzlEazhHRDs7QThELzdHQTtFQUNDO0VBQ0E7RUFDQTtFQUFBO0M5RGs4R0Q7QThEaDhHQztFQUNDO0M5RGs4R0Y7QThELzdHQztFQUNDO0M5RGk4R0Y7O0E4RDc3R0E7RUFDQztFQUNBO0M5RGc4R0Q7O0ErRDUvR0E7Ozs7R0FBQTtBQU9BO0V2RDBRQztFQUNBO0VBQ0E7Q1JvdkdEO0FPNytHQztFd0RuQkQ7SXZEZ1JJO0dSb3ZHRjtDQUNGO0FPbC9HQztFd0RuQkQ7SXZEdVJFO0lBQ0E7R1JrdkdBO0NBQ0Y7O0ErRHJnSEE7RXZEc01FO0V1RHBNRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7VUFBQTtDL0R3Z0hEO0ErRHRnSEM7RUFDQztFQUNBO0MvRHdnSEY7QStEcmdIQztFQUNDO0VBQ0E7RUFDQTtDL0R1Z0hGO0ErRHBnSEM7RUFDQztFQUNBO0MvRHNnSEY7QStEcGdIRTtFQUNDO0MvRHNnSEg7O0FPcGhIQztFd0RtQkQ7SUFFRTtHL0RvZ0hBO0NBQ0Y7QU8xaEhDO0V3RG1CRDtJaERlRSxxQkEvQlU7SUErQlYsY0EvQlU7SUFnQ1YsMEJnRFZjO1loRFVkLCtCZ0RWYztJaERXZCwwQmdEWGM7WWhEV2Qsb0JnRFhjO0loRGdCWjtJQUFBO1lBQUE7R2Z3L0dGO0NBQ0Y7QU9saUhDO0V3RG1CRDtJQVVFO0lBQ0E7Ry9EeWdIQTtDQUNGOztBK0R0Z0hBO0VBQ0M7Qy9EeWdIRDs7QStEdGdIQTtFQUNDO1VBQUE7Qy9EeWdIRDs7QU9oakhDO0V3RDBDRDtJaERSRSxxQkEvQlU7SUErQlYsY0EvQlU7SUFzQ1I7SUFBQTtZQUFBO0dmNmdIRjtDQUNGO0FPdmpIQztFd0QwQ0Q7SUFNRTtHL0QyZ0hBO0NBQ0Y7O0ErRHZnSEE7RXpENURNO0VBUkE7RXlEc0VMO0VBQ0E7RUFDQTtDL0QyZ0hEOztBT3BrSEM7RXdENEREO0lBRUU7SUFBQTtJQUNBO0lBQUE7SUFDQTtJQUFBO0lBQ0E7Ry9EMmdIQTtDQUNGOztBTzdrSEM7RXdEc0VBO0l2RHlCSztHUm0vR0o7Q0FDRjtBT25sSEM7RXdEcUVEO0lBUUU7SUFBQTtJQUNBO0lBQUE7SUFDQTtJQUNBO0lBQ0E7WUFBQTtJQUNBO0lBQ0E7WUFBQTtJQUNBO0lBQUE7SUFBQTtJQUFBO0lBQ0E7WUFBQTtJQUNBO1lBQUE7Ry9EMGdIQTtFK0R4Z0hBO0lBQ0M7SUFDQTtJQUNBO1lBQUE7SUFDQTtJQUNBO1lBQUE7SUFDQTtZQUFBO0lBQ0E7WUFBQTtHL0QwZ0hEO0NBQ0Y7O0ErRHRnSEE7RXpEM0dNO0VBUkE7RXlEcUhMO0VBQ0E7RUFDQTtFQUNBO0MvRDBnSEQ7QU9ubkhDO0V3RG9HRDtJQVFFO0cvRDJnSEE7Q0FDRjs7QWdFL3BIQTtFeEQ4UkM7RUFDQTtFQUNBO0NScTRHRDtBTzluSEM7RXlEdkNEO0l4RG9TSTtHUnE0R0Y7Q0FDRjtBT25vSEM7RXlEdkNEO0l4RDJTRTtJQUNBO0dSbTRHQTtDQUNGO0FPem9IQztFeUR2Q0Q7SXhEc0lNO0lBQUE7R1IraUhKO0NBQ0Y7QU8vb0hDO0V5RHZDRDtJeEQ2Sk07SUFBQTtHUjhoSEo7Q0FDRjtBT3JwSEM7RXlEdkNEO0l4RGtLTTtJQUFBO0dSK2hISjtDQUNGO0FPM3BIQztFeUR2Q0Q7SXhEdUtNO0lBQUE7R1JnaUhKO0NBQ0Y7O0FPanFIQztFeUQvQkQ7SWpEMkNNO0lBc0JKLHFCQS9CVTtJQStCVixjQS9CVTtJQXNDUjtJQUFBO1lBQUE7SWlEckVBO0doRXFzSEY7Q0FDRjs7QWdFbHNIQTtFQUNFO0VBQ0E7Q2hFcXNIRjtBTy9xSEM7RXlEeEJEO0lBS0k7SUFDQTtJQUNBO1lBQUE7SUFDQTtHaEVzc0hGO0NBQ0Y7QU92ckhDO0V5RHhCRDtJQVlJO0doRXVzSEY7Q0FDRjtBTzVySEM7RXlEeEJEO0lBZ0JJO0doRXdzSEY7Q0FDRjs7QWlFOXRIQTtFQUlDO0VBQ0E7Q2pFOHRIRDtBT3RzSEM7RTBEN0JEO0lBRUU7R2pFcXVIQTtDQUNGOztBaUVodUhBO0V6RDRRQztFQUNBO0VBQ0E7RXlENVFBO0NqRXF1SEQ7QU9sdEhDO0UwRHJCRDtJekRrUkk7R1J5OUdGO0NBQ0Y7QU92dEhDO0UwRHJCRDtJekR5UkU7SUFDQTtHUnU5R0E7Q0FDRjs7QWlFN3VIQTtFQUNDO0VBQ0E7RUFDQTtDakVndkhEOztBaUU3dUhBO0UzREdNO0VBUkE7RTJET0w7RUFDQTtFQUNBO0VBQ0E7Q2pFaXZIRDtBaUUvdUhDO0VBQ0M7Q2pFaXZIRjs7QU8vdUhDO0UyRDVCRDtJQUVFO0dsRTh3SEE7Q0FDRjs7QU9ydkhDO0UyRHRCRDtJbkR3REUscUJBL0JVO0lBK0JWLGNBL0JVO0lBc0NSO0lBQUE7WUFBQTtHZmt0SEY7Q0FDRjs7QWtFNXdIQTtFQUNDO0VBQ0E7RUFDQTtDbEUrd0hEO0FPbHdIQztFMkRoQkQ7SUFNRTtJQUVDO0lBQ0E7SUFDQTtJQUNBO0dsRSt3SEQ7Q0FDRjtBTzN3SEM7RTJEaEJEO0lBZ0JFO0lBQ0E7R2xFK3dIQTtDQUNGOztBa0U1d0hBO0VBQ0M7RUFDQTtDbEUrd0hEO0FPdHhIQztFMkRLRDtJQUtFO0lBQ0E7SUFDQTtJQUNBO0dsRWd4SEE7Q0FDRjtBTzl4SEM7RTJES0Q7SUFZRTtJQUNBO0dsRWl4SEE7Q0FDRjtBT3B5SEM7RTJES0Q7SUFpQkU7R2xFa3hIQTtDQUNGOztBa0Uvd0hBO0U1RGpDTTtFQVJBO0U0RDJDTDtFQUNBO0NsRW14SEQ7O0FrRWh4SEE7RUFDQztFQUNBO0NsRW14SEQ7O0FrRWh4SEE7RUFFQztFQUNBO0NsRWt4SEQ7QVE3bEhDO0VBQ0MsaUIwRHhMWTtDbEV1eEhkO0FrRW54SEM7RUFJQztFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBUFE7RUFRUixhQVBTO0VBUVQ7RUFDQTtDbEVreEhGOztBa0U5d0hBO0VBQ0M7Q2xFaXhIRDs7QWtFOXdIQTtFQUNDO0VBQ0E7Q2xFaXhIRDs7QUFoMEhBOzsrREFBQTtBbUV2REE7OzhFQUFBO0FuRStEQTs7K0RBQUE7QW9FL0RBO0VBQ0M7RUFDQTtDcEVtNEhEO0FvRWo0SEM7RXJEcUVDLHFCQS9CVTtFQStCVixjQS9CVTtFQXNDUjtFQUFBO1VBQUE7RXFEMUVGO0VBQ0E7RUFDQTtDcEVvNEhGO0FvRWw0SEU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0NwRW80SEg7QW9FaDRIQztFOURXSztFQVJBO0NOaTRITjtBb0VoNEhHO0VBQ0M7VUFBQTtDcEVrNEhKOztBcUU1NUhBOztHQUFBO0FBT0M7RUFDQztDckUyNUhGO0FxRXY1SEM7RUFDQztDckV5NUhGO0FxRXI1SEM7RUFDQztDckV1NUhGO0FxRXA1SEM7RUFDQztDckVzNUhGO0FxRW41SEM7RUFDQztDckVxNUhGO0FxRW41SEU7RUFDQztFQUNBO0VBQ0E7Q3JFcTVISDtBcUVuNUhHO0UvRERHO0VBUkE7RStEV0Y7RUFDQTtFQUNBO0VBQ0E7Q3JFczVISjtBcUVqNUhDO0VBQ0M7RUFDQTtDckVtNUhGO0FxRWo1SEU7RUFDQztFQUNBO0VBQ0E7RUFDQTtDckVtNUhIO0FxRWo1SEc7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JFbTVISjs7QUF2NEhBOzs7K0RBQUE7QXNFdkVBOzt5RkFBQTtBQUtBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBbUJHO0VBQ0M7Q3RFKzhISjs7QXNFNzhIRztFQUNDO0N0RWc5SEo7O0FzRTc4SEc7RUFDQztDdEVnOUhKOztBc0U5OEhHO0VBQ0M7Q3RFaTlISjs7QXNFNTlIRztFQUNDO0N0RSs5SEo7O0FzRTc5SEc7RUFDQztDdEVnK0hKOztBc0U3OUhHO0VBQ0M7Q3RFZytISjs7QXNFOTlIRztFQUNDO0N0RWkrSEo7O0FzRTUrSEc7RUFDQztDdEUrK0hKOztBc0U3K0hHO0VBQ0M7Q3RFZy9ISjs7QXNFNytIRztFQUNDO0N0RWcvSEo7O0FzRTkrSEc7RUFDQztDdEVpL0hKOztBc0U1L0hHO0VBQ0M7Q3RFKy9ISjs7QXNFNy9IRztFQUNDO0N0RWdnSUo7O0FzRTcvSEc7RUFDQztDdEVnZ0lKOztBc0U5L0hHO0VBQ0M7Q3RFaWdJSjs7QXNFcmdJRztFQUNDO0N0RXdnSUo7O0FzRXRnSUc7RUFDQztDdEV5Z0lKOztBc0VwaElHO0VBQ0M7Q3RFdWhJSjs7QXNFcmhJRztFQUNDO0N0RXdoSUo7O0FzRXJoSUc7RUFDQztDdEV3aElKOztBc0V0aElHO0VBQ0M7Q3RFeWhJSjs7QXNFN2hJRztFQUNDO0N0RWdpSUo7O0FzRTloSUc7RUFDQztDdEVpaUlKOztBc0U1aUlHO0VBQ0M7Q3RFK2lJSjs7QXNFN2lJRztFQUNDO0N0RWdqSUo7O0FzRTdpSUc7RUFDQztDdEVnaklKOztBc0U5aUlHO0VBQ0M7Q3RFaWpJSjs7QXNFcmpJRztFQUNDO0N0RXdqSUo7O0FzRXRqSUc7RUFDQztDdEV5aklKOztBc0Vwa0lHO0VBQ0M7Q3RFdWtJSjs7QXNFcmtJRztFQUNDO0N0RXdrSUo7O0FzRXJrSUc7RUFDQztDdEV3a0lKOztBc0V0a0lHO0VBQ0M7Q3RFeWtJSjs7QXNFN2tJRztFQUNDO0N0RWdsSUo7O0FzRTlrSUc7RUFDQztDdEVpbElKOztBc0U1bElHO0VBQ0M7Q3RFK2xJSjs7QXNFN2xJRztFQUNDO0N0RWdtSUo7O0FzRTdsSUc7RUFDQztDdEVnbUlKOztBc0U5bElHO0VBQ0M7Q3RFaW1JSjs7QXNFcm1JRztFQUNDO0N0RXdtSUo7O0FzRXRtSUc7RUFDQztDdEV5bUlKOztBc0VwbklHO0VBQ0M7Q3RFdW5JSjs7QXNFcm5JRztFQUNDO0N0RXduSUo7O0FzRXJuSUc7RUFDQztDdEV3bklKOztBc0V0bklHO0VBQ0M7Q3RFeW5JSjs7QXNFN25JRztFQUNDO0N0RWdvSUo7O0FzRTluSUc7RUFDQztDdEVpb0lKOztBc0U1b0lHO0VBQ0M7Q3RFK29JSjs7QXNFN29JRztFQUNDO0N0RWdwSUo7O0FzRTdvSUc7RUFDQztDdEVncElKOztBc0U5b0lHO0VBQ0M7Q3RFaXBJSjs7QXNFcnBJRztFQUNDO0N0RXdwSUo7O0FzRXRwSUc7RUFDQztDdEV5cElKOztBc0U3cElHO0VBQ0M7Q3RFZ3FJSjs7QXNFOXBJRztFQUNDO0N0RWlxSUo7O0FzRXJxSUc7RUFDQztDdEV3cUlKOztBc0V0cUlHO0VBQ0M7Q3RFeXFJSjs7QXNFN3FJRztFQUNDO0N0RWdySUo7O0FzRTlxSUc7RUFDQztDdEVpcklKOztBc0U1cklHO0VBQ0M7Q3RFK3JJSjs7QXNFN3JJRztFQUNDO0N0RWdzSUo7O0FzRXBzSUc7RUFDQztDdEV1c0lKOztBc0Vyc0lHO0VBQ0M7Q3RFd3NJSjs7QXNFNXNJRztFQUNDO0N0RStzSUo7O0FzRTdzSUc7RUFDQztDdEVndElKOztBc0VwdElHO0VBQ0M7Q3RFdXRJSjs7QXNFcnRJRztFQUNDO0N0RXd0SUo7O0F1RXB2SUE7RUFDQztDdkV1dklEOztBdUVwdklBO0VBQ0M7RUFDQTtLQUFBO0N2RXV2SUQ7O0FPdHRJQztFZ0U5QkQ7SS9ENkhNO0lBQUE7R1I2bklKO0NBQ0Y7QU83dElDO0VnRTlCRDtJL0RvSk07SUFBQTtHUjRtSUo7Q0FDRjtBT251SUM7RWdFOUJEO0kvRHlKTTtJQUFBO0dSNm1JSjtDQUNGO0FPenVJQztFZ0U5QkQ7SS9EOEpNO0lBQUE7R1I4bUlKO0NBQ0Y7O0F1RXR3SUE7RUFDQztDdkV5d0lEOztBT252SUM7RWdFbEJBO0lBQ0M7R3ZFeXdJQTtDQUNGO0F3RWh5SUE7OztFQUFBO0FDQUE7Ozs7Z0ZBQUE7QUF5QkE7RWhFQUM7RURxUUE7RUFDQTtFQUNBO0VpRXBRQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7Q3pFbXhJRDtBTzl3SUM7RWtFZEQ7SWpFMlFJO0dScWhJRjtDQUNGO0FPbnhJQztFa0VkRDtJakVrUkU7SUFDQTtHUm1oSUE7Q0FDRjtBT3p4SUM7RWtFZEQ7SUFtQkU7R3pFd3hJQTtDQUNGOztBeUVweElBO0VBQ0M7RUFFQTtDekVzeElEO0FPbnlJQztFa0VVRDtJQVlFO0d6RWl4SUE7Q0FDRjtBT3h5SUM7RWtFVUQ7SUFxQkU7R3pFNndJQSIsImZpbGUiOiJjc3Mvc3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogIDEgLSBTRVRUSU5HU1xuICogIEdsb2JhbCB2YXJpYWJsZXMsIHNpdGUtd2lkZSBzZXR0aW5ncyxcbiAqICBjb25maWcgc3dpdGNoZXMgZXRjLlxuICpcbiAqICBUaGUgb3JkZXIgaW4gd2hpY2ggdGhlc2UgU2FzcyBmaWxlc1xuICogIGFyZSBsb2FkZWQgaXMgY3JpdGljYWwhXG4gKiAgU28gcGxlYXNlIGJlIGNhcmVmdWwgd2hlbiBlZGl0aW5nXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb25maWcgc2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT3JnYW5pemUgY29sb3IgdmFyaWFibGVzIGluIGEgU2FzcyBNYXAuXG4gICBUaGlzIHdheSwgdGhlIGNvbG9ycyBjYW4gYmUgaXRlcmF0ZWQsIGFyZSBtb3JlIG9yZ2FuaXplZCxcbiAgIGFuZCBhcmUgbW9yZSBpbnR1aXRpdmUgdG8gcmVmZXJlbmNlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gXHQgRGVmaW5lcyB0aGUgdHlwb2dyYXBoaWMgYmFzZWxpbmUuXG4gICBXZSBkZWZpbmUgZXZlcnkgc2l6ZSBpbiBwaXhlbHMsIHRoZSB1bmRlcmx5aW5nIHN5c3RlbVxuICAgY29udmVydHMgdGhlIHJlc3BlY3RpdmUgdW5pdHMgdG8gdGhlIHJlc3BvbnNpdmUgUkVNIHZhbHVlLlxuIFx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogT3VyIGJhc2UgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICovXG4vKipcbiAqXHRIZXJlIHdlIGFzc2lnbiBzaG9ydCBuYW1lcyBmb3IgdGhlIGZvbnQgZmFtaWxpZXNcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERlZmluZSBicmVha3BvaW50cyBmb3IgZ2l2ZW4gZm9ybWF0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICAyIC0gVE9PTFNcbiAqICBTaXRlIHdpZGUgbWl4aW5zIGFuZCBmdW5jdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRnVuY3Rpb25zIHVzZWQgaW4gZ3JpZCBjYWxjdWxhdGlvblxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICogUmV0dXJuIHBlcmNlbnRhZ2UgYmFzZWQgb24gYW1vdW50IG9mIGNvbHVtbnNcbiAgKiBVc2UgcGFyZW50IGNvbHVtbiBzaXplIHRvIGFkanVzdCB0aGUgb3JpZ2luXG4gICovXG4vKipcbiAgKiBEZWZhdWx0IGZ1bmN0aW9uIGZvciBjb2x1bW5zXG4gICogUmV0dXJuIGFzIHBlcmNlbnRhZ2VcbiAgKi9cbi8qKlxuICAqIFJldHVybiBhcyB2aWV3cG9ydCB3aWR0aFxuICAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEZvbnQgcmVsYXRlZCBmdW5jdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqICBNaXhpbiBmb3Igc2V0dGluZyBmb250LXNpemUgaW4gUkVNIHRocm91Z2ggYSBTYXNzIE1hcCB3aXRoIGFsbCBhdmFpbGFibGUgc2l6ZXNcblxuICAgIFVTQUdFOlxuXG4gICAgLm15Q2xhc3Mge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuICAgIH1cblxuICovXG4vKiBNZWRpYSBxdWVyeSBtaXhpbiBmb3Igd3JpdGluZyBNb2JpbGUgRmlyc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUb29sYm94IGZ1bmN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqICBNYXRocyBoZWxwZXJzLlxuICogIEhhbHZlIGFuZCBkb3VibGUgbnVtYmVycywgcmV0dXJuaW5nIHJvdW5kZWQgaW50ZWdlcnMuXG5cbiAgICBVU0FHRTpcblxuICAgIC5mb28ge1xuICAgICAgICBwYWRkaW5nOiBoYWx2ZSgzMHB4KTtcbiAgICB9XG5cbiAqL1xuLyoqXG4gKiAgUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG4gKiAgQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuICogIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbiAqL1xuLyogQ2hlY2sgaWYgdmFsdWUgaXMgbnVtYmVyICovXG4vKiBWYWx1ZSB0byBFbSAqL1xuLyogVmFsdWUgdG8gUmVtICovXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBjb2xvcnMgZnJvbSBvdXIgbWFwcGluZ1xuICpcdFRvIGFjY2VzcyBjb2xvcnMgaW4gb3VyIHBhbGV0dGUsIHdlIHVzZSBhIHZlcnkgc2ltcGxlIGN1c3RvbSBTYXNzIGZ1bmN0aW9uXG5cblx0VVNBR0U6XG5cblx0YSB7XG5cdFx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSk7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDIpO1xuXHRcdH1cblx0fVxuXG4gKi9cbi8qXG4gKiBTZXQgdmVydGljYWwgc3BhY2luZyBvbmx5IGZvciBtb2JpbGUgdmlld3BvcnRcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctcyhcblx0XHRcdFx0J21hcmdpbi10b3AnIDFcblx0XHQpO1xuICB9XG5cbiAqL1xuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIGZvciB2aWV3cG9ydCBsYXJnZXIgdGhhbiBtb2JpbGVcbiAqIEluIGZsZXhpYmxlIHVuaXRzICh2dykgYW5kIG9uIG1heCB2aWV3cG9ydCBpbiBhIGZpeGVkIGFtb3VudCAocHgpXG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nLW0tdXAoXG5cdFx0XHRcdCdwYWRkaW5nLXRvcCcgMC4zMyxcblx0XHRcdFx0J21hcmdpbi1ib3R0b20nIDAuNVxuXHRcdCk7XG4gIH1cblxuICovXG4vKlxuICogRnJvbSB2YWx1ZXMgZ2l2ZW4gcmV0dXJuIHRoZSBjb3JyZWN0IHYtc3BhY2luZyBmb3IgZWFjaCBicmVha3BvaW50XG4gKi9cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBzZXR0aW5nIGEgY29uc2lzdGVudCBib3gtc2hhZG93XG5cblx0VVNBR0U6XG5cblx0LmNhcmQge1xuXHRcdEBpbmNsdWRlIGJveC1zaGFkb3c7XG5cdH1cblxuXHQuY2FyZC0tYWx0IHtcblx0XHRAaW5jbHVkZSBib3gtc2hhZG93KGxvdyk7XG5cdH1cblxuICovXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3Igc2V0dGluZyBhIGNvbnNpc3RlbnQgYm9yZGVyLXJhZGl1c1xuXG5cdFVTQUdFOlxuXG5cdC5jYXJkIHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHR9XG5cblx0LmNhcmQtLWFsdCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhsKTtcblx0fVxuXG4gKi9cbi8qKlxuICogTG9ib3RvbWl6ZWQgT3dsIFNlbGVjdG9yIG1peGluOlxuICogLSBTZXQgc3BhY2luZyBmb3IgY29uc2VjdXRpdmUgaXRlbXMgd2l0aCBtYXJnaW4tdG9wIG9uIGFsbCBidXQgdGhlIGZpcnN0IGl0ZW1cblxuXHRVU0FHRTpcblxuXHQuYm94IHtcblx0XHRAaW5jbHVkZSBvd2wtY2hpbGRyZW47XG5cdH1cblxuXHQuY2FyZF9faXRlbSB7XG5cdFx0QGluY2x1ZGUgb3dsO1xuXHR9XG5cbiAqL1xuLypcbiAqIExvYm90b21pemVkIG93bCBzZWxlY3Rvci5cbiAqIC0gR2l2ZXMgdGhlIGNoaWxkcmVuIG9mIHRoZSBlbGVtZW50IHNwYWNpbmdcbiAqIC0gaHR0cHM6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL2F4aW9tYXRpYy1jc3MtYW5kLWxvYm90b21pemVkLW93bHNcbiAqL1xuLyoqXG4gKiAgU2hvdyBoeXBoZW5zIGZvciBldmVyeSBicm93c2VyIHN1cHBvcnRpbmcgaXRcbiAqICBhbmQgd2lsbCBicmVhayBsaW5lcyBpbiBldmVyeSBvdGhlciBicm93c2VyXG4gKi9cbi8qXG4gKiAgUmVzdHJpY3QgYW4gZWxlbWVudCB0byBhIG1heC13aWR0aCBmb3IgY3JlYXRpbmcgZ3V0dGVycyBvbiB0aGUgc2lkZVxuICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIFRoZSAnei1pbmRleC1tYXAnIGlzIHVzZWQgZm9yIG1hbmFnaW5nIHRoZSBlbGVtZW50cyBzdGFja2luZyBvcmRlciBpbiB0aGUgJ3Jvb3QnIHN0YWNraW5nIGNvbnRleHRcbiAqICBUaGlzIHdheSB3ZSBoYXZlIGEgb3ZlcnZpZXcgb2YgYWxsIHRoZSB6LWluZGV4IHZhbHVlcyB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgcHJvamVjdC5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICBVU0FHRTpcblxuICAgIEBpbmNsdWRlIHooei1tb2RhbCk7XG5cbiAqL1xuLyogIDMgLSBFTEVNRU5UU1xuICogIFBsYWluIG9sZCBzaW1wbGUgSFRNTCBlbGVtZW50cyB3aXRob3V0IGEgY2xhc3MgKHR5cGUgc2VsZWN0b3JzKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQmFzaWMgZWxlbWVudHMgKG5vIGNsYXNzIHNlbGVjdG9ycyBhbGxvd2VkKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogU2V0IHVwIHRoZSBodG1sXG4gKlxuICogMS4gTWFrZXMgc3VyZSB0aGF0IHNvbWUgZm9udHMgYXJlIGJldHRlciByZW5kZXJlZFxuICogMi4gU2V0IGZvbnQgdG8gbGluaW5nIGZpZ3VyZXNcbiAqL1xuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibG51bVwiO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi8qKlxuICogWzFdIE1ha2Ugc3VyZSBlbGVtZW50cyBsaWtlIGlucHV0IGFuZCB0ZXh0YXJlYSBpbmhlcml0IHNvbWUgYmFzZSBwcm9wZXJ0aWVzXG4gKiAgICAgaHR0cHM6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNi8xMS9jc3MtaW5oZXJpdGFuY2UtY2FzY2FkZS1nbG9iYWwtc2NvcGUtbmV3LW9sZC13b3JzdC1iZXN0LWZyaWVuZHMvXG4gKlxuICogWzJdIFNldHRpbmcgYm94LXNpemluZyB0aGUgYmVzdCB3YXkgcGVyOlxuICogICAgIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlL1xuICovXG4qIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBbMV0gVHVybiBvZmYgdGV4dC1zaGFkb3cgd2hlbiBzZWxlY3RpbmcgdGV4dCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5XG4gKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzBEMEQwQztcbiAgY29sb3I6ICNmZmY3ZjI7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICAvKiBbMV0gKi9cbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFsxXSBTZXR0aW5nICd2ZXJ0aWNhbC1hbGlnbicgcmVtb3ZlcyB0aGUgd2hpdGVzcGFjZSB0aGF0IGFwcGVhcnMgdW5kZXIgJ2ltZydcbiAqXHQgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXG4gKlx0ICAgdXNpbmcgJ2Rpc3BsYXk6IGJsb2NrOycuXG4gKiBbMl0gUmVtb3ZlIGJvcmRlciAvIGVzcGVjaWFsbHkgb24gb2xkZXIgYnJvd3NlcnNcbiAqL1xuaW1nLCBzdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKlsxXSovXG4gIGJvcmRlcjogbm9uZTtcbiAgLypbMl0qL1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogIE5lZWRlZCBmb3IgaU9TIHRvIHByZXZlbnQgaW5wdXQgem9vbWluZ1xuICogIGh0dHBzOi8vdXhjZWxsZW5jZS5jb20vMjAxNC8wMS8xNS9xdWljay1maXgtaW5jcmVhc2UtZm9udC1zaXplLXRvLTE2cHgtdG8tZml4LWlucHV0LXpvb21cbiAqL1xuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuYTpub3QoW2NsYXNzXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjODU5Q0NDO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bztcbn1cbmE6bm90KFtjbGFzc10pOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICM4NTlDQ0M7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjNzLCBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG59XG5hOm5vdChbY2xhc3NdKTpob3Zlcjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDJweDtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGhncm91cCxcbnVsLCBvbCwgZGQsXG5wLCBmaWd1cmUsXG5wcmUsIHRhYmxlLCBmaWVsZHNldCwgaHIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDUsIGg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKlx0RGVmYXVsdCBpbmRlbnRhdGlvbiB2YWx1ZSBmb3IgbGlzdHNcbiAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IDEuMTI1ZW07XG59XG5cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qKlxuICpcdFJlbW92ZSBleHRyYSB2ZXJ0aWNhbCBzcGFjaW5nIHdoZW4gbmVzdGluZyBsaXN0cy5cbiAqL1xubGkgPiB1bCxcbmxpID4gb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAgNCAtIExheW91dCBlbGVtZW50c1xuICogIERlc2lnbiBwYXR0ZXJucyAoZS5nLiBncmlkcyBvciBtZWRpYSBvYmplY3QpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubC1jb250YWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtY29udGFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLWNvbnRhaW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogU3BsaXQgbGF5b3V0IGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBjb2x1bW5zIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtc3BsaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXNwbGl0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuLyoqXG4gKiBTcGVjaWFsIGNvbnRhaW4gdmVyc2lvbiBmb3Igc3BsaXQuXG4gKiBEb2Vzbid0IHJlc3RyYWluIGNvbnRlbnQgb24gbWVkaXVtIHZpZXdwb3J0XG4gKi9cbi5sLXNwbGl0LS1jb250YWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXQtLWNvbnRhaW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXQtLWNvbnRhaW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogNjIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG59XG4ubC1zcGxpdC0taXMtcmV2ZXJzZWQgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIG9yZGVyOiAyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmwtc3BsaXQtLWlzLXJldmVyc2VkIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0LS1pcy1yZXZlcnNlZCAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmwtc3BsaXQtLWJyZWFrb3V0LW9uLW0gLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gIH1cbiAgLmwtc3BsaXQtLWJyZWFrb3V0LW9uLW0gLmwtc3BsaXRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG59XG4vKipcbiAqIFdoZW4gdGhlcmUgaXMgb25seSAxIGNvbHVtbiwgYWxpZ24gaXQgdG8gdGhlIG1pZGRsZSBhbmQgY29udGFpbiB0aGUgd2lkdGhcbiAqIE9ubHkgb25lIGNvbHVtbiBpcyB1c2VkIGUuZy4gaW4gdGhlIHRhYnNsaWRlciB3aGVuIHRoZXJlIGlzIG5vIGltYWdlIHNldFxuICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1zcGxpdF9fY29sdW1uOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uOm9ubHktY2hpbGQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmwtc3BsaXRfX2NvbHVtbi0tdnBhZCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1zcGxpdF9fY29sdW1uLS12cGFkIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW4tLWxlZnRwYWQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUmVzdHJpY3RcbiAqXG4gKiBXaGVuIGEgYmxvY2sgc2hvdWxkbid0IHRha2UgdXAgdGhlIHdob2xlIHdpZHRoIG9mIHRoZSBjb250YWluZXJcbiAqIHdlIGNhbiByZXN0cmljdCB0aGUgbWF4aW11bSB3aWR0aFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXJlc3RyaWN0LW5hcnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWF4LXdpZHRoOiAzOGVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtcmVzdHJpY3QtbmFycm93IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXJlc3RyaWN0LXdpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogODcuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1yZXN0cmljdC13aWRlIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuLyogIDUgLSBDT01QT05FTlRTXG4gKiAgRGlzY3JldGUgY29tcGxldGUgY2h1bmtzIG9mIFVJLlxuICogIERlc2lnbmVkIGNvbXBvbmVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5jLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBjb2xvcjogI2ZmZjdmMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBEMEQwQztcbiAgdGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmZmZmLCAwIDAgNXB4IDJweCAjMEQwRDBDO1xufVxuLmMtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYy1idXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYy1idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgbGVmdDogY2FsYyg1MCUgLSAycHgpO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgb3BhY2l0eTogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xufVxuLmMtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMTAwKTtcbn1cblxuLmMtYnV0dG9uX190ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWJ1dHRvbi0taWNvbiAuYy1idXR0b25fX3RleHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4uYy1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogLTFweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbi5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy1idXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWJ1dHRvbl9faWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG4uYy1idXR0b24tLWljb24gLmMtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRGVmYXVsdCBidXR0b25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1naG9zdGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1naG9zdGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5jLWdob3N0YnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLWdob3N0YnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmMtZ2hvc3RidXR0b246OmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xcHg7XG4gIGJvdHRvbTogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbn1cbi5jLWdob3N0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMzVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi5jLWdob3N0YnV0dG9uX190ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWJ1dHRvbi0taWNvbiAuYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5jLWdob3N0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1naG9zdGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy1naG9zdGJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuLmMtZ2hvc3RidXR0b24tLWljb24gLmMtZ2hvc3RidXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE2cHg7XG59XG4uYy1naG9zdGJ1dHRvbl9faWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbi5jLWNhcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiBDYXJkIHRoYXQgZG9lcyBzb21lIGFuaW1hdGlvbnMgb24gaG92ZXJcbiAqL1xuLmMtY2FyZC0taGFzLWFjdGlvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDA7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOjpiZWZvcmUsIC5jLWNhcmQtLWhhcy1hY3Rpb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkyKTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC44KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjkyKSAxMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMzUlKSByb3RhdGUoMTFkZWcpIHNjYWxlKDEuMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NSwgMC4xLCAwLjMsIDEpO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjo6YWZ0ZXIge1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMjVweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZpZXdCb3g9JzAgMCAxNiAxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbD0nJTIzMEQwRDBDJyBkPSdNMTMuNCA2Ljc4M0guNzYyQS43NzIuNzcyIDAgMCAxIDAgNmMwLS40MzIuMzQxLS43ODMuNzYyLS43ODNIMTMuNEw5LjYyMyAxLjMzNmEuNzk4Ljc5OCAwIDAgMSAwLTEuMTA3Ljc0Ny43NDcgMCAwIDEgMS4wNzcgMGw1LjA3NyA1LjIxOGEuNzk4Ljc5OCAwIDAgMSAwIDEuMTA2TDEwLjcgMTEuNzcxYS43NDcuNzQ3IDAgMCAxLTEuMDc3IDAgLjc5OC43OTggMCAwIDEgMC0xLjEwN0wxMy40IDYuNzgzeicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNzUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlcjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjkyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMWRlZykgc2NhbGUoMS4zKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDUwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgb3V0bGluZS1jb2xvcjogIzg1OUNDQztcbn1cblxuLmMtY2FyZF9fcGljdHVyZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtY2FyZF9faW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtY2FyZF9faW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA1My41dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5jLWNhcmRfX2ltZyB7XG4gICAgbWF4LWhlaWdodDogMjUuNnZ3O1xuICB9XG59XG5cbi5jLWNhcmRfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxNHB4IDEwcHggMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyIC5jLWNhcmRfX2xhYmVsIHtcbiAgY29sb3I6ICNmZmY3ZjI7XG59XG4uYy1jYXJkX19sYWJlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEQwRDBDO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMCUpIHJvdGF0ZSg1ZGVnKSBzY2FsZSgyKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1LCAwLjEsIDAuMywgMSk7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyIC5jLWNhcmRfX2xhYmVsOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKSBzY2FsZSgyKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcbn1cblxuLmMtY2FyZF9faW5mbyB7XG4gIHBhZGRpbmc6IDE2cHggMzJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbn1cblxuLmMtY2FyZF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5jLWNhcmRfX3N1YmhlYWRpbmcge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmMtY2FyZF9fdGV4dGxpbmUge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cbio6bm90KC5jLWNhcmRfX3RleHRsaW5lKSArIC5jLWNhcmRfX3RleHRsaW5lIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLmMtY2xvc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgZWFzZS1vdXQ7XG59XG4uYy1jbG9zZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggMnB4ICNmZmZmZmY7XG59XG4uYy1jbG9zZTphZnRlciwgLmMtY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMCU7XG4gIGxlZnQ6IDIwJTtcbiAgaGVpZ2h0OiAzcHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uYy1jbG9zZTpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uYy1jbG9zZTphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG4uYy1jbG9zZTpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cblxuLmMtY29ubmVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1jb25uZWN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuLmMtY29ubmVjdF9fcGhvbmUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzFBMUExQTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbn1cbi5jLWNvbm5lY3RfX3Bob25lOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5jLWNvbm5lY3RfX3Bob25lOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6ICM4NTlDQ0M7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDAgI2ZmZiwgMnB4IDJweCAwIHJnYmEoMjYsIDI2LCAyNiwgMC4zNSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYy1jb25uZWN0X19vciB7XG4gIG1hcmdpbjogMCAxNnB4O1xuICBjb2xvcjogIzY1NjU2NTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLWNvbm5lY3RfX29yIHtcbiAgICBtYXJnaW46IDhweCAwIDE2cHg7XG4gIH1cbn1cblxuLmMtZGF0YSB7XG4gIG1hcmdpbjogOHB4IDA7XG59XG5cbi5jLWRhdGFfX2xpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uYy1kYXRhX19sYWJlbCB7XG4gIG1pbi13aWR0aDogNjRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMxQTFBMUE7XG59XG5cbi5jLWRhdGFfX3ZhbHVlIHtcbiAgZmxleC1ncm93OiA5OTk5O1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtZGF0YV9fdmFsdWVbaHJlZl06aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5jLWRhdGFfX3ZhbHVlW2hyZWZdOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzg1OUNDQztcbn1cblxuLmMtZm9ybS1ncm91cF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmMtZm9ybS1ncm91cF9fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuLmhhcy1lcnJvciAuYy1mb3JtLWdyb3VwX19lcnJvcjpub3QoOmVtcHR5KSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHg7XG4gIGNvbG9yOiAjODU5Q0NDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzMywgMTU2LCAyMDQsIDAuMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4NTlDQ0M7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xufVxuXG4uYy1mb3JtLWZlZWRiYWNrIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luOiAwIDAgOHB4O1xuICBwYWRkaW5nOiAyNHB4IDMycHg7XG4gIGNvbG9yOiAjMUExQTFBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjExLCA1OCwgMC4yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZDMzYTtcbn1cbi5jLWZvcm0tZmVlZGJhY2s6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jLWZvcm0tZmVlZGJhY2s6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLWZlZWRiYWNrKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5jLWZvcm0tZmVlZGJhY2sgbGk6OmZpcnN0LWxldHRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jLWhhbWJ1cmdlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmMtaGFtYnVyZ2VyOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAycHggIzg1OUNDQztcbn1cbi5jLWhhbWJ1cmdlci5pcy1saWdodCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmMtaGFtYnVyZ2VyID4gc3BhbiwgLmMtaGFtYnVyZ2VyOmFmdGVyLCAuYy1oYW1idXJnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMCU7XG4gIGxlZnQ6IDIwJTtcbiAgaGVpZ2h0OiAzcHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG59XG4uYy1oYW1idXJnZXI6YmVmb3JlIHtcbiAgdG9wOiAxMnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xufVxuLmMtaGFtYnVyZ2VyOmFmdGVyIHtcbiAgdG9wOiAyOHB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjUpO1xufVxuLmMtaGFtYnVyZ2VyOmhvdmVyID4gc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG59XG4uYy1oYW1idXJnZXI6aG92ZXI6YWZ0ZXIsIC5jLWhhbWJ1cmdlcjpob3ZlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5jLWhhbWJ1cmdlciA+IHNwYW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSAhaW1wb3J0YW50O1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5jLWhhbWJ1cmdlcjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG5cbi5jLWhlYWRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW46IDQwcHggMDtcbiAgY29sb3I6ICMxQTFBMUE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1oZWFkaW5nLS1pbmRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1oZXJvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLWhlcm8ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLWhlcm8ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5jLWhlcm9fX21haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5jLWhlcm9fX3NsaWRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU1LjU1NiU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuYy1oZXJvX19zbGlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gIH1cbn1cblxuLmMtaGVyb19fcGljdHVyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBmaWx0ZXI6IGJsdXIoNXB4KTtcbn1cbi5jLWhlcm9fX3BpY3R1cmUuaXMtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICBmaWx0ZXI6IG5vbmU7XG59XG5cbi5jLWhlcm9fX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWhlcm9fX2NhcHRpb24ge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzgzcHgpIHtcbiAgLmMtaGVyb19fY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxM3Z3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1oZXJvX19jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5jLWhlcm9fX2NhcHRpb24ge1xuICAgIG1heC13aWR0aDogNjAlO1xuICAgIHBhZGRpbmc6IDIuNnZ3O1xuICAgIGZvbnQtc2l6ZTogNC4ydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1oZXJvX19jYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuMTY2NjY2NjY2NyU7XG4gIH1cbn1cblxuLmMtaGVyb19fY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHg7XG59XG4uYy1oZXJvX19jb250cm9sczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogNDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGJsYWNrLCB0cmFuc3BhcmVudCk7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmMtaGVyb19fc2Nyb2xsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEQwRDBDO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSgwLjI1dHVybik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1oZXJvX19zY3JvbGwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5jLWhlcm9fX3Njcm9sbCA+IHN2ZyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcztcbn1cbi5jLWhlcm9fX3Njcm9sbDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogIzBjMGMwYjtcbn1cbi5jLWhlcm9fX3Njcm9sbDpob3ZlciA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuLmMtaGVyb19fc2Nyb2xsOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogIzBjMGMwYjtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICNmZmZmZmY7XG59XG5cbi8qXG4gKiBBbHRlcm5hdGl2ZSB2ZXJzaW9uIG9mIHRoZSBoZXJvIGVsZW1lbnRcbiAqIENvbW1lbnQgb3V0IHdoZW4gbmVlZGVkXG4gKi9cbi5jLWlucHV0IHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA3cHggMTZweDtcbiAgY29sb3I6ICMxQTFBMUE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uaGFzLWVycm9yIC5jLWlucHV0IHtcbiAgYm94LXNoYWRvdzogMCAwIDdweCAtM3B4ICM4NTlDQ0M7XG4gIGJvcmRlci1jb2xvcjogIzg1OUNDQztcbn1cbi5jLWlucHV0OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDdweCAtM3B4ICMxZDFkMWQ7XG4gIGJvcmRlci1jb2xvcjogIzFkMWQxZDtcbn1cbnRleHRhcmVhLmMtaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTZweDtcbiAgbWluLWhlaWdodDogMTU4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uYy1sYW5ndWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNjOGM4Yzg7XG59XG4uYy1sYW5ndWFnZS5pcy1saWdodCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYy1sYW5ndWFnZV9fYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgYm94LXNoYWRvdyAwLjE1cztcbn1cbi5jLWxhbmd1YWdlX19idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmMtbGFuZ3VhZ2U6aG92ZXIgLmMtbGFuZ3VhZ2VfX2J1dHRvbiB7XG4gIGNvbG9yOiAjMEQwRDBDO1xufVxuXG4uYy1sYW5ndWFnZV9faWNvbiB7XG4gIGZsZXg6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYy1sYW5ndWFnZV9fbGFiZWwge1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDAgMTJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1sYW5ndWFnZTpob3ZlciAuYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uYy1sYW5ndWFnZV9faXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYy1sYW5ndWFnZV9faXRlbTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5jLWxhbmd1YWdlX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbn1cbi5jLWxhbmd1YWdlX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY3ZjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwRDBEMEM7XG59XG5cbi5jLW5hdiB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbn1cblxuLmMtbmF2X19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luLWxlZnQ6IDN2dztcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtbmF2X19pdGVtIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5jLW5hdl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5jLW5hdl9faXRlbSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuM3Z3ICsgMC4wNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjN2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLW5hdl9faXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5jLW5hdl9faXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgfVxufVxuXG4uYy1uYXZfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDRweDtcbiAgY29sb3I6ICMxQTFBMUE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5pcy1oZWFkZXItYWx0IC5jLW5hdl9fbGluayB7XG4gIGNvbG9yOiAjZmZmN2YyO1xufVxuLmMtbmF2X19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgbGVmdDogNHB4O1xuICBib3R0b206IDFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjOGM4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG59XG4uaXMtaGVhZGVyLWFsdCAuYy1uYXZfX2xpbms6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5jLW5hdl9fbGluazpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xufVxuLmMtbmF2X19saW5rLmlzLWFjdGl2ZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uYy1uYXZfX2xpbmsuaXMtYWN0aXZlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTMwNjEzO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG59XG4uYy1uYXZfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjODU5Q0NDO1xufVxuXG4uYy1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1wYWdpbmF0aW9uX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1wYWdpbmF0aW9uX19pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jLXBhZ2luYXRpb25fX2l0ZW06Zmlyc3QtY2hpbGQsIC5jLXBhZ2luYXRpb25fX2l0ZW06bGFzdC1jaGlsZCwgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1sYXN0LXBhZ2UsIC5jLXBhZ2luYXRpb25fX2l0ZW0uaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5jLXBhZ2luYXRpb25fX2l0ZW0uaXMtbGFzdC1wYWdlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuLmMtcGFnaW5hdGlvbl9faXRlbSArIC5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG59XG5cbi5jLXBhZ2luYXRpb25fX3RleHQsXG4uYy1wYWdpbmF0aW9uX19saW5rLFxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWluLXdpZHRoOiA0OHB4O1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiA4cHg7XG59XG5cbi5jLXBhZ2luYXRpb25fX3RleHQge1xuICBjb2xvcjogIzFBMUExQTtcbiAgb3BhY2l0eTogMC4zNTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fbGluayB7XG4gIGNvbG9yOiAjMUExQTFBO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cbi5jLXBhZ2luYXRpb25fX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzEyMTIxMjtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbn1cbi5pcy1hY3RpdmUgPiAuYy1wYWdpbmF0aW9uX19saW5rIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggLTVweCAjRTMwNjEzO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNFMzA2MTM7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHQge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbn1cbi5jLXBhZ2luYXRpb25fX3ByZXYuaXMtaW5hY3RpdmUsXG4uYy1wYWdpbmF0aW9uX19uZXh0LmlzLWluYWN0aXZlIHtcbiAgY29sb3I6IHJnYmEoMjYsIDI2LCAyNiwgMC40KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjI1dHVybik7XG59XG5cbi8qXG4gKiBQYWdlIHRpdGxlXG4gKi9cbi5jLXBhZ2UtdGl0bGUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgcGFkZGluZy10b3A6IDE2cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICBjb2xvcjogIzFBMUExQTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLXBhZ2UtdGl0bGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1wYWdlLXRpdGxlIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZS0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZS0tY2VudGVyIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtcGFnZS10aXRsZS0tY2VudGVyIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZV9fcHJlaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uYy1wYWdlLXRpdGxlLS1vbi1kYXJrIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5jLXByb2plY3RvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1wcm9qZWN0b3JfX2ZpZ3VyZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmMtcHJvamVjdG9yX19jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMjtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG59XG4uYy1wcm9qZWN0b3JfX3BpY3R1cmUuaXMtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmMtcHJvamVjdG9yX19jb250cm9sIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5jLXByb2plY3Rvcl9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1wcm9qZWN0b3JfX2ltZyB7XG4gICAgbWF4LWhlaWdodDogNzh2aDtcbiAgfVxufVxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6IC0xNnB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2ltYWdlIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE3NnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTM5cHgpIHtcbiAgLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG4gICAgd2lkdGg6IDk2cHg7XG4gIH1cbn1cblxuLmMtc2VydmljZXBvaW50X19jb250ZW50IHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvIDFmcjtcbiAgZmxleC1ncm93OiA5OTk5O1xuICBtaW4td2lkdGg6IDE4MHB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRlciB7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fYm9keSB7XG4gIGdyaWQtcm93OiAyO1xuICBtYXJnaW46IDhweCAwO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2Zvb3RlciB7XG4gIGdyaWQtcm93OiAzO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5jLXNpdGVtYXBfX2l0ZW0ge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5jLXNpdGVtYXBfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLXNpdGVtYXBfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI0UzMDYxMztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qXG4gKiBTa2lwIExpbmtcbiAqL1xuLmMtc2tpcC1saW5rIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTAwdmg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBjb2xvcjogIzg1OUNDQztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtc2tpcC1saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzg1OUNDQztcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgdG9wOiA1cHg7XG4gIC8qIE5vdyB0aGUgbGluayB3aWxsIGFwcGVhciAqL1xufVxuXG4uYy1zbGlkZS1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246aG92ZXI6bm90KC5pcy1hY3RpdmUpLCAuYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpmb2N1czpub3QoLmlzLWFjdGl2ZSkge1xuICBvcGFjaXR5OiAwLjU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpiZWZvcmUsIC5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmJlZm9yZSB7XG4gIHRvcDogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgcmlnaHQ6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGJvdHRvbTogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgbGVmdDogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmFmdGVyIHtcbiAgdG9wOiBjYWxjKCgzMHB4IC0gMTJweCkgLyAyKTtcbiAgcmlnaHQ6IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICBib3R0b206IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICBsZWZ0OiBjYWxjKCgzMHB4IC0gMTJweCkgLyAyKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuICBvcGFjaXR5OiAwO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24uaXMtYWN0aXZlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24uaXMtYWN0aXZlOmFmdGVyIHtcbiAgb3BhY2l0eTogMC45O1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246Zm9jdXMge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpmb2N1czpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggYmxhY2ssIDAgMCAxMHB4IDFweCB3aGl0ZTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmZvY3VzOmFmdGVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG59XG5cbi5jLXN1Ym5hdiB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMXB4IDZ2dyA4MHB4IDZ2dztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLXN1Ym5hdiB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0LS1icmVha291dC1vbi1tIC5jLXN1Ym5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1zdWJuYXYge1xuICAgIHBhZGRpbmctbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gICAgcGFkZGluZy1yaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuLmMtc3VibmF2X19saXN0IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmMtc3VibmF2X19pdGVtLS1iYWNrIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLmMtc3VibmF2X19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA4cHggMDtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyNTBtcztcbn1cbi5jLXN1Ym5hdl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMUExQTFBO1xufVxuLmMtc3VibmF2X19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzg1OUNDQztcbn1cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgLmMtc3VibmF2X19saW5rIHtcbiAgY29sb3I6ICNFMzA2MTM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uYy1zdWJuYXZfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOGM4Yzg7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9fbGluazo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjRTMwNjEzO1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLmMtc3VibmF2X19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBjb2xvcjogI2M4YzhjODtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04cHgpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5jLXN1Ym5hdl9fbGluazpob3ZlciAuYy1zdWJuYXZfX2ljb24ge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiAjMUExQTFBO1xufVxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAuYy1zdWJuYXZfX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvbG9yIGdldHMgaW5oZXJpdGVkIGFuZCB1c2VkIGZvciBuZXN0ZWQgZWxlbWVudHMgd2l0aCAnY3VycmVudENvbG9yJyBwcm9wZXJ0eVxuICogMi4gUmVzZXQgZGVmYXVsdCBidXR0b24gc3R5bGluZ1xuICovXG4uYy10ZXh0YnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBjb2xvcjogIzg1OUNDQztcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAyICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5jLXRleHRidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBjb2xvcjogIzNjNTY4Zjtcbn1cbi5jLXRleHRidXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYy10ZXh0YnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzg1OUNDQztcbn1cblxuLmMtdGV4dGJ1dHRvbl9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy10ZXh0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLXRleHRidXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLXRleHRidXR0b24tLWljb24gLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy10ZXh0YnV0dG9uLS1pcy1yZXZlcnNlZCAuYy10ZXh0YnV0dG9uX190ZXh0IHtcbiAgb3JkZXI6IDI7XG59XG4uYy10ZXh0YnV0dG9uLS1pcy1yZXZlcnNlZCAuYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgb3JkZXI6IDE7XG4gIHRvcDogMXB4O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xufVxuLmMtdGV4dGJ1dHRvbi0taXMtcmV2ZXJzZWQ6aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pIHRyYW5zbGF0ZVgoM3B4KTtcbn1cblxuLmMtdGV4dGJ1dHRvbi0tb24tZGFyayB7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5jLXRyYWRlbWFyayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cbi5jLXRyYWRlbWFyazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmMtdHJhZGVtYXJrOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzg1OUNDQztcbn1cblxuLmMtdHJhZGVtYXJrX190ZXh0IHtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLXRyYWRlbWFya19faWNvbiB7XG4gIHdpZHRoOiAxMDBweDtcbiAgbWF4LWhlaWdodDogMzJweDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zO1xufVxuLmMtdHJhZGVtYXJrOmhvdmVyIC5jLXRyYWRlbWFya19faWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jLXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTMuNiU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG59XG5cbi5jLXZpZGVvX19pZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogIDYgLSBPUkdBTklTTVNcbiAqICBMYXJnZSBibG9ja3MgY29tcG9zZWQgb2YgbXVsdGlwbGUgY29tcG9uZW50cy5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBPcmdhbmlzbXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLm8tYWNjb3JkaW9uIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tYWNjb3JkaW9uIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1hY2NvcmRpb25fX2l0ZW0ge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5vLWFjY29yZGlvbl9faXRlbSArIC5vLWFjY29yZGlvbl9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG4uby1hY2NvcmRpb25fX2l0ZW06bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRTMwNjEzO1xufVxuXG4uby1hY2NvcmRpb25fX3RpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbl9fdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1hY2NvcmRpb25fX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi5vLWFjY29yZGlvbl9faXRlbTpub3QoLmlzLWFjdGl2ZSkgLm8tYWNjb3JkaW9uX190aXRsZTpob3ZlciB7XG4gIGNvbG9yOiAjRTMwNjEzO1xufVxuXG4uby1hY2NvcmRpb25fX2ljb24ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDE0cHg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb25fX2ljb24ge1xuICAgIGxlZnQ6IGNhbGMoNi4yNSUgLSAxMHB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWFjY29yZGlvbl9faWNvbiB7XG4gICAgbGVmdDogY2FsYyg0LjE2NjY2NjY2NjclIC0gMTBweCk7XG4gIH1cbn1cbi5vLWFjY29yZGlvbl9faWNvbjo6YmVmb3JlLCAuby1hY2NvcmRpb25fX2ljb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAycHg7XG4gIHdpZHRoOiAxMHB4O1xuICBsZWZ0OiAzcHg7XG4gIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMsIDQwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSwgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xufVxuLm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAuby1hY2NvcmRpb25fX2ljb246OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwLjI1dHVybik7XG59XG4uby1hY2NvcmRpb25fX2ljb246OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC4yNXR1cm4pO1xufVxuLm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAuby1hY2NvcmRpb25fX2ljb246OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG5cbi5vLWFjY29yZGlvbl9faGVhZGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIH1cbn1cblxuLyogSGlkZGVuIGJ5IGRlZmF1bHQqL1xuLm8tYWNjb3JkaW9uX19jb250ZW50IHtcbiAgb3BhY2l0eTogMDtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4uby1hY2NvcmRpb25fX2NvbnRlbnQgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG4uby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlIC5vLWFjY29yZGlvbl9fY29udGVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIG1heC1oZWlnaHQ6IDQwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1ibG9jayArIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1ibG9jayArIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1ibG9jayArIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4O1xuICB9XG59XG5cbi8qXG4qIFdyYXBwZXIgb2YgdGhlIG1haW4gYm9keVxuKiAoYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCB0aGUgZm9vdGVyKVxuKi9cbi5vLWJvZHkge1xuICB6LWluZGV4OiA0MDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uby1jYWxsb3V0LWJhciB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgY29sb3I6ICMxQTFBMUE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAxMnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDEwdnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogOTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA1dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAzLjU3MTQyODU3MTR2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gIH1cbn1cblxuLm8tY2FsbG91dC1iYXJfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG4vKlxuICogQ2FyZCBncmlkXG4gKlxuICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuby1jYXJkLWdyaWRfX21haW4ge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLm8tY2FyZC1ncmlkX19pdGVtICsgLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIG1heC13aWR0aDogNDQ0cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9faXRlbSB7XG4gICAgZmxleDogMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICgoMiAtIDEpIC8gMiAqIDMycHgpKTtcbiAgICBtYXJnaW4tbGVmdDogMzJweDtcbiAgfVxuICAuby1jYXJkLWdyaWRfX2l0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuby1jYXJkLWdyaWRfX2l0ZW06bnRoLWNoaWxkKG4rMykge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIGZsZXg6IDA7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzMzMzMzJSAtICgoMyAtIDEpIC8gMyAqIDMycHgpKTtcbiAgICBtYXJnaW4tbGVmdDogMzJweDtcbiAgfVxuICAuby1jYXJkLWdyaWRfX2l0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuby1jYXJkLWdyaWRfX2l0ZW06bnRoLWNoaWxkKG4rNCkge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cblxuLm8tY29udGFjdCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tY29udGFjdCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWNvbnRhY3Qge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLm8tY29udGFjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5vLWNvbnRhY3RfX2luZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tY29udGFjdF9faW5mbyB7XG4gICAgcGFkZGluZzogNDhweCAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5vLWNvbnRhY3RfX2luZm8ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIH1cbn1cblxuLm8tY29udGFjdF9fZm9ybSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1jb250YWN0X19mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZ3O1xuICAgIHBhZGRpbmc6IDZ2dztcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWNvbnRhY3RfX2Zvcm0ge1xuICAgIHBhZGRpbmc6IDQ4cHggMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuby1jb250YWN0X19mb3JtIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLWNvbnRhY3RfX2hlYWRlciB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgY29sb3I6ICMxQTFBMUE7XG59XG5cbi5vLWNvbnRhY3RfX2NhcmQge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uby1jb250YWN0X19hZGRyZXNzIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLm8tY29udGFjdF9fbnVtYmVycyB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5vLWNvb2tpZS1iYXIge1xuICB6LWluZGV4OiA5OTk5O1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiA2NHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgb3BhY2l0eTogMTtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB0cmFuc2Zvcm0gMC42cztcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLm8tY29va2llLWJhcjpub3QoLmlzLWFjY2VwdGVkKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5vLWNvb2tpZS1iYXIuaXMtdHJhbnNpdGlvbmluZy1vdXQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbn1cblxuLm8tY29va2llLWJhcl9fbWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzczcHgpIHtcbiAgLm8tY29va2llLWJhcl9fbWFpbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG59XG5cbi5vLWNvb2tpZS1iYXJfX3RleHQge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzc0cHgpIHtcbiAgLm8tY29va2llLWJhcl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICB9XG59XG5cbi5vLWNvb2tpZS1iYXJfX2xpbmsge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5vLWNvb2tpZS1iYXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjc1KTtcbn1cblxuLm8tY29va2llLWJhcl9fYnV0dG9uIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1jb29raWUtYmFyX19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbn1cbi5vLWNvb2tpZS1vdmVybGF5LmlzLWFjY2VwdGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5vLWNvb2tpZS1vdmVybGF5LmZhZGUtb3V0IHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLm8tY29va2llLW92ZXJsYXlfX21vZGFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA5MiU7XG4gIG1heC13aWR0aDogOTYwcHg7XG4gIHBhZGRpbmc6IDYwcHggMTIwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLm8tY29va2llLW92ZXJsYXlfX2NvbnRhaW5lci5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uby1jb29raWUtb3ZlcmxheV9fdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGNvbG9yOiAjMUExQTFBO1xufVxuXG4uby1jb29raWUtb3ZlcmxheV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLm8tY29va2llLW92ZXJsYXlfX2xpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICM4NTlDQ0M7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5vLWNvb2tpZS1vdmVybGF5X19saW5rOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMTMzLCAxNTYsIDIwNCwgMC43NSk7XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU5Q0NDO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHM7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuLm8tY29va2llLW92ZXJsYXlfX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ODg1YzA7XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X190eXBlcywgLm8tY29va2llLW92ZXJsYXlfX3NldHRpbmdzIHtcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG4uby1jb29raWUtb3ZlcmxheV9fdHlwZXMgPiAqICsgKiwgLm8tY29va2llLW92ZXJsYXlfX3NldHRpbmdzID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4uby1jb29raWUtb3ZlcmxheV9fc2V0dGluZ3Mge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uby1mb290ZXIge1xuICB6LWluZGV4OiAyMDtcbiAgY29sb3I6ICNmMmVmZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMzA2MTM7XG59XG5cbi5vLWZvb3Rlcl9fbWFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDZ2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1mb290ZXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA1dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDMuNTcxNDI4NTcxNHZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjU3MTQyODU3MTR2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuLm8tZm9vdGVyX19icmFuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjk2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWZvb3Rlcl9fYnJhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuM3Z3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tZm9vdGVyX19icmFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4zNTcxNDI4NTcxdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMS42OHB4O1xuICB9XG59XG4uby1mb290ZXJfX2JyYW5kOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uby1mb290ZXJfX2xvZ28ge1xuICB3aWR0aDogMTUycHg7XG59XG5cbi5vLWZvb3Rlcl9faW5mbyA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9faW5mbyB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9faW5mbyB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogMTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZm9vdGVyX19uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLWZvb3Rlcl9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLm8tZm9vdGVyX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIGNvbG9yOiAjZjJlZmVkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5vLWZvb3Rlcl9fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGxlZnQ6IC0xMHB4O1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDIsIDIzOSwgMjM3LCAwLjEpO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKSBza2V3KDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcbn1cbi5vLWZvb3Rlcl9fbGluazpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgc2tldygtMzdkZWcpO1xufVxuLm8tZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzg1OUNDQztcbn1cblxuLm8tZm9vdGVyX19zb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDMycHggMCAwO1xufVxuXG4uby1mb290ZXJfX2NoYW5uZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuXG4uby1mb290ZXJfX2ljb24ge1xuICBmbGV4OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG59XG4uZmFjZWJvb2sgLm8tZm9vdGVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvZmFjZWJvb2suc3ZnXCIpO1xuICBoZWlnaHQ6IDIxcHg7XG59XG4uaW5zdGFncmFtIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2luc3RhZ3JhbS5zdmdcIik7XG59XG4udHdpdHRlciAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC90d2l0dGVyLnN2Z1wiKTtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLmxpbmtlZGluIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2xpbmtlZGluLnN2Z1wiKTtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLm8tZm9vdGVyX19pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLm8tZm9vdGVyX19pY29uOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzg1OUNDQztcbn1cblxuLm8tZm9ybV9faGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLm8tZm9ybV9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLm8tZm9ybV9fcm93ICsgLm8tZm9ybV9fcm93IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm8tZm9ybV9fcG90IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uby1oZWFkZXIge1xuICB6LWluZGV4OiA1MDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzMnB4IDA7XG59XG4uby1oZWFkZXIuaXMtaGVhZGVyLWFsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMzA2MTM7XG59XG4uby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1MDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBib3gtc2hhZG93OiAwIC01cHggMzBweCBibGFjaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDMwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaXMtc3RpY2t5LWhlYWRlci12aXNpYmxlIC5vLWhlYWRlci5pcy1zdGlja3kge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuXG4uby1oZWFkZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8taGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1oZWFkZXJfX25hdiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA5OXB4KSB7XG4gIC5vLWhlYWRlcl9fbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLWhlYWRlcl9fbGFuZ3VhZ2Uge1xuICBtYXJnaW4tbGVmdDogMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuby1oZWFkZXJfX2xhbmd1YWdlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4uby1oZWFkZXJfX2xvZ28ge1xuICBmbGV4OiBub25lO1xufVxuLm8taGVhZGVyX19sb2dvOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgb3V0bGluZS1jb2xvcjogIzg1OUNDQztcbn1cblxuLm8taGVhZGVyX19pbWcge1xuICBtYXgtaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTQ3cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1oZWFkZXJfX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1pbnRybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWludHJvLmlzLWludHJvLWFsdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8taW50cm8uaXMtaW50cm8tYWx0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8taW50cm8uaXMtaW50cm8tYWx0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWludHJvLmlzLWludHJvLWFsdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuXG4uaXMtaW50cm8tYWx0IC5vLWludHJvX19oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUUwRjBBO1xufVxuXG4uby1pbnRyb19fYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWludHJvX19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWludHJvX19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWludHJvX19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuaXMtaW50cm8tYWx0IC5vLWludHJvX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUUwRjBBO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWludHJvLS1tb2JpbGUtYnJlYWstb3V0IC5vLWludHJvX19tYWluIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWludHJvX19tYWluOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UzMDYxMztcbiAgfVxufVxuXG4uby1sb2dvc19fbGlzdCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbjogLTIuMzgydnc7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1sb2dvc19fbGlzdCB7XG4gICAgbWFyZ2luOiAtMzJweDtcbiAgfVxufVxuXG4uby1sb2dvc19faXRlbSB7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDIuMzgydnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODRweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDV2dyk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tbG9nb3NfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gNjRweCk7XG4gICAgbWFyZ2luOiAzMnB4O1xuICB9XG59XG5cbi5vLWxvZ29zX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vLWxvZ29zX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4uby1tYXAgYTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vLW5ld3Mge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tbmV3cyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tbmV3c19faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGNvbG9yOiAjMUExQTFBO1xufVxuXG4uby1uZXdzX19hcnRpY2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm8tbmV3c19fYXJ0aWNsZSArIC5vLW5ld3NfX2FydGljbGUge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuXG4uby1uZXdzX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGxpbmVhcjtcbn1cbi5vLW5ld3NfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4uby1uZXdzX19saW5rOmhvdmVyLCAuby1uZXdzX19saW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbn1cbi5vLW5ld3NfX2xpbms6aG92ZXI6OmJlZm9yZSwgLm8tbmV3c19fbGluazpmb2N1czo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5vLW5ld3NfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjODU5Q0NDO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4uby1uZXdzX19ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiA2dnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzX19ib2R5IHtcbiAgICBvcmRlcjogMTtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tbmV3c19fYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLW5ld3NfX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDU1JTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3NfX2ltYWdlIHtcbiAgICBmbGV4OiBub25lO1xuICAgIG9yZGVyOiAyO1xuICAgIHdpZHRoOiAyNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDI1JTtcbiAgfVxufVxuXG4uby1uZXdzX19iZy1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgdG9wOiA2dnc7XG4gIHJpZ2h0OiA2dnc7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2dncpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19fYmctaW1hZ2Uge1xuICAgIHRvcDogOHB4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTZweCk7XG4gIH1cbn1cblxuLm8tbmV3c19faW50cm8ge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4uby1uZXdzX190aW1lc3RhbXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLW5ld3NfX2FjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBjb2xvcjogIzg1OUNDQztcbn1cblxuLm8tbmV3c19fcmVhZG1vcmUge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm8tbmV3c19fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1vdmVybGF5LW1lbnUge1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTMwNjEzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMHZ3KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcywgMjAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzLCA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAuMTUsIDAuMSwgMSksIGxpbmVhcjtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXMsIDBzO1xufVxuLm8tb3ZlcmxheS1tZW51OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMTIwdnc7XG4gIHdpZHRoOiAxMjB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLm8tb3ZlcmxheS1tZW51OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC0yMCU7XG4gIHdpZHRoOiAyMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC04NmRlZywgdHJhbnNwYXJlbnQgNTAlLCAjRTMwNjEzIDUwJSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9fYmFyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW92ZXJsYXktbWVudV9fYmFyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9faW1nIHtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4uby1vdmVybGF5LW1lbnVfX3RvZ2dsZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjV0dXJuKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4uby1vdmVybGF5LW1lbnVfX25hdiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW92ZXJsYXktbWVudV9fbmF2IHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51X19uYXYge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiBjYWxjKDU4dmgpO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19saW5rIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2YyZWZlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5vLW92ZXJsYXktbWVudV9fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIG91dGxpbmUtY29sb3I6ICNmMmVmZWQ7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbmsuaXMtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uby1xdW90ZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tcXVvdGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGVfX2JvZHkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1xdW90ZV9fYm9keSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi5vLXF1b3RlX19waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1xdW90ZV9fcGljdHVyZSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGVfX3BpY3R1cmUge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1xdW90ZV9fcGljdHVyZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1xdW90ZV9faW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uby1xdW90ZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgcXVvdGVzOiBcIuKAnFwiIFwi4oCdXCI7XG59XG4uby1xdW90ZV9fdGV4dDo6YmVmb3JlIHtcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbn1cbi5vLXF1b3RlX190ZXh0OjphZnRlciB7XG4gIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xufVxuXG4uby1xdW90ZV9fYXV0aG9yIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5vLXF1b3RlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLm8tcXVvdGVfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLXJlZmVyZW5jZXMge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogLTMycHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2l0ZW0ge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDMycHg7XG4gIHBhZGRpbmctdG9wOiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAwcHggc29saWQgI2M4YzhjODtcbiAgYm94LXNoYWRvdzogMCAzcHggNDBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuby1yZWZlcmVuY2VzX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDY0cHggLSAwcHgpO1xuICB9XG59XG5cbi5vLXJlZmVyZW5jZXNfX2JvZHkge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAyNSU7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xufVxuXG4uby1yZWZlcmVuY2VzX19jb250ZW50IHtcbiAgZmxleC1ncm93OiA5OTk5O1xuICBmbGV4LWJhc2lzOiAxOGVtO1xuICBtYXJnaW4tbGVmdDogMjRweDtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2F1dGhvciB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uby1yZWZlcmVuY2VzX19zdWJoZWFkaW5nIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLXN1YmZvb3RlciB7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogI2I4YWFhOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0FFMEYwQTtcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cztcbn1cbi5pcy1jb29raWVzLWFjY2VwdGVkIC5vLXN1YmZvb3RlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uby1zdWJmb290ZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXN1YmZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXN1YmZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tc3ViZm9vdGVyX19jb3B5cmlnaHQge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbmF2IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLm8tc3ViZm9vdGVyX19saXN0IHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLm8tc3ViZm9vdGVyX19pdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uby1zdWJmb290ZXJfX2xpbmsge1xuICBjb2xvcjogI2I4YWFhOTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cbi5vLXN1YmZvb3Rlcl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjZjJlZmVkO1xufVxuLm8tc3ViZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzg1OUNDQztcbn1cblxuLm8tc3ViZm9vdGVyX190cmFkZW1hcmsge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLypcbiAqIE9uIHNtYWxsIHNjcmVlbnMgdGhlIGNvbnRlbnQgaXMgc3RhY2tlZCwgd2l0aG91dCBjb250cm9sc1xuICogV2hlbiB0aGUgc2NyZWVuIGlzIHdpZGUgZW5vdWdoIHdlIGFkZCB0aGUgY29udHJvbHNcbiAqIGFuZCBzaG93IG9ubHkgdGhlIGNob3NlbiAnc2xpZGUgY29udGVudCdcbiAqL1xuLm8tdGFic2xpZGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGFic2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX2J1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgY29sb3I6ICMxQTFBMUE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJvcmRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjRTMwNjEzO1xuICBib3JkZXItY29sb3I6ICNFMzA2MTM7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbi5pcy1hY3RpdmUge1xuICBjb2xvcjogI2YyZWZlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UzMDYxMztcbiAgYm9yZGVyLWNvbG9yOiAjRTMwNjEzO1xufVxuLm8tdGFic2xpZGVyX19idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICNFMzA2MTM7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpmb2N1czpub3QoLmlzLWFjdGl2ZSk6bm90KDphY3RpdmUpIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmZmZmYsIDAgMCA1cHggM3B4IHJnYmEoMjYsIDI2LCAyNiwgMC4xKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcCB7XG4gIHdpZHRoOiA0OHB4O1xufVxuXG4uby10YWJzbGlkZXJfX3N0ZXAtLXByZXYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX190YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby10YWJzbGlkZXJfX3RhYnMge1xuICAgIG1hcmdpbjogLThweCA4cHg7XG4gIH1cbn1cblxuLm8tdGFic2xpZGVyX190YWIge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBtYXJnaW46IDhweDtcbiAgcGFkZGluZzogN3B4IDE2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250ZW50ICsgLm8tdGFic2xpZGVyX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRlbnQge1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICAuby10YWJzbGlkZXJfX2NvbnRlbnQuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fbGFiZWwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMxQTFBMUE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXJfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLXRlYW0ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10ZWFtIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDEydnc7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogMTB2dztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogNy4xNDI4NTcxNDI5dnc7XG4gICAgbWFyZ2luLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDk2cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLm8tdGVhbV9fbWF0cml4IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogLTE2cHg7XG4gIH1cbn1cblxuLm8tdGVhbV9faXRlbSB7XG4gIG1hcmdpbjogMCBhdXRvIDMycHg7XG4gIG1heC13aWR0aDogMzIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuby10ZWFtX19pdGVtIHtcbiAgICBtYXJnaW46IDE2cHg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGZsZXg6IG5vbmU7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAzMnB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMzJweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby10ZWFtX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtIDMycHgpO1xuICB9XG59XG5cbi5vLXRvcC1iYXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuby10b3AtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLXRvcC1iYXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdG9wLWJhcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXRvcC1iYXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLXRvcC1iYXJfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogOHB4IDA7XG59XG5cbi5vLXRvcC1iYXJfX2xpbmsge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDhweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLm8tdG9wLWJhcl9fbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdXNwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTMwNjEzO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXVzcF9fbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5vLXVzcF9fdGV4dCB7XG4gIHBhZGRpbmc6IDMycHggMDtcbiAgY29sb3I6ICNmMmVmZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMzA2MTM7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby11c3BfX3RleHQge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgICBwYWRkaW5nLXRvcDogNi4yNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDYuMjUlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXVzcF9fdGV4dCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiA0LjE2NjY2NjY2NjclIDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tdXNwX19pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby11c3BfX2ltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTZ2dztcbiAgICBtYXJnaW4tcmlnaHQ6IC02dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDY1JTtcbiAgICBtaW4taGVpZ2h0OiAzNjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdXNwX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXVzcF9faW1hZ2Uge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLm8tdXNwX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgY29sb3I6ICNmMmVmZWQ7XG59XG5cbi5vLXVzcF9fbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi5vLXVzcF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xufVxuLm8tdXNwX19pdGVtICsgLm8tdXNwX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5vLXVzcF9faXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgbGVmdDogLTE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7XG59XG5cbi5vLXVzcF9fYWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNDhweDtcbn1cblxuLm8tdXNwX19pbWFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi8qICA3IC0gVGVtcGxhdGVzXG4gKiAgT3ZlcnJpZGUgc3R5bGluZyBmb3IgYSBzcGVjaWZpYyB0ZW1wbGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiAgOCAtIFNDT1BFU1xuICogIEVsZW1lbnRzIGFuZCBjbGFzc2VzIHRoYXQgYXJlIHNjb3BlZCBieSBhIHBhcmVudCBjbGFzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucy1jaGVja2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zLWNoZWNrbGlzdCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG4ucy1jaGVja2xpc3QgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpO1xufVxuLmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250IC5zLWNoZWNrbGlzdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG59XG4uY2hlY2tsaXN0LWhhcy14LXNtYWxsLWZvbnQgLnMtY2hlY2tsaXN0IGxpOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcbn1cblxuLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cbi5zLXRleHQgaDIsIC5zLXRleHQgaDMsIC5zLXRleHQgaDQge1xuICBjb2xvcjogIzFBMUExQTtcbn1cbi5zLXRleHQgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG4ucy10ZXh0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnMtdGV4dCA+ICogKyAuYy1idXR0b24ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjEyNWVtO1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSA+IGxpOjpiZWZvcmUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgY29udGVudDogXCLigKJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00cHg7XG4gIGxlZnQ6IDA7XG59XG4ucy10ZXh0ID4gb2w6bm90KFtjbGFzc10pIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogb2wtY291bnRlcjtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkgPiBsaSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBvbC1jb3VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjhlbTtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihvbC1jb3VudGVyKSBcIi4gXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMS4yNzVlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qICA5IC0gVVRJTElUSUVTXG4gKiAgSGlnaC1zcGVjaWZpY2l0eSwgdmVyeSBleHBsaWNpdCBzZWxlY3RvcnMuXG4gKiAgT3ZlcnJpZGVzIGFuZCBoZWxwZXIgY2xhc3Nlcy5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgY29sb3JzXG4gKiBCYXNlZCBvbiB0aGVzZSBhcnRpY2xlczpcbiAqIC0gaHR0cDovL2Vyc2tpbmVkZXNpZ24uY29tL2Jsb2cvZnJpZW5kbGllci1jb2xvdXItbmFtZXMtc2Fzcy1tYXBzL1xuICogLSBodHRwczovL2Jsb2cuYXRlY2htZWRpYS5jb20vY3NzLWZvci1tdWx0aXBsZS10aGVtZXMvXG4gKiBPdXRwdXQgaXMgaW4gdGhlIGZvcm0gb2Y6XG5cbiAgIC51LWNvbG9yLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNiYWRhNTU7XG4gICB9XG5cbiAgLnUtYmctbmV1dHJhbC0tZGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlY2FmZjtcbiAgfVxuICovXG4udS1jb2xvci1wcmltYXJ5IHtcbiAgY29sb3I6ICNFMzA2MTM7XG59XG5cbi51LWJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTMwNjEzO1xufVxuXG4udS1jb2xvci1wcmltYXJ5LS0yIHtcbiAgY29sb3I6ICNBRTBGMEE7XG59XG5cbi51LWJnLXByaW1hcnktLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUUwRjBBO1xufVxuXG4udS1jb2xvci1zZWNvbmRhcnkge1xuICBjb2xvcjogIzBEMEQwQztcbn1cblxuLnUtYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBEMEQwQztcbn1cblxuLnUtY29sb3Itc2Vjb25kYXJ5LS0yIHtcbiAgY29sb3I6ICNiNzZlNDc7XG59XG5cbi51LWJnLXNlY29uZGFyeS0tMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNzZlNDc7XG59XG5cbi51LWNvbG9yLXRlcnRpYXJ5IHtcbiAgY29sb3I6ICM1MjVkN2Q7XG59XG5cbi51LWJnLXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUyNWQ3ZDtcbn1cblxuLnUtY29sb3ItdGVydGlhcnktLTIge1xuICBjb2xvcjogIzQwNDg2Mjtcbn1cblxuLnUtYmctdGVydGlhcnktLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA0ODYyO1xufVxuXG4udS1jb2xvci1uZXV0cmFsIHtcbiAgY29sb3I6ICNmOGY4Zjg7XG59XG5cbi51LWJnLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS1tZWRpdW0ge1xuICBjb2xvcjogI2M4YzhjODtcbn1cblxuLnUtYmctbmV1dHJhbC0tbWVkaXVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4YzhjODtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tZGFyayB7XG4gIGNvbG9yOiAjMWQxZDFkO1xufVxuXG4udS1iZy1uZXV0cmFsLS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMWQxZDtcbn1cblxuLnUtY29sb3ItdGV4dCB7XG4gIGNvbG9yOiAjMUExQTFBO1xufVxuXG4udS1iZy10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFBMUExQTtcbn1cblxuLnUtY29sb3ItdGV4dC0tMiB7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4udS1iZy10ZXh0LS0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtY29sb3ItdGV4dC0tMyB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1iZy10ZXh0LS0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbn1cblxuLnUtY29sb3ItdGV4dC1vbi1kYXJrIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi51LWJnLXRleHQtb24tZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi51LWNvbG9yLXRleHQtb24tZGFyay0tMiB7XG4gIGNvbG9yOiAjZWRlZGVkO1xufVxuXG4udS1iZy10ZXh0LW9uLWRhcmstLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xufVxuXG4udS1jb2xvci10ZXh0LW9uLWRhcmstLTMge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLnUtYmctdGV4dC1vbi1kYXJrLS0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbn1cblxuLnUtY29sb3ItdGV4dC1vbi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmMmVmZWQ7XG59XG5cbi51LWJnLXRleHQtb24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmVmZWQ7XG59XG5cbi51LWNvbG9yLXRleHQtb24tcHJpbWFyeS0tMiB7XG4gIGNvbG9yOiAjZGJkNWQ1O1xufVxuXG4udS1iZy10ZXh0LW9uLXByaW1hcnktLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkNWQ1O1xufVxuXG4udS1jb2xvci10ZXh0LW9uLXByaW1hcnktLTMge1xuICBjb2xvcjogI2I4YWFhOTtcbn1cblxuLnUtYmctdGV4dC1vbi1wcmltYXJ5LS0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4YWFhOTtcbn1cblxuLnUtY29sb3ItdGV4dC1vbi1zZWNvbmRhcnkge1xuICBjb2xvcjogI2ZmZjdmMjtcbn1cblxuLnUtYmctdGV4dC1vbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmN2YyO1xufVxuXG4udS1jb2xvci10ZXh0LW9uLXNlY29uZGFyeS0tMiB7XG4gIGNvbG9yOiAjZmZlMGNjO1xufVxuXG4udS1iZy10ZXh0LW9uLXNlY29uZGFyeS0tMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmUwY2M7XG59XG5cbi51LWNvbG9yLXRleHQtb24tc2Vjb25kYXJ5LS0zIHtcbiAgY29sb3I6ICNmZmQwYjM7XG59XG5cbi51LWJnLXRleHQtb24tc2Vjb25kYXJ5LS0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDBiMztcbn1cblxuLnUtY29sb3ItdGV4dC1vbi10ZXJ0aWFyeSB7XG4gIGNvbG9yOiAjZTFlY2ZhO1xufVxuXG4udS1iZy10ZXh0LW9uLXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZWNmYTtcbn1cblxuLnUtY29sb3ItdGV4dC1vbi10ZXJ0aWFyeS0tMiB7XG4gIGNvbG9yOiAjZDRlNWZhO1xufVxuXG4udS1iZy10ZXh0LW9uLXRlcnRpYXJ5LS0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZTVmYTtcbn1cblxuLnUtY29sb3ItdGV4dC1vbi10ZXJ0aWFyeS0tMyB7XG4gIGNvbG9yOiAjYmJkOGZhO1xufVxuXG4udS1iZy10ZXh0LW9uLXRlcnRpYXJ5LS0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JiZDhmYTtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2sge1xuICBjb2xvcjogIzQwNzliODtcbn1cblxuLnUtYmctZmVlZGJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA3OWI4O1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tYWN0aW9uIHtcbiAgY29sb3I6ICM4NTlDQ0M7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU5Q0NDO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0td2FybmluZyB7XG4gIGNvbG9yOiAjZmZkMzNhO1xufVxuXG4udS1iZy1mZWVkYmFjay0td2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmQzM2E7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1hbGVydCB7XG4gIGNvbG9yOiAjZmY4MTAwO1xufVxuXG4udS1iZy1mZWVkYmFjay0tYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4MTAwO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tbmVnYXRpdmUge1xuICBjb2xvcjogI2NmM2UzZTtcbn1cblxuLnUtYmctZmVlZGJhY2stLW5lZ2F0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmM2UzZTtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLXBvc2l0aXZlIHtcbiAgY29sb3I6ICMzZWNmOGU7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1wb3NpdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZWNmOGU7XG59XG5cbi51LWNvbG9yLWxpZ2h0IHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi51LWJnLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLnUtY29sb3ItZGFyayB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4udS1iZy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLnUtY29sb3ItYm9yZGVyIHtcbiAgY29sb3I6ICNjOGM4Yzg7XG59XG5cbi51LWJnLWJvcmRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGM4Yzg7XG59XG5cbi51LWNvbG9yLWJveC1zaGFkb3cge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4udS1iZy1ib3gtc2hhZG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4udS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC51LXNwYWNpbmctcHYge1xuICAgIHBhZGRpbmctdG9wOiAxMnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAudS1zcGFjaW5nLXB2IHtcbiAgICBwYWRkaW5nLXRvcDogMTB2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC51LXNwYWNpbmctcHYge1xuICAgIHBhZGRpbmctdG9wOiA3LjE0Mjg1NzE0Mjl2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAudS1zcGFjaW5nLXB2IHtcbiAgICBwYWRkaW5nLXRvcDogOTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgfVxufVxuXG4udS1zcGFjaW5nLW1iMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC51LXNwYWNpbmctcHIwXFxAbCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG4vKlxuKiBJZiB5b3UgbmVlZCB0byBtYWtlIGEgcXVpY2sgZml4LCB5b3UgY2FuIGRvIGl0IGhlcmUuXG4qIExhdGVyIHdoZW4geW91IGhhdmUgdGhlIHRpbWUsIHlvdSBjYW4gbW92ZSB0aGUgZml4IGludG8gdGhlIGNvcnJlY3QgcGxhY2UgaW4gdGhlIHN0cnVjdHVyZVxuKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAqIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAqIFNldCBmbGFnICdzaG93R3JpZCcgdG8gdHJ1ZSBpbiBzaXRlLnBocFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51LXZpc2libGUtZ3JpZCB7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLyogOCBwb2ludCBncmlkIGxpbmVzICovXG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAudS12aXNpYmxlLWdyaWQge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAudS12aXNpYmxlLWdyaWQge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAudS12aXNpYmxlLWdyaWQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSAyNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDUwJSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAudS12aXNpYmxlLWdyaWRfX21haW4ge1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNyksIHJnYmEoMCwgNDMsIDI1NSwgMC4wNykgMTIuNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMTIuNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMjUlKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG4gICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSA4LjMzMzMzMzMzMzMlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDguMzMzMzMzMzMzMyUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMTYuNjY2NjY2NjY2NyUpO1xuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGUgZGVmYXVsdCBib3JkZXItcmFkaXVzIHZhbHVlcyB1c2VkIGluIHRoZSBib3JkZXIgbWl4aW5cblxuJGJvcmRlci1yYWRpdXM6IChcbiAgczogNHB4LFxuICBtOiA4cHgsXG4gIGw6IDE2cHhcbik7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU29tZSBnbG9iYWwgc2V0dGluZ3NcblxuJHNpdGUtY29sdW1ucy1zOlx0XHRcdCAgICAgIDQ7XG4kc2l0ZS1jb2x1bW5zLW06XHRcdFx0ICAgICAgODtcbiRzaXRlLWNvbHVtbnMtbDpcdFx0XHQgICAgICAxMjtcbiRzaXRlLWNvbHVtbi1zaXplOlx0XHQgICAgICA5NjsgLy8gU2l6ZSBvZiBhIHNpbmdsZSBjb2x1bW4gd2hlbiB2aWV3cG9ydCBpcyBhdCBpdHMgbWF4IHdpZHRoICh1c2VkIGZvciBjYWxjdWxhdGluZyBtYXgtd2lkdGgpLlxuJHNpdGUtZ3V0dGVyLXdpZHRoOiBcdCAgICAgIDZ2dzsgLy8gVXNlZCBvbmx5IGZvciBzbWFsbCBzY3JlZW5zLiBNdXN0IGJlIFt2d10gb3IgW3B4XSwgTk9UIFslXS5cbiRzaXRlLWNvb2tpZUJhci1oZWlnaHQ6ICAgICA2NHB4OyAvLyBGaXhlZCBzaXplIHNvIHdlIGNhbiBvZmZzZXQgcGFkZGluZy1ib3R0b20gb24gdGhlIGJvZHlcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRpb25zIHRoYXQgYXJlIGRvbmUgd2l0aCBzb21lIG9mIHRoZSBnaXZlbiB2YWx1ZXMgYWJvdmUgdGhpcyBsaW5lXG5cbiRzaXRlLW1heC13aWR0aDogJHNpdGUtY29sdW1uLXNpemUgKiAkc2l0ZS1jb2x1bW5zLWw7IC8vIE1haW4gY29udGFpbmVyIG1heC13aWR0aCAod2l0aG91dCBndXR0ZXIpIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPcmdhbml6ZSBjb2xvciB2YXJpYWJsZXMgaW4gYSBTYXNzIE1hcC5cbiAgIFRoaXMgd2F5LCB0aGUgY29sb3JzIGNhbiBiZSBpdGVyYXRlZCwgYXJlIG1vcmUgb3JnYW5pemVkLFxuICAgYW5kIGFyZSBtb3JlIGludHVpdGl2ZSB0byByZWZlcmVuY2UuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4kcGFsZXR0ZXM6IChcblxuICAncHJpbWFyeSc6IChcbiAgICAxOiAjRTMwNjEzLFxuICAgIDI6ICNBRTBGMEEsXG4gICksXG5cbiAgJ3NlY29uZGFyeSc6IChcbiAgICAxOiAjMEQwRDBDLFxuICAgIDI6ICNiNzZlNDcsXG4gICksXG5cbiAgJ3RlcnRpYXJ5JzogKFxuICAgIDE6ICM1MjVkN2QsXG4gICAgMjogIzQwNDg2MixcbiAgKSxcblxuICAnbmV1dHJhbCc6IChcbiAgICAxOiAjZjhmOGY4LFxuICAgIG1lZGl1bTogI2M4YzhjOCxcbiAgICBkYXJrOiAjMWQxZDFkLFxuICApLFxuXG4gICd0ZXh0JzogKFxuICAgIDE6ICMxQTFBMUEsXG4gICAgMjogIzY1NjU2NSxcbiAgICAzOiAjOTk5OTk5LFxuICApLFxuXG4gICd0ZXh0LW9uLWRhcmsnOiAoXG4gICAgMTogI2ZmZmZmZixcbiAgICAyOiAjZWRlZGVkLFxuICAgIDM6ICM5OTk5OTksXG4gICksXG5cbiAgJ3RleHQtb24tcHJpbWFyeSc6IChcbiAgICAxOiAjZjJlZmVkLFxuICAgIDI6ICNkYmQ1ZDUsXG4gICAgMzogI2I4YWFhOSxcbiAgKSxcblxuICAndGV4dC1vbi1zZWNvbmRhcnknOiAoXG4gICAgMTogI2ZmZjdmMixcbiAgICAyOiAjZmZlMGNjLFxuICAgIDM6ICNmZmQwYjMsXG4gICksXG5cbiAgJ3RleHQtb24tdGVydGlhcnknOiAoXG4gICAgMTogI2UxZWNmYSxcbiAgICAyOiAjZDRlNWZhLFxuICAgIDM6ICNiYmQ4ZmEsXG4gICksXG5cbiAgJ2ZlZWRiYWNrJzogKFxuICAgIDE6ICM0MDc5YjgsXG4gICAgYWN0aW9uOiAjODU5Q0NDLFxuICAgIHdhcm5pbmc6ICNmZmQzM2EsXG4gICAgYWxlcnQ6ICNmZjgxMDAsXG4gICAgbmVnYXRpdmU6ICNjZjNlM2UsXG4gICAgcG9zaXRpdmU6ICMzZWNmOGUsXG4gICksXG5cbiAgJ2xpZ2h0JzogKFxuICAgIDE6ICNmZmZmZmYsXG4gICksXG5cbiAgJ2RhcmsnOiAoXG4gICAgMTogIzAwMDAwMCxcbiAgKSxcblxuICAnYm9yZGVyJzogKFxuICAgIDE6ICNjOGM4YzgsXG4gICksXG5cbiAgJ2JveC1zaGFkb3cnOiAoXG4gICAgMTogaHNsYSgwLCA1MCUsIDAlLCAwLjIpLFxuICApLFxuXG4pOyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBcdCBEZWZpbmVzIHRoZSB0eXBvZ3JhcGhpYyBiYXNlbGluZS5cbiAgIFdlIGRlZmluZSBldmVyeSBzaXplIGluIHBpeGVscywgdGhlIHVuZGVybHlpbmcgc3lzdGVtXG4gICBjb252ZXJ0cyB0aGUgcmVzcGVjdGl2ZSB1bml0cyB0byB0aGUgcmVzcG9uc2l2ZSBSRU0gdmFsdWUuXG4gXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIE91ciBiYXNlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAqL1xuJGJhc2UtZm9udC1zaXplOiAgIFx0MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0IWRlZmF1bHQ7XG4kYmFzZS1saW5lLWhlaWdodDogXHQyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHQhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1yYXRpbzpcdCRiYXNlLWxpbmUtaGVpZ2h0LyRiYXNlLWZvbnQtc2l6ZSAgICFkZWZhdWx0O1xuXG4kZm9udC1zaXplczogKFxuXHQneHMnOiBcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MTQsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MTZcblx0KSxcblx0J3MnOiBcdFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQxNSxcblx0XHRsaW5lLWhlaWdodDogXHQyNFxuXHQpLFxuXHQnYmFzZSc6IFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0JGJhc2UtZm9udC1zaXplLFxuXHRcdGxpbmUtaGVpZ2h0OiBcdCRiYXNlLWxpbmUtaGVpZ2h0XG5cdCksXG5cdCdtJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MjAsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MzJcblx0KSxcblx0J2wnOiBcdFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQyNCxcblx0XHRsaW5lLWhlaWdodDogXHQzMlxuXHQpLFxuXHQneGwnOiBcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MzIsXG5cdFx0bGluZS1oZWlnaHQ6IFx0NDBcblx0KSxcblx0J3h4bCc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQ0MCxcblx0XHRsaW5lLWhlaWdodDogXHQ0MFxuXHQpLFxuXHQneHh4bCc6IFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0NDgsXG5cdFx0bGluZS1oZWlnaHQ6IFx0NDhcblx0KSxcblx0J3h4eHhsJzogXHRcdChcblx0XHRmb250LXNpemU6IFx0XHQ1Nixcblx0XHRsaW5lLWhlaWdodDogXHQ1NlxuXHQpLFxuKTtcblxuXG4vKipcbiAqXHRIZXJlIHdlIGFzc2lnbiBzaG9ydCBuYW1lcyBmb3IgdGhlIGZvbnQgZmFtaWxpZXNcbiAqL1xuXG4kZm9udC1zeXN0ZW06XHRcdC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuJGZvbnQtcm9ib3RvOiBcdCdSb2JvdG8nLCBzYW5zLXNlcmlmOyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIGdpdmVuIGZvcm1hdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLy8gRGVmYXVsdCBicmVha3BvaW50c1xuJGJyZWFrcG9pbnRzOiAoXG5cdHM6IDM4NCxcblx0bTogODQwLFxuXHRsOiAxMTUyLFxuKTtcblxuLy8gRGV0ZXJtaW5lIGF0IHdoaWNoIHZpZXdwb3J0IHNpemUgd2UgY2FuIGZpdCBpbiBhIGhvcml6b250YWwgbWVudSBpbnN0ZWFkIG9mIHRoZSBoYW1idXJnZXIgbWVudSB0b2dnbGVcbiRicC1oZWFkZXItbGFyZ2U6IDExMDA7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSB2aWV3cG9ydCBzaXplIHdoZW4gY29udGFpbmVyIGNhbid0IGdyb3cgYW55bW9yZVxuJGJwLW1heDogJHNpdGUtbWF4LXdpZHRoICsgKCgkc2l0ZS1tYXgtd2lkdGggLyAkc2l0ZS1jb2x1bW5zLWwpICogMik7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRnVuY3Rpb25zIHVzZWQgaW4gZ3JpZCBjYWxjdWxhdGlvblxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBSZXR1cm4gcGVyY2VudGFnZSBiYXNlZCBvbiBhbW91bnQgb2YgY29sdW1uc1xuICAqIFVzZSBwYXJlbnQgY29sdW1uIHNpemUgdG8gYWRqdXN0IHRoZSBvcmlnaW5cbiAgKi9cbkBmdW5jdGlvbiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zLWwpIHtcblx0Ly8gQ2FsY3VsYXRlIHRoZSB3aWR0aCBmb3IgYSBzaW5nbGUgY29sdW1uIG9uIGEgZnVsbCBncmlkXG5cdCRzaW5nbGVDb2x1bW5TaXplOiAxMDAgLyAkc2l0ZS1jb2x1bW5zLWw7XG5cblx0Ly8gR2V0IHRoZSBvcmlnaW4gc2l6ZSBpbiBwZXJjZW50YWdlIGZyb20gdGhlIGZ1bGwgZ3JpZFxuXHQkb3JpZ2luUGVyY2VudGFnZTogJG9yaWdpbiAvICRzaXRlLWNvbHVtbnMtbCAqIDEwMDtcblxuXHQvLyBDYWxjdWxhdGUgc2luZ2xlIGNvbHVtbiBmcm9tIG5ldyBvcmlnaW5cblx0JG5ld1NpbmdsZUNvbHVtblNpemU6ICRzaW5nbGVDb2x1bW5TaXplIC8gJG9yaWdpblBlcmNlbnRhZ2UgKiAxMDA7XG5cblx0Ly8gUmV0dXJuIGFtb3VudCBvZiBjb2x1bW5zIGFzIHBlcmNlbnRhZ2Vcblx0QHJldHVybiAoJG5ld1NpbmdsZUNvbHVtblNpemUgKiAkY29sdW1uQ291bnQpO1xufVxuXG4vKipcbiAgKiBEZWZhdWx0IGZ1bmN0aW9uIGZvciBjb2x1bW5zXG4gICogUmV0dXJuIGFzIHBlcmNlbnRhZ2VcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRzaXRlLWNvbHVtbnMtbCkge1xuXHRAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCAkb3JpZ2luKSAqIDElO1xufVxuXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW5WdygkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJHNpdGUtY29sdW1ucy1sKSB7XG5cdEByZXR1cm4gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQsICRvcmlnaW4pICogMXZ3O1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogIE1peGluIGZvciBzZXR0aW5nIGZvbnQtc2l6ZSBpbiBSRU0gdGhyb3VnaCBhIFNhc3MgTWFwIHdpdGggYWxsIGF2YWlsYWJsZSBzaXplc1xuXG4gICAgVVNBR0U6XG5cbiAgICAubXlDbGFzcyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG4gICAgfVxuXG4gKi9cblxuXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGxoOiBudWxsKSB7XG4gIC8vIEdldCBjb3JyZWN0IGtleSB3aXRoIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHQgcHggdmFsdWVcbiAgJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzOiBtYXAtZ2V0KCRmb250LXNpemVzLCAkZnMpO1xuICBAaWYgJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUobWFwLWdldCgkZm9udC1zaXplLXByb3BlcnRpZXMsIGZvbnQtc2l6ZSkpO1xuXG4gICAgQGlmKCRsaCA9PSBudWxsKXtcbiAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgbGluZS1oZWlnaHQpIC8gbWFwLWdldCgkZm9udC1zaXplLXByb3BlcnRpZXMsIGZvbnQtc2l6ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodDogJGxoIC8gbWFwLWdldCgkZm9udC1zaXplLXByb3BlcnRpZXMsIGZvbnQtc2l6ZSk7XG4gICAgfVxuICB9XG4gIC8vIFdoZW4gbWFwcGluZyBpc24ndCBmb3VuZCBjYWxjdWxhdGUgYXMgaWYgUFgtdmFsdWUgd2FzIGdpdmVuIGFuZCByZXR1cm4gUkVNIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAaWYgaXMtbnVtYmVyKCRmcykge1xuICAgICAgZm9udC1zaXplOiB2YWx1ZVRvUmVtKCRmcyk7XG5cbiAgICAgIEBpZigkbGggIT0gbnVsbCl7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGggLyAkZnM7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiIGAjeyRmc31gIGlzIG5vdCBhIHZhbGlkIHZhbHVlLiBJdCBtdXN0IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBgI3skZm9udC1zaXplc31gXCI7XG4gICAgfVxuICB9XG59XG5cblxuLy9UT0RPOiByZW1vdmUgZnVuY3Rpb24gYW5kIHVzZXNcbkBtaXhpbiBmb250KCRzaXplLCAkbGg6IG51bGwsICR3ZWlnaHQ6IG51bGwpIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzaXplLCAkbGgpO1xufSIsIi8qIE1lZGlhIHF1ZXJ5IG1peGluIGZvciB3cml0aW5nIE1vYmlsZSBGaXJzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBmdW5jdGlvbiBjb252ZXJ0QnJlYWtwb2ludEtleVRvVmFsdWUoJGJyZWFrcG9pbnQpIHtcblxuXHRAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xuXHRcdEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcblx0fVxuXG5cdEB3YXJuIFwiVW5rbm93biBicmVha3BvaW50OiBgI3skYnJlYWtwb2ludH1gIGluICRicmVha3BvaW50cy5cIjtcblx0QHJldHVybiBudWxsO1xufVxuXG5AbWl4aW4gbXEoJG1pbjogbnVsbCwgJG1heDogbnVsbCkge1xuXHQkcXVlcnk6IFwiYWxsXCIgIWRlZmF1bHQ7XG5cblx0Ly8gVHJ5IHRvIGNvbnZlcnQgJG1pbiB2YWx1ZSBpZiBub3QgbnVtYmVyIG9yIG51bGxcblx0QGlmKHR5cGUtb2YoJG1pbikgIT0gbnVtYmVyIGFuZCAkbWluICE9IG51bGwpe1xuXHRcdCRtaW46IGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkbWluKTtcblx0fVxuXG5cdC8vIFRyeSB0byBjb252ZXJ0ICRtYXggdmFsdWUgaWYgbm90IG51bWJlciBvciBudWxsXG5cdEBpZih0eXBlLW9mKCRtYXgpICE9IG51bWJlciBhbmQgJG1heCAhPSBudWxsKXtcblx0XHQkbWF4OiBjb252ZXJ0QnJlYWtwb2ludEtleVRvVmFsdWUoJG1heCk7XG5cdH1cblxuXHQvLyBzZXQgYm90aCBtaW4gYW5kIG1heFxuXHRAaWYgKCRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtaW4td2lkdGg6ICN7JG1pbn1weCkgYW5kIChtYXgtd2lkdGg6ICN7JG1heCAtIDF9cHgpXCI7XG5cdH1cblx0Ly8gc2V0IGp1c3QgbWluXG5cdEBlbHNlIGlmICgkbWluICE9IG51bGwgYW5kICRtYXggPT0gbnVsbCkge1xuXHRcdCRxdWVyeTogXCIobWluLXdpZHRoOiAjeyRtaW59cHgpXCI7XG5cdH1cblx0Ly8gc2V0IGp1c3QgbWF4XG5cdEBlbHNlIGlmICgkbWluID09IG51bGwgYW5kICRtYXggIT0gbnVsbCkge1xuXHRcdCRxdWVyeTogXCIobWF4LXdpZHRoOiAjeyRtYXggLSAxfXB4KVwiO1xuXHR9XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgI3skcXVlcnl9IHtcblx0XHRAY29udGVudDtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVG9vbGJveCBmdW5jdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogIE1hdGhzIGhlbHBlcnMuXG4gKiAgSGFsdmUgYW5kIGRvdWJsZSBudW1iZXJzLCByZXR1cm5pbmcgcm91bmRlZCBpbnRlZ2Vycy5cblxuICAgIFVTQUdFOlxuXG4gICAgLmZvbyB7XG4gICAgICAgIHBhZGRpbmc6IGhhbHZlKDMwcHgpO1xuICAgIH1cblxuICovXG5cbkBmdW5jdGlvbiBxdWFydGVyKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyIC8gNCk7XG59XG5cbkBmdW5jdGlvbiBoYWx2ZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAvIDIpO1xufVxuXG5AZnVuY3Rpb24gZG91YmxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogMik7XG59XG5cbkBmdW5jdGlvbiB0cmlwbGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAzKTtcbn1cblxuQGZ1bmN0aW9uIHF1YWRydXBsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDQpO1xufVxuXG5cbi8qKlxuICogIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICogIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbiAqICBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4gKi9cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuXHRAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcblx0XHRAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcblx0fVxuXG5cdEByZXR1cm4gJG51bWJlcjtcbn1cblxuXG4vKiBDaGVjayBpZiB2YWx1ZSBpcyBudW1iZXIgKi9cblxuQGZ1bmN0aW9uIGlzLW51bWJlcigkdmFsdWUpIHtcblx0QHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcic7XG59XG5cblxuLyogVmFsdWUgdG8gRW0gKi9cblxuQGZ1bmN0aW9uIHZhbHVlVG9SZW0oJHZhbHVlKSB7XG5cdCRub1VuaXRzOiBzdHJpcC11bml0KCR2YWx1ZSk7XG5cdEByZXR1cm4gI3skbm9Vbml0cyAvIDE2ICogMXJlbX07XG59XG5cbi8qIFZhbHVlIHRvIFJlbSAqL1xuXG5AZnVuY3Rpb24gdmFsdWVUb0VtKCR2YWx1ZSkge1xuXHQkbm9Vbml0czogc3RyaXAtdW5pdCgkdmFsdWUpO1xuXHRAcmV0dXJuICN7JG5vVW5pdHMgLyAxNiAqIDFlbX07XG59XG5cblxuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIGFjY2Vzc2luZyB0aGUgY29sb3JzIGZyb20gb3VyIG1hcHBpbmdcbiAqXHRUbyBhY2Nlc3MgY29sb3JzIGluIG91ciBwYWxldHRlLCB3ZSB1c2UgYSB2ZXJ5IHNpbXBsZSBjdXN0b20gU2FzcyBmdW5jdGlvblxuXG5cdFVTQUdFOlxuXG5cdGEge1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCAyKTtcblx0XHR9XG5cdH1cblxuICovXG5cbkBmdW5jdGlvbiBwYWxldHRlKCRwYWxldHRlLCAkbGV2ZWw6IDEpIHtcblx0QGlmIG1hcC1oYXMta2V5KCRwYWxldHRlcywgJHBhbGV0dGUpIHtcblx0XHRAaWYgbWFwLWhhcy1rZXkobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKSB7XG5cdFx0XHRAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdC8vIElmIGxldmVsIGRvZXNuJ3QgZXhpc3QgaW4gbWFwLCBnaXZlIHRoZSBmaXJzdCB2YWx1ZSBvZiB0aGUgcGFsZXR0ZVxuXHRcdFx0QHJldHVybiBudGgobnRoKG1hcC1nZXQoJHBhbGV0dGVzLCAkcGFsZXR0ZSksIDEpLCAyKTtcblx0XHR9XG5cdH1cblxuXHRAd2FybiBcIlVua25vd24gY29sb3I6IGAjeyRwYWxldHRlfWAgaW4gJHBhbGV0dGUuIFwiO1xuXHRAcmV0dXJuIGhvdHBpbms7XG59XG5cblxuXG4vLyBTZXQgYSBmaXhlZCBzcGFjZSBiYXNlZCBvbiB0aGUgOHB0IGdyaWRcbi8vIEp1c3QgcGFzcyB0aGUgZnVuY3Rpb24gYSBudW1iZXIgZXF1YWwgdG8gdGhlIG51bWJlciBvZiAoOClwb2ludHMgeW91IG5lZWRcbkBmdW5jdGlvbiBzcGFjZSgkc2l6ZTogJzEnKSB7XG4gIEByZXR1cm4gOHB4ICogJHNpemU7XG59XG5cblxuXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgb25seSBmb3IgbW9iaWxlIHZpZXdwb3J0XG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAxXG5cdFx0KTtcbiAgfVxuXG4gKi9cblxuXG5cbkBtaXhpbiB2c3BhY2luZy1zKCR2YWx1ZXMuLi4pIHtcbiAgQGluY2x1ZGUgbXEoJG1heDogbSkge1xuICAgIEBlYWNoICRpIGluICR2YWx1ZXMge1xuICAgICAgLy8gQnkgc2V0dGluZyBndXR0ZXIgc2l6ZSBhcyBhIGhhbHZlIGNvbHVtbiB3aWR0aCB3ZSBjYW4gbWFrZSAnc3F1YXJlcycgb24gbW9iaWxlXG4gICAgICAje250aCgkaSwgMSl9OiAjeygkc2l0ZS1ndXR0ZXItd2lkdGggKiAyKSAqIG50aCgkaSwgMil9O1xuICAgIH1cbiAgfVxufVxuXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgZm9yIHZpZXdwb3J0IGxhcmdlciB0aGFuIG1vYmlsZVxuICogSW4gZmxleGlibGUgdW5pdHMgKHZ3KSBhbmQgb24gbWF4IHZpZXdwb3J0IGluIGEgZml4ZWQgYW1vdW50IChweClcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctbS11cChcblx0XHRcdFx0J3BhZGRpbmctdG9wJyAwLjMzLFxuXHRcdFx0XHQnbWFyZ2luLWJvdHRvbScgMC41XG5cdFx0KTtcbiAgfVxuXG4gKi9cblxuQG1peGluIHZzcGFjaW5nLW0tdXAoJHZhbHVlcy4uLikge1xuICBAaW5jbHVkZSBtcShtLCBsKSB7XG4gICAgQGVhY2ggJGkgaW4gJHZhbHVlcyB7XG4gICAgICAje250aCgkaSwgMSl9OiAjeygxIC8gKCRzaXRlLWNvbHVtbnMtbSArIDIpICogMTAwKSAqIG50aCgkaSwgMil9dnc7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1xKGwsICRicC1tYXgpIHtcbiAgICBAZWFjaCAkaSBpbiAkdmFsdWVzIHtcbiAgICAgICN7bnRoKCRpLCAxKX06ICN7KDEgLyAoJHNpdGUtY29sdW1ucy1sICsgMikgKiAxMDApICogbnRoKCRpLCAyKX12dztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbXEoJGJwLW1heCkge1xuICAgIEBlYWNoICRpIGluICR2YWx1ZXMge1xuICAgICAgI3tudGgoJGksIDEpfTogI3soJHNpdGUtbWF4LXdpZHRoIC8gJHNpdGUtY29sdW1ucy1sKSAqIG50aCgkaSwgMil9cHg7XG4gICAgfVxuICB9XG59XG5cbi8qXG4gKiBGcm9tIHZhbHVlcyBnaXZlbiByZXR1cm4gdGhlIGNvcnJlY3Qgdi1zcGFjaW5nIGZvciBlYWNoIGJyZWFrcG9pbnRcbiAqL1xuQG1peGluIHZzcGFjaW5nKCR2YWx1ZXMuLi4pIHtcblx0QGluY2x1ZGUgdnNwYWNpbmctcygkdmFsdWVzLi4uKTtcblx0QGluY2x1ZGUgdnNwYWNpbmctbS11cCgkdmFsdWVzLi4uKTtcbn1cblxuXG5cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBzZXR0aW5nIGEgY29uc2lzdGVudCBib3gtc2hhZG93XG5cblx0VVNBR0U6XG5cblx0LmNhcmQge1xuXHRcdEBpbmNsdWRlIGJveC1zaGFkb3c7XG5cdH1cblxuXHQuY2FyZC0tYWx0IHtcblx0XHRAaW5jbHVkZSBib3gtc2hhZG93KGxvdyk7XG5cdH1cblxuICovXG5AbWl4aW4gYm94LXNoYWRvdygkdHlwZTogaGlnaCkge1xuXHRAaWYgKCR0eXBlID09ICdoaWdoJykge1xuXHRcdGJveC1zaGFkb3c6IDAgMjBweCAzMHB4IC0xMHB4IHBhbGV0dGUoYm94LXNoYWRvdyk7XG5cdH1cblx0QGlmICgkdHlwZSA9PSAnbG93Jykge1xuXHRcdGJveC1zaGFkb3c6IDAgMXB4IDZweCAwIHBhbGV0dGUoYm94LXNoYWRvdyk7XG5cdH1cbn1cblxuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdH1cblxuICovXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkdHlwZTogcykge1xuXHRAaWYgKCR0eXBlID09ICdzJykge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuXHR9XG5cdEBpZiAoJHR5cGUgPT0gJ20nKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgbSk7XG5cdH1cblx0QGlmICgkdHlwZSA9PSAnbCcpIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBsKTtcblx0fVxufVxuXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cblxuLypcbiAqIExvYm90b21pemVkIG93bCBzZWxlY3Rvci5cbiAqIC0gR2l2ZXMgdGhlIGNoaWxkcmVuIG9mIHRoZSBlbGVtZW50IHNwYWNpbmdcbiAqIC0gaHR0cHM6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL2F4aW9tYXRpYy1jc3MtYW5kLWxvYm90b21pemVkLW93bHNcbiAqL1xuQG1peGluIG93bC1jaGlsZHJlbigkbWFyZ2luOiAjeyRsaW5lLWhlaWdodC1yYXRpb31yZW0pIHtcblx0JiA+ICogKyAqIHtcblx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHR9XG59XG5cbi8vIEdpdmVzIHRoZSBlbGVtZW50IGl0c2VsZiBzcGFjaW5nXG5AbWl4aW4gb3dsKCRtYXJnaW46ICN7JGxpbmUtaGVpZ2h0LXJhdGlvfXJlbSkge1xuXHQmICsgJiB7XG5cdFx0bWFyZ2luLXRvcDogJG1hcmdpbjtcblx0fVxufVxuXG4vKipcbiAqICBTaG93IGh5cGhlbnMgZm9yIGV2ZXJ5IGJyb3dzZXIgc3VwcG9ydGluZyBpdFxuICogIGFuZCB3aWxsIGJyZWFrIGxpbmVzIGluIGV2ZXJ5IG90aGVyIGJyb3dzZXJcbiAqL1xuXG5AbWl4aW4gaHlwaGVuYXRlIHtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG5cdC1tcy1oeXBoZW5zOiBhdXRvO1xuXHRoeXBoZW5zOiBhdXRvO1xufVxuXG5cblxuXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuXG5AbWl4aW4gY29udGFpbigkb25NZWRpdW06IHRydWUpIHtcblx0d2lkdGg6IGNhbGMoMTAwJSAtICN7ZG91YmxlKCRzaXRlLWd1dHRlci13aWR0aCl9KTsgLy8gTWFraW5nIHN1cmUgaXQgZG9lc27igJl0IGdldCB0byBzbWFsbCB3aXRoIGxpdHRsZSBjb250ZW50XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdEBpZigkb25NZWRpdW0gPT0gdHJ1ZSkge1xuXHRcdFx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1ucy1tICsgMn0pICogI3skc2l0ZS1jb2x1bW5zLW19KTtcbiAgICB9IEBlbHNlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cbiAgfVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1ucy1sICsgMn0pICogI3skc2l0ZS1jb2x1bW5zLWx9KTtcblx0XHRtYXgtd2lkdGg6ICN7JHNpdGUtbWF4LXdpZHRofXB4O1xuXHR9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBUaGUgJ3otaW5kZXgtbWFwJyBpcyB1c2VkIGZvciBtYW5hZ2luZyB0aGUgZWxlbWVudHMgc3RhY2tpbmcgb3JkZXIgaW4gdGhlICdyb290JyBzdGFja2luZyBjb250ZXh0XG4gKiAgVGhpcyB3YXkgd2UgaGF2ZSBhIG92ZXJ2aWV3IG9mIGFsbCB0aGUgei1pbmRleCB2YWx1ZXMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgdGhlIHByb2plY3QuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbiR6LWluZGV4OiAoXG5cdHotdmlzaWJsZS1ncmlkOlx0XHRcdDEwMDAwLFxuXHR6LWNvb2tpZTpcdFx0IFx0XHRcdFx0OTk5OSxcblx0ei1vdmVybGF5LW1lbnU6XHRcdFx0MTAwLFxuXHR6LWhlYWRlcjogXHRcdFx0XHRcdDUwLFxuXHR6LWJvZHk6XHRcdFx0XHRcdFx0XHQ0MCxcblx0ei1mb290ZXI6XHRcdFx0XHQgXHRcdDIwLFxuXHR6LXN1YmZvb3RlcjpcdFx0XHRcdDEwLFxuKTtcblxuXG4vKipcbiAgICBVU0FHRTpcblxuICAgIEBpbmNsdWRlIHooei1tb2RhbCk7XG5cbiAqL1xuXG5AbWl4aW4geigkbGFiZWwpIHtcblx0ei1pbmRleDogbWFwLWdldCgkei1pbmRleCwkbGFiZWwpO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCYXNpYyBlbGVtZW50cyAobm8gY2xhc3Mgc2VsZWN0b3JzIGFsbG93ZWQpXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNldCB1cCB0aGUgaHRtbFxuICpcbiAqIDEuIE1ha2VzIHN1cmUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqIDIuIFNldCBmb250IHRvIGxpbmluZyBmaWd1cmVzXG4gKi9cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXJhdGlvO1xuICBmb250LWZhbWlseTogJGZvbnQtcm9ib3RvO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDIpO1xuICBiYWNrZ3JvdW5kOiBwYWxldHRlKGxpZ2h0KTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5cbi8qKlxuICogWzFdIE1ha2Ugc3VyZSBlbGVtZW50cyBsaWtlIGlucHV0IGFuZCB0ZXh0YXJlYSBpbmhlcml0IHNvbWUgYmFzZSBwcm9wZXJ0aWVzXG4gKiAgICAgaHR0cHM6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNi8xMS9jc3MtaW5oZXJpdGFuY2UtY2FzY2FkZS1nbG9iYWwtc2NvcGUtbmV3LW9sZC13b3JzdC1iZXN0LWZyaWVuZHMvXG4gKlxuICogWzJdIFNldHRpbmcgYm94LXNpemluZyB0aGUgYmVzdCB3YXkgcGVyOlxuICogICAgIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlL1xuICovXG4qIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmLFxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxufVxuXG4vKipcbiAqIFsxXSBUdXJuIG9mZiB0ZXh0LXNoYWRvdyB3aGVuIHNlbGVjdGluZyB0ZXh0IGZvciBiZXR0ZXIgcmVhZGFiaWxpdHlcbiAqL1xuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiBwYWxldHRlKHNlY29uZGFyeSk7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQtb24tc2Vjb25kYXJ5KTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IC8qIFsxXSAqL1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gYXJvdW5kIGZpZ3VyZVxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogWzFdIFNldHRpbmcgJ3ZlcnRpY2FsLWFsaWduJyByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciAnaW1nJ1xuICpcdCAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqXHQgICB1c2luZyAnZGlzcGxheTogYmxvY2s7Jy5cbiAqIFsyXSBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcsIHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qWzFdKi9cbiAgYm9yZGVyOiBub25lOyAvKlsyXSovXG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiAgTmVlZGVkIGZvciBpT1MgdG8gcHJldmVudCBpbnB1dCB6b29taW5nXG4gKiAgaHR0cHM6Ly91eGNlbGxlbmNlLmNvbS8yMDE0LzAxLzE1L3F1aWNrLWZpeC1pbmNyZWFzZS1mb250LXNpemUtdG8tMTZweC10by1maXgtaW5wdXQtem9vbVxuICovXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5cbi8vIExpbmtzIHdpdGggbm8gY2xhc3MgZ2V0IGEgZGVmYXVsdCBob3ZlclxuYTpub3QoW2NsYXNzXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bzsgLy8gcHJldHR5IHVuZGVybGluaW5nIGxpbmtzXG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MsIG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVE9ETzogSXMgdGhpcyB0aGUgcmlnaHQgd2F5IHRvIHJlc2V0IGFsbCBtYXJnaW4/P1xuLy8gUmVzZXQgYWxsIHRvcCBtYXJnaW5zXG5oMSxoMixoMyxoNCxoNSxoNixoZ3JvdXAsXG51bCxvbCxkZCxcbnAsZmlndXJlLFxucHJlLHRhYmxlLGZpZWxkc2V0LGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn0iLCJoMSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xufVxuXG5oMiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbmgzIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5oNCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShtKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDUsIGg2IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRmb250LXdlaWdodDogNjAwO1xufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKlx0RGVmYXVsdCBpbmRlbnRhdGlvbiB2YWx1ZSBmb3IgbGlzdHNcbiAqL1xuXG51bCxcbm9se1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi1sZWZ0OiAxLjEyNWVtO1xufVxuXG5kZHtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cblxuXG4vKipcbiAqXHRSZW1vdmUgZXh0cmEgdmVydGljYWwgc3BhY2luZyB3aGVuIG5lc3RpbmcgbGlzdHMuXG4gKi9cblxubGkge1xuXHQ+IHVsLFxuXHQ+IG9sIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29udGFpblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4ubC1jb250YWluIHtcbiAgQGluY2x1ZGUgY29udGFpbjtcbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFNwbGl0IGxheW91dCBpbiAyIGVxdWFsIGNvbHVtbnNcbiAqXG4gKiBVbnRpbCB2aWV3cG9ydCBpcyB3aWRlIGVub3VnaCB0aGUgY29sdW1ucyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4ubC1zcGxpdCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShsaWdodCk7XG5cdGhlaWdodDogMTAwJTsgLy8gc3RyZXRjaCBpdCBvdXQgaW4gaXRzIGNvbnRhaW5lclxuXG5cdC8vIFNldCBzaWRlIGJ5IHNpZGUgZnJvbSBtZWRpdW0gdmlld3BvcnRzIGFuZCB1cFxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0QGluY2x1ZGUgZmxleCgpO1xuXHR9XG59XG5cblxuLyoqXG4gKiBTcGVjaWFsIGNvbnRhaW4gdmVyc2lvbiBmb3Igc3BsaXQuXG4gKiBEb2Vzbid0IHJlc3RyYWluIGNvbnRlbnQgb24gbWVkaXVtIHZpZXdwb3J0XG4gKi9cblxuLmwtc3BsaXQtLWNvbnRhaW4ge1xuXHRcdEBpbmNsdWRlIGNvbnRhaW4oJG9uTWVkaXVtOiBmYWxzZSk7XG59XG5cblxuLmwtc3BsaXRfX2NvbHVtbiB7XG5cblx0Ly8gT24gZGVza3RvcCBjb2x1bW5zIGFyZSA1MC81MFxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LCAxMik7XG5cdH1cblxuXHQvLyBNYWluIGNvbnRlbnQgZ29lcyBmaXJzdCwgdXN1YWxseSB0ZXh0XG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRcdHdpZHRoOiBjb2x1bW4oNSwgOCk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSwgOCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMik7XG5cdFx0fVxuXHR9XG5cblx0Ly8gc2Vjb25kYXJ5IGNvbnRlbnQgZ29lcyBsYXN0LCB1c3VhbGx5IGFuIGltYWdlIG9yIGFzaWRlIHRleHRcblx0JjpsYXN0LWNoaWxkIHtcblx0XHQvLyBDcmVhdGUgdmVydGljYWwgc3BhY2luZyBvbiBtb2JpbGVcblx0XHRAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMC41XG5cdFx0KTtcblx0XHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0XHR3aWR0aDogY29sdW1uKDMsIDgpO1xuXHRcdH1cblx0fVxuXG5cdC8vIFZpc3VhbGx5IHN3aXRjaCBjb2x1bW5zIG9uIG1lZGl1bSAmIGxhcmdlIHZpZXdwb3J0c1xuXHQubC1zcGxpdC0taXMtcmV2ZXJzZWQgJiB7XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRvcmRlcjogMjtcblxuXHRcdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCA4KTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AaW5jbHVkZSBtcShtLCBsKSB7XG5cdC5sLXNwbGl0LS1icmVha291dC1vbi1tIHtcblx0XHQubC1zcGxpdF9fY29sdW1uIHtcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHR3aWR0aDogY29sdW1uKDYsIDEwKTtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTApO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSwgMTApO1xuXHRcdFx0fVxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0d2lkdGg6IGNvbHVtbig0LCAxMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyoqXG4gKiBXaGVuIHRoZXJlIGlzIG9ubHkgMSBjb2x1bW4sIGFsaWduIGl0IHRvIHRoZSBtaWRkbGUgYW5kIGNvbnRhaW4gdGhlIHdpZHRoXG4gKiBPbmx5IG9uZSBjb2x1bW4gaXMgdXNlZCBlLmcuIGluIHRoZSB0YWJzbGlkZXIgd2hlbiB0aGVyZSBpcyBubyBpbWFnZSBzZXRcbiAqL1xuLmwtc3BsaXRfX2NvbHVtbjpvbmx5LWNoaWxkIHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgOCk7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuXHRcdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuLy8gQ29sdW1ucyB0aGF0IGhhdmUgdGV4dCBpbnN0ZWFkIG9mIGFuIGltYWdlIG5lZWQgc29tZSBwYWRkaW5nIG9uIHRvcFxuLy8gdG8gYWxpZ24gdGhlbSB3aXRoIHRoZSBvdGhlciBjb2x1bW4gdGhhdCBoYXMgcGFkZGluZy10b3AgdG9vXG4ubC1zcGxpdF9fY29sdW1uLS12cGFkIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDUpO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDEwKTtcblx0XHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxMCk7XG5cdH1cbn1cblxuXG4vLyBDcmVhdGUgYSBjb2x1bW4gZXh0cmEgd2hpdGUgc3BhY2UgdG8gdGhlIGxlZnQgKG9uIGxhcmdlIHZpZXdwb3J0cylcbkBpbmNsdWRlIG1xKGwpIHtcblx0Lmwtc3BsaXRfX2NvbHVtbi0tbGVmdHBhZCB7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cbn0iLCIvLyBVc2FnZTpcbi8vXG4vLyAgIEBpbmNsdWRlIGZsZXhbKGtleXdvcmRzKV07XG4vL1xuLy8gS2V5d29yZHM6XG4vL1xuLy8gICBbaW5saW5lIHwgd3JhcCB8IGNvbHVtbiB8IHJldmVyc2UgfCBjZW50ZXIqIHwgZmxleC1zdGFydCogfCBmbGV4LWVuZCogfCBzdHJldGNoIHwgYmFzZWxpbmUgfCBzcGFjZS1hcm91bmQgfCBzcGFjZS1iZXR3ZWVuXVxuLy9cbi8vICogSWYgb25seSBvbmUgb2YgdGhlc2Uga2V5d29yZHMgaXMgcHJlc2VudCwgaXQncyB1c2VkIGZvciBib3RoIGp1c3RpZnktY29udGVudCBhbmQgYWxpZ24taXRlbXMuXG4vLyAgIFdoZW4gdHdvIGtleXdvcmRzIGFyZSBwcmVzZW50IHRoZSBmaXJzdCBnb2VzIGluIGp1c3RpZnktY29udGVudCAobWFpbiBheGlzKSBhbmQgdGhlIG90aGVyIGluIGFsaWduLWl0ZW1zIChwZXJwZW5kaWN1bGFyIGF4aXMpLlxuLy9cbi8vIEV4YW1wbGVzOlxuLy9cbi8vICAgQGluY2x1ZGUgZmxleDtcbi8vXG4vLyAgICAgZGlzcGxheTogZmxleDtcbi8vXG4vLyAgIEBpbmNsdWRlIGZsZXgoY29sdW1uIHdyYXApO1xuLy9cbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4vLyAgICAgZmxleC13cmFwOiB3cmFwO1xuLy9cbi8vICAgIEBpbmNsdWRlIGZsZXgoY29sdW1uIHJldmVyc2UpO1xuLy9cbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbi8vXG4vLyAgIEBpbmNsdWRlIGZsZXgoY2VudGVyKTtcbi8vXG4vLyAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy9cbi8vICAgQGluY2x1ZGUgZmxleChmbGV4LWVuZCBmbGV4LXN0YXJ0KTtcbi8vXG4vLyAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG5cbkBtaXhpbiBmbGV4KCRwYXJhbXM6IG51bGwpIHtcbiAgJGRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4gICRkaXJlY3Rpb246IHJvdztcbiAgJHJldmVyc2U6IG51bGw7XG4gICRqdXN0aWZ5LWNvbnRlbnQ6IG51bGw7XG4gICRhbGlnbi1pdGVtczogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRwYXJhbXMge1xuICAgIEBpZiAkdmFsdWUgPT0gXCJpbmxpbmVcIiB7XG4gICAgICAkZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwXCIge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicmV2ZXJzZVwiIHtcbiAgICAgICRyZXZlcnNlOiAtcmV2ZXJzZTtcbiAgICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInJvd1wiIHtcbiAgICAgICRkaXJlY3Rpb246IHJvdztcbiAgICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtblwiIHtcbiAgICAgICRkaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9IEBlbHNlIGlmIGluZGV4KHNwYWNlLWJldHdlZW4gc3BhY2UtYXJvdW5kLCAkdmFsdWUpIHtcbiAgICAgICRqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9IEBlbHNlIGlmIGluZGV4KGJhc2VsaW5lIHN0cmV0Y2gsICR2YWx1ZSkge1xuICAgICAgJGFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgfSBAZWxzZSBpZiBpbmRleChmbGV4LXN0YXJ0IGNlbnRlciBmbGV4LWVuZCwgJHZhbHVlKSB7XG4gICAgICBAaWYgJGp1c3RpZnktY29udGVudCB7XG4gICAgICAgICRhbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgQGlmIG5vdCAkYWxpZ24taXRlbXMge1xuICAgICAgICAgICRhbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5LWNvbnRlbnQ7XG4gIGFsaWduLWl0ZW1zOiAkYWxpZ24taXRlbXM7XG5cbiAgQGlmKCRyZXZlcnNlICE9IG51bGwgb3IgJGRpcmVjdGlvbiAhPSByb3cpIHtcbiAgIGZsZXgtZGlyZWN0aW9uOiAjeyRkaXJlY3Rpb259I3skcmV2ZXJzZX07XG4gIH0gQGVsc2UgaWYoJGRpcmVjdGlvbiA9PSByb3cpe1xuICAgIGZsZXgtZGlyZWN0aW9uOiAjeyRkaXJlY3Rpb259XG4gIH1cbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSZXN0cmljdFxuICpcbiAqIFdoZW4gYSBibG9jayBzaG91bGRuJ3QgdGFrZSB1cCB0aGUgd2hvbGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuICogd2UgY2FuIHJlc3RyaWN0IHRoZSBtYXhpbXVtIHdpZHRoXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5sLXJlc3RyaWN0LW5hcnJvdyB7XG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGNvbHVtbig2LDgpO1xuICAgIG1heC13aWR0aDogMzhlbTtcbiAgfVxuICBAaW5jbHVkZSBtcShsKXtcbiAgICB3aWR0aDogY29sdW1uKDYsMTIpO1xuICB9XG59XG5cbi5sLXJlc3RyaWN0LXdpZGUge1xuICBAaW5jbHVkZSBtcShtKXtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGNvbHVtbig3LDgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEobCl7XG4gICAgd2lkdGg6IGNvbHVtbig4LDEyKTtcbiAgfVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29tcG9uZW50c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBpbXBvcnQgXCJjb21wb25lbnRzLmJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZ2hvc3RidXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNhcmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNsb3NlXCI7XG4vL0BpbXBvcnQgXCJjb21wb25lbnRzLmNvb2tpZVN3aXRjaFwiO1xuLy9AaW1wb3J0IFwiY29tcG9uZW50cy5jb29raWVUeXBlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jb25uZWN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5kYXRhXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5mb3JtR3JvdXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZvcm1GZWVkYmFja1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuaGFtYnVyZ2VyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5oZWFkaW5nXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5oZXJvXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5pbnB1dFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMubGFuZ3VhZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLm5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucGFnZVRpdGxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wcm9qZWN0b3JcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnNlcnZpY2VQb2ludFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2l0ZW1hcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2tpcExpbmtcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnNsaWRlLWluZGljYXRvclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc3VibmF2XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy50ZXh0LWJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudHJhZGVtYXJrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy52aWRlb1wiOyIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtYnV0dG9uOiAoXG5cdCdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUodGV4dC1vbi1zZWNvbmRhcnkpLFxuXHQnYmdjb2xvcic6XHRcdFx0XHRwYWxldHRlKHNlY29uZGFyeSksXG5cdCdiZ2NvbG9yLWhvdmVyJzpcdHNjYWxlLWNvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5KSwgJGxpZ2h0bmVzczogLTIwJSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1idXR0b24ge1xuXHRAaW5jbHVkZSBmbGV4KGlubGluZSBjZW50ZXIpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1idXR0b24sICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2JnY29sb3InKTtcblx0dGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLDAsMCwwLjIpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IHNwYWNlKDIpIDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggcGFsZXR0ZShsaWdodCksIDAgMCA1cHggMnB4IG1hcC1nZXQoJGMtYnV0dG9uLCAnYmdjb2xvcicpO1xuXHR9XG5cdCY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdH1cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdH1cblxuXHQvLyBQc2V1ZG8gZWxlbWVudCBmb3IgYW5pbWF0aW5nIGhvdmVyXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHRvcDogY2FsYyg1MCUgLSAycHgpO1xuXHRcdGxlZnQ6IGNhbGMoNTAlIC0gMnB4KTtcblx0XHR3aWR0aDogNHB4O1xuXHRcdGhlaWdodDogNHB4O1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGJhY2tncm91bmQ6IG1hcC1nZXQoJGMtYnV0dG9uLCAnYmdjb2xvci1ob3ZlcicpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuXHR9XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxMDApO1xuXHR9XG59XG5cbi5jLWJ1dHRvbl9fdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0cGFkZGluZzogMCBzcGFjZSgzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyKTtcblx0fVxufVxuXG4uYy1idXR0b25fX2ljb24ge1xuXHRkaXNwbGF5OiBub25lOyAvLyBCeSBkZWZhdWx0IGljb24gaXMgaGlkZGVuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0dG9wOiAtMXB4O1xuXHRtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG5cdC5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxuXG5cdC8vIFdoZW4gaWNvbiBjb21lcyBiZWZvcmUgdGhlIHRleHQgKGluIHRoZSBET00pIHN3aXRjaCB0aGUgbWFyZ2luXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0fVxuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdFx0d2lkdGg6IDE2cHg7XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRGVmYXVsdCBidXR0b25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRjLWdob3N0LWJ1dHRvbjogKFxuXHQnY29sb3InOlx0XHRcdFx0XHRwYWxldHRlKHRleHQtb24tZGFyayksXG4pO1xuXG5cbi5jLWdob3N0YnV0dG9uIHtcblx0QGluY2x1ZGUgZmxleChpbmxpbmUgY2VudGVyKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtZ2hvc3QtYnV0dG9uLCAnY29sb3InKTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwwLDAsMC4yKTtcblx0Ym9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuXHRwYWRkaW5nOiBzcGFjZSgyKSAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDRweCAycHggcmdiYShtYXAtZ2V0KCRjLWdob3N0LWJ1dHRvbiwgJ2NvbG9yJyksIDAuNSk7XG5cblx0fVxuXHQmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdH1cblxuXHQvLyBCb3JkZXIgd2l0aCBwc2V1ZG8gZWxlbWVudCBmb3IgYW5pbWF0aW9uXG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJhY2tncm91bmQ6IHJnYmEocGFsZXR0ZShkYXJrKSwgMC4wNyk7XG5cdFx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC0xcHg7XG5cdFx0Ym90dG9tOiAtMXB4O1xuXHRcdHJpZ2h0OiAtMXB4O1xuXHRcdGxlZnQ6IC0xcHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNXM7XG5cdH1cblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMzVzO1xuXHRcdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO1xuXHRcdH1cblx0fVxufVxuXG4uYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0cGFkZGluZzogMCBzcGFjZSgzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyKTtcblx0fVxufVxuXG4uYy1naG9zdGJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHR0b3A6IC0xcHg7XG5cdG1hcmdpbi1yaWdodDogMTVweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtZ2hvc3RidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQuYy1naG9zdGJ1dHRvbi0taWNvbiAmIHtcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdFx0d2lkdGg6IDE2cHg7XG5cdH1cblxuXHQvLyBXaGVuIGljb24gY29tZXMgYmVmb3JlIHRoZSB0ZXh0IChpbiB0aGUgRE9NKSBzd2l0Y2ggdGhlIG1hcmdpblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENhcmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1jYXJkOiAoXG5cdCdsYWJlbC1iZ2NvbG9yJzpcdFx0XHRcdHBhbGV0dGUoZGFyayksXG5cdCdsYWJlbC1jb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUodGV4dC1vbi1kYXJrKSxcblx0J2xhYmVsLWJnY29sb3ItaG92ZXInOlx0cGFsZXR0ZShzZWNvbmRhcnkpLFxuXHQnbGFiZWwtY29sb3ItaG92ZXInOlx0XHRwYWxldHRlKHRleHQtb24tc2Vjb25kYXJ5KSxcblx0J2Fycm93LWNvbG9yLWhvdmVyJzpcdFx0cGFsZXR0ZShzZWNvbmRhcnkpLFxuXHQnYmdjb2xvci1ob3Zlcic6XHRcdFx0XHRwYWxldHRlKGRhcmspLFxuXHQnaW5mby1iZ2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsKVxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtY2FyZCB7XG5cdGRpc3BsYXk6IGJsb2NrOyAvLyB3aGVuIGl0J3MgYW4gYW5jaG9yIGVsZW1lbnQgKGlubGluZSBieSBkZWZhdWx0KVxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIENhcmQgdGhhdCBkb2VzIHNvbWUgYW5pbWF0aW9ucyBvbiBob3ZlclxuICovXG4uYy1jYXJkLS1oYXMtYWN0aW9uIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLy8gYmVjYXVzZSBvZiBwc2V1ZG8gZWxlbWVudFxuXHR6LWluZGV4OiAwO1xuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cblx0Ly8gU2hhZGVkIGJhY2tncm91bmQgKEhJRERFTiBieSBkZWZhdWx0KVxuXHQmOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyksIDAuOTIpO1xuXHRcdGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2JhKG1hcC1nZXQoJGMtY2FyZCwnYmdjb2xvci1ob3ZlcicpLDAuOCkgMCUsIHJnYmEobWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyksMC45MikgMTAwJSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMzUlKSByb3RhdGUoMTFkZWcpIHNjYWxlKDEuMyk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcblx0fVxuXG5cdC8vIEFycm93IChISURERU4gYnkgZGVmYXVsdClcblx0Ly8gQ29udGFpbnMgYW4gU1ZHIGFycm93IGljb24gaW4gdGhlIGJhY2tncm91bmQtaW1hZ2Vcblx0Jjo6YWZ0ZXIge1xuXHRcdHotaW5kZXg6IDI7XG5cdFx0d2lkdGg6IDI1cHg7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHN2Zy11cmwoJzxzdmcgdmlld0JveD1cIjAgMCAxNiAxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBmaWxsPVwiI3ttYXAtZ2V0KCRjLWNhcmQsJ2Fycm93LWNvbG9yLWhvdmVyJyl9XCIgZD1cIk0xMy40IDYuNzgzSC43NjJBLjc3Mi43NzIgMCAwIDEgMCA2YzAtLjQzMi4zNDEtLjc4My43NjItLjc4M0gxMy40TDkuNjIzIDEuMzM2YS43OTguNzk4IDAgMCAxIDAtMS4xMDcuNzQ3Ljc0NyAwIDAgMSAxLjA3NyAwbDUuMDc3IDUuMjE4YS43OTguNzk4IDAgMCAxIDAgMS4xMDZMMTAuNyAxMS43NzFhLjc0Ny43NDcgMCAwIDEtMS4wNzcgMCAuNzk4Ljc5OCAwIDAgMSAwLTEuMTA3TDEzLjQgNi43ODN6XCIvPjwvc3ZnPicpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS43NSk7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Ly8gU2hhZGVkIGJhY2tncm91bmQgKFZJU0lCTEUgd2hlbiBob3ZlcmVkKVxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdG9wYWNpdHk6IDAuOTI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMWRlZykgc2NhbGUoMS4zKTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogNTBtcztcblx0XHR9XG5cdFx0Ly8gQXJyb3cgKFZJU0lCTEUgd2hlbiBob3ZlcmVkKVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG5cdFx0fVxuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufVxuXG4uYy1jYXJkX19waWN0dXJlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1jYXJkX19pbWcge1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0d2lkdGg6IDEwMCU7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1heC1oZWlnaHQ6IDUzLjV2dztcblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRtYXgtaGVpZ2h0OiAyNS42dnc7XG5cdH1cbn1cblxuLmMtY2FyZF9fbGFiZWwge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDM7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDE0cHggMTBweCAxNXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2xhYmVsLWNvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnbGFiZWwtYmdjb2xvcicpO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcblxuXHQuYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyICYge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2xhYmVsLWNvbG9yLWhvdmVyJyk7XG5cdH1cblxuXHQvLyBDb2xvcmVkIGJhY2tncm91bmQgYmVoaW5kIGxhYmVsIChISURERU4gYnkgZGVmYXVsdClcblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnbGFiZWwtYmdjb2xvci1ob3ZlcicpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKSByb3RhdGUoNWRlZykgc2NhbGUoMik7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcblxuXHRcdC5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIgJiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNWRlZykgc2NhbGUoMik7XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBtcztcblx0XHR9XG5cdH1cbn1cblxuLmMtY2FyZF9faW5mbyB7XG5cdHBhZGRpbmc6IHNwYWNlKDIpIHNwYWNlKDQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2luZm8tYmdjb2xvcicpO1xufVxuLmMtY2FyZF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoYmFzZSk7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQsIDIpO1xufVxuLmMtY2FyZF9fc3ViaGVhZGluZyB7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQsIDMpO1xufVxuLmMtY2FyZF9fdGV4dGxpbmUge1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0LCAzKTtcblxuXHQvLyBXaGVuIGl0IGZvbGxvd3MgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGxpa2UgaXRzZWxmXG5cdCo6bm90KCN7Jn0pICsgJiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENsb3NlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtY2xvc2U6IChcblx0J2NvbG9yJzogIHBhbGV0dGUobGlnaHQpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtY2xvc2Uge1xuXHRAaW5jbHVkZSBmbGV4KGNlbnRlcik7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogc3BhY2UoNSk7XG5cdGhlaWdodDogc3BhY2UoNSk7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgZWFzZS1vdXQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDNweCAycHggbWFwLWdldCgkYy1jbG9zZSwgJ2NvbG9yJyk7XG5cdH1cblxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0XHRyaWdodDogMjAlO1xuXHRcdGxlZnQ6IDIwJTtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IG1hcC1nZXQoJGMtY2xvc2UsICdjb2xvcicpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0fVxuXHQmOmJlZm9yZSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENvbm5lY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1jb25uZWN0OiAoXG5cdCdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUodGV4dCksXG5cdCdjb2xvci1hbHQnOlx0XHRcdHBhbGV0dGUodGV4dCwgMiksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG5cbi5jLWNvbm5lY3Qge1xuXHRAaW5jbHVkZSBmbGV4KGNvbHVtbik7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0QGluY2x1ZGUgZmxleChpbmxpbmUgY2VudGVyKTtcblx0fVxufVxuXG4uYy1jb25uZWN0X19waG9uZSB7XG5cdEBpbmNsdWRlIGZvbnQobCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtY29ubmVjdCwgJ2NvbG9yJyk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC43O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0XHR0ZXh0LXNoYWRvdzogMXB4IDFweCAwICNmZmYsIDJweCAycHggMCByZ2JhKDI2LCAyNiwgMjYsIDAuMzUpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG59XG5cbi5jLWNvbm5lY3RfX29yIHtcblx0bWFyZ2luOiAwIHNwYWNlKDIpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1jb25uZWN0LCAnY29sb3ItYWx0Jyk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbjogc3BhY2UoMSkgMCBzcGFjZSgyKTtcblx0fVxufVxuXG4vLy5jLWNvbm5lY3RfX2FjdGlvbiB7XG4vL1xuLy99IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBEYXRhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtZGF0YTogKFxuICAnY29sb3InOlx0XHRcdFx0XHRwYWxldHRlKHRleHQpLFxuICAnY29sb3ItYWx0JzpcdFx0XHRwYWxldHRlKHRleHQsIDIpLFxuICAnYmdjb2xvci1ob3Zlcic6XHRzY2FsZS1jb2xvcihwYWxldHRlKHNlY29uZGFyeSksICRsaWdodG5lc3M6IC0yMCUpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jLWRhdGEge1xuXHRtYXJnaW46IHNwYWNlKDEpIDA7XG59XG5cbi5jLWRhdGFfX2xpbmUge1xuXHRAaW5jbHVkZSBmbGV4KCk7XG59XG5cbi5jLWRhdGFfX2xhYmVsIHtcblx0bWluLXdpZHRoOiBzcGFjZSg4KTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6IG1hcC1nZXQoJGMtZGF0YSwgJ2NvbG9yJyk7XG59XG5cbi5jLWRhdGFfX3ZhbHVlIHtcblx0ZmxleC1ncm93OiA5OTk5O1xuICBjb2xvcjogbWFwLWdldCgkYy1kYXRhLCAnY29sb3ItYWx0Jyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmW2hyZWZdIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0XHQmOmZvY3VzIHtcblx0XHRcdG91dGxpbmUtY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG5cdFx0fVxuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBGb3JtIGdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtZm9ybS1ncm91cDogKFxuICAnY29sb3InOlx0XHRcdFx0XHQgICAgcGFsZXR0ZSh0ZXh0LCAzKSxcbiAgJ2Vycm9yLWNvbG9yJzpcdFx0XHRcdHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbiksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1mb3JtLWdyb3VwX19sYWJlbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHNwYWNlKDAuNSkgMDtcbiAgY29sb3I6IG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2NvbG9yJyk7XG59XG5cbi5jLWZvcm0tZ3JvdXBfX2Vycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICAuaGFzLWVycm9yICY6bm90KDplbXB0eSkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogc3BhY2UoMSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2Vycm9yLWNvbG9yJyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRjLWZvcm0tZ3JvdXAsICdlcnJvci1jb2xvcicpLCAwLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2Vycm9yLWNvbG9yJyk7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEZvcm0gZmVlZGJhY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1mb3JtLWZlZWRiYWNrOiAoXG4gICdjb2xvcic6XHRcdHBhbGV0dGUodGV4dCksXG4gICdiZ2NvbG9yJzpcdHJnYmEocGFsZXR0ZShmZWVkYmFjaywgd2FybmluZyksIDAuMiksXG4gICdib3JkZXInOiBcdHBhbGV0dGUoZmVlZGJhY2ssIHdhcm5pbmcpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtZm9ybS1mZWVkYmFjayB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcbiAgbWFyZ2luOiAwIDAgc3BhY2UoMSk7XG4gIHBhZGRpbmc6IHNwYWNlKDMpIHNwYWNlKDQpO1xuICBjb2xvcjogbWFwLWdldCgkYy1mb3JtLWZlZWRiYWNrLCAnY29sb3InKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1mb3JtLWZlZWRiYWNrLCAnYmdjb2xvcicpO1xuICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjLWZvcm0tZmVlZGJhY2ssICdib3JkZXInKTtcblxuICAmOm5vdCg6ZW1wdHkpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1mZWVkYmFjayk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSgtMik7XG4gICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIGxpOjpmaXJzdC1sZXR0ZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEhhbWJ1cmdlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWhhbWJ1cmdlcjogKFxuXHQnYmdjb2xvcic6ICBcdFx0XHRwYWxldHRlKGRhcmspLFxuXHQnYmdjb2xvci1saWdodCc6XHRwYWxldHRlKGxpZ2h0KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYy1oYW1idXJnZXIge1xuXHRAaW5jbHVkZSBmbGV4KGNlbnRlcik7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogc3BhY2UoNSk7XG5cdGhlaWdodDogc3BhY2UoNSk7XG5cdHBhZGRpbmc6IDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWhhbWJ1cmdlciwgJ2JnY29sb3InKTtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDNweCAycHggcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxuXG5cdCYuaXMtbGlnaHQge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLWhhbWJ1cmdlciwgJ2JnY29sb3ItbGlnaHQnKTtcblx0fVxuXG5cdCYgPiBzcGFuLFxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0XHRyaWdodDogMjAlO1xuXHRcdGxlZnQ6IDIwJTtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHR0b3A6IDEycHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdHRvcDogMjhweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwLjUpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0JiA+IHNwYW4ge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcblx0XHR9XG5cdFx0JjphZnRlcixcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHR9XG5cdH1cblxuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHQmID4gc3BhbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0fVxufSIsIi5jLWhlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KHhsKTtcblx0bWFyZ2luOiBzcGFjZSg1KSAwO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcbn1cblxuLmMtaGVhZGluZy0taW5kZW50IHtcblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSGVyb1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWhlcm86IChcblx0J2hlcm8tYmdjb2xvci0xJzpcdFx0XHQgIHBhbGV0dGUocHJpbWFyeSksXG5cdCdoZXJvLWJnY29sb3ItMic6XHRcdFx0ICBwYWxldHRlKHByaW1hcnksIDIpLFxuXHQnY2FwdGlvbi1iZ2NvbG9yJzpcdFx0XHRwYWxldHRlKGRhcmspLFxuXHQnY2FwdGlvbi1jb2xvcic6XHRcdFx0ICBwYWxldHRlKGxpZ2h0KSxcblx0J3JpZ2h0LWJnY29sb3ItcmF0aW8nOlx0NjMlLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtaGVybyB7XG4gIC8vIENvbW1lbnRlZCBvdXQgYmVjYXVzZSB0aGVzZSBicmVhayB0aGUgYWx0ZXJuYXRpdmUgaGVybyBzdHlsaW5nXG4gIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICAvL3otaW5kZXg6IDA7XG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBAaW5jbHVkZSBjb250YWluO1xuICB9XG59XG5cbi5jLWhlcm9fX21haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobGlnaHQpO1xufVxuXG4uYy1oZXJvX19zbGlkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU1LjU1NiU7IC8vIFJhdGlvIHVzZWQgZm9yIG1vYmlsZSBpbWFnZVxuXG4gIEBpbmNsdWRlIG1xKG0sIGwpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTAlOyAvLyBSYXRpbyB1c2VkIGZvciBpbWFnZVxuICB9XG59XG5cbi5jLWhlcm9fX3BpY3R1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgZmlsdGVyOiBibHVyKDVweCk7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuXG4uYy1oZXJvX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1oZXJvX19jYXB0aW9uIHtcbiAgQGluY2x1ZGUgaHlwaGVuYXRlO1xuICBAaW5jbHVkZSBmb250LXNpemUoeHh4bCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogc3BhY2UoMyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE2O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiBtYXAtZ2V0KCRjLWhlcm8sICdjYXB0aW9uLWNvbG9yJyk7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtaGVybywgJ2NhcHRpb24tYmdjb2xvcicpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIHZpZXdwb3J0IGlzIHZlcnkgc21hbGwgc2NhbGUgZm9udC1zaXplIHNtYWxsZXIgdG9vXG4gIEBpbmNsdWRlIG1xKCRtYXg6IHMpIHtcbiAgICBmb250LXNpemU6IDEzdnc7XG4gIH1cblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1heC13aWR0aDogY29sdW1uKDgpO1xuICAgIHBhZGRpbmc6IHNwYWNlKDQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAvLyBGb250LWxvY2sgdG8gc2NhbGUgZm9udC1zaXplIHByb3BvcnRpb25hbGx5XG4gIEBpbmNsdWRlIG1xKG0sIGwpIHtcbiAgICBtYXgtd2lkdGg6IGNvbHVtbig2LCAxMCk7XG4gICAgcGFkZGluZzogMi42dnc7IC8vIE1hZ2ljIHZhbHVlIHNvIHRleHQgc2NhbGVzIG5pY2VseVxuICAgIGZvbnQtc2l6ZTogNC4ydnc7IC8vIE1hZ2ljIHZhbHVlIHNvIHRleHQgc2NhbGVzIG5pY2VseVxuICB9XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4eHh4bCk7XG4gICAgcGFkZGluZy1sZWZ0OiBjb2x1bW4oMC41KTtcbiAgfVxufVxuXG4uYy1oZXJvX19jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHNwYWNlKDEpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogc3BhY2UoNik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHRyYW5zcGFyZW50KTtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cbn1cblxuXG4vLyBCdXR0b24gd2l0aCBhcnJvdyB0aGF0IHNjcm9sbHMgZG93blxuLmMtaGVyb19fc2Nyb2xsIHtcbiAgQGluY2x1ZGUgbXEoJG1heDogbSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBmbGV4KGNlbnRlciBjZW50ZXIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogcGFsZXR0ZShsaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSByb3RhdGUoMC4yNXR1cm4pO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICYgPiBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcztcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBtaXgocGFsZXR0ZShzZWNvbmRhcnkpLCBibGFjaywgOTAlKTtcblxuICAgICYgPiBzdmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBtaXgocGFsZXR0ZShzZWNvbmRhcnkpLCBibGFjaywgOTAlKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcGFsZXR0ZShsaWdodCk7XG4gIH1cbn1cblxuXG4vKlxuICogQWx0ZXJuYXRpdmUgdmVyc2lvbiBvZiB0aGUgaGVybyBlbGVtZW50XG4gKiBDb21tZW50IG91dCB3aGVuIG5lZWRlZFxuICovXG5cbi8vLmMtaGVyby0tYWx0ZXJuYXRpdmUge1xuLy9cbi8vXHQvLyBUb3AgYmFja2dyb3VuZCBjb2xvclxuLy9cdCY6OmJlZm9yZSB7XG4vL1x0XHR0b3A6IDA7XG4vL1x0XHRib3R0b206IDA7XG4vL1x0XHR3aWR0aDogNTB2dztcbi8vXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbi8vXHRcdFx0XHR0byBib3R0b20sXG4vL1x0XHRcdFx0bWFwLWdldCgkYy1oZXJvLCAnaGVyby1iZ2NvbG9yLTEnKSA1MCUsXG4vL1x0XHRcdFx0bWFwLWdldCgkYy1oZXJvLCAnaGVyby1iZ2NvbG9yLTInKSA1MCUsXG4vL1x0XHRcdFx0bWFwLWdldCgkYy1oZXJvLCAnaGVyby1iZ2NvbG9yLTInKSA4MS41JSxcbi8vXHRcdFx0XHR0cmFuc3BhcmVudCA4MS41JSApO1xuLy9cdH1cbi8vXG4vL1x0Ly8gQm90dG9tIFJpZ2h0IGJhY2tncm91bmQgY29sb3Jcbi8vXHQmOjphZnRlciB7XG4vL1x0XHRjb250ZW50OiAnJztcbi8vXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vXHRcdHotaW5kZXg6IC0xO1xuLy9cdFx0dG9wOiAwO1xuLy9cdFx0cmlnaHQ6IDA7XG4vL1x0XHRib3R0b206IDA7XG4vL1x0XHRsZWZ0OiA1MHZ3O1xuLy9cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuLy9cdFx0XHRcdHRvIGJvdHRvbSxcbi8vXHRcdFx0XHRtYXAtZ2V0KCRjLWhlcm8sICdoZXJvLWJnY29sb3ItMScpIG1hcC1nZXQoJGMtaGVybywgJ3JpZ2h0LWJnY29sb3ItcmF0aW8nKSxcbi8vXHRcdFx0XHRtYXAtZ2V0KCRjLWhlcm8sICdoZXJvLWJnY29sb3ItMicpIG1hcC1nZXQoJGMtaGVybywgJ3JpZ2h0LWJnY29sb3ItcmF0aW8nKSk7XG4vL1x0fVxuLy9cbi8vXHQuYy1oZXJvX19jYXB0aW9uIHtcbi8vXHRcdC8vIEJvdHRvbSBMZWZ0IGJhY2tncm91bmQgY29sb3Jcbi8vXHRcdCY6OmJlZm9yZSB7XG4vL1x0XHRcdGNvbnRlbnQ6ICcnO1xuLy9cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4vL1x0XHRcdHotaW5kZXg6IC0xO1xuLy9cdFx0XHR0b3A6IDA7XG4vL1x0XHRcdHJpZ2h0OiAwO1xuLy9cdFx0XHRib3R0b206IDA7XG4vL1x0XHRcdGxlZnQ6IC01MHZ3O1xuLy9cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWhlcm8sICdoZXJvLWJnY29sb3ItMicpO1xuLy9cdFx0fVxuLy9cdH1cbi8vfSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSW5wdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1pbnB1dDogKFxuXHQnY29sb3InOlx0XHRcdFx0cGFsZXR0ZSh0ZXh0KSxcblx0J2JnY29sb3InOlx0XHRcdHBhbGV0dGUobGlnaHQpLFxuXHQnYm9yZGVyJzpcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgbWVkaXVtKSxcblx0J2ZvY3VzJzpcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgZGFyayksXG5cdCdlcnJvcic6XHRcdFx0XHRwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLFxuXHQnYm9yZGVyLXNpemUnOlx0MXB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtaW5wdXQge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAoc3BhY2UoMSkgLSBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyLXNpemUnKSkgc3BhY2UoMik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWlucHV0LCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1pbnB1dCwgJ2JnY29sb3InKTtcblx0Ym9yZGVyOiBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyLXNpemUnKSBzb2xpZCBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyJyk7XG5cdG91dGxpbmU6IG5vbmU7XG5cblx0Lmhhcy1lcnJvciAmIHtcblx0XHRib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggbWFwLWdldCgkYy1pbnB1dCwgJ2Vycm9yJyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjLWlucHV0LCAnZXJyb3InKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCBtYXAtZ2V0KCRjLWlucHV0LCAnZm9jdXMnKTtcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGMtaW5wdXQsICdmb2N1cycpO1xuXHR9XG5cblx0QGF0LXJvb3QgdGV4dGFyZWEjeyZ9IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiBzcGFjZSgyKTtcblx0XHRtaW4taGVpZ2h0OiBzcGFjZSgyMCkgLSBkb3VibGUobWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlci1zaXplJykpO1xuXHRcdGxpbmUtaGVpZ2h0OiBzcGFjZSgzKTtcblx0XHRyZXNpemU6IHZlcnRpY2FsO1xuXHR9XG59XG5cblxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBMYW5ndWFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWxhbmd1YWdlOiAoXG5cdCdidXR0b24tY29sb3InOlx0XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIG1lZGl1bSksXG5cdCdidXR0b24tY29sb3ItbGlnaHQnOlx0XHRwYWxldHRlKGxpZ2h0KSxcblx0J2J1dHRvbi1jb2xvci1ob3Zlcic6XHRcdHBhbGV0dGUoc2Vjb25kYXJ5KSxcblx0J2NvbG9yJzpcdFx0XHRcdFx0XHRcdFx0cGFsZXR0ZSh0ZXh0LDIpLFxuXHQnYmdjb2xvcic6XHRcdFx0XHRcdFx0XHRwYWxldHRlKGxpZ2h0KSxcblx0J2JnY29sb3ItYWx0JzpcdFx0XHQgIFx0ZGFya2VuKHBhbGV0dGUobGlnaHQpLCA1JSksXG5cdCdjb2xvci1ob3Zlcic6XHRcdFx0XHRcdHBhbGV0dGUodGV4dC1vbi1zZWNvbmRhcnkpLFxuXHQnYmdjb2xvci1ob3Zlcic6XHRcdFx0XHRwYWxldHRlKHNlY29uZGFyeSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1sYW5ndWFnZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdidXR0b24tY29sb3InKTtcblxuXHQmLmlzLWxpZ2h0IHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2J1dHRvbi1jb2xvci1saWdodCcpO1xuXHR9XG59XG5cbi5jLWxhbmd1YWdlX19idXR0b24ge1xuXHRAaW5jbHVkZSBmbGV4O1xuXHRAaW5jbHVkZSBmb250KHMpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRib3JkZXI6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXM7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdC5jLWxhbmd1YWdlOmhvdmVyICYge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLWxhbmd1YWdlLCAnYnV0dG9uLWNvbG9yLWhvdmVyJyk7XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2ljb24ge1xuXHRmbGV4OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2xhYmVsIHtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDAuNSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDEwMCU7XG5cdG1pbi13aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0Ym94LXNoYWRvdzogMCAwIDEycHggMXB4IHJnYmEocGFsZXR0ZShkYXJrKSwgMC4xNSk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xuXG5cdC5jLWxhbmd1YWdlOmhvdmVyICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxufVxuXG4uYy1sYW5ndWFnZV9faXRlbSB7XG5cdGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkYy1sYW5ndWFnZSwgJ2JnY29sb3InKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2JnY29sb3ItYWx0Jyk7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSAwIDA7XG5cdH1cblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci1yYWRpdXM6IDAgMCBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0fVxuXG5cdCY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogc3BhY2UoMC41KSBzcGFjZSgxKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2NvbG9yJyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2NvbG9yLWhvdmVyJyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2JnY29sb3ItaG92ZXInKTtcblx0fVxufVxuXG4iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IE5hdlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLW5hdjogKFxuXHQnY29sb3InOiAgXHRcdFx0XHRcdFx0XHQgICAgICBwYWxldHRlKHRleHQpLFxuXHQnY29sb3ItbGluay1kZWNvcmF0aW9uJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIG1lZGl1bSksXG5cdCdjb2xvci1saW5rLWFjdGl2ZSc6XHRcdFx0ICAgIHBhbGV0dGUocHJpbWFyeSksXG5cdCdjb2xvci1hbHQnOlx0XHRcdFx0XHQgICAgICAgIHBhbGV0dGUodGV4dC1vbi1zZWNvbmRhcnkpLFxuXHQnY29sb3ItbGluay1kZWNvcmF0aW9uLWFsdCc6XHRyZ2JhKHBhbGV0dGUobGlnaHQpLCAwLjUpLFxuXHQnbGluay1wYWRkaW5nJzpcdFx0XHQgICAgICBcdFx0NHB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtbmF2IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uYy1uYXZfX2xpc3Qge1xuXHRAaW5jbHVkZSBmbGV4KGZsZXgtZW5kIGNlbnRlcik7XG5cdG1hcmdpbi1sZWZ0OiAzdnc7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLW5hdl9faXRlbSB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBsKXtcblx0XHRmb250LXNpemU6IGNhbGMoMS4zdncgKyAwLjA1cmVtKTtcblx0XHRtYXJnaW4tcmlnaHQ6IDEuM3Z3O1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyLjJ2dztcblx0fVxuXG5cdEBpbmNsdWRlIG1xKCRicC1tYXgpe1xuXHRcdG1hcmdpbi1yaWdodDogNCU7XG5cdH1cbn1cblxuLmMtbmF2X19saW5rIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiBtYXAtZ2V0KCRjLW5hdiwgJ2xpbmstcGFkZGluZycpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1uYXYsICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0LmlzLWhlYWRlci1hbHQgJiB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtbmF2LCAnY29sb3ItYWx0Jyk7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0XHRsZWZ0OiBtYXAtZ2V0KCRjLW5hdiwgJ2xpbmstcGFkZGluZycpO1xuXHRcdGJvdHRvbTogMXB4O1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje2RvdWJsZShtYXAtZ2V0KCRjLW5hdiwgJ2xpbmstcGFkZGluZycpKX0pO1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtbmF2LCAnY29sb3ItbGluay1kZWNvcmF0aW9uJyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcblxuXHRcdC5pcy1oZWFkZXItYWx0ICYge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1uYXYsICdjb2xvci1saW5rLWRlY29yYXRpb24tYWx0Jyk7XG5cdFx0fVxuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG5cdFx0fVxuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1uYXYsICdjb2xvci1saW5rLWFjdGl2ZScpO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtcGFnaW5hdGlvbjogKFxuXHQnY29sb3InOlx0XHRcdFx0XHRwYWxldHRlKHRleHQpLFxuXHQnYWN0aXZlLWNvbG9yJzpcdFx0cGFsZXR0ZShwcmltYXJ5KSxcblx0J2JvcmRlci1jb2xvcic6XHRcdHBhbGV0dGUoYm9yZGVyKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLXBhZ2luYXRpb24ge1xuXHRAaW5jbHVkZSBmbGV4KGlubGluZSBjZW50ZXIpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdib3JkZXItY29sb3InKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuXHRAaW5jbHVkZSBmbGV4KGNlbnRlcik7XG5cblx0Ly8gT24gc21hbGwgc2NyZWVucyBoaWRlIGFsbCBpdGVtcyBidXQgdGhlIGFycm93cywgZmlyc3QgcGFnZSwgbGFzdCBwYWdlIGFuZCBhY3RpdmVcblx0QGluY2x1ZGUgbXEoJG1heDogbSl7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQsXG5cdFx0JjpsYXN0LWNoaWxkLFxuXHRcdCYuaXMtbGFzdC1wYWdlLFxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0fVxuXG5cdFx0Ji5pcy1sYXN0LXBhZ2Uge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiArICYge1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xuXHR9XG59XG5cbi5jLXBhZ2luYXRpb25fX3RleHQsXG4uYy1wYWdpbmF0aW9uX19saW5rLFxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHR7XG5cdEBpbmNsdWRlIGZsZXgoY2VudGVyIGNlbnRlcik7XG5cdG1pbi13aWR0aDogc3BhY2UoNik7XG5cdG1pbi1oZWlnaHQ6IHNwYWNlKDYpO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpO1xuXHRvcGFjaXR5OiAwLjM1O1xufVxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcblx0Y29sb3I6IG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2NvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBzY2FsZS1jb2xvcihtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpLCAkbGlnaHRuZXNzOiAtMzAlKTtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwpO1xuXHR9XG5cblx0LmlzLWFjdGl2ZSA+ICYge1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4IC01cHggbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcblx0dHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuXG5cdCYuaXMtaW5hY3RpdmUge1xuXHRcdGNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2NvbG9yJyksIDAuNCk7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldiB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn0iLCIvKlxuICogUGFnZSB0aXRsZVxuICovXG5cbi5jLXBhZ2UtdGl0bGUge1xuICBAaW5jbHVkZSBjb250YWluO1xuICBAaW5jbHVkZSBoeXBoZW5hdGU7XG4gIHBhZGRpbmctdG9wOiBzcGFjZSgyKTtcbiAgcGFkZGluZy1ib3R0b206IHNwYWNlKDIpO1xuICBjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgcGFkZGluZy10b3A6IHNwYWNlKDYpO1xuICAgIHBhZGRpbmctYm90dG9tOiBzcGFjZSg2KTtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIHdpZHRoOiBjb2x1bW4oNiwgOCk7XG4gIH1cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHdpZHRoOiBjb2x1bW4oOCwgMTIpO1xuICB9XG59XG5cbi5jLXBhZ2UtdGl0bGVfX3ByZWhlYWRpbmcge1xuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgbWFyZ2luLXRvcDogc3BhY2UoLTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDIpO1xuICB9XG59XG5cbi5jLXBhZ2UtdGl0bGVfX2hlYWRpbmcge1xuICBAaW5jbHVkZSBmb250LXNpemUoeHhsKTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmMtcGFnZS10aXRsZS0tb24tZGFyayB7XG4gIGNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcbn0iLCIuYy1wcm9qZWN0b3Ige1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmMtcHJvamVjdG9yX19maWd1cmUge1xuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0Ly9taW4taGVpZ2h0OiA2Ni42N3Z3OyAvLyBkZWZhdWx0IHBob3RvIGFzcGVjdCByYXRpbyAoMy8yKVxuXHR9XG5cblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLmMtcHJvamVjdG9yX19jYXB0aW9uIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHRncmlkLWNvbHVtbjogMTtcblx0Z3JpZC1yb3c6IDI7XG5cdHVzZXItc2VsZWN0OiB0ZXh0O1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCwgMyk7XG59XG5cbi5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMTtcblx0YWxpZ24tc2VsZjogZW5kO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGJsb2NrOyAvLyBOZWVkZWQgZm9yIElFXG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCk7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5cbi5jLXByb2plY3Rvcl9fY29udHJvbCB7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMTtcblx0YWxpZ24tc2VsZjogZW5kO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcblx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgxKTtcbn1cblxuLmMtcHJvamVjdG9yX19pbWcge1xuXHQvLyBtYWtlIHN1cmUgaXQgc3RyZXRjaGVzIHRoZSBjb250YWluZXJcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7IC8vIEZhbGxiYWNrIGZvciBJRSB2aWEgSlMgcG9seWZpbGxcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWF4LWhlaWdodDogNzh2aDsgLy8gTWFrZSBzdXJlIGltYWdlcyBhcmUgdmlzaWJsZSBlbnRpcmVseSBvbiBzbWFsbCBkZXZpY2VzIGluIGxhbmRzY2FwZSlcblx0fVxufSIsIi5jLXNlcnZpY2Vwb2ludCB7XG5cdEBpbmNsdWRlIGZsZXgoaW5saW5lIGZsZXgtc3RhcnQgY2VudGVyIHdyYXApO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgtMik7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9faW1hZ2Uge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgyKTtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0bWF4LXdpZHRoOiAxNzZweDtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiA1NDApIHtcblx0XHR3aWR0aDogOTZweDtcblx0fVxufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG8gMWZyO1xuXHRmbGV4LWdyb3c6IDk5OTk7XG5cdG1pbi13aWR0aDogMTgwcHg7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRlciB7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fYm9keSB7XG5cdGdyaWQtcm93OiAyO1xuXHRtYXJnaW46IHNwYWNlKDEpIDA7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fZm9vdGVyIHtcblx0Z3JpZC1yb3c6IDM7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoYmFzZSk7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQsIDIpO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX3N1YmhlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KHMpO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0LCAzKTtcbn0iLCIuYy1zaXRlbWFwX19pdGVtIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0LCAyKTtcbn1cblxuLmMtc2l0ZW1hcF9fbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSgwLjUpIDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5KTtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufSIsIi8qXG4gKiBTa2lwIExpbmtcbiAqL1xuXG4uYy1za2lwLWxpbmsge1xuICBAaW5jbHVkZSBmb250LXNpemUocyk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTAwdmg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmUtY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB0b3A6IDVweDsgLyogTm93IHRoZSBsaW5rIHdpbGwgYXBwZWFyICovXG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFNsaWRlIGluZGljYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXNsaWRlLWluZGljYXRvcjogKFxuXHQnY29sb3ItZG90JzpcdFx0XHRcdFx0cGFsZXR0ZShsaWdodCksXG5cdCdjb2xvci1kb3QtYWN0aXZlJzpcdFx0cGFsZXR0ZShkYXJrKSxcblx0J2NvbG9yLXJpbmctYWN0aXZlJzpcdHBhbGV0dGUobGlnaHQpLFxuXHQnc2l6ZS1kb3QnOlx0XHRcdFx0XHRcdDhweCxcblx0J3NpemUtZG90LWFjdGl2ZSc6XHRcdDZweCxcblx0J3NpemUtcmluZy1hY3RpdmUnOlx0XHQxMnB4LFxuXHQnc2l6ZS10YXJnZXRib3gnOlx0XHRcdDMwcHgsXG5cdCdpcy1yb3VuZGVkJzpcdFx0XHRcdFx0dHJ1ZSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLXNsaWRlLWluZGljYXRvciB7XG5cdEBpbmNsdWRlIGZsZXgoZmxleC1lbmQgY2VudGVyKTtcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnc2l6ZS10YXJnZXRib3gnKTtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ3NpemUtdGFyZ2V0Ym94Jyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHQvL2JveC1zaGFkb3c6IDAgMCA3cHggMCBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2NvbG9yLXJpbmctYWN0aXZlJyk7XG5cdFx0Ly9AaWYgKG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnaXMtcm91bmRlZCcpID09IHRydWUpIHtcblx0XHQvL1x0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHQvL31cblx0fVxuXG5cdCY6aG92ZXI6bm90KC5pcy1hY3RpdmUpLFxuXHQmOmZvY3VzOm5vdCguaXMtYWN0aXZlKSB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0XHRAaWYgKG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnaXMtcm91bmRlZCcpID09IHRydWUpIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdCRvZmZzZXQ6IGNhbGMoKCN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdzaXplLXRhcmdldGJveCcpfSAtICN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdzaXplLWRvdCcpfSkgLyAyKTtcblx0XHR0b3A6ICRvZmZzZXQ7XG5cdFx0cmlnaHQ6ICRvZmZzZXQ7XG5cdFx0Ym90dG9tOiAkb2Zmc2V0O1xuXHRcdGxlZnQ6ICRvZmZzZXQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdjb2xvci1kb3QnKTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdCRvZmZzZXQ6IGNhbGMoKCN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdzaXplLXRhcmdldGJveCcpfSAtICN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdzaXplLXJpbmctYWN0aXZlJyl9KSAvIDIpO1xuXHRcdHRvcDogJG9mZnNldDtcblx0XHRyaWdodDogJG9mZnNldDtcblx0XHRib3R0b206ICRvZmZzZXQ7XG5cdFx0bGVmdDogJG9mZnNldDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2NvbG9yLXJpbmctYWN0aXZlJyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdjb2xvci1kb3QtYWN0aXZlJyk7XG5cdFx0XHRib3JkZXItY29sb3I6IHJnYmEobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdjb2xvci1yaW5nLWFjdGl2ZScpLCAwLjkpO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZShzdHJpcC11bml0KG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnc2l6ZS1kb3QtYWN0aXZlJykpIC8gc3RyaXAtdW5pdChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ3NpemUtZG90JykpKTtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAwLjk7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdC8vYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShzZWNvbmRhcnkpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggYmxhY2ssIDAgMCAxMHB4IDFweCB3aGl0ZTtcblx0XHR9XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFN1Ym5hdlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXN1Ym5hdjogKFxuXHQnYmdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCksXG5cdCdib3JkZXItY29sb3InOiBcdFx0cGFsZXR0ZShib3JkZXIpLFxuXHQnY29sb3InOlx0XHRcdFx0XHRcdHBhbGV0dGUodGV4dCwgMiksXG5cdCdob3Zlci1jb2xvcic6XHRcdFx0cGFsZXR0ZSh0ZXh0KSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdFx0cGFsZXR0ZShwcmltYXJ5KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLXN1Ym5hdiB7XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZzogMXB4ICRzaXRlLWd1dHRlci13aWR0aCBzcGFjZSgxMCkgJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2JnY29sb3InKTtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNSk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtLCBsKXtcblx0XHQubC1zcGxpdC0tYnJlYWtvdXQtb24tbSAmIHtcblx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDQpO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDYpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCA2KTtcblx0fVxufVxuXG4uYy1zdWJuYXZfX2xpc3Qge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLmMtc3VibmF2X19pdGVtLS1iYWNrIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMyk7XG59XG5cbi5jLXN1Ym5hdl9fbGluayB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZzogc3BhY2UoMSkgMDtcblx0Y29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnY29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGNvbG9yIDI1MG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2hvdmVyLWNvbG9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG5cblx0LmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdhY3RpdmUtY29sb3InKTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2JvcmRlci1jb2xvcicpO1xuXG5cdFx0LmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdhY3RpdmUtY29sb3InKTtcblx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHRcdH1cblx0fVxufVxuXG4uYy1zdWJuYXZfX2ljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2JvcmRlci1jb2xvcicpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoI3tzcGFjZSgtMSl9KTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBjb2xvcjtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cblx0LmMtc3VibmF2X19saW5rOmhvdmVyICYge1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdob3Zlci1jb2xvcicpO1xuXHR9XG5cblx0LmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBUZXh0IEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXRleHRidXR0b246IChcblx0J2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcblx0J2NvbG9yLWhvdmVyJzpcdFx0c2NhbGUtY29sb3IocGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSwgJGxpZ2h0bmVzczogLTQwJSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHlcbiAqIDIuIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxpbmdcbiAqL1xuXG4uYy10ZXh0YnV0dG9uIHtcblx0QGluY2x1ZGUgZmxleChpbmxpbmUgY2VudGVyKTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtdGV4dGJ1dHRvbiwgY29sb3IpOyAvKiAxICovXG5cdHBhZGRpbmc6IDA7IC8qIDIgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cblx0Ym9yZGVyOiBub25lOyAvKiAyICovXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXRleHRidXR0b24sIGNvbG9yLWhvdmVyKTtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59XG5cbi5jLXRleHRidXR0b25fX3RleHQge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG59XG5cbi5jLXRleHRidXR0b25fX2ljb24ge1xuXHRkaXNwbGF5OiBub25lOyAvLyBCeSBkZWZhdWx0IGljb24gaXMgaGlkZGVuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDEpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy10ZXh0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpICYge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuXHR9XG5cblx0LmMtdGV4dGJ1dHRvbi0taWNvbiAme1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0fVxufVxuXG4vLyBDaGFuZ2UgZGlyZWN0aW9uIG9mIGljb24gKGFycm93KVxuLmMtdGV4dGJ1dHRvbi0taXMtcmV2ZXJzZWQge1xuXHQuYy10ZXh0YnV0dG9uX190ZXh0IHsgb3JkZXI6IDI7XHR9XG5cdC5jLXRleHRidXR0b25fX2ljb24ge1xuXHRcdG9yZGVyOiAxO1xuXHRcdHRvcDogMXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG5cdH1cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0YnV0dG9uX19pY29uIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKSB0cmFuc2xhdGVYKDNweCk7XG5cdH1cbn1cblxuLmMtdGV4dGJ1dHRvbi0tb24tZGFyayB7XG5cdGNvbG9yOiBwYWxldHRlKGxpZ2h0KSAhaW1wb3J0YW50O1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogVHJhZGVtYXJrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tdHJhZGVtYXJrOiAoXG5cdCdsb2dvLXdpZHRoJzpcdFx0MTAwcHhcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYy10cmFkZW1hcmsge1xuXHRAaW5jbHVkZSBmbGV4KGlubGluZSBjZW50ZXIpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIDtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShsaWdodCk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59XG5cbi5jLXRyYWRlbWFya19fdGV4dCB7XG5cdG1hcmdpbi1yaWdodDogN3B4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYy10cmFkZW1hcmtfX2ljb24ge1xuXHR3aWR0aDogbWFwLWdldCgkby10cmFkZW1hcmssICdsb2dvLXdpZHRoJyk7XG5cdG1heC1oZWlnaHQ6IDMycHg7XG5cdG9wYWNpdHk6IC41O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zO1xuXG5cdC5jLXRyYWRlbWFyazpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59IiwiLmMtdmlkZW97XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDUzLjYlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKCduZXV0cmFsJyk7XG59XG5cbi5jLXZpZGVvX19pZnJhbWV7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogT3JnYW5pc21zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQGltcG9ydCBcIm9yZ2FuaXNtcy5hY2NvcmRpb25cIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuYmxvY2tcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuYm9keVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jYWxsb3V0QmFyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNhcmQtZ3JpZFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jb250YWN0XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNvb2tpZUJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jb29raWVPdmVybGF5XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmZvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5mb3JtXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmhlYWRlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5pbnRyb1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5sb2dvc1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5tYXBcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMubmV3c1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5vdmVybGF5TWVudVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5xdW90ZVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5yZWZlcmVuY2VzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnN1YmZvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50YWJzbGlkZXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudGVhbVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50b3AtYmFyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnVzcFwiO1xuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1hY2NvcmRpb246IChcblx0J2JvcmRlci13aWR0aCc6XHRcdFx0XHRcdDFweCxcblx0J2JvcmRlci1jb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUoYm9yZGVyKSxcblx0J2hlYWRlci1jb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUoZGFyayksXG5cdCdob3Zlci1jb2xvcic6IFx0XHRcdFx0XHRwYWxldHRlKHByaW1hcnkpLFxuXHQnaWNvbi1jb2xvcic6XHRcdFx0XHRcdFx0cGFsZXR0ZShkYXJrKSxcblx0J2ljb24tYm9yZGVyLXNpemUnOiBcdFx0MnB4LFxuXHQnaWNvbi1zaXplJzpcdFx0XHRcdFx0XHQyMHB4LFxuXHQnaWNvbi1zdHJpcGUtaGVpZ2h0JzpcdFx0MnB4LFxuXHQnaWNvbi1zdHJpcGUtd2lkdGgnOiAgXHQxMHB4LFxuXHQndHJhbnNpdGlvbi1kdXJhdGlvbic6XHQ0MDBtcyxcblx0J3RyYW5zaXRpb24tZWFzaW5nJzpcdFx0Y3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tYWNjb3JkaW9uIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuLm8tYWNjb3JkaW9uX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnYm9yZGVyLXdpZHRoJyk7XG5cdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdib3JkZXItY29sb3InKTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblxuXHQmOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXHR9XG59XG5cbi5vLWFjY29yZGlvbl9fdGl0bGUge1xuXHRAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQgY2VudGVyKTtcblx0cGFkZGluZy10b3A6IHNwYWNlKDIpO1xuXHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgzKTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDIpO1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDYpO1xuXHRjb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdoZWFkZXItY29sb3InKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cblxuXHQvLyBPbmx5IHNldCBob3ZlciBjb2xvciB3aGVuIG5vdCBhY3RpdmVcblx0Lm8tYWNjb3JkaW9uX19pdGVtOm5vdCguaXMtYWN0aXZlKSAmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdob3Zlci1jb2xvcicpO1xuXHR9XG59XG5cbi5vLWFjY29yZGlvbl9faWNvbiB7XG5cdGZsZXg6IDAgMCBhdXRvO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogYXV0bztcblx0bGVmdDogKHNwYWNlKDMpIC0gaGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSkpO1xuXHR3aWR0aDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKTtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc2l6ZScpO1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Ym9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdGJvcmRlci13aWR0aDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLWJvcmRlci1zaXplJyk7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0bGVmdDogY2FsYygje2NvbHVtbigwLjUsIDgpfSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKXtcblx0XHRsZWZ0OiBjYWxjKCN7Y29sdW1uKDAuNSwgMTIpfSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSl9KTtcblx0fVxuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtaGVpZ2h0Jyk7XG5cdFx0d2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtd2lkdGgnKTtcblx0XHRsZWZ0OiBoYWx2ZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc2l6ZScpIC0gbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXN0cmlwZS13aWR0aCcpIC0gKGRvdWJsZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tYm9yZGVyLXNpemUnKSkpKTtcblx0XHR0b3A6IGNhbGMoNTAlIC0gI3toYWx2ZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tYm9yZGVyLXNpemUnKSl9KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zLCBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ3RyYW5zaXRpb24tZHVyYXRpb24nKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSwgbWFwLWdldCgkby1hY2NvcmRpb24sICd0cmFuc2l0aW9uLWVhc2luZycpO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHQuby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlICYge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCkgcm90YXRlKDAuMjV0dXJuKTtcblx0XHR9XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMC4yNXR1cm4pO1xuXG5cdFx0Lm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xuXHRcdH1cblx0fVxufVxuXG4uby1hY2NvcmRpb25fX2hlYWRlciB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHR9XG59XG5cbi8qIEhpZGRlbiBieSBkZWZhdWx0Ki9cbi5vLWFjY29yZGlvbl9fY29udGVudCB7XG5cdEBpbmNsdWRlIG93bC1jaGlsZHJlbjtcblx0b3BhY2l0eTogMDtcblx0bWF4LWhlaWdodDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZy1sZWZ0OiBzcGFjZSg2KTtcblx0cGFkZGluZy1yaWdodDogc3BhY2UoMyk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuXHQvLyBDbG9zZSBhbmltYXRpb25cblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSw4KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKXtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0fVxuXG5cdC5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRtYXgtaGVpZ2h0OiA0MDBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG5cdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdC8vIE9wZW4gYW5pbWF0aW9uICh3aXRoIHRoZSBzYW1lIGRlbGF5IGFzIGNsb3NlIGR1cmF0aW9uKVxuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ3RyYW5zaXRpb24tZHVyYXRpb24nKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMC4ycztcblx0fVxufSIsIi5vLWJsb2NrIHtcblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHQnbWFyZ2luLWJvdHRvbScgMVxuXHQpO1xuXG5cdC8vIFRvcCBtYXJnaW4gb25seSBvbiBjb25zZWN1dGl2ZSBibG9ja3Ncblx0JiArICYge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG5cdH1cbn0iLCIgLypcbiAqIFdyYXBwZXIgb2YgdGhlIG1haW4gYm9keVxuICogKGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGZvb3RlcilcbiAqL1xuXG4uby1ib2R5IHtcblx0QGluY2x1ZGUgeih6LWJvZHkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDYWxsb3V0IGJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLWNhbGxvdXQtYmFyOiAoXG5cdCdjb2xvcic6ICBcdFx0cGFsZXR0ZSh0ZXh0KSxcblx0J2JnY29sb3InOiAgXHRwYWxldHRlKG5ldXRyYWwpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tY2FsbG91dC1iYXIge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWNhbGxvdXQtYmFyLCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1jYWxsb3V0LWJhciwgJ2JnY29sb3InKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1jYWxsb3V0LWJhcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG4gIEBpbmNsdWRlIHZzcGFjaW5nKFxuICAgICdwYWRkaW5nLXRvcCcgMSxcbiAgICAncGFkZGluZy1ib3R0b20nIDFcbiAgKTtcblxuXHQvLyBWZXJ0aWNhbCBzcGFjaW5nIGZvciBlbGVtZW50cyB0aGF0IHByb2NlZWQgYW5vdGhlciBlbGVtZW50XG5cdCYgPiAqICsgKiB7XG5cdFx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAwLjVcblx0XHQpO1xuXHR9XG59XG5cbi5vLWNhbGxvdXQtYmFyX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbn0iLCIvKlxuICogQ2FyZCBncmlkXG4gKlxuICovXG5cbiRvLWNhcmQtZ3JpZC1pdGVtcy1tOiAgIDI7IC8vIE51bWJlciBvZiBjYXJkcyB3aGVuIGluIG1lZGl1bSB2aWV3cG9ydFxuJG8tY2FyZC1ncmlkLWl0ZW1zLWw6ICAgMzsgLy8gTnVtYmVyIG9mIGNhcmRzIHdoZW4gaW4gbGFyZ2Ugdmlld3BvcnRcbiRvLWNhcmQtZ3JpZC1tLWJwOiAgICAgIDYwMDsgLy8gQ3VzdG9tIGJyZWFrcG9pbnQgd2hlbiBzd2l0Y2hpbmcgZnJvbSBzdGFja2VkIGNhcmRzIHRvIHJvd3NcbiRvLWNhcmQtZ3JpZC1zcGFjaW5nOiAgIHNwYWNlKDQpO1xuXG4kby1jYXJkLWdyaWQtc2l6ZS1tOiAgICBwZXJjZW50YWdlKDEvJG8tY2FyZC1ncmlkLWl0ZW1zLW0pO1xuJG8tY2FyZC1ncmlkLXNpemUtbDogICAgcGVyY2VudGFnZSgxLyRvLWNhcmQtZ3JpZC1pdGVtcy1sKTtcblxuXG5cbi5vLWNhcmQtZ3JpZF9fbWFpbiB7XG4gIEBpbmNsdWRlIG1xKCRvLWNhcmQtZ3JpZC1tLWJwKSB7XG4gICAgQGluY2x1ZGUgZmxleCh3cmFwKTtcbiAgfVxufVxuXG4uby1jYXJkLWdyaWRfX2l0ZW0ge1xuXG4gIC8vIENyZWF0ZSBuaWNlIHZlcnRpY2FsIHNwYWNpbmcgb24gbW9iaWxlXG4gIEBpbmNsdWRlIG1xKCRtYXg6ICRvLWNhcmQtZ3JpZC1tLWJwKXtcbiAgICAmICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBzcGFjZSg0KTtcbiAgICB9XG4gIH1cblxuICAvLyBTaW5nbGUgY29sdW1uIChzdGFja2VkKVxuICBAaW5jbHVkZSBtcSgkbWF4OiAkby1jYXJkLWdyaWQtbS1icCkge1xuICAgIG1heC13aWR0aDogNDQ0cHg7IC8vIGNvbnN0cmFpbiB0aGUgd2lkdGggb2YgdGhlIGNhcmQgaW5zaWRlXG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvLyBUd28gY29sdW1uc1xuICBAaW5jbHVkZSBtcSgkby1jYXJkLWdyaWQtbS1icCwgJG1heDogbCkge1xuICAgIGZsZXg6IDA7XG4gICAgLy8gV2UgY2FsY3VsYXRlIHRoZSBzaXplIG9mIHRoZSBpdGVtIGJhc2VkIG9uIHRoZSBzZXR0aW5ncyBhbmQgcHV0IGl0IGluIGEgbG9uZ2hhbmQgZmxleCB2YWx1ZSBiZWNhdXNlIG9mIElFIHN1cHBvcnRcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCN7JG8tY2FyZC1ncmlkLXNpemUtbX0gLSAoKCN7JG8tY2FyZC1ncmlkLWl0ZW1zLW19IC0gMSkgLyAjeyRvLWNhcmQtZ3JpZC1pdGVtcy1tfSAqICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9KSk7XG4gICAgbWFyZ2luLWxlZnQ6ICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9O1xuXG4gICAgJjpudGgtY2hpbGQoI3skby1jYXJkLWdyaWQtaXRlbXMtbX1uICsgMSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQobiArICN7JG8tY2FyZC1ncmlkLWl0ZW1zLW0gKyAxfSkge1xuICAgICAgbWFyZ2luLXRvcDogI3skby1jYXJkLWdyaWQtc3BhY2luZ307XG4gICAgfVxuICB9XG5cbiAgLy8gRm91ciBjb2x1bW5zXG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBmbGV4OiAwO1xuICAgIC8vIFdlIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaXRlbSBiYXNlZCBvbiB0aGUgc2V0dGluZ3MgYW5kIHB1dCBpdCBpbiBhIGxvbmdoYW5kIGZsZXggdmFsdWUgYmVjYXVzZSBvZiBJRSBzdXBwb3J0XG4gICAgZmxleC1iYXNpczogY2FsYygjeyRvLWNhcmQtZ3JpZC1zaXplLWx9IC0gKCgjeyRvLWNhcmQtZ3JpZC1pdGVtcy1sfSAtIDEpIC8gI3skby1jYXJkLWdyaWQtaXRlbXMtbH0gKiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfSkpO1xuICAgIG1hcmdpbi1sZWZ0OiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfTtcblxuICAgICY6bnRoLWNoaWxkKCN7JG8tY2FyZC1ncmlkLWl0ZW1zLWx9biArIDEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG4gKyAjeyRvLWNhcmQtZ3JpZC1pdGVtcy1sICsgMX0pIHtcbiAgICAgIG1hcmdpbi10b3A6ICRvLWNhcmQtZ3JpZC1zcGFjaW5nO1xuICAgIH1cbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ29udGFjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLWNvbnRhY3Q6IChcblx0J2JnY29sb3ItZm9ybSc6XHRcdHBhbGV0dGUobmV1dHJhbCksXG5cdCdicC1sYXJnZSc6XHRcdFx0XHQxMjIwXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm8tY29udGFjdCB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLWNvbnRhY3QsICdicC1sYXJnZScpKSB7XG5cdFx0QGluY2x1ZGUgZmxleCgpO1xuXHR9XG59XG5cbi5vLWNvbnRhY3RfX2luZm8ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0cGFkZGluZzogc3BhY2UoNikgY29sdW1uKDEsIDgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdFx0cGFkZGluZy1yaWdodDogc3BhY2UoMyk7XG5cdH1cbn1cblxuLm8tY29udGFjdF9fZm9ybSB7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tY29udGFjdCwgJ2JnY29sb3ItZm9ybScpO1xuXG5cdC8vIFsxXSBCcmVhayBvdXQgb24gbW9iaWxlXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW4tdG9wOiBkb3VibGUoJHNpdGUtZ3V0dGVyLXdpZHRoKTtcblx0XHRwYWRkaW5nOiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cdFx0d2lkdGg6IDEwMHZ3OyAvLyBbMV1cblx0XHRtYXJnaW4tbGVmdDogNTAlOyAvLyBbMV1cblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IC8vIFsxXVxuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHBhZGRpbmc6IHNwYWNlKDYpIGNvbHVtbigxLDgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsMTIpO1xuXHR9XG59XG5cbi5vLWNvbnRhY3RfX2hlYWRlciB7XG5cdEBpbmNsdWRlIGh5cGhlbmF0ZTtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNCk7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQpO1xufVxuXG4uby1jb250YWN0X19jYXJkIHtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNSk7XG59XG5cbi5vLWNvbnRhY3RfX2FkZHJlc3Mge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgzKTtcbn1cblxuLm8tY29udGFjdF9fbnVtYmVycyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xufSIsIi5vLWNvb2tpZS1iYXIge1xuXHRAaW5jbHVkZSB6KHotY29va2llKTtcblx0ZGlzcGxheTogbm9uZTsgLy8gaGlkZSBieSBkZWZhdWx0XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRoZWlnaHQ6ICRzaXRlLWNvb2tpZUJhci1oZWlnaHQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGRhcmspO1xuXHRvcGFjaXR5OiAxO1xuXHRib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjZzO1xuXHR0cmFuc2Zvcm06IG5vbmU7XG5cblx0Ly8gV2hlbiBjb29raWVzIGFyZSBub3QgeWV0IGFjY2VwdGVkLCBzaG93IGNvb2tpZWJhclxuXHQmOm5vdCguaXMtYWNjZXB0ZWQpIHtcblx0XHRAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQgY2VudGVyKTtcblx0fVxuXG5cdCYuaXMtdHJhbnNpdGlvbmluZy1vdXQge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cdH1cbn1cblxuLm8tY29va2llLWJhcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGZsZXgoY2VudGVyIGNlbnRlcik7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NCkge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0fVxufVxuXG4uby1jb29raWUtYmFyX190ZXh0IHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0LW9uLWRhcmssIDMpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdH1cbn1cblxuLm8tY29va2llLWJhcl9fbGluayB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiByZ2JhKHBhbGV0dGUodGV4dCwgMyksIDAuNzUpO1xuXHR9XG59XG5cbi5vLWNvb2tpZS1iYXJfX2J1dHRvbiB7XG5cdGZsZXg6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSg1KTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXHR9XG59IiwiLm8tY29va2llLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIHooei1jb29raWUpO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgQGluY2x1ZGUgZmxleChjZW50ZXIgY2VudGVyKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHBhbGV0dGUoZGFyayksIDAuNik7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcblxuICAmLmlzLWFjY2VwdGVke1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLmZhZGUtb3V0IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X19tb2RhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogOTIlO1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBwYWRkaW5nOiA2MHB4IDEyMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobGlnaHQpO1xufVxuXG4uby1jb29raWUtb3ZlcmxheV9fY29udGFpbmVye1xuICAmLmlzLWhpZGRlbntcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgY29sb3I6IHBhbGV0dGUodGV4dCk7XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X190ZXh0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDMpO1xufVxuXG4uby1jb29raWUtb3ZlcmxheV9fbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICY6aG92ZXJ7XG4gICAgY29sb3I6IHJnYmEocGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSwgMC43NSk7XG4gIH1cbn1cblxuLm8tY29va2llLW92ZXJsYXlfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgcGFkZGluZzogMTNweCAyNXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cztcblxuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcblxuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLCA4JSlcbiAgfVxufVxuXG4uby1jb29raWUtb3ZlcmxheV9fdHlwZXMsIC5vLWNvb2tpZS1vdmVybGF5X19zZXR0aW5nc3tcbiAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgJiA+ICogKyAqe1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cblxuLm8tY29va2llLW92ZXJsYXlfX3NldHRpbmdze1xuICBtYXJnaW4tYm90dG9tOiAwO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tZm9vdGVyOiAoXG5cdCdjb2xvcic6ICBcdFx0cGFsZXR0ZSh0ZXh0LW9uLXByaW1hcnkpLFxuXHQnYmdjb2xvcic6ICBcdHBhbGV0dGUocHJpbWFyeSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1mb290ZXIge1xuXHRAaW5jbHVkZSB6KHotZm9vdGVyKTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tZm9vdGVyLCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1mb290ZXIsICdiZ2NvbG9yJyk7XG59XG5cbi5vLWZvb3Rlcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG4gIEBpbmNsdWRlIHZzcGFjaW5nKFxuICAgICdwYWRkaW5nLXRvcCcgMC41LFxuICAgICdwYWRkaW5nLWJvdHRvbScgMC41XG4gICk7XG59XG5cbi5vLWZvb3Rlcl9fY29sdW1ucyB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaW5jbHVkZSBmbGV4KCk7XG5cdH1cbn1cblxuLm8tZm9vdGVyX19icmFuZCB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0J21hcmdpbi1ib3R0b20nIDAuMzNcblx0KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGxpbmVhcjtcblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cbn1cblxuLm8tZm9vdGVyX19sb2dvIHtcblx0d2lkdGg6IDE1MnB4O1xufVxuXG5cbi8vIExlZnQgY29sdW1uXG4uby1mb290ZXJfX2luZm8ge1xuXHRAaW5jbHVkZSBvd2wtY2hpbGRyZW4oc3BhY2UoNCkpO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDQsIDEwKTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig1LCAxMik7XG5cdH1cbn1cblxuLy8gUmlnaHQgY29sdW1uXG4uby1mb290ZXJfX25hdiB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHQnbWFyZ2luLXRvcCcgMC41XG5cdCk7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsIDEwKTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdH1cbn1cblxuLm8tZm9vdGVyX19saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xufVxuXG4uby1mb290ZXJfX2xpbmsge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tZm9vdGVyLCAnY29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0bGVmdDogLTEwcHg7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNTAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkby1mb290ZXIsICdjb2xvcicpLCAwLjEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDApIHNrZXcoMGRlZyk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKSBza2V3KC0zN2RlZyk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufVxuXG4uby1mb290ZXJfX3NvY2lhbCB7XG5cdEBpbmNsdWRlIGZsZXgoKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiBzcGFjZSg0KSAwIDA7XG59XG5cbi5vLWZvb3Rlcl9fY2hhbm5lbCB7XG5cdEBpbmNsdWRlIGZsZXgoY2VudGVyIGNlbnRlcik7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG59XG5cbi5vLWZvb3Rlcl9faWNvbiB7XG5cdGZsZXg6IGF1dG87XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcblxuXHQuZmFjZWJvb2sgJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvZmFjZWJvb2suc3ZnXCIpO1xuXHRcdGhlaWdodDogMjFweDtcblx0fVxuXHQuaW5zdGFncmFtICYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2luc3RhZ3JhbS5zdmdcIik7XG5cdH1cblx0LnR3aXR0ZXIgJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvdHdpdHRlci5zdmdcIik7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHR9XG5cdC5saW5rZWRpbiAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9saW5rZWRpbi5zdmdcIik7XG5cdFx0aGVpZ2h0OiAxOHB4O1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufSIsIi5vLWZvcm0ge31cblxuLm8tZm9ybV9faGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNSk7XG59XG5cbi5vLWZvcm1fX2JvZHkge31cblxuLm8tZm9ybV9fZm9vdGVyIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG59XG5cbi5vLWZvcm1fX3JvdyB7XG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHR9XG59XG5cbi8vIEEgaGlkZGVuIHdyYXBwZXIgZm9yIGhvbmV5IHBvdCBzdHVmZlxuLm8tZm9ybV9fcG90IHtcblx0b3BhY2l0eTogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogMDtcblx0d2lkdGg6IDA7XG5cdHotaW5kZXg6IC0xO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8taGVhZGVyOiAoXG5cdCdiZ2NvbG9yLWFsdGVybmF0aXZlJzogIHBhbGV0dGUocHJpbWFyeSksXG5cdCd0b2dnbGUtY29sb3InOlx0XHRcdFx0ICBwYWxldHRlKGRhcmspLFxuXHQnbG9nby13aWR0aCc6XHRcdFx0XHRcdFx0MTQ3cHhcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLWhlYWRlciB7XG5cdEBpbmNsdWRlIHooei1oZWFkZXIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IHNwYWNlKDQpIDA7XG5cblx0Ji5pcy1oZWFkZXItYWx0IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWhlYWRlciwgJ2JnY29sb3ItYWx0ZXJuYXRpdmUnKTtcblx0fVxuXG5cdCYuaXMtc3RpY2t5IHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR6LWluZGV4OiA1MDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xuXHRcdGJveC1zaGFkb3c6IDAgLTVweCAzMHB4IGJsYWNrO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzLCAzMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcblxuXHRcdEBpbmNsdWRlIG1xKCRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmlzLXN0aWNreS1oZWFkZXItdmlzaWJsZSAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcblx0XHR9XG5cdH1cbn1cblxuLm8taGVhZGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgZmxleChjZW50ZXIgc3BhY2UtYmV0d2Vlbik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm8taGVhZGVyX19uYXYge1xuXHR3aWR0aDogMTAwJTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiAkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uby1oZWFkZXJfX2xhbmd1YWdlIHtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0fVxufVxuXG4uby1oZWFkZXJfX2xvZ28ge1xuXHRmbGV4OiBub25lO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufVxuXG4uby1oZWFkZXJfX2ltZyB7XG5cdG1heC1oZWlnaHQ6IHNwYWNlKDYpO1xuXHR3aWR0aDogbWFwLWdldCgkby1oZWFkZXIsICdsb2dvLXdpZHRoJyk7XG59XG5cbi5vLWhlYWRlcl9fdG9nZ2xlIHtcblx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEludHJvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8taW50cm86IChcblx0J2JnY29sb3InOlx0XHRcdFx0XHRcdFx0cGFsZXR0ZShwcmltYXJ5KSxcblx0J2JnY29sb3ItYWx0JzpcdFx0XHRcdFx0cGFsZXR0ZShwcmltYXJ5LCAyKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLWludHJvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAwO1xuXG5cdCYuaXMtaW50cm8tYWx0IHtcblx0XHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdFx0J21hcmdpbi1ib3R0b20nIDFcblx0XHQpO1xuXHR9XG59XG5cbi5vLWludHJvX19oZWFkZXIge1xuXHQuaXMtaW50cm8tYWx0ICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8taW50cm8sICdiZ2NvbG9yLWFsdCcpO1xuXHR9XG59XG5cbi5vLWludHJvX19ib2R5IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdtYXJnaW4tYm90dG9tJyAxXG5cdCk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdC5pcy1pbnRyby1hbHQgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWludHJvLCAnYmdjb2xvci1hbHQnKTtcblx0XHR9XG5cdH1cbn1cblxuLm8taW50cm9fX21haW4ge1xuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0Lm8taW50cm8tLW1vYmlsZS1icmVhay1vdXQgJiB7XG5cdFx0XHR3aWR0aDogMTAwdnc7XG5cdFx0XHRtYXJnaW4tbGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAwO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWludHJvLCAnYmdjb2xvcicpO1xuXHRcdH1cblx0fVxufSIsIiRvLWxvZ29zLXNwYWNpbmctZHluYW1pYzogMi4zODJ2dztcbiRvLWxvZ29zLXNwYWNpbmctZml4ZWQ6IFx0c3BhY2UoNCk7XG5cbi5vLWxvZ29zIHt9XG5cbi5vLWxvZ29zX19saXN0IHtcblx0QGluY2x1ZGUgZmxleCh3cmFwKTtcblx0bWFyZ2luLWxlZnQ6IDA7IC8vIHJlc2V0XG5cdG1hcmdpbjogLSN7JG8tbG9nb3Mtc3BhY2luZy1keW5hbWljfTtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG5cdEBpbmNsdWRlIG1xKCRicC1tYXgpe1xuXHRcdG1hcmdpbjogLSN7JG8tbG9nb3Mtc3BhY2luZy1maXhlZH07XG5cdH1cbn1cblxuLm8tbG9nb3NfX2l0ZW0ge1xuXHRmbGV4OiAwIDEgMTAwJTtcblx0bWFyZ2luOiAkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWM7XG5cblx0QGluY2x1ZGUgbXEocyl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS8yKX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWMpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS8zKX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWMpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS80KX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWMpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGJwLW1heCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS80KX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWZpeGVkKX0pO1xuXHRcdG1hcmdpbjogJG8tbG9nb3Mtc3BhY2luZy1maXhlZDtcblx0fVxufVxuXG4uby1sb2dvc19fbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uby1sb2dvc19faW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlOyAvLyBBc3BlY3QgcmF0aW9cblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59IiwiLm8tbWFwIHtcblxuXHQvLyBSZXNldCBzb21lIHN0eWxpbmcgZm9yIGdvb2dsZSBtYXBzXG5cdGEge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IE5ld3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyRvLW5ld3M6IChcbi8vXHQnaG92ZXItYmdjb2xvcic6ICBcdFx0cGFsZXR0ZShuZXV0cmFsKSxcbi8vXHQndGV4dC1jb2xvcic6XHRcdFx0ICAgIHBhbGV0dGUodGV4dC1vbi1wcmltYXJ5KSxcbi8vKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tbmV3cyB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG59XG5cbi5vLW5ld3NfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcbn1cblxuLm8tbmV3c19fYXJ0aWNsZSB7XG5cdEBpbmNsdWRlIG93bChzcGFjZSg0KSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm8tbmV3c19fbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyBsaW5lYXI7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUoYm9yZGVyKTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCk7XG5cdH1cbn1cblxuLm8tbmV3c19fYm9keSB7XG5cdGZsZXgtZ3JvdzogMTtcblx0cGFkZGluZzogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRvcmRlcjogMTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsOCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cbn1cblxuLm8tbmV3c19faW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogNTUlO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRmbGV4OiBub25lO1xuXHRcdG9yZGVyOiAyO1xuXHRcdHdpZHRoOiBjb2x1bW4oMiw4KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogY29sdW1uKDIsOCk7XG5cdH1cbn1cblxuLm8tbmV3c19fYmctaW1hZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdHRvcDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRyaWdodDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUoJHNpdGUtZ3V0dGVyLXdpZHRoKX0pO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JHNpdGUtZ3V0dGVyLXdpZHRofSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHRvcDogc3BhY2UoMSk7XG5cdFx0cmlnaHQ6IHNwYWNlKDEpO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdH1cbn1cblxuXG4vLyBCb2R5IGNvbnRlbnQ6XG4uby1uZXdzX19pbnRybyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG4uby1uZXdzX190aW1lc3RhbXAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQsIDMpO1xufVxuXG4uby1uZXdzX19hY3Rpb24ge1xuXHRAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQgY2VudGVyKTtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xufVxuXG4uby1uZXdzX19yZWFkbW9yZSB7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG59XG5cbi5vLW5ld3NfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBPdmVybGF5IG1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1vdmVybGF5LW1lbnU6IChcbiAgJ2NvbG9yJzogICAgICAgICAgICBwYWxldHRlKHRleHQtb24tcHJpbWFyeSksXG4gICdiZ2NvbG9yJzogICAgICAgICAgcGFsZXR0ZShwcmltYXJ5KSxcbiAgJ3NoYWRlci1jb2xvcic6ICAgICByZ2JhKDAsIDAsIDAsIDAuNiksXG4gICdtb3ZlLXNwZWVkJzogICAgICAgNDAwbXMsXG4gICdvcGFjaXR5LXNwZWVkJzogICAgMjAwbXMsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1vdmVybGF5LW1lbnUge1xuICBAaW5jbHVkZSB6KHotb3ZlcmxheS1tZW51KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnYmdjb2xvcicpO1xuXG4gIC8vIFdoZW4gaXQgZGlzYXBwZWFycyBvdXQgb2Ygdmlld1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMHZ3KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKSwgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdvcGFjaXR5LXNwZWVkJyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzLCBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAuMTUsIDAuMSwgMSksIGxpbmVhcjtcblxuICAvLyBXaGVuIGl0IGNvbWVzIGludG8gdmlld1xuICAuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKSwgMHM7XG4gIH1cblxuICAvLyBTaGFkZXJcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtMTIwdnc7XG4gICAgd2lkdGg6IDEyMHZ3O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ3NoYWRlci1jb2xvcicpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG4gICAgLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlhZ29uYWwgc2hhcGUgb24gdGhlIHJpZ2h0XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtMjAlO1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtODZkZWcsIHRyYW5zcGFyZW50IDUwJSwgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdiZ2NvbG9yJykgNTAlKTtcbiAgfVxuXG4gIC8vIEhpZGUgb3ZlcmxheSBtZW51IG9uIGxhcmdlciB2aWV3cG9ydHNcbiAgQGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICBAaW5jbHVkZSBjb250YWluO1xuICBAaW5jbHVkZSBmbGV4KGNlbnRlciBzcGFjZS1iZXR3ZWVuKTtcbiAgcGFkZGluZy10b3A6IHNwYWNlKDQpO1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG59XG5cbi5vLW92ZXJsYXktbWVudV9faW1nIHtcbiAgaGVpZ2h0OiBzcGFjZSg2KTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X190b2dnbGUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC41dHVybik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG5cbiAgLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbmF2IHtcbiAgQGluY2x1ZGUgY29udGFpbjtcbiAgbWFyZ2luLXRvcDogc3BhY2UoMyk7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiBjYWxjKDU4dmgpO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19saW5rIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGwpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnY29sb3InKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIG91dGxpbmUtY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnY29sb3InKTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG59IiwiLm8tcXVvdGUge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG4uby1xdW90ZSB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaW5jbHVkZSBmbGV4KCk7XG5cdH1cbn1cblxuLm8tcXVvdGVfX2JvZHkge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig0LDgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdFx0d2lkdGg6IGNvbHVtbig4LDEyKTtcblx0fVxufVxuXG4uby1xdW90ZV9fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDMsOCk7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLDgpO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDQsMTIpO1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjb2x1bW4oMSwxMik7XG5cdH1cbn1cblxuLm8tcXVvdGVfX2ltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLm8tcXVvdGVfX3RleHQge1xuXHRAaW5jbHVkZSBmb250KG0pO1xuXHRxdW90ZXM6ICdcXDIwMWMnICdcXDIwMWQnO1xuXG5cdCY6OmJlZm9yZSB7IGNvbnRlbnQ6IG9wZW4tcXVvdGU7IH1cblx0Jjo6YWZ0ZXIgIHsgY29udGVudDogY2xvc2UtcXVvdGU7IH1cbn1cblxuLm8tcXVvdGVfX2F1dGhvciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xuXHRtYXJnaW4tbGVmdDogY29sdW1uKDAuNSwgNik7XG59XG5cbi5vLXF1b3RlX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChiYXNlKTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCwgMik7XG59XG5cbi5vLXF1b3RlX19zdWJoZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCwgMyk7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBSZWZlcmVuY2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tcmVmZXJlbmNlczogKFxuXHQnZ2FwJzpcdFx0XHRcdFx0XHRzcGFjZSg0KSxcblx0J3BhZGRpbmcnOlx0XHRcdFx0c3BhY2UoMyksXG5cdCdib3JkZXItc2l6ZSc6XHRcdDBweCxcblx0J2JvcmRlci1jb2xvcicgOlx0cGFsZXR0ZShib3JkZXIpLFxuXHQnYmdjb2xvcicgOlx0XHRcdFx0cGFsZXR0ZShsaWdodCksXG5cdCdjb2xvcicgOlx0XHRcdFx0XHRwYWxldHRlKHRleHQsIDIpLFxuXHQnY29sb3JTdWInIDpcdFx0XHRwYWxldHRlKHRleHQsIDMpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vLXJlZmVyZW5jZXMge1xuXHRAaW5jbHVkZSBmbGV4KHdyYXApO1xuXHRtYXJnaW46IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2dhcCcpICogLTE7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2l0ZW0ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuXHRmbGV4OiAwIDEgMTAwJTtcblx0bWFyZ2luOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdnYXAnKTtcblx0cGFkZGluZy10b3A6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcblx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYmdjb2xvcicpO1xuXHRib3JkZXI6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2JvcmRlci1zaXplJykgc29saWQgbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYm9yZGVyLWNvbG9yJyk7XG5cdGJveC1zaGFkb3c6IDAgM3B4IDQwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG5cdEBpbmNsdWRlIG1xKDgwMCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYyg1MCUgLSAje2RvdWJsZShtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdnYXAnKSl9IC0gI3tkb3VibGUobWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYm9yZGVyLXNpemUnKSl9KTtcblx0fVxufVxuXG4uby1yZWZlcmVuY2VzX19ib2R5IHtcblx0QGluY2x1ZGUgZmxleCh3cmFwIGZsZXgtc3RhcnQpO1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdwYWRkaW5nJyk7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3BpY3R1cmUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxleC1ncm93OiAxO1xuXHRmbGV4LWJhc2lzOiAyNSU7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDMpO1xuXHRtYXJnaW4tbGVmdDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xufVxuXG4uby1yZWZlcmVuY2VzX19jb250ZW50IHtcblx0ZmxleC1ncm93OiA5OTk5O1xuXHRmbGV4LWJhc2lzOiAxOGVtO1xuXHRtYXJnaW4tbGVmdDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xuXHRjb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnY29sb3InKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fYXV0aG9yIHtcblx0bWFyZ2luLXRvcDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xufVxuXG4uby1yZWZlcmVuY2VzX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRjb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnY29sb3InKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fc3ViaGVhZGluZyB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdjb2xvclN1YicpO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogU3ViIEZvb3RlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXN1YmZvb3RlcjogKFxuXHQnY29sb3InOiAgXHRcdFx0XHRwYWxldHRlKHRleHQtb24tcHJpbWFyeSwgMyksXG5cdCdjb2xvci1ob3Zlcic6ICBcdFx0cGFsZXR0ZSh0ZXh0LW9uLXByaW1hcnksIDEpLFxuXHQnYmdjb2xvcic6ICBcdFx0XHRwYWxldHRlKHByaW1hcnksIDIpLFxuXHQnc3BhY2luZy1ob3Jpem9udGFsJzpcdHNwYWNlKDQpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tc3ViZm9vdGVyIHtcblx0QGluY2x1ZGUgeih6LXN1YmZvb3Rlcik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tc3ViZm9vdGVyLCAnYmdjb2xvcicpO1xuXHRwYWRkaW5nLWJvdHRvbTogJHNpdGUtY29va2llQmFyLWhlaWdodDtcblx0dHJhbnNpdGlvbjogcGFkZGluZyAwLjZzO1xuXG5cdC5pcy1jb29raWVzLWFjY2VwdGVkICYge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG59XG5cbi5vLXN1YmZvb3Rlcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdEBpbmNsdWRlIGZsZXgod3JhcCBmbGV4LXN0YXJ0IGNlbnRlcik7XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSgxKTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDEpO1xufVxuXG4uby1zdWJmb290ZXJfX2NvcHlyaWdodCB7XG5cdEBpbmNsdWRlIGZsZXgod3JhcCk7XG4gIG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcblx0bWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ3NwYWNpbmctaG9yaXpvbnRhbCcpO1xufVxuXG4uby1zdWJmb290ZXJfX25hdiB7XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xufVxuXG4uby1zdWJmb290ZXJfX2xpc3Qge1xuXHRAaW5jbHVkZSBmbGV4KHdyYXApO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuLm8tc3ViZm9vdGVyX19pdGVtIHtcblx0bWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ3NwYWNpbmctaG9yaXpvbnRhbCcpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uby1zdWJmb290ZXJfX2xpbmsge1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0LW9uLXByaW1hcnksIDMpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2NvbG9yLWhvdmVyJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59XG5cbi5vLXN1YmZvb3Rlcl9fdHJhZGVtYXJrIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogVGFic2xpZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tdGFic2xpZGVyOiAoXG5cdCdjb2xvcic6XHRcdFx0XHRcdFx0XHRcdFx0cGFsZXR0ZSh0ZXh0KSxcblx0J2JnY29sb3InOlx0XHRcdFx0XHRcdFx0XHRwYWxldHRlKGxpZ2h0KSxcblx0J2JvcmRlci1jb2xvcic6IFx0XHRcdFx0XHRwYWxldHRlKGJvcmRlciksXG5cdCdhY3RpdmUtY29sb3InOlx0XHRcdFx0XHRcdHBhbGV0dGUodGV4dC1vbi1wcmltYXJ5KSxcblx0J2FjdGl2ZS1iZ2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShwcmltYXJ5KSxcblx0J2FjdGl2ZS1ib3JkZXItY29sb3InOiBcdFx0cGFsZXR0ZShwcmltYXJ5KSxcblx0J3RhYi1nYXAnOiAgXHRcdFx0XHRcdFx0XHRzcGFjZSgxKSxcbik7XG5cbi8qXG4gKiBPbiBzbWFsbCBzY3JlZW5zIHRoZSBjb250ZW50IGlzIHN0YWNrZWQsIHdpdGhvdXQgY29udHJvbHNcbiAqIFdoZW4gdGhlIHNjcmVlbiBpcyB3aWRlIGVub3VnaCB3ZSBhZGQgdGhlIGNvbnRyb2xzXG4gKiBhbmQgc2hvdyBvbmx5IHRoZSBjaG9zZW4gJ3NsaWRlIGNvbnRlbnQnXG4gKi9cblxuXG4uby10YWJzbGlkZXIge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG5cbi8vIFNoYXJlZCBzdHlsaW5nIGZvciB0YWItIGFuZCBzdGVwLWJ1dHRvbnNcbi5vLXRhYnNsaWRlcl9fYnV0dG9uIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0bWluLWhlaWdodDogc3BhY2UoNik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYmdjb2xvcicpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2JvcmRlci1jb2xvcicpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBib3JkZXI7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1iZ2NvbG9yJyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1iZ2NvbG9yJyk7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYmdjb2xvcicpO1xuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYm9yZGVyLWNvbG9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShwcmltYXJ5KTtcblxuXHRcdCY6bm90KC5pcy1hY3RpdmUpOm5vdCg6YWN0aXZlKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggbWFwLWdldCgkby10YWJzbGlkZXIsICdiZ2NvbG9yJyksIDAgMCA1cHggM3B4IHJnYmEobWFwLWdldCgkby10YWJzbGlkZXIsICdjb2xvcicpLCAwLjEpO1xuXHRcdH1cblx0fVxufVxuXG4uby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0QGluY2x1ZGUgZmxleChjZW50ZXIgc3BhY2UtYmV0d2Vlbik7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0XHRtYXJnaW4tcmlnaHQ6IGNvbHVtbigxLDEyKTtcblx0fVxufVxuXG4uby10YWJzbGlkZXJfX3N0ZXAge1xuXHR3aWR0aDogc3BhY2UoNik7XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcC0tcHJldiB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xufVxuXG4uby10YWJzbGlkZXJfX3RhYnMge1xuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRAaW5jbHVkZSBmbGV4KCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG5cdFx0bWFyZ2luOiAobWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJykgKiAtMSkgbWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJyk7XG5cdH1cbn1cblxuXG4uby10YWJzbGlkZXJfX3RhYiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdG1hcmdpbjogbWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJyk7XG5cdHBhZGRpbmc6IChzcGFjZSgxKSAtIDFweCkgc3BhY2UoMik7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5vLXRhYnNsaWRlcl9fY29udGFpbmVyIHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNik7XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19jb250ZW50IHtcblx0JiArICYge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0Z3JpZC1yb3c6IDE7XG5cdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR6LWluZGV4OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblx0XHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR9XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19sYWJlbCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoMSk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQpO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCIuby10ZWFtIHtcbiAgQGluY2x1ZGUgY29udGFpbjtcbiAgQGluY2x1ZGUgdnNwYWNpbmcoXG4gICAgICAnbWFyZ2luLXRvcCcgMSxcbiAgICAgICdtYXJnaW4tYm90dG9tJyAxXG4gICk7XG59XG5cbi5vLXRlYW1fX21hdHJpeCB7XG4gIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgIEBpbmNsdWRlIGZsZXgod3JhcCk7XG4gICAgbWFyZ2luOiBzcGFjZSgyKSAqIC0xO1xuICB9XG59XG5cbi5vLXRlYW1fX2l0ZW0ge1xuICBtYXJnaW46IDAgYXV0byBzcGFjZSg0KTtcbiAgbWF4LXdpZHRoOiAzMjBweDtcblxuICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICBtYXJnaW46IHNwYWNlKDIpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gI3tzcGFjZSg0KX0pOyAvLyBMb25naGFuZCBuZWVkZWQgZm9yIElFXG4gIH1cblxuICBAaW5jbHVkZSBtcSgxMDAwKSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSAje3NwYWNlKDQpfSk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAje3NwYWNlKDQpfSk7XG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRvcCBiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby10b3AtYmFyOiAoXG5cdCdiZ2NvbG9yJzogICAgcGFsZXR0ZShkYXJrKSxcblx0J2NvbG9yJzogIFx0XHRwYWxldHRlKGxpZ2h0KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uby10b3AtYmFyIHtcblx0QGluY2x1ZGUgbXEoJG1heDogJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0Y29sb3I6IG1hcC1nZXQoJG8tdG9wLWJhciwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdG9wLWJhciwgJ2JnY29sb3InKTtcbn1cblxuLm8tdG9wLWJhcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uby10b3AtYmFyX19saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdHBhZGRpbmc6IHNwYWNlKDEpIDA7XG59XG5cbi5vLXRvcC1iYXJfX2xpbmsge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IHNwYWNlKDEpIDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tdG9wLWJhciwgJ2NvbG9yJyk7XG5cblx0Jjpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFVTUFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXVzcDogKFxuXHQnYmFja2dyb3VuZC1jb2xvcic6ICBcdHBhbGV0dGUocHJpbWFyeSksXG5cdCd0ZXh0LWNvbG9yJzpcdFx0XHQgICAgcGFsZXR0ZSh0ZXh0LW9uLXByaW1hcnkpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tdXNwIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbCkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdXNwLCAnYmFja2dyb3VuZC1jb2xvcicpO1xuXHR9XG59XG5cbi5vLXVzcF9fbWFpbiB7XG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdEBpbmNsdWRlIGZsZXgocm93KTtcblx0fVxufVxuXG4uby11c3BfX3RleHQge1xuXHRwYWRkaW5nOiBzcGFjZSg0KSAwO1xuXHRjb2xvcjogbWFwLWdldCgkby11c3AsICd0ZXh0LWNvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdXNwLCAnYmFja2dyb3VuZC1jb2xvcicpO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDUsIDgpO1xuXHRcdHBhZGRpbmc6IHtcblx0XHRcdHRvcDogY29sdW1uKDAuNSwgOCk7XG5cdFx0XHRib3R0b206IGNvbHVtbigwLjUsIDgpO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiBjb2x1bW4oMSwgOCk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNik7XG5cdFx0cGFkZGluZzogY29sdW1uKDAuNSkgY29sdW1uKDEpO1xuXHR9XG59XG5cbi5vLXVzcF9faW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW4tbGVmdDogLSRzaXRlLWd1dHRlci13aWR0aDtcblx0XHRtYXJnaW4tcmlnaHQ6IC0kc2l0ZS1ndXR0ZXItd2lkdGg7XG5cdFx0cGFkZGluZy1ib3R0b206IDY1JTtcblx0XHRtaW4taGVpZ2h0OiAzNjBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDQsIDgpO1xuXHRcdG1hcmdpbi1yaWdodDogY29sdW1uKC0xLCA4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYpO1xuXHR9XG59XG5cbi5vLXVzcF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDMpO1xuXHRjb2xvcjogbWFwLWdldCgkby11c3AsICd0ZXh0LWNvbG9yJyk7XG59XG5cbi5vLXVzcF9fbGlzdCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi5vLXVzcF9faXRlbSB7XG5cdEBpbmNsdWRlIG93bChzcGFjZSgyKSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiBzcGFjZSgyKTtcblxuXHQmOjpiZWZvcmUge1xuXHRcdCR3aWR0aDogMTZweDtcblx0XHQkaGVpZ2h0OiAxMnB4O1xuXG5cdFx0Y29udGVudDonJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1cHg7XG5cdFx0bGVmdDogLSN7JHdpZHRofTtcblx0XHR3aWR0aDogJHdpZHRoO1xuXHRcdGhlaWdodDogJGhlaWdodDtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jaGVjay9jaGVja2VkLnN2Zyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAkd2lkdGggJGhlaWdodDtcblx0fVxufVxuXG4uby11c3BfX2FjdGlvbiB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDYpO1xufVxuXG4uby11c3BfX2ltYWdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiIsIi5zLWNoZWNrbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXG5cdGxpIHtcblx0XHRAaW5jbHVkZSBmbGV4KCk7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDU7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jaGVjay9jaGVja2VkLnN2Zyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpO1xuXHRcdH1cblx0fVxuXG5cdC5jaGVja2xpc3QtaGFzLXgtc21hbGwtZm9udCAme1xuXHRcdEBpbmNsdWRlIGZvbnQoeHMpO1xuXG5cdFx0bGkge1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn0iLCIvKipcbiAqIEFsbCB0ZXh0IGVsZW1lbnRzIHRoYXQgY2FuIGJlIGFkZGVkIGJ5IHRoZSB1c2VyIHRocm91Z2ggYSBDTVNcbiAqL1xuXG5cbi5zLXRleHQge1xuXG5cdGgyLCBoMywgaDQge1xuXHRcdGNvbG9yOiBwYWxldHRlKHRleHQpO1xuXHR9XG5cblx0Ly8gRmlyc3QgdGhlIG93bCBzZWxlY3RvciBmb3Igc2V0dGluZyBhIGRlZmF1bHQgdmVydGljYWwgcmh5dGhtXG5cdCYgPiAqICsgKiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdH1cblxuXHQvLyBNYWtlIHN1cmUgZmlyc3QgaXRlbSBpbiBzY29wZWQgdGV4dCBoYXMgbm8gbWFyZ2luIG9uIHRvcFxuXHQmID4gOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmID4gKiArIC5jLWJ1dHRvbiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdH1cblxuXHQmID4gdWw6bm90KFtjbGFzc10pIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0JiA+IGxpIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMS4xMjVlbTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHRcdFx0XHRjb250ZW50OiBcIlxcMjAyMlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogLTRweDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmID4gb2w6bm90KFtjbGFzc10pIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGNvdW50ZXItcmVzZXQ6IG9sLWNvdW50ZXI7XG5cblx0XHQmID4gbGkge1xuXHRcdFx0Y291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEuOGVtO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpIFwiLiBcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxLjI3NWVtO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgY29sb3JzXG4gKiBCYXNlZCBvbiB0aGVzZSBhcnRpY2xlczpcbiAqIC0gaHR0cDovL2Vyc2tpbmVkZXNpZ24uY29tL2Jsb2cvZnJpZW5kbGllci1jb2xvdXItbmFtZXMtc2Fzcy1tYXBzL1xuICogLSBodHRwczovL2Jsb2cuYXRlY2htZWRpYS5jb20vY3NzLWZvci1tdWx0aXBsZS10aGVtZXMvXG4gKiBPdXRwdXQgaXMgaW4gdGhlIGZvcm0gb2Y6XG5cbiAgIC51LWNvbG9yLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNiYWRhNTU7XG4gICB9XG5cbiAgLnUtYmctbmV1dHJhbC0tZGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlY2FmZjtcbiAgfVxuICovXG5cbkBlYWNoICRsZXZlbCwgJHBhbGV0dGUgaW4gJHBhbGV0dGVzIHtcblx0QGVhY2ggJHR5cGUsICRjb2xvciBpbiAkcGFsZXR0ZSB7XG5cdFx0QGlmKCR0eXBlID09IDEpe1xuXHRcdFx0LnUtY29sb3ItI3skbGV2ZWx9IHtcblx0XHRcdFx0Y29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHRcdC51LWJnLSN7JGxldmVsfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdC51LWNvbG9yLSN7JGxldmVsfS0tI3skdHlwZX0ge1xuXHRcdFx0XHRjb2xvcjogI3skY29sb3J9O1xuXHRcdFx0fVxuXHRcdFx0LnUtYmctI3skbGV2ZWx9LS0jeyR0eXBlfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIudS1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcbn1cblxuLnUtcGxhY2Vob2xkZXItaW1hZ2Uge1xuXHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0b2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdiB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0J3BhZGRpbmctdG9wJyAxLFxuXHRcdFx0J3BhZGRpbmctYm90dG9tJyAxXG5cdClcbn1cblxuLnUtc3BhY2luZy1tYjAge1xuXHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbkBpbmNsdWRlIG1xKGwpIHtcblx0LnUtc3BhY2luZy1wcjBcXEBsIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdH1cbn0iLCIvKlxuKiBJZiB5b3UgbmVlZCB0byBtYWtlIGEgcXVpY2sgZml4LCB5b3UgY2FuIGRvIGl0IGhlcmUuXG4qIExhdGVyIHdoZW4geW91IGhhdmUgdGhlIHRpbWUsIHlvdSBjYW4gbW92ZSB0aGUgZml4IGludG8gdGhlIGNvcnJlY3QgcGxhY2UgaW4gdGhlIHN0cnVjdHVyZVxuKi9cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5vdGhpbmcgaGVyZSB5ZXQsIEdvb2Qgam9iISEiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGhpcyBncmlkIGNhbiBiZSB0dXJuZWQgb24gYW5kIG9mZiB3aGVuIHlvdSB3YW50IHRvIGNoZWNrXG4gKiBpZiBldmVyeXRoaW5nIGlzIG5pY2UgaW4gcGxhY2UuXG4gKiBTZXQgZmxhZyAnc2hvd0dyaWQnIHRvIHRydWUgaW4gc2l0ZS5waHBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuXG4vLyBDb2xvcjogU2V0IGEgaHVlIHZhbHVlIHRoYXQgaGFzIGVub3VnaCBjb250cmFzdFxuJHZnLWh1ZTogXHRcdFx0XHRcdDIzMDsgLy8gMC0zNjBcblxuLy8gQ29sdW1uczogTnVtYmVyIG9mIGNvbHVtbnMgcGVyIHZpZXdwb3J0XG4kdmctY29sdW1uLWNvdW50LXM6IFx0XHQkc2l0ZS1jb2x1bW5zLXM7XG4kdmctY29sdW1uLWNvdW50LW06IFx0XHQkc2l0ZS1jb2x1bW5zLW07XG4kdmctY29sdW1uLWNvdW50LWw6IFx0XHQkc2l0ZS1jb2x1bW5zLWw7XG5cblxuLy8gRG8gc29tZSBjYWxjdWxhdGlvbnMgYW5kIHB1dCB0aGVtIGluIHZhcmlhYmxlcyBmb3IgcmV1c2VcbiR2Zy1jb2x1bW4td2lkdGgtczogcGVyY2VudGFnZSgxIC8gJHZnLWNvbHVtbi1jb3VudC1zKTtcbiR2Zy1jb2x1bW4td2lkdGgtbTogcGVyY2VudGFnZSgxIC8gJHZnLWNvbHVtbi1jb3VudC1tKTtcbiR2Zy1jb2x1bW4td2lkdGgtbDogcGVyY2VudGFnZSgxIC8gJHZnLWNvbHVtbi1jb3VudC1sKTtcbiR2Zy1jb2xvci0xOiBoc2xhKCR2Zy1odWUsIDEwMCwgNTAsIDAuMDcpO1xuJHZnLWNvbG9yLTI6IGhzbGEoJHZnLWh1ZSwgMTAwLCA1MCwgMC4wNCk7XG5cblxuLnUtdmlzaWJsZS1ncmlkIHtcblx0QGluY2x1ZGUgeih6LXZpc2libGUtZ3JpZCk7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHQvKiA4IHBvaW50IGdyaWQgbGluZXMgKi9cblx0Ly9iYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHQvL1x0dG8gYm90dG9tLFxuXHQvL1x0aHNsYSgwLCAxMDAsIDUwLCAwLjg0KSAwLFxuXHQvL1x0aHNsYSgwLCAxMDAsIDUwLCAwKSAxcHgsXG5cdC8vXHRoc2xhKDAsIDEwMCwgNTAsIDApIDhweCxcblx0Ly9cdGhzbGEoMjAwLCAxMDAsIDUwLCAwLjA0KSA4cHhcblx0Ly8pO1xuXG5cdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cbn1cblxuLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcblx0aGVpZ2h0OiAxMDB2aDtcblxuXHRiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0dG8gcmlnaHQsXG5cdFx0XHQkdmctY29sb3ItMSxcblx0XHRcdCR2Zy1jb2xvci0xICR2Zy1jb2x1bW4td2lkdGgtcyxcblx0XHRcdCR2Zy1jb2xvci0yICR2Zy1jb2x1bW4td2lkdGgtcyxcblx0XHRcdCR2Zy1jb2xvci0yICgkdmctY29sdW1uLXdpZHRoLXMgKiAyKVxuXHQpO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHR0byByaWdodCxcblx0XHRcdFx0JHZnLWNvbG9yLTEsXG5cdFx0XHRcdCR2Zy1jb2xvci0xICR2Zy1jb2x1bW4td2lkdGgtbSxcblx0XHRcdFx0JHZnLWNvbG9yLTIgJHZnLWNvbHVtbi13aWR0aC1tLFxuXHRcdFx0XHQkdmctY29sb3ItMiAoJHZnLWNvbHVtbi13aWR0aC1tICogMilcblx0XHQpO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHR0byByaWdodCxcblx0XHRcdFx0JHZnLWNvbG9yLTEsXG5cdFx0XHRcdCR2Zy1jb2xvci0xICR2Zy1jb2x1bW4td2lkdGgtbCxcblx0XHRcdFx0JHZnLWNvbG9yLTIgJHZnLWNvbHVtbi13aWR0aC1sLFxuXHRcdFx0XHQkdmctY29sb3ItMiAoJHZnLWNvbHVtbi13aWR0aC1sICogMilcblx0XHQpO1xuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/