File: D:/HostingSpaces/SBogers10/beerten.komma.nl/wwwroot/css/style.css
@charset "UTF-8";
/* 1 - SETTINGS
* Global variables, site-wide settings,
* config switches etc.
*
* The order in which these Sass files
* are loaded is critical!
* So please be careful when editing
=========================================================== */
/* =========================================================
Organize color variables in a Sass Map.
This way, the colors can be iterated, are more organized,
and are more intuitive to reference.
========================================================= */
/**
* A simple function for accessing the colors from our mapping
* To access colors in our palette, we use a very simple custom Sass function
* This function is placed here, (and not in the toolbox)
* because we want to use it in our other setting files
USAGE:
.demo {
color: palette(primary, 500);
}
*/
/* ========================================
Config settings
======================================== */
/*
[1] Logo dark or light can be set in header.blade.php / footer.blade.php &
[2] Set this to true when bgColor gets a dark color that contrast the body bg color
*/
/* ==========================================================
Defines the typographic baseline.
We define every size in pixels, the underlying system
converts the respective units to the responsive REM value.
========================================================== */
/**
* Our base font-size and line-height
*/
/**
* Here we assign short names for the font families
*/
/* ============================================
Define breakpoints for given formats
============================================ */
/* 2 - TOOLS
* Site wide mixins and functions
=========================================================== */
/* ==========================================================================
Functions used in grid calculation
========================================================================== */
/**
* Return percentage based on amount of columns
* Use parent column size to adjust the origin
*/
/**
* Default function for columns
* Return as percentage
*/
/**
* Return as viewport width
*/
/* ==========================================================================
* Font related functions
* ========================================================================== */
/**
* Mixin for setting font-size in REM through a Sass Map with all available sizes
USAGE:
.myClass {
@include font-size(xl);
}
*/
/* Media query mixin for writing Mobile First
* ========================================== */
/* =============================================
Toolbox functions
================================================ */
/**
* Maths helpers.
* Halve and double numbers, returning rounded integers.
USAGE:
.foo {
padding: halve(30px);
}
*/
/**
* Remove the unit of a length
* @param {Number} $number - Number to remove unit from
* @return {Number} - Unitless number
*/
/* Check if value is number */
/* Value to Em */
/* Value to Rem */
/*
* Set vertical spacing only for mobile viewport
USAGE:
.example {
@include vspacing-s(
'margin-top' 1
);
}
*/
/*
* Set vertical spacing for viewport larger than mobile
* In flexible units (vw) and on max viewport in a fixed amount (px)
USAGE:
.example {
@include vspacing-m-up(
'padding-top' 0.33,
'margin-bottom' 0.5
);
}
*/
/*
* From values given return the correct v-spacing for each breakpoint
*/
/**
* A simple function for setting a consistent border-radius
USAGE:
.card {
@include border-radius;
}
.card--alt {
@include border-radius(l);
}
*/
/**
* Lobotomized Owl Selector mixin:
* - Set spacing for consecutive items with margin-top on all but the first item
USAGE:
.box {
@include owl-children;
}
.card__item {
@include owl;
}
*/
/*
* Lobotomized owl selector.
* - Gives the children of the element spacing
* - https://alistapart.com/article/axiomatic-css-and-lobotomized-owls
*/
/**
* Show hyphens for every browser supporting it
* and will break lines in every other browser
*/
/*
* Restrict an element to a max-width for creating gutters on the side
*/
/** =================================================================================================
* The 'z-index-map' is used for managing the elements stacking order in the 'root' stacking context
* This way we have a overview of all the z-index values that are used across the project.
==================================================================================================== */
/**
USAGE:
@include z(z-modal);
*/
/* 3 - ELEMENTS
* Plain old simple HTML elements without a class (type selectors)
=========================================================== */
/* ==========================================================================
* Basic elements (no class selectors allowed)
* ========================================================================== */
/**
* Set up the html
*
* 1. Makes sure that some fonts are better rendered
* 2. Set font to lining figures
*
* 3. Avoid the IE 10-11 `min-height` bug.
* 4. Use `%` instead of `vh` since `vh` is buggy in older mobile Safari.
*/
html {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
font-feature-settings: "lnum";
box-sizing: border-box;
height: 100%;
}
body {
font-size: 1rem;
line-height: 1.5;
position: relative;
line-height: 1.5;
font-family: "Roboto", sans-serif;
margin: 0;
color: #656565;
background: #FFFFFF;
overflow-x: hidden;
display: flex;
flex-direction: column;
height: 100%;
/* 3, 4 */
}
footer {
flex: 1 0 auto;
display: flex;
flex-direction: column;
}
/**
* [1] Make sure elements like input and textarea inherit some base properties
* https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
*
* [2] Setting box-sizing the best way per:
* https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
*/
* {
font-family: inherit;
line-height: inherit;
color: inherit;
}
*, *:before, *:after {
box-sizing: inherit;
}
/**
* [1] Turn off text-shadow when selecting text for better readability
*/
::selection {
background: #737373;
color: #FFFFFF;
text-shadow: none;
/* [1] */
}
/* Remove default margin around figure
*/
figure {
margin: 0;
}
/**
* [1] Setting 'vertical-align' removes the whitespace that appears under 'img'
* elements when they are dropped into a page as-is. Safer alternative to
* using 'display: block;'.
* [2] Remove border / especially on older browsers
*/
img, svg {
vertical-align: middle;
/*[1]*/
border: none;
/*[2]*/
max-width: 100%;
}
/**
* Needed for iOS to prevent input zooming
* https://uxcellence.com/2014/01/15/quick-fix-increase-font-size-to-16px-to-fix-input-zoom
*/
input,
select,
textarea {
font-size: 16px;
}
a:not([class]) {
position: relative;
color: #4079B8;
text-decoration: none;
-webkit-text-decoration-skip: ink;
text-decoration-skip-ink: auto;
}
a:not([class])::after {
position: absolute;
top: 100%;
left: 0;
width: 100%;
height: 1px;
background: #4079B8;
content: "";
opacity: 0;
transition: height 0.3s, opacity 0.3s, transform 0.3s;
transform: translateY(-5px);
}
a:not([class]):hover::after {
height: 2px;
opacity: 1;
transform: translateY(0px);
}
h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
margin-top: 0;
margin-bottom: 0;
}
h1 {
font-size: 2.5rem;
line-height: 1;
}
h2 {
font-size: 2rem;
line-height: 1.25;
font-weight: normal;
}
h3 {
font-size: 1.5rem;
line-height: 1.3333333333;
font-weight: 500;
}
h4 {
font-size: 1.25rem;
line-height: 1.6;
font-weight: 500;
}
h5, h6 {
font-size: 1rem;
line-height: 1.5;
font-weight: bold;
}
/** =====================================================================================
* Lists
===================================================================================== */
/**
* Default indentation value for lists
*/
ul,
ol {
padding: 0;
margin: 0;
margin-left: 1.125em;
}
dd {
margin-left: 0;
}
/**
* Remove extra vertical spacing when nesting lists.
*/
li > ul,
li > ol {
margin-bottom: 0;
}
/* 4 - Layout elements
* Design patterns (e.g. grids or media object)
=========================================================== */
/*==========================================================================
* Contain
* ========================================================================== */
.l-contain {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.l-contain {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.l-contain {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
/*===============================================================================
* Split layout in 2 equal columns
*
* Until viewport is wide enough the columns are stacked vertically
* ============================================================================== */
.l-split {
position: relative;
background-color: #FFFFFF;
height: 100%;
}
@media screen and (min-width: 840px) {
.l-split {
display: flex;
}
}
/**
* Special contain version for split.
* Doesn't restrain content on medium viewport
*/
.l-split--contain {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.l-split--contain {
width: 100%;
}
}
@media screen and (min-width: 1152px) {
.l-split--contain {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 1152px) {
.l-split__column {
width: 50%;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split__column:first-child {
width: 62.5%;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.l-split__column:first-child {
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
@media screen and (max-width: 839px) {
.l-split__column:last-child {
margin-top: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split__column:last-child {
width: 37.5%;
}
}
.l-split--is-reversed .l-split__column:first-child {
order: 2;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split--is-reversed .l-split__column:first-child {
padding-left: 12.5%;
padding-right: 0;
}
}
@media screen and (min-width: 1152px) {
.l-split--is-reversed .l-split__column:first-child {
padding-left: 8.3333333333%;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split--breakout-on-m .l-split__column:first-child {
width: 60%;
padding-left: 10%;
padding-right: 10%;
}
.l-split--breakout-on-m .l-split__column:last-child {
width: 40%;
}
}
/**
* When there is only 1 column, align it to the middle and contain the width
* Only one column is used e.g. in the tabslider when there is no image set
*/
@media screen and (min-width: 840px) {
.l-split__column:only-child {
margin: 0 auto;
width: 75%;
padding-left: 0;
padding-right: 0;
}
}
@media screen and (min-width: 1152px) {
.l-split__column:only-child {
width: 50%;
padding-left: 0 !important;
}
}
.l-split__column--vpad {
margin-top: 40px;
margin-bottom: 40px;
}
@media screen and (min-width: 840px) {
.l-split__column--vpad {
margin-top: 80px;
margin-bottom: 80px;
}
}
@media screen and (min-width: 1152px) {
.l-split__column--leftpad {
padding-left: 8.3333333333%;
}
}
/*==========================================================================
* Restrict
*
* When a block shouldn't take up the whole width of the container
* we can restrict the maximum width
* ========================================================================== */
@media screen and (min-width: 840px) {
.l-restrict-narrow {
margin-left: auto;
margin-right: auto;
width: 75%;
max-width: 38em;
}
}
@media screen and (min-width: 1152px) {
.l-restrict-narrow {
width: 50%;
}
}
@media screen and (min-width: 840px) {
.l-restrict-wide {
margin-left: auto;
margin-right: auto;
width: 87.5%;
}
}
@media screen and (min-width: 1152px) {
.l-restrict-wide {
width: 66.6666666667%;
}
}
/* 5 - COMPONENTS
* Discrete complete chunks of UI.
* Designed components
=========================================================== */
/** ==========================================================================
* Components
* =========================================================================*/
.c-breadcrumb {
padding-bottom: 4px;
}
.c-breadcrumb__list {
margin: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
}
.c-breadcrumb__item {
display: flex;
align-items: center;
}
.c-breadcrumb__item:nth-child(n+2) .c-breadcrumb__icon {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
margin-left: 8px;
margin-right: 8px;
transform: rotate(0.75turn);
color: #1D1D1D;
}
.c-breadcrumb__link {
color: #656565;
text-decoration: none;
}
.c-breadcrumb__item--last .c-breadcrumb__link {
font-weight: bold;
}
.c-button {
border-radius: 8px;
font-size: 0.875rem;
line-height: 1.1428571429;
font-weight: 500;
display: inline-flex;
align-items: center;
justify-content: center;
color: #FFFFFF;
background-color: #737373;
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 #737373;
}
.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: #5c5c5c;
pointer-events: none;
transition-property: opacity, transform;
transition-duration: 0.5s;
}
.c-button:hover:not(:disabled)::after {
opacity: 1;
transform: scale(100);
}
.c-button__text {
position: relative;
z-index: 2;
padding: 0 24px;
text-align: center;
}
.c-button--icon .c-button__text {
padding-right: 16px;
}
.c-button__icon {
display: none;
position: relative;
z-index: 2;
top: -1px;
margin-right: 15px;
transition: transform 0.3s;
}
.c-button:hover:not(:disabled) .c-button__icon {
transform: translateX(3px);
}
.c-button__icon:first-child {
margin-right: 0;
margin-left: 15px;
}
.c-button--icon .c-button__icon {
display: block;
width: 16px;
}
.c-button--dark {
background-color: #212121;
}
.c-button--dark::after {
background-color: #656565;
}
/* ==========================================================================
* Default button
* ========================================================================== */
.c-ghostbutton {
border-radius: 8px;
font-size: 0.875rem;
line-height: 1.1428571429;
font-weight: 500;
display: inline-flex;
justify-content: center;
align-items: center;
color: #FFFFFF;
background: transparent;
text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
border: 1px solid currentColor;
padding: 16px 0;
text-transform: uppercase;
position: relative;
cursor: pointer;
text-decoration: none;
}
.c-ghostbutton:focus {
outline: none;
box-shadow: 0 0 4px 2px rgba(255, 255, 255, 0.5);
}
.c-ghostbutton:active:not(:disabled) {
outline: none;
box-shadow: none !important;
}
.c-ghostbutton:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-ghostbutton::after {
border-radius: 8px;
border: 1px solid transparent;
background: #D63313;
background-clip: content-box;
content: "";
position: absolute;
top: -1px;
bottom: -1px;
right: -1px;
left: -1px;
transform: scaleX(0);
opacity: 0;
pointer-events: none;
transition-duration: 0.5s;
}
.c-ghostbutton:hover:not(:disabled)::after {
transform: scaleX(1);
opacity: 1;
transition-property: opacity, transform;
transition-duration: 0.35s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-ghostbutton__text {
position: relative;
z-index: 2;
padding: 0 24px;
text-align: center;
}
.c-button--icon .c-ghostbutton__text {
padding-right: 16px;
}
.c-ghostbutton__icon {
display: none;
position: relative;
z-index: 2;
top: -1px;
margin-right: 15px;
transition: transform 0.3s;
}
.c-ghostbutton:hover:not(:disabled) .c-ghostbutton__icon {
transform: translateX(3px);
}
.c-ghostbutton--icon .c-ghostbutton__icon {
display: block;
width: 16px;
}
.c-ghostbutton__icon:first-child {
margin-right: 0;
margin-left: 15px;
}
.c-card {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
position: relative;
}
/*
* Card that does some animations on hover
*/
.c-card--has-action {
overflow: hidden;
z-index: 0;
}
.c-card--has-action:hover, .c-card--has-action:active {
outline: none !important;
}
.c-card--has-action::before, .c-card--has-action::after {
content: "";
position: absolute;
z-index: 1;
top: 0;
right: 0;
bottom: 0;
left: 0;
opacity: 0;
pointer-events: none;
}
.c-card--has-action::before {
background-color: rgba(0, 0, 0, 0.92);
background: radial-gradient(rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.92) 100%);
transform: translateX(-135%) rotate(-11deg) scale(1.3);
transform-origin: center;
transition-property: opacity, transform;
transition-duration: 300ms;
transition-delay: 100ms;
transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action::after {
z-index: 2;
width: 25px;
margin: auto;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23737373' d='M13.4 6.783H.762A.772.772 0 0 1 0 6c0-.432.341-.783.762-.783H13.4L9.623 1.336a.798.798 0 0 1 0-1.107.747.747 0 0 1 1.077 0l5.077 5.218a.798.798 0 0 1 0 1.106L10.7 11.771a.747.747 0 0 1-1.077 0 .798.798 0 0 1 0-1.107L13.4 6.783z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
transform: scale(1.75);
transition-property: opacity, transform;
transition-duration: 200ms;
}
.c-card--has-action:hover:before {
opacity: 0.92;
transform: rotate(-11deg) scale(1.3);
transition-duration: 400ms;
transition-delay: 50ms;
}
.c-card--has-action:hover:after {
opacity: 1;
transform: none;
transition-duration: 400ms;
transition-delay: 200ms;
}
.c-card--has-action:focus {
outline-color: #000000;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-card__picture {
width: 100%;
flex: auto;
display: block;
}
.c-card__img {
object-fit: cover;
width: 100%;
height: 100%;
}
.c-card__label {
font-size: 0.875rem;
line-height: 1.1428571429;
position: relative;
z-index: 3;
overflow: hidden;
padding: 14px 10px 15px;
text-align: center;
font-weight: medium;
text-transform: uppercase;
color: #FFFFFF;
background-color: #000000;
transition-property: background;
transition-duration: 400ms;
}
.c-card--has-action:hover .c-card__label {
color: #FFFFFF;
}
.c-card__label::before {
content: "";
position: absolute;
z-index: -1;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #737373;
pointer-events: none;
transform: translateY(300%) rotate(11deg) scale(1.5, 3);
transform-origin: center;
transition-property: opacity, transform;
transition-duration: 300ms;
transition-delay: 200ms;
transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action:hover .c-card__label::before {
opacity: 1;
transform: rotate(5deg) scale(2);
transition-duration: 300ms;
transition-delay: 0ms;
}
.c-card__info {
padding: 16px 32px;
background-color: #F8F8F8;
}
.c-card__heading {
font-size: 1rem;
line-height: 1.5;
color: #656565;
}
.c-card__subheading {
color: #999999;
}
.c-card__textline {
color: #999999;
}
*:not(.c-card__textline) + .c-card__textline {
margin-top: 16px;
}
.c-close {
display: flex;
align-items: center;
justify-content: center;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
background: none;
border: none;
outline: none;
cursor: pointer;
transition: transform 180ms ease-out;
}
.c-close:focus {
box-shadow: 0 0 3px 2px #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 {
transform: rotate(45deg);
}
.c-close:after {
transform: rotate(-45deg);
}
.c-close:hover {
transform: scale(1.2);
}
.c-connect {
display: inline-flex;
flex-direction: column;
align-items: center;
}
@media screen and (min-width: 840px) {
.c-connect {
flex-direction: row;
}
}
.c-connect__email {
font-size: 1.25rem;
line-height: 1.6;
font-weight: bold;
text-decoration: none;
color: #212121;
transition: opacity 300ms;
}
.c-connect__email:hover, .c-connect__email:active {
outline: none !important;
}
.c-connect__email.is-small {
font-size: 1rem;
line-height: 1.5;
}
.c-connect__email:hover {
opacity: 0.7;
text-decoration: underline;
}
.c-connect__email:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-connect__or {
margin: 0 16px;
color: #656565;
}
@media screen and (max-width: 839px) {
.c-connect__or {
margin: 8px 0 16px;
}
}
.c-data {
margin: 8px 0;
}
.c-data__line {
display: flex;
}
.c-data__label {
min-width: 64px;
font-weight: bold;
color: #212121;
}
.c-data__value {
color: #656565;
text-decoration: none;
}
.c-data__value[href]:hover, .c-data__value[href]:active {
outline: none !important;
}
.c-data__value[href]:hover {
text-decoration: underline;
}
.c-data__value[href]:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-download-list {
list-style: none;
padding: 0;
margin: 0;
}
.c-download-list__item {
border-bottom: 1px solid #C8C8C8;
transition: color 0.2s, background-color 0.2s;
}
.c-download-list__item:hover {
background-color: rgba(200, 200, 200, 0.2);
}
.c-download-list__link {
display: flex;
padding: 8px 0;
text-decoration: none;
}
.c-download-list__icon {
display: inline-block;
width: 16px;
}
.c-download-list__icon svg {
width: 100%;
}
.c-download-list__text {
width: calc(100% - 16px);
padding-left: 8px;
}
.c-download-list__item:hover .c-download-list__text {
color: #1D1D1D;
}
.c-form-group__label {
font-size: 0.9375rem;
line-height: 1.6;
display: block;
padding: 4px 0;
color: #999999;
}
.c-form-group__error {
display: none;
}
.has-error .c-form-group__error:not(:empty) {
font-size: 0.875rem;
line-height: 1.1428571429;
display: block;
padding: 8px;
color: #4079B8;
background-color: rgba(64, 121, 184, 0.1);
border: 1px solid #4079B8;
border-top: none;
border-radius: 0 0 4px 4px;
}
.c-form-feedback {
font-size: 0.9375rem;
line-height: 1.6;
border-radius: 4px;
margin: 0 0 8px;
padding: 24px 32px;
color: #212121;
background-color: rgba(255, 211, 58, 0.2);
border: 1px solid #ffd33a;
}
.c-form-feedback:not(:empty) {
display: block;
}
.c-form-feedback:before {
content: attr(data-feedback);
display: inline-block;
margin-left: -16px;
margin-bottom: 8px;
font-weight: 500;
}
.c-form-feedback li::first-letter {
text-transform: uppercase;
}
.c-hamburger {
display: flex;
justify-content: center;
align-items: center;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
color: #656565;
background: none;
border: none;
outline: none;
cursor: pointer;
}
.c-hamburger:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-hamburger > span, .c-hamburger:after, .c-hamburger:before {
content: "";
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: currentColor;
border-radius: 3px;
transform-origin: right;
transition-property: transform;
transition-duration: 150ms;
transition-timing-function: ease-out;
transition-delay: 100ms;
}
.c-hamburger:before {
top: 12px;
transform: scaleX(0.8);
}
.c-hamburger:after {
top: 28px;
transform: scaleX(0.5);
}
.c-hamburger:hover > span {
transform: scaleX(0.8);
}
.c-hamburger:hover:after, .c-hamburger:hover:before {
transform: scaleX(1);
}
.is-overlay-menu-active .c-hamburger > span {
transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger:before {
transform: translateY(3px) scaleX(1) !important;
transition-delay: 0s;
}
.is-overlay-menu-active .c-hamburger:after {
transform: translateY(-3px) scaleX(1) !important;
transition-delay: 0s;
}
.c-heading {
font-size: 2rem;
line-height: 1.25;
margin: 40px 0;
color: #212121;
}
@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__main::before {
content: "";
position: absolute;
z-index: -1;
top: 50%;
bottom: 0;
right: -100vw;
left: -100vw;
background-color: #F34722;
}
.c-hero__slider {
overflow: hidden;
position: relative;
padding-bottom: 55.556%;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-hero__slider {
padding-bottom: 50%;
}
}
.c-hero__picture {
position: absolute;
top: 0;
left: 0;
opacity: 0;
transition-property: opacity, filter;
transition-duration: 500ms;
transition-timing-function: linear;
filter: blur(5px);
}
.c-hero__picture.is-active {
opacity: 1;
transform: translateY(0) scale(1);
filter: none;
}
.c-hero__image {
width: 100%;
}
.c-hero__caption {
font-size: calc(16px + 1vw);
font-weight: bold;
position: relative;
padding: 24px;
line-height: 1.2;
text-align: center;
color: #FFFFFF;
background-color: rgba(29, 29, 29, 0.9);
}
@media screen and (min-width: 840px) {
.c-hero__caption {
position: absolute;
bottom: 0;
max-width: 95%;
padding: 32px;
text-align: left;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-hero__caption {
padding: 2.6vw;
font-size: 3.5vw;
line-height: 1.15;
}
}
@media screen and (min-width: 1152px) {
.c-hero__caption {
font-size: 2.6rem;
line-height: 1.25;
padding-left: 4.1666666667%;
padding-right: 4.1666666667%;
}
}
.c-hero__controls {
position: absolute;
bottom: 0;
right: 0;
width: 100%;
padding: 8px;
}
.c-hero__controls::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
height: 48px;
width: 100%;
background: linear-gradient(to top, black, transparent);
opacity: 0.3;
}
.c-hero__scroll {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
bottom: 0;
left: 50%;
width: 40px;
height: 40px;
padding: 10px;
color: #FFFFFF;
background-color: #737373;
border-radius: 100%;
transform: translate(-50%, 50%) rotate(0.25turn);
transition: background-color 200ms;
}
@media screen and (max-width: 839px) {
.c-hero__scroll {
display: none;
}
}
.c-hero__scroll > svg {
transition: transform 200ms;
}
.c-hero__scroll:hover {
cursor: pointer;
background: #626262;
}
.c-hero__scroll:hover > svg {
transform: translateX(3px);
}
.c-hero__scroll:focus {
outline: none;
background: #686868;
box-shadow: 0 0 0 3px #d5d5d5;
}
.c-input {
font-size: 0.9375rem;
line-height: 1.6;
width: 100%;
padding: 7px 16px;
color: #212121;
background-color: #FFFFFF;
border: 1px solid #C8C8C8;
outline: none;
}
.has-error .c-input {
box-shadow: 0 0 7px -3px #4079B8;
border-color: #4079B8;
}
.c-input:focus {
box-shadow: 0 0 7px -3px #1D1D1D;
border-color: #1D1D1D;
}
textarea.c-input {
display: block;
padding: 16px;
min-height: 158px;
line-height: 24px;
resize: vertical;
}
.c-language {
position: relative;
}
.c-language__button {
font-size: 0.9375rem;
line-height: 1.6;
border-radius: 4px;
display: flex;
position: relative;
width: 100%;
padding: 8px;
text-align: left;
background: transparent;
color: rgba(101, 101, 101, 0.5);
border: none;
-webkit-appearance: none;
appearance: none;
transition: background-color 0.15s, box-shadow 0.15s;
}
.c-language__button:focus {
outline: none;
}
.c-language__icon {
flex: none;
pointer-events: none;
}
.c-language__label {
margin-left: 4px;
font-weight: bold;
}
.c-language__dropdown {
position: absolute;
right: 0;
top: 100%;
min-width: 100%;
margin: 0;
opacity: 0;
list-style: none;
border-radius: 4px;
box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.15);
pointer-events: none;
transform: translate3d(0, -5px, 0);
transition: opacity 0.3s, transform 0.3s;
}
.c-language:hover .c-language__dropdown {
opacity: 1;
pointer-events: all;
transform: translate3d(0, 0, 0);
}
.c-language__item {
background-color: #FFFFFF;
overflow: hidden;
}
.c-language__item:nth-child(even) {
background-color: #f2f2f2;
}
.c-language__item:first-child {
border-radius: 4px 4px 0 0;
}
.c-language__item:last-child {
border-radius: 0 0 4px 4px;
}
.c-language__item:first-child:last-child {
border-radius: 4px;
}
.c-language__link {
display: block;
padding: 4px 8px;
text-align: center;
font-weight: bold;
text-decoration: none;
color: #656565;
transition: background-color 0.3s;
}
.c-language__link:hover {
color: #FFFFFF;
background-color: #737373;
}
/*
Colors get defined in _settings.config.scss
*/
.c-nav {
height: 100%;
padding: 0;
}
.c-nav__list {
display: flex;
justify-content: flex-end;
align-items: center;
margin-left: 0;
padding: 0;
list-style: none;
}
.c-nav__item {
font-size: 1rem;
line-height: 1.5;
white-space: nowrap;
margin-right: 2%;
}
.c-nav__item:last-child {
margin-right: 0;
}
.c-nav__link {
position: relative;
padding: 4px;
color: #656565;
text-decoration: none;
transition: color 150ms linear;
}
.c-nav__link:hover, .c-nav__link:active {
outline: none !important;
}
.c-nav__link::before {
content: "";
display: block;
position: absolute;
z-index: -1;
left: 4px;
bottom: 1px;
width: calc(100% - 8px);
height: 2px;
border-radius: 1px;
background-color: #C8C8C8;
transform: scaleX(0);
transform-origin: bottom right;
transition: transform 300ms cubic-bezier(0.86, 0, 0.07, 1);
}
.c-nav__link:hover {
color: #212121;
}
.c-nav__link:hover::before {
transform: scaleX(1);
transform-origin: bottom left;
}
.c-nav__link.is-active {
font-weight: 500;
color: #000000;
}
.c-nav__link.is-active::before {
transform: scaleX(1);
transform-origin: bottom left;
background-color: #D63313;
}
.c-nav__link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-pagination {
display: inline-flex;
justify-content: center;
align-items: center;
border-radius: 8px;
border: 1px solid #C8C8C8;
list-style: none;
margin-left: 0;
overflow: hidden;
}
.c-pagination__item {
display: flex;
justify-content: center;
align-items: center;
}
@media screen and (max-width: 839px) {
.c-pagination__item {
display: none;
}
.c-pagination__item:first-child, .c-pagination__item:last-child, .c-pagination__item.is-last-page, .c-pagination__item.is-active {
display: flex;
}
.c-pagination__item.is-last-page {
pointer-events: none;
}
}
.c-pagination__item + .c-pagination__item {
border-left: 1px solid;
border-color: inherit;
}
.c-pagination__text,
.c-pagination__link,
.c-pagination__prev,
.c-pagination__next {
display: flex;
justify-content: center;
align-items: center;
min-width: 48px;
min-height: 48px;
padding: 8px;
}
.c-pagination__text {
color: #212121;
opacity: 0.35;
}
.c-pagination__link {
color: #212121;
text-decoration: none;
transition: color 0.2s, background-color 0.2s;
}
.c-pagination__link:hover {
color: #171717;
background: #F8F8F8;
}
.is-active > .c-pagination__link {
box-shadow: inset 0 0 10px -5px #F34722;
font-weight: bold;
color: #F34722;
cursor: default;
}
.c-pagination__prev,
.c-pagination__next {
transition: background 0.2s;
transform: rotate(0.75turn);
}
.c-pagination__prev.is-inactive,
.c-pagination__next.is-inactive {
color: rgba(33, 33, 33, 0.4);
background: transparent;
}
.c-pagination__prev {
transform: rotate(0.25turn);
}
/*
* Page title
*/
.c-page-title {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
padding-top: 16px;
padding-bottom: 16px;
color: #212121;
}
@media screen and (min-width: 840px) {
.c-page-title {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.c-page-title {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 840px) {
.c-page-title {
padding-top: 48px;
padding-bottom: 48px;
}
}
.c-page-title--center {
text-align: center;
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.c-page-title--center {
width: 75%;
}
}
@media screen and (min-width: 1152px) {
.c-page-title--center {
width: 66.6666666667%;
}
}
@media screen and (min-width: 840px) {
.c-page-title__preheading {
margin-top: -16px;
margin-bottom: 16px;
}
}
.c-page-title__heading {
font-size: 2.5rem;
line-height: 1;
line-height: 1.3;
}
.c-page-title__heading-small {
font-size: 1.25rem;
line-height: 1.6;
display: block;
}
.c-projector {
position: relative;
height: 100%;
}
.c-projector__figure {
display: -ms-grid;
display: grid;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
height: 100%;
}
.c-projector__caption {
font-size: 0.9375rem;
line-height: 1.6;
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 2;
grid-row: 2;
-webkit-user-select: text;
-ms-user-select: text;
user-select: text;
margin-top: 8px;
color: #999999;
}
.c-projector__picture {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
height: 100%;
min-height: 360px;
display: block;
background-color: #F8F8F8;
opacity: 0;
transition: opacity 0.5s;
}
.ie .c-projector--single-image .c-projector__picture {
min-height: 400px;
}
.c-projector__picture.is-active {
opacity: 1;
}
.c-projector__control {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
margin-bottom: 8px;
margin-right: 8px;
}
.c-projector__img {
width: 100%;
height: 100%;
object-fit: cover;
}
@media screen and (max-width: 839px) {
.c-projector__img {
max-height: 78vh;
}
}
.c-servicepoint {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
text-align: left;
}
.c-servicepoint__image {
flex: 0;
min-width: auto;
max-width: 194px;
margin-right: 16px;
border-radius: 100%;
}
.c-servicepoint__content {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
min-width: 50%;
max-width: 100%;
flex-grow: 1;
flex-basis: calc(calc(420px - 100%) * 999);
margin-top: 16px;
margin-bottom: 16px;
}
@media screen and (min-width: 1152px) {
.c-servicepoint__content {
flex-basis: auto;
}
}
.c-servicepoint__body {
margin-top: 8px;
}
.c-servicepoint__footer {
margin-top: 8px;
}
.c-servicepoint__heading {
font-size: 1rem;
line-height: 1.5;
color: #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: #F34722;
text-decoration: underline;
}
/*
* Skip Link
*/
.c-skip-link {
font-size: 0.9375rem;
line-height: 1.6;
position: fixed;
top: -100vh;
left: 50%;
transform: translateX(-50%);
color: #4079B8;
text-decoration: none;
}
.c-skip-link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
top: 5px;
/* Now the link will appear */
}
.c-slide-indicator {
display: flex;
justify-content: flex-end;
align-items: center;
}
.c-slide-indicator__button {
position: relative;
border: none;
background-color: #737373;
color: #FFFFFF;
height: 40px;
width: 40px;
}
.c-slide-indicator__button + .c-slide-indicator__button {
margin-left: 8px;
}
.c-slide-indicator__button[aria-label=previous] > svg {
transform: rotate(90deg);
}
.c-slide-indicator__button[aria-label=next] > svg {
transform: rotate(-90deg);
}
.c-slide-indicator__button:hover {
cursor: pointer;
background-color: #686868;
}
.c-slide-indicator__button:focus {
outline: none;
background-color: #686868;
}
.c-slide-indicator__dot {
position: relative;
display: inline-block;
width: 30px;
height: 30px;
background-color: transparent;
border: none;
cursor: pointer;
transition-property: background-color, opacity;
transition-duration: 250ms;
}
.c-slide-indicator__dot:focus {
outline: none;
}
.c-slide-indicator__dot:hover:not(.is-active), .c-slide-indicator__dot:focus:not(.is-active) {
opacity: 0.5;
}
.c-slide-indicator__dot:before, .c-slide-indicator__dot:after {
content: "";
position: absolute;
background-clip: content-box;
transition-property: transform, background-color, opacity;
transition-duration: 0.3s;
transition-timing-function: ease-in-out;
border-radius: 100%;
}
.c-slide-indicator__dot:before {
top: calc((30px - 8px) / 2);
right: calc((30px - 8px) / 2);
bottom: calc((30px - 8px) / 2);
left: calc((30px - 8px) / 2);
background-color: #FFFFFF;
}
.c-slide-indicator__dot:after {
top: calc((30px - 12px) / 2);
right: calc((30px - 12px) / 2);
bottom: calc((30px - 12px) / 2);
left: calc((30px - 12px) / 2);
border: 1px solid #FFFFFF;
transform: scale(1.4);
opacity: 0;
}
.c-slide-indicator__dot.is-active:before {
background-color: #000000;
border-color: rgba(255, 255, 255, 0.9);
transform: scale(0.75);
}
.c-slide-indicator__dot.is-active:after {
opacity: 0.9;
transform: scale(1);
}
.c-slide-indicator__dot:focus {
opacity: 1 !important;
}
.c-slide-indicator__dot:focus:before {
box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-slide-indicator__dot:focus:after {
box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-subnav {
height: 100%;
}
.c-subnav--boxed {
background-color: #F8F8F8;
padding: 80px 6vw;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-subnav--boxed {
padding-left: 25%;
}
}
.c-subnav__header {
margin: 0;
}
.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: flex;
padding: 8px 0;
color: #656565;
text-decoration: none;
cursor: pointer;
transition: color 250ms;
}
.c-subnav__link:hover, .c-subnav__link:active {
outline: none !important;
}
.c-subnav__link:hover {
color: #4079B8;
}
.c-subnav__link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-subnav__link::before {
content: "";
display: block;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border-bottom: 1px solid #C8C8C8;
}
.c-subnav__item.is-active .c-subnav__link::before {
border-color: #F34722;
border-width: 2px;
}
.c-subnav__icon {
opacity: 0;
align-items: center;
margin-left: 16px;
color: #C8C8C8;
transform: translateX(-16px);
transition: all 250ms ease-out;
}
.c-subnav__link:hover .c-subnav__icon {
opacity: 1;
transform: none;
color: #4079B8;
}
.c-subnav__item.is-active .c-subnav__link {
color: #F34722;
font-weight: bold;
}
.c-subnav__item.is-active .c-subnav__link::before {
border-color: #F34722;
border-width: 2px;
}
.c-subnav__item.is-active .c-subnav__icon {
opacity: 0;
}
/**
* 1. Color gets inherited and used for nested elements with 'currentColor' property
* 2. Reset default button styling
*/
.c-textbutton {
display: inline-flex;
justify-content: center;
align-items: center;
color: #4079B8;
/* 1 */
padding: 0;
/* 2 */
background-color: transparent;
/* 2 */
border: none;
/* 2 */
cursor: pointer;
text-decoration: none;
transition: color 0.3s;
}
.c-textbutton:hover, .c-textbutton:active {
outline: none !important;
}
.c-textbutton:hover:not(:disabled) {
color: #26496e;
}
.c-textbutton:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-textbutton:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-textbutton__text {
font-size: 1rem;
line-height: 1.5;
}
.c-textbutton__icon {
display: none;
position: relative;
margin-left: 8px;
transition: transform 0.3s;
}
.c-textbutton:hover:not(:disabled) .c-textbutton__icon {
transform: translateX(3px);
}
.c-textbutton--icon .c-textbutton__icon {
display: block;
}
.c-textbutton--is-reversed .c-textbutton__text {
order: 2;
}
.c-textbutton--is-reversed .c-textbutton__icon {
order: 1;
top: 1px;
margin-left: 0;
margin-right: 8px;
transform: rotate(0.5turn);
}
.c-textbutton--is-reversed:hover:not(:disabled) .c-textbutton__icon {
transform: rotate(0.5turn) translateX(3px);
}
.c-trademark {
display: inline-flex;
justify-content: center;
align-items: center;
text-decoration: none;
transition: color 200ms;
}
.c-trademark:hover, .c-trademark:active {
outline: none !important;
}
.c-trademark:hover {
color: #FFFFFF;
}
.c-trademark:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.c-trademark__text {
margin-right: 7px;
white-space: nowrap;
}
.c-trademark__icon {
width: 100px;
max-height: 32px;
opacity: 0.5;
transition: opacity 200ms;
transform: translateY(-1px);
}
.c-trademark:hover .c-trademark__icon {
opacity: 1;
}
.c-video {
position: relative;
height: 0;
width: 100%;
padding-bottom: 56.25%;
background-color: #F5F5F5;
}
.c-video__iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/* 6 - ORGANISMS
* Large blocks composed of multiple components.
=========================================================== */
/** ==========================================================================
* Organisms
* =========================================================================*/
.o-accordion {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-accordion {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-accordion {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-accordion__item {
border-radius: 8px;
position: relative;
overflow: hidden;
border-style: solid;
border-width: 1px;
border-color: #C8C8C8;
transition-property: border;
transition-duration: 250ms;
}
.o-accordion__item + .o-accordion__item {
margin-top: 16px;
}
.o-accordion__item:not(.is-active):hover {
border-color: #F34722;
}
.o-accordion__title {
display: flex;
justify-content: flex-start;
align-items: center;
padding-top: 16px;
padding-right: 24px;
padding-bottom: 16px;
padding-left: 48px;
color: #000000;
cursor: pointer;
}
@media screen and (min-width: 840px) {
.o-accordion__title {
padding-left: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-accordion__title {
padding-left: 8.3333333333%;
}
}
.o-accordion__item:not(.is-active) .o-accordion__title:hover {
color: #F34722;
}
.o-accordion__icon {
flex: 0 0 auto;
position: absolute;
top: auto;
left: 14px;
width: 20px;
height: 20px;
color: inherit;
border-color: currentColor;
border-width: 2px;
border-style: solid;
border-radius: 100%;
transition-property: color;
transition-duration: 250ms;
transition-timing-function: ease;
}
@media screen and (min-width: 840px) {
.o-accordion__icon {
left: calc(6.25% - 10px);
}
}
@media screen and (min-width: 1152px) {
.o-accordion__icon {
left: calc(4.1666666667% - 10px);
}
}
.o-accordion__icon::before, .o-accordion__icon::after {
content: "";
display: block;
position: absolute;
height: 2px;
width: 10px;
left: 3px;
top: calc(50% - 1px);
background-color: currentColor;
transition-property: background-color, transform;
transition-duration: 250ms, 400ms;
transition-timing-function: ease, cubic-bezier(0.86, 0, 0.07, 1);
}
.o-accordion__item.is-active .o-accordion__icon::before {
transform: scaleX(0) rotate(0.25turn);
}
.o-accordion__icon::after {
transform: rotate(0.25turn);
}
.o-accordion__item.is-active .o-accordion__icon::after {
transform: rotate(0.5turn);
}
.o-accordion__header {
font-size: 1rem;
line-height: 1.5;
font-weight: 500;
color: inherit;
text-decoration: inherit;
transition-property: color;
transition-duration: 250ms;
transition-timing-function: ease;
}
@media screen and (min-width: 840px) {
.o-accordion__header {
font-size: 1.5rem;
line-height: 1.3333333333;
}
}
/* Hidden by default*/
.o-accordion__content {
opacity: 0;
max-height: 0;
overflow: hidden;
padding-left: 48px;
padding-right: 24px;
transform: translateY(6px);
transition: all 0.2s ease-in-out;
}
.o-accordion__content > * + * {
margin-top: 1.5rem;
}
@media screen and (min-width: 840px) {
.o-accordion__content {
padding-left: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-accordion__content {
padding-left: 8.3333333333%;
}
}
.o-accordion__item.is-active .o-accordion__content {
opacity: 1;
max-height: 400px;
padding-bottom: 32px;
transform: none;
transition-property: all;
transition-duration: 400ms;
transition-timing-function: ease-out;
transition-delay: 0.2s;
}
@media screen and (max-width: 839px) {
.o-block {
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-block {
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-block {
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-block {
margin-bottom: 96px;
}
}
@media screen and (max-width: 839px) {
.o-block + .o-block {
margin-top: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-block + .o-block {
margin-top: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-block + .o-block {
margin-top: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-block + .o-block {
margin-top: 96px;
}
}
/*
* Wrapper of the main body
* (between the header and the footer)
*/
.o-body {
z-index: 40;
position: relative;
flex: 0 0 auto;
}
.o-callout-bar {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
color: #212121;
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__body {
display: inline-block;
}
.o-callout-bar__heading {
font-size: 2rem;
line-height: 1.25;
}
/*
* Card grid
*
*/
@media screen and (min-width: 600px) {
.o-card-grid__main {
display: flex;
flex-wrap: wrap;
}
}
@media screen and (max-width: 599px) {
.o-card-grid__item + .o-card-grid__item {
margin-top: 32px;
}
}
@media screen and (max-width: 599px) {
.o-card-grid__item {
max-width: 344px;
margin: 0 auto;
}
}
@media screen and (min-width: 600px) and (max-width: 1151px) {
.o-card-grid__item {
flex: 0;
flex-basis: calc(50% - ((2 - 1) / 2 * 32px));
margin-left: 32px;
}
.o-card-grid__item:nth-child(2n+1) {
margin-left: 0;
}
.o-card-grid__item:nth-child(n+3) {
margin-top: 32px;
}
}
@media screen and (min-width: 1152px) {
.o-card-grid__item {
flex: 0;
flex-basis: calc(33.3333333333% - ((3 - 1) / 3 * 32px));
margin-left: 32px;
}
.o-card-grid__item:nth-child(3n+1) {
margin-left: 0;
}
.o-card-grid__item:nth-child(n+4) {
margin-top: 32px;
}
}
.o-contact {
background-color: #FFFFFF;
position: relative;
}
@media screen and (min-width: 1220px) {
.o-contact {
display: flex;
width: calc((100% / 14) * 12);
max-width: 1152px;
margin-left: auto;
margin-right: auto;
}
}
.o-contact__info {
padding-top: 32px;
padding-left: 6vw;
padding-right: 6vw;
}
@media screen and (min-width: 840px) {
.o-contact__info {
padding-left: 10%;
padding-right: 10%;
}
}
@media screen and (min-width: 1152px) {
.o-contact__info {
padding-left: 7.1428571429%;
padding-right: 7.1428571429%;
}
}
@media screen and (min-width: 1220px) {
.o-contact__info {
width: 50%;
padding-top: 48px;
padding-bottom: 48px;
padding-right: 8px;
}
}
.o-contact__form {
margin-top: 32px;
padding: 32px 6vw;
background-color: #F8F8F8;
}
@media screen and (min-width: 840px) {
.o-contact__form {
padding-left: 10%;
padding-right: 10%;
}
}
@media screen and (min-width: 1152px) {
.o-contact__form {
padding-left: 7.1428571429%;
padding-right: 7.1428571429%;
}
}
@media screen and (min-width: 1220px) {
.o-contact__form {
width: 50%;
margin-top: 0;
padding-top: 48px;
}
}
.o-contact__header {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
font-size: 2rem;
line-height: 1.25;
margin-bottom: 32px;
color: #212121;
}
.o-contact__card {
margin-bottom: 40px;
}
.o-contact__address {
display: inline-block;
margin-top: 24px;
}
.o-contact__address h5 {
color: #212121;
}
.o-cookie-bar {
z-index: -1;
display: none;
position: fixed;
bottom: 0;
left: 0;
height: 64px;
width: 100%;
background-color: #1D1D1D;
opacity: 1;
box-shadow: 0 -4px 6px 0 rgba(0, 0, 0, 0.2);
transition: opacity 0.5s, transform 0.6s;
transform: none;
}
.o-cookie-bar:not(.is-accepted) {
z-index: 9999;
display: flex;
justify-content: flex-start;
align-items: center;
}
.o-cookie-bar.is-transitioning-out {
z-index: -1;
opacity: 0;
transform: translateY(50%);
}
.o-cookie-bar__main {
display: flex;
justify-content: center;
align-items: center;
}
@media screen and (max-width: 373px) {
.o-cookie-bar__main {
transform: scale(0.9);
}
}
.o-cookie-bar__text {
margin: 0;
color: #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;
transition: color 0.3s;
}
.o-cookie-bar__link:hover {
color: rgba(153, 153, 153, 0.75);
}
.o-cookie-bar__button {
flex: none;
margin-left: 40px;
}
@media screen and (max-width: 839px) {
.o-cookie-bar__button {
margin-left: 16px;
}
}
/*===============================================================================
* Double image in 2 equal columns
*
* Until viewport is wide enough the pictures are stacked vertically
* ============================================================================== */
.o-double-image {
margin: -1px;
text-align: center;
}
@media screen and (min-width: 1100px) {
.o-double-image {
display: flex;
}
}
.o-double-image__picture {
display: block;
margin: 1px;
order: 1;
min-height: 360px;
}
@media screen and (min-width: 1100px) {
.o-double-image__picture {
width: 50%;
display: flex;
justify-content: flex-end;
}
.o-double-image__picture:last-child {
justify-content: flex-start;
}
}
.o-double-image__img {
object-fit: cover;
max-height: 85vh;
}
.o-double-image--is-reversed .o-double-image__picture {
justify-content: flex-start;
}
.o-double-image--is-reversed .o-double-image__picture:last-child {
order: 0;
justify-content: flex-end;
}
/*===============================================================================
* Double layout in 2 equal columns
*
* Until viewport is wide enough the columns are stacked vertically
* ============================================================================== */
.o-double-text {
position: relative;
background-color: #FFFFFF;
height: 100%;
}
@media screen and (min-width: 840px) {
.o-double-text {
display: flex;
}
}
@media screen and (min-width: 1152px) {
.o-double-text__column {
width: 50%;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-double-text__column:first-child {
width: 62.5%;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-double-text__column:first-child {
padding-left: 8.3333333333%;
}
}
@media screen and (max-width: 839px) {
.o-double-text__column:last-child {
margin-top: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-double-text__column:last-child {
width: 37.5%;
}
}
@media screen and (min-width: 1152px) {
.o-double-text__column:last-child {
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
@media screen and (min-width: 840px) {
.o-downloads {
display: flex;
justify-content: space-between;
}
}
@media screen and (min-width: 840px) {
.o-downloads--is-reversed {
flex-direction: row-reverse;
}
}
.o-downloads__main {
background-color: #FFFFFF;
padding-top: 40px;
padding-bottom: 72px;
}
@media screen and (min-width: 840px) {
.o-downloads__main {
width: 50%;
}
}
@media screen and (max-width: 1151px) {
.o-downloads__main {
padding-left: 6.25%;
padding-right: 6.25%;
}
}
@media screen and (min-width: 1152px) {
.o-downloads__main {
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
.o-downloads__main .c-heading {
margin-top: 0;
}
@media screen and (max-width: 839px) {
.o-downloads__service-point {
margin-top: 80px;
}
}
@media screen and (min-width: 840px) {
.o-downloads__service-point {
margin-top: 40px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-downloads__service-point {
width: 37.5%;
}
}
@media screen and (min-width: 1152px) {
.o-downloads__service-point {
width: 41.6666666667%;
}
}
.o-footer {
z-index: 20;
color: #FFFFFF;
background-color: #F34722;
flex: 1 0 auto;
}
.o-footer__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-footer__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-footer__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (max-width: 839px) {
.o-footer__main {
padding-top: 6vw;
padding-bottom: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-footer__main {
padding-top: 5vw;
padding-bottom: 5vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-footer__main {
padding-top: 3.5714285714vw;
padding-bottom: 3.5714285714vw;
}
}
@media screen and (min-width: 1344px) {
.o-footer__main {
padding-top: 48px;
padding-bottom: 48px;
}
}
@media screen and (min-width: 840px) {
.o-footer__columns {
display: flex;
}
}
.o-footer__brand {
display: inline-block;
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 {
height: 48px;
}
.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: #FFFFFF;
text-decoration: none;
cursor: pointer;
}
.o-footer__link:hover, .o-footer__link:active {
outline: none !important;
}
.o-footer__link::before {
border-radius: 4px;
opacity: 0;
content: "";
display: block;
position: absolute;
z-index: -1;
top: 0;
bottom: 0;
left: -8px;
right: -8px;
background-color: #D63313;
transition: opacity 150ms linear;
}
.o-footer__link:hover::before {
opacity: 1;
}
.o-footer__link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.o-footer__social {
display: flex;
list-style: none;
margin: 32px 0 0;
}
.o-footer__channel {
display: flex;
justify-content: center;
align-items: center;
width: 24px;
height: 24px;
margin-right: 16px;
}
.o-footer__icon {
flex: auto;
display: block;
height: 100%;
background-repeat: no-repeat;
background-position: center;
transition-property: opacity;
transition-duration: 0.3s;
}
.facebook .o-footer__icon {
background-image: url("/img/social/facebook.svg");
height: 21px;
}
.instagram .o-footer__icon {
background-image: url("/img/social/instagram.svg");
}
.twitter .o-footer__icon {
background-image: url("/img/social/twitter.svg");
height: 20px;
}
.linkedin .o-footer__icon {
background-image: url("/img/social/linkedin.svg");
height: 18px;
}
.o-footer__icon:hover {
opacity: 0.5;
}
.o-footer__icon:focus {
outline-color: #4079B8;
}
.o-form__header {
margin-bottom: 40px;
}
.o-form__footer {
margin-top: 40px;
}
.o-form__row + .o-form__row {
margin-top: 20px;
}
.o-form__pot {
opacity: 0;
position: absolute;
top: 0;
left: 0;
height: 0;
width: 0;
z-index: -1;
}
/*
Colors get defined in _settings.config.scss
*/
.o-header {
z-index: 50;
background-color: #FFFFFF;
position: relative;
padding: 24px 0;
}
.o-header.is-sticky {
opacity: 0;
position: fixed;
z-index: 50;
top: 0;
left: 0;
width: 100%;
padding-top: 32px;
padding-bottom: 32px;
box-shadow: 0 -5px 30px black;
transform: translateY(-100%);
transition-property: transform, opacity;
transition-duration: 300ms;
transition-delay: 0s, 300ms;
transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}
@media screen and (min-width: 1100px) {
.o-header.is-sticky {
display: none;
}
}
.is-sticky-header-visible .o-header.is-sticky {
opacity: 1;
transform: none;
transition-delay: 0s;
}
.o-header__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
}
@media screen and (min-width: 840px) {
.o-header__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-header__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-header__nav {
width: 100%;
margin-left: 48px;
}
@media screen and (max-width: 1099px) {
.o-header__nav {
display: none;
}
}
.o-header__language {
flex: none;
margin-left: 16px;
}
@media screen and (max-width: 1099px) {
.o-header__language {
margin-left: auto;
}
}
.o-header__logo {
flex: none;
}
.o-header__logo:hover, .o-header__logo:active {
outline: none !important;
}
.o-header__logo:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.o-header__img {
height: 64px;
}
@media screen and (min-width: 1100px) {
.o-header__toggle {
display: none;
}
}
.o-intro {
position: relative;
z-index: 0;
background-color: #FFFFFF;
}
.o-intro__body {
position: relative;
}
@media screen and (max-width: 839px) {
.o-intro__body {
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-intro__body {
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-intro__body {
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-intro__body {
margin-bottom: 96px;
}
}
@media screen and (max-width: 839px) {
.o-intro--mobile-break-out .o-intro__body {
width: 100vw;
margin-left: 50%;
transform: translateX(-50%);
}
}
@media screen and (min-width: 840px) {
.o-intro__body::before {
content: "";
position: absolute;
z-index: 0;
top: 50%;
right: 0;
bottom: 0;
left: 0;
background-color: #F34722;
}
.o-intro--bottom-bar-hidden .o-intro__body::before {
display: none;
}
}
.o-intro__content {
background-color: #FFFFFF;
position: relative;
}
@media screen and (min-width: 840px) {
.o-intro__content {
display: flex;
}
}
@media screen and (min-width: 1152px) {
.o-intro__content {
width: calc((100% / 14) * 12);
max-width: 1152px;
margin-left: auto;
margin-right: auto;
}
}
.o-intro__nav,
.o-intro__image {
margin-top: 32px;
}
@media screen and (min-width: 840px) {
.o-intro__nav,
.o-intro__image {
order: -1;
width: 41.6666666667%;
margin-top: 0;
}
}
@media screen and (min-width: 1152px) {
.o-intro__nav,
.o-intro__image {
width: 50%;
}
}
.o-intro__nav {
background-color: #F8F8F8;
padding: 32px 6vw;
}
@media screen and (min-width: 840px) {
.o-intro__nav {
padding: 80px 4.1666666667%;
padding-left: 10%;
}
}
@media screen and (min-width: 1152px) {
.o-intro__nav {
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
.o-intro__text {
padding-top: 32px;
padding-left: 6vw;
padding-right: 6vw;
}
@media screen and (min-width: 840px) {
.o-intro__text {
width: 58.3333333333%;
padding: 80px 8.3333333333%;
}
}
@media screen and (min-width: 1152px) {
.o-intro__text {
width: 50%;
}
}
.o-intro__title,
.o-intro__heading {
color: #1D1D1D !important;
}
.o-intro__button {
color: #4079B8 !important;
}
.o-logos__list {
display: flex;
flex-wrap: wrap;
margin-left: 0;
margin: -2.382vw;
list-style-type: none;
}
@media screen and (min-width: 1344px) {
.o-logos__list {
margin: -32px;
}
}
.o-logos__item {
flex: 0 1 100%;
margin: 2.382vw;
}
@media screen and (min-width: 384px) {
.o-logos__item {
flex-basis: calc(50% - 5vw);
}
}
@media screen and (min-width: 840px) {
.o-logos__item {
flex-basis: calc(33.3333333333% - 5vw);
}
}
@media screen and (min-width: 1152px) {
.o-logos__item {
flex-basis: calc(25% - 5vw);
}
}
@media screen and (min-width: 1344px) {
.o-logos__item {
flex-basis: calc(25% - 64px);
margin: 32px;
}
}
.o-logos__link {
display: block;
}
.o-logos__img {
display: block;
width: 100%;
height: 0;
padding-bottom: 50%;
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: #212121;
}
.o-news__article {
position: relative;
}
.o-news__article + .o-news__article {
margin-top: 32px;
}
.o-news__link {
display: block;
cursor: pointer;
text-decoration: none;
transition: background-color 150ms linear;
}
.o-news__link:hover, .o-news__link:active {
outline: none !important;
}
.o-news__link::before {
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 1px solid #C8C8C8;
transition: opacity 150ms linear;
}
.o-news__link:hover, .o-news__link:focus {
background-color: #F8F8F8;
}
.o-news__link:hover::before, .o-news__link:focus::before {
opacity: 0;
}
.o-news__link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
@media screen and (min-width: 840px) {
.o-news__link {
display: flex;
justify-content: flex-start;
align-items: flex-start;
}
}
.o-news__body {
flex-grow: 1;
padding: 6vw;
}
@media screen and (min-width: 840px) {
.o-news__body {
order: 1;
padding-top: 48px;
padding-bottom: 48px;
padding-left: 12.5%;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-news__body {
padding-left: 8.3333333333%;
}
}
.o-news__image {
position: relative;
width: 100%;
padding-bottom: 55%;
}
@media screen and (min-width: 840px) {
.o-news__image {
flex: none;
order: 2;
width: 25%;
padding-bottom: 25%;
}
}
.o-news__bg-image {
position: absolute;
background-position: 50% 50%;
background-size: cover;
top: 6vw;
right: 6vw;
width: calc(100% - 12vw);
height: calc(100% - 6vw);
}
@media screen and (min-width: 840px) {
.o-news__bg-image {
top: 8px;
right: 8px;
width: calc(100% - 16px);
height: calc(100% - 16px);
}
}
.o-news__intro {
margin-top: 24px;
}
.o-news__timestamp {
display: block;
margin-top: 16px;
color: #999999;
}
.o-news__action {
display: flex;
justify-content: flex-start;
align-items: center;
margin-top: 8px;
color: #4079B8;
}
.o-news__readmore {
margin-right: 8px;
}
.o-news__footer {
margin-top: 32px;
text-align: center;
}
.o-overlay-menu {
z-index: 100;
display: flex;
flex-direction: column;
opacity: 0;
position: fixed;
height: 100%;
width: 100%;
left: 0;
top: 0;
background-color: #F34722;
transform: translateX(-120vw);
transition-property: transform, opacity;
transition-duration: 400ms, 200ms;
transition-delay: 0s, 400ms;
transition-timing-function: cubic-bezier(0.5, 0.15, 0.1, 1), linear;
}
.is-overlay-menu-active .o-overlay-menu {
opacity: 1;
transform: none;
transition-delay: 200ms, 0s;
}
.o-overlay-menu::before {
display: block;
content: "";
position: absolute;
top: 0;
right: -120vw;
width: 120vw;
height: 100%;
background: rgba(0, 0, 0, 0.6);
pointer-events: none;
opacity: 0;
transition-property: opacity;
transition-duration: 200ms;
transition-delay: 400ms;
transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu::before {
opacity: 1;
transition-delay: 0s;
}
.o-overlay-menu::after {
display: block;
content: "";
position: absolute;
top: 0;
right: -20%;
width: 20%;
height: 100%;
background: linear-gradient(-86deg, transparent 50%, #F34722 50%);
}
@media screen and (min-width: 1100px) {
.o-overlay-menu {
display: none;
}
}
.o-overlay-menu__bar {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 32px;
padding-bottom: 32px;
}
@media screen and (min-width: 840px) {
.o-overlay-menu__bar {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-overlay-menu__bar {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-overlay-menu__img {
height: 48px;
}
.o-overlay-menu__toggle {
transform: rotate(-0.5turn);
transition: transform 600ms ease-out;
transition-delay: 200ms;
}
.is-overlay-menu-active .o-overlay-menu__toggle {
transform: none;
}
.o-overlay-menu__list {
display: flex;
flex-direction: column;
justify-content: space-between;
margin-left: 0;
list-style: none;
}
.o-overlay-menu__item {
padding: 8px 7.1428571429%;
border-top: 1px solid rgba(255, 255, 255, 0.3);
}
.o-overlay-menu__link {
font-size: 1.5rem;
line-height: 1.3333333333;
display: block;
color: #FFFFFF;
text-decoration: none;
transition: opacity 200ms linear;
}
.o-overlay-menu__link:hover {
color: rgba(255, 255, 255, 0.7);
}
.o-overlay-menu__link:focus {
outline-offset: 2px;
outline-color: rgba(255, 255, 255, 0.3);
}
.o-overlay-menu__link.is-active {
position: relative;
opacity: 1;
font-weight: bold;
}
.o-overlay-menu__link.is-active::before {
content: "\2794";
position: absolute;
top: 6px;
left: -1.25em;
font-size: 14px;
}
.o-quote {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-quote {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-quote {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 840px) {
.o-quote {
display: flex;
}
}
@media screen and (min-width: 840px) {
.o-quote__body {
width: 50%;
}
}
@media screen and (min-width: 1152px) {
.o-quote__body {
margin-left: 8.3333333333%;
width: 66.6666666667%;
}
}
.o-quote__picture {
display: block;
}
@media screen and (max-width: 839px) {
.o-quote__picture {
margin-top: 32px;
}
}
@media screen and (min-width: 840px) {
.o-quote__picture {
width: 37.5%;
margin-left: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-quote__picture {
width: 33.3333333333%;
margin-left: 8.3333333333%;
margin-right: 8.3333333333%;
}
}
.o-quote__img {
display: block;
margin: 0 auto;
}
.o-quote__text {
font-size: 1.25rem;
line-height: 1.6;
quotes: "\201C" "\201D";
}
.o-quote__text::before {
content: open-quote;
}
.o-quote__text::after {
content: close-quote;
}
.o-quote__author {
margin-top: 24px;
margin-left: 8.3333333333%;
}
.o-quote__heading {
font-size: 1rem;
line-height: 1.5;
color: #656565;
}
.o-quote__subheading {
font-size: 0.9375rem;
line-height: 1.6;
color: #999999;
}
.o-references {
display: flex;
flex-wrap: wrap;
margin: -32px;
}
.o-references__item {
border-radius: 4px;
flex: 0 1 100%;
margin: 32px;
padding-top: 24px;
padding-bottom: 24px;
background-color: #FFFFFF;
border: 0px solid #C8C8C8;
box-shadow: 0 2.4px 39.4px -16px rgba(0, 0, 0, 0.024), 0 6.8px 45.5px -16px rgba(0, 0, 0, 0.035), 0 16.3px 51.4px -16px rgba(0, 0, 0, 0.046), 0 54px 80px -16px rgba(0, 0, 0, 0.07);
}
@media screen and (min-width: 800px) {
.o-references__item {
flex-basis: calc(50% - 64px - 0px);
}
}
.o-references__body {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
margin-top: 0;
padding-right: 24px;
}
.o-references__picture {
display: block;
flex-grow: 1;
flex-basis: 25%;
margin-bottom: 24px;
margin-left: 24px;
}
.o-references__content {
flex-grow: 9999;
flex-basis: 18em;
margin-left: 24px;
color: #656565;
}
.o-references__author {
margin-top: 24px;
}
.o-references__heading {
font-size: 1rem;
line-height: 1.5;
font-weight: normal;
color: #656565;
}
.o-references__subheading {
color: #999999;
}
.o-subfooter {
z-index: 10;
color: #FFFFFF;
background-color: #D63313;
padding-bottom: 64px;
transition: padding 0.6s;
}
.is-cookies-accepted .o-subfooter {
padding-bottom: 0;
}
.o-subfooter__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
font-size: 0.9375rem;
line-height: 1.6;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
padding-top: 8px;
padding-bottom: 8px;
}
@media screen and (min-width: 840px) {
.o-subfooter__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-subfooter__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-subfooter__copyright {
display: flex;
flex-wrap: wrap;
margin-top: 8px;
margin-bottom: 8px;
margin-right: 32px;
}
.o-subfooter__nav {
margin-right: auto;
margin-top: 8px;
margin-bottom: 8px;
}
.o-subfooter__list {
display: flex;
flex-wrap: wrap;
list-style-type: none;
margin: 0;
}
.o-subfooter__item {
margin-right: 32px;
white-space: nowrap;
}
.o-subfooter__link {
color: #FFFFFF;
text-decoration: none;
transition: color 200ms;
}
.o-subfooter__link:hover, .o-subfooter__link:active {
outline: none !important;
}
.o-subfooter__link:hover {
color: rgba(255, 255, 255, 0.7);
}
.o-subfooter__link:focus {
outline-color: currentColor;
outline-style: solid;
outline-offset: 1px;
outline-width: 2px;
}
.o-subfooter__trademark {
margin-top: 8px;
margin-bottom: 8px;
}
/*
* On small screens the content is stacked, without controls
* When the screen is wide enough we add the controls
* and show only the chosen 'slide content'
*/
.o-tabslider {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-tabslider {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-tabslider {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-tabslider__button {
border-radius: 8px;
min-height: 48px;
color: #212121;
background-color: #FFFFFF;
border: 1px solid #C8C8C8;
font-weight: 500;
cursor: pointer;
transition-property: color, border;
transition-duration: 250ms;
}
.o-tabslider__button:hover {
color: #F34722;
border-color: #F34722;
}
.o-tabslider__button.is-active {
color: #FFFFFF;
background-color: #F34722;
border-color: #F34722;
}
.o-tabslider__button:focus {
outline: none;
border-color: #F34722;
}
.o-tabslider__button:focus:not(.is-active):not(:active) {
box-shadow: 0 0 0 1px #FFFFFF, 0 0 5px 3px rgba(33, 33, 33, 0.1);
}
@media screen and (max-width: 839px) {
.o-tabslider__controls {
display: none;
}
}
@media screen and (min-width: 840px) {
.o-tabslider__controls {
display: flex;
justify-content: space-between;
align-items: center;
}
}
@media screen and (min-width: 1152px) {
.o-tabslider__controls {
margin-left: 8.3333333333%;
margin-right: 8.3333333333%;
}
}
.o-tabslider__step {
width: 48px;
}
.o-tabslider__step--prev {
transform: rotate(0.5turn);
}
@media screen and (min-width: 840px) {
.o-tabslider__tabs {
display: flex;
}
}
@media screen and (min-width: 1344px) {
.o-tabslider__tabs {
margin: -8px 8px;
}
}
.o-tabslider__tab {
font-size: 0.875rem;
line-height: 1.1428571429;
margin: 8px;
padding: 7px 16px;
text-transform: uppercase;
}
@media screen and (min-width: 840px) {
.o-tabslider__container {
display: -ms-grid;
display: grid;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
margin-top: 48px;
}
}
@media screen and (max-width: 839px) {
.o-tabslider__content + .o-tabslider__content {
margin-top: 12vw;
}
}
@media screen and (min-width: 840px) {
.o-tabslider__content {
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-column: 1;
grid-column: 1;
opacity: 0;
z-index: 0;
transform: translateY(6px);
pointer-events: none;
transform-origin: top center;
transition-property: opacity, transform;
transition-duration: 200ms;
transition-timing-function: ease-in;
}
.o-tabslider__content.is-active {
opacity: 1;
z-index: 1;
transform: none;
pointer-events: all;
transition-duration: 500ms;
transition-delay: 200ms;
transition-timing-function: ease-out;
}
}
.o-tabslider__label {
font-size: 0.875rem;
line-height: 1.1428571429;
display: block;
padding-bottom: 8px;
text-transform: uppercase;
color: #212121;
}
@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: 560px) {
.o-team__matrix {
display: flex;
flex-wrap: wrap;
margin: -16px;
}
}
.o-team__item {
margin: 0 auto 32px;
max-width: 300px;
}
@media screen and (min-width: 560px) {
.o-team__item {
margin: 16px;
max-width: none;
flex: none;
flex-basis: calc(50% - 32px);
}
}
@media screen and (min-width: 900px) {
.o-team__item {
flex-basis: calc(33.33% - 32px);
}
}
@media screen and (min-width: 1200px) {
.o-team__item {
flex-basis: calc(25% - 32px);
}
}
@media screen and (max-width: 1151px) {
.o-usp {
background-color: #F34722;
}
}
@media screen and (min-width: 840px) {
.o-usp__main {
display: flex;
}
}
.o-usp__text {
padding: 32px 0;
color: #FFFFFF;
background-color: #F34722;
}
@media screen and (min-width: 840px) {
.o-usp__text {
width: 62.5%;
padding-top: 6.25%;
padding-bottom: 6.25%;
padding-left: 0;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-usp__text {
width: 50%;
padding: 4.1666666667% 8.3333333333%;
}
}
.o-usp__image {
background-position: 50% 50%;
background-size: cover;
}
@media screen and (max-width: 839px) {
.o-usp__image {
margin-left: -6vw;
margin-right: -6vw;
padding-bottom: 65%;
min-height: 360px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-usp__image {
width: 50%;
margin-right: -12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-usp__image {
width: 50%;
}
}
.o-usp__heading {
font-size: 2rem;
line-height: 1.25;
margin-bottom: 24px;
color: #FFFFFF;
}
.o-usp__list {
list-style-type: none;
margin-left: 16px;
}
.o-usp__item {
position: relative;
padding-left: 16px;
}
.o-usp__item + .o-usp__item {
margin-top: 16px;
}
.o-usp__item::before {
content: "";
position: absolute;
top: 5px;
left: -16px;
width: 16px;
height: 12px;
background-image: url(/img/check/checked.svg);
background-size: 16px 12px;
}
.o-usp__action {
margin-top: 48px;
}
.o-usp__image {
background-color: #F8F8F8;
background-repeat: no-repeat;
}
.o-vacancies {
margin: 0;
padding: 0;
line-height: 1.4;
list-style: none;
}
.o-vacancies > * + * {
margin-top: 16px;
}
.o-vacancies__link {
display: block;
padding: 20px;
border: solid 2px #F34722;
font-size: 1.1em;
color: #F34722;
text-decoration: none;
transition: all 0.2s;
}
.o-vacancies__link:hover {
color: #5c5c5c;
border: solid 2px #5c5c5c;
}
/* 7 - Templates
* Override styling for a specific template
=========================================================== */
/** ==========================================================================
* Templates
* =========================================================================*/
/* 8 - SCOPES
* Elements and classes that are scoped by a parent class
=========================================================== */
.s-checklist {
list-style: none;
margin-left: 0;
}
.s-checklist li {
display: flex;
vertical-align: middle;
margin-top: 5px;
line-height: 1.45;
}
.s-checklist li::before {
content: "";
background-image: url(/img/check/checked.svg);
background-repeat: no-repeat;
width: 12px;
height: 12px;
margin-right: 8px;
transform: translateY(7px);
}
.checklist-has-x-small-font .s-checklist {
font-size: 0.875rem;
line-height: 1.1428571429;
}
.checklist-has-x-small-font .s-checklist li::before {
transform: translateY(5px);
}
/**
* All text elements that can be added by the user through a CMS
*/
.s-text h2, .s-text h3, .s-text h4 {
color: #212121;
}
.s-text > * + * {
margin-top: 32px;
}
.s-text > :first-child {
margin-top: 0 !important;
}
.s-text > * + .c-button {
margin-top: 40px;
}
.s-text > ul:not([class]) {
list-style: none;
}
.s-text > ul:not([class]) > li {
position: relative;
margin-left: -1.125em;
padding-left: 1.125em;
}
.s-text > ul:not([class]) > li::before {
font-size: 1.5rem;
line-height: 1.3333333333;
content: "\2022";
position: absolute;
top: -4px;
left: 0;
}
.s-text > ol:not([class]) {
list-style: none;
counter-reset: ol-counter;
}
.s-text > ol:not([class]) > li {
counter-increment: ol-counter;
position: relative;
margin-left: -1.125em;
padding-left: 1.8em;
}
.s-text > ol:not([class]) > li::before {
content: counter(ol-counter) ". ";
position: absolute;
top: 0;
left: 0;
width: 1.275em;
text-align: right;
}
/* 9 - UTILITIES
* High-specificity, very explicit selectors.
* Overrides and helper classes.
=========================================================== */
/** =====================================================================================
* Color
===================================================================================== */
/**
* Here we print out all our helper classes for our defined colors
* Based on these articles:
* - http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
* - https://blog.atechmedia.com/css-for-multiple-themes/
* Output is in the form of:
.u-color-primary {
color: #bada55;
}
.u-bg-neutral--900 {
background-color: #decaff;
}
*/
.u-color-primary--500 {
color: #F34722;
}
.u-bg-primary--500 {
background-color: #F34722;
}
.u-color-primary--700 {
color: #D63313;
}
.u-bg-primary--700 {
background-color: #D63313;
}
.u-color-secondary--500 {
color: #737373;
}
.u-bg-secondary--500 {
background-color: #737373;
}
.u-color-neutral--0 {
color: #FFFFFF;
}
.u-bg-neutral--0 {
background-color: #FFFFFF;
}
.u-color-neutral--100 {
color: #F8F8F8;
}
.u-bg-neutral--100 {
background-color: #F8F8F8;
}
.u-color-neutral--200 {
color: #F5F5F5;
}
.u-bg-neutral--200 {
background-color: #F5F5F5;
}
.u-color-neutral--300 {
color: #C8C8C8;
}
.u-bg-neutral--300 {
background-color: #C8C8C8;
}
.u-color-neutral--400 {
color: #999999;
}
.u-bg-neutral--400 {
background-color: #999999;
}
.u-color-neutral--500 {
color: #656565;
}
.u-bg-neutral--500 {
background-color: #656565;
}
.u-color-neutral--800 {
color: #212121;
}
.u-bg-neutral--800 {
background-color: #212121;
}
.u-color-neutral--900 {
color: #1D1D1D;
}
.u-bg-neutral--900 {
background-color: #1D1D1D;
}
.u-color-neutral--1000 {
color: #000000;
}
.u-bg-neutral--1000 {
background-color: #000000;
}
.u-color-feedback--action {
color: #4079B8;
}
.u-bg-feedback--action {
background-color: #4079B8;
}
.u-color-feedback--warning {
color: #ffd33a;
}
.u-bg-feedback--warning {
background-color: #ffd33a;
}
.u-color-feedback--alert {
color: #ff8100;
}
.u-bg-feedback--alert {
background-color: #ff8100;
}
.u-color-feedback--negative {
color: #cf3e3e;
}
.u-bg-feedback--negative {
background-color: #cf3e3e;
}
.u-color-feedback--positive {
color: #3ecf8e;
}
.u-bg-feedback--positive {
background-color: #3ecf8e;
}
.u-color-border--0 {
color: #fff;
}
.u-bg-border--0 {
background-color: #fff;
}
.u-color-border--300 {
color: #C8C8C8;
}
.u-bg-border--300 {
background-color: #C8C8C8;
}
.u-color-border--500 {
color: #656565;
}
.u-bg-border--500 {
background-color: #656565;
}
.u-hidden {
display: none !important;
}
.u-placeholder-image {
height: 100% !important;
width: 100% !important;
object-fit: cover !important;
}
.u-text-align-center {
text-align: center !important;
}
/*
* If you need to make a quick fix, you can do it here.
* Later when you have the time, you can move the fix into the correct place in the structure
*/
.u-spacing-mt0 {
margin-top: 0px !important;
}
.u-spacing-mr0 {
margin-right: 0px !important;
}
.u-spacing-mb0 {
margin-bottom: 0px !important;
}
.u-spacing-ml0 {
margin-left: 0px !important;
}
.u-spacing-pt0 {
padding-top: 0px !important;
}
.u-spacing-pr0 {
padding-right: 0px !important;
}
.u-spacing-pb0 {
padding-bottom: 0px !important;
}
.u-spacing-pl0 {
padding-left: 0px !important;
}
.u-spacing-mt1 {
margin-top: 8px !important;
}
.u-spacing-mr1 {
margin-right: 8px !important;
}
.u-spacing-mb1 {
margin-bottom: 8px !important;
}
.u-spacing-ml1 {
margin-left: 8px !important;
}
.u-spacing-pt1 {
padding-top: 8px !important;
}
.u-spacing-pr1 {
padding-right: 8px !important;
}
.u-spacing-pb1 {
padding-bottom: 8px !important;
}
.u-spacing-pl1 {
padding-left: 8px !important;
}
.u-spacing-mt2 {
margin-top: 16px !important;
}
.u-spacing-mr2 {
margin-right: 16px !important;
}
.u-spacing-mb2 {
margin-bottom: 16px !important;
}
.u-spacing-ml2 {
margin-left: 16px !important;
}
.u-spacing-pt2 {
padding-top: 16px !important;
}
.u-spacing-pr2 {
padding-right: 16px !important;
}
.u-spacing-pb2 {
padding-bottom: 16px !important;
}
.u-spacing-pl2 {
padding-left: 16px !important;
}
.u-spacing-mt3 {
margin-top: 24px !important;
}
.u-spacing-mr3 {
margin-right: 24px !important;
}
.u-spacing-mb3 {
margin-bottom: 24px !important;
}
.u-spacing-ml3 {
margin-left: 24px !important;
}
.u-spacing-pt3 {
padding-top: 24px !important;
}
.u-spacing-pr3 {
padding-right: 24px !important;
}
.u-spacing-pb3 {
padding-bottom: 24px !important;
}
.u-spacing-pl3 {
padding-left: 24px !important;
}
.u-spacing-mt4 {
margin-top: 32px !important;
}
.u-spacing-mr4 {
margin-right: 32px !important;
}
.u-spacing-mb4 {
margin-bottom: 32px !important;
}
.u-spacing-ml4 {
margin-left: 32px !important;
}
.u-spacing-pt4 {
padding-top: 32px !important;
}
.u-spacing-pr4 {
padding-right: 32px !important;
}
.u-spacing-pb4 {
padding-bottom: 32px !important;
}
.u-spacing-pl4 {
padding-left: 32px !important;
}
.u-spacing-mt5 {
margin-top: 40px !important;
}
.u-spacing-mr5 {
margin-right: 40px !important;
}
.u-spacing-mb5 {
margin-bottom: 40px !important;
}
.u-spacing-ml5 {
margin-left: 40px !important;
}
.u-spacing-pt5 {
padding-top: 40px !important;
}
.u-spacing-pr5 {
padding-right: 40px !important;
}
.u-spacing-pb5 {
padding-bottom: 40px !important;
}
.u-spacing-pl5 {
padding-left: 40px !important;
}
.u-spacing-mt6 {
margin-top: 48px !important;
}
.u-spacing-mr6 {
margin-right: 48px !important;
}
.u-spacing-mb6 {
margin-bottom: 48px !important;
}
.u-spacing-ml6 {
margin-left: 48px !important;
}
.u-spacing-pt6 {
padding-top: 48px !important;
}
.u-spacing-pr6 {
padding-right: 48px !important;
}
.u-spacing-pb6 {
padding-bottom: 48px !important;
}
.u-spacing-pl6 {
padding-left: 48px !important;
}
.u-spacing-mt7 {
margin-top: 56px !important;
}
.u-spacing-mr7 {
margin-right: 56px !important;
}
.u-spacing-mb7 {
margin-bottom: 56px !important;
}
.u-spacing-ml7 {
margin-left: 56px !important;
}
.u-spacing-pt7 {
padding-top: 56px !important;
}
.u-spacing-pr7 {
padding-right: 56px !important;
}
.u-spacing-pb7 {
padding-bottom: 56px !important;
}
.u-spacing-pl7 {
padding-left: 56px !important;
}
.u-spacing-mt8 {
margin-top: 64px !important;
}
.u-spacing-mr8 {
margin-right: 64px !important;
}
.u-spacing-mb8 {
margin-bottom: 64px !important;
}
.u-spacing-ml8 {
margin-left: 64px !important;
}
.u-spacing-pt8 {
padding-top: 64px !important;
}
.u-spacing-pr8 {
padding-right: 64px !important;
}
.u-spacing-pb8 {
padding-bottom: 64px !important;
}
.u-spacing-pl8 {
padding-left: 64px !important;
}
@media screen and (max-width: 839px) {
.u-spacing-pv {
padding-top: 12vw;
padding-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.u-spacing-pv {
padding-top: 10vw;
padding-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.u-spacing-pv {
padding-top: 7.1428571429vw;
padding-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.u-spacing-pv {
padding-top: 96px;
padding-bottom: 96px;
}
}
@media screen and (min-width: 1152px) {
.u-spacing-pr0\@l {
padding-right: 0 !important;
}
}
/* ==========================================================================
* This grid can be turned on and off when you want to check
* if everything is nice in place.
* Set flag 'showGrid' to true in site.php
* ========================================================================== */
.u-visible-grid {
z-index: 10000;
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
position: fixed;
left: 0;
right: 0;
width: 100%;
pointer-events: none;
/* 8 point grid lines */
}
@media screen and (min-width: 840px) {
.u-visible-grid {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.u-visible-grid {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.u-visible-grid {
padding: 0;
}
}
.u-visible-grid__main {
height: 100vh;
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 25%, rgba(0, 43, 255, 0.04) 25%, rgba(0, 43, 255, 0.04) 50%);
}
@media screen and (min-width: 840px) {
.u-visible-grid__main {
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 12.5%, rgba(0, 43, 255, 0.04) 12.5%, rgba(0, 43, 255, 0.04) 25%);
}
}
@media screen and (min-width: 1152px) {
.u-visible-grid__main {
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 8.3333333333%, rgba(0, 43, 255, 0.04) 8.3333333333%, rgba(0, 43, 255, 0.04) 16.6666666667%);
}
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbmZpZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLnR5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xLVNldHRpbmdzL19zZXR0aW5ncy5icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMubWVkaWFRdWVyaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMudG9vbGJveC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLnppbmRleC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmJhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8zLUVsZW1lbnRzL19lbGVtZW50cy5oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmxpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNC1MYXlvdXRzL19sYXlvdXRzLmNvbnRhaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMuc3BsaXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMucmVzdHJpY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZ2hvc3RidXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY2FyZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jb25uZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmRhdGEuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZG93bmxvYWRMaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvcm1Hcm91cC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5mb3JtRmVlZGJhY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaGFtYnVyZ2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhlYWRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaGVyby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5pbnB1dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5sYW5ndWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdlVGl0bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucHJvamVjdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNlcnZpY2VQb2ludC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zaXRlbWFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNraXBMaW5rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNsaWRlLWluZGljYXRvci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zdWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudGV4dC1idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudHJhZGVtYXJrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5ibG9jay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuYm9keS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY2FsbG91dEJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY2FyZC1ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5jb250YWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5jb29raWVCYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmRvdWJsZUltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5kb3VibGVUZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5kb3dubG9hZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmZvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZm9ybS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5pbnRyby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMubG9nb3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm1hcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMubmV3cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMub3ZlcmxheU1lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnF1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5yZWZlcmVuY2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5zdWJmb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRhYnNsaWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudGVhbS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudXNwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy52YWNhbmNpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy83LVRlbXBsYXRlcy9fdGVtcGxhdGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOC1TY29wZXMvX3Njb3Blcy5jaGVja2xpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy84LVNjb3Blcy9fc2NvcGVzLnRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzktVXRpbGl0aWVzL191dGlsaXRpZXMuaGVscGVycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzktVXRpbGl0aWVzL191dGlsaXRpZXMuc2hhbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLnNwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLnZpc2libGVHcmlkLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWdCO0FBQ2hCOzs7Ozs7O2dFQUFBO0FDREE7Ozs7K0RBQUE7QUE4Q0E7Ozs7Ozs7Ozs7OztHQUFBO0FDOUNBOzs4Q0FBQTtBQUlBOzs7RUFBQTtBQ0pBOzs7O2dFQUFBO0FBTUE7O0dBQUE7QUErQ0E7O0dBQUE7QUNyREE7O2tEQUFBO0FKY0E7OytEQUFBO0FLZEE7OytFQUFBO0FBSUE7OztJQUFBO0FBa0JBOzs7SUFBQTtBQVFBOztJQUFBO0FDOUJBOztnRkFBQTtBQUtBOzs7Ozs7Ozs7R0FBQTtBQ0xBO2dEQUFBO0FDQUE7O3NEQUFBO0FBS0E7Ozs7Ozs7Ozs7R0FBQTtBQWlDQTs7OztHQUFBO0FBZUE7QUFPQTtBQU9BO0FBa0JBOzs7Ozs7Ozs7OztHQUFBO0FBd0JBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUFpQ0E7O0dBQUE7QUFTQTs7Ozs7Ozs7Ozs7OztHQUFBO0FBMEJBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBZ0JBOzs7O0dBQUE7QUFrQkE7OztHQUFBO0FBd0JBOztHQUFBO0FDM09BOzs7d0dBQUE7QUFpQkE7Ozs7O0dBQUE7QVRLQTs7K0RBQUE7QVV0QkE7O2dGQUFBO0FBSUE7Ozs7Ozs7O0dBQUE7QUFVQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDVndMRjs7QVVyTEE7RUpTTTtFQVJBO0VJQ0o7RUFDQSxpQlBma0I7RU9nQmxCLGtDUCtCYTtFTzlCYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFjO0NWMExoQjs7QVV2TEE7RUFDRTtFQUNBO0VBQ0E7Q1YwTEY7O0FVdExBOzs7Ozs7R0FBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0NWeUxGO0FVdkxFO0VBR0U7Q1Z1TEo7O0FVbkxBOztHQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFBbUI7Q1Z1THJCOztBVXBMQTtHQUFBO0FBRUE7RUFDRTtDVnVMRjs7QVVwTEE7Ozs7O0dBQUE7QUFNQTtFQUNFO0VBQXdCO0VBQ3hCO0VBQWM7RUFDZDtDVnlMRjs7QVV0TEE7OztHQUFBO0FBSUE7OztFQUdFO0NWeUxGOztBVXBMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO1VBQUE7Q1Z1TEY7QVVyTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDVnVMSjtBVW5MSTtFQUNFO0VBQ0E7RUFDQTtDVnFMTjs7QVU3S0E7Ozs7RUFJRTtFQUNBO0NWZ0xGOztBVzFUQTtFTGdDTTtFQVJBO0NOdVNOOztBVzNUQTtFTDRCTTtFQVJBO0VLbEJMO0NYK1REOztBVzVUQTtFTHVCTTtFQVJBO0VLYkw7Q1hnVUQ7O0FXN1RBO0VMa0JNO0VBUkE7RUtSTDtDWGlVRDs7QVc5VEE7RUxhTTtFQVJBO0VLSEw7Q1hrVUQ7O0FZdlZBOzt5RkFBQTtBQUtBOztHQUFBO0FBSUE7O0VBRUM7RUFDQTtFQUNBO0NadVZEOztBWXBWQTtFQUNDO0NadVZEOztBWWxWQTs7R0FBQTtBQUtDOztFQUVDO0NabVZGOztBQWxWQTs7K0RBQUE7QWE5QkE7O2dGQUFBO0FBS0E7RUwyT0M7RUFDQTtFQUNBO0NSMElEO0FPclZDO0VNbENEO0lMaVBJO0dSMElGO0NBQ0Y7QU8xVkM7RU1sQ0Q7SUx3UEU7SUFDQTtHUndJQTtDQUNGOztBY3ZZQTs7OztvRkFBQTtBQU9BO0VBQ0M7RUFDQTtFQUNBO0Nkd1lEO0FPM1dDO0VPaENEO0lBT0U7R2R3WUE7Q0FDRjs7QWNwWUE7OztHQUFBO0FBS0E7RU53TkM7RUFDQTtFQUNBO0NSK0tEO0FPMVhDO0VPZkQ7SU5nT0c7R1I2S0Q7Q0FDRjtBTy9YQztFT2ZEO0lOcU9FO0lBQ0E7R1I2S0E7Q0FDRjs7QU9yWUM7RU9WRDtJQUlFO0dkZ1pBO0NBQ0Y7QU8zWUM7RU9GQTtJQUVFO0lBQ0E7R2QrWUQ7Q0FDRjtBT2paQztFT0ZBO0lBTUU7SUFDQTtHZGlaRDtDQUNGO0FPdlpDO0VPVUE7SU51REs7R1IwVko7Q0FDRjtBTzVaQztFT1VBO0lBTUU7R2RnWkQ7Q0FDRjtBYzNZRTtFQUNDO0NkNllIO0FPcGFDO0VPc0JDO0lBSUU7SUFDQTtHZDhZRjtDQUNGO0FPMWFDO0VPc0JDO0lBUUU7R2RnWkY7Q0FDRjs7QU8vYUM7RU91Q0U7SUFDQztJQUNBO0lBQ0E7R2Q0WUY7RWMxWUM7SUFDQztHZDRZRjtDQUNGO0FjdFlBOzs7R0FBQTtBUHBEQztFT3dERDtJQUVFO0lBQ0E7SUFDQTtJQUNBO0dkd1lBO0NBQ0Y7QU90Y0M7RU93REQ7SUFRRTtJQUNBO0dkMFlBO0NBQ0Y7O0FjcFlBO0VBQ0M7RUFDQTtDZHVZRDtBT2pkQztFT3dFRDtJQUtFO0lBQ0E7R2R3WUE7Q0FDRjs7QU92ZEM7RU9xRkE7SUFDQztHZHNZQTtDQUNGO0FlcGdCQTs7Ozs7Z0ZBQUE7QVJ1Q0M7RVEvQkQ7SUFFSTtJQUNBO0lBQ0E7SUFDQTtHZm9nQkY7Q0FDRjtBTzNlQztFUS9CRDtJQVFJO0dmc2dCRjtDQUNGOztBT2hmQztFUW5CRDtJQUVJO0lBQ0E7SUFDQTtHZnNnQkY7Q0FDRjtBT3hmQztFUW5CRDtJQVFJO0dmdWdCRjtDQUNGOztBQTlmQTs7OytEQUFBO0FnQnRDQTs7OEVBQUE7QUNBQTtFQUNDO0NqQjhpQkQ7O0FpQjNpQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDakI4aUJEOztBaUIxaUJBO0VBQ0M7RUFDQTtDakI2aUJEO0FpQjFpQkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7Q2pCMmlCSDs7QWlCdGlCQTtFQUNDO0VBQ0E7Q2pCeWlCRDtBaUJ2aUJDO0VBQ0M7Q2pCeWlCRjs7QWtCbGtCQTtFVjhKRTtFRjFJSTtFQVJBO0VZVEw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEJza0JEO0FrQnBrQkM7RUFDQztFQUNBO0NsQnNrQkY7QWtCcGtCQztFQUNDO0VBQ0E7Q2xCc2tCRjtBa0Jwa0JDO0VBQ0M7RUFDQTtDbEJza0JGO0FrQmxrQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEJva0JGO0FrQmprQkM7RUFDQztFQUNBO0NsQm1rQkY7O0FrQi9qQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDbEJra0JEO0FrQmhrQkM7RUFDQztDbEJra0JGOztBa0I5akJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQmlrQkQ7QWtCL2pCQztFQUNDO0NsQmlrQkY7QWtCN2pCQztFQUNDO0VBQ0E7Q2xCK2pCRjtBa0I1akJDO0VBQ0M7RUFDQTtDbEI4akJGOztBa0J6akJBO0VBQ0M7Q2xCNGpCRDtBa0IxakJDO0VBQ0M7Q2xCNGpCRjs7QW1CdHFCQTs7Z0ZBQUE7QUFTQTtFWGlLRTtFRjFJSTtFQVJBO0VhWkw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25Cb3FCRDtBbUJscUJDO0VBQ0M7RUFDQTtDbkJvcUJGO0FtQmpxQkM7RUFDQztFQUNBO0NuQm1xQkY7QW1CanFCQztFQUNDO0VBQ0E7Q25CbXFCRjtBbUIvcEJDO0VYaUlDO0VXL0hBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQmlxQkY7QW1CN3BCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25CK3BCSDs7QW1CMXBCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NuQjZwQkQ7QW1CM3BCQztFQUNDO0NuQjZwQkY7O0FtQnpwQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25CNHBCRDtBbUIxcEJDO0VBQ0M7Q25CNHBCRjtBbUJ6cEJDO0VBQ0M7RUFDQTtDbkIycEJGO0FtQnZwQkM7RUFDQztFQUNBO0NuQnlwQkY7O0FvQjd1QkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQmd2QkQ7O0FvQjd1QkE7O0dBQUE7QUFHQTtFQUVDO0VBQ0E7Q3BCK3VCRDtBUTFpQkM7RUFFQztDUjJpQkY7QW9CaHZCQztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEJpdkJGO0FvQjd1QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQit1QkY7QW9CMXVCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEI0dUJGO0FvQnZ1QkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtDcEJ5dUJIO0FvQnR1QkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtDcEJ3dUJIO0FvQnJ1QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDcEJ1dUJGOztBb0JudUJBO0VBQ0M7RUFDQTtFQUNBO0NwQnN1QkQ7O0FvQm51QkE7RUFDQztFQUNBO0VBQ0E7Q3BCc3VCRDs7QW9CbnVCQTtFZDNFTTtFQVJBO0VjcUZMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCdXVCRDtBb0JydUJDO0VBQ0M7Q3BCdXVCRjtBb0JudUJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQm91QkY7QW9CbHVCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQm91Qkg7O0FvQi90QkE7RUFDQztFQUNBO0NwQmt1QkQ7O0FvQmh1QkE7RWQ3SE07RUFSQTtFY3VJTDtDcEJvdUJEOztBb0JsdUJBO0VBQ0M7Q3BCcXVCRDs7QW9CbnVCQTtFQUNDO0NwQnN1QkQ7QW9CbnVCQztFQUNDO0NwQnF1QkY7O0FxQnA0QkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckJ1NEJEO0FxQnI0QkM7RUFDQztDckJ1NEJGO0FxQnA0QkM7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckJxNEJGO0FxQm40QkM7RUFDQztDckJxNEJGO0FxQm40QkM7RUFDQztDckJxNEJGO0FxQmw0QkM7RUFDQztDckJvNEJGOztBc0IxNkJBO0VBQ0M7RUFDQTtFQUNBO0N0QjY2QkQ7QU9yNUJDO0VlM0JEO0lBTUU7R3RCODZCQTtDQUNGOztBc0IxNkJBO0VoQlNNO0VBUkE7RWdCRUw7RUFDQTtFQUNBO0VBQ0E7Q3RCNjZCRDtBUXZ1QkM7RUFFQztDUnd1QkY7QXNCOTZCQztFaEJDSztFQVJBO0NOeTdCTjtBc0I5NkJDO0VBQ0M7RUFDQTtDdEJnN0JGO0FzQjc2QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDdEIrNkJGOztBc0IxNkJBO0VBQ0M7RUFDQTtDdEI2NkJEO0FPejdCQztFZVVEO0lBS0U7R3RCODZCQTtDQUNGOztBdUIxOUJBO0VBQ0M7Q3ZCNjlCRDs7QXVCMTlCQTtFQUNDO0N2QjY5QkQ7O0F1QjE5QkE7RUFDQztFQUNBO0VBQ0E7Q3ZCNjlCRDs7QXVCMTlCQTtFQUNJO0VBQ0g7Q3ZCNjlCRDtBUXJ4QkM7RUFFQztDUnN4QkY7QXVCMzlCRTtFQUNDO0N2QjY5Qkg7QXVCMzlCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N2QjY5Qkg7O0F3QnBnQ0E7RUFDRTtFQUNBO0VBQ0E7Q3hCdWdDRjs7QXdCcGdDQTtFQUNFO0VBQ0E7Q3hCdWdDRjtBd0JyZ0NFO0VBQ0U7Q3hCdWdDSjs7QXdCbmdDQTtFQUNFO0VBQ0E7RUFDQTtDeEJzZ0NGOztBd0JuZ0NBO0VBQ0U7RUFDQTtDeEJzZ0NGO0F3QnBnQ0U7RUFDRTtDeEJzZ0NKOztBd0JsZ0NBO0VBQ0U7RUFDQTtDeEJxZ0NGO0F3Qm5nQ0U7RUFDRTtDeEJxZ0NKOztBeUI3aENBO0VuQnFCTTtFQVJBO0VtQlhKO0VBQ0E7RUFDQTtDekJpaUNGOztBeUI5aENBO0VBQ0U7Q3pCaWlDRjtBeUIvaENFO0VuQldJO0VBUkE7RW1CREY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pCa2lDSjs7QTBCbmpDQTtFcEJvQk07RUFSQTtFRStJSjtFa0J4SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUJ1akNGO0EwQnJqQ0U7RUFDRTtDMUJ1akNKO0EwQnBqQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQnNqQ0o7QTBCbmpDRTtFQUNFO0MxQnFqQ0o7O0EyQmxsQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0JxbENEO0EyQm5sQ0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDM0JxbENGO0EyQmxsQ0M7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCa2xDRjtBMkIva0NDO0VBQ0M7RUFDQTtDM0JpbENGO0EyQjlrQ0M7RUFDQztFQUNBO0MzQmdsQ0Y7QTJCNWtDRTtFQUNDO0MzQjhrQ0g7QTJCNWtDRTtFQUVDO0MzQjZrQ0g7QTJCeGtDRTtFQUNDO0MzQjBrQ0g7QTJCeGtDRTtFQUNDO0VBQ0E7QzNCMGtDSDtBMkJ4a0NFO0VBQ0M7RUFDQTtDM0Iwa0NIOztBNEJ2cENBO0V0QmdDTTtFQVJBO0VzQnRCTDtFQUNBO0M1QjJwQ0Q7O0FPdm5DQztFcUJqQ0Q7SUFFRTtHNUIycENBO0NBQ0Y7O0FPN25DQztFc0I1QkQ7SXJCcU9DO0lBQ0E7SUFDQTtHUnk3QkM7Q0FDRjtBT3JvQ0M7RXNCNUJEO0lyQjJPSTtHUjA3QkY7Q0FDRjtBTzFvQ0M7RXNCNUJEO0lyQmtQRTtJQUNBO0dSdzdCQTtDQUNGOztBNkJ0cUNBO0VBQ0U7RUFDQTtDN0J5cUNGO0E2QnZxQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3QnlxQ0o7O0E2QnBxQ0E7RUFDRTtFQUNBO0VBQ0E7QzdCdXFDRjtBT3JxQ0M7RXNCTEQ7SUFNSTtHN0J3cUNGO0NBQ0Y7O0E2QnJxQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3QndxQ0Y7QTZCdHFDRTtFQUNFO0VBQ0E7RUFDQTtDN0J3cUNKOztBNkJwcUNBO0VBQ0U7QzdCdXFDRjs7QTZCcHFDQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCc3FDRjtBT3pzQ0M7RXNCMEJEO0lBWUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHN0J1cUNGO0NBQ0Y7QU9sdENDO0VzQjBCRDtJQXFCSTtJQUNBO0lBQ0E7RzdCdXFDRjtDQUNGO0FPenRDQztFc0IwQkQ7SUEyQkk7SUFDQTtJQUNBO0lBQ0E7RzdCd3FDRjtDQUNGOztBNkJycUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0J3cUNGO0E2QnRxQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3QndxQ0o7O0E2QmxxQ0E7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3QmlxQ0Y7QU9wd0NDO0VzQmlGRDtJQUVJO0c3QnFyQ0Y7Q0FDRjtBNkJwcUNFO0VBQ0U7QzdCc3FDSjtBNkJucUNFO0VBQ0U7RUFDQTtDN0JxcUNKO0E2Qm5xQ0k7RUFDRTtDN0JxcUNOO0E2QmpxQ0U7RUFDRTtFQUNBO0VBQ0E7QzdCbXFDSjs7QThCaHpDQTtFeEJpQk07RUFSQTtFd0JQTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlCb3pDRDtBOEJsekNDO0VBQ0M7RUFDQTtDOUJvekNGO0E4Qmp6Q0M7RUFDQztFQUNBO0M5Qm16Q0Y7QThCaHpDVTtFQUNSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlCa3pDRjs7QStCMzBDQTtFQUNDO0MvQjgwQ0Q7O0ErQjMwQ0E7RXpCY007RUFSQTtFRStJSjtFdUJsSkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtDL0IrMENEO0ErQjcwQ0M7RUFDQztDL0IrMENGOztBK0J2MENBO0VBQ0M7RUFDQTtDL0IwMENEOztBK0J2MENBO0VBQ0M7RUFDQTtDL0IwMENEOztBK0J2MENBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvQjAwQ0Q7QStCeDBDQztFQUNDO0VBQ0E7RUFDQTtDL0IwMENGOztBK0J0MENBO0VBQ0M7RUFDQTtDL0J5MENEO0ErQnYwQ0M7RUFDQztDL0J5MENGO0ErQnQwQ0M7RUFDQztDL0J3MENGO0ErQnIwQ0M7RUFDQztDL0J1MENGO0ErQnAwQ0M7RUFDQztDL0JzMENGOztBK0JsMENBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9CcTBDRDtBK0JuMENDO0VBQ0M7RUFDQTtDL0JxMENGOztBZ0N6NkNBOztFQUFBO0FBV0E7RUFDQztFQUNBO0NoQ282Q0Q7O0FnQ2o2Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDbzZDRDs7QWdDaDZDQTtFMUJFTTtFQVJBO0UwQlFMO0VBQ0E7Q2hDbzZDRDtBZ0NsNkNDO0VBQ0M7Q2hDbzZDRjs7QWdDLzVDQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDaTZDRDtBUTd1Q0M7RUFFQztDUjh1Q0Y7QWdDbDZDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoQ282Q0Y7QWdDajZDQztFQUNDO0NoQ202Q0Y7QWdDajZDRTtFQUNDO0VBQ0E7Q2hDbTZDSDtBZ0M5NUNDO0VBQ0M7RUFDQTtDaENnNkNGO0FnQzk1Q0U7RUFDQztFQUNBO0VBQ0E7Q2hDZzZDSDtBZ0M1NUNDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2hDODVDRjs7QWlDNStDQTtFQUNDO0VBQ0E7RUFDQTtFekIySkM7RXlCekpEO0VBQ0E7RUFDQTtFQUNBO0NqQysrQ0Q7O0FpQzUrQ0E7RUFDQztFQUNBO0VBQ0E7Q2pDKytDRDtBT2wrQ0M7RTBCaEJEO0lBT0U7R2pDKytDQTtFaUM3K0NBO0lBSUM7R2pDNCtDRDtFaUN6K0NBO0lBQ0M7R2pDMitDRDtDQUNGO0FpQ3grQ0M7RUFDQztFQUNBO0NqQzArQ0Y7O0FpQ3QrQ0E7Ozs7RUFJQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pDeStDRDs7QWlDdCtDQTtFQUNDO0VBQ0E7Q2pDeStDRDs7QWlDdCtDQTtFQUNDO0VBQ0E7RUFDQTtDakN5K0NEO0FpQ3YrQ0M7RUFDQztFQUNBO0NqQ3krQ0Y7QWlDdCtDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0NqQ3crQ0Y7O0FpQ3ArQ0E7O0VBRUM7RUFDQTtDakN1K0NEO0FpQ3IrQ0M7O0VBQ0M7RUFDQTtDakN3K0NGOztBaUNwK0NBO0VBQ0M7Q2pDdStDRDs7QWtDeGtEQTs7R0FBQTtBQUlBO0UxQjRPQztFQUNBO0VBQ0E7RUF6QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMEJ0TkM7RUFDQTtFQUNBO0NsQ2dsREY7QU9sakRDO0UyQm5DRDtJMUJrUEk7R1J1MkNGO0NBQ0Y7QU92akRDO0UyQm5DRDtJMUJ5UEU7SUFDQTtHUnEyQ0E7Q0FDRjtBTzdqREM7RTJCbkNEO0lBUUk7SUFDQTtHbEM0bERGO0NBQ0Y7O0FrQ3psREE7RUFDRTtFQUNBO0VBQ0E7Q2xDNGxERjtBT3prREM7RTJCdEJEO0lBTUk7R2xDNmxERjtDQUNGO0FPOWtEQztFMkJ0QkQ7SUFTSTtHbEMrbERGO0NBQ0Y7O0FPbmxEQztFMkJURDtJQUVJO0lBQ0E7R2xDK2xERjtDQUNGOztBa0M1bERBO0U1QkxNO0VBUkE7RTRCZUo7Q2xDZ21ERjs7QWtDN2xEQTtFNUJWTTtFQVJBO0U0Qm9CSjtDbENpbURGOztBbUM3b0RBO0VBQ0M7RUFDQTtDbkNncEREOztBbUM1b0RBO0VBQ0M7RUFBQTtFQUNBO0VBQUE7RUFDQTtFQUFBO0VBQ0E7Q25DK29ERDs7QW1DM29EQTtFN0JrQk07RUFSQTtFNkJSTDtFQUFBO0VBQ0E7RUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7Q25DK29ERDs7QW1DM29EQTtFQUNDO0VBQUE7RUFDQTtFQUFBO0VBQ0E7TUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkM4b0REO0FtQzVvREM7RUFDQztDbkM4b0RGO0FtQzNvREM7RUFDQztDbkM2b0RGOztBbUN4b0RBO0VBQ0M7RUFBQTtFQUNBO0VBQUE7RUFDQTtNQUFBO0VBQ0E7RUFDQTtDbkMyb0REOztBbUN2b0RBO0VBRUM7RUFDQTtFQUNBO0NuQ3lvREQ7QU81cERDO0U0QmVEO0lBT0U7R25DMG9EQTtDQUNGOztBb0Nwc0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEN1c0REOztBb0Nuc0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsbUJBaEJvQjtFQWlCcEI7Q3BDc3NERDs7QW9DbHNEQTtFNUJtTUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFNEJyTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQ3lzREQ7QU8vckRDO0U2QmpCRDtJQVVFO0dwQzBzREE7Q0FDRjs7QW9DdHNEQTtFQUNDO0NwQ3lzREQ7O0FvQ3JzREE7RUFDQztDcEN3c0REOztBb0Nwc0RBO0U5QmZNO0VBUkE7RThCeUJMO0VBQ0E7Q3BDd3NERDs7QW9DcHNEQTtFOUJ0Qk07RUFSQTtFOEJnQ0w7Q3BDd3NERDs7QXFDaHdEQTtFL0JnQ007RUFSQTtFK0J0Qkw7Q3JDb3dERDs7QXFDandEQTtFQUNDO0VBQ0E7RUFDQTtDckNvd0REO0FxQ2x3REM7RUFDQztFQUNBO0NyQ293REY7O0FzQ2h4REE7O0dBQUE7QUFJQTtFaEM0Qk07RUFSQTtFZ0NsQko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N0Q214REY7QXNDanhERTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBVTtDdENveERkOztBdUNqeERBO0VBQ0M7RUFDQTtFQUNBO0N2Q294REQ7O0F1Q2p4REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZDb3hERDtBdUNseERDO0VBQ0M7Q3ZDb3hERjtBdUNqeERDO0VBQ0M7Q3ZDbXhERjtBdUNoeERDO0VBQ0M7Q3ZDa3hERjtBdUMvd0RDO0VBQ0M7RUFDQTtDdkNpeERGO0F1Qzl3REM7RUFDQztFQUNBO0N2Q2d4REY7O0F1QzV3REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZDK3dERDtBdUM3d0RDO0VBQ0M7Q3ZDK3dERjtBdUM1d0RDO0VBRUM7Q3ZDNndERjtBdUMxd0RDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUM7Q3ZDMHdESDtBdUN0d0RDO0VBRUMsNEJBRFM7RUFFVCw4QkFGUztFQUdULCtCQUhTO0VBSVQsNkJBSlM7RUFLVDtDdkN1d0RGO0F1Q3B3REM7RUFFQyw2QkFEUztFQUVULCtCQUZTO0VBR1QsZ0NBSFM7RUFJVCw4QkFKUztFQUtUO0VBQ0E7RUFDQTtDdkNxd0RGO0F1Q2p3REU7RUFDQztFQUNBO0VBQ0E7Q3ZDbXdESDtBdUNod0RFO0VBQ0M7RUFDQTtDdkNrd0RIO0F1Qzl2REM7RUFDQztDdkNnd0RGO0F1Qzl2REU7RUFFQztDdkMrdkRIO0F1QzV2REU7RUFFQztDdkM2dkRIOztBd0N0M0RBO0VBQ0M7Q3hDeTNERDs7QXdDcjNEQTtFQUNDO0VBQ0E7Q3hDdzNERDtBT3IyREM7RWlDckJEO0lBS0U7R3hDeTNEQTtDQUNGOztBd0NyM0RBO0VBQ0M7Q3hDdzNERDs7QXdDcDNEQTtFQUNDO0VBQ0E7RUFDQTtDeEN1M0REOztBd0NuM0RBO0VBQ0M7Q3hDczNERDs7QXdDbDNEQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4Q28zREQ7QVF0c0RDO0VBRUM7Q1J1c0RGO0F3Q3IzREM7RUFDQztDeEN1M0RGO0F3Q3AzREM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDeENzM0RGO0F3Q24zREM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4Q3EzREY7QXdDbjNERTtFQUNDO0VBQ0E7Q3hDcTNESDs7QXdDLzJEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeENrM0REO0F3Q2gzREM7RUFDQztFQUNBO0VBQ0E7Q3hDazNERjs7QXdDMzJEQztFQUNDO0VBQ0E7Q3hDODJERjtBd0M1MkRFO0VBQ0M7RUFDQTtDeEM4MkRIO0F3QzEyREM7RUFDQztDeEM0MkRGOztBeUNuOURBOzs7R0FBQTtBQUtBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFBd0M7RUFDeEM7RUFBWTtFQUNaO0VBQStCO0VBQy9CO0VBQWM7RUFDZDtFQUNBO0VBQ0E7Q3pDdzlERDtBUS93REM7RUFFQztDUmd4REY7QXlDejlEQztFQUNDO0N6QzI5REY7QXlDejlEQztFQUNDO0VBQ0E7Q3pDMjlERjtBeUN6OURDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3pDMjlERjs7QXlDdjlEQTtFbkNYTTtFQVJBO0NOKytETjs7QXlDeDlEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N6QzI5REQ7QXlDejlEQztFQUNDO0N6QzI5REY7QXlDeDlEQztFQUNDO0N6QzA5REY7O0F5Q3A5REM7RUFBc0I7Q3pDdzlEdkI7QXlDdjlEQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pDeTlERjtBeUN2OURDO0VBQ0M7Q3pDeTlERjs7QTBDemhFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFDMmhFRDtBUXYwREM7RUFFQztDUncwREY7QTBDNWhFQztFQUNDO0MxQzhoRUY7QTBDM2hFQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0MxQzZoRUY7O0EwQ3poRUE7RUFDQztFQUNBO0MxQzRoRUQ7O0EwQ3poRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQzRoRUQ7QTBDMWhFQztFQUNDO0MxQzRoRUY7O0EyQ3RrRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzQ3lrRUY7O0EyQ3RrRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzQ3lrRUY7O0FBdmlFQTs7K0RBQUE7QTRDL0NBOzs4RUFBQTtBQ29CQTtFckM0TkM7RUFDQTtFQUNBO0NSZzNERDtBTzNqRUM7RXNDbkJEO0lyQ2tPSTtHUmczREY7Q0FDRjtBT2hrRUM7RXNDbkJEO0lyQ3lPRTtJQUNBO0dSODJEQTtDQUNGOztBNkNybEVBO0VyQ2tKRTtFcUMvSUQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdDdWxFRDtBUTE2REM7RUFDQyxpQnFDdExZO0M3Q2ttRWQ7QTZDeGxFQztFQUNDO0M3QzBsRUY7O0E2Q3RsRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdDeWxFRDtBT25tRUM7RXNDQ0Q7SUFZRTtHN0MwbEVBO0NBQ0Y7QU94bUVDO0VzQ0NEO0lBZUU7RzdDNGxFQTtDQUNGO0E2Q3psRUM7RUFDQztDN0MybEVGOztBNkN2bEVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0MwbEVEO0FPam9FQztFc0N5QkQ7SUFpQkU7RzdDMmxFQTtDQUNGO0FPdG9FQztFc0N5QkQ7SUFvQkU7RzdDNmxFQTtDQUNGO0E2QzNsRUM7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3QzRsRUY7QTZDeGxFRTtFQUNDO0M3QzBsRUg7QTZDdGxFQztFQUNDO0M3Q3dsRUY7QTZDdGxFRTtFQUNDO0M3Q3dsRUg7O0E2Q25sRUE7RXZDckZNO0VBUkE7RXVDK0ZMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0N1bEVEO0FPNXFFQztFc0M4RUQ7SXZDckZNO0lBUkE7R05nc0VKO0NBQ0Y7O0E2Q3RsRUE7QUFDQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0M3Q3VsRUQ7QVE3aEVDO0VBQ0MsbUJBRjJCO0NSaWlFN0I7QU9oc0VDO0VzQzZGRDtJQVlFO0c3QzJsRUE7Q0FDRjtBT3JzRUM7RXNDNkZEO0lBZUU7RzdDNmxFQTtDQUNGO0E2QzNsRUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0M3QzRsRUY7O0FPcHRFQztFdUN2Q0Q7SXRDd0dNO0dSd3BFSjtDQUNGO0FPMXRFQztFdUN2Q0Q7SXRDK0hNO0dSc29FSjtDQUNGO0FPL3RFQztFdUN2Q0Q7SXRDb0lNO0dSc29FSjtDQUNGO0FPcHVFQztFdUN2Q0Q7SXRDeUlNO0dSc29FSjtDQUNGO0FPenVFQztFdUNqQ0E7SXRDa0dLO0dSNHFFSjtDQUNGO0FPOXVFQztFdUNqQ0E7SXRDeUhLO0dSMHBFSjtDQUNGO0FPbnZFQztFdUNqQ0E7SXRDOEhLO0dSMHBFSjtDQUNGO0FPeHZFQztFdUNqQ0E7SXRDbUlLO0dSMHBFSjtDQUNGOztBK0NweUVDOzs7RUFBQTtBQU1EO0V0Q21CQztFc0NqQkE7RUFDQTtDL0NxeUVEOztBZ0RueUVBO0V4QzhNQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0V3Q2hOQTtFQUNBO0VBQ0U7Q2hEMHlFSDs7QWdEdnlFQTtFeEM4TkM7RUFDQTtFQUNBO0NSNmtFRDtBT3h4RUM7RXlDckJEO0l4Q29PSTtHUjZrRUY7Q0FDRjtBTzd4RUM7RXlDckJEO0l4QzJPRTtJQUNBO0dSMmtFQTtDQUNGO0FPbnlFQztFeUNyQkQ7SXhDc0ZNO0lBQUE7R1J1dUVKO0NBQ0Y7QU96eUVDO0V5Q3JCRDtJeEM2R007SUFBQTtHUnN0RUo7Q0FDRjtBTy95RUM7RXlDckJEO0l4Q2tITTtJQUFBO0dSdXRFSjtDQUNGO0FPcnpFQztFeUNyQkQ7SXhDdUhNO0lBQUE7R1J3dEVKO0NBQ0Y7QU8zekVDO0V5Q2JBO0l4QzhFSztHUjh2RUo7Q0FDRjtBT2gwRUM7RXlDYkE7SXhDcUdLO0dSNHVFSjtDQUNGO0FPcjBFQztFeUNiQTtJeEMwR0s7R1I0dUVKO0NBQ0Y7QU8xMEVDO0V5Q2JBO0l4QytHSztHUjR1RUo7Q0FDRjs7QWdEcDFFQTtFQUNDO0NoRHUxRUQ7O0FnRG4xRUE7RTFDUE07RUFSQTtDTnUyRU47O0FpRC8zRUE7OztHQUFBO0ExQ3VDQztFMEN4QkQ7SUFFSTtJQUNBO0dqRHUzRUY7Q0FDRjs7QU9uMkVDO0UwQ2JHO0lBQ0U7R2pEbzNFSjtDQUNGO0FPejJFQztFMENqQkQ7SUFXSTtJQUNBO0dqRG0zRUY7Q0FDRjtBTy8yRUM7RTBDakJEO0lBaUJJO0lBRUE7SUFDQTtHakRrM0VGO0VpRGgzRUU7SUFDRTtHakRrM0VKO0VpRC8yRUU7SUFDRTtHakRpM0VKO0NBQ0Y7QU81M0VDO0UwQ2pCRDtJQWlDSTtJQUVBO0lBQ0E7R2pEKzJFRjtFaUQ3MkVFO0lBQ0U7R2pEKzJFSjtFaUQ1MkVFO0lBQ0UsaUJBekRrQjtHakR1NkV0QjtDQUNGOztBa0R0NkVBO0VBQ0M7RUFDQTtDbER5NkVEO0FPOTRFQztFMkM3QkQ7SUFLRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0dsRDA2RUE7Q0FDRjs7QWtEdDZFQTtFQUdDO0VBQ0Esa0JoRFN3QjtFZ0RSeEIsbUJoRFF3QjtDRis1RXpCO0FPNzVFQztFMkNmRDtJMUNrUEU7SUFDQTtHUjhyRUE7Q0FDRjtBT242RUM7RTJDZkQ7STFDa1BFO0lBQ0E7R1Jvc0VBO0NBQ0Y7QU96NkVDO0UyQ2ZEO0lBU0U7SUFDQTtJQUNBO0lBQ0E7R2xEbTdFQTtDQUNGOztBa0RoN0VBO0VBR0M7RUFDQTtFQUNBO0NsRGk3RUQ7QU92N0VDO0UyQ0NEO0kxQ2tPRTtJQUNBO0dSd3RFQTtDQUNGO0FPNzdFQztFMkNDRDtJMUNrT0U7SUFDQTtHUjh0RUE7Q0FDRjtBT244RUM7RTJDQ0Q7SUFRRTtJQUNBO0lBQ0E7R2xEODdFQTtDQUNGOztBa0QzN0VBO0UxQ21LQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VGN0xLO0VBUkE7RTRDaUNMO0VBQ0E7Q2xEbThFRDs7QWtEaDhFQTtFQUNDO0NsRG04RUQ7O0FrRGg4RUE7RUFDQztFQUNBO0NsRG04RUQ7QWtEajhFQztFQUNDO0NsRG04RUY7O0FtRGpnRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWpEd0IyQjtFaUR2QjNCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkRvZ0ZEO0FtRGpnRkM7RTFDRUE7RTBDQUM7RUFDQTtFQUNBO0NuRG1nRkY7QW1EaGdGQztFQUNDO0VBQ0E7RUFDQTtDbkRrZ0ZGOztBbUQ5L0VBO0VBQ0M7RUFDQTtFQUNBO0NuRGlnRkQ7QU9sZ0ZDO0U0Q0ZEO0lBTUU7R25Ea2dGQTtDQUNGOztBbUQvL0VBO0VBQ0M7RUFDQTtDbkRrZ0ZEO0FPNWdGQztFNENRRDtJN0NmTTtJQVJBO0dOZ2lGSjtDQUNGOztBbURqZ0ZBO0VBQ0M7RUFDQTtDbkRvZ0ZEO0FtRGxnRkM7RUFDQztDbkRvZ0ZGOztBbURoZ0ZBO0VBQ0M7RUFDQTtDbkRtZ0ZEO0FPL2hGQztFNEMwQkQ7SUFLRTtHbkRvZ0ZBO0NBQ0Y7O0FvRDNrRkE7Ozs7b0ZBQUE7QUFRQTtFQUNDO0VBQ0E7Q3BEMmtGRDtBTzlpRkM7RTZDL0JEO0lBT0U7R3BEMGtGQTtDQUNGOztBb0R0a0ZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BEeWtGRDtBTzFqRkM7RTZDbkJEO0lBT0U7SUFDQTtJQUNBO0dwRDBrRkE7RW9EeGtGQTtJQUNDO0dwRDBrRkQ7Q0FDRjs7QW9EcmtGQTtFQUNDO0VBQ0E7Q3BEd2tGRDs7QW9EbmtGQztFQUNDO0NwRHNrRkY7QW9EcGtGRTtFQUNDO0VBQ0E7Q3BEc2tGSDs7QXFEeG5GQTs7OztvRkFBQTtBQU9BO0VBQ0M7RUFDQTtFQUNBO0NyRHluRkQ7QU81bEZDO0U4Q2hDRDtJQU9FO0dyRHluRkE7Q0FDRjs7QU9qbUZDO0U4Q3BCRDtJQUdFO0dyRHVuRkE7Q0FDRjtBT3ZtRkM7RThDZEE7SUFFRTtJQUNBO0dyRHVuRkQ7Q0FDRjtBTzdtRkM7RThDZEE7SUFNRTtHckR5bkZEO0NBQ0Y7QU9sbkZDO0U4Q0pBO0k3Q3FFSztHUnFqRko7Q0FDRjtBT3ZuRkM7RThDSkE7SUFNRTtHckR5bkZEO0NBQ0Y7QU81bkZDO0U4Q0pBO0lBU0U7SUFDQTtHckQybkZEO0NBQ0Y7O0FPbG9GQztFK0N2Q0Q7SUFFSTtJQUNBO0d0RDRxRkY7Q0FDRjs7QU96b0ZDO0UrQ2hDRDtJQUVJO0d0RDRxRkY7Q0FDRjs7QXNEenFGQTtFQUNFO0VBQ0E7RUFDQTtDdEQ0cUZGO0FPcnBGQztFK0MxQkQ7SUFNSTtHdEQ2cUZGO0NBQ0Y7QU8xcEZDO0UrQzFCRDtJQVVJO0lBQ0E7R3REOHFGRjtDQUNGO0FPaHFGQztFK0MxQkQ7SUFjSTtJQUNBO0d0RGdyRkY7Q0FDRjtBc0Q5cUZFO0VBQ0U7Q3REZ3JGSjs7QU96cUZDO0UrQ0hEO0lBR0k7R3REOHFGRjtDQUNGO0FPL3FGQztFK0NIRDtJQU9JO0d0RCtxRkY7Q0FDRjtBT3ByRkM7RStDSEQ7SUFXSTtHdERnckZGO0NBQ0Y7QU96ckZDO0UrQ0hEO0lBY0k7R3REa3JGRjtDQUNGOztBdUR6dEZBO0U5Q2FDO0U4Q1hBO0VBQ0E7RUFDQTtDdkQ0dEZEOztBdUR4dEZBO0UvQzROQztFQUNBO0VBQ0E7Q1JnZ0ZEO0FPM3NGQztFZ0RuQkQ7SS9Da09JO0dSZ2dGRjtDQUNGO0FPaHRGQztFZ0RuQkQ7SS9DeU9FO0lBQ0E7R1I4L0VBO0NBQ0Y7QU90dEZDO0VnRG5CRDtJL0NvRk07SUFBQTtHUjBwRko7Q0FDRjtBTzV0RkM7RWdEbkJEO0kvQzJHTTtJQUFBO0dSeW9GSjtDQUNGO0FPbHVGQztFZ0RuQkQ7SS9DZ0hNO0lBQUE7R1Iwb0ZKO0NBQ0Y7QU94dUZDO0VnRG5CRDtJL0NxSE07SUFBQTtHUjJvRko7Q0FDRjs7QU85dUZDO0VnRFZEO0lBRUU7R3ZEMnZGQTtDQUNGOztBdUR2dkZBO0VBSUM7RUFDQTtDdkR1dkZEO0FPenZGQztFZ0RIRDtJL0NvRU07R1I0ckZKO0NBQ0Y7QU85dkZDO0VnREhEO0kvQzJGTTtHUjBxRko7Q0FDRjtBT253RkM7RWdESEQ7SS9DZ0dNO0dSMHFGSjtDQUNGO0FPeHdGQztFZ0RIRDtJL0NxR007R1IwcUZKO0NBQ0Y7QXVEendGQztFQUNDO0N2RDJ3RkY7O0F1RHR3RkE7RUFDQztDdkR5d0ZEOztBUXBuRkM7RUFDQyxpQitDaEpxQjtDdkR1d0Z2QjtBT3h4RkM7RWdEZ0JEO0lBSUU7R3ZEd3dGQTtDQUNGO0FPN3hGQztFZ0RnQkQ7SUFPRTtHdkQwd0ZBO0NBQ0Y7O0FPbHlGQztFZ0Q2QkQ7SS9Db0NNO0dSc3VGSjtDQUNGO0FPeHlGQztFZ0Q2QkQ7SUFLRTtHdkQwd0ZBO0NBQ0Y7QU83eUZDO0VnRDZCRDtJQVFFO0d2RDR3RkE7Q0FDRjs7QXVEendGQTtFQUNDO0VBQ0E7Q3ZENHdGRDs7QXVEeHdGQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkQwd0ZEO0FRcG9GQztFQUVDO0NScW9GRjtBdUQzd0ZDO0UvQ3dFQztFK0N0RUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkQ2d0ZGO0F1RHp3RkU7RUFDQztDdkQyd0ZIO0F1RHZ3RkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDdkR5d0ZGOztBdURwd0ZBO0VBQ0M7RUFDQTtFQUNBO0N2RHV3RkQ7O0F1RG53RkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZEc3dGRDs7QXVEbHdGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RHF3RkQ7QXVEbndGQztFQUNDO0VBQ0E7Q3ZEcXdGRjtBdURud0ZDO0VBQ0M7Q3ZEcXdGRjtBdURud0ZDO0VBQ0M7RUFDQTtDdkRxd0ZGO0F1RG53RkM7RUFDQztFQUNBO0N2RHF3RkY7QXVEbHdGQztFQUNDO0N2RG93RkY7QXVEandGQztFQUNDO0N2RG13RkY7O0F3RDc2RkE7RUFDQztDeERnN0ZEOztBd0QzNkZBO0VBQ0M7Q3hEODZGRDs7QXdEMTZGQztFQUNDO0N4RDY2RkY7O0F3RHg2RkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEQyNkZEOztBeURsOEZBOztFQUFBO0FBSUE7RWhEa0JDO0VnRGhCQTtFQUNBO0VBQ0E7Q3pEbzhGRDtBeURsOEZDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekRvOEZGO0FPeDdGQztFa0QxQkE7SUFpQkU7R3pEcThGRDtDQUNGO0F5RG44RkU7RUFDQztFQUNBO0VBQ0E7Q3pEcThGSDs7QXlEaDhGQTtFakR1TUM7RUFDQTtFQUNBO0VpRHZNQTtFQUNBO0VBQ0E7RUFDQTtDekRxOEZEO0FPNThGQztFa0RFRDtJakQ2TUk7R1Jpd0ZGO0NBQ0Y7QU9qOUZDO0VrREVEO0lqRG9ORTtJQUNBO0dSK3ZGQTtDQUNGOztBeUQ3OEZBO0VBQ0M7RUFDQTtDekRnOUZEO0FPNTlGQztFa0RVRDtJQUtFO0d6RGk5RkE7Q0FDRjs7QXlEOThGQTtFQUNDO0VBQ0E7Q3pEaTlGRDtBT3QrRkM7RWtEbUJEO0lBS0U7R3pEazlGQTtDQUNGOztBeUQvOEZBO0VBRUM7Q3pEaTlGRDtBUW56RkM7RUFFQztDUm96RkY7QXlEbDlGQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0N6RG85RkY7O0F5RGg5RkE7RUFDQztDekRtOUZEOztBTzUvRkM7RWtENENEO0lBRUU7R3pEbTlGQTtDQUNGOztBMERyaUdBO0VBQ0M7RUFDQTtFQUNBO0MxRHdpR0Q7O0EwRDdoR0E7RUFDQztDMURnaUdEO0FPNWdHQztFbURyQkQ7SWxEc0ZNO0dSKzhGSjtDQUNGO0FPamhHQztFbURyQkQ7SWxENkdNO0dSNjdGSjtDQUNGO0FPdGhHQztFbURyQkQ7SWxEa0hNO0dSNjdGSjtDQUNGO0FPM2hHQztFbURyQkQ7SWxEdUhNO0dSNjdGSjtDQUNGO0FPaGlHQztFbURiQztJQUNDO0lBQ0E7SUFDQTtHMURnakdEO0NBQ0Y7QU92aUdDO0VtRExDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHMUQraUdEO0UwRDdpR0M7SUFDQztHMUQraUdGO0NBQ0Y7O0EwRHppR0E7RUFDQztFQUNBO0MxRDRpR0Q7QU8zakdDO0VtRGFEO0lBS0U7RzFENmlHQTtDQUNGO0FPaGtHQztFbURhRDtJQVNFO0lBQ0E7SUFDQTtJQUNBO0cxRDhpR0E7Q0FDRjs7QTBEMWlHQTs7RUFFQztDMUQ2aUdEO0FPN2tHQztFbUQ4QkQ7O0lBS0U7SUFDQTtJQUNBO0cxRCtpR0E7Q0FDRjtBT3JsR0M7RW1EOEJEOztJQVdFO0cxRGlqR0E7Q0FDRjs7QTBEN2lHQTtFQUNDO0VBQ0E7QzFEZ2pHRDtBT2htR0M7RW1EOENEO0lBS0U7SUFDQTtHMURpakdBO0NBQ0Y7QU90bUdDO0VtRDhDRDtJQVVFO0lBQ0E7RzFEa2pHQTtDQUNGOztBMEQ5aUdBO0VBQ0M7RUFDQSxrQnhEbEV3QjtFd0RtRXhCLG1CeERuRXdCO0NGb25HekI7QU9sbkdDO0VtRDhERDtJQU1FO0lBQ0E7RzFEa2pHQTtDQUNGO0FPeG5HQztFbUQ4REQ7SUFXRTtHMURtakdBO0NBQ0Y7O0EwRC9pR0E7O0VBRUM7QzFEa2pHRDs7QTBEOWlHQTtFQUNDO0MxRGlqR0Q7O0EyRHhxR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRDJxR0Q7QU85b0dDO0VvRGxDRDtJQVFFO0czRDRxR0E7Q0FDRjs7QTJEenFHQTtFQUNDO0VBQ0EsZ0JBbkJ5QjtDM0QrckcxQjtBT3hwR0M7RW9EdEJEO0lBS0U7RzNENnFHQTtDQUNGO0FPN3BHQztFb0R0QkQ7SUFRRTtHM0QrcUdBO0NBQ0Y7QU9scUdDO0VvRHRCRDtJQVdFO0czRGlyR0E7Q0FDRjtBT3ZxR0M7RW9EdEJEO0lBY0U7SUFDQSxhQS9CdUI7RzNEa3RHdkI7Q0FDRjs7QTJEaHJHQTtFQUNDO0MzRG1yR0Q7O0EyRGhyR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0RtckdEOztBNEQ5dEdFO0VBQ0M7QzVEaXVHSDs7QTZEM3RHQTtFckRxT0M7RUFDQTtFQUNBO0NSMC9GRDtBT3JzR0M7RXNENUJEO0lyRDJPSTtHUjAvRkY7Q0FDRjtBTzFzR0M7RXNENUJEO0lyRGtQRTtJQUNBO0dSdy9GQTtDQUNGOztBNkR4dUdBO0V2RGlCTTtFQVJBO0V1RFBMO0M3RDR1R0Q7O0E2RHp1R0E7RUFFQztDN0QydUdEO0FRbmpHQztFQUNDLGlCcUQxTFk7QzdEK3VHZDs7QTZEM3VHQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0M3RDZ1R0Q7QVF4aUdDO0VBRUM7Q1J5aUdGO0E2RDl1R0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdEZ3ZHRjtBNkQ3dUdDO0VBRUM7QzdEOHVHRjtBNkQ1dUdFO0VBQ0M7QzdEOHVHSDtBNkQxdUdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzdENHVHRjtBTzl2R0M7RXNEZEQ7SUFvQ0U7SUFDQTtJQUNBO0c3RDR1R0E7Q0FDRjs7QTZEenVHQTtFQUNDO0VBQ0EsYTNEaEN3QjtDRjR3R3pCO0FPMXdHQztFc0Q0QkQ7SUFLRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0c3RDZ1R0E7Q0FDRjtBT254R0M7RXNENEJEO0lBYUU7RzdEOHVHQTtDQUNGOztBNkQzdUdBO0VBQ0M7RUFDQTtFQUNBO0M3RDh1R0Q7QU85eEdDO0VzRDZDRDtJQU1FO0lBQ0E7SUFDQTtJQUNBO0c3RCt1R0E7Q0FDRjs7QTZENXVHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLFMzRGhFd0I7RTJEaUV4QixXM0RqRXdCO0UyRGtFeEI7RUFDQTtDN0QrdUdEO0FPaHpHQztFc0QwREQ7SUFVRTtJQUNBO0lBQ0E7SUFDQTtHN0RndkdBO0NBQ0Y7O0E2RDN1R0E7RUFDQztDN0Q4dUdEOztBNkQzdUdBO0VBQ0M7RUFDQTtFQUNBO0M3RDh1R0Q7O0E2RDN1R0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3RDh1R0Q7O0E2RDN1R0E7RUFDQztDN0Q4dUdEOztBNkQzdUdBO0VBQ0M7RUFDQTtDN0Q4dUdEOztBOEQzMkdBO0VyRFVDO0VxRFJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlENDJHRDtBOER6MkdDO0VBQ0M7RUFDQTtFQUNBO0M5RDIyR0Y7QThEdjJHQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlEeTJHRjtBOER2MkdFO0VBQ0M7RUFDQTtDOUR5MkdIO0E4RHAyR0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5RHMyR0Y7QU94NEdDO0V1RHhCRDtJQStERTtHOURxMkdBO0NBQ0Y7O0E4RGoyR0E7RXRENkpDO0VBQ0E7RUFDQTtFc0Q3SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOURzMkdEO0FPeDVHQztFdUQ0Q0Q7SXREbUtJO0dSNnNHRjtDQUNGO0FPNzVHQztFdUQ0Q0Q7SXREMEtFO0lBQ0E7R1Iyc0dBO0NBQ0Y7O0E4RDcyR0E7RUFDQztDOURnM0dEOztBOEQ1MkdBO0VBQ0M7RUFDQTtFQUNBO0M5RCsyR0Q7QThENzJHQztFQUNDO0M5RCsyR0Y7O0E4RDEyR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5RDYyR0Q7O0E4RHoyR0E7RUFDQztFQUNBO0M5RDQyR0Q7O0E4RHgyR0E7RXhENUZNO0VBUkE7RXdEc0dMO0VBQ0E7RUFDQTtFQUNBO0M5RDQyR0Q7QThEMTJHQztFQUNDO0M5RDQyR0Y7QThEejJHQztFQUNDO0VBQ0E7QzlEMjJHRjtBOER4MkdDO0VBQ0M7RUFDQTtFQUNBO0M5RDAyR0Y7QThEeDJHRTtFQUNJO0VBQ0g7RUFDRztFQUNBO0VBQ0g7QzlEMDJHSDs7QStEaGdIQTtFdkRnUEM7RUFDQTtFQUNBO0NSb3hHRDtBTy85R0M7RXdEdkNEO0l2RHNQSTtHUm94R0Y7Q0FDRjtBT3ArR0M7RXdEdkNEO0l2RDZQRTtJQUNBO0dSa3hHQTtDQUNGOztBTzErR0M7RXdEbkNEO0lBRUU7Ry9EZ2hIQTtDQUNGOztBT2gvR0M7RXdEN0JEO0lBRUU7Ry9EZ2hIQTtDQUNGO0FPdC9HQztFd0Q3QkQ7SUFNRTtJQUNBO0cvRGloSEE7Q0FDRjs7QStEOWdIQTtFQUNDO0MvRGloSEQ7QU9oZ0hDO0V3RGxCRDtJQUlFO0cvRGtoSEE7Q0FDRjtBT3JnSEM7RXdEbEJEO0lBUUU7SUFDQTtHL0RtaEhBO0NBQ0Y7QU8zZ0hDO0V3RGxCRDtJQVlFO0lBQ0E7SUFDQTtHL0RxaEhBO0NBQ0Y7O0ErRGxoSEE7RUFDQztFQUNBO0MvRHFoSEQ7O0ErRGxoSEE7RXpEWk07RUFSQTtFeURzQkw7Qy9Ec2hIRDtBK0RwaEhDO0VBQVk7Qy9EdWhIYjtBK0R0aEhDO0VBQVk7Qy9EeWhIYjs7QStEdGhIQTtFQUNDO0VBQ0E7Qy9EeWhIRDs7QStEdGhIQTtFekR6Qk07RUFSQTtFeURtQ0w7Qy9EMGhIRDs7QStEdmhIQTtFekQ5Qk07RUFSQTtFeUR3Q0w7Qy9EMmhIRDs7QWdFNWtIQTtFQUNDO0VBQ0E7RUFDQTtDaEUra0hEOztBZ0U1a0hBO0V4RGtKRTtFd0RoSkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esb0xBQ0M7Q2hFOGtIRjtBT3JrSEM7RXlEbEJEO0lBZ0JFO0doRTJrSEE7Q0FDRjs7QWdFeGtIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hFMmtIRDs7QWdFeGtIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hFMmtIRDs7QWdFeGtIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NoRTJrSEQ7O0FnRXhrSEE7RUFDQztDaEUya0hEOztBZ0V4a0hBO0UxRHBDTTtFQVJBO0UwRDhDTDtFQUNBO0NoRTRrSEQ7O0FnRXprSEE7RUFDQztDaEU0a0hEOztBaUUxb0hBO0V4RFlDO0V3RFZBO0VBQ0E7RUFDQSxxQi9EcUIyQjtFK0RwQjNCO0NqRTZvSEQ7QWlFM29IQztFQUNDO0NqRTZvSEY7O0FpRXhvSEE7RXpEc05DO0VBQ0E7RUFDQTtFRmxOSztFQVJBO0UyREtMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakU4b0hEO0FPem9IQztFMERiRDtJekQ0Tkk7R1I4N0dGO0NBQ0Y7QU85b0hDO0UwRGJEO0l6RG1PRTtJQUNBO0dSNDdHQTtDQUNGOztBaUVycEhBO0VBQ0M7RUFDQTtFQUNFO0VBQ0E7RUFDRjtDakV3cEhEOztBaUVwcEhBO0VBQ0M7RUFDQTtFQUNBO0NqRXVwSEQ7O0FpRW5wSEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDakVzcEhEOztBaUVscEhBO0VBQ0M7RUFDQTtDakVxcEhEOztBaUVqcEhBO0VBRUM7RUFDQTtFQUNBO0NqRW1wSEQ7QVF4L0dDO0VBRUM7Q1J5L0dGO0FpRXBwSEM7RUFDQztDakVzcEhGO0FpRW5wSEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDakVxcEhGOztBaUVocEhBO0VBQ0M7RUFDQTtDakVtcEhEOztBa0UvdEhBOzs7O0dBQUE7QUFPQTtFMUQ0TkM7RUFDQTtFQUNBO0NScWdIRDtBT2h0SEM7RTJEbkJEO0kxRGtPSTtHUnFnSEY7Q0FDRjtBT3J0SEM7RTJEbkJEO0kxRHlPRTtJQUNBO0dSbWdIQTtDQUNGOztBa0V4dUhBO0UxRGdKRTtFMEQ5SUQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEUydUhEO0FrRXp1SEM7RUFDQztFQUNBO0NsRTJ1SEY7QWtFeHVIQztFQUNDO0VBQ0E7RUFDQTtDbEUwdUhGO0FrRXZ1SEM7RUFDQztFQUNBO0NsRXl1SEY7QWtFdnVIRTtFQUNDO0NsRXl1SEg7O0FPdnZIQztFMkRtQkQ7SUFFRTtHbEV1dUhBO0NBQ0Y7QU83dkhDO0UyRG1CRDtJQU1FO0lBQ0E7SUFDQTtHbEV3dUhBO0NBQ0Y7QU9wd0hDO0UyRG1CRDtJQVlFO0lBQ0E7R2xFeXVIQTtDQUNGOztBa0V0dUhBO0VBQ0M7Q2xFeXVIRDs7QWtFdHVIQTtFQUNDO0NsRXl1SEQ7O0FPbHhIQztFMkQ0Q0Q7SUFFRTtHbEV5dUhBO0NBQ0Y7QU94eEhDO0UyRDRDRDtJQU1FO0dsRTB1SEE7Q0FDRjs7QWtFdHVIQTtFNUQ5RE07RUFSQTtFNER3RUw7RUFDQTtFQUNBO0NsRTB1SEQ7O0FPcnlIQztFMkQ4REQ7SUFFRTtJQUFBO0lBQ0E7SUFBQTtJQUNBO0lBQUE7SUFDQTtHbEUwdUhBO0NBQ0Y7O0FPOXlIQztFMkR3RUE7STFEUEs7R1JrdkhKO0NBQ0Y7QU9wekhDO0UyRHVFRDtJQVFFO0lBQUE7SUFDQTtJQUFBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHbEV5dUhBO0VrRXZ1SEE7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHbEV5dUhEO0NBQ0Y7O0FrRXJ1SEE7RTVEN0dNO0VBUkE7RTREdUhMO0VBQ0E7RUFDQTtFQUNBO0NsRXl1SEQ7QU9wMUhDO0UyRHNHRDtJQVFFO0dsRTB1SEE7Q0FDRjs7QW1FaDRIQTtFM0RnUEM7RUFDQTtFQUNBO0NSb3BIRDtBTy8xSEM7RTREdkNEO0kzRHNQSTtHUm9wSEY7Q0FDRjtBT3AySEM7RTREdkNEO0kzRDZQRTtJQUNBO0dSa3BIQTtDQUNGO0FPMTJIQztFNER2Q0Q7STNEd0dNO0lBQUE7R1I4eUhKO0NBQ0Y7QU9oM0hDO0U0RHZDRDtJM0QrSE07SUFBQTtHUjZ4SEo7Q0FDRjtBT3QzSEM7RTREdkNEO0kzRG9JTTtJQUFBO0dSOHhISjtDQUNGO0FPNTNIQztFNER2Q0Q7STNEeUlNO0lBQUE7R1IreEhKO0NBQ0Y7O0FPbDRIQztFNEQvQkQ7SUFFSTtJQUNBO0lBQ0E7R25FbzZIRjtDQUNGOztBbUVqNkhBO0VBQ0U7RUFDQTtDbkVvNkhGO0FPLzRIQztFNER2QkQ7SUFLSTtJQUNBO0lBQ0E7SUFDQTtHbkVxNkhGO0NBQ0Y7QU92NUhDO0U0RHZCRDtJQVlJO0duRXM2SEY7Q0FDRjtBTzU1SEM7RTREdkJEO0lBZ0JJO0duRXU2SEY7Q0FDRjs7QU9qNkhDO0U2RDVCRDtJQUVFO0dwRWc4SEE7Q0FDRjs7QU92NkhDO0U2RHRCRDtJQUVFO0dwRWc4SEE7Q0FDRjs7QW9FNzdIQTtFQUNDO0VBQ0E7RUFDQTtDcEVnOEhEO0FPbjdIQztFNkRoQkQ7SUFNRTtJQUVDO0lBQ0E7SUFDQTtJQUNBO0dwRWc4SEQ7Q0FDRjtBTzU3SEM7RTZEaEJEO0lBZ0JFO0lBQ0E7R3BFZzhIQTtDQUNGOztBb0U3N0hBO0VBQ0M7RUFDQTtDcEVnOEhEO0FPdjhIQztFNkRLRDtJQUtFO0lBQ0E7SUFDQTtJQUNBO0dwRWk4SEE7Q0FDRjtBTy84SEM7RTZES0Q7SUFZRTtJQUNBO0dwRWs4SEE7Q0FDRjtBT3I5SEM7RTZES0Q7SUFpQkU7R3BFbThIQTtDQUNGOztBb0VoOEhBO0U5RGpDTTtFQVJBO0U4RDJDTDtFQUNBO0NwRW84SEQ7O0FvRWo4SEE7RUFDQztFQUNBO0NwRW84SEQ7O0FvRWo4SEE7RUFFQztFQUNBO0NwRW04SEQ7QVFwMEhDO0VBQ0MsaUI0RGxJWTtDcEV3OEhkO0FvRXA4SEM7RUFJQztFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBUFE7RUFRUixhQVBTO0VBUVQ7RUFDQTtDcEVtOEhGOztBb0UvN0hBO0VBQ0M7Q3BFazhIRDs7QW9FLzdIQTtFQUNDO0VBQ0E7Q3BFazhIRDs7QXFFeGlJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NyRTJpSUQ7QXFFemlJQztFQUNDO0NyRTJpSUY7O0FxRXRpSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckV5aUlEO0FxRXZpSUM7RUFDQztFQUNBO0NyRXlpSUY7O0FBemdJQTs7K0RBQUE7QXNFdkRBOzs4RUFBQTtBdEUrREE7OytEQUFBO0F1RS9EQTtFQUNDO0VBQ0E7Q3ZFNGtJRDtBdUUxa0lDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3ZFNGtJRjtBdUUxa0lFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFNGtJSDtBdUV4a0lDO0VqRVdLO0VBUkE7Q055a0lOO0F1RXhrSUc7RUFDQztDdkUwa0lKOztBd0VwbUlBOztHQUFBO0FBT0M7RUFDQztDeEVtbUlGO0F3RS9sSUM7RUFDQztDeEVpbUlGO0F3RTdsSUM7RUFDQztDeEUrbElGO0F3RTVsSUM7RUFDQztDeEU4bElGO0F3RTNsSUM7RUFDQztDeEU2bElGO0F3RTNsSUU7RUFDQztFQUNBO0VBQ0E7Q3hFNmxJSDtBd0UzbElHO0VsRURHO0VBUkE7RWtFV0Y7RUFDQTtFQUNBO0VBQ0E7Q3hFOGxJSjtBd0V6bElDO0VBQ0M7RUFDQTtDeEUybElGO0F3RXpsSUU7RUFDQztFQUNBO0VBQ0E7RUFDQTtDeEUybElIO0F3RXpsSUc7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hFMmxJSjs7QUEva0lBOzs7K0RBQUE7QXlFdkVBOzt5RkFBQTtBQUtBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBMEJHO0VBQ0M7Q3pFZ3BJSjs7QXlFOW9JRztFQUNDO0N6RWlwSUo7O0F5RXJwSUc7RUFDQztDekV3cElKOztBeUV0cElHO0VBQ0M7Q3pFeXBJSjs7QXlFN3BJRztFQUNDO0N6RWdxSUo7O0F5RTlwSUc7RUFDQztDekVpcUlKOztBeUVycUlHO0VBQ0M7Q3pFd3FJSjs7QXlFdHFJRztFQUNDO0N6RXlxSUo7O0F5RTdxSUc7RUFDQztDekVncklKOztBeUU5cUlHO0VBQ0M7Q3pFaXJJSjs7QXlFcnJJRztFQUNDO0N6RXdySUo7O0F5RXRySUc7RUFDQztDekV5cklKOztBeUU3cklHO0VBQ0M7Q3pFZ3NJSjs7QXlFOXJJRztFQUNDO0N6RWlzSUo7O0F5RXJzSUc7RUFDQztDekV3c0lKOztBeUV0c0lHO0VBQ0M7Q3pFeXNJSjs7QXlFN3NJRztFQUNDO0N6RWd0SUo7O0F5RTlzSUc7RUFDQztDekVpdElKOztBeUVydElHO0VBQ0M7Q3pFd3RJSjs7QXlFdHRJRztFQUNDO0N6RXl0SUo7O0F5RTd0SUc7RUFDQztDekVndUlKOztBeUU5dElHO0VBQ0M7Q3pFaXVJSjs7QXlFcnVJRztFQUNDO0N6RXd1SUo7O0F5RXR1SUc7RUFDQztDekV5dUlKOztBeUU3dUlHO0VBQ0M7Q3pFZ3ZJSjs7QXlFOXVJRztFQUNDO0N6RWl2SUo7O0F5RXJ2SUc7RUFDQztDekV3dklKOztBeUV0dklHO0VBQ0M7Q3pFeXZJSjs7QXlFN3ZJRztFQUNDO0N6RWd3SUo7O0F5RTl2SUc7RUFDQztDekVpd0lKOztBeUVyd0lHO0VBQ0M7Q3pFd3dJSjs7QXlFdHdJRztFQUNDO0N6RXl3SUo7O0F5RTd3SUc7RUFDQztDekVneElKOztBeUU5d0lHO0VBQ0M7Q3pFaXhJSjs7QXlFcnhJRztFQUNDO0N6RXd4SUo7O0F5RXR4SUc7RUFDQztDekV5eElKOztBeUU3eElHO0VBQ0M7Q3pFZ3lJSjs7QXlFOXhJRztFQUNDO0N6RWl5SUo7O0F5RXJ5SUc7RUFDQztDekV3eUlKOztBeUV0eUlHO0VBQ0M7Q3pFeXlJSjs7QTBFNTBJQTtFQUNDO0MxRSswSUQ7O0EwRTUwSUE7RUFDQztFQUNBO0VBQ0E7QzFFKzBJRDs7QTBFNTBJQTtFQUNDO0MxRSswSUQ7O0EyRTExSUE7OztFQUFBO0FDRUM7RUFBeUI7QzVFZzJJMUI7O0E0RS8xSUM7RUFBeUI7QzVFbTJJMUI7O0E0RWwySUM7RUFBeUI7QzVFczJJMUI7O0E0RXIySUM7RUFBeUI7QzVFeTJJMUI7O0E0RXQySUM7RUFBeUI7QzVFMDJJMUI7O0E0RXoySUM7RUFBeUI7QzVFNjJJMUI7O0E0RTUySUM7RUFBeUI7QzVFZzNJMUI7O0E0RS8ySUM7RUFBeUI7QzVFbTNJMUI7O0E0RTUzSUM7RUFBeUI7QzVFZzRJMUI7O0E0RS8zSUM7RUFBeUI7QzVFbTRJMUI7O0E0RWw0SUM7RUFBeUI7QzVFczRJMUI7O0E0RXI0SUM7RUFBeUI7QzVFeTRJMUI7O0E0RXQ0SUM7RUFBeUI7QzVFMDRJMUI7O0E0RXo0SUM7RUFBeUI7QzVFNjRJMUI7O0E0RTU0SUM7RUFBeUI7QzVFZzVJMUI7O0E0RS80SUM7RUFBeUI7QzVFbTVJMUI7O0E0RTU1SUM7RUFBeUI7QzVFZzZJMUI7O0E0RS81SUM7RUFBeUI7QzVFbTZJMUI7O0E0RWw2SUM7RUFBeUI7QzVFczZJMUI7O0E0RXI2SUM7RUFBeUI7QzVFeTZJMUI7O0E0RXQ2SUM7RUFBeUI7QzVFMDZJMUI7O0E0RXo2SUM7RUFBeUI7QzVFNjZJMUI7O0E0RTU2SUM7RUFBeUI7QzVFZzdJMUI7O0E0RS82SUM7RUFBeUI7QzVFbTdJMUI7O0E0RTU3SUM7RUFBeUI7QzVFZzhJMUI7O0E0RS83SUM7RUFBeUI7QzVFbThJMUI7O0E0RWw4SUM7RUFBeUI7QzVFczhJMUI7O0E0RXI4SUM7RUFBeUI7QzVFeThJMUI7O0E0RXQ4SUM7RUFBeUI7QzVFMDhJMUI7O0E0RXo4SUM7RUFBeUI7QzVFNjhJMUI7O0E0RTU4SUM7RUFBeUI7QzVFZzlJMUI7O0E0RS84SUM7RUFBeUI7QzVFbTlJMUI7O0E0RTU5SUM7RUFBeUI7QzVFZytJMUI7O0E0RS85SUM7RUFBeUI7QzVFbStJMUI7O0E0RWwrSUM7RUFBeUI7QzVFcytJMUI7O0E0RXIrSUM7RUFBeUI7QzVFeStJMUI7O0E0RXQrSUM7RUFBeUI7QzVFMCtJMUI7O0E0RXorSUM7RUFBeUI7QzVFNitJMUI7O0E0RTUrSUM7RUFBeUI7QzVFZy9JMUI7O0E0RS8rSUM7RUFBeUI7QzVFbS9JMUI7O0E0RTUvSUM7RUFBeUI7QzVFZ2dKMUI7O0E0RS8vSUM7RUFBeUI7QzVFbWdKMUI7O0E0RWxnSkM7RUFBeUI7QzVFc2dKMUI7O0E0RXJnSkM7RUFBeUI7QzVFeWdKMUI7O0E0RXRnSkM7RUFBeUI7QzVFMGdKMUI7O0E0RXpnSkM7RUFBeUI7QzVFNmdKMUI7O0E0RTVnSkM7RUFBeUI7QzVFZ2hKMUI7O0E0RS9nSkM7RUFBeUI7QzVFbWhKMUI7O0E0RTVoSkM7RUFBeUI7QzVFZ2lKMUI7O0E0RS9oSkM7RUFBeUI7QzVFbWlKMUI7O0E0RWxpSkM7RUFBeUI7QzVFc2lKMUI7O0E0RXJpSkM7RUFBeUI7QzVFeWlKMUI7O0E0RXRpSkM7RUFBeUI7QzVFMGlKMUI7O0E0RXppSkM7RUFBeUI7QzVFNmlKMUI7O0E0RTVpSkM7RUFBeUI7QzVFZ2pKMUI7O0E0RS9pSkM7RUFBeUI7QzVFbWpKMUI7O0E0RTVqSkM7RUFBeUI7QzVFZ2tKMUI7O0E0RS9qSkM7RUFBeUI7QzVFbWtKMUI7O0E0RWxrSkM7RUFBeUI7QzVFc2tKMUI7O0E0RXJrSkM7RUFBeUI7QzVFeWtKMUI7O0E0RXRrSkM7RUFBeUI7QzVFMGtKMUI7O0E0RXprSkM7RUFBeUI7QzVFNmtKMUI7O0E0RTVrSkM7RUFBeUI7QzVFZ2xKMUI7O0E0RS9rSkM7RUFBeUI7QzVFbWxKMUI7O0E0RTVsSkM7RUFBeUI7QzVFZ21KMUI7O0E0RS9sSkM7RUFBeUI7QzVFbW1KMUI7O0E0RWxtSkM7RUFBeUI7QzVFc21KMUI7O0E0RXJtSkM7RUFBeUI7QzVFeW1KMUI7O0E0RXRtSkM7RUFBeUI7QzVFMG1KMUI7O0E0RXptSkM7RUFBeUI7QzVFNm1KMUI7O0E0RTVtSkM7RUFBeUI7QzVFZ25KMUI7O0E0RS9tSkM7RUFBeUI7QzVFbW5KMUI7O0FPdmxKQztFcUV6QkQ7SXBFMEZNO0lBQUE7R1I0aEpKO0NBQ0Y7QU85bEpDO0VxRXpCRDtJcEVpSE07SUFBQTtHUjJnSko7Q0FDRjtBT3BtSkM7RXFFekJEO0lwRXNITTtJQUFBO0dSNGdKSjtDQUNGO0FPMW1KQztFcUV6QkQ7SXBFMkhNO0lBQUE7R1I2Z0pKO0NBQ0Y7O0FPaG5KQztFcUVqQkE7SUFDQztHNUVxb0pBO0NBQ0Y7QTZFN3BKQTs7OztnRkFBQTtBQXlCQTtFcEVBQztFRHVOQTtFQUNBO0VBQ0E7RXFFdE5BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtDN0U0b0pEO0FPdm9KQztFc0VkRDtJckU2Tkk7R1I0N0lGO0NBQ0Y7QU81b0pDO0VzRWREO0lyRW9PRTtJQUNBO0dSMDdJQTtDQUNGO0FPbHBKQztFc0VkRDtJQW1CRTtHN0VpcEpBO0NBQ0Y7O0E2RTdvSkE7RUFDQztFQUVBO0M3RStvSkQ7QU81cEpDO0VzRVVEO0lBWUU7RzdFMG9KQTtDQUNGO0FPanFKQztFc0VVRDtJQXFCRTtHN0Vzb0pBIiwiZmlsZSI6ImNzcy9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiAgMSAtIFNFVFRJTkdTXG4gKiAgR2xvYmFsIHZhcmlhYmxlcywgc2l0ZS13aWRlIHNldHRpbmdzLFxuICogIGNvbmZpZyBzd2l0Y2hlcyBldGMuXG4gKlxuICogIFRoZSBvcmRlciBpbiB3aGljaCB0aGVzZSBTYXNzIGZpbGVzXG4gKiAgYXJlIGxvYWRlZCBpcyBjcml0aWNhbCFcbiAqICBTbyBwbGVhc2UgYmUgY2FyZWZ1bCB3aGVuIGVkaXRpbmdcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT3JnYW5pemUgY29sb3IgdmFyaWFibGVzIGluIGEgU2FzcyBNYXAuXG4gICBUaGlzIHdheSwgdGhlIGNvbG9ycyBjYW4gYmUgaXRlcmF0ZWQsIGFyZSBtb3JlIG9yZ2FuaXplZCxcbiAgIGFuZCBhcmUgbW9yZSBpbnR1aXRpdmUgdG8gcmVmZXJlbmNlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBjb2xvcnMgZnJvbSBvdXIgbWFwcGluZ1xuICpcdFRvIGFjY2VzcyBjb2xvcnMgaW4gb3VyIHBhbGV0dGUsIHdlIHVzZSBhIHZlcnkgc2ltcGxlIGN1c3RvbSBTYXNzIGZ1bmN0aW9uXG4gKiAgVGhpcyBmdW5jdGlvbiBpcyBwbGFjZWQgaGVyZSwgKGFuZCBub3QgaW4gdGhlIHRvb2xib3gpXG4gKiAgYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSBpdCBpbiBvdXIgb3RoZXIgc2V0dGluZyBmaWxlc1xuXG5cdFVTQUdFOlxuXG5cdC5kZW1vIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xuXHR9XG5cbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuXHRbMV1cdFx0TG9nbyBkYXJrIG9yIGxpZ2h0IGNhbiBiZSBzZXQgaW4gaGVhZGVyLmJsYWRlLnBocCAvIGZvb3Rlci5ibGFkZS5waHAgJlxuXHRbMl0gXHRTZXQgdGhpcyB0byB0cnVlIHdoZW4gYmdDb2xvciBnZXRzIGEgZGFyayBjb2xvciB0aGF0IGNvbnRyYXN0IHRoZSBib2R5IGJnIGNvbG9yXG4qL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIFx0IERlZmluZXMgdGhlIHR5cG9ncmFwaGljIGJhc2VsaW5lLlxuICAgV2UgZGVmaW5lIGV2ZXJ5IHNpemUgaW4gcGl4ZWxzLCB0aGUgdW5kZXJseWluZyBzeXN0ZW1cbiAgIGNvbnZlcnRzIHRoZSByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiBcdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIE91ciBiYXNlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAqL1xuLyoqXG4gKlx0SGVyZSB3ZSBhc3NpZ24gc2hvcnQgbmFtZXMgZm9yIHRoZSBmb250IGZhbWlsaWVzXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIGdpdmVuIGZvcm1hdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgMiAtIFRPT0xTXG4gKiAgU2l0ZSB3aWRlIG1peGlucyBhbmQgZnVuY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1bmN0aW9ucyB1c2VkIGluIGdyaWQgY2FsY3VsYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuLyoqXG4gICogRGVmYXVsdCBmdW5jdGlvbiBmb3IgY29sdW1uc1xuICAqIFJldHVybiBhcyBwZXJjZW50YWdlXG4gICovXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVG9vbGJveCBmdW5jdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cbi8qKlxuICogIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICogIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbiAqICBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4gKi9cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuLyogVmFsdWUgdG8gRW0gKi9cbi8qIFZhbHVlIHRvIFJlbSAqL1xuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIG9ubHkgZm9yIG1vYmlsZSB2aWV3cG9ydFxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG4gIH1cblxuICovXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgZm9yIHZpZXdwb3J0IGxhcmdlciB0aGFuIG1vYmlsZVxuICogSW4gZmxleGlibGUgdW5pdHMgKHZ3KSBhbmQgb24gbWF4IHZpZXdwb3J0IGluIGEgZml4ZWQgYW1vdW50IChweClcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctbS11cChcblx0XHRcdFx0J3BhZGRpbmctdG9wJyAwLjMzLFxuXHRcdFx0XHQnbWFyZ2luLWJvdHRvbScgMC41XG5cdFx0KTtcbiAgfVxuXG4gKi9cbi8qXG4gKiBGcm9tIHZhbHVlcyBnaXZlbiByZXR1cm4gdGhlIGNvcnJlY3Qgdi1zcGFjaW5nIGZvciBlYWNoIGJyZWFrcG9pbnRcbiAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdH1cblxuICovXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cbi8qXG4gKiBMb2JvdG9taXplZCBvd2wgc2VsZWN0b3IuXG4gKiAtIEdpdmVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudCBzcGFjaW5nXG4gKiAtIGh0dHBzOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9heGlvbWF0aWMtY3NzLWFuZC1sb2JvdG9taXplZC1vd2xzXG4gKi9cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBUaGUgJ3otaW5kZXgtbWFwJyBpcyB1c2VkIGZvciBtYW5hZ2luZyB0aGUgZWxlbWVudHMgc3RhY2tpbmcgb3JkZXIgaW4gdGhlICdyb290JyBzdGFja2luZyBjb250ZXh0XG4gKiAgVGhpcyB3YXkgd2UgaGF2ZSBhIG92ZXJ2aWV3IG9mIGFsbCB0aGUgei1pbmRleCB2YWx1ZXMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgdGhlIHByb2plY3QuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgVVNBR0U6XG5cbiAgICBAaW5jbHVkZSB6KHotbW9kYWwpO1xuXG4gKi9cbi8qICAzIC0gRUxFTUVOVFNcbiAqICBQbGFpbiBvbGQgc2ltcGxlIEhUTUwgZWxlbWVudHMgd2l0aG91dCBhIGNsYXNzICh0eXBlIHNlbGVjdG9ycylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJhc2ljIGVsZW1lbnRzIChubyBjbGFzcyBzZWxlY3RvcnMgYWxsb3dlZClcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFNldCB1cCB0aGUgaHRtbFxuICpcbiAqIDEuIE1ha2VzIHN1cmUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqIDIuIFNldCBmb250IHRvIGxpbmluZyBmaWd1cmVzXG4gKlxuICogMy4gQXZvaWQgdGhlIElFIDEwLTExIGBtaW4taGVpZ2h0YCBidWcuXG4gKiA0LiBVc2UgYCVgIGluc3RlYWQgb2YgYHZoYCBzaW5jZSBgdmhgIGlzIGJ1Z2d5IGluIG9sZGVyIG1vYmlsZSBTYWZhcmkuXG4gKi9cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgLyogMywgNCAqL1xufVxuXG5mb290ZXIge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyoqXG4gKiBbMV0gTWFrZSBzdXJlIGVsZW1lbnRzIGxpa2UgaW5wdXQgYW5kIHRleHRhcmVhIGluaGVyaXQgc29tZSBiYXNlIHByb3BlcnRpZXNcbiAqICAgICBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE2LzExL2Nzcy1pbmhlcml0YW5jZS1jYXNjYWRlLWdsb2JhbC1zY29wZS1uZXctb2xkLXdvcnN0LWJlc3QtZnJpZW5kcy9cbiAqXG4gKiBbMl0gU2V0dGluZyBib3gtc2l6aW5nIHRoZSBiZXN0IHdheSBwZXI6XG4gKiAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbioge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vKipcbiAqIFsxXSBUdXJuIG9mZiB0ZXh0LXNoYWRvdyB3aGVuIHNlbGVjdGluZyB0ZXh0IGZvciBiZXR0ZXIgcmVhZGFiaWxpdHlcbiAqL1xuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjNzM3MzczO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIC8qIFsxXSAqL1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gYXJvdW5kIGZpZ3VyZVxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogWzFdIFNldHRpbmcgJ3ZlcnRpY2FsLWFsaWduJyByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciAnaW1nJ1xuICpcdCAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqXHQgICB1c2luZyAnZGlzcGxheTogYmxvY2s7Jy5cbiAqIFsyXSBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcsIHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qWzFdKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKlsyXSovXG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiAgTmVlZGVkIGZvciBpT1MgdG8gcHJldmVudCBpbnB1dCB6b29taW5nXG4gKiAgaHR0cHM6Ly91eGNlbGxlbmNlLmNvbS8yMDE0LzAxLzE1L3F1aWNrLWZpeC1pbmNyZWFzZS1mb250LXNpemUtdG8tMTZweC10by1maXgtaW5wdXQtem9vbVxuICovXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5hOm5vdChbY2xhc3NdKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICM0MDc5Qjg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xufVxuYTpub3QoW2NsYXNzXSk6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogIzQwNzlCODtcbiAgY29udGVudDogXCJcIjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MsIG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbn1cbmE6bm90KFtjbGFzc10pOmhvdmVyOjphZnRlciB7XG4gIGhlaWdodDogMnB4O1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaGdyb3VwLFxudWwsIG9sLCBkZCxcbnAsIGZpZ3VyZSxcbnByZSwgdGFibGUsIGZpZWxkc2V0LCBociB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5oNSwgaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKlx0RGVmYXVsdCBpbmRlbnRhdGlvbiB2YWx1ZSBmb3IgbGlzdHNcbiAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IDEuMTI1ZW07XG59XG5cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qKlxuICpcdFJlbW92ZSBleHRyYSB2ZXJ0aWNhbCBzcGFjaW5nIHdoZW4gbmVzdGluZyBsaXN0cy5cbiAqL1xubGkgPiB1bCxcbmxpID4gb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAgNCAtIExheW91dCBlbGVtZW50c1xuICogIERlc2lnbiBwYXR0ZXJucyAoZS5nLiBncmlkcyBvciBtZWRpYSBvYmplY3QpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubC1jb250YWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtY29udGFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLWNvbnRhaW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogU3BsaXQgbGF5b3V0IGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBjb2x1bW5zIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtc3BsaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXNwbGl0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi8qKlxuICogU3BlY2lhbCBjb250YWluIHZlcnNpb24gZm9yIHNwbGl0LlxuICogRG9lc24ndCByZXN0cmFpbiBjb250ZW50IG9uIG1lZGl1bSB2aWV3cG9ydFxuICovXG4ubC1zcGxpdC0tY29udGFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXNwbGl0LS1jb250YWluIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0LS1jb250YWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAubC1zcGxpdF9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgfVxufVxuLmwtc3BsaXQtLWlzLXJldmVyc2VkIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBvcmRlcjogMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0LS1pcy1yZXZlcnNlZCAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdC0taXMtcmV2ZXJzZWQgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0LS1icmVha291dC1vbi1tIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTAlO1xuICB9XG4gIC5sLXNwbGl0LS1icmVha291dC1vbi1tIC5sLXNwbGl0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuLyoqXG4gKiBXaGVuIHRoZXJlIGlzIG9ubHkgMSBjb2x1bW4sIGFsaWduIGl0IHRvIHRoZSBtaWRkbGUgYW5kIGNvbnRhaW4gdGhlIHdpZHRoXG4gKiBPbmx5IG9uZSBjb2x1bW4gaXMgdXNlZCBlLmcuIGluIHRoZSB0YWJzbGlkZXIgd2hlbiB0aGVyZSBpcyBubyBpbWFnZSBzZXRcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpvbmx5LWNoaWxkIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sLXNwbGl0X19jb2x1bW4tLXZwYWQge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbi0tdnBhZCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uLS1sZWZ0cGFkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJlc3RyaWN0XG4gKlxuICogV2hlbiBhIGJsb2NrIHNob3VsZG4ndCB0YWtlIHVwIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyXG4gKiB3ZSBjYW4gcmVzdHJpY3QgdGhlIG1heGltdW0gd2lkdGhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1yZXN0cmljdC1uYXJyb3cge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICAgIG1heC13aWR0aDogMzhlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXJlc3RyaWN0LW5hcnJvdyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1yZXN0cmljdC13aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDg3LjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtcmVzdHJpY3Qtd2lkZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi8qICA1IC0gQ09NUE9ORU5UU1xuICogIERpc2NyZXRlIGNvbXBsZXRlIGNodW5rcyBvZiBVSS5cbiAqICBEZXNpZ25lZCBjb21wb25lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29tcG9uZW50c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uYy1icmVhZGNydW1iIHtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbn1cblxuLmMtYnJlYWRjcnVtYl9fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uYy1icmVhZGNydW1iX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5jLWJyZWFkY3J1bWJfX2l0ZW06bnRoLWNoaWxkKG4rMikgLmMtYnJlYWRjcnVtYl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBjb2xvcjogIzFEMUQxRDtcbn1cblxuLmMtYnJlYWRjcnVtYl9fbGluayB7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1icmVhZGNydW1iX19pdGVtLS1sYXN0IC5jLWJyZWFkY3J1bWJfX2xpbmsge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBmb250LXdlaWdodDogNTAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM3MzczO1xuICB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTZweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNGRkZGRkYsIDAgMCA1cHggMnB4ICM3MzczNzM7XG59XG4uYy1idXR0b246YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5jLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5jLWJ1dHRvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogY2FsYyg1MCUgLSAycHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDJweCk7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogNHB4O1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICM1YzVjNWM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG59XG4uYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCk6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxMDApO1xufVxuXG4uYy1idXR0b25fX3RleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHBhZGRpbmc6IDAgMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmMtYnV0dG9uLS1pY29uIC5jLWJ1dHRvbl9fdGV4dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5jLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAtMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLWJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuLmMtYnV0dG9uX19pY29uOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cbi5jLWJ1dHRvbi0taWNvbiAuYy1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE2cHg7XG59XG5cbi5jLWJ1dHRvbi0tZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTIxMjE7XG59XG4uYy1idXR0b24tLWRhcms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERlZmF1bHQgYnV0dG9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZ2hvc3RidXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZzogMTZweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtZ2hvc3RidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uYy1naG9zdGJ1dHRvbjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1naG9zdGJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5jLWdob3N0YnV0dG9uOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6ICNENjMzMTM7XG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMXB4O1xuICBib3R0b206IC0xcHg7XG4gIHJpZ2h0OiAtMXB4O1xuICBsZWZ0OiAtMXB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG59XG4uYy1naG9zdGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjM1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMCAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYy1idXR0b24tLWljb24gLmMtZ2hvc3RidXR0b25fX3RleHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4uYy1naG9zdGJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAtMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtZ2hvc3RidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtZ2hvc3RidXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWdob3N0YnV0dG9uLS1pY29uIC5jLWdob3N0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xufVxuLmMtZ2hvc3RidXR0b25fX2ljb246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuXG4uYy1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIENhcmQgdGhhdCBkb2VzIHNvbWUgYW5pbWF0aW9ucyBvbiBob3ZlclxuICovXG4uYy1jYXJkLS1oYXMtYWN0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMDtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIsIC5jLWNhcmQtLWhhcy1hY3Rpb246YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjo6YmVmb3JlLCAuYy1jYXJkLS1oYXMtYWN0aW9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45Mik7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuOCkgMCUsIHJnYmEoMCwgMCwgMCwgMC45MikgMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTM1JSkgcm90YXRlKC0xMWRlZykgc2NhbGUoMS4zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1LCAwLjEsIDAuMywgMSk7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOjphZnRlciB7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAyNXB4O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0nMCAwIDE2IDEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsPSclMjM3MzczNzMnIGQ9J00xMy40IDYuNzgzSC43NjJBLjc3Mi43NzIgMCAwIDEgMCA2YzAtLjQzMi4zNDEtLjc4My43NjItLjc4M0gxMy40TDkuNjIzIDEuMzM2YS43OTguNzk4IDAgMCAxIDAtMS4xMDcuNzQ3Ljc0NyAwIDAgMSAxLjA3NyAwbDUuMDc3IDUuMjE4YS43OTguNzk4IDAgMCAxIDAgMS4xMDZMMTAuNyAxMS43NzFhLjc0Ny43NDcgMCAwIDEtMS4wNzcgMCAuNzk4Ljc5OCAwIDAgMSAwLTEuMTA3TDEzLjQgNi43ODN6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS43NSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuOTI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMWRlZykgc2NhbGUoMS4zKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDUwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzAwMDAwMDtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtY2FyZF9fcGljdHVyZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtY2FyZF9faW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLWNhcmRfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxNHB4IDEwcHggMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogbWVkaXVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyIC5jLWNhcmRfX2xhYmVsIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYy1jYXJkX19sYWJlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM3MzczO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwMCUpIHJvdGF0ZSgxMWRlZykgc2NhbGUoMS41LCAzKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1LCAwLjEsIDAuMywgMSk7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyIC5jLWNhcmRfX2xhYmVsOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKSBzY2FsZSgyKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcbn1cblxuLmMtY2FyZF9faW5mbyB7XG4gIHBhZGRpbmc6IDE2cHggMzJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbn1cblxuLmMtY2FyZF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5jLWNhcmRfX3N1YmhlYWRpbmcge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmMtY2FyZF9fdGV4dGxpbmUge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cbio6bm90KC5jLWNhcmRfX3RleHRsaW5lKSArIC5jLWNhcmRfX3RleHRsaW5lIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLmMtY2xvc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgZWFzZS1vdXQ7XG59XG4uYy1jbG9zZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggMnB4ICNGRkZGRkY7XG59XG4uYy1jbG9zZTphZnRlciwgLmMtY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMCU7XG4gIGxlZnQ6IDIwJTtcbiAgaGVpZ2h0OiAzcHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uYy1jbG9zZTpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uYy1jbG9zZTphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG4uYy1jbG9zZTpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cblxuLmMtY29ubmVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtY29ubmVjdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4uYy1jb25uZWN0X19lbWFpbCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG59XG4uYy1jb25uZWN0X19lbWFpbDpob3ZlciwgLmMtY29ubmVjdF9fZW1haWw6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtY29ubmVjdF9fZW1haWwuaXMtc21hbGwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4uYy1jb25uZWN0X19lbWFpbDpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYy1jb25uZWN0X19lbWFpbDpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtY29ubmVjdF9fb3Ige1xuICBtYXJnaW46IDAgMTZweDtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1jb25uZWN0X19vciB7XG4gICAgbWFyZ2luOiA4cHggMCAxNnB4O1xuICB9XG59XG5cbi5jLWRhdGEge1xuICBtYXJnaW46IDhweCAwO1xufVxuXG4uYy1kYXRhX19saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmMtZGF0YV9fbGFiZWwge1xuICBtaW4td2lkdGg6IDY0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmMtZGF0YV9fdmFsdWUge1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtZGF0YV9fdmFsdWVbaHJlZl06aG92ZXIsIC5jLWRhdGFfX3ZhbHVlW2hyZWZdOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLWRhdGFfX3ZhbHVlW2hyZWZdOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYy1kYXRhX192YWx1ZVtocmVmXTpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtZG93bmxvYWQtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhDOEM4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4uYy1kb3dubG9hZC1saXN0X19pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjIpO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X19saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE2cHg7XG59XG4uYy1kb3dubG9hZC1saXN0X19pY29uIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X190ZXh0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbn1cbi5jLWRvd25sb2FkLWxpc3RfX2l0ZW06aG92ZXIgLmMtZG93bmxvYWQtbGlzdF9fdGV4dCB7XG4gIGNvbG9yOiAjMUQxRDFEO1xufVxuXG4uYy1mb3JtLWdyb3VwX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4IDA7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYy1mb3JtLWdyb3VwX19lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uaGFzLWVycm9yIC5jLWZvcm0tZ3JvdXBfX2Vycm9yOm5vdCg6ZW1wdHkpIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDhweDtcbiAgY29sb3I6ICM0MDc5Qjg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjQsIDEyMSwgMTg0LCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDA3OUI4O1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbn1cblxuLmMtZm9ybS1mZWVkYmFjayB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbjogMCAwIDhweDtcbiAgcGFkZGluZzogMjRweCAzMnB4O1xuICBjb2xvcjogIzIxMjEyMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDIxMSwgNTgsIDAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmQzM2E7XG59XG4uYy1mb3JtLWZlZWRiYWNrOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYy1mb3JtLWZlZWRiYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1mZWVkYmFjayk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uYy1mb3JtLWZlZWRiYWNrIGxpOjpmaXJzdC1sZXR0ZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1oYW1idXJnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jLWhhbWJ1cmdlcjpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cbi5jLWhhbWJ1cmdlciA+IHNwYW4sIC5jLWhhbWJ1cmdlcjphZnRlciwgLmMtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMjAlO1xuICBsZWZ0OiAyMCU7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xufVxuLmMtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIHRvcDogMTJweDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbn1cbi5jLWhhbWJ1cmdlcjphZnRlciB7XG4gIHRvcDogMjhweDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC41KTtcbn1cbi5jLWhhbWJ1cmdlcjpob3ZlciA+IHNwYW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xufVxuLmMtaGFtYnVyZ2VyOmhvdmVyOmFmdGVyLCAuYy1oYW1idXJnZXI6aG92ZXI6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuYy1oYW1idXJnZXIgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgIWltcG9ydGFudDtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuYy1oYW1idXJnZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuXG4uYy1oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luOiA0MHB4IDA7XG4gIGNvbG9yOiAjMjEyMTIxO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtaGVhZGluZy0taW5kZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtaGVybyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1oZXJvIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1oZXJvIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uYy1oZXJvX19tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLmMtaGVyb19fbWFpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgdG9wOiA1MCU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IC0xMDB2dztcbiAgbGVmdDogLTEwMHZ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjM0NzIyO1xufVxuXG4uYy1oZXJvX19zbGlkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1NS41NTYlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmMtaGVyb19fc2xpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICB9XG59XG5cbi5jLWhlcm9fX3BpY3R1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgZmlsdGVyOiBibHVyKDVweCk7XG59XG4uYy1oZXJvX19waWN0dXJlLmlzLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgZmlsdGVyOiBub25lO1xufVxuXG4uYy1oZXJvX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1oZXJvX19jYXB0aW9uIHtcbiAgZm9udC1zaXplOiBjYWxjKDE2cHggKyAxdncpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI5LCAyOSwgMjksIDAuOSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1oZXJvX19jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogOTUlO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmMtaGVyb19fY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMi42dnc7XG4gICAgZm9udC1zaXplOiAzLjV2dztcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLWhlcm9fX2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHBhZGRpbmctbGVmdDogNC4xNjY2NjY2NjY3JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0LjE2NjY2NjY2NjclO1xuICB9XG59XG5cbi5jLWhlcm9fX2NvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xufVxuLmMtaGVyb19fY29udHJvbHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjaywgdHJhbnNwYXJlbnQpO1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5jLWhlcm9fX3Njcm9sbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczNzM3MztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSByb3RhdGUoMC4yNXR1cm4pO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtaGVyb19fc2Nyb2xsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYy1oZXJvX19zY3JvbGwgPiBzdmcge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXM7XG59XG4uYy1oZXJvX19zY3JvbGw6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICM2MjYyNjI7XG59XG4uYy1oZXJvX19zY3JvbGw6aG92ZXIgPiBzdmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWhlcm9fX3Njcm9sbDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICM2ODY4Njg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjZDVkNWQ1O1xufVxuXG4uYy1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogN3B4IDE2cHg7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICBvdXRsaW5lOiBub25lO1xufVxuLmhhcy1lcnJvciAuYy1pbnB1dCB7XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCAjNDA3OUI4O1xuICBib3JkZXItY29sb3I6ICM0MDc5Qjg7XG59XG4uYy1pbnB1dDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCAjMUQxRDFEO1xuICBib3JkZXItY29sb3I6ICMxRDFEMUQ7XG59XG50ZXh0YXJlYS5jLWlucHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1pbi1oZWlnaHQ6IDE1OHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmMtbGFuZ3VhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWxhbmd1YWdlX19idXR0b24ge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgxMDEsIDEwMSwgMTAxLCAwLjUpO1xuICBib3JkZXI6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXM7XG59XG4uYy1sYW5ndWFnZV9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2ljb24ge1xuICBmbGV4OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2xhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWxhbmd1YWdlX19kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAwIDEycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtbGFuZ3VhZ2U6aG92ZXIgLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uYy1sYW5ndWFnZV9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG59XG4uYy1sYW5ndWFnZV9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM3MzczO1xufVxuXG4vKlxuXHRDb2xvcnMgZ2V0IGRlZmluZWQgaW4gX3NldHRpbmdzLmNvbmZpZy5zY3NzXG4qL1xuLmMtbmF2IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uYy1uYXZfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtbmF2X19pdGVtIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW4tcmlnaHQ6IDIlO1xufVxuLmMtbmF2X19pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jLW5hdl9fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNHB4O1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAxNTBtcyBsaW5lYXI7XG59XG4uYy1uYXZfX2xpbms6aG92ZXIsIC5jLW5hdl9fbGluazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1uYXZfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBsZWZ0OiA0cHg7XG4gIGJvdHRvbTogMXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcbn1cbi5jLW5hdl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMjEyMTIxO1xufVxuLmMtbmF2X19saW5rOmhvdmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG59XG4uYy1uYXZfX2xpbmsuaXMtYWN0aXZlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYy1uYXZfX2xpbmsuaXMtYWN0aXZlOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNENjMzMTM7XG59XG4uYy1uYXZfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5jLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtcGFnaW5hdGlvbl9faXRlbTpmaXJzdC1jaGlsZCwgLmMtcGFnaW5hdGlvbl9faXRlbTpsYXN0LWNoaWxkLCAuYy1wYWdpbmF0aW9uX19pdGVtLmlzLWxhc3QtcGFnZSwgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1sYXN0LXBhZ2Uge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4uYy1wYWdpbmF0aW9uX19pdGVtICsgLmMtcGFnaW5hdGlvbl9faXRlbSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCxcbi5jLXBhZ2luYXRpb25fX2xpbmssXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4td2lkdGg6IDQ4cHg7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCB7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBvcGFjaXR5OiAwLjM1O1xufVxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuLmMtcGFnaW5hdGlvbl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMTcxNzE3O1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xufVxuLmlzLWFjdGl2ZSA+IC5jLXBhZ2luYXRpb25fX2xpbmsge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMTBweCAtNXB4ICNGMzQ3MjI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0YzNDcyMjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xufVxuLmMtcGFnaW5hdGlvbl9fcHJldi5pcy1pbmFjdGl2ZSxcbi5jLXBhZ2luYXRpb25fX25leHQuaXMtaW5hY3RpdmUge1xuICBjb2xvcjogcmdiYSgzMywgMzMsIDMzLCAwLjQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn1cblxuLypcbiAqIFBhZ2UgdGl0bGVcbiAqL1xuLmMtcGFnZS10aXRsZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAjMjEyMTIxO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLXBhZ2UtdGl0bGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlX19wcmVoZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG59XG5cbi5jLXBhZ2UtdGl0bGVfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5jLXBhZ2UtdGl0bGVfX2hlYWRpbmctc21hbGwge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1wcm9qZWN0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtcHJvamVjdG9yX19maWd1cmUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtcHJvamVjdG9yX19jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMjtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xufVxuLmllIC5jLXByb2plY3Rvci0tc2luZ2xlLWltYWdlIC5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuLmMtcHJvamVjdG9yX19waWN0dXJlLmlzLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jLXByb2plY3Rvcl9fY29udHJvbCB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uYy1wcm9qZWN0b3JfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtcHJvamVjdG9yX19pbWcge1xuICAgIG1heC1oZWlnaHQ6IDc4dmg7XG4gIH1cbn1cblxuLmMtc2VydmljZXBvaW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9faW1hZ2Uge1xuICBmbGV4OiAwO1xuICBtaW4td2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTk0cHg7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuLmMtc2VydmljZXBvaW50X19jb250ZW50IHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBtaW4td2lkdGg6IDUwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtYmFzaXM6IGNhbGMoY2FsYyg0MjBweCAtIDEwMCUpICogOTk5KTtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cblxuLmMtc2VydmljZXBvaW50X19ib2R5IHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmMtc2VydmljZXBvaW50X19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzY1NjU2NTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuLmMtc2VydmljZXBvaW50X19zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYy1zaXRlbWFwX19pdGVtIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uYy1zaXRlbWFwX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1zaXRlbWFwX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNGMzQ3MjI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKlxuICogU2tpcCBMaW5rXG4gKi9cbi5jLXNraXAtbGluayB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHZoO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgY29sb3I6ICM0MDc5Qjg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLXNraXAtbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbiAgdG9wOiA1cHg7XG4gIC8qIE5vdyB0aGUgbGluayB3aWxsIGFwcGVhciAqL1xufVxuXG4uYy1zbGlkZS1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM3MzczO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogNDBweDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uICsgLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24ge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b25bYXJpYS1sYWJlbD1wcmV2aW91c10gPiBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvblthcmlhLWxhYmVsPW5leHRdID4gc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjg2ODY4O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjg2ODY4O1xufVxuXG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6aG92ZXI6bm90KC5pcy1hY3RpdmUpLCAuYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1czpub3QoLmlzLWFjdGl2ZSkge1xuICBvcGFjaXR5OiAwLjU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpiZWZvcmUsIC5jLXNsaWRlLWluZGljYXRvcl9fZG90OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmJlZm9yZSB7XG4gIHRvcDogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgcmlnaHQ6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGJvdHRvbTogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgbGVmdDogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmFmdGVyIHtcbiAgdG9wOiBjYWxjKCgzMHB4IC0gMTJweCkgLyAyKTtcbiAgcmlnaHQ6IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICBib3R0b206IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICBsZWZ0OiBjYWxjKCgzMHB4IC0gMTJweCkgLyAyKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0ZGRkZGRjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuICBvcGFjaXR5OiAwO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3QuaXMtYWN0aXZlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3QuaXMtYWN0aXZlOmFmdGVyIHtcbiAgb3BhY2l0eTogMC45O1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXMge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1czpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggYmxhY2ssIDAgMCAxMHB4IDFweCB3aGl0ZTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzOmFmdGVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG59XG5cbi5jLXN1Ym5hdiB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtc3VibmF2LS1ib3hlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIHBhZGRpbmc6IDgwcHggNnZ3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmMtc3VibmF2LS1ib3hlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNSU7XG4gIH1cbn1cblxuLmMtc3VibmF2X19oZWFkZXIge1xuICBtYXJnaW46IDA7XG59XG5cbi5jLXN1Ym5hdl9fbGlzdCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jLXN1Ym5hdl9faXRlbS0tYmFjayB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5jLXN1Ym5hdl9fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjUwbXM7XG59XG4uYy1zdWJuYXZfX2xpbms6aG92ZXIsIC5jLXN1Ym5hdl9fbGluazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1zdWJuYXZfX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzQwNzlCODtcbn1cbi5jLXN1Ym5hdl9fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cbi5jLXN1Ym5hdl9fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0M4QzhDODtcbn1cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgLmMtc3VibmF2X19saW5rOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNGMzQ3MjI7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufVxuXG4uYy1zdWJuYXZfX2ljb24ge1xuICBvcGFjaXR5OiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMTZweDtcbiAgY29sb3I6ICNDOEM4Qzg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTZweCk7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLW91dDtcbn1cbi5jLXN1Ym5hdl9fbGluazpob3ZlciAuYy1zdWJuYXZfX2ljb24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiAjNDA3OUI4O1xufVxuXG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9fbGluayB7XG4gIGNvbG9yOiAjRjM0NzIyO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgLmMtc3VibmF2X19saW5rOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNGMzQ3MjI7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufVxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAuYy1zdWJuYXZfX2ljb24ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKipcbiAqIDEuIENvbG9yIGdldHMgaW5oZXJpdGVkIGFuZCB1c2VkIGZvciBuZXN0ZWQgZWxlbWVudHMgd2l0aCAnY3VycmVudENvbG9yJyBwcm9wZXJ0eVxuICogMi4gUmVzZXQgZGVmYXVsdCBidXR0b24gc3R5bGluZ1xuICovXG4uYy10ZXh0YnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzQwNzlCODtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAyICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5jLXRleHRidXR0b246aG92ZXIsIC5jLXRleHRidXR0b246YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtdGV4dGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGNvbG9yOiAjMjY0OTZlO1xufVxuLmMtdGV4dGJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5jLXRleHRidXR0b246Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5jLXRleHRidXR0b25fX3RleHQge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jLXRleHRidXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtdGV4dGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4uYy10ZXh0YnV0dG9uLS1pY29uIC5jLXRleHRidXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtdGV4dGJ1dHRvbi0taXMtcmV2ZXJzZWQgLmMtdGV4dGJ1dHRvbl9fdGV4dCB7XG4gIG9yZGVyOiAyO1xufVxuLmMtdGV4dGJ1dHRvbi0taXMtcmV2ZXJzZWQgLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIG9yZGVyOiAxO1xuICB0b3A6IDFweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cbi5jLXRleHRidXR0b24tLWlzLXJldmVyc2VkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLXRleHRidXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKSB0cmFuc2xhdGVYKDNweCk7XG59XG5cbi5jLXRyYWRlbWFyayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cbi5jLXRyYWRlbWFyazpob3ZlciwgLmMtdHJhZGVtYXJrOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLXRyYWRlbWFyazpob3ZlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmMtdHJhZGVtYXJrOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy10cmFkZW1hcmtfX3RleHQge1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmMtdHJhZGVtYXJrX19pY29uIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBtYXgtaGVpZ2h0OiAzMnB4O1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5jLXRyYWRlbWFyazpob3ZlciAuYy10cmFkZW1hcmtfX2ljb24ge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbn1cblxuLmMtdmlkZW9fX2lmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiAgNiAtIE9SR0FOSVNNU1xuICogIExhcmdlIGJsb2NrcyBjb21wb3NlZCBvZiBtdWx0aXBsZSBjb21wb25lbnRzLlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIE9yZ2FuaXNtc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uby1hY2NvcmRpb24ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb24ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1hY2NvcmRpb24ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLWFjY29yZGlvbl9faXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjQzhDOEM4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xufVxuLm8tYWNjb3JkaW9uX19pdGVtICsgLm8tYWNjb3JkaW9uX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5vLWFjY29yZGlvbl9faXRlbTpub3QoLmlzLWFjdGl2ZSk6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNGMzQ3MjI7XG59XG5cbi5vLWFjY29yZGlvbl9fdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uX190aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWFjY29yZGlvbl9fdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLm8tYWNjb3JkaW9uX19pdGVtOm5vdCguaXMtYWN0aXZlKSAuby1hY2NvcmRpb25fX3RpdGxlOmhvdmVyIHtcbiAgY29sb3I6ICNGMzQ3MjI7XG59XG5cbi5vLWFjY29yZGlvbl9faWNvbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMTRweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbl9faWNvbiB7XG4gICAgbGVmdDogY2FsYyg2LjI1JSAtIDEwcHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tYWNjb3JkaW9uX19pY29uIHtcbiAgICBsZWZ0OiBjYWxjKDQuMTY2NjY2NjY2NyUgLSAxMHB4KTtcbiAgfVxufVxuLm8tYWNjb3JkaW9uX19pY29uOjpiZWZvcmUsIC5vLWFjY29yZGlvbl9faWNvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGxlZnQ6IDNweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcywgNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLCBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG59XG4uby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlIC5vLWFjY29yZGlvbl9faWNvbjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgcm90YXRlKDAuMjV0dXJuKTtcbn1cbi5vLWFjY29yZGlvbl9faWNvbjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjI1dHVybik7XG59XG4uby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlIC5vLWFjY29yZGlvbl9faWNvbjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuLm8tYWNjb3JkaW9uX19oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb25fX2hlYWRlciB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgfVxufVxuXG4vKiBIaWRkZW4gYnkgZGVmYXVsdCovXG4uby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICBvcGFjaXR5OiAwO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cbi5vLWFjY29yZGlvbl9fY29udGVudCA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgLm8tYWNjb3JkaW9uX19jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgbWF4LWhlaWdodDogNDAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDk2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1ibG9jayArIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDk2cHg7XG4gIH1cbn1cblxuLypcbiogV3JhcHBlciBvZiB0aGUgbWFpbiBib2R5XG4qIChiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIHRoZSBmb290ZXIpXG4qL1xuLm8tYm9keSB7XG4gIHotaW5kZXg6IDQwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uby1jYWxsb3V0LWJhciB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAxMnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDEwdnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogOTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA1dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAzLjU3MTQyODU3MTR2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gIH1cbn1cblxuLm8tY2FsbG91dC1iYXJfX2JvZHkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5vLWNhbGxvdXQtYmFyX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuLypcbiAqIENhcmQgZ3JpZFxuICpcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLm8tY2FyZC1ncmlkX19tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0gKyAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9faXRlbSB7XG4gICAgbWF4LXdpZHRoOiAzNDRweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgICBmbGV4OiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gKCgyIC0gMSkgLyAyICogMzJweCkpO1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICB9XG4gIC5vLWNhcmQtZ3JpZF9faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vLWNhcmQtZ3JpZF9faXRlbTpudGgtY2hpbGQobiszKSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9faXRlbSB7XG4gICAgZmxleDogMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gKCgzIC0gMSkgLyAzICogMzJweCkpO1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICB9XG4gIC5vLWNhcmQtZ3JpZF9faXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vLWNhcmQtZ3JpZF9faXRlbTpudGgtY2hpbGQobis0KSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuXG4uby1jb250YWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5vLWNvbnRhY3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5vLWNvbnRhY3RfX2luZm8ge1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1sZWZ0OiA2dnc7XG4gIHBhZGRpbmctcmlnaHQ6IDZ2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWNvbnRhY3RfX2luZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWNvbnRhY3RfX2luZm8ge1xuICAgIHBhZGRpbmctbGVmdDogNy4xNDI4NTcxNDI5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3LjE0Mjg1NzE0MjklO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLm8tY29udGFjdF9faW5mbyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIH1cbn1cblxuLm8tY29udGFjdF9fZm9ybSB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG4gIHBhZGRpbmc6IDMycHggNnZ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tY29udGFjdF9fZm9ybSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tY29udGFjdF9fZm9ybSB7XG4gICAgcGFkZGluZy1sZWZ0OiA3LjE0Mjg1NzE0MjklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDcuMTQyODU3MTQyOSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuby1jb250YWN0X19mb3JtIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gIH1cbn1cblxuLm8tY29udGFjdF9faGVhZGVyIHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLm8tY29udGFjdF9fY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5vLWNvbnRhY3RfX2FkZHJlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG4uby1jb250YWN0X19hZGRyZXNzIGg1IHtcbiAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5vLWNvb2tpZS1iYXIge1xuICB6LWluZGV4OiAtMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogNjRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRDFEMUQ7XG4gIG9wYWNpdHk6IDE7XG4gIGJveC1zaGFkb3c6IDAgLTRweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgdHJhbnNmb3JtIDAuNnM7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi5vLWNvb2tpZS1iYXI6bm90KC5pcy1hY2NlcHRlZCkge1xuICB6LWluZGV4OiA5OTk5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uby1jb29raWUtYmFyLmlzLXRyYW5zaXRpb25pbmctb3V0IHtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xufVxuXG4uby1jb29raWUtYmFyX19tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzNweCkge1xuICAuby1jb29raWUtYmFyX19tYWluIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIH1cbn1cblxuLm8tY29va2llLWJhcl9fdGV4dCB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzRweCkge1xuICAuby1jb29raWUtYmFyX190ZXh0IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIH1cbn1cblxuLm8tY29va2llLWJhcl9fbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xufVxuLm8tY29va2llLWJhcl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNzUpO1xufVxuXG4uby1jb29raWUtYmFyX19idXR0b24ge1xuICBmbGV4OiBub25lO1xuICBtYXJnaW4tbGVmdDogNDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWNvb2tpZS1iYXJfX2J1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEb3VibGUgaW1hZ2UgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIHBpY3R1cmVzIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tZG91YmxlLWltYWdlIHtcbiAgbWFyZ2luOiAtMXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLm8tZG91YmxlLWltYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDFweDtcbiAgb3JkZXI6IDE7XG4gIG1pbi1oZWlnaHQ6IDM2MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgLm8tZG91YmxlLWltYWdlX19waWN0dXJlOmxhc3QtY2hpbGQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxufVxuXG4uby1kb3VibGUtaW1hZ2VfX2ltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBtYXgtaGVpZ2h0OiA4NXZoO1xufVxuXG4uby1kb3VibGUtaW1hZ2UtLWlzLXJldmVyc2VkIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5vLWRvdWJsZS1pbWFnZS0taXMtcmV2ZXJzZWQgLm8tZG91YmxlLWltYWdlX19waWN0dXJlOmxhc3QtY2hpbGQge1xuICBvcmRlcjogMDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEb3VibGUgbGF5b3V0IGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBjb2x1bW5zIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tZG91YmxlLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1kb3VibGUtdGV4dF9fY29sdW1uIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1kb3VibGUtdGV4dF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogNjIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1kb3VibGUtdGV4dF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1kb3VibGUtdGV4dF9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG93bmxvYWRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3dubG9hZHMtLWlzLXJldmVyc2VkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbn1cblxuLm8tZG93bmxvYWRzX19tYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3MnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG93bmxvYWRzX19tYWluIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tZG93bmxvYWRzX19tYWluIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYuMjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDYuMjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZG93bmxvYWRzX19tYWluIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLm8tZG93bmxvYWRzX19tYWluIC5jLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1kb3dubG9hZHNfX3NlcnZpY2UtcG9pbnQge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWRvd25sb2Fkc19fc2VydmljZS1wb2ludCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tZG93bmxvYWRzX19zZXJ2aWNlLXBvaW50IHtcbiAgICB3aWR0aDogMzcuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1kb3dubG9hZHNfX3NlcnZpY2UtcG9pbnQge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG4uby1mb290ZXIge1xuICB6LWluZGV4OiAyMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMzQ3MjI7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4uby1mb290ZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1mb290ZXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1mb290ZXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA2dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDZ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tZm9vdGVyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNXZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA1dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1mb290ZXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAzLjU3MTQyODU3MTR2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMy41NzE0Mjg1NzE0dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1mb290ZXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9fY29sdW1ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uby1mb290ZXJfX2JyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGxpbmVhcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWZvb3Rlcl9fYnJhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuOTZ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tZm9vdGVyX19icmFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4zdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjM1NzE0Mjg1NzF2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWZvb3Rlcl9fYnJhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMxLjY4cHg7XG4gIH1cbn1cbi5vLWZvb3Rlcl9fYnJhbmQ6aG92ZXIge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5vLWZvb3Rlcl9fbG9nbyB7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm8tZm9vdGVyX19pbmZvID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19pbmZvIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZm9vdGVyX19pbmZvIHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZm9vdGVyX19uYXYge1xuICAgIG1hcmdpbi10b3A6IDZ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1mb290ZXJfX25hdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tZm9vdGVyX19saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uby1mb290ZXJfX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm8tZm9vdGVyX19saW5rOmhvdmVyLCAuby1mb290ZXJfX2xpbms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLm8tZm9vdGVyX19saW5rOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogLThweDtcbiAgcmlnaHQ6IC04cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNENjMzMTM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLm8tZm9vdGVyX19saW5rOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuLm8tZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uby1mb290ZXJfX3NvY2lhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMzJweCAwIDA7XG59XG5cbi5vLWZvb3Rlcl9fY2hhbm5lbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG59XG5cbi5vLWZvb3Rlcl9faWNvbiB7XG4gIGZsZXg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbn1cbi5mYWNlYm9vayAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9mYWNlYm9vay5zdmdcIik7XG4gIGhlaWdodDogMjFweDtcbn1cbi5pbnN0YWdyYW0gLm8tZm9vdGVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvaW5zdGFncmFtLnN2Z1wiKTtcbn1cbi50d2l0dGVyIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL3R3aXR0ZXIuc3ZnXCIpO1xuICBoZWlnaHQ6IDIwcHg7XG59XG4ubGlua2VkaW4gLm8tZm9vdGVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvbGlua2VkaW4uc3ZnXCIpO1xuICBoZWlnaHQ6IDE4cHg7XG59XG4uby1mb290ZXJfX2ljb246aG92ZXIge1xuICBvcGFjaXR5OiAwLjU7XG59XG4uby1mb290ZXJfX2ljb246Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjNDA3OUI4O1xufVxuXG4uby1mb3JtX19oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uby1mb3JtX19mb290ZXIge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uby1mb3JtX19yb3cgKyAuby1mb3JtX19yb3cge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uby1mb3JtX19wb3Qge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi8qXG5cdENvbG9ycyBnZXQgZGVmaW5lZCBpbiBfc2V0dGluZ3MuY29uZmlnLnNjc3NcbiovXG4uby1oZWFkZXIge1xuICB6LWluZGV4OiA1MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyNHB4IDA7XG59XG4uby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1MDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBib3gtc2hhZG93OiAwIC01cHggMzBweCBibGFjaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDMwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaXMtc3RpY2t5LWhlYWRlci12aXNpYmxlIC5vLWhlYWRlci5pcy1zdGlja3kge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuXG4uby1oZWFkZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8taGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1oZWFkZXJfX25hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogNDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuby1oZWFkZXJfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1oZWFkZXJfX2xhbmd1YWdlIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDk5cHgpIHtcbiAgLm8taGVhZGVyX19sYW5ndWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLm8taGVhZGVyX19sb2dvIHtcbiAgZmxleDogbm9uZTtcbn1cbi5vLWhlYWRlcl9fbG9nbzpob3ZlciwgLm8taGVhZGVyX19sb2dvOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5vLWhlYWRlcl9fbG9nbzpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLm8taGVhZGVyX19pbWcge1xuICBoZWlnaHQ6IDY0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1oZWFkZXJfX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1pbnRybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLm8taW50cm9fX2JvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8taW50cm9fX2JvZHkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8taW50cm8tLW1vYmlsZS1icmVhay1vdXQgLm8taW50cm9fX2JvZHkge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX2JvZHk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjM0NzIyO1xuICB9XG4gIC5vLWludHJvLS1ib3R0b20tYmFyLWhpZGRlbiAuby1pbnRyb19fYm9keTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLWludHJvX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5vLWludHJvX19uYXYsXG4uby1pbnRyb19faW1hZ2Uge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX25hdixcbi5vLWludHJvX19pbWFnZSB7XG4gICAgb3JkZXI6IC0xO1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8taW50cm9fX25hdixcbi5vLWludHJvX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uby1pbnRyb19fbmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgcGFkZGluZzogMzJweCA2dnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1pbnRyb19fbmF2IHtcbiAgICBwYWRkaW5nOiA4MHB4IDQuMTY2NjY2NjY2NyU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1pbnRyb19fdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDZ2dztcbiAgcGFkZGluZy1yaWdodDogNnZ3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX3RleHQge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nOiA4MHB4IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fdGV4dCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uby1pbnRyb19fdGl0bGUsXG4uby1pbnRyb19faGVhZGluZyB7XG4gIGNvbG9yOiAjMUQxRDFEICFpbXBvcnRhbnQ7XG59XG5cbi5vLWludHJvX19idXR0b24ge1xuICBjb2xvcjogIzQwNzlCOCAhaW1wb3J0YW50O1xufVxuXG4uby1sb2dvc19fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbjogLTIuMzgydnc7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1sb2dvc19fbGlzdCB7XG4gICAgbWFyZ2luOiAtMzJweDtcbiAgfVxufVxuXG4uby1sb2dvc19faXRlbSB7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDIuMzgydnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODRweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDV2dyk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tbG9nb3NfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gNjRweCk7XG4gICAgbWFyZ2luOiAzMnB4O1xuICB9XG59XG5cbi5vLWxvZ29zX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vLWxvZ29zX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5vLW1hcCBhOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm8tbmV3cyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3Mge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1uZXdzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1uZXdzX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5vLW5ld3NfX2FydGljbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uby1uZXdzX19hcnRpY2xlICsgLm8tbmV3c19fYXJ0aWNsZSB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5cbi5vLW5ld3NfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgbGluZWFyO1xufVxuLm8tbmV3c19fbGluazpob3ZlciwgLm8tbmV3c19fbGluazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uby1uZXdzX19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDOEM4Qzg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLm8tbmV3c19fbGluazpob3ZlciwgLm8tbmV3c19fbGluazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG59XG4uby1uZXdzX19saW5rOmhvdmVyOjpiZWZvcmUsIC5vLW5ld3NfX2xpbms6Zm9jdXM6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4uby1uZXdzX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuLm8tbmV3c19fYm9keSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogNnZ3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19fYm9keSB7XG4gICAgb3JkZXI6IDE7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMi41JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLW5ld3NfX2JvZHkge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1uZXdzX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1NSU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzX19pbWFnZSB7XG4gICAgZmxleDogbm9uZTtcbiAgICBvcmRlcjogMjtcbiAgICB3aWR0aDogMjUlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyNSU7XG4gIH1cbn1cblxuLm8tbmV3c19fYmctaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRvcDogNnZ3O1xuICByaWdodDogNnZ3O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNnZ3KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3NfX2JnLWltYWdlIHtcbiAgICB0b3A6IDhweDtcbiAgICByaWdodDogOHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICB9XG59XG5cbi5vLW5ld3NfX2ludHJvIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLm8tbmV3c19fdGltZXN0YW1wIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uby1uZXdzX19hY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgY29sb3I6ICM0MDc5Qjg7XG59XG5cbi5vLW5ld3NfX3JlYWRtb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5vLW5ld3NfX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tb3ZlcmxheS1tZW51IHtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzNDcyMjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMjB2dyk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXMsIDIwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLjE1LCAwLjEsIDEpLCBsaW5lYXI7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zLCAwcztcbn1cbi5vLW92ZXJsYXktbWVudTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogLTEyMHZ3O1xuICB3aWR0aDogMTIwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDQwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51OjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cbi5vLW92ZXJsYXktbWVudTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMjAlO1xuICB3aWR0aDogMjAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtODZkZWcsIHRyYW5zcGFyZW50IDUwJSwgI0YzNDcyMiA1MCUpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5vLW92ZXJsYXktbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX2JhciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1vdmVybGF5LW1lbnVfX2JhciB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLW92ZXJsYXktbWVudV9fYmFyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX2ltZyB7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm8tb3ZlcmxheS1tZW51X190b2dnbGUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC41dHVybik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX3RvZ2dsZSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19pdGVtIHtcbiAgcGFkZGluZzogOHB4IDcuMTQyODU3MTQyOSU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbms6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgb3V0bGluZS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rLmlzLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3BhY2l0eTogMTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbmsuaXMtYWN0aXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKelFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICBsZWZ0OiAtMS4yNWVtO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5vLXF1b3RlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1xdW90ZSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGVfX2JvZHkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1xdW90ZV9fYm9keSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi5vLXF1b3RlX19waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1xdW90ZV9fcGljdHVyZSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGVfX3BpY3R1cmUge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1xdW90ZV9fcGljdHVyZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1xdW90ZV9faW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uby1xdW90ZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgcXVvdGVzOiBcIuKAnFwiIFwi4oCdXCI7XG59XG4uby1xdW90ZV9fdGV4dDo6YmVmb3JlIHtcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbn1cbi5vLXF1b3RlX190ZXh0OjphZnRlciB7XG4gIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xufVxuXG4uby1xdW90ZV9fYXV0aG9yIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5vLXF1b3RlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLm8tcXVvdGVfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLXJlZmVyZW5jZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogLTMycHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2l0ZW0ge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDMycHg7XG4gIHBhZGRpbmctdG9wOiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiAwcHggc29saWQgI0M4QzhDODtcbiAgYm94LXNoYWRvdzogMCAyLjRweCAzOS40cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjAyNCksIDAgNi44cHggNDUuNXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC4wMzUpLCAwIDE2LjNweCA1MS40cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjA0NiksIDAgNTRweCA4MHB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuby1yZWZlcmVuY2VzX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDY0cHggLSAwcHgpO1xuICB9XG59XG5cbi5vLXJlZmVyZW5jZXNfX2JvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xufVxuXG4uby1yZWZlcmVuY2VzX19waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogMjUlO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBtYXJnaW4tbGVmdDogMjRweDtcbn1cblxuLm8tcmVmZXJlbmNlc19fY29udGVudCB7XG4gIGZsZXgtZ3JvdzogOTk5OTtcbiAgZmxleC1iYXNpczogMThlbTtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uby1yZWZlcmVuY2VzX19hdXRob3Ige1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4uby1yZWZlcmVuY2VzX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLm8tcmVmZXJlbmNlc19fc3ViaGVhZGluZyB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uby1zdWJmb290ZXIge1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNENjMzMTM7XG4gIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNnM7XG59XG4uaXMtY29va2llcy1hY2NlcHRlZCAuby1zdWJmb290ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLm8tc3ViZm9vdGVyX19tYWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1zdWJmb290ZXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1zdWJmb290ZXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLXN1YmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xufVxuXG4uby1zdWJmb290ZXJfX25hdiB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi5vLXN1YmZvb3Rlcl9faXRlbSB7XG4gIG1hcmdpbi1yaWdodDogMzJweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm8tc3ViZm9vdGVyX19saW5rIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXM7XG59XG4uby1zdWJmb290ZXJfX2xpbms6aG92ZXIsIC5vLXN1YmZvb3Rlcl9fbGluazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uby1zdWJmb290ZXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLm8tc3ViZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKlxuICogT24gc21hbGwgc2NyZWVucyB0aGUgY29udGVudCBpcyBzdGFja2VkLCB3aXRob3V0IGNvbnRyb2xzXG4gKiBXaGVuIHRoZSBzY3JlZW4gaXMgd2lkZSBlbm91Z2ggd2UgYWRkIHRoZSBjb250cm9sc1xuICogYW5kIHNob3cgb25seSB0aGUgY2hvc2VuICdzbGlkZSBjb250ZW50J1xuICovXG4uby10YWJzbGlkZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby10YWJzbGlkZXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBjb2xvcjogIzIxMjEyMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYm9yZGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5vLXRhYnNsaWRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICNGMzQ3MjI7XG4gIGJvcmRlci1jb2xvcjogI0YzNDcyMjtcbn1cbi5vLXRhYnNsaWRlcl9fYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjM0NzIyO1xuICBib3JkZXItY29sb3I6ICNGMzQ3MjI7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogI0YzNDcyMjtcbn1cbi5vLXRhYnNsaWRlcl9fYnV0dG9uOmZvY3VzOm5vdCguaXMtYWN0aXZlKTpub3QoOmFjdGl2ZSkge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0ZGRkZGRiwgMCAwIDVweCAzcHggcmdiYSgzMywgMzMsIDMzLCAwLjEpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcCB7XG4gIHdpZHRoOiA0OHB4O1xufVxuXG4uby10YWJzbGlkZXJfX3N0ZXAtLXByZXYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX190YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tdGFic2xpZGVyX190YWJzIHtcbiAgICBtYXJnaW46IC04cHggOHB4O1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fdGFiIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgbWFyZ2luOiA4cHg7XG4gIHBhZGRpbmc6IDdweCAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fY29udGVudCArIC5vLXRhYnNsaWRlcl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250ZW50IHtcbiAgICBncmlkLXJvdzogMTtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgLm8tdGFic2xpZGVyX19jb250ZW50LmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMjEyMTIxO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby10ZWFtIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZ3O1xuICAgIG1hcmdpbi1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDEwdnc7XG4gICAgbWFyZ2luLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICAgIG1hcmdpbi1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogOTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2MHB4KSB7XG4gIC5vLXRlYW1fX21hdHJpeCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAtMTZweDtcbiAgfVxufVxuXG4uby10ZWFtX19pdGVtIHtcbiAgbWFyZ2luOiAwIGF1dG8gMzJweDtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2MHB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIG1hcmdpbjogMTZweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDMycHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuby10ZWFtX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDMycHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm8tdGVhbV9faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAzMnB4KTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdXNwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjM0NzIyO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXVzcF9fbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uby11c3BfX3RleHQge1xuICBwYWRkaW5nOiAzMnB4IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjM0NzIyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdXNwX190ZXh0IHtcbiAgICB3aWR0aDogNjIuNSU7XG4gICAgcGFkZGluZy10b3A6IDYuMjUlO1xuICAgIHBhZGRpbmctYm90dG9tOiA2LjI1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby11c3BfX3RleHQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogNC4xNjY2NjY2NjY3JSA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXVzcF9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdXNwX19pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC02dnc7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA2NSU7XG4gICAgbWluLWhlaWdodDogMzYwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLXVzcF9faW1hZ2Uge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby11c3BfX2ltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5vLXVzcF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uby11c3BfX2xpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuXG4uby11c3BfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbn1cbi5vLXVzcF9faXRlbSArIC5vLXVzcF9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG4uby11c3BfX2l0ZW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIGxlZnQ6IC0xNnB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jaGVjay9jaGVja2VkLnN2Zyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4O1xufVxuXG4uby11c3BfX2FjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDQ4cHg7XG59XG5cbi5vLXVzcF9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uby12YWNhbmNpZXMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uby12YWNhbmNpZXMgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5vLXZhY2FuY2llc19fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXI6IHNvbGlkIDJweCAjRjM0NzIyO1xuICBmb250LXNpemU6IDEuMWVtO1xuICBjb2xvcjogI0YzNDcyMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cbi5vLXZhY2FuY2llc19fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjNWM1YzVjO1xuICBib3JkZXI6IHNvbGlkIDJweCAjNWM1YzVjO1xufVxuXG4vKiAgNyAtIFRlbXBsYXRlc1xuICogIE92ZXJyaWRlIHN0eWxpbmcgZm9yIGEgc3BlY2lmaWMgdGVtcGxhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUZW1wbGF0ZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogIDggLSBTQ09QRVNcbiAqICBFbGVtZW50cyBhbmQgY2xhc3NlcyB0aGF0IGFyZSBzY29wZWQgYnkgYSBwYXJlbnQgY2xhc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnMtY2hlY2tsaXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ucy1jaGVja2xpc3QgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuLnMtY2hlY2tsaXN0IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9jaGVjay9jaGVja2VkLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KTtcbn1cbi5jaGVja2xpc3QtaGFzLXgtc21hbGwtZm9udCAucy1jaGVja2xpc3Qge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xufVxuLmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250IC5zLWNoZWNrbGlzdCBsaTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7XG59XG5cbi8qKlxuICogQWxsIHRleHQgZWxlbWVudHMgdGhhdCBjYW4gYmUgYWRkZWQgYnkgdGhlIHVzZXIgdGhyb3VnaCBhIENNU1xuICovXG4ucy10ZXh0IGgyLCAucy10ZXh0IGgzLCAucy10ZXh0IGg0IHtcbiAgY29sb3I6ICMyMTIxMjE7XG59XG4ucy10ZXh0ID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuLnMtdGV4dCA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5zLXRleHQgPiAqICsgLmMtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG4gIHBhZGRpbmctbGVmdDogMS4xMjVlbTtcbn1cbi5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkgPiBsaTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGNvbnRlbnQ6IFwi4oCiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNHB4O1xuICBsZWZ0OiAwO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IG9sLWNvdW50ZXI7XG59XG4ucy10ZXh0ID4gb2w6bm90KFtjbGFzc10pID4gbGkge1xuICBjb3VudGVyLWluY3JlbWVudDogb2wtY291bnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG4gIHBhZGRpbmctbGVmdDogMS44ZW07XG59XG4ucy10ZXh0ID4gb2w6bm90KFtjbGFzc10pID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIob2wtY291bnRlcikgXCIuIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEuMjc1ZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKiAgOSAtIFVUSUxJVElFU1xuICogIEhpZ2gtc3BlY2lmaWNpdHksIHZlcnkgZXhwbGljaXQgc2VsZWN0b3JzLlxuICogIE92ZXJyaWRlcyBhbmQgaGVscGVyIGNsYXNzZXMuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgQ29sb3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkIGNvbG9yc1xuICogQmFzZWQgb24gdGhlc2UgYXJ0aWNsZXM6XG4gKiAtIGh0dHA6Ly9lcnNraW5lZGVzaWduLmNvbS9ibG9nL2ZyaWVuZGxpZXItY29sb3VyLW5hbWVzLXNhc3MtbWFwcy9cbiAqIC0gaHR0cHM6Ly9ibG9nLmF0ZWNobWVkaWEuY29tL2Nzcy1mb3ItbXVsdGlwbGUtdGhlbWVzL1xuICogT3V0cHV0IGlzIGluIHRoZSBmb3JtIG9mOlxuXG4gICAudS1jb2xvci1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiAjYmFkYTU1O1xuICAgfVxuXG4gIC51LWJnLW5ldXRyYWwtLTkwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlY2FmZjtcbiAgfVxuICovXG4udS1jb2xvci1wcmltYXJ5LS01MDAge1xuICBjb2xvcjogI0YzNDcyMjtcbn1cblxuLnUtYmctcHJpbWFyeS0tNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzNDcyMjtcbn1cblxuLnUtY29sb3ItcHJpbWFyeS0tNzAwIHtcbiAgY29sb3I6ICNENjMzMTM7XG59XG5cbi51LWJnLXByaW1hcnktLTcwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNENjMzMTM7XG59XG5cbi51LWNvbG9yLXNlY29uZGFyeS0tNTAwIHtcbiAgY29sb3I6ICM3MzczNzM7XG59XG5cbi51LWJnLXNlY29uZGFyeS0tNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczNzM3Mztcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udS1iZy1uZXV0cmFsLS0wIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMTAwIHtcbiAgY29sb3I6ICNGOEY4Rjg7XG59XG5cbi51LWJnLW5ldXRyYWwtLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTIwMCB7XG4gIGNvbG9yOiAjRjVGNUY1O1xufVxuXG4udS1iZy1uZXV0cmFsLS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0zMDAge1xuICBjb2xvcjogI0M4QzhDODtcbn1cblxuLnUtYmctbmV1dHJhbC0tMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tNDAwIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi51LWJnLW5ldXRyYWwtLTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk5OTk7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTUwMCB7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4udS1iZy1uZXV0cmFsLS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2NTY1O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS04MDAge1xuICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLnUtYmctbmV1dHJhbC0tODAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tOTAwIHtcbiAgY29sb3I6ICMxRDFEMUQ7XG59XG5cbi51LWJnLW5ldXRyYWwtLTkwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRDFEMUQ7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTEwMDAge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnUtYmctbmV1dHJhbC0tMTAwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1hY3Rpb24ge1xuICBjb2xvcjogIzQwNzlCODtcbn1cblxuLnUtYmctZmVlZGJhY2stLWFjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDc5Qjg7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmQzM2E7XG59XG5cbi51LWJnLWZlZWRiYWNrLS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDMzYTtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLWFsZXJ0IHtcbiAgY29sb3I6ICNmZjgxMDA7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjgxMDA7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1uZWdhdGl2ZSB7XG4gIGNvbG9yOiAjY2YzZTNlO1xufVxuXG4udS1iZy1mZWVkYmFjay0tbmVnYXRpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2YzZTNlO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tcG9zaXRpdmUge1xuICBjb2xvcjogIzNlY2Y4ZTtcbn1cblxuLnUtYmctZmVlZGJhY2stLXBvc2l0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlY2Y4ZTtcbn1cblxuLnUtY29sb3ItYm9yZGVyLS0wIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51LWJnLWJvcmRlci0tMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi51LWNvbG9yLWJvcmRlci0tMzAwIHtcbiAgY29sb3I6ICNDOEM4Qzg7XG59XG5cbi51LWJnLWJvcmRlci0tMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbn1cblxuLnUtY29sb3ItYm9yZGVyLS01MDAge1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtYmctYm9yZGVyLS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2NTY1O1xufVxuXG4udS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4qIElmIHlvdSBuZWVkIHRvIG1ha2UgYSBxdWljayBmaXgsIHlvdSBjYW4gZG8gaXQgaGVyZS5cbiogTGF0ZXIgd2hlbiB5b3UgaGF2ZSB0aGUgdGltZSwgeW91IGNhbiBtb3ZlIHRoZSBmaXggaW50byB0aGUgY29ycmVjdCBwbGFjZSBpbiB0aGUgc3RydWN0dXJlXG4qL1xuLnUtc3BhY2luZy1tdDAge1xuICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjAge1xuICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iMCB7XG4gIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sMCB7XG4gIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDAge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHIwIHtcbiAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIwIHtcbiAgcGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsMCB7XG4gIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQxIHtcbiAgbWFyZ2luLXRvcDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIxIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjEge1xuICBtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDEge1xuICBtYXJnaW4tbGVmdDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQxIHtcbiAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiMSB7XG4gIHBhZGRpbmctYm90dG9tOiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDEge1xuICBwYWRkaW5nLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10MiB7XG4gIG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjIge1xuICBtYXJnaW4tcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjIge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWwyIHtcbiAgbWFyZ2luLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDIge1xuICBwYWRkaW5nLXRvcDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjIge1xuICBwYWRkaW5nLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsMiB7XG4gIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10MyB7XG4gIG1hcmdpbi10b3A6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjMge1xuICBtYXJnaW4tcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjMge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWwzIHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDMge1xuICBwYWRkaW5nLXRvcDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjMge1xuICBwYWRkaW5nLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsMyB7XG4gIHBhZGRpbmctbGVmdDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NCB7XG4gIG1hcmdpbi10b3A6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjQge1xuICBtYXJnaW4tcmlnaHQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjQge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw0IHtcbiAgbWFyZ2luLWxlZnQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDQge1xuICBwYWRkaW5nLXRvcDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjQge1xuICBwYWRkaW5nLWJvdHRvbTogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNCB7XG4gIHBhZGRpbmctbGVmdDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjUge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjUge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw1IHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDUge1xuICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjUge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNSB7XG4gIHBhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NiB7XG4gIG1hcmdpbi10b3A6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjYge1xuICBtYXJnaW4tcmlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjYge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw2IHtcbiAgbWFyZ2luLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDYge1xuICBwYWRkaW5nLXRvcDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNiB7XG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjYge1xuICBwYWRkaW5nLWJvdHRvbTogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNiB7XG4gIHBhZGRpbmctbGVmdDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NyB7XG4gIG1hcmdpbi10b3A6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjcge1xuICBtYXJnaW4tcmlnaHQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjcge1xuICBtYXJnaW4tYm90dG9tOiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw3IHtcbiAgbWFyZ2luLWxlZnQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDcge1xuICBwYWRkaW5nLXRvcDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNyB7XG4gIHBhZGRpbmctcmlnaHQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjcge1xuICBwYWRkaW5nLWJvdHRvbTogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNyB7XG4gIHBhZGRpbmctbGVmdDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10OCB7XG4gIG1hcmdpbi10b3A6IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjgge1xuICBtYXJnaW4tcmlnaHQ6IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjgge1xuICBtYXJnaW4tYm90dG9tOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw4IHtcbiAgbWFyZ2luLWxlZnQ6IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDgge1xuICBwYWRkaW5nLXRvcDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByOCB7XG4gIHBhZGRpbmctcmlnaHQ6IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjgge1xuICBwYWRkaW5nLWJvdHRvbTogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsOCB7XG4gIHBhZGRpbmctbGVmdDogNjRweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAudS1zcGFjaW5nLXB2IHtcbiAgICBwYWRkaW5nLXRvcDogMTJ2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLnUtc3BhY2luZy1wdiB7XG4gICAgcGFkZGluZy10b3A6IDEwdnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAudS1zcGFjaW5nLXB2IHtcbiAgICBwYWRkaW5nLXRvcDogNy4xNDI4NTcxNDI5dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLnUtc3BhY2luZy1wdiB7XG4gICAgcGFkZGluZy10b3A6IDk2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC51LXNwYWNpbmctcHIwXFxAbCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGhpcyBncmlkIGNhbiBiZSB0dXJuZWQgb24gYW5kIG9mZiB3aGVuIHlvdSB3YW50IHRvIGNoZWNrXG4gKiBpZiBldmVyeXRoaW5nIGlzIG5pY2UgaW4gcGxhY2UuXG4gKiBTZXQgZmxhZyAnc2hvd0dyaWQnIHRvIHRydWUgaW4gc2l0ZS5waHBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udS12aXNpYmxlLWdyaWQge1xuICB6LWluZGV4OiAxMDAwMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC8qIDggcG9pbnQgZ3JpZCBsaW5lcyAqL1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNyksIHJnYmEoMCwgNDMsIDI1NSwgMC4wNykgMjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDI1JSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSA1MCUpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcbiAgICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpIDEyLjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDEyLjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDI1JSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAudS12aXNpYmxlLWdyaWRfX21haW4ge1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNyksIHJnYmEoMCwgNDMsIDI1NSwgMC4wNykgOC4zMzMzMzMzMzMzJSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSA4LjMzMzMzMzMzMzMlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDE2LjY2NjY2NjY2NjclKTtcbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT3JnYW5pemUgY29sb3IgdmFyaWFibGVzIGluIGEgU2FzcyBNYXAuXG4gICBUaGlzIHdheSwgdGhlIGNvbG9ycyBjYW4gYmUgaXRlcmF0ZWQsIGFyZSBtb3JlIG9yZ2FuaXplZCxcbiAgIGFuZCBhcmUgbW9yZSBpbnR1aXRpdmUgdG8gcmVmZXJlbmNlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuJHBhbGV0dGVzOiAoXG5cbiAgJ3ByaW1hcnknOiAoXG4gICAgNTAwOiAjRjM0NzIyLFxuICAgIDcwMDogI0Q2MzMxMyxcbiAgKSxcblxuICAnc2Vjb25kYXJ5JzogKFxuICAgIDUwMDogIzczNzM3MyxcbiAgKSxcblxuICAnbmV1dHJhbCc6IChcbiAgICAwOiAgICNGRkZGRkYsXG4gICAgMTAwOiAjRjhGOEY4LFxuICAgIDIwMDogI0Y1RjVGNSxcbiAgICAzMDA6ICNDOEM4QzgsXG4gICAgNDAwOiAjOTk5OTk5LFxuICAgIDUwMDogIzY1NjU2NSxcbiAgICA4MDA6ICMyMTIxMjEsXG4gICAgOTAwOiAjMUQxRDFELFxuICAgIDEwMDA6ICMwMDAwMDAsXG4gICksXG5cbiAgJ2ZlZWRiYWNrJzogKFxuICAgIGFjdGlvbjogIzQwNzlCOCxcbiAgICB3YXJuaW5nOiAjZmZkMzNhLFxuICAgIGFsZXJ0OiAjZmY4MTAwLFxuICAgIG5lZ2F0aXZlOiAjY2YzZTNlLFxuICAgIHBvc2l0aXZlOiAjM2VjZjhlLFxuICApLFxuXG4gICdib3JkZXInOiAoXG4gICAgMDogICAjZmZmLFxuICAgIDMwMDogI0M4QzhDOCxcbiAgICA1MDA6ICM2NTY1NjUsXG4gICksXG4pO1xuXG5cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBhY2Nlc3NpbmcgdGhlIGNvbG9ycyBmcm9tIG91ciBtYXBwaW5nXG4gKlx0VG8gYWNjZXNzIGNvbG9ycyBpbiBvdXIgcGFsZXR0ZSwgd2UgdXNlIGEgdmVyeSBzaW1wbGUgY3VzdG9tIFNhc3MgZnVuY3Rpb25cbiAqICBUaGlzIGZ1bmN0aW9uIGlzIHBsYWNlZCBoZXJlLCAoYW5kIG5vdCBpbiB0aGUgdG9vbGJveClcbiAqICBiZWNhdXNlIHdlIHdhbnQgdG8gdXNlIGl0IGluIG91ciBvdGhlciBzZXR0aW5nIGZpbGVzXG5cblx0VVNBR0U6XG5cblx0LmRlbW8ge1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdH1cblxuICovXG5cbkBmdW5jdGlvbiBwYWxldHRlKCRwYWxldHRlLCAkbGV2ZWw6IDEpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRwYWxldHRlcywgJHBhbGV0dGUpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgJGxldmVsKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIElmIGxldmVsIGRvZXNuJ3QgZXhpc3QgaW4gbWFwLCBnaXZlIHRoZSBmaXJzdCB2YWx1ZSBvZiB0aGUgcGFsZXR0ZVxuICAgICAgQHJldHVybiBudGgobnRoKG1hcC1nZXQoJHBhbGV0dGVzLCAkcGFsZXR0ZSksIDEpLCAyKTtcbiAgICB9XG4gIH1cblxuICBAd2FybiBcIlVua25vd24gY29sb3I6IGAjeyRwYWxldHRlfWAgaW4gJHBhbGV0dGUuIFwiO1xuICBAcmV0dXJuIGhvdHBpbms7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG5cdFsxXVx0XHRMb2dvIGRhcmsgb3IgbGlnaHQgY2FuIGJlIHNldCBpbiBoZWFkZXIuYmxhZGUucGhwIC8gZm9vdGVyLmJsYWRlLnBocCAmXG5cdFsyXSBcdFNldCB0aGlzIHRvIHRydWUgd2hlbiBiZ0NvbG9yIGdldHMgYSBkYXJrIGNvbG9yIHRoYXQgY29udHJhc3QgdGhlIGJvZHkgYmcgY29sb3JcbiovXG5cbiRzaXRlLWhlYWRlcjogKFxuXHQnYmdDb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCd0ZXh0Q29sb3InOlx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuXHQndGV4dENvbG9ySG92ZXInOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J3RleHRDb2xvckFjdGl2ZSc6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2RlY29yYXRpb25Db2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAzMDApLFxuXHQnZGVjb3JhdGlvbkNvbG9yQWN0aXZlJzpcdHBhbGV0dGUocHJpbWFyeSwgNzAwKSxcblx0J2xvZ28taGVpZ2h0JzpcdFx0XHRcdDY0cHgsXG4pO1xuXG5cbiRzaXRlLWludHJvOiAoXG5cdCdpc0RhcmsnOlx0XHRcdFx0XHRmYWxzZSwgLy8gWzJdXG5cdCdiZ0NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JhckNvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQnY29sb3InOlx0XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDkwMCksXG5cdCdsaW5rQ29sb3InOlx0XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcblx0J3N1Ym5hdkJnQ29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwKSxcbik7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNvbWUgZ2xvYmFsIHNldHRpbmdzIHRoYXQgd2UgcHJvYmFibHkgZG9uJ3QgbmVlZCB0byBjaGFuZ2VcblxuJHNpdGUtY29sdW1ucy1zOlx0XHRcdDQ7XG4kc2l0ZS1jb2x1bW5zLW06XHRcdFx0ODtcbiRzaXRlLWNvbHVtbnMtbDpcdFx0XHQxMjtcbiRzaXRlLWNvbHVtbi1zaXplOlx0XHQgICAgOTY7IC8vIFNpemUgb2YgYSBzaW5nbGUgY29sdW1uIHdoZW4gdmlld3BvcnQgaXMgYXQgaXRzIG1heCB3aWR0aCAodXNlZCBmb3IgY2FsY3VsYXRpbmcgbWF4LXdpZHRoKS5cbiRzaXRlLWd1dHRlci13aWR0aDogXHQgICAgNnZ3OyAvLyBVc2VkIG9ubHkgZm9yIHNtYWxsIHNjcmVlbnMuIE11c3QgYmUgW3Z3XSBvciBbcHhdLCBOT1QgWyVdLlxuJHNpdGUtY29va2llQmFyLWhlaWdodDogICAgIDY0cHg7IC8vIEZpeGVkIHNpemUgc28gd2UgY2FuIG9mZnNldCBwYWRkaW5nLWJvdHRvbSBvbiB0aGUgYm9keVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGlvbnMgdGhhdCBhcmUgZG9uZSB3aXRoIHNvbWUgb2YgdGhlIGdpdmVuIHZhbHVlcyBhYm92ZSB0aGlzIGxpbmVcblxuJHNpdGUtbWF4LXdpZHRoOiAkc2l0ZS1jb2x1bW4tc2l6ZSAqICRzaXRlLWNvbHVtbnMtbDsgLy8gTWFpbiBjb250YWluZXIgbWF4LXdpZHRoICh3aXRob3V0IGd1dHRlcilcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZSBkZWZhdWx0IGJvcmRlci1yYWRpdXMgdmFsdWVzIHVzZWQgaW4gdGhlIGJvcmRlciBtaXhpblxuXG4kYm9yZGVyLXJhZGl1czogKFxuXHRzOiA0cHgsXG5cdG06IDhweCxcblx0bDogMTZweFxuKTsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gXHQgRGVmaW5lcyB0aGUgdHlwb2dyYXBoaWMgYmFzZWxpbmUuXG4gICBXZSBkZWZpbmUgZXZlcnkgc2l6ZSBpbiBwaXhlbHMsIHRoZSB1bmRlcmx5aW5nIHN5c3RlbVxuICAgY29udmVydHMgdGhlIHJlc3BlY3RpdmUgdW5pdHMgdG8gdGhlIHJlc3BvbnNpdmUgUkVNIHZhbHVlLlxuIFx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBPdXIgYmFzZSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0XG4gKi9cbiRiYXNlLWZvbnQtc2l6ZTogICBcdDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdCFkZWZhdWx0O1xuJGJhc2UtbGluZS1oZWlnaHQ6IFx0MjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0IWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtcmF0aW86XHQkYmFzZS1saW5lLWhlaWdodC8kYmFzZS1mb250LXNpemUgICAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZXM6IChcblx0J3hzJzogXHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDE0LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDE2XG5cdCksXG5cdCdzJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MTUsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MjRcblx0KSxcblx0J2Jhc2UnOiBcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdCRiYXNlLWZvbnQtc2l6ZSxcblx0XHRsaW5lLWhlaWdodDogXHQkYmFzZS1saW5lLWhlaWdodFxuXHQpLFxuXHQnbSc6IFx0XHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDIwLFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDMyXG5cdCksXG5cdCdsJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MjQsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MzJcblx0KSxcblx0J3hsJzogXHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDMyLFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDQwXG5cdCksXG5cdCd4eGwnOiBcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0NDAsXG5cdFx0bGluZS1oZWlnaHQ6IFx0NDBcblx0KSxcblx0J3h4eGwnOiBcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDQ4LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDQ4XG5cdCksXG5cdCd4eHh4bCc6IFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0NTYsXG5cdFx0bGluZS1oZWlnaHQ6IFx0NTZcblx0KSxcbik7XG5cblxuLyoqXG4gKlx0SGVyZSB3ZSBhc3NpZ24gc2hvcnQgbmFtZXMgZm9yIHRoZSBmb250IGZhbWlsaWVzXG4gKi9cblxuJGZvbnQtc3lzdGVtOlx0XHQtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiRmb250LXJvYm90bzogXHQnUm9ib3RvJywgc2Fucy1zZXJpZjsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBnaXZlbiBmb3JtYXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8vIERlZmF1bHQgYnJlYWtwb2ludHNcbiRicmVha3BvaW50czogKFxuXHRzOiAzODQsXG5cdG06IDg0MCxcblx0bDogMTE1Mixcbik7XG5cbi8vIERldGVybWluZSBhdCB3aGljaCB2aWV3cG9ydCBzaXplIHdlIGNhbiBmaXQgaW4gYSBob3Jpem9udGFsIG1lbnUgaW5zdGVhZCBvZiB0aGUgaGFtYnVyZ2VyIG1lbnUgdG9nZ2xlXG4kYnAtaGVhZGVyLWxhcmdlOiAxMTAwO1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGUgdmlld3BvcnQgc2l6ZSB3aGVuIGNvbnRhaW5lciBjYW4ndCBncm93IGFueW1vcmVcbiRicC1tYXg6ICRzaXRlLW1heC13aWR0aCArICgoJHNpdGUtbWF4LXdpZHRoIC8gJHNpdGUtY29sdW1ucy1sKSAqIDIpOyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1bmN0aW9ucyB1c2VkIGluIGdyaWQgY2FsY3VsYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICogUmV0dXJuIHBlcmNlbnRhZ2UgYmFzZWQgb24gYW1vdW50IG9mIGNvbHVtbnNcbiAgKiBVc2UgcGFyZW50IGNvbHVtbiBzaXplIHRvIGFkanVzdCB0aGUgb3JpZ2luXG4gICovXG5AZnVuY3Rpb24gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJHNpdGUtY29sdW1ucy1sKSB7XG5cdC8vIENhbGN1bGF0ZSB0aGUgd2lkdGggZm9yIGEgc2luZ2xlIGNvbHVtbiBvbiBhIGZ1bGwgZ3JpZFxuXHQkc2luZ2xlQ29sdW1uU2l6ZTogMTAwIC8gJHNpdGUtY29sdW1ucy1sO1xuXG5cdC8vIEdldCB0aGUgb3JpZ2luIHNpemUgaW4gcGVyY2VudGFnZSBmcm9tIHRoZSBmdWxsIGdyaWRcblx0JG9yaWdpblBlcmNlbnRhZ2U6ICRvcmlnaW4gLyAkc2l0ZS1jb2x1bW5zLWwgKiAxMDA7XG5cblx0Ly8gQ2FsY3VsYXRlIHNpbmdsZSBjb2x1bW4gZnJvbSBuZXcgb3JpZ2luXG5cdCRuZXdTaW5nbGVDb2x1bW5TaXplOiAkc2luZ2xlQ29sdW1uU2l6ZSAvICRvcmlnaW5QZXJjZW50YWdlICogMTAwO1xuXG5cdC8vIFJldHVybiBhbW91bnQgb2YgY29sdW1ucyBhcyBwZXJjZW50YWdlXG5cdEByZXR1cm4gKCRuZXdTaW5nbGVDb2x1bW5TaXplICogJGNvbHVtbkNvdW50KTtcbn1cblxuLyoqXG4gICogRGVmYXVsdCBmdW5jdGlvbiBmb3IgY29sdW1uc1xuICAqIFJldHVybiBhcyBwZXJjZW50YWdlXG4gICovXG5AZnVuY3Rpb24gY29sdW1uKCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zLWwpIHtcblx0QHJldHVybiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCwgJG9yaWdpbikgKiAxJTtcbn1cblxuLyoqXG4gICogUmV0dXJuIGFzIHZpZXdwb3J0IHdpZHRoXG4gICovXG5AZnVuY3Rpb24gY29sdW1uVncoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRzaXRlLWNvbHVtbnMtbCkge1xuXHRAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCAkb3JpZ2luKSAqIDF2dztcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRm9udCByZWxhdGVkIGZ1bmN0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqICBNaXhpbiBmb3Igc2V0dGluZyBmb250LXNpemUgaW4gUkVNIHRocm91Z2ggYSBTYXNzIE1hcCB3aXRoIGFsbCBhdmFpbGFibGUgc2l6ZXNcblxuICAgIFVTQUdFOlxuXG4gICAgLm15Q2xhc3Mge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuICAgIH1cblxuICovXG5cblxuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRsaDogbnVsbCkge1xuICAvLyBHZXQgY29ycmVjdCBrZXkgd2l0aCBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0IHB4IHZhbHVlXG4gICRmb250LXNpemUtcHJvcGVydGllczogbWFwLWdldCgkZm9udC1zaXplcywgJGZzKTtcbiAgQGlmICRmb250LXNpemUtcHJvcGVydGllcyB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpKTtcblxuICAgIEBpZigkbGggPT0gbnVsbCl7XG4gICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkZm9udC1zaXplLXByb3BlcnRpZXMsIGxpbmUtaGVpZ2h0KSAvIG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaCAvIG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpO1xuICAgIH1cbiAgfVxuICAvLyBXaGVuIG1hcHBpbmcgaXNuJ3QgZm91bmQgY2FsY3VsYXRlIGFzIGlmIFBYLXZhbHVlIHdhcyBnaXZlbiBhbmQgcmV0dXJuIFJFTSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQGlmIGlzLW51bWJlcigkZnMpIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFsdWVUb1JlbSgkZnMpO1xuXG4gICAgICBAaWYoJGxoICE9IG51bGwpe1xuICAgICAgICBsaW5lLWhlaWdodDogJGxoIC8gJGZzO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiBcIiBgI3skZnN9YCBpcyBub3QgYSB2YWxpZCB2YWx1ZS4gSXQgbXVzdCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZzogYCN7JGZvbnQtc2l6ZXN9YFwiO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vVE9ETzogcmVtb3ZlIGZ1bmN0aW9uIGFuZCB1c2VzXG5AbWl4aW4gZm9udCgkc2l6ZSwgJGxoOiBudWxsLCAkd2VpZ2h0OiBudWxsKSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc2l6ZSwgJGxoKTtcbn0iLCIvKiBNZWRpYSBxdWVyeSBtaXhpbiBmb3Igd3JpdGluZyBNb2JpbGUgRmlyc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AZnVuY3Rpb24gY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRicmVha3BvaW50KSB7XG5cblx0QGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcblx0XHRAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG5cdH1cblxuXHRAd2FybiBcIlVua25vd24gYnJlYWtwb2ludDogYCN7JGJyZWFrcG9pbnR9YCBpbiAkYnJlYWtwb2ludHMuXCI7XG5cdEByZXR1cm4gbnVsbDtcbn1cblxuQG1peGluIG1xKCRtaW46IG51bGwsICRtYXg6IG51bGwpIHtcblx0JHF1ZXJ5OiBcImFsbFwiICFkZWZhdWx0O1xuXG5cdC8vIFRyeSB0byBjb252ZXJ0ICRtaW4gdmFsdWUgaWYgbm90IG51bWJlciBvciBudWxsXG5cdEBpZih0eXBlLW9mKCRtaW4pICE9IG51bWJlciBhbmQgJG1pbiAhPSBudWxsKXtcblx0XHQkbWluOiBjb252ZXJ0QnJlYWtwb2ludEtleVRvVmFsdWUoJG1pbik7XG5cdH1cblxuXHQvLyBUcnkgdG8gY29udmVydCAkbWF4IHZhbHVlIGlmIG5vdCBudW1iZXIgb3IgbnVsbFxuXHRAaWYodHlwZS1vZigkbWF4KSAhPSBudW1iZXIgYW5kICRtYXggIT0gbnVsbCl7XG5cdFx0JG1heDogY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRtYXgpO1xuXHR9XG5cblx0Ly8gc2V0IGJvdGggbWluIGFuZCBtYXhcblx0QGlmICgkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCkge1xuXHRcdCRxdWVyeTogXCIobWluLXdpZHRoOiAjeyRtaW59cHgpIGFuZCAobWF4LXdpZHRoOiAjeyRtYXggLSAxfXB4KVwiO1xuXHR9XG5cdC8vIHNldCBqdXN0IG1pblxuXHRAZWxzZSBpZiAoJG1pbiAhPSBudWxsIGFuZCAkbWF4ID09IG51bGwpIHtcblx0XHQkcXVlcnk6IFwiKG1pbi13aWR0aDogI3skbWlufXB4KVwiO1xuXHR9XG5cdC8vIHNldCBqdXN0IG1heFxuXHRAZWxzZSBpZiAoJG1pbiA9PSBudWxsIGFuZCAkbWF4ICE9IG51bGwpIHtcblx0XHQkcXVlcnk6IFwiKG1heC13aWR0aDogI3skbWF4IC0gMX1weClcIjtcblx0fVxuXG5cdEBtZWRpYSBzY3JlZW4gYW5kICN7JHF1ZXJ5fSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRvb2xib3ggZnVuY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqICBNYXRocyBoZWxwZXJzLlxuICogIEhhbHZlIGFuZCBkb3VibGUgbnVtYmVycywgcmV0dXJuaW5nIHJvdW5kZWQgaW50ZWdlcnMuXG5cbiAgICBVU0FHRTpcblxuICAgIC5mb28ge1xuICAgICAgICBwYWRkaW5nOiBoYWx2ZSgzMHB4KTtcbiAgICB9XG5cbiAqL1xuXG5AZnVuY3Rpb24gcXVhcnRlcigkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAvIDQpO1xufVxuXG5AZnVuY3Rpb24gaGFsdmUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgLyAyKTtcbn1cblxuQGZ1bmN0aW9uIGRvdWJsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDIpO1xufVxuXG5AZnVuY3Rpb24gdHJpcGxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogMyk7XG59XG5cbkBmdW5jdGlvbiBxdWFkcnVwbGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiA0KTtcbn1cblxuXG4vKipcbiAqICBSZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbiAqICBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIE51bWJlciB0byByZW1vdmUgdW5pdCBmcm9tXG4gKiAgQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuICovXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcblx0QGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG5cdFx0QHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG5cdH1cblxuXHRAcmV0dXJuICRudW1iZXI7XG59XG5cblxuLyogQ2hlY2sgaWYgdmFsdWUgaXMgbnVtYmVyICovXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG5cdEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInO1xufVxuXG5cbi8qIFZhbHVlIHRvIEVtICovXG5cbkBmdW5jdGlvbiB2YWx1ZVRvUmVtKCR2YWx1ZSkge1xuXHQkbm9Vbml0czogc3RyaXAtdW5pdCgkdmFsdWUpO1xuXHRAcmV0dXJuICN7JG5vVW5pdHMgLyAxNiAqIDFyZW19O1xufVxuXG4vKiBWYWx1ZSB0byBSZW0gKi9cblxuQGZ1bmN0aW9uIHZhbHVlVG9FbSgkdmFsdWUpIHtcblx0JG5vVW5pdHM6IHN0cmlwLXVuaXQoJHZhbHVlKTtcblx0QHJldHVybiAjeyRub1VuaXRzIC8gMTYgKiAxZW19O1xufVxuXG5cblxuXG4vLyBTZXQgYSBmaXhlZCBzcGFjZSBiYXNlZCBvbiB0aGUgOHB0IGdyaWRcbi8vIEp1c3QgcGFzcyB0aGUgZnVuY3Rpb24gYSBudW1iZXIgZXF1YWwgdG8gdGhlIG51bWJlciBvZiAoOClwb2ludHMgeW91IG5lZWRcbkBmdW5jdGlvbiBzcGFjZSgkc2l6ZTogJzEnKSB7XG4gIEByZXR1cm4gOHB4ICogJHNpemU7XG59XG5cblxuXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgb25seSBmb3IgbW9iaWxlIHZpZXdwb3J0XG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAxXG5cdFx0KTtcbiAgfVxuXG4gKi9cblxuXG5cbkBtaXhpbiB2c3BhY2luZy1zKCR2YWx1ZXMuLi4pIHtcbiAgQGluY2x1ZGUgbXEoJG1heDogbSkge1xuICAgIEBlYWNoICRpIGluICR2YWx1ZXMge1xuICAgICAgLy8gQnkgc2V0dGluZyBndXR0ZXIgc2l6ZSBhcyBhIGhhbHZlIGNvbHVtbiB3aWR0aCB3ZSBjYW4gbWFrZSAnc3F1YXJlcycgb24gbW9iaWxlXG4gICAgICAje250aCgkaSwgMSl9OiAjeygkc2l0ZS1ndXR0ZXItd2lkdGggKiAyKSAqIG50aCgkaSwgMil9O1xuICAgIH1cbiAgfVxufVxuXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgZm9yIHZpZXdwb3J0IGxhcmdlciB0aGFuIG1vYmlsZVxuICogSW4gZmxleGlibGUgdW5pdHMgKHZ3KSBhbmQgb24gbWF4IHZpZXdwb3J0IGluIGEgZml4ZWQgYW1vdW50IChweClcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctbS11cChcblx0XHRcdFx0J3BhZGRpbmctdG9wJyAwLjMzLFxuXHRcdFx0XHQnbWFyZ2luLWJvdHRvbScgMC41XG5cdFx0KTtcbiAgfVxuXG4gKi9cblxuQG1peGluIHZzcGFjaW5nLW0tdXAoJHZhbHVlcy4uLikge1xuICBAaW5jbHVkZSBtcShtLCBsKSB7XG4gICAgQGVhY2ggJGkgaW4gJHZhbHVlcyB7XG4gICAgICAje250aCgkaSwgMSl9OiAjeygxIC8gKCRzaXRlLWNvbHVtbnMtbSArIDIpICogMTAwKSAqIG50aCgkaSwgMil9dnc7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1xKGwsICRicC1tYXgpIHtcbiAgICBAZWFjaCAkaSBpbiAkdmFsdWVzIHtcbiAgICAgICN7bnRoKCRpLCAxKX06ICN7KDEgLyAoJHNpdGUtY29sdW1ucy1sICsgMikgKiAxMDApICogbnRoKCRpLCAyKX12dztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbXEoJGJwLW1heCkge1xuICAgIEBlYWNoICRpIGluICR2YWx1ZXMge1xuICAgICAgI3tudGgoJGksIDEpfTogI3soJHNpdGUtbWF4LXdpZHRoIC8gJHNpdGUtY29sdW1ucy1sKSAqIG50aCgkaSwgMil9cHg7XG4gICAgfVxuICB9XG59XG5cbi8qXG4gKiBGcm9tIHZhbHVlcyBnaXZlbiByZXR1cm4gdGhlIGNvcnJlY3Qgdi1zcGFjaW5nIGZvciBlYWNoIGJyZWFrcG9pbnRcbiAqL1xuQG1peGluIHZzcGFjaW5nKCR2YWx1ZXMuLi4pIHtcblx0QGluY2x1ZGUgdnNwYWNpbmctcygkdmFsdWVzLi4uKTtcblx0QGluY2x1ZGUgdnNwYWNpbmctbS11cCgkdmFsdWVzLi4uKTtcbn1cblxuXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3Igc2V0dGluZyBhIGNvbnNpc3RlbnQgYm9yZGVyLXJhZGl1c1xuXG5cdFVTQUdFOlxuXG5cdC5jYXJkIHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHR9XG5cblx0LmNhcmQtLWFsdCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhsKTtcblx0fVxuXG4gKi9cbkBtaXhpbiBib3JkZXItcmFkaXVzKCR0eXBlOiBzKSB7XG5cdEBpZiAoJHR5cGUgPT0gJ3MnKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cblx0QGlmICgkdHlwZSA9PSAnbScpIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBtKTtcblx0fVxuXHRAaWYgKCR0eXBlID09ICdsJykge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIGwpO1xuXHR9XG59XG5cbi8qKlxuICogTG9ib3RvbWl6ZWQgT3dsIFNlbGVjdG9yIG1peGluOlxuICogLSBTZXQgc3BhY2luZyBmb3IgY29uc2VjdXRpdmUgaXRlbXMgd2l0aCBtYXJnaW4tdG9wIG9uIGFsbCBidXQgdGhlIGZpcnN0IGl0ZW1cblxuXHRVU0FHRTpcblxuXHQuYm94IHtcblx0XHRAaW5jbHVkZSBvd2wtY2hpbGRyZW47XG5cdH1cblxuXHQuY2FyZF9faXRlbSB7XG5cdFx0QGluY2x1ZGUgb3dsO1xuXHR9XG5cbiAqL1xuXG4vKlxuICogTG9ib3RvbWl6ZWQgb3dsIHNlbGVjdG9yLlxuICogLSBHaXZlcyB0aGUgY2hpbGRyZW4gb2YgdGhlIGVsZW1lbnQgc3BhY2luZ1xuICogLSBodHRwczovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvYXhpb21hdGljLWNzcy1hbmQtbG9ib3RvbWl6ZWQtb3dsc1xuICovXG5AbWl4aW4gb3dsLWNoaWxkcmVuKCRtYXJnaW46ICN7JGxpbmUtaGVpZ2h0LXJhdGlvfXJlbSkge1xuXHQmID4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6ICRtYXJnaW47XG5cdH1cbn1cblxuLy8gR2l2ZXMgdGhlIGVsZW1lbnQgaXRzZWxmIHNwYWNpbmdcbkBtaXhpbiBvd2woJG1hcmdpbjogI3skbGluZS1oZWlnaHQtcmF0aW99cmVtKSB7XG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHR9XG59XG5cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG5cbkBtaXhpbiBoeXBoZW5hdGUge1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdC13ZWJraXQtaHlwaGVuczogYXV0bztcblx0LW1zLWh5cGhlbnM6IGF1dG87XG5cdGh5cGhlbnM6IGF1dG87XG59XG5cblxuLy8gd2hlbiBob3ZlciBvciBhY3RpdmUgZGlzYWJsZSBvdXRsaW5lIHN0eWxpbmdcbkBtaXhpbiBkaXNhYmxlT3V0bGluZUZvck1vdXNlIHtcblx0Jjpob3Zlcixcblx0JjphY3RpdmUge1xuXHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG5cblxuLypcbiAqICBSZXN0cmljdCBhbiBlbGVtZW50IHRvIGEgbWF4LXdpZHRoIGZvciBjcmVhdGluZyBndXR0ZXJzIG9uIHRoZSBzaWRlXG4gKi9cblxuQG1peGluIGNvbnRhaW4oJG9uTWVkaXVtOiB0cnVlKSB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAje2RvdWJsZSgkc2l0ZS1ndXR0ZXItd2lkdGgpfSk7IC8vIE1ha2luZyBzdXJlIGl0IGRvZXNu4oCZdCBnZXQgdG8gc21hbGwgd2l0aCBsaXR0bGUgY29udGVudFxuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaWYoJG9uTWVkaXVtID09IHRydWUpIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnMtbSArIDJ9KSAqICN7JHNpdGUtY29sdW1ucy1tfSk7XG4gICAgfSBAZWxzZSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG4gIH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnMtbCArIDJ9KSAqICN7JHNpdGUtY29sdW1ucy1sfSk7XG5cdFx0bWF4LXdpZHRoOiAjeyRzaXRlLW1heC13aWR0aH1weDtcblx0fVxufVxuXG5cbkBtaXhpbiBndXR0ZXJQYWRkaW5nKCRtcSl7XG5cdCRjb2x1bW5Db3VudDogJHNpdGUtY29sdW1ucy1zO1xuXG5cdEBpZigkbXEgPT0gbSkgeyAkY29sdW1uQ291bnQ6ICRzaXRlLWNvbHVtbnMtbTsgfVxuXHRAaWYoJG1xID09IGwpIHsgJGNvbHVtbkNvdW50OiAkc2l0ZS1jb2x1bW5zLWw7IH1cblxuXHRAaW5jbHVkZSBtcSgkbXEpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UoMSAvICgkY29sdW1uQ291bnQgKyAyKSk7XG5cdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZSgxIC8gKCRjb2x1bW5Db3VudCArIDIpKTtcblx0fVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgVGhlICd6LWluZGV4LW1hcCcgaXMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGVsZW1lbnRzIHN0YWNraW5nIG9yZGVyIGluIHRoZSAncm9vdCcgc3RhY2tpbmcgY29udGV4dFxuICogIFRoaXMgd2F5IHdlIGhhdmUgYSBvdmVydmlldyBvZiBhbGwgdGhlIHotaW5kZXggdmFsdWVzIHRoYXQgYXJlIHVzZWQgYWNyb3NzIHRoZSBwcm9qZWN0LlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4kei1pbmRleDogKFxuXHR6LXZpc2libGUtZ3JpZDpcdFx0XHQxMDAwMCxcblx0ei1jb29raWU6XHRcdCBcdFx0XHRcdDk5OTksXG5cdHotb3ZlcmxheS1tZW51Olx0XHRcdDEwMCxcblx0ei1oZWFkZXI6IFx0XHRcdFx0XHQ1MCxcblx0ei1ib2R5Olx0XHRcdFx0XHRcdFx0NDAsXG5cdHotZm9vdGVyOlx0XHRcdFx0IFx0XHQyMCxcblx0ei1zdWJmb290ZXI6XHRcdFx0XHQxMCxcbik7XG5cblxuLyoqXG4gICAgVVNBR0U6XG5cbiAgICBAaW5jbHVkZSB6KHotbW9kYWwpO1xuXG4gKi9cblxuQG1peGluIHooJGxhYmVsKSB7XG5cdHotaW5kZXg6IG1hcC1nZXQoJHotaW5kZXgsJGxhYmVsKTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQmFzaWMgZWxlbWVudHMgKG5vIGNsYXNzIHNlbGVjdG9ycyBhbGxvd2VkKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBTZXQgdXAgdGhlIGh0bWxcbiAqXG4gKiAxLiBNYWtlcyBzdXJlIHRoYXQgc29tZSBmb250cyBhcmUgYmV0dGVyIHJlbmRlcmVkXG4gKiAyLiBTZXQgZm9udCB0byBsaW5pbmcgZmlndXJlc1xuICpcbiAqIDMuIEF2b2lkIHRoZSBJRSAxMC0xMSBgbWluLWhlaWdodGAgYnVnLlxuICogNC4gVXNlIGAlYCBpbnN0ZWFkIG9mIGB2aGAgc2luY2UgYHZoYCBpcyBidWdneSBpbiBvbGRlciBtb2JpbGUgU2FmYXJpLlxuICovXG5cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtcmF0aW87XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1yb2JvdG87XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcbiAgYmFja2dyb3VuZDogcGFsZXR0ZShuZXV0cmFsLCAwKTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7IC8qIDMsIDQgKi9cbn1cblxuZm9vdGVyIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cblxuLyoqXG4gKiBbMV0gTWFrZSBzdXJlIGVsZW1lbnRzIGxpa2UgaW5wdXQgYW5kIHRleHRhcmVhIGluaGVyaXQgc29tZSBiYXNlIHByb3BlcnRpZXNcbiAqICAgICBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE2LzExL2Nzcy1pbmhlcml0YW5jZS1jYXNjYWRlLWdsb2JhbC1zY29wZS1uZXctb2xkLXdvcnN0LWJlc3QtZnJpZW5kcy9cbiAqXG4gKiBbMl0gU2V0dGluZyBib3gtc2l6aW5nIHRoZSBiZXN0IHdheSBwZXI6XG4gKiAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbioge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICYsXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApO1xuICBjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IC8qIFsxXSAqL1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gYXJvdW5kIGZpZ3VyZVxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogWzFdIFNldHRpbmcgJ3ZlcnRpY2FsLWFsaWduJyByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciAnaW1nJ1xuICpcdCAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqXHQgICB1c2luZyAnZGlzcGxheTogYmxvY2s7Jy5cbiAqIFsyXSBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcsIHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qWzFdKi9cbiAgYm9yZGVyOiBub25lOyAvKlsyXSovXG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiAgTmVlZGVkIGZvciBpT1MgdG8gcHJldmVudCBpbnB1dCB6b29taW5nXG4gKiAgaHR0cHM6Ly91eGNlbGxlbmNlLmNvbS8yMDE0LzAxLzE1L3F1aWNrLWZpeC1pbmNyZWFzZS1mb250LXNpemUtdG8tMTZweC10by1maXgtaW5wdXQtem9vbVxuICovXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5cbi8vIExpbmtzIHdpdGggbm8gY2xhc3MgZ2V0IGEgZGVmYXVsdCBob3ZlclxuYTpub3QoW2NsYXNzXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bzsgLy8gcHJldHR5IHVuZGVybGluaW5nIGxpbmtzXG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MsIG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVE9ETzogSXMgdGhpcyB0aGUgcmlnaHQgd2F5IHRvIHJlc2V0IGFsbCBtYXJnaW4/P1xuLy8gUmVzZXQgYWxsIHRvcCBtYXJnaW5zXG5oMSxoMixoMyxoNCxoNSxoNixoZ3JvdXAsXG51bCxvbCxkZCxcbnAsZmlndXJlLFxucHJlLHRhYmxlLGZpZWxkc2V0LGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn0iLCJoMSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xufVxuXG5oMiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmgzIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5oNCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShtKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDUsIGg2IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICpcdERlZmF1bHQgaW5kZW50YXRpb24gdmFsdWUgZm9yIGxpc3RzXG4gKi9cblxudWwsXG5vbHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tbGVmdDogMS4xMjVlbTtcbn1cblxuZGR7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cblxuLyoqXG4gKlx0UmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5cbmxpIHtcblx0PiB1bCxcblx0PiBvbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtY29udGFpbiB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBTcGxpdCBsYXlvdXQgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIGNvbHVtbnMgYXJlIHN0YWNrZWQgdmVydGljYWxseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtc3BsaXQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdGhlaWdodDogMTAwJTsgLy8gc3RyZXRjaCBpdCBvdXQgaW4gaXRzIGNvbnRhaW5lclxuXG5cdC8vIFNldCBzaWRlIGJ5IHNpZGUgZnJvbSBtZWRpdW0gdmlld3BvcnRzIGFuZCB1cFxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi8qKlxuICogU3BlY2lhbCBjb250YWluIHZlcnNpb24gZm9yIHNwbGl0LlxuICogRG9lc24ndCByZXN0cmFpbiBjb250ZW50IG9uIG1lZGl1bSB2aWV3cG9ydFxuICovXG5cbi5sLXNwbGl0LS1jb250YWluIHtcblx0QGluY2x1ZGUgY29udGFpbigkb25NZWRpdW06IGZhbHNlKTtcbn1cblxuXG4ubC1zcGxpdF9fY29sdW1uIHtcblxuXHQvLyBPbiBkZXNrdG9wIGNvbHVtbnMgYXJlIDUwLzUwXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsIDEyKTtcblx0fVxuXG5cdC8vIE1haW4gY29udGVudCBnb2VzIGZpcnN0LCB1c3VhbGx5IHRleHRcblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0d2lkdGg6IGNvbHVtbig1LCA4KTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCA4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcblx0XHR9XG5cdH1cblxuXHQvLyBzZWNvbmRhcnkgY29udGVudCBnb2VzIGxhc3QsIHVzdWFsbHkgYW4gaW1hZ2Ugb3IgYXNpZGUgdGV4dFxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdC8vIENyZWF0ZSB2ZXJ0aWNhbCBzcGFjaW5nIG9uIG1vYmlsZVxuXHRcdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAwLjVcblx0XHQpO1xuXHRcdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRcdHdpZHRoOiBjb2x1bW4oMywgOCk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gVmlzdWFsbHkgc3dpdGNoIGNvbHVtbnMgb24gbWVkaXVtICYgbGFyZ2Ugdmlld3BvcnRzXG5cdC5sLXNwbGl0LS1pcy1yZXZlcnNlZCAmIHtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG9yZGVyOiAyO1xuXG5cdFx0XHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDgpO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIG1xKG0sIGwpIHtcblx0Lmwtc3BsaXQtLWJyZWFrb3V0LW9uLW0ge1xuXHRcdC5sLXNwbGl0X19jb2x1bW4ge1xuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHdpZHRoOiBjb2x1bW4oNiwgMTApO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMCk7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMCk7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHR3aWR0aDogY29sdW1uKDQsIDEwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKipcbiAqIFdoZW4gdGhlcmUgaXMgb25seSAxIGNvbHVtbiwgYWxpZ24gaXQgdG8gdGhlIG1pZGRsZSBhbmQgY29udGFpbiB0aGUgd2lkdGhcbiAqIE9ubHkgb25lIGNvbHVtbiBpcyB1c2VkIGUuZy4gaW4gdGhlIHRhYnNsaWRlciB3aGVuIHRoZXJlIGlzIG5vIGltYWdlIHNldFxuICovXG4ubC1zcGxpdF9fY29sdW1uOm9ubHktY2hpbGQge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0d2lkdGg6IGNvbHVtbig2LCA4KTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LCAxMik7XG5cdFx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG4vLyBDb2x1bW5zIHRoYXQgaGF2ZSB0ZXh0IGluc3RlYWQgb2YgYW4gaW1hZ2UgbmVlZCBzb21lIHBhZGRpbmcgb24gdG9wXG4vLyB0byBhbGlnbiB0aGVtIHdpdGggdGhlIG90aGVyIGNvbHVtbiB0aGF0IGhhcyBwYWRkaW5nLXRvcCB0b29cbi5sLXNwbGl0X19jb2x1bW4tLXZwYWQge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNSk7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoMTApO1xuXHRcdG1hcmdpbi1ib3R0b206IHNwYWNlKDEwKTtcblx0fVxufVxuXG5cbi8vIENyZWF0ZSBhIGNvbHVtbiBleHRyYSB3aGl0ZSBzcGFjZSB0byB0aGUgbGVmdCAob24gbGFyZ2Ugdmlld3BvcnRzKVxuQGluY2x1ZGUgbXEobCkge1xuXHQubC1zcGxpdF9fY29sdW1uLS1sZWZ0cGFkIHtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJlc3RyaWN0XG4gKlxuICogV2hlbiBhIGJsb2NrIHNob3VsZG4ndCB0YWtlIHVwIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyXG4gKiB3ZSBjYW4gcmVzdHJpY3QgdGhlIG1heGltdW0gd2lkdGhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtcmVzdHJpY3QtbmFycm93IHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogY29sdW1uKDYsOCk7XG4gICAgbWF4LXdpZHRoOiAzOGVtO1xuICB9XG4gIEBpbmNsdWRlIG1xKGwpe1xuICAgIHdpZHRoOiBjb2x1bW4oNiwxMik7XG4gIH1cbn1cblxuLmwtcmVzdHJpY3Qtd2lkZSB7XG4gIEBpbmNsdWRlIG1xKG0pe1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogY29sdW1uKDcsOCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsKXtcbiAgICB3aWR0aDogY29sdW1uKDgsMTIpO1xuICB9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQGltcG9ydCBcImNvbXBvbmVudHMuYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5naG9zdGJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY2xvc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNvbm5lY3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmRhdGFcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmRvd25sb2FkTGlzdFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZm9ybUdyb3VwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5mb3JtRmVlZGJhY2tcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhhbWJ1cmdlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuaGVhZGluZ1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuaGVyb1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuaW5wdXRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmxhbmd1YWdlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5uYXZcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnBhZ2VUaXRsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucHJvamVjdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zZXJ2aWNlUG9pbnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnNpdGVtYXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnNraXBMaW5rXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zbGlkZS1pbmRpY2F0b3JcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnN1Ym5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudGV4dC1idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRyYWRlbWFya1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudmlkZW9cIjsiLCIuYy1icmVhZGNydW1iIHtcblx0cGFkZGluZy1ib3R0b206IDRweDsgLy8gbWFrZSBzdXJlIHRvdGFsIGhlaWdodCB3aWxsIGJlIGRpdmlzaWJsZSBieSA4XG4gfVxuXG4uYy1icmVhZGNydW1iX19saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cblxuLmMtYnJlYWRjcnVtYl9faXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0JjpudGgtY2hpbGQobisyKSB7XG5cdFx0JiAuYy1icmVhZGNydW1iX19pY29uIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogc3BhY2UoMyk7XG5cdFx0XHRoZWlnaHQ6IHNwYWNlKDMpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHNwYWNlKDEpO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgxKTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcblx0XHRcdC8vY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcblx0XHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWJyZWFkY3J1bWJfX2xpbmsge1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0LmMtYnJlYWRjcnVtYl9faXRlbS0tbGFzdCAmIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtYnV0dG9uOiAoXG5cdCdjb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3InOlx0XHRcdHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLFxuXHQnYmdjb2xvci1ob3Zlcic6XHRzY2FsZS1jb2xvcihwYWxldHRlKHNlY29uZGFyeSwgNTAwKSwgJGxpZ2h0bmVzczogLTIwJSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1idXR0b24ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtYnV0dG9uLCAnYmdjb2xvcicpO1xuXHR0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsMCwwLDAuMik7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCBwYWxldHRlKG5ldXRyYWwsIDApLCAwIDAgNXB4IDJweCBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2JnY29sb3InKTtcblx0fVxuXHQmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG5cblx0Ly8gUHNldWRvIGVsZW1lbnQgZm9yIGFuaW1hdGluZyBob3ZlclxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMTtcblx0XHR0b3A6IGNhbGMoNTAlIC0gMnB4KTtcblx0XHRsZWZ0OiBjYWxjKDUwJSAtIDJweCk7XG5cdFx0d2lkdGg6IDRweDtcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2JnY29sb3ItaG92ZXInKTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcblx0fVxuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCk6OmFmdGVyIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMTAwKTtcblx0fVxufVxuXG4uYy1idXR0b25fX3RleHQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdHBhZGRpbmc6IDAgc3BhY2UoMyk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQuYy1idXR0b24tLWljb24gJiB7XG5cdFx0cGFkZGluZy1yaWdodDogc3BhY2UoMik7XG5cdH1cbn1cblxuLmMtYnV0dG9uX19pY29uIHtcblx0ZGlzcGxheTogbm9uZTsgLy8gQnkgZGVmYXVsdCBpY29uIGlzIGhpZGRlblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdHRvcDogLTFweDtcblx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQvLyBXaGVuIGljb24gY29tZXMgYmVmb3JlIHRoZSB0ZXh0IChpbiB0aGUgRE9NKSBzd2l0Y2ggdGhlIG1hcmdpblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdH1cblxuXHQuYy1idXR0b24tLWljb24gJiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7IC8vIFNob3cgd2hlbiBoYXMgaWNvbiBtb2RpZmllclxuXHRcdHdpZHRoOiAxNnB4O1xuXHR9XG59XG5cblxuLmMtYnV0dG9uLS1kYXJrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXG5cdCY6OmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRGVmYXVsdCBidXR0b25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRjLWdob3N0LWJ1dHRvbjogKFxuXHQnY29sb3InOlx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcbik7XG5cblxuLmMtZ2hvc3RidXR0b24ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWdob3N0LWJ1dHRvbiwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsMCwwLDAuMik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEobWFwLWdldCgkYy1naG9zdC1idXR0b24sICdjb2xvcicpLCAwLjUpO1xuXG5cdH1cblx0JjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG5cblx0Ly8gQm9yZGVyIHdpdGggcHNldWRvIGVsZW1lbnQgZm9yIGFuaW1hdGlvblxuXHQmOjphZnRlciB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKHByaW1hcnksIDcwMCk7XG5cdFx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC0xcHg7XG5cdFx0Ym90dG9tOiAtMXB4O1xuXHRcdHJpZ2h0OiAtMXB4O1xuXHRcdGxlZnQ6IC0xcHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNXM7XG5cdH1cblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMzVzO1xuXHRcdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO1xuXHRcdH1cblx0fVxufVxuXG4uYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0cGFkZGluZzogMCBzcGFjZSgzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyKTtcblx0fVxufVxuXG4uYy1naG9zdGJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHR0b3A6IC0xcHg7XG5cdG1hcmdpbi1yaWdodDogMTVweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtZ2hvc3RidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQuYy1naG9zdGJ1dHRvbi0taWNvbiAmIHtcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdFx0d2lkdGg6IDE2cHg7XG5cdH1cblxuXHQvLyBXaGVuIGljb24gY29tZXMgYmVmb3JlIHRoZSB0ZXh0IChpbiB0aGUgRE9NKSBzd2l0Y2ggdGhlIG1hcmdpblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENhcmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1jYXJkOiAoXG5cdCdsYWJlbC1iZ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2xhYmVsLWNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnbGFiZWwtYmdjb2xvci1ob3Zlcic6XHRwYWxldHRlKHNlY29uZGFyeSwgNTAwKSxcblx0J2xhYmVsLWNvbG9yLWhvdmVyJzpcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdhcnJvdy1jb2xvci1ob3Zlcic6XHRwYWxldHRlKHNlY29uZGFyeSwgNTAwKSxcblx0J2JnY29sb3ItaG92ZXInOlx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMDApLFxuXHQnaW5mby1iZ2NvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1jYXJkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIENhcmQgdGhhdCBkb2VzIHNvbWUgYW5pbWF0aW9ucyBvbiBob3ZlclxuICovXG4uYy1jYXJkLS1oYXMtYWN0aW9uIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLy8gYmVjYXVzZSBvZiBwc2V1ZG8gZWxlbWVudFxuXHR6LWluZGV4OiAwO1xuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cblx0Ly8gU2hhZGVkIGJhY2tncm91bmQgKEhJRERFTiBieSBkZWZhdWx0KVxuXHQmOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyksIDAuOTIpO1xuXHRcdGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2JhKG1hcC1nZXQoJGMtY2FyZCwnYmdjb2xvci1ob3ZlcicpLDAuOCkgMCUsIHJnYmEobWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyksMC45MikgMTAwJSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMzUlKSByb3RhdGUoLTExZGVnKSBzY2FsZSgxLjMpO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1LCAwLjEsIDAuMywgMSk7XG5cdH1cblxuXHQvLyBBcnJvdyAoSElEREVOIGJ5IGRlZmF1bHQpXG5cdC8vIENvbnRhaW5zIGFuIFNWRyBhcnJvdyBpY29uIGluIHRoZSBiYWNrZ3JvdW5kLWltYWdlXG5cdCY6OmFmdGVyIHtcblx0XHR6LWluZGV4OiAyO1xuXHRcdHdpZHRoOiAyNXB4O1xuXHRcdG1hcmdpbjogYXV0bztcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBzdmctdXJsKCc8c3ZnIHZpZXdCb3g9XCIwIDAgMTYgMTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZmlsbD1cIiN7bWFwLWdldCgkYy1jYXJkLCdhcnJvdy1jb2xvci1ob3ZlcicpfVwiIGQ9XCJNMTMuNCA2Ljc4M0guNzYyQS43NzIuNzcyIDAgMCAxIDAgNmMwLS40MzIuMzQxLS43ODMuNzYyLS43ODNIMTMuNEw5LjYyMyAxLjMzNmEuNzk4Ljc5OCAwIDAgMSAwLTEuMTA3Ljc0Ny43NDcgMCAwIDEgMS4wNzcgMGw1LjA3NyA1LjIxOGEuNzk4Ljc5OCAwIDAgMSAwIDEuMTA2TDEwLjcgMTEuNzcxYS43NDcuNzQ3IDAgMCAxLTEuMDc3IDAgLjc5OC43OTggMCAwIDEgMC0xLjEwN0wxMy40IDYuNzgzelwiLz48L3N2Zz4nKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuNzUpO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdC8vIFNoYWRlZCBiYWNrZ3JvdW5kIChWSVNJQkxFIHdoZW4gaG92ZXJlZClcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRvcGFjaXR5OiAwLjkyO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTExZGVnKSBzY2FsZSgxLjMpO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiA1MG1zO1xuXHRcdH1cblx0XHQvLyBBcnJvdyAoVklTSUJMRSB3aGVuIGhvdmVyZWQpXG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblx0XHR9XG5cdH1cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogbWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyk7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuLmMtY2FyZF9fcGljdHVyZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmbGV4OiBhdXRvO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtY2FyZF9faW1nIHtcblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLWNhcmRfX2xhYmVsIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAxNHB4IDEwcHggMTVweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogbWVkaXVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogbWFwLWdldCgkYy1jYXJkLCdsYWJlbC1jb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2xhYmVsLWJnY29sb3InKTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG5cblx0LmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlciAmIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1jYXJkLCdsYWJlbC1jb2xvci1ob3ZlcicpO1xuXHR9XG5cblx0Ly8gQ29sb3JlZCBiYWNrZ3JvdW5kIGJlaGluZCBsYWJlbCAoSElEREVOIGJ5IGRlZmF1bHQpXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2xhYmVsLWJnY29sb3ItaG92ZXInKTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHQvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKSByb3RhdGUoNWRlZykgc2NhbGUoMik7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwMCUpIHJvdGF0ZSgxMWRlZykgc2NhbGUoMS41LCAzKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NSwgMC4xLCAwLjMsIDEpO1xuXG5cdFx0LmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlciAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKSBzY2FsZSgyKTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXHRcdH1cblx0fVxufVxuXG4uYy1jYXJkX19pbmZvIHtcblx0cGFkZGluZzogc3BhY2UoMikgc3BhY2UoNCk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnaW5mby1iZ2NvbG9yJyk7XG59XG4uYy1jYXJkX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChiYXNlKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcbn1cbi5jLWNhcmRfX3N1YmhlYWRpbmcge1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xufVxuLmMtY2FyZF9fdGV4dGxpbmUge1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xuXG5cdC8vIFdoZW4gaXQgZm9sbG93cyBhbiBlbGVtZW50IHRoYXQncyBub3QgbGlrZSBpdHNlbGZcblx0Kjpub3QoI3smfSkgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ2xvc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1jbG9zZTogKFxuXHQnY29sb3InOiAgcGFsZXR0ZShuZXV0cmFsLCAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWNsb3NlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogc3BhY2UoNSk7XG5cdGhlaWdodDogc3BhY2UoNSk7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgZWFzZS1vdXQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDNweCAycHggbWFwLWdldCgkYy1jbG9zZSwgJ2NvbG9yJyk7XG5cdH1cblxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0XHRyaWdodDogMjAlO1xuXHRcdGxlZnQ6IDIwJTtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IG1hcC1nZXQoJGMtY2xvc2UsICdjb2xvcicpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0fVxuXHQmOmJlZm9yZSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENvbm5lY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1jb25uZWN0OiAoXG5cdCdjb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2NvbG9yLWFsdCc6XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG5cbi5jLWNvbm5lY3Qge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHR9XG59XG5cblxuLmMtY29ubmVjdF9fZW1haWwge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRAaW5jbHVkZSBmb250KG0pO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogbWFwLWdldCgkYy1jb25uZWN0LCAnY29sb3InKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcblxuXHQmLmlzLXNtYWxsIHtcblx0XHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC43O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59XG5cblxuLmMtY29ubmVjdF9fb3Ige1xuXHRtYXJnaW46IDAgc3BhY2UoMik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWNvbm5lY3QsICdjb2xvci1hbHQnKTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luOiBzcGFjZSgxKSAwIHNwYWNlKDIpO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBEYXRhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtZGF0YTogKFxuICAnY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcbiAgJ2NvbG9yLWFsdCc6XHRcdHBhbGV0dGUobmV1dHJhbCwgNTAwKSxcbiAgJ2JnY29sb3ItaG92ZXInOlx0c2NhbGUtY29sb3IocGFsZXR0ZShzZWNvbmRhcnksIDUwMCksICRsaWdodG5lc3M6IC0yMCUpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jLWRhdGEge1xuXHRtYXJnaW46IHNwYWNlKDEpIDA7XG59XG5cbi5jLWRhdGFfX2xpbmUge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uYy1kYXRhX19sYWJlbCB7XG5cdG1pbi13aWR0aDogc3BhY2UoOCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjb2xvcjogbWFwLWdldCgkYy1kYXRhLCAnY29sb3InKTtcbn1cblxuLmMtZGF0YV9fdmFsdWUge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjLWRhdGEsICdjb2xvci1hbHQnKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCZbaHJlZl0ge1xuXHRcdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0XHQmOmZvY3VzIHtcblx0XHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0XHR9XG5cdH1cbn0iLCIuYy1kb3dubG9hZC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X19pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEocGFsZXR0ZShuZXV0cmFsLCAzMDApLCAwLjIpO1xuICB9XG59XG5cbi5jLWRvd25sb2FkLWxpc3RfX2xpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiBzcGFjZSgxKSAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWRvd25sb2FkLWxpc3RfX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmMtZG93bmxvYWQtbGlzdF9fdGV4dCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgcGFkZGluZy1sZWZ0OiBzcGFjZSgxKTtcblxuICAuYy1kb3dubG9hZC1saXN0X19pdGVtOmhvdmVyICYge1xuICAgIGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG4gIH1cbn1cbiIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRm9ybSBncm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWZvcm0tZ3JvdXA6IChcbiAgJ2NvbG9yJzpcdFx0XHRcdFx0ICAgIHBhbGV0dGUobmV1dHJhbCwgNDAwKSxcbiAgJ2Vycm9yLWNvbG9yJzpcdFx0XHRcdHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbiksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1mb3JtLWdyb3VwX19sYWJlbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHNwYWNlKDAuNSkgMDtcbiAgY29sb3I6IG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2NvbG9yJyk7XG59XG5cbi5jLWZvcm0tZ3JvdXBfX2Vycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICAuaGFzLWVycm9yICY6bm90KDplbXB0eSkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogc3BhY2UoMSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2Vycm9yLWNvbG9yJyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRjLWZvcm0tZ3JvdXAsICdlcnJvci1jb2xvcicpLCAwLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2Vycm9yLWNvbG9yJyk7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEZvcm0gZmVlZGJhY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1mb3JtLWZlZWRiYWNrOiAoXG4gICdjb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcbiAgJ2JnY29sb3InOlx0cmdiYShwYWxldHRlKGZlZWRiYWNrLCB3YXJuaW5nKSwgMC4yKSxcbiAgJ2JvcmRlcic6IFx0cGFsZXR0ZShmZWVkYmFjaywgd2FybmluZyksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1mb3JtLWZlZWRiYWNrIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuICBtYXJnaW46IDAgMCBzcGFjZSgxKTtcbiAgcGFkZGluZzogc3BhY2UoMykgc3BhY2UoNCk7XG4gIGNvbG9yOiBtYXAtZ2V0KCRjLWZvcm0tZmVlZGJhY2ssICdjb2xvcicpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWZvcm0tZmVlZGJhY2ssICdiZ2NvbG9yJyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGMtZm9ybS1mZWVkYmFjaywgJ2JvcmRlcicpO1xuXG4gICY6bm90KDplbXB0eSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjpiZWZvcmV7XG4gICAgY29udGVudDogYXR0cihkYXRhLWZlZWRiYWNrKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IHNwYWNlKC0yKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgbGk6OmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSGFtYnVyZ2VyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jLWhhbWJ1cmdlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IHNwYWNlKDUpO1xuXHRoZWlnaHQ6IHNwYWNlKDUpO1xuXHRwYWRkaW5nOiAwO1xuXHRjb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICd0ZXh0Q29sb3InKTtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG5cblx0JiA+IHNwYW4sXG5cdCY6YWZ0ZXIsXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAyMHB4O1xuXHRcdHJpZ2h0OiAyMCU7XG5cdFx0bGVmdDogMjAlO1xuXHRcdGhlaWdodDogM3B4O1xuXHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdHRvcDogMTJweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0dG9wOiAyOHB4O1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHQmID4gc3BhbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuXHRcdH1cblx0XHQmOmFmdGVyLFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdH1cblx0fVxuXG5cdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuXHRcdCYgPiBzcGFuIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0fVxuXHR9XG59IiwiLmMtaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoeGwpO1xuXHRtYXJnaW46IHNwYWNlKDUpIDA7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG59XG5cbi5jLWhlYWRpbmctLWluZGVudCB7XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEhlcm9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1oZXJvOiAoXG5cdCdjYXB0aW9uLWJnY29sb3InOlx0XHRyZ2JhKHBhbGV0dGUobmV1dHJhbCwgOTAwKSwgMC45KSxcblx0J2NhcHRpb24tY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtaGVybyB7XG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBAaW5jbHVkZSBjb250YWluO1xuICB9XG59XG5cbi5jLWhlcm9fX21haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiA1MCU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAtMTAwdnc7XG4gICAgbGVmdDogLTEwMHZ3O1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdiYXJDb2xvcicpO1xuICB9XG5cbn1cblxuLmMtaGVyb19fc2xpZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTUuNTU2JTsgLy8gUmF0aW8gdXNlZCBmb3IgbW9iaWxlIGltYWdlXG5cbiAgQGluY2x1ZGUgbXEobSwgbCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7IC8vIFJhdGlvIHVzZWQgZm9yIGltYWdlXG4gIH1cbn1cblxuLmMtaGVyb19fcGljdHVyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBmaWx0ZXI6IGJsdXIoNXB4KTtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgZmlsdGVyOiBub25lO1xuICB9XG59XG5cbi5jLWhlcm9fX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWhlcm9fX2NhcHRpb24ge1xuICAvL0BpbmNsdWRlIGh5cGhlbmF0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDE2cHggKyAxdncpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBzcGFjZSgzKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogbWFwLWdldCgkYy1oZXJvLCAnY2FwdGlvbi1jb2xvcicpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWhlcm8sICdjYXB0aW9uLWJnY29sb3InKTtcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IDk1JTtcbiAgICBwYWRkaW5nOiBzcGFjZSg0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLy8gRm9udC1sb2NrIHRvIHNjYWxlIGZvbnQtc2l6ZSBwcm9wb3J0aW9uYWxseVxuICBAaW5jbHVkZSBtcShtLCBsKSB7XG4gICAgcGFkZGluZzogMi42dnc7IC8vIE1hZ2ljIHZhbHVlIHNvIHRleHQgc2NhbGVzIG5pY2VseVxuICAgIGZvbnQtc2l6ZTogMy41dnc7IC8vIE1hZ2ljIHZhbHVlIHNvIHRleHQgc2NhbGVzIG5pY2VseVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICB9XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDAuNSk7XG4gICAgcGFkZGluZy1yaWdodDogY29sdW1uKDAuNSk7XG4gIH1cbn1cblxuLmMtaGVyb19fY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiBzcGFjZSgxKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IHNwYWNlKDYpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGJsYWNrLCB0cmFuc3BhcmVudCk7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG59XG5cblxuLy8gQnV0dG9uIHdpdGggYXJyb3cgdGhhdCBzY3JvbGxzIGRvd25cbi5jLWhlcm9fX3Njcm9sbCB7XG4gIEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSwgNTAwKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSByb3RhdGUoMC4yNXR1cm4pO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICYgPiBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcztcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBzY2FsZV9jb2xvcihwYWxldHRlKHNlY29uZGFyeSwgNTAwKSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgICAmID4gc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogc2NhbGVfY29sb3IocGFsZXR0ZShzZWNvbmRhcnksIDUwMCksICRsaWdodG5lc3M6IC0xMCUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCBzY2FsZV9jb2xvcihwYWxldHRlKHNlY29uZGFyeSwgNTAwKSwgJGxpZ2h0bmVzczogNzAlKTtcbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSW5wdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1pbnB1dDogKFxuXHQnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdiZ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JvcmRlcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgMzAwKSxcblx0J2ZvY3VzJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCA5MDApLFxuXHQnZXJyb3InOlx0XHRwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLFxuXHQnYm9yZGVyLXNpemUnOlx0MXB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtaW5wdXQge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAoc3BhY2UoMSkgLSBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyLXNpemUnKSkgc3BhY2UoMik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWlucHV0LCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1pbnB1dCwgJ2JnY29sb3InKTtcblx0Ym9yZGVyOiBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyLXNpemUnKSBzb2xpZCBtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyJyk7XG5cdG91dGxpbmU6IG5vbmU7XG5cblx0Lmhhcy1lcnJvciAmIHtcblx0XHRib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggbWFwLWdldCgkYy1pbnB1dCwgJ2Vycm9yJyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjLWlucHV0LCAnZXJyb3InKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCBtYXAtZ2V0KCRjLWlucHV0LCAnZm9jdXMnKTtcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGMtaW5wdXQsICdmb2N1cycpO1xuXHR9XG5cblx0QGF0LXJvb3QgdGV4dGFyZWEjeyZ9IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiBzcGFjZSgyKTtcblx0XHRtaW4taGVpZ2h0OiBzcGFjZSgyMCkgLSBkb3VibGUobWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlci1zaXplJykpO1xuXHRcdGxpbmUtaGVpZ2h0OiBzcGFjZSgzKTtcblx0XHRyZXNpemU6IHZlcnRpY2FsO1xuXHR9XG59XG5cblxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBMYW5ndWFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWxhbmd1YWdlOiAoXG5cdCdiZ2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3ItYWx0JzpcdFx0XHQgIFx0ZGFya2VuKHBhbGV0dGUobmV1dHJhbCwgMCksIDUlKSxcblx0J2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuXHQnY29sb3ItaG92ZXInOlx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3ItaG92ZXInOlx0XHRcdHBhbGV0dGUoc2Vjb25kYXJ5LCA1MDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtbGFuZ3VhZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWxhbmd1YWdlX19idXR0b24ge1xuXHRAaW5jbHVkZSBmb250KHMpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiByZ2JhKG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAndGV4dENvbG9yJyksIDAuNSk7XG5cdGJvcmRlcjogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgYm94LXNoYWRvdyAwLjE1cztcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cblx0Ly8uYy1sYW5ndWFnZTpob3ZlciAmIHtcblx0Ly9cdGNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ3RleHRDb2xvcicpO1xuXHQvL31cbn1cblxuLmMtbGFuZ3VhZ2VfX2ljb24ge1xuXHRmbGV4OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2xhYmVsIHtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDAuNSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDEwMCU7XG5cdG1pbi13aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0Ym94LXNoYWRvdzogMCAwIDEycHggMXB4IHJnYmEocGFsZXR0ZShuZXV0cmFsLCAxMDAwKSwgMC4xNSk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xuXG5cdC5jLWxhbmd1YWdlOmhvdmVyICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxufVxuXG4uYy1sYW5ndWFnZV9faXRlbSB7XG5cdGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkYy1sYW5ndWFnZSwgJ2JnY29sb3InKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2JnY29sb3ItYWx0Jyk7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSAwIDA7XG5cdH1cblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci1yYWRpdXM6IDAgMCBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0fVxuXG5cdCY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogc3BhY2UoMC41KSBzcGFjZSgxKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2NvbG9yJyk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2NvbG9yLWhvdmVyJyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2JnY29sb3ItaG92ZXInKTtcblx0fVxufVxuXG4iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IE5hdlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLypcblx0Q29sb3JzIGdldCBkZWZpbmVkIGluIF9zZXR0aW5ncy5jb25maWcuc2Nzc1xuKi9cblxuJGMtbmF2OiAoXG5cdCdsaW5rLXBhZGRpbmcnOiA0cHgsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1uYXYge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5jLW5hdl9fbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi5jLW5hdl9faXRlbSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0bWFyZ2luLXJpZ2h0OiAyJTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxufVxuXG5cbi5jLW5hdl9fbGluayB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogbWFwLWdldCgkYy1uYXYsICdsaW5rLXBhZGRpbmcnKTtcblx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAndGV4dENvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMTUwbXMgbGluZWFyO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdGxlZnQ6IG1hcC1nZXQoJGMtbmF2LCAnbGluay1wYWRkaW5nJyk7XG5cdFx0Ym90dG9tOiAxcHg7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtICN7ZG91YmxlKG1hcC1nZXQoJGMtbmF2LCAnbGluay1wYWRkaW5nJykpfSk7XG5cdFx0aGVpZ2h0OiAycHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMXB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAnZGVjb3JhdGlvbkNvbG9yJyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICd0ZXh0Q29sb3JIb3ZlcicpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ2RlY29yYXRpb25Db2xvckhvdmVyJyk7XG5cdFx0fVxuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAndGV4dENvbG9yQWN0aXZlJyk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAnZGVjb3JhdGlvbkNvbG9yQWN0aXZlJyk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtcGFnaW5hdGlvbjogKFxuXHQnY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J2JvcmRlci1jb2xvcic6XHRcdHBhbGV0dGUoYm9yZGVyLCAzMDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtcGFnaW5hdGlvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0Ym9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnYm9yZGVyLWNvbG9yJyk7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1wYWdpbmF0aW9uX19pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0Ly8gT24gc21hbGwgc2NyZWVucyBoaWRlIGFsbCBpdGVtcyBidXQgdGhlIGFycm93cywgZmlyc3QgcGFnZSwgbGFzdCBwYWdlIGFuZCBhY3RpdmVcblx0QGluY2x1ZGUgbXEoJG1heDogbSl7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQsXG5cdFx0JjpsYXN0LWNoaWxkLFxuXHRcdCYuaXMtbGFzdC1wYWdlLFxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0fVxuXG5cdFx0Ji5pcy1sYXN0LXBhZ2Uge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiArICYge1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xuXHR9XG59XG5cbi5jLXBhZ2luYXRpb25fX3RleHQsXG4uYy1wYWdpbmF0aW9uX19saW5rLFxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHR7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtaW4td2lkdGg6IHNwYWNlKDYpO1xuXHRtaW4taGVpZ2h0OiBzcGFjZSg2KTtcblx0cGFkZGluZzogc3BhY2UoMSk7XG59XG5cbi5jLXBhZ2luYXRpb25fX3RleHQge1xuXHRjb2xvcjogbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnY29sb3InKTtcblx0b3BhY2l0eTogMC4zNTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fbGluayB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogc2NhbGUtY29sb3IobWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnY29sb3InKSwgJGxpZ2h0bmVzczogLTMwJSk7XG5cdFx0YmFja2dyb3VuZDogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuXHR9XG5cblx0LmlzLWFjdGl2ZSA+ICYge1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4IC01cHggbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcblx0dHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuXG5cdCYuaXMtaW5hY3RpdmUge1xuXHRcdGNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2NvbG9yJyksIDAuNCk7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldiB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn0iLCIvKlxuICogUGFnZSB0aXRsZVxuICovXG5cbi5jLXBhZ2UtdGl0bGUge1xuICBAaW5jbHVkZSBjb250YWluO1xuICBAaW5jbHVkZSBoeXBoZW5hdGU7XG4gIHBhZGRpbmctdG9wOiBzcGFjZSgyKTtcbiAgcGFkZGluZy1ib3R0b206IHNwYWNlKDIpO1xuICBjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBwYWRkaW5nLXRvcDogc3BhY2UoNik7XG4gICAgcGFkZGluZy1ib3R0b206IHNwYWNlKDYpO1xuICB9XG59XG5cbi5jLXBhZ2UtdGl0bGUtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgd2lkdGg6IGNvbHVtbig2LCA4KTtcbiAgfVxuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgd2lkdGg6IGNvbHVtbig4LCAxMik7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZV9fcHJlaGVhZGluZyB7XG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBtYXJnaW4tdG9wOiBzcGFjZSgtMik7XG4gICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMik7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZV9faGVhZGluZyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nLXNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKG0pO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuIiwiLmMtcHJvamVjdG9yIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLmMtcHJvamVjdG9yX19maWd1cmUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4uYy1wcm9qZWN0b3JfX2NhcHRpb24ge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMjtcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xufVxuXG5cbi5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMTtcblx0YWxpZ24tc2VsZjogZW5kO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDM2MHB4OyAvLyBuZWVkZWQgZm9yIElFXG5cdGRpc3BsYXk6IGJsb2NrOyAvLyBOZWVkZWQgZm9yIElFXG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuXG5cdC5pZSAuYy1wcm9qZWN0b3ItLXNpbmdsZS1pbWFnZSAmIHtcblx0XHRtaW4taGVpZ2h0OiA0MDBweDtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cblxuLmMtcHJvamVjdG9yX19jb250cm9sIHtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xufVxuXG5cbi5jLXByb2plY3Rvcl9faW1nIHtcblx0Ly8gbWFrZSBzdXJlIGl0IHN0cmV0Y2hlcyB0aGUgY29udGFpbmVyXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyOyAvLyBGYWxsYmFjayBmb3IgSUUgdmlhIEpTIHBvbHlmaWxsLCBtaW4taGVpZ2h0IGlzIHNldCBvbiB0aGUgd3JhcHBlclxuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXgtaGVpZ2h0OiA3OHZoOyAvLyBNYWtlIHN1cmUgaW1hZ2VzIGFyZSB2aXNpYmxlIGVudGlyZWx5IG9uIHNtYWxsIGRldmljZXMgaW4gbGFuZHNjYXBlKVxuXHR9XG59IiwiJGMtc2VydmljZXBvaW50LWJwLXdpZHRoOiA0MjBweDsgLy8gc2l6ZSBvZiBjb21wb25lbnQgd2hlbiB3ZSBzd2l0Y2ggZnJvbSBzdGFja2VkIHRvIHJvdyB2aWV3XG4kYy1zZXJ2aWNlcG9pbnQtZ2FwOiBzcGFjZSgyKTtcblxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0dGV4dC1hbGlnbjogbGVmdDsgLy8gbmVlZGVkIGZvciB3aGVuIGEgcGFyZW50IGVsZW1lbnQgaGFzIHRleHQtYWxpZ24gY2VudGVyXG59XG5cblxuLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG5cdGZsZXg6IDA7XG5cdG1pbi13aWR0aDogYXV0bztcblx0bWF4LXdpZHRoOiAxNzhweCArICRjLXNlcnZpY2Vwb2ludC1nYXA7XG5cdG1hcmdpbi1yaWdodDogJGMtc2VydmljZXBvaW50LWdhcDtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdG1pbi13aWR0aDogNTAlOyAvLyBIYXMgdG8gYmUgbWluaW1hbCBoYWxmIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXJcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRmbGV4LWdyb3c6IDE7XG5cdGZsZXgtYmFzaXM6IGNhbGMoY2FsYygjeyRjLXNlcnZpY2Vwb2ludC1icC13aWR0aH0gLSAxMDAlKSAqIDk5OSk7IC8vIEJhc2VkIG9uIHRoaXMgbWV0aG9kOiBodHRwczovL2hleWRvbndvcmtzLmNvbS9hcnRpY2xlL3RoZS1mbGV4Ym94LWhvbHktYWxiYXRyb3NzL1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMik7XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdGZsZXgtYmFzaXM6IGF1dG87XG5cdH1cbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2JvZHkge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xufVxuXG5cbi5jLXNlcnZpY2Vwb2ludF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoYmFzZSk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cblxuLmMtc2VydmljZXBvaW50X19zdWJoZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn0iLCIuYy1zaXRlbWFwX19pdGVtIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xufVxuXG4uYy1zaXRlbWFwX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IHNwYWNlKDAuNSkgMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cbn0iLCIvKlxuICogU2tpcCBMaW5rXG4gKi9cblxuLmMtc2tpcC1saW5rIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHZoO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICBvdXRsaW5lLXdpZHRoOiAycHg7XG4gICAgdG9wOiA1cHg7IC8qIE5vdyB0aGUgbGluayB3aWxsIGFwcGVhciAqL1xuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBTbGlkZSBpbmRpY2F0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1zbGlkZS1pbmRpY2F0b3I6IChcblx0J2RvdC1jb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnZG90LWNvbG9yLWFjdGl2ZSc6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2RvdC1yaW5nLWNvbG9yLWFjdGl2ZSc6XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnZG90LXNpemUnOlx0XHRcdFx0XHQ4cHgsXG5cdCdkb3Qtc2l6ZS1hY3RpdmUnOlx0XHRcdDZweCxcblx0J2RvdC1yaW5nLXNpemUtYWN0aXZlJzpcdFx0MTJweCxcblx0J2RvdC1zaXplLXRhcmdldGJveCc6XHRcdDMwcHgsXG5cdCdkb3QtaXMtcm91bmRlZCc6XHRcdFx0dHJ1ZSxcblx0J2J1dHRvbi1pY29uLWNvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2J1dHRvbi1iZy1jb2xvcic6XHRcdFx0cGFsZXR0ZShzZWNvbmRhcnksIDUwMCksXG5cdCdidXR0b24tYmctY29sb3ItaG92ZXInOlx0c2NhbGVfY29sb3IocGFsZXR0ZShzZWNvbmRhcnksIDUwMCksICRsaWdodG5lc3M6IC0xMCUpLFxuXHQnYnV0dG9uLXNpemUnOlx0XHRcdFx0NDBweCxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLXNsaWRlLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLWJnLWNvbG9yJyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1pY29uLWNvbG9yJyk7XG5cdGhlaWdodDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tc2l6ZScpO1xuXHR3aWR0aDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tc2l6ZScpO1xuXG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tbGVmdDogOHB4O1xuXHR9XG5cblx0JlthcmlhLWxhYmVsPSdwcmV2aW91cyddID4gc3ZnIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdH1cblxuXHQmW2FyaWEtbGFiZWw9J25leHQnXSA+IHN2ZyB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1iZy1jb2xvci1ob3ZlcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1iZy1jb2xvci1ob3ZlcicpO1xuXHR9XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpO1xuXHRoZWlnaHQ6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtdGFyZ2V0Ym94Jyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCY6aG92ZXI6bm90KC5pcy1hY3RpdmUpLFxuXHQmOmZvY3VzOm5vdCguaXMtYWN0aXZlKSB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0XHRAaWYgKG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LWlzLXJvdW5kZWQnKSA9PSB0cnVlKSB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHQkb2Zmc2V0OiBjYWxjKCgje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtdGFyZ2V0Ym94Jyl9IC0gI3ttYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplJyl9KSAvIDIpO1xuXHRcdHRvcDogJG9mZnNldDtcblx0XHRyaWdodDogJG9mZnNldDtcblx0XHRib3R0b206ICRvZmZzZXQ7XG5cdFx0bGVmdDogJG9mZnNldDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1jb2xvcicpO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0JG9mZnNldDogY2FsYygoI3ttYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpfSAtICN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtcmluZy1zaXplLWFjdGl2ZScpfSkgLyAyKTtcblx0XHR0b3A6ICRvZmZzZXQ7XG5cdFx0cmlnaHQ6ICRvZmZzZXQ7XG5cdFx0Ym90dG9tOiAkb2Zmc2V0O1xuXHRcdGxlZnQ6ICRvZmZzZXQ7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtcmluZy1jb2xvci1hY3RpdmUnKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuNCk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1jb2xvci1hY3RpdmUnKTtcblx0XHRcdGJvcmRlci1jb2xvcjogcmdiYShtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1yaW5nLWNvbG9yLWFjdGl2ZScpLCAwLjkpO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZShzdHJpcC11bml0KG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtYWN0aXZlJykpIC8gc3RyaXAtdW5pdChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplJykpKTtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdG9wYWNpdHk6IDAuOTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3BhY2l0eTogMSAhaW1wb3J0YW50O1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSwgNTAwKTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSwgNTAwKTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xuXHRcdH1cblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogU3VibmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtc3VibmF2OiAoXG5cdCdib3JkZXItY29sb3InOiBcdFx0cGFsZXR0ZShib3JkZXIsIDMwMCksXG5cdCdjb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG5cdCdob3Zlci1jb2xvcic6XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdFx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtc3VibmF2IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5jLXN1Ym5hdi0tYm94ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWludHJvLCAnc3VibmF2QmdDb2xvcicpO1xuXHRwYWRkaW5nOiBzcGFjZSgxMCkgJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cdEBpbmNsdWRlIG1xKG0sIGwpe1xuXHRcdHBhZGRpbmctbGVmdDogMjUlO1xuXHR9XG59XG5cblxuLmMtc3VibmF2X19oZWFkZXIge1xuXHRtYXJnaW46IDA7XG59XG5cblxuLmMtc3VibmF2X19saXN0IHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cblxuLmMtc3VibmF2X19pdGVtLS1iYWNrIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMyk7XG59XG5cblxuLmMtc3VibmF2X19saW5rIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiBzcGFjZSgxKSAwO1xuXHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogY29sb3IgMjUwbXM7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnaG92ZXItY29sb3InKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkYy1zdWJuYXYsICdib3JkZXItY29sb3InKTtcblxuXHRcdC5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgJiB7XG5cdFx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0XHR9XG5cdH1cbn1cblxuXG4uYy1zdWJuYXZfX2ljb24ge1xuXHRvcGFjaXR5OiAwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoMik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2JvcmRlci1jb2xvcicpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoI3tzcGFjZSgtMil9KTtcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2Utb3V0O1xuXG5cdC5jLXN1Ym5hdl9fbGluazpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdob3Zlci1jb2xvcicpO1xuXHR9XG59XG5cblxuLy8gQWN0aXZlIHN0YXRlIG9mIHRoZSBzdWJuYXYgaXRlbVxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSB7XG5cdC5jLXN1Ym5hdl9fbGluayB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdFx0fVxuXHR9XG5cblx0LmMtc3VibmF2X19pY29uIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBUZXh0IEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXRleHRidXR0b246IChcblx0J2NvbG9yJzpcdFx0XHRwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLFxuXHQnY29sb3JBbHQnOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHlcbiAqIDIuIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxpbmdcbiAqL1xuXG4uYy10ZXh0YnV0dG9uIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogbWFwLWdldCgkYy10ZXh0YnV0dG9uLCAnY29sb3InKTsgLyogMSAqL1xuXHRwYWRkaW5nOiAwOyAvKiAyICovXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXG5cdGJvcmRlcjogbm9uZTsgLyogMiAqL1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRjb2xvcjogc2NhbGUtY29sb3IobWFwLWdldCgkYy10ZXh0YnV0dG9uLCAnY29sb3InKSwgJGxpZ2h0bmVzczogLTQwJSk7XG5cdH1cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdH1cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59XG5cbi5jLXRleHRidXR0b25fX3RleHQge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG59XG5cbi5jLXRleHRidXR0b25fX2ljb24ge1xuXHRkaXNwbGF5OiBub25lOyAvLyBCeSBkZWZhdWx0IGljb24gaXMgaGlkZGVuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDEpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy10ZXh0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpICYge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuXHR9XG5cblx0LmMtdGV4dGJ1dHRvbi0taWNvbiAme1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0fVxufVxuXG4vLyBDaGFuZ2UgZGlyZWN0aW9uIG9mIGljb24gKGFycm93KVxuLmMtdGV4dGJ1dHRvbi0taXMtcmV2ZXJzZWQge1xuXHQuYy10ZXh0YnV0dG9uX190ZXh0IHsgb3JkZXI6IDI7XHR9XG5cdC5jLXRleHRidXR0b25fX2ljb24ge1xuXHRcdG9yZGVyOiAxO1xuXHRcdHRvcDogMXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG5cdH1cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0YnV0dG9uX19pY29uIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKSB0cmFuc2xhdGVYKDNweCk7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRyYWRlbWFya1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXRyYWRlbWFyazogKFxuXHQnbG9nby13aWR0aCc6XHRcdDEwMHB4XG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmMtdHJhZGVtYXJrIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIDtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG4uYy10cmFkZW1hcmtfX3RleHQge1xuXHRtYXJnaW4tcmlnaHQ6IDdweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmMtdHJhZGVtYXJrX19pY29uIHtcblx0d2lkdGg6IG1hcC1nZXQoJG8tdHJhZGVtYXJrLCAnbG9nby13aWR0aCcpO1xuXHRtYXgtaGVpZ2h0OiAzMnB4O1xuXHRvcGFjaXR5OiAuNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXG5cdC5jLXRyYWRlbWFyazpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59IiwiLmMtdmlkZW97XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLy8gQXNwZWN0IFJhdGlvOiAxNjo5XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMjAwKTtcbn1cblxuLmMtdmlkZW9fX2lmcmFtZXtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBPcmdhbmlzbXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5AaW1wb3J0IFwib3JnYW5pc21zLmFjY29yZGlvblwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5ibG9ja1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5ib2R5XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNhbGxvdXRCYXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY2FyZC1ncmlkXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNvbnRhY3RcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY29va2llQmFyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmRvdWJsZUltYWdlXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmRvdWJsZVRleHRcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZG93bmxvYWRzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmZvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5mb3JtXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmhlYWRlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5pbnRyb1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5sb2dvc1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5tYXBcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMubmV3c1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5vdmVybGF5TWVudVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5xdW90ZVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5yZWZlcmVuY2VzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnN1YmZvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50YWJzbGlkZXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudGVhbVwiO1xuLy9AaW1wb3J0IFwib3JnYW5pc21zLnRvcC1iYXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudXNwXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnZhY2FuY2llc1wiO1xuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1hY2NvcmRpb246IChcblx0J2JvcmRlci13aWR0aCc6XHRcdFx0MXB4LFxuXHQnYm9yZGVyLWNvbG9yJzpcdFx0XHRwYWxldHRlKGJvcmRlciwgMzAwKSxcblx0J2hlYWRlci1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2hvdmVyLWNvbG9yJzogXHRcdFx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQnaWNvbi1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2ljb24tYm9yZGVyLXNpemUnOiBcdDJweCxcblx0J2ljb24tc2l6ZSc6XHRcdFx0MjBweCxcblx0J2ljb24tc3RyaXBlLWhlaWdodCc6XHQycHgsXG5cdCdpY29uLXN0cmlwZS13aWR0aCc6ICBcdDEwcHgsXG5cdCd0cmFuc2l0aW9uLWR1cmF0aW9uJzpcdDQwMG1zLFxuXHQndHJhbnNpdGlvbi1lYXNpbmcnOlx0Y3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tYWNjb3JkaW9uIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuLm8tYWNjb3JkaW9uX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnYm9yZGVyLXdpZHRoJyk7XG5cdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdib3JkZXItY29sb3InKTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblxuXHQmOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdH1cbn1cblxuLm8tYWNjb3JkaW9uX190aXRsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IHNwYWNlKDIpO1xuXHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgzKTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDIpO1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDYpO1xuXHRjb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdoZWFkZXItY29sb3InKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cblxuXHQvLyBPbmx5IHNldCBob3ZlciBjb2xvciB3aGVuIG5vdCBhY3RpdmVcblx0Lm8tYWNjb3JkaW9uX19pdGVtOm5vdCguaXMtYWN0aXZlKSAmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdob3Zlci1jb2xvcicpO1xuXHR9XG59XG5cbi5vLWFjY29yZGlvbl9faWNvbiB7XG5cdGZsZXg6IDAgMCBhdXRvO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogYXV0bztcblx0bGVmdDogKHNwYWNlKDMpIC0gaGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSkpO1xuXHR3aWR0aDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKTtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc2l6ZScpO1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Ym9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdGJvcmRlci13aWR0aDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLWJvcmRlci1zaXplJyk7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0bGVmdDogY2FsYygje2NvbHVtbigwLjUsIDgpfSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKXtcblx0XHRsZWZ0OiBjYWxjKCN7Y29sdW1uKDAuNSwgMTIpfSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSl9KTtcblx0fVxuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtaGVpZ2h0Jyk7XG5cdFx0d2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtd2lkdGgnKTtcblx0XHRsZWZ0OiBoYWx2ZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc2l6ZScpIC0gbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXN0cmlwZS13aWR0aCcpIC0gKGRvdWJsZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tYm9yZGVyLXNpemUnKSkpKTtcblx0XHR0b3A6IGNhbGMoNTAlIC0gI3toYWx2ZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tYm9yZGVyLXNpemUnKSl9KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zLCBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ3RyYW5zaXRpb24tZHVyYXRpb24nKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSwgbWFwLWdldCgkby1hY2NvcmRpb24sICd0cmFuc2l0aW9uLWVhc2luZycpO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHQuby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlICYge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCkgcm90YXRlKDAuMjV0dXJuKTtcblx0XHR9XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMC4yNXR1cm4pO1xuXG5cdFx0Lm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xuXHRcdH1cblx0fVxufVxuXG4uby1hY2NvcmRpb25fX2hlYWRlciB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHR9XG59XG5cbi8qIEhpZGRlbiBieSBkZWZhdWx0Ki9cbi5vLWFjY29yZGlvbl9fY29udGVudCB7XG5cdEBpbmNsdWRlIG93bC1jaGlsZHJlbjtcblx0b3BhY2l0eTogMDtcblx0bWF4LWhlaWdodDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZy1sZWZ0OiBzcGFjZSg2KTtcblx0cGFkZGluZy1yaWdodDogc3BhY2UoMyk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuXHQvLyBDbG9zZSBhbmltYXRpb25cblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSw4KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKXtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0fVxuXG5cdC5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRtYXgtaGVpZ2h0OiA0MDBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG5cdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdC8vIE9wZW4gYW5pbWF0aW9uICh3aXRoIHRoZSBzYW1lIGRlbGF5IGFzIGNsb3NlIGR1cmF0aW9uKVxuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ3RyYW5zaXRpb24tZHVyYXRpb24nKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMC4ycztcblx0fVxufSIsIi5vLWJsb2NrIHtcblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHQnbWFyZ2luLWJvdHRvbScgMVxuXHQpO1xuXG5cdC8vIFRvcCBtYXJnaW4gb25seSBvbiBjb25zZWN1dGl2ZSBibG9ja3Ncblx0JiArICYge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG5cdH1cbn0iLCIgLypcbiAqIFdyYXBwZXIgb2YgdGhlIG1haW4gYm9keVxuICogKGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGZvb3RlcilcbiAqL1xuXG5cbi5vLWJvZHkge1xuXHRAaW5jbHVkZSB6KHotYm9keSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZmxleDogMCAwIGF1dG87XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDYWxsb3V0IGJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLWNhbGxvdXQtYmFyOiAoXG5cdCdjb2xvcic6ICBcdFx0cGFsZXR0ZShuZXV0cmFsLCA4MDApLFxuXHQnYmdjb2xvcic6ICBcdHBhbGV0dGUobmV1dHJhbCwgMTAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLWNhbGxvdXQtYmFyIHtcblx0QGluY2x1ZGUgaHlwaGVuYXRlO1xuXHRjb2xvcjogbWFwLWdldCgkby1jYWxsb3V0LWJhciwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tY2FsbG91dC1iYXIsICdiZ2NvbG9yJyk7XG4gIFx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1jYWxsb3V0LWJhcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG4gICAgQGluY2x1ZGUgdnNwYWNpbmcoXG4gICAgICAgICdwYWRkaW5nLXRvcCcgMSxcbiAgICAgICAgJ3BhZGRpbmctYm90dG9tJyAxXG4gICAgKTtcblxuXHQvLyBWZXJ0aWNhbCBzcGFjaW5nIGZvciBlbGVtZW50cyB0aGF0IHByb2NlZWQgYW5vdGhlciBlbGVtZW50XG5cdCYgPiAqICsgKiB7XG5cdFx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHQnbWFyZ2luLXRvcCcgMC41XG5cdFx0KTtcblx0fVxufVxuXG5cbi5vLWNhbGxvdXQtYmFyX19ib2R5IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5cbi5vLWNhbGxvdXQtYmFyX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbn0iLCIvKlxuICogQ2FyZCBncmlkXG4gKlxuICovXG5cbiRvLWNhcmQtZ3JpZC1pdGVtcy1tOiAgIDI7IC8vIE51bWJlciBvZiBjYXJkcyB3aGVuIGluIG1lZGl1bSB2aWV3cG9ydFxuJG8tY2FyZC1ncmlkLWl0ZW1zLWw6ICAgMzsgLy8gTnVtYmVyIG9mIGNhcmRzIHdoZW4gaW4gbGFyZ2Ugdmlld3BvcnRcbiRvLWNhcmQtZ3JpZC1tLWJwOiAgICAgIDYwMDsgLy8gQ3VzdG9tIGJyZWFrcG9pbnQgd2hlbiBzd2l0Y2hpbmcgZnJvbSBzdGFja2VkIGNhcmRzIHRvIHJvd3NcbiRvLWNhcmQtZ3JpZC1zcGFjaW5nOiAgIHNwYWNlKDQpO1xuXG4kby1jYXJkLWdyaWQtc2l6ZS1tOiAgICBwZXJjZW50YWdlKDEvJG8tY2FyZC1ncmlkLWl0ZW1zLW0pO1xuJG8tY2FyZC1ncmlkLXNpemUtbDogICAgcGVyY2VudGFnZSgxLyRvLWNhcmQtZ3JpZC1pdGVtcy1sKTtcblxuXG5cbi5vLWNhcmQtZ3JpZF9fbWFpbiB7XG4gIEBpbmNsdWRlIG1xKCRvLWNhcmQtZ3JpZC1tLWJwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLm8tY2FyZC1ncmlkX19pdGVtIHtcblxuICAvLyBDcmVhdGUgbmljZSB2ZXJ0aWNhbCBzcGFjaW5nIG9uIG1vYmlsZVxuICBAaW5jbHVkZSBtcSgkbWF4OiAkby1jYXJkLWdyaWQtbS1icCl7XG4gICAgJiArICYge1xuICAgICAgbWFyZ2luLXRvcDogc3BhY2UoNCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2luZ2xlIGNvbHVtbiAoc3RhY2tlZClcbiAgQGluY2x1ZGUgbXEoJG1heDogJG8tY2FyZC1ncmlkLW0tYnApIHtcbiAgICBtYXgtd2lkdGg6IDM0NHB4OyAvLyBjb25zdHJhaW4gdGhlIHdpZHRoIG9mIHRoZSBjYXJkIGluc2lkZVxuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLy8gVHdvIGNvbHVtbnNcbiAgQGluY2x1ZGUgbXEoJG8tY2FyZC1ncmlkLW0tYnAsICRtYXg6IGwpIHtcbiAgICBmbGV4OiAwO1xuICAgIC8vIFdlIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaXRlbSBiYXNlZCBvbiB0aGUgc2V0dGluZ3MgYW5kIHB1dCBpdCBpbiBhIGxvbmdoYW5kIGZsZXggdmFsdWUgYmVjYXVzZSBvZiBJRSBzdXBwb3J0XG4gICAgZmxleC1iYXNpczogY2FsYygjeyRvLWNhcmQtZ3JpZC1zaXplLW19IC0gKCgjeyRvLWNhcmQtZ3JpZC1pdGVtcy1tfSAtIDEpIC8gI3skby1jYXJkLWdyaWQtaXRlbXMtbX0gKiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfSkpO1xuICAgIG1hcmdpbi1sZWZ0OiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfTtcblxuICAgICY6bnRoLWNoaWxkKCN7JG8tY2FyZC1ncmlkLWl0ZW1zLW19biArIDEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG4gKyAjeyRvLWNhcmQtZ3JpZC1pdGVtcy1tICsgMX0pIHtcbiAgICAgIG1hcmdpbi10b3A6ICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9O1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvdXIgY29sdW1uc1xuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgZmxleDogMDtcbiAgICAvLyBXZSBjYWxjdWxhdGUgdGhlIHNpemUgb2YgdGhlIGl0ZW0gYmFzZWQgb24gdGhlIHNldHRpbmdzIGFuZCBwdXQgaXQgaW4gYSBsb25naGFuZCBmbGV4IHZhbHVlIGJlY2F1c2Ugb2YgSUUgc3VwcG9ydFxuICAgIGZsZXgtYmFzaXM6IGNhbGMoI3skby1jYXJkLWdyaWQtc2l6ZS1sfSAtICgoI3skby1jYXJkLWdyaWQtaXRlbXMtbH0gLSAxKSAvICN7JG8tY2FyZC1ncmlkLWl0ZW1zLWx9ICogI3skby1jYXJkLWdyaWQtc3BhY2luZ30pKTtcbiAgICBtYXJnaW4tbGVmdDogI3skby1jYXJkLWdyaWQtc3BhY2luZ307XG5cbiAgICAmOm50aC1jaGlsZCgjeyRvLWNhcmQtZ3JpZC1pdGVtcy1sfW4gKyAxKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChuICsgI3skby1jYXJkLWdyaWQtaXRlbXMtbCArIDF9KSB7XG4gICAgICBtYXJnaW4tdG9wOiAkby1jYXJkLWdyaWQtc3BhY2luZztcbiAgICB9XG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENvbnRhY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1jb250YWN0OiAoXG5cdCdiZ2NvbG9yLWZvcm0nOlx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMCksXG5cdCdicC1sYXJnZSc6XHRcdFx0XHQxMjIwXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm8tY29udGFjdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLWNvbnRhY3QsICdicC1sYXJnZScpKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1ucy1sICsgMn0pICogI3skc2l0ZS1jb2x1bW5zLWx9KTtcblx0XHRtYXgtd2lkdGg6ICN7JHNpdGUtbWF4LXdpZHRofXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxufVxuXG5cbi5vLWNvbnRhY3RfX2luZm8ge1xuXHRAaW5jbHVkZSBndXR0ZXJQYWRkaW5nKG0pO1xuXHRAaW5jbHVkZSBndXR0ZXJQYWRkaW5nKGwpO1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG5cdHBhZGRpbmctbGVmdDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRwYWRkaW5nLXJpZ2h0OiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cblxuXHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLWNvbnRhY3QsICdicC1sYXJnZScpKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LDEyKTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDEpO1xuXHR9XG59XG5cbi5vLWNvbnRhY3RfX2Zvcm0ge1xuXHRAaW5jbHVkZSBndXR0ZXJQYWRkaW5nKG0pO1xuXHRAaW5jbHVkZSBndXR0ZXJQYWRkaW5nKGwpO1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblx0cGFkZGluZzogc3BhY2UoNCkgJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWNvbnRhY3QsICdiZ2NvbG9yLWZvcm0nKTtcblxuXHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLWNvbnRhY3QsICdicC1sYXJnZScpKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LDEyKTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdHBhZGRpbmctdG9wOiBzcGFjZSg2KTtcblx0fVxufVxuXG4uby1jb250YWN0X19oZWFkZXIge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDQpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xufVxuXG4uby1jb250YWN0X19jYXJkIHtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNSk7XG59XG5cbi5vLWNvbnRhY3RfX2FkZHJlc3Mge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xuXG5cdGg1IHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDb29raWViYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1jb29raWUtYmFyOiAoXG5cdCdiZ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCA5MDApLFxuXHQnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDQwMCksXG4pO1xuXG4uby1jb29raWUtYmFyIHtcblx0ei1pbmRleDogLTE7IC8vIG5vdCBzZWxlY3RhYmxlXG5cdGRpc3BsYXk6IG5vbmU7IC8vIGhpZGUgYnkgZGVmYXVsdFxuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiAkc2l0ZS1jb29raWVCYXItaGVpZ2h0O1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1jb29raWUtYmFyLCAnYmdjb2xvcicpO1xuXHRvcGFjaXR5OiAxO1xuXHRib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjZzO1xuXHR0cmFuc2Zvcm06IG5vbmU7XG5cblx0Ly8gV2hlbiBjb29raWVzIGFyZSBub3QgeWV0IGFjY2VwdGVkLCBzaG93IGNvb2tpZWJhclxuXHQmOm5vdCguaXMtYWNjZXB0ZWQpIHtcblx0XHRAaW5jbHVkZSB6KHotY29va2llKTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cblx0Ji5pcy10cmFuc2l0aW9uaW5nLW91dCB7XG5cdFx0ei1pbmRleDogLTE7IC8vIG5vdCBzZWxlY3RhYmxlXG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblx0fVxufVxuXG4uby1jb29raWUtYmFyX19tYWluIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogMzc0KSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuXHR9XG59XG5cbi5vLWNvb2tpZS1iYXJfX3RleHQge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWNvb2tpZS1iYXIsICdjb2xvcicpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdH1cbn1cblxuLm8tY29va2llLWJhcl9fbGluayB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiByZ2JhKG1hcC1nZXQoJG8tY29va2llLWJhciwgJ2NvbG9yJyksIDAuNzUpO1xuXHR9XG59XG5cbi5vLWNvb2tpZS1iYXJfX2J1dHRvbiB7XG5cdGZsZXg6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSg1KTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXHR9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEb3VibGUgaW1hZ2UgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIHBpY3R1cmVzIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kby1kb3VibGUtaW1hZ2UtYnAxOiAxMTAwO1xuXG4uby1kb3VibGUtaW1hZ2Uge1xuXHRtYXJnaW46IC0xcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXG5cdC8vIFNldCBzaWRlIGJ5IHNpZGUgZnJvbSBtZWRpdW0gdmlld3BvcnRzIGFuZCB1cFxuXHRAaW5jbHVkZSBtcSgkby1kb3VibGUtaW1hZ2UtYnAxKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDFweDtcblx0b3JkZXI6IDE7XG5cdG1pbi1oZWlnaHQ6IDM2MHB4OyAvLyBuZWVkZWQgZm9yIElFXG5cblx0QGluY2x1ZGUgbXEoJG8tZG91YmxlLWltYWdlLWJwMSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLm8tZG91YmxlLWltYWdlX19pbWcge1xuXHRvYmplY3QtZml0OiBjb3ZlcjsgLy8gRmFsbGJhY2sgZm9yIElFIHZpYSBKUyBwb2x5ZmlsbCwgbWluLWhlaWdodCBjYW4gYmUgbmVlZGVkLi5cblx0bWF4LWhlaWdodDogODV2aDtcbn1cblxuXG4uby1kb3VibGUtaW1hZ2UtLWlzLXJldmVyc2VkIHtcblx0JiAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRvcmRlcjogMDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0fVxuXHR9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEb3VibGUgbGF5b3V0IGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBjb2x1bW5zIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5vLWRvdWJsZS10ZXh0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRoZWlnaHQ6IDEwMCU7IC8vIHN0cmV0Y2ggaXQgb3V0IGluIGl0cyBjb250YWluZXJcblxuXHQvLyBTZXQgc2lkZSBieSBzaWRlIGZyb20gbWVkaXVtIHZpZXdwb3J0cyBhbmQgdXBcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuXG4uby1kb3VibGUtdGV4dF9fY29sdW1uIHtcblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LCAxMik7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0XHR3aWR0aDogY29sdW1uKDUsIDgpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDgpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdFx0fVxuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHQvLyBDcmVhdGUgdmVydGljYWwgc3BhY2luZyBvbiBtb2JpbGVcblx0XHRAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0J21hcmdpbi10b3AnIDAuNVxuXHRcdCk7XG5cdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0d2lkdGg6IGNvbHVtbigzLCA4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcblx0XHR9XG5cdH1cbn0iLCIuby1kb3dubG9hZHMge1xuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLm8tZG93bmxvYWRzLS1pcy1yZXZlcnNlZCB7XG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbn1cblxuLm8tZG93bmxvYWRzX19tYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxKTtcbiAgcGFkZGluZy10b3A6IHNwYWNlKDUpO1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoOSk7XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkbWF4OiBsKSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjb2x1bW4oMC41LCA4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMC41LCA4KTtcbiAgfVxuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMik7XG4gIH1cblxuICAuYy1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5vLWRvd25sb2Fkc19fc2VydmljZS1wb2ludCB7XG5cbiAgQGluY2x1ZGUgbXEoJG1heDogbSkge1xuICAgIG1hcmdpbi10b3A6IHNwYWNlKDEwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBtYXJnaW4tdG9wOiBzcGFjZSg1KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKG0sIGwpIHtcbiAgICB3aWR0aDogY29sdW1uKDMsIDgpXG4gIH1cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHdpZHRoOiBjb2x1bW4oNSwgMTIpO1xuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBGb290ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1mb290ZXI6IChcblx0J2JnQ29sb3InOiAgXHRwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCd0ZXh0Q29sb3InOiAgXHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnbG9nb0hlaWdodCc6ICBcdDQ4cHgsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1mb290ZXIge1xuXHRAaW5jbHVkZSB6KHotZm9vdGVyKTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tZm9vdGVyLCAndGV4dENvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tZm9vdGVyLCAnYmdDb2xvcicpO1xuXHRmbGV4OiAxIDAgYXV0bztcbn1cblxuXG4uby1mb290ZXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQncGFkZGluZy10b3AnIDAuNSxcblx0XHQncGFkZGluZy1ib3R0b20nIDAuNVxuXHQpO1xufVxuXG5cbi5vLWZvb3Rlcl9fY29sdW1ucyB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tZm9vdGVyX19icmFuZCB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdtYXJnaW4tYm90dG9tJyAwLjMzXG5cdCk7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG59XG5cblxuLm8tZm9vdGVyX19sb2dvIHtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRvLWZvb3RlciwgJ2xvZ29IZWlnaHQnKTtcbn1cblxuXG4vLyBMZWZ0IGNvbHVtblxuLm8tZm9vdGVyX19pbmZvIHtcblx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuKHNwYWNlKDQpKTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig0LCAxMCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNSwgMTIpO1xuXHR9XG59XG5cblxuLy8gUmlnaHQgY29sdW1uXG4uby1mb290ZXJfX25hdiB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0J21hcmdpbi10b3AnIDAuNVxuXHQpO1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHR9XG59XG5cbi5vLWZvb3Rlcl9fbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuXG4uby1mb290ZXJfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tZm9vdGVyLCAndGV4dENvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IHNwYWNlKC0xKTtcblx0XHRyaWdodDogc3BhY2UoLTEpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNzAwKTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG5cbi5vLWZvb3Rlcl9fc29jaWFsIHtcblx0ZGlzcGxheTogZmxleDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiBzcGFjZSg0KSAwIDA7XG59XG5cblxuLm8tZm9vdGVyX19jaGFubmVsIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG59XG5cblxuLm8tZm9vdGVyX19pY29uIHtcblx0ZmxleDogYXV0bztcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuXG5cdC5mYWNlYm9vayAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9mYWNlYm9vay5zdmdcIik7XG5cdFx0aGVpZ2h0OiAyMXB4O1xuXHR9XG5cdC5pbnN0YWdyYW0gJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvaW5zdGFncmFtLnN2Z1wiKTtcblx0fVxuXHQudHdpdHRlciAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC90d2l0dGVyLnN2Z1wiKTtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdH1cblx0LmxpbmtlZGluICYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2xpbmtlZGluLnN2Z1wiKTtcblx0XHRoZWlnaHQ6IDE4cHg7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59IiwiLm8tZm9ybSB7fVxuXG4uby1mb3JtX19oZWFkZXIge1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg1KTtcbn1cblxuLm8tZm9ybV9fYm9keSB7fVxuXG4uby1mb3JtX19mb290ZXIge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcbn1cblxuLm8tZm9ybV9fcm93IHtcblx0JiArICYge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cbn1cblxuLy8gQSBoaWRkZW4gd3JhcHBlciBmb3IgaG9uZXkgcG90IHN0dWZmXG4uby1mb3JtX19wb3Qge1xuXHRvcGFjaXR5OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiAwO1xuXHR3aWR0aDogMDtcblx0ei1pbmRleDogLTE7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBIZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuXHRDb2xvcnMgZ2V0IGRlZmluZWQgaW4gX3NldHRpbmdzLmNvbmZpZy5zY3NzXG4qL1xuXG4uby1oZWFkZXIge1xuXHRAaW5jbHVkZSB6KHotaGVhZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICdiZ0NvbG9yJyk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogc3BhY2UoMykgMDtcblxuXHQmLmlzLXN0aWNreSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0ei1pbmRleDogNTA7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjZSg0KTtcblx0XHRib3gtc2hhZG93OiAwIC01cHggMzBweCBibGFjaztcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcywgMzAwbXM7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG5cblx0XHRAaW5jbHVkZSBtcSgkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5pcy1zdGlja3ktaGVhZGVyLXZpc2libGUgJiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0fVxuXHR9XG59XG5cbi5vLWhlYWRlcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uby1oZWFkZXJfX25hdiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoNik7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLm8taGVhZGVyX19sYW5ndWFnZSB7XG5cdGZsZXg6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiAkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cbn1cblxuLm8taGVhZGVyX19sb2dvIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0ZmxleDogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuLm8taGVhZGVyX19pbWcge1xuXHRoZWlnaHQ6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAnbG9nby1oZWlnaHQnKTtcbn1cblxuLm8taGVhZGVyX190b2dnbGUge1xuXHRAaW5jbHVkZSBtcSgkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSW50cm9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLWludHJvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWludHJvLCAnYmdDb2xvcicpO1xuXG5cdC8vIFdoZW4gaW50cm8gaXMgZGFya2VyIHRoZW4gYm9keSB3ZSBuZWVkIHRvIGFkZCBleHRyYSBtYXJnaW5cblx0QGlmIG1hcC1nZXQoJHNpdGUtaW50cm8sICdpc0RhcmsnKXtcblx0XHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdCdtYXJnaW4tYm90dG9tJyAxXG5cdFx0KTtcblx0fVxufVxuXG5cbi5vLWludHJvX19ib2R5IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdtYXJnaW4tYm90dG9tJyAxXG5cdCk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdC5vLWludHJvLS1tb2JpbGUtYnJlYWstb3V0ICYge1xuXHRcdFx0d2lkdGg6IDEwMHZ3O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogMDtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1pbnRybywgJ2JhckNvbG9yJyk7XG5cblx0XHRcdC5vLWludHJvLS1ib3R0b20tYmFyLWhpZGRlbiAmIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4uby1pbnRyb19fY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1ucy1sICsgMn0pICogI3skc2l0ZS1jb2x1bW5zLWx9KTtcblx0XHRtYXgtd2lkdGg6ICN7JHNpdGUtbWF4LXdpZHRofXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxufVxuXG5cbi5vLWludHJvX19uYXYsXG4uby1pbnRyb19faW1hZ2Uge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0b3JkZXI6IC0xO1xuXHRcdHdpZHRoOiBjb2x1bW4oNSwxMik7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsMTIpO1xuXHR9XG59XG5cblxuLm8taW50cm9fX25hdiB7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdzdWJuYXZCZ0NvbG9yJyk7XG5cdHBhZGRpbmc6IHNwYWNlKDQpICRzaXRlLWd1dHRlci13aWR0aDtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0cGFkZGluZzogc3BhY2UoMTApIGNvbHVtbigwLjUsMTIpO1xuXHRcdHBhZGRpbmctbGVmdDogcGVyY2VudGFnZSgxIC8gKDggKyAyKSk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBwZXJjZW50YWdlKDEgLyAoMTAgKyAyKSk7XG5cdFx0cGFkZGluZy1yaWdodDogcGVyY2VudGFnZSgxIC8gKDEwICsgMikpO1xuXHR9XG59XG5cblxuLm8taW50cm9fX3RleHQge1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG5cdHBhZGRpbmctbGVmdDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRwYWRkaW5nLXJpZ2h0OiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNywxMik7XG5cdFx0cGFkZGluZzogc3BhY2UoMTApIGNvbHVtbigxLDEyKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsMTIpO1xuXHR9XG59XG5cblxuLm8taW50cm9fX3RpdGxlLFxuLm8taW50cm9fX2hlYWRpbmcge1xuXHRjb2xvcjogbWFwLWdldCgkc2l0ZS1pbnRybywgJ2NvbG9yJykgIWltcG9ydGFudDtcbn1cblxuXG4uby1pbnRyb19fYnV0dG9uIHtcblx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdsaW5rQ29sb3InKSAhaW1wb3J0YW50O1xufSIsIiRvLWxvZ29zLXNwYWNpbmctZHluYW1pYzogMi4zODJ2dztcbiRvLWxvZ29zLXNwYWNpbmctZml4ZWQ6IFx0c3BhY2UoNCk7XG5cbi5vLWxvZ29zIHt9XG5cbi5vLWxvZ29zX19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW4tbGVmdDogMDsgLy8gcmVzZXRcblx0bWFyZ2luOiAtI3skby1sb2dvcy1zcGFjaW5nLWR5bmFtaWN9O1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cblx0QGluY2x1ZGUgbXEoJGJwLW1heCl7XG5cdFx0bWFyZ2luOiAtI3skby1sb2dvcy1zcGFjaW5nLWZpeGVkfTtcblx0fVxufVxuXG4uby1sb2dvc19faXRlbSB7XG5cdGZsZXg6IDAgMSAxMDAlO1xuXHRtYXJnaW46ICRvLWxvZ29zLXNwYWNpbmctZHluYW1pYztcblxuXHRAaW5jbHVkZSBtcShzKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzIpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZHluYW1pYyl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzMpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZHluYW1pYyl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzQpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZHluYW1pYyl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxLzQpfSAtICN7ZG91YmxlKCRvLWxvZ29zLXNwYWNpbmctZml4ZWQpfSk7XG5cdFx0bWFyZ2luOiAkby1sb2dvcy1zcGFjaW5nLWZpeGVkO1xuXHR9XG59XG5cbi5vLWxvZ29zX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5vLWxvZ29zX19pbWcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMDtcblx0cGFkZGluZy1ib3R0b206IDUwJTsgLy8gQXNwZWN0IHJhdGlvXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufSIsIi5vLW1hcCB7XG5cblx0Ly8gUmVzZXQgc29tZSBzdHlsaW5nIGZvciBnb29nbGUgbWFwc1xuXHRhIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBOZXdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8kby1uZXdzOiAoXG4vL1x0J2hvdmVyLWJnY29sb3InOiAgXHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwKSxcbi8vXHQndGV4dC1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcbi8vKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tbmV3cyB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG59XG5cbi5vLW5ld3NfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xufVxuXG4uby1uZXdzX19hcnRpY2xlIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDQpKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uby1uZXdzX19saW5rIHtcblx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGxpbmVhcjtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShib3JkZXIsIDMwMCk7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdH1cbn1cblxuLm8tbmV3c19fYm9keSB7XG5cdGZsZXgtZ3JvdzogMTtcblx0cGFkZGluZzogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRvcmRlcjogMTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsOCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cbn1cblxuLm8tbmV3c19faW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogNTUlO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRmbGV4OiBub25lO1xuXHRcdG9yZGVyOiAyO1xuXHRcdHdpZHRoOiBjb2x1bW4oMiw4KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogY29sdW1uKDIsOCk7XG5cdH1cbn1cblxuLm8tbmV3c19fYmctaW1hZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdHRvcDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRyaWdodDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUoJHNpdGUtZ3V0dGVyLXdpZHRoKX0pO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JHNpdGUtZ3V0dGVyLXdpZHRofSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHRvcDogc3BhY2UoMSk7XG5cdFx0cmlnaHQ6IHNwYWNlKDEpO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdH1cbn1cblxuXG4vLyBCb2R5IGNvbnRlbnQ6XG4uby1uZXdzX19pbnRybyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG4uby1uZXdzX190aW1lc3RhbXAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59XG5cbi5vLW5ld3NfX2FjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xufVxuXG4uby1uZXdzX19yZWFkbW9yZSB7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG59XG5cbi5vLW5ld3NfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBPdmVybGF5IG1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1vdmVybGF5LW1lbnU6IChcblx0J2JnY29sb3InOiAgICAgICAgICBwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCdjb2xvcic6ICAgICAgICAgICAgcGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2hvdmVyLWNvbG9yJzogICAgICByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMCksIDAuNyksXG5cdCdzaGFkZXItY29sb3InOiAgICAgcmdiYSgwLCAwLCAwLCAwLjYpLFxuXHQnbW92ZS1zcGVlZCc6ICAgICAgIDQwMG1zLFxuXHQnb3BhY2l0eS1zcGVlZCc6ICAgIDIwMG1zLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tb3ZlcmxheS1tZW51IHtcblx0QGluY2x1ZGUgeih6LW92ZXJsYXktbWVudSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG9wYWNpdHk6IDA7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2JnY29sb3InKTtcblxuXHQvLyBXaGVuIGl0IGRpc2FwcGVhcnMgb3V0IG9mIHZpZXdcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMjB2dyk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdtb3ZlLXNwZWVkJyksIG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnb3BhY2l0eS1zcGVlZCcpO1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAwcywgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdtb3ZlLXNwZWVkJyk7XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLjE1LCAwLjEsIDEpLCBsaW5lYXI7XG5cblx0Ly8gV2hlbiBpdCBjb21lcyBpbnRvIHZpZXdcblx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdvcGFjaXR5LXNwZWVkJyksIDBzO1xuXHR9XG5cblx0Ly8gU2hhZGVyXG5cdCY6OmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogLTEyMHZ3O1xuXHRcdHdpZHRoOiAxMjB2dztcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdzaGFkZXItY29sb3InKTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdvcGFjaXR5LXNwZWVkJyk7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdtb3ZlLXNwZWVkJyk7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuXHRcdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0fVxuXG5cdC8vIERpYWdvbmFsIHNoYXBlIG9uIHRoZSByaWdodFxuXHQmOjphZnRlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogLTIwJTtcblx0XHR3aWR0aDogMjAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTg2ZGVnLCB0cmFuc3BhcmVudCA1MCUsIG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnYmdjb2xvcicpIDUwJSk7XG5cdH1cblxuXHQvLyBIaWRlIG92ZXJsYXkgbWVudSBvbiBsYXJnZXIgdmlld3BvcnRzXG5cdEBpbmNsdWRlIG1xKCRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19iYXIge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSg0KTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xufVxuXG5cbi5vLW92ZXJsYXktbWVudV9faW1nIHtcblx0aGVpZ2h0OiBzcGFjZSg2KTtcbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX3RvZ2dsZSB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC0wLjV0dXJuKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGVhc2Utb3V0O1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblxuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdH1cbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi5vLW92ZXJsYXktbWVudV9faXRlbSB7XG5cdHBhZGRpbmc6IHNwYWNlKDEpIGNvbHVtbigxLDE0KTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEobWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdjb2xvcicpLCAwLjMpO1xufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fbGluayB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2NvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnaG92ZXItY29sb3InKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdFx0b3V0bGluZS1jb2xvcjogcmdiYShtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2NvbG9yJyksIDAuMyk7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdCAgICBjb250ZW50OiAnXFwyNzk0Jztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQgICAgdG9wOiA2cHg7XG5cdFx0ICAgIGxlZnQ6IC0xLjI1ZW07XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0fVxuXHR9XG59IiwiLm8tcXVvdGUge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG4uby1xdW90ZSB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5vLXF1b3RlX19ib2R5IHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNCw4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsMTIpO1xuXHRcdHdpZHRoOiBjb2x1bW4oOCwxMik7XG5cdH1cbn1cblxuLm8tcXVvdGVfX3BpY3R1cmUge1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbigzLDgpO1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSw4KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig0LDEyKTtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsMTIpO1xuXHRcdG1hcmdpbi1yaWdodDogY29sdW1uKDEsMTIpO1xuXHR9XG59XG5cbi5vLXF1b3RlX19pbWcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi5vLXF1b3RlX190ZXh0IHtcblx0QGluY2x1ZGUgZm9udChtKTtcblx0cXVvdGVzOiAnXFwyMDFjJyAnXFwyMDFkJztcblxuXHQmOjpiZWZvcmUgeyBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG5cdCY6OmFmdGVyICB7IGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG59XG5cbi5vLXF1b3RlX19hdXRob3Ige1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgzKTtcblx0bWFyZ2luLWxlZnQ6IGNvbHVtbigwLjUsIDYpO1xufVxuXG4uby1xdW90ZV9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoYmFzZSk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG59XG5cbi5vLXF1b3RlX19zdWJoZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFJlZmVyZW5jZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1yZWZlcmVuY2VzOiAoXG5cdCdnYXAnOlx0XHRcdFx0c3BhY2UoNCksXG5cdCdwYWRkaW5nJzpcdFx0XHRzcGFjZSgzKSxcblx0J2JvcmRlci1zaXplJzpcdFx0MHB4LFxuXHQnYm9yZGVyLWNvbG9yJyA6XHRwYWxldHRlKGJvcmRlciwgMzAwKSxcblx0J2JnY29sb3InIDpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnY29sb3InIDpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG5cdCdjb2xvclN1YicgOlx0XHRwYWxldHRlKG5ldXRyYWwsIDQwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm8tcmVmZXJlbmNlcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0bWFyZ2luOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdnYXAnKSAqIC0xO1xufVxuXG4uby1yZWZlcmVuY2VzX19pdGVtIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcblx0ZmxleDogMCAxIDEwMCU7XG5cdG1hcmdpbjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnZ2FwJyk7XG5cdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdwYWRkaW5nJyk7XG5cdHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdwYWRkaW5nJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2JnY29sb3InKTtcblx0Ym9yZGVyOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdib3JkZXItc2l6ZScpIHNvbGlkIG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2JvcmRlci1jb2xvcicpO1xuXHRib3gtc2hhZG93OlxuXHRcdDAgMi40cHggMzkuNHB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC4wMjQpLFxuXHRcdDAgNi44cHggNDUuNXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC4wMzUpLFxuXHRcdDAgMTYuM3B4IDUxLjRweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDQ2KSxcblx0XHQwIDU0cHggODBweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuXG5cblx0QGluY2x1ZGUgbXEoODAwKXtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7ZG91YmxlKG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2dhcCcpKX0gLSAje2RvdWJsZShtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdib3JkZXItc2l6ZScpKX0pO1xuXHR9XG59XG5cbi5vLXJlZmVyZW5jZXNfX2JvZHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdwYWRkaW5nJyk7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3BpY3R1cmUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxleC1ncm93OiAxO1xuXHRmbGV4LWJhc2lzOiAyNSU7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDMpO1xuXHRtYXJnaW4tbGVmdDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xufVxuXG4uby1yZWZlcmVuY2VzX19jb250ZW50IHtcblx0ZmxleC1ncm93OiA5OTk5O1xuXHRmbGV4LWJhc2lzOiAxOGVtO1xuXHRtYXJnaW4tbGVmdDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xuXHRjb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnY29sb3InKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fYXV0aG9yIHtcblx0bWFyZ2luLXRvcDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xufVxuXG4uby1yZWZlcmVuY2VzX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRjb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnY29sb3InKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fc3ViaGVhZGluZyB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdjb2xvclN1YicpO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogU3ViIEZvb3RlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXN1YmZvb3RlcjogKFxuXHQnYmdjb2xvcic6ICBcdFx0XHRwYWxldHRlKHByaW1hcnksIDcwMCksXG5cdCdjb2xvcic6ICBcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdjb2xvci1ob3Zlcic6ICBcdFx0cmdiYShwYWxldHRlKG5ldXRyYWwsIDApLCAwLjcpLFxuXHQnc3BhY2luZy1ob3Jpem9udGFsJzpcdHNwYWNlKDQpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tc3ViZm9vdGVyIHtcblx0QGluY2x1ZGUgeih6LXN1YmZvb3Rlcik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tc3ViZm9vdGVyLCAnYmdjb2xvcicpO1xuXHRwYWRkaW5nLWJvdHRvbTogJHNpdGUtY29va2llQmFyLWhlaWdodDtcblx0dHJhbnNpdGlvbjogcGFkZGluZyAwLjZzO1xuXG5cdC5pcy1jb29raWVzLWFjY2VwdGVkICYge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG59XG5cblxuLm8tc3ViZm9vdGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSgxKTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDEpO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9fY29weXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuICBcdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuICBcdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuXHRtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJG8tc3ViZm9vdGVyLCAnc3BhY2luZy1ob3Jpem9udGFsJyk7XG59XG5cblxuLm8tc3ViZm9vdGVyX19uYXYge1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn1cblxuXG4uby1zdWJmb290ZXJfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luOiAwO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9faXRlbSB7XG5cdG1hcmdpbi1yaWdodDogbWFwLWdldCgkby1zdWJmb290ZXIsICdzcGFjaW5nLWhvcml6b250YWwnKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4uby1zdWJmb290ZXJfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRjb2xvcjogbWFwLWdldCgkby1zdWJmb290ZXIsICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2NvbG9yLWhvdmVyJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRhYnNsaWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXRhYnNsaWRlcjogKFxuXHQnYmdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYWN0aXZlLWJnY29sb3InOlx0XHRcdHBhbGV0dGUocHJpbWFyeSwgNTAwKSxcblx0J2JvcmRlci1jb2xvcic6IFx0XHRcdHBhbGV0dGUoYm9yZGVyLCAzMDApLFxuXHQnYWN0aXZlLWJvcmRlci1jb2xvcic6IFx0XHRwYWxldHRlKHByaW1hcnksIDUwMCksXG5cdCd0YWItZ2FwJzogIFx0XHRcdFx0c3BhY2UoMSksXG4pO1xuXG4vKlxuICogT24gc21hbGwgc2NyZWVucyB0aGUgY29udGVudCBpcyBzdGFja2VkLCB3aXRob3V0IGNvbnRyb2xzXG4gKiBXaGVuIHRoZSBzY3JlZW4gaXMgd2lkZSBlbm91Z2ggd2UgYWRkIHRoZSBjb250cm9sc1xuICogYW5kIHNob3cgb25seSB0aGUgY2hvc2VuICdzbGlkZSBjb250ZW50J1xuICovXG5cblxuLm8tdGFic2xpZGVyIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuXG4vLyBTaGFyZWQgc3R5bGluZyBmb3IgdGFiLSBhbmQgc3RlcC1idXR0b25zXG4uby10YWJzbGlkZXJfX2J1dHRvbiB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdG1pbi1oZWlnaHQ6IHNwYWNlKDYpO1xuXHRjb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2JnY29sb3InKTtcblx0Ym9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkby10YWJzbGlkZXIsICdib3JkZXItY29sb3InKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYm9yZGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYmdjb2xvcicpO1xuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYmdjb2xvcicpO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWJnY29sb3InKTtcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWJvcmRlci1jb2xvcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcblxuXHRcdCY6bm90KC5pcy1hY3RpdmUpOm5vdCg6YWN0aXZlKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggbWFwLWdldCgkby10YWJzbGlkZXIsICdiZ2NvbG9yJyksIDAgMCA1cHggM3B4IHJnYmEobWFwLWdldCgkby10YWJzbGlkZXIsICdjb2xvcicpLCAwLjEpO1xuXHRcdH1cblx0fVxufVxuXG4uby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsMTIpO1xuXHRcdG1hcmdpbi1yaWdodDogY29sdW1uKDEsMTIpO1xuXHR9XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcCB7XG5cdHdpZHRoOiBzcGFjZSg2KTtcbn1cblxuLm8tdGFic2xpZGVyX19zdGVwLS1wcmV2IHtcblx0dHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG5cbi5vLXRhYnNsaWRlcl9fdGFicyB7XG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG5cdFx0bWFyZ2luOiAobWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJykgKiAtMSkgbWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJyk7XG5cdH1cbn1cblxuXG4uby10YWJzbGlkZXJfX3RhYiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdG1hcmdpbjogbWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJyk7XG5cdHBhZGRpbmc6IChzcGFjZSgxKSAtIDFweCkgc3BhY2UoMik7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5vLXRhYnNsaWRlcl9fY29udGFpbmVyIHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNik7XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19jb250ZW50IHtcblx0JiArICYge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0Z3JpZC1yb3c6IDE7XG5cdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR6LWluZGV4OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblx0XHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR9XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19sYWJlbCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoMSk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIi5vLXRlYW0ge1xuICBAaW5jbHVkZSBjb250YWluO1xuICBAaW5jbHVkZSB2c3BhY2luZyhcbiAgICAgICdtYXJnaW4tdG9wJyAxLFxuICAgICAgJ21hcmdpbi1ib3R0b20nIDFcbiAgKTtcbn1cblxuLm8tdGVhbV9fbWF0cml4IHtcbiAgQGluY2x1ZGUgbXEoNTYwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiBzcGFjZSgyKSAqIC0xO1xuICB9XG59XG5cbi5vLXRlYW1fX2l0ZW0ge1xuICBtYXJnaW46IDAgYXV0byBzcGFjZSg0KTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcblxuICBAaW5jbHVkZSBtcSg1NjApIHtcbiAgICBtYXJnaW46IHNwYWNlKDIpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gI3tzcGFjZSg0KX0pOyAvLyBMb25naGFuZCBuZWVkZWQgZm9yIElFXG4gIH1cblxuICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtICN7c3BhY2UoNCl9KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKDEyMDApIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtICN7c3BhY2UoNCl9KTtcbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogVVNQXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tdXNwOiAoXG5cdCdiYWNrZ3JvdW5kLWNvbG9yJzogIFx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQndGV4dC1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLXVzcCB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IGwpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ2JhY2tncm91bmQtY29sb3InKTtcblx0fVxufVxuXG4uby11c3BfX21haW4ge1xuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5vLXVzcF9fdGV4dCB7XG5cdHBhZGRpbmc6IHNwYWNlKDQpIDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ3RleHQtY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby11c3AsICdiYWNrZ3JvdW5kLWNvbG9yJyk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNSwgOCk7XG5cdFx0cGFkZGluZzoge1xuXHRcdFx0dG9wOiBjb2x1bW4oMC41LCA4KTtcblx0XHRcdGJvdHRvbTogY29sdW1uKDAuNSwgOCk7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IGNvbHVtbigxLCA4KTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2KTtcblx0XHRwYWRkaW5nOiBjb2x1bW4oMC41KSBjb2x1bW4oMSk7XG5cdH1cbn1cblxuLm8tdXNwX19pbWFnZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi1sZWZ0OiAtJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRcdG1hcmdpbi1yaWdodDogLSRzaXRlLWd1dHRlci13aWR0aDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNjUlO1xuXHRcdG1pbi1oZWlnaHQ6IDM2MHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNCwgOCk7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjb2x1bW4oLTEsIDgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNik7XG5cdH1cbn1cblxuLm8tdXNwX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ3RleHQtY29sb3InKTtcbn1cblxuLm8tdXNwX19saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMTZweDtcbn1cblxuLm8tdXNwX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDIpO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0JHdpZHRoOiAxNnB4O1xuXHRcdCRoZWlnaHQ6IDEycHg7XG5cblx0XHRjb250ZW50OicnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDVweDtcblx0XHRsZWZ0OiAtI3skd2lkdGh9O1xuXHRcdHdpZHRoOiAkd2lkdGg7XG5cdFx0aGVpZ2h0OiAkaGVpZ2h0O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aCAkaGVpZ2h0O1xuXHR9XG59XG5cbi5vLXVzcF9fYWN0aW9uIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNik7XG59XG5cbi5vLXVzcF9faW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59IiwiLm8tdmFjYW5jaWVzIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdD4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuXHR9XG59XG5cblxuLm8tdmFjYW5jaWVzX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogc29saWQgMnB4IHBhbGV0dGUocHJpbWFyeSk7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBzY2FsZS1jb2xvcihwYWxldHRlKHNlY29uZGFyeSksICRsaWdodG5lc3M6IC0yMCUpO1xuXHRcdGJvcmRlcjogc29saWQgMnB4IHNjYWxlLWNvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5KSwgJGxpZ2h0bmVzczogLTIwJSk7XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiIsIi5zLWNoZWNrbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXG5cdGxpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0bWFyZ2luLXRvcDogNXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvY2hlY2svY2hlY2tlZC5zdmcpO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdHdpZHRoOiAxMnB4O1xuXHRcdFx0aGVpZ2h0OiAxMnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KTtcblx0XHR9XG5cdH1cblxuXHQuY2hlY2tsaXN0LWhhcy14LXNtYWxsLWZvbnQgJntcblx0XHRAaW5jbHVkZSBmb250KHhzKTtcblxuXHRcdGxpIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59IiwiLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cblxuXG4ucy10ZXh0IHtcblxuXHRoMiwgaDMsIGg0IHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXHR9XG5cblx0Ly8gRmlyc3QgdGhlIG93bCBzZWxlY3RvciBmb3Igc2V0dGluZyBhIGRlZmF1bHQgdmVydGljYWwgcmh5dGhtXG5cdCYgPiAqICsgKiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdH1cblxuXHQvLyBNYWtlIHN1cmUgZmlyc3QgaXRlbSBpbiBzY29wZWQgdGV4dCBoYXMgbm8gbWFyZ2luIG9uIHRvcFxuXHQmID4gOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmID4gKiArIC5jLWJ1dHRvbiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdH1cblxuXHQmID4gdWw6bm90KFtjbGFzc10pIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0JiA+IGxpIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMS4xMjVlbTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHRcdFx0XHRjb250ZW50OiBcIlxcMjAyMlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogLTRweDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmID4gb2w6bm90KFtjbGFzc10pIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGNvdW50ZXItcmVzZXQ6IG9sLWNvdW50ZXI7XG5cblx0XHQmID4gbGkge1xuXHRcdFx0Y291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEuOGVtO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpIFwiLiBcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxLjI3NWVtO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgY29sb3JzXG4gKiBCYXNlZCBvbiB0aGVzZSBhcnRpY2xlczpcbiAqIC0gaHR0cDovL2Vyc2tpbmVkZXNpZ24uY29tL2Jsb2cvZnJpZW5kbGllci1jb2xvdXItbmFtZXMtc2Fzcy1tYXBzL1xuICogLSBodHRwczovL2Jsb2cuYXRlY2htZWRpYS5jb20vY3NzLWZvci1tdWx0aXBsZS10aGVtZXMvXG4gKiBPdXRwdXQgaXMgaW4gdGhlIGZvcm0gb2Y6XG5cbiAgIC51LWNvbG9yLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNiYWRhNTU7XG4gICB9XG5cbiAgLnUtYmctbmV1dHJhbC0tOTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVjYWZmO1xuICB9XG4gKi9cblxuQGVhY2ggJGxldmVsLCAkcGFsZXR0ZSBpbiAkcGFsZXR0ZXMge1xuXHRAZWFjaCAkdHlwZSwgJGNvbG9yIGluICRwYWxldHRlIHtcblx0XHRAaWYoJHR5cGUgPT0gJ2Jhc2UnKXtcblx0XHRcdC51LWNvbG9yLSN7JGxldmVsfSB7XG5cdFx0XHRcdGNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0XHQudS1iZy0jeyRsZXZlbH0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQudS1jb2xvci0jeyRsZXZlbH0tLSN7JHR5cGV9IHtcblx0XHRcdFx0Y29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHRcdC51LWJnLSN7JGxldmVsfS0tI3skdHlwZX0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLnUtaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyIWltcG9ydGFudDtcbn0iLCIvKlxuKiBJZiB5b3UgbmVlZCB0byBtYWtlIGEgcXVpY2sgZml4LCB5b3UgY2FuIGRvIGl0IGhlcmUuXG4qIExhdGVyIHdoZW4geW91IGhhdmUgdGhlIHRpbWUsIHlvdSBjYW4gbW92ZSB0aGUgZml4IGludG8gdGhlIGNvcnJlY3QgcGxhY2UgaW4gdGhlIHN0cnVjdHVyZVxuKi9cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5vdGhpbmcgaGVyZSB5ZXQsIEdvb2Qgam9iISEiLCJAZm9yICRpIGZyb20gMCB0aHJvdWdoIDgge1xuXHQvLyBNYXJnaW5cblx0LnUtc3BhY2luZy1tdCN7JGl9ICAgICB7IG1hcmdpbi10b3A6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1tciN7JGl9ICAgICB7IG1hcmdpbi1yaWdodDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW1iI3skaX0gICAgIHsgbWFyZ2luLWJvdHRvbTogc3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1tbCN7JGl9ICAgICB7IG1hcmdpbi1sZWZ0OiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cblx0Ly8gUGFkZGluZ1xuXHQudS1zcGFjaW5nLXB0I3skaX0gICAgIHsgcGFkZGluZy10b3A6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1wciN7JGl9ICAgICB7IHBhZGRpbmctcmlnaHQ6IHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctcGIjeyRpfSAgICAgeyBwYWRkaW5nLWJvdHRvbTpzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLXBsI3skaX0gICAgIHsgcGFkZGluZy1sZWZ0OiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG59XG5cbi51LXNwYWNpbmctcHYge1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQncGFkZGluZy10b3AnIDEsXG5cdFx0J3BhZGRpbmctYm90dG9tJyAxXG5cdClcbn1cblxuQGluY2x1ZGUgbXEobCkge1xuXHQudS1zcGFjaW5nLXByMFxcQGwge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAqIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAqIFNldCBmbGFnICdzaG93R3JpZCcgdG8gdHJ1ZSBpbiBzaXRlLnBocFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbi8vIENvbG9yOiBTZXQgYSBodWUgdmFsdWUgdGhhdCBoYXMgZW5vdWdoIGNvbnRyYXN0XG4kdmctaHVlOiBcdFx0XHRcdFx0MjMwOyAvLyAwLTM2MFxuXG4vLyBDb2x1bW5zOiBOdW1iZXIgb2YgY29sdW1ucyBwZXIgdmlld3BvcnRcbiR2Zy1jb2x1bW4tY291bnQtczogXHRcdCRzaXRlLWNvbHVtbnMtcztcbiR2Zy1jb2x1bW4tY291bnQtbTogXHRcdCRzaXRlLWNvbHVtbnMtbTtcbiR2Zy1jb2x1bW4tY291bnQtbDogXHRcdCRzaXRlLWNvbHVtbnMtbDtcblxuXG4vLyBEbyBzb21lIGNhbGN1bGF0aW9ucyBhbmQgcHV0IHRoZW0gaW4gdmFyaWFibGVzIGZvciByZXVzZVxuJHZnLWNvbHVtbi13aWR0aC1zOiBwZXJjZW50YWdlKDEgLyAkdmctY29sdW1uLWNvdW50LXMpO1xuJHZnLWNvbHVtbi13aWR0aC1tOiBwZXJjZW50YWdlKDEgLyAkdmctY29sdW1uLWNvdW50LW0pO1xuJHZnLWNvbHVtbi13aWR0aC1sOiBwZXJjZW50YWdlKDEgLyAkdmctY29sdW1uLWNvdW50LWwpO1xuJHZnLWNvbG9yLTE6IGhzbGEoJHZnLWh1ZSwgMTAwLCA1MCwgMC4wNyk7XG4kdmctY29sb3ItMjogaHNsYSgkdmctaHVlLCAxMDAsIDUwLCAwLjA0KTtcblxuXG4udS12aXNpYmxlLWdyaWQge1xuXHRAaW5jbHVkZSB6KHotdmlzaWJsZS1ncmlkKTtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdC8qIDggcG9pbnQgZ3JpZCBsaW5lcyAqL1xuXHQvL2JhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdC8vXHR0byBib3R0b20sXG5cdC8vXHRoc2xhKDAsIDEwMCwgNTAsIDAuODQpIDAsXG5cdC8vXHRoc2xhKDAsIDEwMCwgNTAsIDApIDFweCxcblx0Ly9cdGhzbGEoMCwgMTAwLCA1MCwgMCkgOHB4LFxuXHQvL1x0aHNsYSgyMDAsIDEwMCwgNTAsIDAuMDQpIDhweFxuXHQvLyk7XG5cblx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxufVxuXG4udS12aXNpYmxlLWdyaWRfX21haW4ge1xuXHRoZWlnaHQ6IDEwMHZoO1xuXG5cdGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdFx0XHR0byByaWdodCxcblx0XHRcdCR2Zy1jb2xvci0xLFxuXHRcdFx0JHZnLWNvbG9yLTEgJHZnLWNvbHVtbi13aWR0aC1zLFxuXHRcdFx0JHZnLWNvbG9yLTIgJHZnLWNvbHVtbi13aWR0aC1zLFxuXHRcdFx0JHZnLWNvbG9yLTIgKCR2Zy1jb2x1bW4td2lkdGgtcyAqIDIpXG5cdCk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdHRvIHJpZ2h0LFxuXHRcdFx0XHQkdmctY29sb3ItMSxcblx0XHRcdFx0JHZnLWNvbG9yLTEgJHZnLWNvbHVtbi13aWR0aC1tLFxuXHRcdFx0XHQkdmctY29sb3ItMiAkdmctY29sdW1uLXdpZHRoLW0sXG5cdFx0XHRcdCR2Zy1jb2xvci0yICgkdmctY29sdW1uLXdpZHRoLW0gKiAyKVxuXHRcdCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdHRvIHJpZ2h0LFxuXHRcdFx0XHQkdmctY29sb3ItMSxcblx0XHRcdFx0JHZnLWNvbG9yLTEgJHZnLWNvbHVtbi13aWR0aC1sLFxuXHRcdFx0XHQkdmctY29sb3ItMiAkdmctY29sdW1uLXdpZHRoLWwsXG5cdFx0XHRcdCR2Zy1jb2xvci0yICgkdmctY29sdW1uLXdpZHRoLWwgKiAyKVxuXHRcdCk7XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/