/*!***************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!../styles/main.scss ***!
  \***************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ==========================================================================
   Settings
   ========================================================================== */
/*@import "../fonts/inlineFonts.scss";*/
/* Variables, Naming may vary from project to project */
/* ==========================================================================
   Fonts (see '_fonts.scss' for more information on license)
   ========================================================================== */
/* @import must be at top of file, otherwise CSS will not work */
/* @import url('//hello.myfonts.net/count/426563'); */
/* ==========================================================================
   Fallbacks sass Variablen
   ========================================================================== */
/* text */
/* green */
/* green */
/* background */
/* black */
/* light grey */
/* yellow */
/* line-colors */
/* green */
/* spacing */
/* grid */
/* form */
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  /* fonts */
  --font-stack-default: "fieldwork", "Arial", "Helvetica", sans-serif;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --font-weight-bolder: 800;
  /* text  */
  --text-color: #285844; /* green */
  --text-color-light: #fff;
  --text-color-link: #285844;
  --text-color-link-hover: #000;
  /* font-sizes */
  --font-size-root: 20px;
  --font-size-h1: 2.6rem; /* 52px */
  --font-size-h2: 1.8rem; /* 36px */
  --font-size-h3: 1.3rem;
  --font-size-lead: 1rem;
  --font-size-quote: 1.3rem;
  --font-size-body: 1rem;
  --font-size-body-s: 0.8rem;
  --font-size-navmain: 1.2rem;
  --font-size-body-l: 1.3rem;
  --font-size-keyfact: 2.6rem; /* 52px */
  /* colors / background */
  --bg-content: #fff;
  --bg-dark: #000; /* black */
  --bg-light: #EBEBEB; /* light grey */
  --color-highlight: #F4B90A; /* yellow */
  --color-primary: #285844; /* green */
  --bg-footer: #272117; /* black */
  /* lines */
  --border-basic: #285844; /* green */
  --border-width-big: 8px;
  /* spacing between components based on rem */
  --spacing-xl: 7rem;
  --spacing-l: 4.8rem;
  --spacing-m: 2.8rem;
  --spacing-s: 1.5rem;
  --spacing-xs: 0.75rem;
  --padding-box: 1.5em 24px;
  --margin-header: 8px;
  --header-height: 96px;
  /* grid */
  --grid-container: 24px;
  --grid-row: -12px;
  --grid-col: 12px;
  /* form */
  --border-form: #285844;
  --border-form-focus: #000;
  --border-form-width: 4px;
  --form-disabled: #ccc;
  --form-error: #dd0000;
  --form-ok: #00828C;
  --form-initial: #1D1D1B;
}

/* ==========================================================================
   Exeptions for different backgrounds
   ========================================================================== */
.c-text-light {
  --text-color: #fff;
  --text-color-link: #fff;
  --text-color-link-hover: #fff;
  --border-basic: #fff;
}

.c-box .c-text-block {
  --color-highlight: #fff;
}

.c-box-light .c-text-block {
  --color-highlight: #F4B90A;
}

.c-footer {
  --text-color-link: var(--color-highlight);
}

.c-form-order-list {
  --border-basic: #ccd4d0;
}

.c-step-nav-active {
  --text-color: var(--color-highlight);
  --border-basic: var(--color-highlight);
}

.c-step-nav-disabled {
  --text-color: var(--bg-light);
  --border-basic: var(--bg-light);
}

/* ==========================================================================
   Responsive Custom Properties
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  :root {
    --grid-container: 48px;
    --grid-row: -24px;
    --grid-col: 24px;
    --padding-box: 2.4em 48px;
  }
}
@media only screen and (min-width: 1600px) {
  :root {
    --grid-container: 56px;
    --grid-row: -28px;
    --grid-col: 28px;
    --padding-box: 2.6em 56px;
    --margin-header: 16px;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --spacing-xl: 3.5rem;
    --spacing-l: 2.8rem;
  }
}
@media only screen and (max-width: 900px) {
  :root {
    --header-height: 70px;
  }
}
/*@import "common/_fonts";*/
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/*
 * 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/*
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* =============================================================================
   Base
   ========================================================================== */
/*
 * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
 *    http://clagnut.com/blog/348/#c790
 * 2. Keeps page centred in all browsers regardless of content height
 * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom
 *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
 * 4. Correct the line height in all browsers.
 */
html {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 4 */
  overflow-y: scroll; /* 2 */
  -webkit-text-size-adjust: 100%; /* 3 */
  -ms-text-size-adjust: 100%; /* 3 */
}

/**
 * Remove default margin.


 */
body {
  margin: 0;
  padding: 0; /* cubegrafik */
}

/* =============================================================================
/**
 * Remove the gray background color from active links in IE 10.

 */
a {
  background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/* =============================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/*
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

/*
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/*
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/*
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers
 * Contain overflow in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow: auto;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**

 * Prevent `sub` and `sup` affecting `line-height` in all browsers.

 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* =============================================================================
   Embedded content
   ========================================================================== */
/*
 * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
 * 2. Improves image quality when scaled in IE7
 *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */
img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

/*
 * Corrects overflow displayed oddly in IE9
 */
svg:not(:root) {
  overflow: hidden;
}

/* =============================================================================
   Figures
   ========================================================================== */
/*
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* =============================================================================
   Forms
   ========================================================================== */
/*
 * Corrects margin displayed oddly in IE6/7
 */
form {
  margin: 0;
}

/*
 * Define consistent border, margin, and padding
 */
fieldset {
  border: 0; /* cubegrafik */
  margin: 0; /* cubegrafik */
  padding: 0; /* cubegrafik */
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
  border: 0;
}

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.

 * 4. Improves appearance and consistency in all browsers
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 4 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**

 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 * and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 * `input` and others.
 * 4. Removes inner spacing in IE7 without affecting normal text inputs.
 * Known issue: inner spacing remains in IE6.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
  *overflow: visible; /* 4 */
}

/*
 * Re-set default cursor for disabled elements
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
input::-moz-focus-inner [type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**

 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).

 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**

 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* =============================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* ==========================================================================
   Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Elements cubegrafik
   ========================================================================== */
a:active {
  outline: none;
}

div, p {
  padding: 0;
  margin: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

th, td {
  vertical-align: top;
  text-align: left;
}

input,
textarea {
  /* Removed because of visibilitychange-addition to fancy-forms plugin.
   * 2015/01/22 - Florian Mäder
   * -webkit-appearance: none;*/
  -webkit-border-radius: 0;
}

html {
  -webkit-box-sizing: border-box; /* Safari 3.0 - 5.0, Chrome 1 - 9, Android 2.1 - 3.x */
  -moz-box-sizing: border-box; /* Firefox 1 - 28 */
  box-sizing: border-box; /* Safari 5.1+, Chrome 10+, Firefox 29+, Opera 7+, IE 8+, Android 4.0+, iOS any */
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

label[for] {
  cursor: pointer;
  -ms-touch-action: manipulation; /* IE 10  */
  touch-action: manipulation; /* IE 11+ */
}

/* ==========================================================================
   Form Placeholder
   ========================================================================== */
/* ==========================================================================
   Fonts smoothing
   ========================================================================== */
/* ==========================================================================
  Hiding
   ========================================================================== */
.c-hide-visually {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.c-hide-completely {
  display: none;
  visibility: hidden;
}

/* image replacement */
.c-ir {
  display: block;
  border: 0;
  text-indent: -999em;
  overflow: hidden;
  background-color: transparent;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
}

/* ==========================================================================
   Sticky Footer
   ========================================================================== */
html {
  display: flex;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.c-header,
.c-footer {
  flex-shrink: 0;
}

.c-content {
  flex-grow: 1;
}

/* ==========================================================================
   Components
   ========================================================================== */
/* styles for every project */
/* ==========================================================================
   Base Project
   ========================================================================== */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  background-color: var(--bg-content);
  color: #285844;
  color: var(--text-color);
  font-family: "Fieldwork", "Arial", "Helvetica", sans-serif;
  font-family: var(--font-stack-default);
  font-weight: normal;
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-body);
  font-style: normal;
  -webkit-tap-highlight-color: transparent;
}

/* links */
a,
a:visited,
a:focus,
a:hover {
  color: #285844;
  color: var(--text-color-link);
  text-decoration: none;
}

a:focus,
a:hover {
  color: var(--text-color-link-hover);
}

p:empty {
  display: none;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
select,
textarea {
  color: #285844;
  color: var(--text-color);
  font-family: var(--font-stack-default);
}

textarea {
  resize: none;
}

/* ==========================================================================
   Standard img / media declaration
   ========================================================================== */
embed,
object,
video,
iframe,
img {
  width: 100%;
}

img {
  height: auto;
}

.c-img-max-width,
.c-content .c-img-max-width {
  width: auto;
  max-width: 100%;
}

img {
  vertical-align: bottom;
}

/* ==========================================================================
   Standard Main Container Declaration
   ========================================================================== */
.c-header,
.c-content,
.c-footer,
.c-container,
.c-container-medium,
.c-container-wide {
  position: relative;
  width: 100%;
  z-index: auto;
}

/* ==========================================================================
   Standard Padding between Components 
   ========================================================================== */
.c-container,
.c-container-medium,
.c-teaser-item,
.c-team-item,
.c-sponsoring-item,
.c-form-order-item,
.c-keyfacts-item {
  padding-bottom: 7rem;
  padding-bottom: var(--spacing-xl);
}

.c-main-title {
  margin-top: 7rem;
  margin-top: calc(var(--spacing-xl) + var(--header-height));
}

.c-showroom,
.c-keyfacts {
  margin-bottom: 7rem;
  margin-bottom: var(--spacing-xl);
}

.c-container-no-padding {
  padding-bottom: 0;
}

.c-section-title {
  padding-bottom: 0.75rem;
  padding-bottom: var(--spacing-xs);
}

.c-showroom-text-inner,
.c-keyfacts {
  padding-top: 7rem;
  padding-top: var(--spacing-xl);
}

.c-teaser-cta + .c-teaser-cta {
  margin-top: calc(var(--spacing-xl) * -1);
}

.c-teaser-cta + .c-teaser-cta .c-box-border {
  border-top: none;
}

.c-text-only + .c-text-only,
.c-showroom + .c-keyfacts {
  margin-top: calc(var(--spacing-xl) * -1);
}

.c-step-nav {
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

/* ==========================================================================
   Standard Grid Declaration
   ========================================================================== */
.c-container,
.c-container-medium {
  padding-left: 20px;
  padding-right: 20px;
  padding-left: var(--grid-container);
  padding-right: var(--grid-container);
}

.c-row {
  margin-right: -10px;
  margin-left: -10px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

.c-row-reverse {
  flex-direction: row-reverse;
}

.c-row-justify-left {
  justify-content: flex-start;
}

.c-row-justify-center {
  justify-content: center;
}

.c-row-justify-right {
  justify-content: flex-end;
}

.c-row-justify-around {
  justify-content: space-around;
}

.c-row-justify-between {
  justify-content: space-between;
}

.c-row-align-top {
  align-items: flex-start;
}

.c-row-align-center {
  align-items: center;
}

.c-row-align-bottom {
  align-items: flex-end;
}

.c-col-1,
.c-col-2,
.c-col-3,
.c-col-4,
.c-col-5,
.c-col-6,
.c-col-7,
.c-col-8,
.c-col-9,
.c-col-10,
.c-col-11,
.c-col-12 {
  position: relative;
  min-height: 1px;
  padding-right: 10px;
  padding-left: 10px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
}

.c-col-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.c-col-11 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 91.66667%;
  -ms-flex: 0 0 91.66667%;
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
}

.c-col-10 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 83.33333%;
  -ms-flex: 0 0 83.33333%;
  flex: 0 0 83.33333%;
  max-width: 83.33333%;
}

.c-col-9 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 75%;
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%;
}

.c-col-8 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.66667%;
  -ms-flex: 0 0 66.66667%;
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
}

.c-col-7 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 58.33333%;
  -ms-flex: 0 0 58.33333%;
  flex: 0 0 58.33333%;
  max-width: 58.33333%;
}

.c-col-6 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

.c-col-5 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 41.66667%;
  -ms-flex: 0 0 41.66667%;
  flex: 0 0 41.66667%;
  max-width: 41.66667%;
}

.c-col-4 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.c-col-3 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.c-col-2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 16.66667%;
  -ms-flex: 0 0 16.66667%;
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

.c-col-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.33333%;
  -ms-flex: 0 0 8.33333%;
  flex: 0 0 8.33333%;
  max-width: 8.33333%;
}

/* offset cols */
.c-col-offset-1 {
  margin-left: 8.333%;
}

.c-col-offset-2 {
  margin-left: 16.667%;
}

.c-col-offset-3 {
  margin-left: 25%;
}

.c-col-offset-4 {
  margin-left: 33.333%;
}

.c-col-offset-5 {
  margin-left: 41.667%;
}

.c-col-offset-6 {
  margin-left: 50%;
}

.c-col-offset-7 {
  margin-left: 58.333%;
}

.c-col-offset-8 {
  margin-left: 66.667%;
}

.c-col-offset-9 {
  margin-left: 75%;
}

.c-col-offset-10 {
  margin-left: 83.333%;
}

.c-col-offset-11 {
  margin-left: 91.667%;
}

/* ==========================================================================
   Grid Varianten
   ========================================================================== */
.c-asym-right-edgeless,
.c-asym-left-edgeless {
  overflow: hidden;
}

.c-teaser-cta {
  padding-left: 0;
}

.c-asym-right-edgeless .c-box {
  margin-right: -24px;
  margin-right: calc(var(--grid-container) * -1);
}

.c-asym-left-edgeless .c-box {
  margin-left: -24px;
  margin-left: calc(var(--grid-container) * -1);
}

.c-asym-right-edgeless-img {
  margin-right: -24px;
  margin-right: calc(var(--grid-container) * -1);
}

.c-asym-left-edgeless-img {
  margin-left: -24px;
  margin-left: calc(var(--grid-container) * -1);
}

.c-news-text .c-col-5 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.66667%;
  -ms-flex: 0 0 66.66667%;
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
}

.c-asym-left-edgeless-img .c-legend {
  padding-left: 24px;
  padding-left: var(--grid-container);
}

/* ==========================================================================
   Base
   ========================================================================== */
html {
  font-size: 20px;
  font-size: var(--font-size-root);
}

/* ==========================================================================
   Titles
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: var(--font-weight-bolder);
  text-wrap: balance;
}

h1,
.c-h1 {
  line-height: 1.1;
  font-size: 2.6rem;
  font-size: var(--font-size-h1);
}

h1 + .c-lead {
  padding-top: 0.8em;
}

h2,
.c-h2 {
  padding-bottom: 0.5em;
  line-height: 1.1;
  font-size: 1.8rem;
  font-size: var(--font-size-h2);
}

h3,
.c-h3 {
  padding-bottom: 0.5em;
  line-height: 1.2;
  font-size: 1.3rem;
  font-size: var(--font-size-h3);
}

h4,
.c-h4 {
  padding-bottom: 0.5em;
  line-height: 1.2;
  font-size: 1rem;
  font-size: var(--font-size-body);
}

/* ==========================================================================
   Basic Text Content
   ========================================================================== */
b, strong,
.c-teaser-cta {
  font-weight: var(--font-weight-bold);
}

.c-teaser-cta .c-text-big,
.c-contact .c-text-big {
  font-weight: var(--font-weight-normal);
  line-height: 1.4;
}

.c-content {
  line-height: 1.2;
}

.c-footer {
  line-height: 1.5;
}

.c-text-block p {
  padding-bottom: 1.2em;
}

.c-text-block p + h2,
.c-text-block p + h3,
.c-text-block p + h4,
.c-text-block p + ul,
.c-text-block ul + p,
.c-text-block ul + h2,
.c-text-block ul + h3,
.c-text-block ul + h4,
.c-text-block ul + ol,
.c-text-block ol + p,
.c-text-block ol + h2,
.c-text-block ol + h3,
.c-text-block ol + h4,
.c-text-only + .c-text-only .c-text-block h2,
.c-text-only + .c-text-only .c-text-block h3,
.c-text-only + .c-text-only .c-text-block h4,
.c-text-only + .c-text-only .c-text-block ul {
  padding-top: 1.2em;
}

.c-team-item p {
  padding-bottom: 0.6em;
}

.c-lead {
  line-height: 1.2;
  font-size: 1rem;
  font-size: var(--font-size-lead);
  font-weight: var(--font-weight-bold);
}

.c-text-small,
.c-text-block blockquote cite,
.c-footer,
.c-breadcrumb {
  font-size: 0.8rem; /* 16px */
  font-size: var(--font-size-body-s);
}

.c-legend {
  display: block;
  padding-top: 1em;
  font-size: var(--font-size-body-s);
}

.c-text-big {
  font-size: 1.3rem;
  font-size: var(--font-size-body-l);
}

.c-news-category {
  display: block;
  font-weight: var(--font-weight-bolder);
  padding-bottom: 0.5em;
}

.c-news-date {
  display: inline-block;
  font-weight: var(--font-weight-normal);
  padding-left: 0.25em;
}

.c-keyfacts-nr {
  display: block;
  font-size: 2.6rem;
  font-size: var(--font-size-keyfact);
  font-weight: var(--font-weight-bolder);
  padding-bottom: 0.35em;
}

.c-keyfacts-nr span {
  font-size: 1rem;
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-bold);
}

.c-category-title {
  display: block;
  font-weight: bold;
  font-weight: var(--font-weight-bolder);
  padding-bottom: 1.5em;
}

.c-text-2col .c-category-title {
  border-top: solid var(--border-width-big) var(--border-basic);
  padding-top: 1em;
}

/* ==========================================================================
   Basic Lists Content 
   ========================================================================== */
.c-text-block ul,
.c-text-block ol {
  margin: 0;
  padding: 0 0 1.2em 0;
  list-style: none;
}

.c-text-block ul li,
.c-text-block ol li {
  position: relative;
  padding-left: 24px;
}

.c-text-block ul li + li,
.c-text-block ol li + li {
  margin-top: 0.5em;
}

.c-text-block ul li::before {
  content: "";
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #F4B90A;
  background-color: var(--color-highlight);
}

@-moz-document url-prefix() {
  .c-text-block ul li::before {
    top: 0.38em;
  }
}
.c-text-block ol {
  counter-reset: custom-counter;
}

.c-text-block ol li {
  counter-increment: custom-counter;
}

.c-text-block ol li::before {
  content: counter(custom-counter) ". ";
  position: absolute;
  left: 0;
  top: 0;
  width: 26px;
  color: #285844;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-align: right;
}

.c-text-block .c-link-list li,
.c-text-block .c-special-list li,
.c-text-block .c-jobs-list li {
  padding-left: 0;
}

.c-text-block .c-link-list li::before,
.c-text-block .c-special-list li::before,
.c-text-block .c-jobs-list li::before {
  background: none;
}

.c-text-block .c-special-list {
  margin-right: -10px;
  margin-left: -10px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

.c-text-block .c-special-list li {
  position: relative;
  min-height: 1px;
  padding-right: 10px;
  padding-left: 10px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.c-text-block .c-special-list li + li,
.c-text-block .c-jobs-list li + li {
  margin-top: 0;
}

.c-jobs-list {
  border-top: solid 2px #285844;
  border-color: var(--border-basic);
}

.c-text-block .c-jobs-list li {
  padding: 1.05em 0 1.15em 0;
  border-bottom: solid 2px #285844;
  border-color: var(--border-basic);
}

@-moz-document url-prefix() {
  .c-text-block .c-jobs-list li {
    padding: 1.3em 0 1.15em 0;
  }
}
.c-opening-hours-list,
.c-form-order-list {
  margin: 0;
  padding: 0 0 1.2em 0;
}

.c-opening-hours-list dt,
.c-opening-hours-list dd,
.c-form-order-list dt,
.c-form-order-list dd {
  margin: 0;
  padding: 0;
}

.c-opening-hours-list dt,
.c-form-order-list dt {
  border-top: solid 2px #285844;
  border-color: var(--border-basic);
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  padding-top: 0.8em;
}

.c-opening-hours-list dd,
.c-form-order-list dd {
  padding-bottom: 0.8em;
}

.c-opening-hours-list dd:last-of-type,
.c-form-order-list dd:last-of-type {
  border-bottom: solid 2px #285844;
  border-color: var(--border-basic);
}

/* ==========================================================================
   Quote
   ========================================================================== */
.c-text-block blockquote {
  margin: 0;
  padding: 0 0 0 var(--grid-container);
  border-left: solid var(--border-width-big) var(--border-basic);
}

.c-text-block blockquote p {
  position: relative;
  padding: 0;
  line-height: 1.3;
  font-size: 1.3rem;
  font-size: var(--font-size-quote);
  font-weight: bold;
  font-weight: var(--font-weight-bolder);
  text-wrap: balance;
}

.c-text-block blockquote cite {
  display: block;
  padding-top: 1.5em;
  font-style: normal;
}

/* ==========================================================================
   Text helpers
   ========================================================================== */
.c-text-right {
  text-align: right;
}

.c-text-center {
  text-align: center;
}

.c-text-light {
  color: #fff;
  color: var(--text-color-light);
}

/* ==========================================================================
   Text sizes responsive
   ========================================================================== */
@media only screen and (max-width: 1360px) {
  h1, .c-h1,
h2, .c-h2,
h3, .c-h3 {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}
@media only screen and (max-width: 1100px) {
  :root {
    --font-size-h1: 2.25rem;
    --font-size-h2: 1.6rem;
    --font-size-navmain: 1rem;
    --font-size-keyfact: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  :root {
    --font-size-root: 18px;
    --font-size-h1: 2rem;
    --font-size-h2: 1.5rem;
    --font-size-h3: 1.125rem;
    --font-size-lead: 1rem;
    --font-size-quote: 1.125rem;
    --font-size-body: 1rem;
    --font-size-body-s: 0.875rem;
    /*--font-size-navmain: 1.2rem;*/
    --font-size-body-l: 1.125rem;
    --font-size-keyfact: 2rem;
  }
}
@media only screen and (max-width: 350px) {
  :root {
    --font-size-body-l: 1rem;
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
}

.c-header-inner {
  height: 96px;
  height: var(--header-height);
  margin: 16px 16px 0 16px;
  margin: var(--margin-header) var(--margin-header) 0 var(--margin-header);
  width: calc(100% - var(--margin-header) * 2);
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  background-color: #F4B90A;
  background-color: var(--color-highlight);
}

.c-header-logo {
  margin-top: 0.48rem;
  position: relative;
  width: 270px;
  height: 40px;
  align-self: center;
}

.c-header-logo a {
  display: block;
}

/* ==========================================================================
   meta
   ========================================================================== */
.c-header-meta {
  display: flex;
  flex-flow: row wrap;
  align-self: flex-start;
  font-size: var(--font-size-body-s);
}

.c-header-lang-list {
  margin: 0 0 0 2.4em;
  padding: 0;
  list-style: none;
  font-weight: var(--font-weight-bold);
}

.c-header-lang-list li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-header-lang-list li {
  display: inline-block;
}

.c-header-lang-list li + li {
  padding-left: 0.5em;
}

.c-header-lang-list a {
  position: relative;
  display: inline-block;
  position: relative;
  padding-top: 20px;
  padding-bottom: 0.8em;
}

.c-header-lang-list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
  background-color: #285844;
  background-color: var(--border-basic);
  transition: all 0.2s linear;
}

.c-header-lang-list a:focus::before,
.c-header-lang-list a:hover::before {
  height: 8px;
}

.c-header-lang-list .c-active a::before {
  height: 4px;
}

/* ==========================================================================
   main nav 
   ========================================================================== */
.c-main-nav {
  align-self: flex-end;
  font-size: var(--font-size-navmain);
  font-weight: var(--font-weight-bold);
}

.c-main-nav-list {
  margin: 0;
  padding: 16px 0 0 0;
  list-style: none;
}

.c-main-nav-list li {
  display: inline-block;
}

.c-main-nav-list li + li {
  padding-left: 1em;
}

.c-main-nav-list a {
  display: inline-block;
  position: relative;
  padding-bottom: 1em;
}

.c-main-nav-list a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background-color: #285844;
  background-color: var(--border-basic);
  transition: all 0.2s linear;
}

.c-main-nav-list a:focus::before,
.c-main-nav-list a:hover::before {
  height: 8px;
}

.c-main-nav-list .c-active a::before,
.c-main-nav-list .current-menu-item a::before {
  height: 4px;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  padding-top: 4.8rem;
  padding-bottom: 2.8rem;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-m);
  background-color: #272117;
  background-color: var(--bg-footer);
}

.c-footer-disclaimer-list,
.c-footer-link-list,
.c-footer-partner-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-footer-deco {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-footer-deco::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(footer-wittwer-deco_24f9.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  opacity: 0.03;
}

/* ==========================================================================
   Footer-Main
   ========================================================================== */
.c-footer-logo {
  position: relative;
  width: 270px;
  height: 40px;
}

.c-footer .c-lead {
  margin-top: 1.5rem;
  margin-top: var(--spacing-s);
  max-width: 500px;
}

.c-footer-link-list li + li {
  padding-top: 0.5em;
}

.c-footer-address {
  line-height: 1.9;
}

.c-footer-main .c-col-5,
.c-footer-main .c-col-4 {
  padding-bottom: 2.8rem;
  padding-bottom: var(--spacing-m);
}

/* ==========================================================================
   Footer-partner
   ========================================================================== */
.c-footer-partner {
  padding-bottom: 2.8rem;
  padding-bottom: var(--spacing-m);
}

.c-footer-partner-list {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.c-footer-partner-list li {
  padding: 0.5em 2em 1em 0;
}

.c-partner-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 40px;
  object-fit: contain;
}

/* ==========================================================================
   Footer-Disclaimer
   ========================================================================== */
.c-footer-disclaimer {
  padding-top: 1.5em;
}

.c-footer-disclaimer-list li {
  display: inline-block;
}

.c-footer-disclaimer-list li + li {
  padding-left: 2em;
}

/* optional styles */
/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-trigger {
  position: absolute;
  display: block;
  top: 0.8em;
  right: 20px;
  right: var(--grid-container);
  width: 44px;
  height: 44px;
  margin: 0;
  color: transparent;
  transform: perspective(1px) translateZ(0);
  transition: all 0.2s ease-in-out;
  overflow: hidden;
}

.c-offcanvas-trigger-open {
  display: none;
}

.c-offcanvas-trigger::before,
.c-offcanvas-trigger::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
}

.c-offcanvas-trigger-open::before,
.c-offcanvas-trigger-open::after {
  width: 24px;
  transition: width 0.2s ease-in-out;
}

.c-offcanvas-trigger-open::before {
  height: 20px;
  margin-top: -10px;
  border-top: 4px solid #285844;
  border-bottom: 4px solid #285844;
  border-color: var(--color-primary);
}

.c-offcanvas-trigger-open::after {
  height: 4px;
  background-color: #285844;
  background-color: var(--color-primary);
  margin-top: -2px;
}

.c-offcanvas-trigger-open:focus::after,
.c-offcanvas-trigger-open:hover::after {
  width: 15px;
}

.c-offcanvas-trigger-close::before,
.c-offcanvas-trigger-close::after {
  background-color: #285844;
  background-color: var(--color-primary);
  margin-top: -4px;
  height: 4px;
  width: 24px;
  transition: all 0.5s;
}

.c-offcanvas-trigger-close::before {
  transform: rotate(-45deg);
}

.c-offcanvas-trigger-close::after {
  transform: rotate(45deg);
}

/* ==========================================================================
   Offcanvas nav main container
   ========================================================================== */
.c-offcanvas-nav {
  /*display: none;*/
  position: absolute;
  top: 0;
  left: 0;
  background-color: #F4B90A;
  background-color: var(--color-highlight);
  color: var(--text-color);
  z-index: 10;
  width: 0;
  height: 0;
  overflow-y: auto;
  transition: height 0.2s ease-out 0s;
}

#open-navigation:not(:target) .c-offcanvas-nav {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

.c-offcanvas-inner {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow-y: auto;
}

/* ==========================================================================
   Offcanvas Content
   ========================================================================== */
.c-offcanvas-content {
  /*padding-top: 1.5em;*/
}

.c-offcanvas-lang {
  margin-left: 0;
}

.c-offcanvas-nav-list,
.c-offcanvas-nav-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--font-size-navmain);
  font-weight: var(--font-weight-bold);
}

.c-offcanvas-nav-list ul {
  font-weight: var(--font-weight-normal);
}

.c-offcanvas-nav-list ul li:last-child {
  margin-bottom: 1.8em;
}

.c-offcanvas-nav-list {
  margin-top: 2em;
  border-top: solid 2px #285844;
  border-color: var(--border-basic);
}

.c-offcanvas-nav-list li {
  border-bottom: solid 2px #285844;
  border-color: var(--border-basic);
}

.c-offcanvas-nav-list ul li {
  border-bottom: none;
}

.c-offcanvas-nav-list a {
  display: block;
  position: relative;
  /*padding: 0.75em 8px;*/
  padding: 1.05em 8px 1.15em 8px;
}

.c-offcanvas-nav-list ul a {
  padding: 0.8em 8px 0.95em 32px;
}

@-moz-document url-prefix() {
  .c-offcanvas-nav-list a {
    padding: 1.3em 8px 1.15em 8px;
  }
  .c-offcanvas-nav-list ul a {
    padding: 1em 8px 0.8em 32px;
  }
}
.c-offcanvas-nav-list a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 8px;
  margin-top: -7px;
  background-image: url(sprite_18ef.svg);
  background-repeat: no-repeat;
  width: 9px;
  height: 14px;
  background-position: 100px -200px;
}

.c-offcanvas-nav-list ul a::before {
  left: 32px;
}

.c-offcanvas-nav-list .current-menu-item > a::before {
  background-position: 0 -200px;
}

.c-offcanvas-nav-list .current-menu-item > a {
  padding-left: 28px;
}

.c-offcanvas-nav-list ul .current-menu-item > a {
  padding-left: 52px;
}

.c-offcanvas-nav-list a:focus,
.c-offcanvas-nav-list a:hover,
.c-offcanvas-nav-list .current-menu-item > a {
  /*color: $color-primary;
     color: var(--color-highlight);*/
}

/* ==========================================================================
   Offcanvas accordion
   ========================================================================== */
.c-offcanvas-menu-check {
  position: absolute;
  left: -9999px;
}

.c-offcanvas-menu-title {
  display: block;
  position: relative;
  cursor: pointer;
  /*padding: 0.75em 8px;*/
  padding: 1.05em 30px 1.15em 8px;
  transition: all 0.2s ease-in-out;
  text-align: left;
}

@-moz-document url-prefix() {
  .c-offcanvas-menu-title {
    padding: 1.3em 30px 1.15em 8px;
  }
}
.c-offcanvas-menu-check:checked + label::before,
.c-offcanvas-menu-check:not(:checked) + label::before {
  display: block;
  content: "";
  position: absolute;
  background-image: url(sprite_18ef.svg);
  background-repeat: no-repeat;
  background-position: 0 -140px;
  width: 26px;
  height: 15px;
  top: calc(50% - 8px);
  right: 8px;
}

.c-offcanvas-menu-check:checked + label::before {
  background-position: -50px -140px;
}

.c-offcanvas-menu-check:not(:checked) + label::before {
  background-position: 0 -140px;
}

.c-offcanvas-menu-content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
}

.c-offcanvas-menu-check:checked ~ .c-offcanvas-menu-content {
  max-height: 9999px;
  transition: max-height 0.3s cubic-bezier(1, 0, 1, 0);
}

/* ==========================================================================
   Offcanvas nav open
   ========================================================================== */
#open-navigation:target {
  position: relative;
  top: auto;
  height: auto;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

#open-navigation:target .c-offcanvas-nav {
  width: 100%;
  height: 100vh;
  overflow-y: auto;
}
#open-navigation:target .c-offcanvas-trigger-open {
  display: none;
}

/*@import "components/_tables";*/
/* ==========================================================================
   Colors
   ========================================================================== */
.c-bg-light {
  background-color: #EBEBEB;
  background-color: var(--bg-light);
}

/* ==========================================================================
  Showroom 
   ========================================================================== */
.c-showroom {
  overflow: hidden;
}

.c-showroom,
.c-showroom-text .c-row {
  min-height: 100vh;
}

/* min-height fix for ie11 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-showroom-text .c-row:after {
    content: "";
    /*display: block;*/
    display: inline-block;
    min-height: inherit;
    font-size: 0;
  }
}
.c-showroom-img,
.c-showroom-video,
.c-keyfacts-sustainability-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-showroom-img img,
.c-showroom-video video,
.c-keyfacts-sustainability-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-main-title-box {
  padding: 24px;
  padding: var(--padding-box);
  background-color: #285844;
  background-color: var(--color-primary);
}

/* ==========================================================================
  news / box
   ========================================================================== */
.c-news .c-col-5,
.c-news .c-col-7 {
  display: flex;
  flex-flow: column;
}

.c-box {
  background-color: #F4B90A;
  background-color: var(--color-highlight);
}

.c-box-light {
  background-color: #EBEBEB;
  background-color: var(--bg-light);
}

.c-box-inner {
  padding: 24px;
  padding: var(--padding-box);
}

.c-news-img-container {
  position: relative;
  flex-grow: 1;
  min-height: 560px;
}

.c-news-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-news-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
  teaser
   ========================================================================== */
.c-teaser-item {
  position: relative;
  margin-top: 8px;
  /*border-top: solid 2px $border-basic;
  border-color: var(--border-basic);*/
}

.c-teaser-item::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #285844;
  background-color: var(--border-basic);
  transition: all 0.2s linear;
}

.c-teaser-item:focus::before,
.c-teaser-item:hover::before {
  height: 8px;
}

.c-teaser-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-teaser-img-container {
  display: flex;
  flex-flow: row wrap;
}

.c-teaser-img {
  max-width: 120px;
}

/* ==========================================================================
  teaser CTA
   ========================================================================== */
.c-box-border {
  border: solid 8px #285844;
  border-width: var(--border-width-big);
  border-left: none;
  border-color: var(--border-primary);
}

.c-box-border-inner {
  padding: var(--grid-container);
}

/* ==========================================================================
  team / sponsoring / form order
   ========================================================================== */
.c-team-item,
.c-sponsoring-item,
.c-form-order-item {
  border-top: solid 2px #285844;
  border-color: var(--border-basic);
}

.c-team-item .c-ratiobox-team,
.c-sponsoring-item .c-sponsoring-logo,
.c-form-order-item .c-ratiobox-form-order {
  margin-bottom: 1em;
}

.c-sponsoring-logo {
  position: relative;
  display: flex;
  flex: 1 0 auto;
  height: auto;
  text-align: center;
  align-items: center;
  justify-content: center;
}

.c-sponsoring-logo::before {
  content: "";
  display: block;
  padding-top: 60%;
  float: left;
}

.c-sponsoring-logo img {
  position: absolute;
  width: 80%;
  height: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: contain;
}

/* ==========================================================================
  keyfacts
   ========================================================================== */
.c-keyfacts {
  background-color: #F4B90A;
  background-color: var(--color-highlight);
  overflow: hidden;
}

.c-keyfacts-item {
  border-top: solid 2px #285844;
  border-color: var(--border-basic);
  padding-top: 0.8em;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

.c-keyfacts-deco {
  display: block;
}

.c-keyfacts-sustainability {
  background-color: #285844;
  background-color: var(--color-primary);
}

/* ==========================================================================
  Step nav 
   ========================================================================== */
.c-step-nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
}

.c-step-nav-list li {
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.c-step-nav-step {
  display: block;
  padding-bottom: 0.15em;
  font-size: var(--font-size-h2);
  font-weight: bold;
  font-weight: var(--font-weight-bolder);
  border-bottom: solid 8px #285844;
  border-weight: var(--border-width-big);
  border-color: var(--border-basic);
  color: var(--text-color);
}

/* ==========================================================================
  Breadcrumb / Category list
   ========================================================================== */
.c-breadcrumb {
  color: #285844;
  color: var(--text-color);
  line-height: 1;
  margin-bottom: 0.45em;
}

.c-breadcrumb ul {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-breadcrumb li {
  position: relative;
  padding-right: 36px;
  margin-bottom: 0.75rem;
  margin-bottom: var(--spacing-xs);
}

.c-breadcrumb li:last-child {
  position: relative;
  padding-right: 0;
}

.c-breadcrumb li::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(100% - 18px);
  width: 1px;
  height: 100%;
  background-color: #285844;
  background-color: var(--border-basic);
  opacity: 0.3;
}

.c-breadcrumb li:last-child::before {
  background: none;
}

/* ==========================================================================
  Cookie notice
   ========================================================================== */
.c-cookie-notice {
  display: none;
  position: fixed;
  right: 0;
  bottom: 30px;
  width: 400px;
  padding: 1.5rem 30px;
  background-color: #fff;
  background-color: var(--bg-content);
  color: var(--text-color);
  line-height: 1.5;
  text-align: left;
  border: solid 8px #285844;
  border-width: var(--border-width-big);
  border-color: var(--border-basic);
  border-right: none;
}

.c-cookie-notice .c-btn {
  display: block;
  width: 100%;
}

.c-text-block .c-cookie-notice-list {
  padding-bottom: 0;
}

.c-text-block .c-cookie-notice-list li::before {
  background: transparent;
}

.c-text-block .c-cookie-notice-list li {
  display: block;
  padding: 0.5em 0 0 0;
}

@media only screen and (max-width: 767px) {
  .c-cookie-notice {
    width: 100%;
    bottom: 0;
    border: none;
    border-top: solid 8px #285844;
    border-width: var(--border-width-big);
    border-color: var(--border-basic);
  }
}
/* ==========================================================================
   Link colors and styles
   ========================================================================== */
a[href^="tel:"] {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.c-text-block a {
  background-image: linear-gradient(to bottom, #F4B90A 0%, #F4B90A 100%);
  background-image: linear-gradient(to bottom, var(--color-highlight) 0%, var(--color-highlight) 100%);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 32% 32%;
  transition: background 0.1s;
}

.c-text-block a:focus,
.c-text-block a:hover {
  background-size: 100% 100%;
}

@-moz-document url-prefix() {
  .c-text-block a {
    background-position: 0 100%;
    background-size: 40% 40%;
  }
  .c-text-block a:focus,
.c-text-block a:hover {
    background-size: 100% 100%;
  }
}
.c-text-block h2 a,
.c-text-block .c-btn,
.c-text-block .c-form-standard input[type=submit],
.c-text-block .c-link-arrow,
.c-text-block .c-link-download,
.c-text-block .c-link-extern,
.c-text-block .c-link-back {
  background-image: none;
}

/* ==========================================================================
   Button 
   ========================================================================== */
.c-btn,
.c-form-standard input[type=submit] {
  display: inline-block;
  margin: 0;
  padding: 1.05em 40px 1.15em 40px;
  border: none;
  background-color: #285844;
  background-color: var(--text-color);
  line-height: 1.2;
  text-align: center;
  font-weight: bold;
  font-weight: var(--font-weight-bolder);
  font-size: var(--font-size-body);
  transition: all 0.2s ease-out;
  text-decoration: none;
}

@-moz-document url-prefix() {
  .c-btn,
.c-form-standard input[type=submit] {
    padding-top: 1.25em;
  }
}
.c-btn,
.c-btn:visited,
.c-form-standard input[type=submit] {
  color: #fff;
  color: var(--text-color-light);
}

.c-btn:hover,
.c-btn:focus,
.c-form-standard input[type=submit]:hover,
.c-form-standard input[type=submit]:focus {
  color: #fff;
  background-color: #285844;
  color: var(--text-color-light);
  background-color: var(--text-color-link-hover);
  text-decoration: none;
}

.c-btn-small {
  padding: 0.5em 20px 0.7em 20px;
  font-size: var(--font-size-body-s);
}

@-moz-document url-prefix() {
  .c-btn-small {
    padding-top: 0.8em;
  }
}
/* ==========================================================================
  links with icons
   ========================================================================== */
.c-icon {
  position: relative;
}

.c-icon::before,
.c-icon::after {
  content: "";
  position: absolute;
  background-image: url(sprite_18ef.svg);
  background-repeat: no-repeat;
}

.c-link-arrow,
.c-link-download,
.c-link-extern,
.c-link-back,
.c-header-link-phone {
  display: inline-block;
  padding-left: 32px;
  font-weight: bold;
  font-weight: var(--font-weight-bolder);
}

.c-header-link-phone {
  font-weight: var(--font-weight-bold);
}

.c-teaser-item .c-link-arrow {
  pointer-events: none;
}

.c-teaser-item:hover .c-link-arrow,
.c-teaser-item:focus .c-link-arrow {
  color: var(--text-color-link-hover);
}

.c-link-arrow::before,
.c-link-back::before {
  top: 0.32em;
  left: 0;
  width: 25px;
  height: 15px;
  background-position: 0 0;
}

.c-link-arrow:hover::before,
.c-link-arrow:focus::before,
.c-teaser-item:hover .c-link-arrow::before,
.c-teaser-item:focus .c-link-arrow::before {
  background-position: -50px 0;
}

.c-link-back::before {
  background-position: 0 -20px;
}

.c-link-back:hover::before,
.c-link-back:focus::before {
  left: -4px;
}

.c-link-download::before {
  top: 0em;
  left: 0;
  width: 21px;
  height: 22px;
  background-position: 0 -40px;
}

.c-link-download:hover::before,
.c-link-download:focus::before {
  background-position: -50px -40px;
}

.c-link-extern::before {
  top: 0em;
  left: 0;
  width: 21px;
  height: 21px;
  background-position: 0 -80px;
}

.c-link-extern:hover::before,
.c-link-extern:focus::before {
  background-position: -50px -80px;
}

.c-header-link-phone {
  margin-top: 20px;
  padding-left: 18px;
}

.c-header-link-phone::before {
  top: -0.03em;
  left: 0;
  width: 12px;
  height: 21px;
  background-position: 0 -110px;
}

.c-special-list-item {
  position: relative;
  padding: 0.8em 0 1.3em 32px;
  padding-bottom: var(--spacing-s);
  border-top: solid 2px #285844;
  border-color: var(--border-basic);
}

.c-special-list-item::before {
  top: 1em;
  left: 0;
  width: 23px;
  height: 21px;
  background-position: 0 -160px;
}

@-moz-document url-prefix() {
  .c-link-arrow::before,
.c-link-back::before {
    top: 0.15em;
  }
  .c-link-download::before {
    top: -0.15em;
  }
  .c-link-extern::before {
    top: -0.18em;
  }
  .c-header-link-phone::before {
    top: -0.18em;
  }
  .c-special-list-item {
    padding-top: 0.8em;
  }
  .c-special-list-item::before {
    top: 0.9em;
  }
}
/* ==========================================================================
  responsive
   ========================================================================== */
@media only screen and (max-width: 767px) {
  .c-link-arrow::before,
.c-link-back::before {
    top: 0.3em;
  }
  .c-link-download::before {
    top: -0.04em;
  }
  .c-link-extern::before {
    top: -0.04em;
  }
  .c-special-list-item::before {
    top: 0.8em;
  }
  @-moz-document url-prefix() {
    .c-link-arrow::before,
.c-link-back::before {
      top: 0.12em;
    }
    .c-link-download::before {
      top: -0.18em;
    }
    .c-link-extern::before {
      top: -0.22em;
    }
    .c-special-list-item::before {
      top: 0.7em;
    }
  }
}
/* ==========================================================================
   Ratio Box
   ========================================================================== */
.c-ratiobox {
  position: relative;
  height: 0;
  display: block;
  overflow: hidden;
}

.c-ratiobox > img,
.c-ratiobox > iframe,
.c-ratiobox > object {
  position: absolute !important;
  top: 0;
  left: 0;
}

.c-ratiobox > img {
  width: 100%;
  height: auto;
}

.c-ratiobox > iframe,
.c-ratiobox > object {
  width: 100% !important;
  height: 100% !important;
  background-color: #000;
}

.c-ratiobox-16by9 {
  padding-bottom: 56.25%;
}

.c-ratiobox-4by3,
.c-ratiobox-team,
.c-ratiobox-form-order {
  padding-bottom: 75%;
}

.c-ratiobox-1by1 {
  padding-bottom: 100%;
}

.c-ratiobox-showroom {
  padding-bottom: 38.6904761905%;
}

.c-ratiobox-showroom img,
.c-ratiobox-team img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   Form
   ========================================================================== */
/* safari form fix */
input,
input[type=text],
input[type=email],
input[type=password],
input[type=url],
input[type=date],
input[type=tel] textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  -webkit-box-shadow: none;
}

/* remove chrome autofill yellow color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-transition-delay: 2000s;
}

input::-webkit-datetime-edit {
  display: block;
  padding: 0;
}

.c-form-item {
  position: relative;
  width: 100%;
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-form-multiline-vertical {
  padding-bottom: 0.75rem;
  padding-bottom: var(--spacing-xs);
}

.c-form-multiline-vertical .wpcf7-list-item + .wpcf7-list-item {
  display: block;
  padding-top: 0.75rem;
  padding-top: var(--spacing-xs);
}

.c-form-separator-big,
.c-form-separator-line {
  margin: 0;
  padding: 0;
  border: none;
  height: 0;
  padding-bottom: calc(var(--spacing-xl) - var(--spacing-s));
}

.c-form-separator-line {
  border-top: solid 2px #285844;
  border-color: var(--border-basic);
  margin-top: var(--spacing-s);
  padding-bottom: var(--spacing-s);
}

.c-form-order-quantity {
  max-width: 150px;
}

/* ==========================================================================
   Steps
   ========================================================================== */
.c-form-steps-footer {
  display: flex;
  flex-flow: row;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}

/* ==========================================================================
   formfields
   ========================================================================== */
.c-form-standard input[type=text],
.c-form-standard input[type=email],
.c-form-standard input[type=password],
.c-form-standard input[type=url],
.c-form-standard input[type=date],
.c-form-standard input[type=tel],
.c-form-standard textarea {
  width: 100%;
  border: solid 4px #A8A8A8;
  border-width: var(--border-form-width);
  border-color: var(--border-form);
  color: #285844;
  color: var(--text-color);
  padding: 0.75em 10px;
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-form-standard input[type=text],
.c-form-standard input[type=email],
.c-form-standard input[type=password],
.c-form-standard input[type=url],
.c-form-standard input[type=date],
.c-form-standard input[type=tel] {
  padding: 0.25em 10px;
  line-height: 50px;
}

.c-form-standard textarea {
  min-height: 6em;
}

.c-form-standard input[type=text]:focus,
.c-form-standard input[type=email]:focus,
.c-form-standard input[type=password],
.c-form-standard input[type=url]:focus,
.c-form-standard input[type=date]:focus,
.c-form-standard input[type=tel]:focus,
.c-form-standard textarea:focus {
  border-color: #000;
  border-color: var(--border-form-focus);
  outline: none;
}

.c-form-standard input[type=text]:disabled,
.c-form-standard input[type=email]:disabled,
.c-form-standard input[type=password],
.c-form-standard input[type=url]:disabled,
.c-form-standard input[type=date]:disabled,
.c-form-standard input[type=tel]:disabled,
.c-form-standard textarea:disabled {
  border-color: #ccc;
  color: #ccc;
  border-color: var(--form-disabled);
  color: var(--form-disabled);
}

.c-form-standard .c-form-label-text {
  display: block;
  padding-bottom: 0.35em;
}

/* ==========================================================================
   file button
   ========================================================================== */
.c-form-standard input[type=file] {
  width: 100%;
  padding: 0.75em 10px;
  background-color: #EBEBEB;
  background-color: var(--bg-light);
  font-size: var(--font-size-body-small);
}

.c-form-standard input[type=file]::file-selector-button {
  display: inline-block;
  margin-right: 0.75em;
  padding: 1.15em 24px 1.15em 24px;
  border: 4px solid #285844;
  border-width: var(--border-form-width);
  border-color: var(--text-color);
  color: #285844;
  color: var(--text-color);
  background-color: #fff;
  background-color: var(--bg-content);
  line-height: 1.2;
  font-size: var(--font-size-body);
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-align: center;
  transition: all 0.2s ease-out;
}

.c-form-standard input[type=file]::file-selector-button:hover {
  color: #fff;
  color: var(--text-color-light);
  background-color: #272117;
  background-color: var(--bg-dark);
}

/* ==========================================================================
   checkbox / radios
   ========================================================================== */
.c-form-standard .wpcf7-list-item {
  display: block;
  position: relative;
}

.c-form-standard .c-form-multiline-horizontal .wpcf7-form-control {
  display: flex;
  flex-flow: row wrap;
}

.c-form-standard .c-form-multiline-horizontal .wpcf7-list-item {
  display: block;
  flex: 0 0 25%;
  max-width: 25%;
  padding-right: 24px;
  padding-right: var(--grid-container);
  padding-bottom: var(--spacing-xs);
}

.c-form-standard input[type=checkbox],
.c-form-standard input[type=radio] {
  margin: 4px 0 0;
  margin-top: 0;
  line-height: normal;
}

.c-form-standard input[type=checkbox]:checked,
.c-form-standard input[type=checkbox]:not(:checked),
.c-form-standard input[type=radio]:checked,
.c-form-standard input[type=radio]:not(:checked) {
  position: absolute;
  left: -9999px;
}

.c-form-standard input[type=checkbox] + span,
.c-form-standard input[type=radio] + span,
.c-form-standard input[type=checkbox] + span,
.c-form-standard input[type=radio] + span {
  margin-left: 0;
  font-weight: normal;
  overflow: hidden;
}

.c-form-standard input[type=checkbox]:checked + span,
.c-form-standard input[type=checkbox]:not(:checked) + span,
.c-form-standard input[type=radio]:checked + span,
.c-form-standard input[type=radio]:not(:checked) + span {
  position: relative;
  display: inline-block;
  padding-left: 50px;
  padding-top: 0.55em;
  line-height: 1.5;
  cursor: pointer;
  user-select: none;
  min-height: 44px;
}

.c-form-standard input[type=checkbox]:checked + span::before,
.c-form-standard input[type=checkbox]:not(:checked) + span::before,
.c-form-standard input[type=radio]:checked + span::before,
.c-form-standard input[type=radio]:not(:checked) + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 38px;
  height: 38px;
  border: 4px solid #A8A8A8;
  border-width: var(--border-form-width);
  border-color: var(--border-form);
  background-color: #fff;
  background-color: var(--bg-content);
  transition: all 0.2s ease-in-out;
}

.c-form-standard input[type=radio]:checked + span::before,
.c-form-standard input[type=radio]:not(:checked) + span::before {
  border-radius: 50%;
}

.c-form-standard input[type=checkbox]:focus + span::before,
.c-form-standard input[type=radio]:focus + span::before {
  border-color: #000;
  border-color: var(--border-form-focus);
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-form-standard input[type=checkbox]:checked + span::before,
.c-form-standard input[type=radio]:checked + span::before {
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-form-standard input[type=checkbox]:checked + span::after,
.c-form-standard input[type=checkbox]:not(:checked) + span::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(0.15em + 5px);
  left: 11px;
  transition: all 0.2s ease-in-out;
  width: 16px;
  height: 22px;
  border: solid #F4B90A;
  border-color: var(--color-highlight);
  border-width: 0 4px 4px 0;
  transform: rotate(45deg);
}

.c-form-standard input[type=radio]:checked + span::after,
.c-form-standard input[type=radio]:not(:checked) + span::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(0.15em + 9px);
  left: 9px;
  transition: all 0.2s ease-in-out;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  background-color: #F4B90A;
  background-color: var(--color-highlight);
}

.c-form-standard input[type=checkbox]:not(:checked) + span::after {
  opacity: 0;
}

.c-form-standard input[type=radio]:not(:checked) + span::after {
  opacity: 0;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
}

.gform_fields input[type=checkbox]:checked + span::after,
.c-form-standard input[type=checkbox]:checked + span::after {
  opacity: 1;
}

.c-form-standard input[type=radio]:checked + span::after {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.c-form-standard input[type=checkbox]:disabled + span::before,
.c-form-standard input[type=checkbox]:disabled + span::after,
.c-form-standard input[type=radio]:disabled + span::before,
.c-form-standard input[type=radio]:disabled + span::after {
  color: #ccc;
  color: var(--form-disabled);
  border-color: #ccc;
  border-color: var(--form-disabled);
}

/* ==========================================================================
   dropdown
   ========================================================================== */
.c-form-standard select {
  display: block;
  padding: 0.25em 30px 0.25em 10px !important;
  width: 100%;
  height: auto !important;
  border: 4px solid #A8A8A8;
  border-width: var(--border-form-width);
  border-color: var(--border-form);
  border-radius: 0;
  background: url(icon-form-arrow_3cd8.svg) right center no-repeat;
  background-color: #fff;
  background-color: var(--bg-content);
  color: #285844;
  color: var(--text-color);
  font-size: 100%;
  line-height: 50px !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-form-standard select:focus {
  border-color: #000;
  border-color: var(--border-form-focus);
  outline: none;
}

.c-form-standard select option {
  padding: 0;
  outline: none;
}

.c-form-standard select::-ms-expand {
  display: none;
}

.c-form-standard select:disabled::-ms-expand {
  color: #ccc;
  color: var(--form-disabled);
}

.c-form-standard select:disabled,
.c-form-standard select[disabled] {
  color: #ccc;
  color: var(--form-disabled);
  border-color: #ccc;
  border-color: var(--form-disabled);
}

/* ==========================================================================
   wp7 error / ok message
   ========================================================================== */
.c-form-standard .wpcf7-response-output,
.c-form-standard .wpcf7 form .wpcf7-response-output {
  /*display: block;*/
  background-color: #1D1D1B;
  background-color: var(--form-initial);
  padding: 1.5em 30px;
  color: #fff;
  color: var(--text-color-light);
  margin: 0 0 3em 0;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  border: none;
}

.c-form-standard .wpcf7-not-valid-tip,
.c-form-standard .screen-reader-response,
.c-form-standard .wpcf7-response-output {
  font-size: var(--font-size-body-s);
}

/* error */
.c-form-standard .wpcf7-not-valid-tip,
.c-form-standard .screen-reader-response {
  color: #dd0000;
  color: var(--form-error);
}

.c-form-standard .wpcf7-not-valid-tip {
  display: block;
  padding-top: 0.35em;
}

.c-form-standard input.wpcf7-not-valid {
  border-color: #dd0000;
  border-color: var(--form-error);
}

.c-form-standard form.invalid .wpcf7-response-output {
  background-color: #dd0000;
  background-color: var(--form-error);
}

/* ok */
.c-form-standard form.sent .wpcf7-response-output {
  background-color: #00828C;
  background-color: var(--form-ok);
}

/* ==========================================================================
   wp7 spinner
   ========================================================================== */
form.submitting .wpcf7-spinner {
  visibility: visible;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.c-form-standard .wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  margin: -4px 24px;
  background: none;
  width: 24px;
  height: 24px;
  border: 4px solid rgba(29, 29, 27, 0.3);
  border-radius: 50%;
  border-top-color: #F4B90A;
  animation: spin 1s linear infinite;
  -webkit-animation: spin 1s linear infinite;
  opacity: 1;
}

.c-form-standard .wpcf7-spinner::before {
  background: none;
  width: 0;
  height: 0;
}

/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1960px) {
  /* container max width */
  .c-container-medium {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 1680px) {
  .c-showroom-text .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
}
@media only screen and (min-width: 1420px) {
  /* container max width */
  .c-container {
    max-width: 1392px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-asym-right-edgeless,
.c-asym-left-edgeless {
    max-width: none;
    width: calc(698px + 50%);
  }
  .c-asym-left-edgeless {
    margin-left: 0;
  }
  .c-asym-right-edgeless {
    margin-right: 0;
  }
  .c-teaser-cta .c-col-12,
.c-form .c-col-12 {
    max-width: 1392px;
    margin-left: auto;
    margin-right: 0;
  }
  .c-news .c-asym-col-grid {
    flex: 0 0 calc(580px - var(--grid-col));
    max-width: calc(580px - var(--grid-col)); /* 5col content width - 1/2 padding */
  }
  .c-news .c-asym-col-edgeless {
    flex: 0 0 calc(100% - 580px + var(--grid-col));
    max-width: calc(100% - 580px + var(--grid-col)); /* width - 5col content width + 1/2 padding */
  }
  .c-news-text .c-asym-col-grid {
    flex: 0 0 calc(928px - var(--grid-col));
    max-width: calc(928px - var(--grid-col)); /* 8col content width - 1/2 padding */
  }
  .c-text-img .c-asym-col-grid {
    flex: 0 0 calc(580px - var(--grid-col));
    max-width: calc(580px - var(--grid-col)); /* 5col content width - 1/2 padding */
  }
  .c-text-img .c-asym-col-edgeless {
    flex: 0 0 calc(100% - 580px + var(--grid-col));
    max-width: calc(100% - 580px + var(--grid-col)); /* width - 5col content width + 1/2 padding */
  }
  .c-contact .c-col-12 {
    flex: 0 0 1392px;
    max-width: 1392px;
  }
}
@media only screen and (max-width: 1200px) {
  .c-footer-main .c-col-5,
.c-footer-main .c-col-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-header-logo,
.c-footer-logo {
    width: 200px;
    height: 30px;
  }
}
@media only screen and (max-width: 1100px) {
  .c-form-standard .c-form-multiline-horizontal .wpcf7-list-item {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
}
@media only screen and (min-width: 981px) {
  .c-teaser-cta .c-box-border-inner,
.c-form-text {
    padding-right: 33%;
  }
}
/* header show offcanvas */
@media only screen and (max-width: 980px) {
  .c-showroom-text .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-quote .c-col-8,
.c-news-text .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .c-text-img .c-col-5,
.c-text-img .c-col-7,
.c-text-2col .c-col-5,
.c-text-2col .c-col-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-teaser-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-keyfacts-4col .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
/* header show offcanvas */
@media only screen and (max-width: 900px) {
  .c-offcanvas-trigger-open {
    display: block;
  }
  /*.c-header-inner {
      height: 70px;
  }*/
  .c-header-logo {
    width: 150px;
    height: 22px;
  }
  .c-main-nav,
.c-header-lang-list {
    display: none;
  }
  .c-offcanvas-lang {
    display: block;
  }
  .c-header-meta {
    align-self: center;
  }
  .c-header-link-phone {
    margin-top: 0;
    margin-right: 48px;
    width: 44px;
    height: 44px;
    padding: 0;
    overflow: hidden;
    text-indent: -999em;
    text-align: left;
  }
  .c-header-link-phone::before {
    top: 50%;
    left: 8px;
    margin-top: -11px;
    width: 16px;
    height: 25px;
    background-position: -50px -110px;
  }
  .c-header-link-phone::after {
    top: 50%;
    margin-top: -14px;
    right: 0;
    height: 28px;
    width: 2px;
    background-image: none;
    background-color: #285844;
    background-color: var(--border-basic);
  }
}
@media only screen and (max-width: 850px) {
  .c-news .c-col-5,
.c-news .c-col-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-news-img-container {
    min-height: 0;
    height: 50vh;
    overflow: hidden;
  }
  .c-text-block .c-special-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-team .c-col-4,
.c-sponsoring .c-col-4,
.c-form-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-teaser-2col .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-form .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-form .c-row-multiline .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-form .c-col-6:nth-child(2) h2 {
    padding-top: calc(var(--spacing-xl) - var(--spacing-s));
  }
}
@media only screen and (min-width: 768px) and (max-width: 980px) {
  .c-teaser-cta .c-box-border-inner {
    padding-right: 20%;
  }
}
@media only screen and (max-width: 767px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-quote .c-col-8,
.c-news-text .c-col-5,
.c-text-img .c-col-5,
.c-text-img .c-col-7,
.c-img-2col .c-col-6,
.c-text-2col .c-col-5,
.c-text-2col .c-col-7,
.c-keyfacts-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-showroom,
.c-showroom-text .c-row {
    min-height: 0;
  }
  .c-showroom-img {
    position: relative;
    height: 100vw;
  }
  .c-showroom-text-inner {
    padding-top: 0;
  }
  .c-showroom-text .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-showroom-text .c-main-title-box,
.c-main-title .c-main-title-box {
    margin-left: calc(var(--grid-container) * -1);
  }
  .c-news-img-container {
    height: 62.5vw;
  }
  .c-text-img .c-col-7 {
    padding-bottom: 1.5em;
    padding-bottom: var(--spacing-s);
  }
  .c-img-2col .c-col-6:first-child {
    padding-bottom: var(--spacing-xl);
  }
  .c-keyfacts-deco {
    min-width: 800px;
  }
  .c-form-standard .c-form-multiline-horizontal .wpcf7-list-item {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 700px) {
  .c-footer-main .c-col-4,
.c-footer-disclaimer .c-col-4,
.c-footer-disclaimer .c-col-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer-disclaimer .c-col-8 {
    text-align: left;
    padding-bottom: 1.5rem;
    padding-bottom: var(--spacing-s);
  }
  .c-footer-disclaimer-list li + li {
    padding-left: 0;
  }
  .c-footer-disclaimer-list li {
    padding-right: 2em;
  }
  .c-teaser-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-teaser-img {
    max-width: 100px;
  }
  .c-contact .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-contact .c-col-6:first-child {
    padding-bottom: var(--spacing-m);
  }
}
@media only screen and (max-width: 600px) {
  .c-text-block .c-special-list li,
.c-keyfacts-4col .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width: 540px) {
  .c-team .c-col-4,
.c-sponsoring .c-col-4,
.c-form-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-form-standard .c-form-multiline-horizontal .wpcf7-list-item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width: 350px) {
  .c-teaser-img {
    max-width: 80px;
  }
}
/* ==========================================================================
   Print CSS
   ========================================================================== */
@media print {
  /* base styles */
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
a:visited {
    text-decoration: underline;
  }
  .c-ir a:after,
a[href^="javascript:"]:after,
a[href]:after {
    content: none !important;
  }
  pre,
blockquote {
    border: none;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
h3 {
    break-after: avoid;
    page-break-after: avoid;
  }
  /* font-sizes */
  html,
body {
    width: 100%;
    height: auto;
    /*overflow: auto;*/
  }
  body {
    font-size: 12px;
  }
  h1, .c-h1 {
    font-size: 24px;
  }
  .c-lead,
.c-text-block .c-lead,
h2, .c-h2,
h3, .c-h3,
.c-text-block blockquote p {
    font-size: 16px;
  }
  /* project styles */
  .c-container {
    padding-bottom: 2em;
  }
  .c-footer {
    display: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNHO0FOK3pCSjs7QU01ekJBOztFQUVJLG1CTE5TO0VLT1Q7QU4rekJKOztBTTV6QkE7RUFDQztBTit6QkQ7O0FNNXpCQTtFQUNDLHVCTFhZO0VLWVQ7QU4rekJKOztBTTV6QkE7O0VBRUMsaUJMckJZO0VLc0JUO0FOK3pCSjs7QU01ekJBO0VBQ0k7QU4rekJKOztBTTV6QkE7RUFDSTtBTit6Qko7O0FNNXpCQTs7RUFFSTtBTit6Qko7O0FNNXpCQTtFQUNJLHNCTHBDUTtFS3FDUjtBTit6Qko7O0FNNXpCQTs7K0VBQUE7QUFJQTs7RUFFSSxrQkwxQ2E7RUsyQ2IsbUJMM0NhO0VLNENiO0VBQ0E7QU44ekJKOztBTTN6QkE7RUFDSSxtQkxoRE87RUtpRFAsa0JMakRPO0VLa0RQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNJO0VBQ0k7QU44ekJaOztBTTN6QkE7RUFDSTtBTjh6Qko7O0FNM3pCQTtFQUNJO0FOOHpCSjs7QU0zekJBO0VBQ0k7QU44ekJKOztBTTN6QkE7RUFDSTtBTjh6Qko7O0FNM3pCQTtFQUNJO0FOOHpCSjs7QU0zekJBO0VBQ0k7QU44ekJKOztBTTN6QkE7RUFDSTtBTjh6Qko7O0FNM3pCQTtFQUNJO0FOOHpCSjs7QU0zekJBO0VBQ0k7QU44ekJKOztBTTN6QkE7Ozs7Ozs7Ozs7OztFQVlJO0VBQ0E7RUFDQSxtQkxoSE87RUtpSFAsa0JMakhPO0VLa0hQO0VBQ0E7QU44ekJKOztBTTN6QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOOHpCSjs7QU0zekJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjh6Qko7O0FNM3pCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU44ekJKOztBTTN6QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOOHpCSjs7QU0zekJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjh6Qko7O0FNM3pCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU44ekJKOztBTTN6QkE7RUFDSTtFQUNBO0VBQ0E7RUFD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Q0E7RUFDRyx5QlBJYztFT0hkO0FScWpESjs7QVFqakRBO0VBQ0k7RUFDSDtFQUNBO0VBQ0E7RUFDRztBUm9qREo7O0FRampEQTtFQUNDO0FSb2pERDs7QVFqakRBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVJtakRKOztBUS9pREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBUmtqREo7O0FRL2lEQTtFQUNJO0VBQ0E7RUFDQTtBUmtqREo7O0FRL2lEQTtFQUNDO0FSa2pERDs7QVEvaURBO0VBQ0M7QVJrakREOztBUS9pREE7RUFDSTtFQUNIO0VBQ0E7RUFDRztFQUNIO0FSa2pERDs7QVEvaURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJQekRjO0VPMERYO0VBQ0g7QVJrakREOztBUS9pREE7O0VBRUM7QVJrakREOztBUS9pREE7RUFDQztBUmtqREQ7O0FROWlEQTs7K0VBQUE7QUFJQTtFQUNDO0VBQ0c7RUFDQTtBUmdqREo7O0FRN2lEQTtFQUNDO0VBQ0E7RUFDQTtBUmdqREQ7O0FRN2lEQTtFQUNDO0FSZ2pERDs7QVE3aURBO0VBQ0M7QVJnakREOztBUTVpREE7RUFDQztFQUNBO0VBQ0E7QVIraUREOztBUTVpREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlA5R2M7RU8rR1g7RUFDSDtBUitpREQ7O0FRNWlEQTs7RUFFQztBUitpREQ7O0FRNWlEQTs7RUFFQztBUitpREQ7O0FTcnNEQTs7K0VBQUE7QUFJQTtFQUNDLG1CUjJCVztFUTFCUixzQlIyQlE7RVExQlI7RUFDQTtFQUNBLHlCUmFNO0VRWk47QVR1c0RKOztBU3BzREE7OztFQUdDO0VBQ0E7RUFDQTtBVHVzREQ7O0FTcHNEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHVzREo7O0FTcHNEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSDtFQUNHO0VBQ0E7RUFDQTtBVHVzREo7O0FTcHNEQTs7K0VBQUE7QUFJQTtFQUNDO0VBQ0E7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SUFFQztJQUNBO0lBQ0E7RWhCOGxIQTtFZ0IzbEhFO0lBQ0k7RWhCNmxITjtFZ0IxbEhEO0lBQ0M7RWhCNGxIQTtFZ0J6bEhEOzs7OztJQUtDO0VoQjJsSEE7RWdCeGxIRDtFQUNBO0lBQ0M7RWhCMGxIQTtFZ0J2bEhEO0lBQ0M7RWhCeWxIQTtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvbWFpbi5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX21peGlucy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fYmFzZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2J1dHRvbi1saW5rcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yYXRpb2JveC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypAaW1wb3J0IFwiLi4vZm9udHMvaW5saW5lRm9udHMuc2Nzc1wiOyovXG5AaW1wb3J0IFwiY29tbW9uL192YXJpYWJsZXNcIjtcbi8qQGltcG9ydCBcImNvbW1vbi9fZm9udHNcIjsqL1xuQGltcG9ydCBcImNvbW1vbi9fbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiY29tbW9uL19taXhpbnNcIjtcbkBpbXBvcnQgXCJjb21tb24vX2hlbHBlcnNcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jhc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3RlclwiO1xuXG4vKiBvcHRpb25hbCBzdHlsZXMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19vZmZjYW52YXNcIjtcbi8qQGltcG9ydCBcImNvbXBvbmVudHMvX3RhYmxlc1wiOyovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmF0aW9ib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb3JtXCI7XG5cblxuLyogc3R5bGVzIGZvciBldmVyeSBwcm9qZWN0ICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmVzcG9uc2l2ZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3ByaW50XCI7IiwiLyogVmFyaWFibGVzLCBOYW1pbmcgbWF5IHZhcnkgZnJvbSBwcm9qZWN0IHRvIHByb2plY3QgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnRzIChzZWUgJ19mb250cy5zY3NzJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBsaWNlbnNlKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQGltcG9ydCBtdXN0IGJlIGF0IHRvcCBvZiBmaWxlLCBvdGhlcndpc2UgQ1NTIHdpbGwgbm90IHdvcmsgKi9cbi8qIEBpbXBvcnQgdXJsKCcvL2hlbGxvLm15Zm9udHMubmV0L2NvdW50LzQyNjU2MycpOyAqL1xuXG4kZm9udC1zdGFjay1kZWZhdWx0OiAnRmllbGR3b3JrJywgJ0FyaWFsJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGYWxsYmFja3Mgc2FzcyBWYXJpYWJsZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHRleHQgKi9cbiR0ZXh0LWNvbG9yOiAjMjg1ODQ0OyAvKiBncmVlbiAqL1xuJHRleHQtY29sb3ItbGlnaHQ6ICNmZmY7XG4kdGV4dC1jb2xvci1saW5rOiAjMjg1ODQ0OyAvKiBncmVlbiAqL1xuXG4vKiBiYWNrZ3JvdW5kICovXG4kYmctY29udGVudDogI2ZmZjtcbiRiZy1kYXJrOiAjMjcyMTE3OyAvKiBibGFjayAqL1xuJGJnLWxpZ2h0OiAjRUJFQkVCOyAvKiBsaWdodCBncmV5ICovXG4kY29sb3ItaGlnaGxpZ2h0OiAjRjRCOTBBOyAvKiB5ZWxsb3cgKi9cbiRjb2xvci1wcmltYXJ5OiAjMjg1ODQ0O1xuXG4vKiBsaW5lLWNvbG9ycyAqL1xuJGJvcmRlci1iYXNpYzogIzI4NTg0NDsgLyogZ3JlZW4gKi9cblxuLyogc3BhY2luZyAqL1xuJHNwYWNpbmcteGw6IDdyZW07XG4kc3BhY2luZy1sOiA0LjhyZW07XG4kc3BhY2luZy1tOiAyLjhyZW07XG4kc3BhY2luZy1zOiAxLjVyZW07XG4kc3BhY2luZy14czogMC43NXJlbTtcblxuLyogZ3JpZCAqL1xuJGdyaWQtY29udGFpbmVyOiAyMHB4O1xuJGdyaWQtcm93OiAtMTBweDtcbiRncmlkLWNvbDogMTBweDtcblxuXG4vKiBmb3JtICovXG4kYm9yZGVyLWZvcm06ICNBOEE4QTg7XG4kYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDA7XG4kZm9ybS1kaXNhYmxlZDogI2NjYztcbiRmb3JtLWVycm9yOiAjZGQwMDAwO1xuJGZvcm0tb2s6ICMwMDgyOEM7XG4kZm9ybS1pbml0aWFsOiAjMUQxRDFCO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDdXN0b20gUHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG46cm9vdCB7XG4gICAgLyogZm9udHMgKi9cbiAgICAtLWZvbnQtc3RhY2stZGVmYXVsdDogJ2ZpZWxkd29yaycsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4gICAgLS1mb250LXdlaWdodC1ib2xkOiA3MDA7XG4gICAgLS1mb250LXdlaWdodC1ib2xkZXI6IDgwMDtcbiAgICBcbiAgICAvKiB0ZXh0ICAqL1xuICAgIC0tdGV4dC1jb2xvcjogIzI4NTg0NDsgLyogZ3JlZW4gKi9cbiAgICAtLXRleHQtY29sb3ItbGlnaHQ6ICNmZmY7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6ICMyODU4NDQ7XG4gICAgLS10ZXh0LWNvbG9yLWxpbmstaG92ZXI6ICMwMDA7XG4gICAgXG4gICAgLyogZm9udC1zaXplcyAqL1xuICAgIC0tZm9udC1zaXplLXJvb3Q6IDIwcHg7XG4gICAgLS1mb250LXNpemUtaDE6IDIuNnJlbTsgLyogNTJweCAqL1xuICAgIC0tZm9udC1zaXplLWgyOiAxLjhyZW07IC8qIDM2cHggKi9cbiAgICAtLWZvbnQtc2l6ZS1oMzogMS4zcmVtO1xuICAgIC0tZm9udC1zaXplLWxlYWQ6IDFyZW07XG4gICAgLS1mb250LXNpemUtcXVvdGU6IDEuM3JlbTtcbiAgICAtLWZvbnQtc2l6ZS1ib2R5OiAxcmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHktczogMC44cmVtO1xuICAgIC0tZm9udC1zaXplLW5hdm1haW46IDEuMnJlbTtcbiAgICAtLWZvbnQtc2l6ZS1ib2R5LWw6IDEuM3JlbTtcbiAgICAtLWZvbnQtc2l6ZS1rZXlmYWN0OiAyLjZyZW07IC8qIDUycHggKi9cbiAgICBcbiAgICAvKiBjb2xvcnMgLyBiYWNrZ3JvdW5kICovXG4gICAgLS1iZy1jb250ZW50OiAjZmZmO1xuICAgIC0tYmctZGFyazogIzAwMDsgLyogYmxhY2sgKi9cbiAgICAtLWJnLWxpZ2h0OiAjRUJFQkVCOyAvKiBsaWdodCBncmV5ICovXG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICNGNEI5MEE7IC8qIHllbGxvdyAqL1xuICAgIC0tY29sb3ItcHJpbWFyeTogIzI4NTg0NDsgLyogZ3JlZW4gKi9cbiAgICAtLWJnLWZvb3RlcjogIzI3MjExNzsgLyogYmxhY2sgKi9cbiAgICBcbiAgICAvKiBsaW5lcyAqL1xuICAgIC0tYm9yZGVyLWJhc2ljOiAjMjg1ODQ0OyAvKiBncmVlbiAqL1xuICAgIC0tYm9yZGVyLXdpZHRoLWJpZzogOHB4O1xuICAgIFxuICAgIC8qIHNwYWNpbmcgYmV0d2VlbiBjb21wb25lbnRzIGJhc2VkIG9uIHJlbSAqL1xuICAgIC0tc3BhY2luZy14bDogN3JlbTtcbiAgICAtLXNwYWNpbmctbDogNC44cmVtO1xuICAgIC0tc3BhY2luZy1tOiAyLjhyZW07IFxuICAgIC0tc3BhY2luZy1zOiAxLjVyZW07XG4gICAgLS1zcGFjaW5nLXhzOiAwLjc1cmVtOyAgIFxuICAgIFxuICAgIC0tcGFkZGluZy1ib3g6IDEuNWVtIDI0cHg7XG4gICAgLS1tYXJnaW4taGVhZGVyOiA4cHg7XG4gICAgLS1oZWFkZXItaGVpZ2h0OiA5NnB4O1xuICAgICBcbiAgICAvKiBncmlkICovXG4gICAgLS1ncmlkLWNvbnRhaW5lcjogMjRweDtcbiAgICAtLWdyaWQtcm93OiAtMTJweDtcbiAgICAtLWdyaWQtY29sOiAxMnB4O1xuICAgIFxuICAgIC8qIGZvcm0gKi9cbiAgICAtLWJvcmRlci1mb3JtOiAjMjg1ODQ0OyBcbiAgICAtLWJvcmRlci1mb3JtLWZvY3VzOiAjMDAwO1xuICAgIC0tYm9yZGVyLWZvcm0td2lkdGg6IDRweDtcbiAgICAtLWZvcm0tZGlzYWJsZWQ6ICNjY2M7XG4gICAgLS1mb3JtLWVycm9yOiAjZGQwMDAwO1xuICAgIC0tZm9ybS1vazogIzAwODI4QztcbiAgICAtLWZvcm0taW5pdGlhbDogIzFEMUQxQjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEV4ZXB0aW9ucyBmb3IgZGlmZmVyZW50IGJhY2tncm91bmRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWxpZ2h0IHtcbiAgICAtLXRleHQtY29sb3I6ICNmZmY7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6ICNmZmY7XG4gICAgLS10ZXh0LWNvbG9yLWxpbmstaG92ZXI6ICNmZmY7XG4gICAgLS1ib3JkZXItYmFzaWM6ICNmZmY7XG59XG5cbi5jLWJveCAuYy10ZXh0LWJsb2NrIHtcbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogI2ZmZjtcbn1cblxuLmMtYm94LWxpZ2h0IC5jLXRleHQtYmxvY2sge1xuICAgIC0tY29sb3ItaGlnaGxpZ2h0OiAjRjRCOTBBO1xufVxuXG4uYy1mb290ZXIge1xuICAgIC0tdGV4dC1jb2xvci1saW5rOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1mb3JtLW9yZGVyLWxpc3Qge1xuICAgIC0tYm9yZGVyLWJhc2ljOiAjY2NkNGQwO1xufVxuXG4uYy1zdGVwLW5hdi1hY3RpdmUge1xuICAgIC0tdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICAtLWJvcmRlci1iYXNpYzogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtc3RlcC1uYXYtZGlzYWJsZWQge1xuICAgIC0tdGV4dC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xuICAgIC0tYm9yZGVyLWJhc2ljOiB2YXIoLS1iZy1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNwb25zaXZlIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWdyaWQtY29udGFpbmVyOiA0OHB4O1xuICAgICAgICAtLWdyaWQtcm93OiAtMjRweDtcbiAgICAgICAgLS1ncmlkLWNvbDogMjRweDtcbiAgICAgICAgXG4gICAgICAgIC0tcGFkZGluZy1ib3g6IDIuNGVtIDQ4cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWdyaWQtY29udGFpbmVyOiA1NnB4O1xuICAgICAgICAtLWdyaWQtcm93OiAtMjhweDtcbiAgICAgICAgLS1ncmlkLWNvbDogMjhweDtcbiAgICAgICAgXG4gICAgICAgIC0tcGFkZGluZy1ib3g6IDIuNmVtIDU2cHg7ICAgICAgICBcbiAgICAgICAgLS1tYXJnaW4taGVhZGVyOiAxNnB4O1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tc3BhY2luZy14bDogMy41cmVtO1xuICAgICAgICAtLXNwYWNpbmctbDogMi44cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7ICBcbiAgICA6cm9vdCB7XG4gICAgICAgIC0taGVhZGVyLWhlaWdodDogNzBweDtcbiAgICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLypcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRTYvNyB3aGVuIGJvZHkgZm9udC1zaXplIGlzIHNldCB1c2luZyBlbSB1bml0c1xuICogICAgaHR0cDovL2NsYWdudXQuY29tL2Jsb2cvMzQ4LyNjNzkwXG4gKiAyLiBLZWVwcyBwYWdlIGNlbnRyZWQgaW4gYWxsIGJyb3dzZXJzIHJlZ2FyZGxlc3Mgb2YgY29udGVudCBoZWlnaHRcbiAqIDMuIFByZXZlbnRzIGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tXG4gKiAgICB3d3cuNDU2YmVyZWFzdHJlZXQuY29tL2FyY2hpdmUvMjAxMDEyL2NvbnRyb2xsaW5nX3RleHRfc2l6ZV9pbl9zYWZhcmlfZm9yX2lvc193aXRob3V0X2Rpc2FibGluZ191c2VyX3pvb20vXG4gKiA0LiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cblx0bGluZS1oZWlnaHQ6IDEuMTU7IC8qIDQgKi9cbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xufVxuXG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuXG5cbiAqL1xuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IC8qIGN1YmVncmFmaWsgKi9cbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gKi9cblxuYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKlxuKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qXG4gKiBJbXByb3ZlcyByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBTZXQgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbiAqL1xuXG5xIHtcbiAgICBxdW90ZXM6IFwiXFwyMDFDXCIgXCJcXDIwMURcIiBcIlxcMjAxOFwiIFwiXFwyMDE5XCI7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlcyBib3JkZXIgd2hlbiBpbnNpZGUgJ2EnIGVsZW1lbnQgaW4gSUU2LzcvOC85LCBGRjNcbiAqIDIuIEltcHJvdmVzIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUU3XG4gKiAgICBjb2RlLmZsaWNrci5jb20vYmxvZy8yMDA4LzExLzEyL29uLXVpLXF1YWxpdHktdGhlLWxpdHRsZS10aGluZ3MtY2xpZW50LXNpZGUtaW1hZ2UtcmVzaXppbmcvXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXG59XG5cbi8qXG4gKiBDb3JyZWN0cyBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUU5XG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvcnJlY3RzIG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUU2LzdcbiAqL1xuXG5mb3JtIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmdcbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOjA7IC8qIGN1YmVncmFmaWsgKi9cbiAgICBtYXJnaW46MDsgLyogY3ViZWdyYWZpayAqL1xuICAgIHBhZGRpbmc6MDsgLyogY3ViZWdyYWZpayAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgYm9yZGVyOiAwO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cblxuICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiA0ICovXG59XG5cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcblxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLypcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlcyB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZXMgaW5uZXIgc3BhY2luZyBpbiBJRTcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRTYuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7IC8qIDQgKi9cbn1cblxuLypcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHNcbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG5cbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vKipcblxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzXG4gKi9cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRWxlbWVudHMgY3ViZWdyYWZpa1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYTphY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cblxuZGl2LCBwIHtcbiAgICBwYWRkaW5nOjA7XG4gICAgbWFyZ2luOjA7XG59XG5cbmhyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50aCwgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xufVxuXG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgICAvKiBSZW1vdmVkIGJlY2F1c2Ugb2YgdmlzaWJpbGl0eWNoYW5nZS1hZGRpdGlvbiB0byBmYW5jeS1mb3JtcyBwbHVnaW4uXG4gICAgICogMjAxNS8wMS8yMiAtIEZsb3JpYW4gTcOkZGVyXG4gICAgICogLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyovXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xufVxuXG5odG1sIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFNhZmFyaSAzLjAgLSA1LjAsIENocm9tZSAxIC0gOSwgQW5kcm9pZCAyLjEgLSAzLnggKi9cbiAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEZpcmVmb3ggMSAtIDI4ICovXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmkgNS4xKywgQ2hyb21lIDEwKywgRmlyZWZveCAyOSssIE9wZXJhIDcrLCBJRSA4KywgQW5kcm9pZCA0LjArLCBpT1MgYW55ICovXG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgICAgIC1tb3otYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogSUUgMTAgICovXG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBJRSAxMSsgKi9cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybSBQbGFjZWhvbGRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICAgIHtAY29udGVudH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAge0Bjb250ZW50fVxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICB7QGNvbnRlbnR9ICBcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnRzIHNtb290aGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIGZvbnQtc21vb3RoaW5nKCR2YWx1ZTogb24pIHtcbiAgICBAaWYgJHZhbHVlID09IG9uIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBIaWRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhpZGUtdmlzdWFsbHkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uYy1oaWRlLWNvbXBsZXRlbHkge1xuXHRkaXNwbGF5OiBub25lO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIGltYWdlIHJlcGxhY2VtZW50ICovXG4uYy1pciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3JkZXI6IDA7XG5cdHRleHQtaW5kZW50OiAtOTk5ZW07XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRkaXJlY3Rpb246IGx0cjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RpY2t5IEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uYy1oZWFkZXIsXG4uYy1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYy1jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UgUHJvamVjdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYm9keSB7XG5cdEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKG9uKTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1kZWZhdWx0O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLWRlZmF1bHQpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogbGlua3MgKi9cbmEsXG5hOnZpc2l0ZWQsXG5hOmZvY3VzLFxuYTpob3ZlciB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saW5rO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpbmspO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6Zm9jdXMsXG5hOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLXRleHQtY29sb3ItbGluay1ob3Zlcik7XG59XG5cbnA6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLWRlZmF1bHQpO1xufVxuXG50ZXh0YXJlYSB7XG5cdHJlc2l6ZTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgaW1nIC8gbWVkaWEgZGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmVtYmVkLFxub2JqZWN0LFxudmlkZW8sXG5pZnJhbWUsXG5pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmMtaW1nLW1heC13aWR0aCxcbi5jLWNvbnRlbnQgLmMtaW1nLW1heC13aWR0aCB7XG5cdHdpZHRoOiBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7IFxuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyBcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBNYWluIENvbnRhaW5lciBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyLFxuLmMtY29udGVudCxcbi5jLWZvb3Rlcixcbi5jLWNvbnRhaW5lcixcbi5jLWNvbnRhaW5lci1tZWRpdW0sXG4uYy1jb250YWluZXItd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBQYWRkaW5nIGJldHdlZW4gQ29tcG9uZW50cyBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvbnRhaW5lcixcbi5jLWNvbnRhaW5lci1tZWRpdW0sXG4uYy10ZWFzZXItaXRlbSxcbi5jLXRlYW0taXRlbSxcbi5jLXNwb25zb3JpbmctaXRlbSxcbi5jLWZvcm0tb3JkZXItaXRlbSxcbi5jLWtleWZhY3RzLWl0ZW0ge1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmcteGw7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmcteGwpO1xufVxuXG4uYy1tYWluLXRpdGxlIHtcblx0bWFyZ2luLXRvcDogJHNwYWNpbmcteGw7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLXhsKSArIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcbn1cblxuLmMtc2hvd3Jvb20sXG4uYy1rZXlmYWN0cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcteGw7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy14bCk7XG59XG5cbi5jLWNvbnRhaW5lci1uby1wYWRkaW5nIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXNlY3Rpb24tdGl0bGUge1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmcteHM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmcteHMpO1xufVxuXG4uYy1zaG93cm9vbS10ZXh0LWlubmVyLFxuLmMta2V5ZmFjdHMge1xuXHRwYWRkaW5nLXRvcDogJHNwYWNpbmcteGw7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmcteGwpO1xufVxuXG4uYy10ZWFzZXItY3RhICsgLmMtdGVhc2VyLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLXhsKSAqIC0xKTtcbn1cblxuLmMtdGVhc2VyLWN0YSArIC5jLXRlYXNlci1jdGEgLmMtYm94LWJvcmRlciB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmMtdGV4dC1vbmx5ICsgLmMtdGV4dC1vbmx5LFxuLmMtc2hvd3Jvb20gKyAuYy1rZXlmYWN0cyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLXhsKSAqIC0xKTtcbn1cblxuLmMtc3RlcC1uYXYge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgR3JpZCBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLW1lZGl1bSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1yaWdodDogJGdyaWQtY29udGFpbmVyO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbn1cblxuLmMtcm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tbGVmdDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uYy1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uYy1yb3ctanVzdGlmeS1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYy1yb3ctanVzdGlmeS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uYy1yb3ctanVzdGlmeS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jLXJvdy1hbGlnbi10b3Age1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYy1yb3ctYWxpZ24tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1yb3ctYWxpZ24tYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5jLWNvbC0xLFxuLmMtY29sLTIsXG4uYy1jb2wtMyxcbi5jLWNvbC00LFxuLmMtY29sLTUsXG4uYy1jb2wtNixcbi5jLWNvbC03LFxuLmMtY29sLTgsXG4uYy1jb2wtOSxcbi5jLWNvbC0xMCxcbi5jLWNvbC0xMSxcbi5jLWNvbC0xMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xufVxuXG4uYy1jb2wtMTIge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAgICBcbn1cblxuLmMtY29sLTExIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclO1xufVxuXG4uYy1jb2wtMTAge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7XG59XG5cbi5jLWNvbC05IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDc1JTtcbiAgICAtbXMtZmxleDogMCAwIDc1JTtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xufVxuXG4uYy1jb2wtOCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbn1cblxuLmMtY29sLTcge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG59XG5cbi5jLWNvbC02IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xufVxuXG4uYy1jb2wtNSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbn1cblxuLmMtY29sLTQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5jLWNvbC0zIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTtcbiAgICAtbXMtZmxleDogMCAwIDI1JTtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xufVxuXG4uYy1jb2wtMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTtcbn1cblxuLmMtY29sLTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLyogb2Zmc2V0IGNvbHMgKi9cbi5jLWNvbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLmMtY29sLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NyU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcmlkIFZhcmlhbnRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcyxcbi5jLWFzeW0tbGVmdC1lZGdlbGVzcyB7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xufVxuXG4uYy10ZWFzZXItY3RhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MgLmMtYm94IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAtMSk7XG59XG5cbi5jLWFzeW0tbGVmdC1lZGdlbGVzcyAuYy1ib3gge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAtMSk7XG59XG5cbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MtaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAtMSk7XG59XG5cbi5jLWFzeW0tbGVmdC1lZGdlbGVzcy1pbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAtMSk7XG59XG5cbi5jLW5ld3MtdGV4dCAuYy1jb2wtNSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbn1cblxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzLWltZyAuYy1sZWdlbmQge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXJvb3QpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGl0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGRlcik7XG4gICAgdGV4dC13cmFwOmJhbGFuY2U7XG59XG5cbmgxLFxuLmMtaDEge1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRmb250LXNpemU6IDIuNnJlbTsgXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDEpO1xufVxuXG5oMSArIC5jLWxlYWQge1xuICAgIHBhZGRpbmctdG9wOiAwLjhlbTtcbn1cblxuaDIsXG4uYy1oMiB7XG5cdHBhZGRpbmctYm90dG9tOiAuNWVtO1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRmb250LXNpemU6IDEuOHJlbTsgXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDIpO1xufVxuXG5oMyxcbi5jLWgzIHtcblx0cGFkZGluZy1ib3R0b206IDAuNWVtO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMyk7XG59XG5cbmg0LFxuLmMtaDQge1xuXHRwYWRkaW5nLWJvdHRvbTogMC41ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2ljIFRleHQgQ29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYiwgc3Ryb25nLFxuLmMtdGVhc2VyLWN0YSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy10ZWFzZXItY3RhIC5jLXRleHQtYmlnLFxuLmMtY29udGFjdCAuYy10ZXh0LWJpZyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmMtY29udGVudCB7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5jLWZvb3RlciB7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jLXRleHQtYmxvY2sgcCB7XG5cdHBhZGRpbmctYm90dG9tOiAxLjJlbTtcbn1cblxuXG4uYy10ZXh0LWJsb2NrIHAgKyBoMixcbi5jLXRleHQtYmxvY2sgcCArIGgzLFxuLmMtdGV4dC1ibG9jayBwICsgaDQsXG4uYy10ZXh0LWJsb2NrIHAgKyB1bCxcbi5jLXRleHQtYmxvY2sgdWwgKyBwLFxuLmMtdGV4dC1ibG9jayB1bCArIGgyLFxuLmMtdGV4dC1ibG9jayB1bCArIGgzLFxuLmMtdGV4dC1ibG9jayB1bCArIGg0LFxuLmMtdGV4dC1ibG9jayB1bCArIG9sLFxuLmMtdGV4dC1ibG9jayBvbCArIHAsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDIsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDMsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDQsXG4uYy10ZXh0LW9ubHkgKyAuYy10ZXh0LW9ubHkgLmMtdGV4dC1ibG9jayBoMixcbi5jLXRleHQtb25seSArIC5jLXRleHQtb25seSAuYy10ZXh0LWJsb2NrIGgzLFxuLmMtdGV4dC1vbmx5ICsgLmMtdGV4dC1vbmx5IC5jLXRleHQtYmxvY2sgaDQsXG4uYy10ZXh0LW9ubHkgKyAuYy10ZXh0LW9ubHkgLmMtdGV4dC1ibG9jayB1bCB7XG5cdHBhZGRpbmctdG9wOiAxLjJlbTtcbn1cblxuLmMtdGVhbS1pdGVtIHAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjZlbTtcbn1cblxuXG4uYy1sZWFkIHtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuXHRmb250LXNpemU6IDFyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGVhZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy10ZXh0LXNtYWxsLFxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUsXG4uYy1mb290ZXIsXG4uYy1icmVhZGNydW1iIHtcblx0Zm9udC1zaXplOiAwLjhyZW07IC8qIDE2cHggKi9cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG4uYy1sZWdlbmQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDFlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG4uYy10ZXh0LWJpZyB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1sKTtcbn1cblxuLmMtbmV3cy1jYXRlZ29yeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGRlcik7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xufVxuXG4uYy1uZXdzLWRhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVlbTtcbn1cblxuLmMta2V5ZmFjdHMtbnIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMi42cmVtOyBcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1rZXlmYWN0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZGVyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4zNWVtO1xufVxuXG4uYy1rZXlmYWN0cy1uciBzcGFuIHtcbiAgICBmb250LXNpemU6IDFyZW07IFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtY2F0ZWdvcnktdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkZXIpO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLmMtdGV4dC0yY29sIC5jLWNhdGVnb3J5LXRpdGxlIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCB2YXIoLS1ib3JkZXItd2lkdGgtYmlnKSB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBMaXN0cyBDb250ZW50IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1ibG9jayB1bCxcbi5jLXRleHQtYmxvY2sgb2wge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAxLjJlbSAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpLFxuLmMtdGV4dC1ibG9jayBvbCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAyNHB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpICsgbGksXG4uYy10ZXh0LWJsb2NrIG9sIGxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwLjVlbTtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41NWVtO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5jLXRleHQtYmxvY2sgdWwgbGk6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMC4zOGVtO1xuICAgIH1cbn1cblxuLmMtdGV4dC1ibG9jayBvbCB7XG5cdGNvdW50ZXItcmVzZXQ6IGN1c3RvbS1jb3VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpIHtcblx0Y291bnRlci1pbmNyZW1lbnQ6IGN1c3RvbS1jb3VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpOjpiZWZvcmUge1xuXHRjb250ZW50OiBjb3VudGVyKGN1c3RvbS1jb3VudGVyKSBcIi4gXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMjZweDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstbGlzdCBsaSxcbi5jLXRleHQtYmxvY2sgLmMtc3BlY2lhbC1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy1qb2JzLWxpc3QgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWxpc3QgbGk6OmJlZm9yZSxcbi5jLXRleHQtYmxvY2sgLmMtc3BlY2lhbC1saXN0IGxpOjpiZWZvcmUsXG4uYy10ZXh0LWJsb2NrIC5jLWpvYnMtbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLXNwZWNpYWwtbGlzdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1zcGVjaWFsLWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZy1yaWdodDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLXNwZWNpYWwtbGlzdCBsaSArIGxpLFxuLmMtdGV4dC1ibG9jayAuYy1qb2JzLWxpc3QgbGkgKyBsaSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmMtam9icy1saXN0IHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtam9icy1saXN0IGxpIHtcbiAgICBwYWRkaW5nOiAxLjA1ZW0gMCAxLjE1ZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgLmMtdGV4dC1ibG9jayAuYy1qb2JzLWxpc3QgbGkge1xuICAgICAgICBwYWRkaW5nOiAxLjNlbSAwIDEuMTVlbSAwO1xuICAgIH1cbn1cblxuLmMtb3BlbmluZy1ob3Vycy1saXN0LFxuLmMtZm9ybS1vcmRlci1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDEuMmVtIDA7XG59XG5cbi5jLW9wZW5pbmctaG91cnMtbGlzdCBkdCwgXG4uYy1vcGVuaW5nLWhvdXJzLWxpc3QgZGQsXG4uYy1mb3JtLW9yZGVyLWxpc3QgZHQsXG4uYy1mb3JtLW9yZGVyLWxpc3QgZGR7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jLW9wZW5pbmctaG91cnMtbGlzdCBkdCxcbi5jLWZvcm0tb3JkZXItbGlzdCBkdHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHBhZGRpbmctdG9wOiAwLjhlbTtcbn1cblxuLmMtb3BlbmluZy1ob3Vycy1saXN0IGRkLFxuLmMtZm9ybS1vcmRlci1saXN0IGRke1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjhlbTtcbn1cblxuLmMtb3BlbmluZy1ob3Vycy1saXN0IGRkOmxhc3Qtb2YtdHlwZSxcbi5jLWZvcm0tb3JkZXItbGlzdCBkZDpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFF1b3RlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAwIHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICBib3JkZXItbGVmdDogc29saWQgdmFyKC0tYm9yZGVyLXdpZHRoLWJpZykgdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdGZvbnQtc2l6ZTogMS4zcmVtOyBcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1xdW90ZSk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGRlcik7XG4gICAgdGV4dC13cmFwOmJhbGFuY2U7XG59XG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDEuNWVtO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IGhlbHBlcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtcmlnaHQge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmMtdGV4dC1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLXRleHQtbGlnaHQge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBzaXplcyByZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTM2MHB4KSB7XG5cdGgxLCAuYy1oMSxcblx0aDIsIC5jLWgyLFxuXHRoMywgLmMtaDN7XG5cdFx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0XHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdFx0LW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0XHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0XHQtbXMtaHlwaGVuczogYXV0bztcblx0XHQtbW96LWh5cGhlbnM6IGF1dG87XG5cdFx0LXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuXHRcdGh5cGhlbnM6IGF1dG87XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjExMDBweCkge1x0ICAgIFxuICAgIDpyb290IHtcbiAgICAgICAgLS1mb250LXNpemUtaDE6IDIuMjVyZW07IFxuICAgICAgICAtLWZvbnQtc2l6ZS1oMjogMS42cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1uYXZtYWluOiAxcmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1rZXlmYWN0OiAyLjI1cmVtOyBcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkge1x0ICAgIFxuICAgIDpyb290IHtcbiAgICAgICAgLS1mb250LXNpemUtcm9vdDogMThweDtcbiAgICAgICAgLS1mb250LXNpemUtaDE6IDJyZW07IFxuICAgICAgICAtLWZvbnQtc2l6ZS1oMjogMS41cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1oMzogMS4xMjVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWxlYWQ6IDFyZW07XG4gICAgICAgIC0tZm9udC1zaXplLXF1b3RlOiAxLjEyNXJlbTtcbiAgICAgICAgLS1mb250LXNpemUtYm9keTogMXJlbTtcbiAgICAgICAgLS1mb250LXNpemUtYm9keS1zOiAwLjg3NXJlbTtcbiAgICAgICAgLyotLWZvbnQtc2l6ZS1uYXZtYWluOiAxLjJyZW07Ki9cbiAgICAgICAgLS1mb250LXNpemUtYm9keS1sOiAxLjEyNXJlbTtcbiAgICAgICAgLS1mb250LXNpemUta2V5ZmFjdDogMnJlbTsgXG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDozNTBweCkge1x0ICAgIFxuICAgIDpyb290IHtcbiAgICAgICAgLS1mb250LXNpemUtYm9keS1sOiAxcmVtO1xuICAgIH1cbn1cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG5cdHotaW5kZXg6IDEwO1xufVxuXG4uYy1oZWFkZXItaW5uZXIge1xuXHRoZWlnaHQ6IDk2cHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICBtYXJnaW46IDE2cHggMTZweCAwIDE2cHg7XG4gICAgbWFyZ2luOiB2YXIoLS1tYXJnaW4taGVhZGVyKSB2YXIoLS1tYXJnaW4taGVhZGVyKSAwIHZhcigtLW1hcmdpbi1oZWFkZXIpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAodmFyKC0tbWFyZ2luLWhlYWRlcikgKiAyKSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG5cbi5jLWhlYWRlci1sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiAwLjQ4cmVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAyNzBweDtcblx0aGVpZ2h0OiA0MHB4O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmMtaGVhZGVyLWxvZ28gYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbWV0YVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cblxuLmMtaGVhZGVyLWxhbmctbGlzdCB7XG4gICAgbWFyZ2luOiAwIDAgMCAyLjRlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDAuNWVtO1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG5cdHBhZGRpbmctYm90dG9tOiAwLjhlbTtcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1iYXNpYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLWhlYWRlci1sYW5nLWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtaGVhZGVyLWxhbmctbGlzdCBhOmhvdmVyOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDhweDtcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCAuYy1hY3RpdmUgYTo6YmVmb3JlIHtcblx0aGVpZ2h0OiA0cHg7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIG1haW4gbmF2IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbWFpbi1uYXYge1xuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1uYXZtYWluKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLW1haW4tbmF2LWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDE2cHggMCAwIDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMWVtO1xufVxuXG5cbi5jLW1haW4tbmF2LWxpc3QgYSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWJvdHRvbTogMWVtO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWJhc2ljO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IGE6aG92ZXI6OmJlZm9yZSB7XG5cdGhlaWdodDogOHB4O1xufVxuXG4uYy1tYWluLW5hdi1saXN0IC5jLWFjdGl2ZSBhOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IC5jdXJyZW50LW1lbnUtaXRlbSBhOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDRweDtcbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyIHtcblx0cGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZm9vdGVyKTtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCxcbi5jLWZvb3Rlci1saW5rLWxpc3QsXG4uYy1mb290ZXItcGFydG5lci1saXN0e1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWZvb3Rlci1kZWNvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1mb290ZXItZGVjbzo6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL2Zvb3Rlci13aXR0d2VyLWRlY28uc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDsgXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBvcGFjaXR5OiAwLjAzO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyLU1haW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3Rlci1sb2dvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMjcwcHg7XG5cdGhlaWdodDogNDBweDtcbn1cblxuLmMtZm9vdGVyIC5jLWxlYWQge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLXM7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xufVxuXG4uYy1mb290ZXItbGluay1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLXRvcDogMC41ZW07XG59XG5cbi5jLWZvb3Rlci1hZGRyZXNzIHtcbiAgICBsaW5lLWhlaWdodDogMS45O1xufVxuXG4uYy1mb290ZXItbWFpbiAuYy1jb2wtNSxcbi5jLWZvb3Rlci1tYWluIC5jLWNvbC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3Rlci1wYXJ0bmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb290ZXItcGFydG5lciB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG59XG5cbi5jLWZvb3Rlci1wYXJ0bmVyLWxpc3R7XG5cdGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1mb290ZXItcGFydG5lci1saXN0IGxpIHtcbiAgICBwYWRkaW5nOiAwLjVlbSAyZW0gMWVtIDA7XG59XG5cbi5jLXBhcnRuZXItbG9nbyBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3Rlci1EaXNjbGFpbWVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyIHtcblx0cGFkZGluZy10b3A6IDEuNWVtO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyB0cmlnZ2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtdHJpZ2dlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRvcDogMC44ZW07XG5cdHJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcblx0d2lkdGg6IDQ0cHg7XG5cdGhlaWdodDogNDRweDtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3BlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtdHJpZ2dlcjo6YWZ0ZXIge1xuXHRjb250ZW50OicnO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiA1MCU7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmFmdGVyIHtcblx0d2lkdGg6IDI0cHg7XG5cdHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YmVmb3JlIHtcblx0aGVpZ2h0OiAyMHB4O1xuXHRtYXJnaW4tdG9wOiAtMTBweDtcblx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuXHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJGNvbG9yLXByaW1hcnk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YWZ0ZXIge1xuXHRoZWlnaHQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46Zm9jdXM6OmFmdGVyLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjpob3Zlcjo6YWZ0ZXIge1xuXHR3aWR0aDogMTVweDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmJlZm9yZSB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgbWFpbiBjb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy1uYXYge1xuXHQvKmRpc3BsYXk6IG5vbmU7Ki9cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0Y29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHR6LWluZGV4OiAxMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0dHJhbnNpdGlvbjogaGVpZ2h0IC4ycyBlYXNlLW91dCAwcztcbn1cblxuI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtb2ZmY2FudmFzLW5hdiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYy1vZmZjYW52YXMtaW5uZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtb2ZmY2FudmFzLWNvbnRlbnQge1xuXHQvKnBhZGRpbmctdG9wOiAxLjVlbTsqL1xufVxuXG4uYy1vZmZjYW52YXMtbGFuZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCB1bCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1uYXZtYWluKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCB1bCB7XHRcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHVsIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuOGVtO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3Qge1xuXHRtYXJnaW4tdG9wOiAyZW07XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgbGkge1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHVsIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8qcGFkZGluZzogMC43NWVtIDhweDsqL1xuICAgIHBhZGRpbmc6IDEuMDVlbSA4cHggMS4xNWVtIDhweDtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHVsIGEge1xuXHRwYWRkaW5nOiAwLjhlbSA4cHggMC45NWVtIDMycHg7XG59XG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0IGEge1xuICAgICAgICBwYWRkaW5nOiAxLjNlbSA4cHggMS4xNWVtIDhweDtcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0IHVsIGEge1xuICAgICAgICBwYWRkaW5nOiAxZW0gOHB4IDAuOGVtIDMycHg7XG4gICAgfVxufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDhweDtcbiAgICBtYXJnaW4tdG9wOiAtN3B4O1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDlweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwcHggLTIwMHB4O1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgdWwgYTo6YmVmb3JlIHtcblx0bGVmdDogMzJweDtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwMHB4O1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgLmN1cnJlbnQtbWVudS1pdGVtID4gYXtcblx0cGFkZGluZy1sZWZ0OiAyOHB4O1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgdWwgLmN1cnJlbnQtbWVudS1pdGVtID4gYXtcblx0cGFkZGluZy1sZWZ0OiA1MnB4O1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTpmb2N1cyxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOmhvdmVyLFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IC5jdXJyZW50LW1lbnUtaXRlbSA+IGF7XG5cdC8qY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpOyovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgYWNjb3JkaW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjayB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogLTk5OTlweDtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtdGl0bGUge1xuXHRkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcbiAgICAvKnBhZGRpbmc6IDAuNzVlbSA4cHg7Ki9cbiAgICBwYWRkaW5nOiAxLjA1ZW0gMzBweCAxLjE1ZW0gOHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7ICAgIFxufVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5jLW9mZmNhbnZhcy1tZW51LXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMS4zZW0gMzBweCAxLjE1ZW0gOHB4O1xuICAgIH1cbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3Jle1xuICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIHRvcDogY2FsYyg1MCUgLSA4cHgpO1xuICAgIHJpZ2h0OiA4cHg7XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSB7XG4gICBcdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0xNDBweDtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBjdWJpYy1iZXppZXIoMCwxLDAsMSk7XG59ICAgIFxuXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpjaGVja2VkIH4gLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogOTk5OXB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBjdWJpYy1iZXppZXIoMSwwLDEsMCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgbmF2IG9wZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IHtcblx0LmMtb2ZmY2FudmFzLW5hdiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDB2aDtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHR9XG5cdFxuXHQuYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59IiwiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1iZy1saWdodCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNob3dyb29tIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2hvd3Jvb20ge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1zaG93cm9vbSxcbi5jLXNob3dyb29tLXRleHQgLmMtcm93IHtcblx0bWluLWhlaWdodDogMTAwdmg7IFxufVxuXG5cbi8qIG1pbi1oZWlnaHQgZml4IGZvciBpZTExICovXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgXHQuYy1zaG93cm9vbS10ZXh0IC5jLXJvdzphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0LypkaXNwbGF5OiBibG9jazsqL1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtaW4taGVpZ2h0OiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogMDtcblx0fVxufVxuXG4uYy1zaG93cm9vbS1pbWcsXG4uYy1zaG93cm9vbS12aWRlbyxcbi5jLWtleWZhY3RzLXN1c3RhaW5hYmlsaXR5LWltZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5jLXNob3dyb29tLWltZyBpbWcsXG4uYy1zaG93cm9vbS12aWRlbyB2aWRlbyxcbi5jLWtleWZhY3RzLXN1c3RhaW5hYmlsaXR5LWltZyBpbWd7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy1tYWluLXRpdGxlLWJveCB7XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nLWJveCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBuZXdzIC8gYm94XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbmV3cyAuYy1jb2wtNSxcbi5jLW5ld3MgLmMtY29sLTcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG59XG5cbi5jLWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1ib3gtbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG59XG5cbi5jLWJveC1pbm5lciB7XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nLWJveCk7XG59XG5cbi5jLW5ld3MtaW1nLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtaW4taGVpZ2h0OiA1NjBweDtcbn1cblxuLmMtbmV3cy1pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLW5ld3MtaW1nIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHRlYXNlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGVhc2VyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgLypib3JkZXItdG9wOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7Ki9cbn1cblxuLmMtdGVhc2VyLWl0ZW06OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItYmFzaWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLXRlYXNlci1pdGVtOmZvY3VzOjpiZWZvcmUsXG4uYy10ZWFzZXItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDhweDtcbn1cblxuXG4uYy10ZWFzZXItbGluazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy10ZWFzZXItaW1nLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uYy10ZWFzZXItaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICB0ZWFzZXIgQ1RBXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1ib3gtYm9yZGVyIHtcbiAgICBib3JkZXI6IHNvbGlkIDhweCAkY29sb3ItcHJpbWFyeTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC1iaWcpO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xufVxuXG4uYy1ib3gtYm9yZGVyLWlubmVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHRlYW0gLyBzcG9uc29yaW5nIC8gZm9ybSBvcmRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXRlYW0taXRlbSxcbi5jLXNwb25zb3JpbmctaXRlbSxcbi5jLWZvcm0tb3JkZXItaXRlbSB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4uYy10ZWFtLWl0ZW0gLmMtcmF0aW9ib3gtdGVhbSxcbi5jLXNwb25zb3JpbmctaXRlbSAuYy1zcG9uc29yaW5nLWxvZ28sXG4uYy1mb3JtLW9yZGVyLWl0ZW0gLmMtcmF0aW9ib3gtZm9ybS1vcmRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uYy1zcG9uc29yaW5nLWxvZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXg6IDEgMCBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmMtc3BvbnNvcmluZy1sb2dvOjpiZWZvcmUge1xuIFx0Y29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDYwJTtcblx0ZmxvYXQ6bGVmdDtcbn1cblxuLmMtc3BvbnNvcmluZy1sb2dvIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGtleWZhY3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMta2V5ZmFjdHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1rZXlmYWN0cy1pdGVtIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgcGFkZGluZy10b3A6IDAuOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMta2V5ZmFjdHMtZGVjbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWtleWZhY3RzLXN1c3RhaW5hYmlsaXR5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgU3RlcCBuYXYgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc3RlcC1uYXYtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbn1cblxuLmMtc3RlcC1uYXYtbGlzdCBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5jLXN0ZXAtbmF2LXN0ZXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjE1ZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDIpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkZXIpO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDhweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci13ZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1iaWcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEJyZWFkY3J1bWIgLyBDYXRlZ29yeSBsaXN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYnJlYWRjcnVtYiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQ1ZW07XG59XG5cbi5jLWJyZWFkY3J1bWIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyAgICBcbn1cblxuLmMtYnJlYWRjcnVtYiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcteHM7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5jLWJyZWFkY3J1bWIgbGk6bGFzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5jLWJyZWFkY3J1bWIgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE4cHgpO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItYmFzaWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICBvcGFjaXR5OiAwLjM7XG59XG5cbi5jLWJyZWFkY3J1bWIgbGk6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBDb29raWUgbm90aWNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb29raWUtbm90aWNle1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXHRyaWdodDogMDtcbiAgICBib3R0b206IDMwcHg7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIHBhZGRpbmc6IDEuNXJlbSAzMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cdGJvcmRlcjogc29saWQgOHB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtYmlnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLmMtY29va2llLW5vdGljZSAuYy1idG57XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVlbSAwIDAgMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICAgIFxuXHQuYy1jb29raWUtbm90aWNlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3R0b206IDA7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci10b3A6IHNvbGlkIDhweCAkYm9yZGVyLWJhc2ljO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC1iaWcpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGluayBjb2xvcnMgYW5kIHN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYVtocmVmXj1cInRlbDpcIl0ge1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLXRleHQtYmxvY2sgYSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sJGNvbG9yLWhpZ2hsaWdodCAwJSwkY29sb3ItaGlnaGxpZ2h0IDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sdmFyKC0tY29sb3ItaGlnaGxpZ2h0KSAwJSx2YXIoLS1jb2xvci1oaWdobGlnaHQpIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzMiUgMzIlO1xuICBcdHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzO1xufVxuXG4uYy10ZXh0LWJsb2NrIGE6Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAuYy10ZXh0LWJsb2NrIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDAlIDQwJTtcbiAgICB9XG5cbiAgICAuYy10ZXh0LWJsb2NrIGE6Zm9jdXMsXG4gICAgLmMtdGV4dC1ibG9jayBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgfVxufVxuXG4uYy10ZXh0LWJsb2NrIGgyIGEsXG4uYy10ZXh0LWJsb2NrIC5jLWJ0bixcbi5jLXRleHQtYmxvY2sgLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWFycm93LFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWRvd25sb2FkLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWV4dGVybixcbi5jLXRleHQtYmxvY2sgLmMtbGluay1iYWNrIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbiBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJ0bixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAxLjA1ZW0gNDBweCAxLjE1ZW0gNDBweDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgIFxuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZGVyKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAuYy1idG4sXG4gICAgLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xuICAgICAgICBwYWRkaW5nLXRvcDogMS4yNWVtO1xuICAgIH1cbn1cblxuLmMtYnRuLFxuLmMtYnRuOnZpc2l0ZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi5jLWJ0bjpob3ZlciwgXG4uYy1idG46Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpbmstaG92ZXIpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLmMtYnRuLXNtYWxsIHtcbiAgIHBhZGRpbmc6IDAuNWVtIDIwcHggMC43ZW0gMjBweDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5jLWJ0bi1zbWFsbHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOGVtO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgbGlua3Mgd2l0aCBpY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaWNvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtaWNvbjo6YmVmb3JlLFxuLmMtaWNvbjo6YWZ0ZXIge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmMtbGluay1hcnJvdyxcbi5jLWxpbmstZG93bmxvYWQsXG4uYy1saW5rLWV4dGVybixcbi5jLWxpbmstYmFjayxcbi5jLWhlYWRlci1saW5rLXBob25lIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nLWxlZnQ6IDMycHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkZXIpO1xufVxuXG4uYy1oZWFkZXItbGluay1waG9uZSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtdGVhc2VyLWl0ZW0gLmMtbGluay1hcnJvdyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLXRlYXNlci1pdGVtOmhvdmVyIC5jLWxpbmstYXJyb3csXG4uYy10ZWFzZXItaXRlbTpmb2N1cyAuYy1saW5rLWFycm93LCB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpbmstaG92ZXIpO1xufVxuXG4uYy1saW5rLWFycm93OjpiZWZvcmUsXG4uYy1saW5rLWJhY2s6OmJlZm9yZSB7XG5cdHRvcDogMC4zMmVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMjVweDtcblx0aGVpZ2h0OiAxNXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG59XG5cbi5jLWxpbmstYXJyb3c6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstYXJyb3c6Zm9jdXM6OmJlZm9yZSxcbi5jLXRlYXNlci1pdGVtOmhvdmVyIC5jLWxpbmstYXJyb3c6OmJlZm9yZSxcbi5jLXRlYXNlci1pdGVtOmZvY3VzIC5jLWxpbmstYXJyb3c6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IDA7XG59XG5cblxuLmMtbGluay1iYWNrOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4O1xufVxuXG4uYy1saW5rLWJhY2s6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstYmFjazpmb2N1czo6YmVmb3JlIHtcblx0bGVmdDogLTRweDtcbn1cblxuLmMtbGluay1kb3dubG9hZDo6YmVmb3JlIHtcblx0dG9wOiAwZW07XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAyMXB4O1xuXHRoZWlnaHQ6IDIycHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7XG59XG5cbi5jLWxpbmstZG93bmxvYWQ6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstZG93bmxvYWQ6Zm9jdXM6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC00MHB4O1xufVxuXG4uYy1saW5rLWV4dGVybjo6YmVmb3JlIHtcblx0dG9wOiAwZW07XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAyMXB4O1xuXHRoZWlnaHQ6IDIxcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7XG59XG5cbi5jLWxpbmstZXh0ZXJuOmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWV4dGVybjpmb2N1czo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTgwcHg7XG59XG5cbi5jLWhlYWRlci1saW5rLXBob25lIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMThweDtcbn1cblxuLmMtaGVhZGVyLWxpbmstcGhvbmU6OmJlZm9yZSB7XG5cdHRvcDogLTAuMDNlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMjFweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEwcHg7XG59XG5cbi5jLXNwZWNpYWwtbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC44ZW0gMCAxLjNlbSAzMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuLmMtc3BlY2lhbC1saXN0LWl0ZW06OmJlZm9yZSB7XG5cdHRvcDogY2FsYygwLjhlbSArIDAuMmVtKTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDIzcHg7XG5cdGhlaWdodDogMjFweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTYwcHg7XG59XG5cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAuYy1saW5rLWFycm93OjpiZWZvcmUsXG4gICAgLmMtbGluay1iYWNrOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDAuMTVlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtbGluay1kb3dubG9hZDo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtMC4xNWVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1saW5rLWV4dGVybjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtMC4xOGVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1oZWFkZXItbGluay1waG9uZTo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtMC4xOGVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1zcGVjaWFsLWxpc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjhlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtc3BlY2lhbC1saXN0LWl0ZW06OmJlZm9yZSB7XG4gICAgICAgIHRvcDogY2FsYygwLjhlbSArIDAuMWVtKTtcbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgcmVzcG9uc2l2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICAgXG5cdC5jLWxpbmstYXJyb3c6OmJlZm9yZSxcblx0LmMtbGluay1iYWNrOjpiZWZvcmUge1xuXHRcdHRvcDogMC4zZW07XG5cdH1cblx0XG5cdC5jLWxpbmstZG93bmxvYWQ6OmJlZm9yZSB7XG5cdFx0dG9wOiAtLjA0ZW07XG5cdH1cblx0XG5cdC5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuXHRcdHRvcDogLS4wNGVtO1xuXHR9XG4gICAgXG4gICAgLmMtc3BlY2lhbC1saXN0LWl0ZW06OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMC44ZW07XG4gICAgfVxuICAgIFxuICAgIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgICAgIC5jLWxpbmstYXJyb3c6OmJlZm9yZSxcbiAgICAgICAgLmMtbGluay1iYWNrOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAwLjEyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYy1saW5rLWRvd25sb2FkOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAtLjE4ZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYy1saW5rLWV4dGVybjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogLS4yMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmMtc3BlY2lhbC1saXN0LWl0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMC44ZW0gLSAwLjFlbSk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJhdGlvIEJveFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcmF0aW9ib3gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nLFxuLmMtcmF0aW9ib3ggPiBpZnJhbWUsXG4uYy1yYXRpb2JveCA+IG9iamVjdCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcdFxufVxuXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5jLXJhdGlvYm94LTE2Ynk5IHtcblx0cGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmMtcmF0aW9ib3gtNGJ5Myxcbi5jLXJhdGlvYm94LXRlYW0sXG4uYy1yYXRpb2JveC1mb3JtLW9yZGVyIHtcblx0cGFkZGluZy1ib3R0b206IDc1JTtcbn1cblxuLmMtcmF0aW9ib3gtMWJ5MSB7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uYy1yYXRpb2JveC1zaG93cm9vbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDM4LjY5MDQ3NjE5MDQ3NjE5JTtcbn1cblxuLmMtcmF0aW9ib3gtc2hvd3Jvb20gaW1nLFxuLmMtcmF0aW9ib3gtdGVhbSBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIHNhZmFyaSBmb3JtIGZpeCAqL1xuaW5wdXQsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl1cbnRleHRhcmVhIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIHJlbW92ZSBjaHJvbWUgYXV0b2ZpbGwgeWVsbG93IGNvbG9yICovXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMjAwMHM7XG59XG5cblxuaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uYy1mb3JtLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtZm9ybS1tdWx0aWxpbmUtdmVydGljYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy14cztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5jLWZvcm0tbXVsdGlsaW5lLXZlcnRpY2FsIC53cGNmNy1saXN0LWl0ZW0gKyAud3BjZjctbGlzdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmcteHM7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmcteHMpO1xufVxuXG4uYy1mb3JtLXNlcGFyYXRvci1iaWcsXG4uYy1mb3JtLXNlcGFyYXRvci1saW5lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcteGwpIC0gdmFyKC0tc3BhY2luZy1zKSk7XG59XG5cbi5jLWZvcm0tc2VwYXJhdG9yLWxpbmUge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIHBhZGRpbmctYm90dG9tOiAgdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtZm9ybS1vcmRlci1xdWFudGl0eSB7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0ZXBzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZm9ybS1zdGVwcy1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3c7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZm9ybWZpZWxkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IHNvbGlkIDRweCAkYm9yZGVyLWZvcm07XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItZm9ybS13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdHBhZGRpbmc6IDAuNzVlbSAxMHB4OyAgICBcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRlbFwiXSB7XG5cdHBhZGRpbmc6IDAuMjVlbSAxMHB4OyAgICBcblx0bGluZS1oZWlnaHQ6IDUwcHg7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWEge1xuXHRtaW4taGVpZ2h0OiA2ZW07XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWE6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6ICRib3JkZXItZm9ybS1mb2N1cztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtLWZvY3VzKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXTpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGVsXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYTpkaXNhYmxlZCB7XG5cdGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG5cdGNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuXHRjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLmMtZm9ybS1sYWJlbC10ZXh0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiAwLjM1ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBmaWxlIGJ1dHRvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPWZpbGVdIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDAuNzVlbSAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktc21hbGwpO1xufVxuXG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1x0XG5cdG1hcmdpbi1yaWdodDogMC43NWVtO1xuXHRwYWRkaW5nOiAxLjE1ZW0gMjRweCAxLjE1ZW0gMjRweDtcblx0Ym9yZGVyOiA0cHggc29saWQgJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItZm9ybS13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbn1cblxuXG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBjaGVja2JveCAvIHJhZGlvc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjctbGlzdC1pdGVtIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLW11bHRpbGluZS1ob3Jpem9udGFsIC53cGNmNy1mb3JtLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLW11bHRpbGluZS1ob3Jpem9udGFsIC53cGNmNy1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl17XG4gICAgbWFyZ2luOiA0cHggMCAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0rc3Bhbixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXStzcGFuLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0rc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK3NwYW57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAwLjU1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK3NwYW46OmJlZm9yZXtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDAuMTVlbTtcbiAgICB3aWR0aDogMzhweDtcbiAgICBoZWlnaHQ6IDM4cHg7XG4gICAgYm9yZGVyOiA0cHggc29saWQgJGJvcmRlci1mb3JtO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLWZvcm0td2lkdGgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YmVmb3Jle1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMrc3Bhbjo6YmVmb3Jle1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrc3Bhbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtzcGFuOjphZnRlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMC4xNWVtICsgNXB4KTtcbiAgICBsZWZ0OiAxMXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMjJweDtcblx0Ym9yZGVyOiBzb2xpZCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0Ym9yZGVyLXdpZHRoOiAwIDRweCA0cHggMDtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW46OmFmdGVyLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKStzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygwLjE1ZW0gKyA5cHgpO1xuICAgIGxlZnQ6IDlweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YWZ0ZXJ7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKStzcGFuOjphZnRlcntcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG5cbi5nZm9ybV9maWVsZHMgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3Bhbjo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW46OmFmdGVye1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrc3Bhbjo6YWZ0ZXJ7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCtzcGFuOjphZnRlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkK3NwYW46OmFmdGVyIHtcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcblx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZHJvcGRvd25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogMC4yNWVtIDMwcHggMC4yNWVtIDEwcHggIWltcG9ydGFudDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDRweCBzb2xpZCAkYm9yZGVyLWZvcm07XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItZm9ybS13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb24tZm9ybS1hcnJvdy5zdmdcIikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0bGluZS1oZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XHRcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdCBvcHRpb24ge1xuXHRwYWRkaW5nOiAwO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0OmRpc2FibGVkOjotbXMtZXhwYW5kIHtcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdFtkaXNhYmxlZF0ge1xuXHRjb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuXHRib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICB3cDcgZXJyb3IgLyBvayBtZXNzYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1yZXNwb25zZS1vdXRwdXQsXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNyBmb3JtIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuXHQvKmRpc3BsYXk6IGJsb2NrOyovXG5cdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWluaXRpYWw7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9ybS1pbml0aWFsKTtcblx0cGFkZGluZzogMS41ZW0gMzBweDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0bWFyZ2luOiAwIDAgM2VtIDA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1ub3QtdmFsaWQtdGlwLFxuLmMtZm9ybS1zdGFuZGFyZCAuc2NyZWVuLXJlYWRlci1yZXNwb25zZSxcbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbi8qIGVycm9yICovXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1ub3QtdmFsaWQtdGlwLFxuLmMtZm9ybS1zdGFuZGFyZCAuc2NyZWVuLXJlYWRlci1yZXNwb25zZSB7XG5cdGNvbG9yOiAkZm9ybS1lcnJvcjtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1lcnJvcik7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LW5vdC12YWxpZC10aXAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDAuMzVlbTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dC53cGNmNy1ub3QtdmFsaWQge1xuXHRib3JkZXItY29sb3I6ICRmb3JtLWVycm9yO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1lcnJvcik7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgZm9ybS5pbnZhbGlkIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1lcnJvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLWVycm9yKTtcbn1cblxuLyogb2sgKi9cbi5jLWZvcm0tc3RhbmRhcmQgZm9ybS5zZW50IC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1vaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLW9rKTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICB3cDcgc3Bpbm5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZm9ybS5zdWJtaXR0aW5nIC53cGNmNy1zcGlubmVyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1zcGlubmVyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogLTRweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoMjksMjksMjcsLjMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LXNwaW5uZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmlld3BvcnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkAtbXMtdmlld3BvcnQge1xuXHR3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWVkaWFxdWVyaWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE5NjBweCkge1xuXHQvKiBjb250YWluZXIgbWF4IHdpZHRoICovXG5cdC5jLWNvbnRhaW5lci1tZWRpdW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTY4MHB4KSB7XG5cdC5jLXNob3dyb29tLXRleHQgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbiAgICB9XG4gICAgXG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNDIwcHgpIHtcblx0LyogY29udGFpbmVyIG1heCB3aWR0aCAqL1xuXHQuYy1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEzOTJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLFxuICAgIC5jLWFzeW0tbGVmdC1lZGdlbGVzcyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNjk4cHggKyA1MCUpO1xuICAgIH1cbiAgICBcbiAgICAuYy1hc3ltLWxlZnQtZWRnZWxlc3Mge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLWN0YSAuYy1jb2wtMTIsXG4gICAgLmMtZm9ybSAuYy1jb2wtMTIge1xuICAgICAgICBtYXgtd2lkdGg6IDEzOTJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1uZXdzIC5jLWFzeW0tY29sLWdyaWQge1xuICAgICAgICBmbGV4OiAwIDAgY2FsYyg1ODBweCAtIHZhcigtLWdyaWQtY29sKSk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1ODBweCAtIHZhcigtLWdyaWQtY29sKSk7IC8qIDVjb2wgY29udGVudCB3aWR0aCAtIDEvMiBwYWRkaW5nICovXG4gICAgfVxuICAgIFxuICAgIC5jLW5ld3MgLmMtYXN5bS1jb2wtZWRnZWxlc3Mge1xuICAgICAgICBmbGV4OiAwIDAgY2FsYygxMDAlIC0gNTgwcHggKyB2YXIoLS1ncmlkLWNvbCkpOyBcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1ODBweCArIHZhcigtLWdyaWQtY29sKSk7IC8qIHdpZHRoIC0gNWNvbCBjb250ZW50IHdpZHRoICsgMS8yIHBhZGRpbmcgKi9cbiAgICB9XG4gICAgXG4gICAgLmMtbmV3cy10ZXh0IC5jLWFzeW0tY29sLWdyaWQge1xuICAgICAgICBmbGV4OiAwIDAgY2FsYyg5MjhweCAtIHZhcigtLWdyaWQtY29sKSk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg5MjhweCAtIHZhcigtLWdyaWQtY29sKSk7IC8qIDhjb2wgY29udGVudCB3aWR0aCAtIDEvMiBwYWRkaW5nICovXG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLWFzeW0tY29sLWdyaWQge1xuICAgICAgIGZsZXg6IDAgMCBjYWxjKDU4MHB4IC0gdmFyKC0tZ3JpZC1jb2wpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDU4MHB4IC0gdmFyKC0tZ3JpZC1jb2wpKTsgLyogNWNvbCBjb250ZW50IHdpZHRoIC0gMS8yIHBhZGRpbmcgKi9cbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC1pbWcgLmMtYXN5bS1jb2wtZWRnZWxlc3Mge1xuICAgICAgICBmbGV4OiAwIDAgY2FsYygxMDAlIC0gNTgwcHggKyB2YXIoLS1ncmlkLWNvbCkpOyBcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1ODBweCArIHZhcigtLWdyaWQtY29sKSk7IC8qIHdpZHRoIC0gNWNvbCBjb250ZW50IHdpZHRoICsgMS8yIHBhZGRpbmcgKi9cbiAgICB9XG4gICAgXG4gICAgLmMtY29udGFjdCAuYy1jb2wtMTIge1xuICAgICAgICBmbGV4OiAwIDAgMTM5MnB4OyBcbiAgICAgICAgbWF4LXdpZHRoOiAxMzkycHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTIwMHB4KSB7ICBcblx0LmMtZm9vdGVyLW1haW4gLmMtY29sLTUsXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtY29sLTcge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgIFxuICAgIH1cbiAgICBcbiAgICAuYy1oZWFkZXItbG9nbyxcbiAgICAuYy1mb290ZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjExMDBweCkgeyAgXG5cdC5jLWZvcm0tc3RhbmRhcmQgLmMtZm9ybS1tdWx0aWxpbmUtaG9yaXpvbnRhbCAud3BjZjctbGlzdC1pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTgxcHgpIHsgIFxuXHQuYy10ZWFzZXItY3RhIC5jLWJveC1ib3JkZXItaW5uZXIsXG4gICAgLmMtZm9ybS10ZXh0IHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMyU7ICAgXHRcblx0fVxufVxuXG4vKiBoZWFkZXIgc2hvdyBvZmZjYW52YXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkgeyAgXG5cdC5jLXNob3dyb29tLXRleHQgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC1vbmx5IC5jLWNvbC04LFxuXHQuYy1tYWluLXRpdGxlIC5jLWNvbC04LFxuXHQuYy1zZWN0aW9uLXRpdGxlIC5jLWNvbC04LFxuXHQuYy1xdW90ZSAuYy1jb2wtOCxcbiAgICAuYy1uZXdzLXRleHQgLmMtY29sLTUge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogODMuMzMzMzMlOyAgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtdGV4dC1pbWcgLmMtY29sLTUsXG4gICAgLmMtdGV4dC1pbWcgLmMtY29sLTcsXG4gICAgLmMtdGV4dC0yY29sIC5jLWNvbC01LFxuICAgIC5jLXRleHQtMmNvbCAuYy1jb2wtN3tcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci0zY29sIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWtleWZhY3RzLTRjb2wgLmMtY29sLTMge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG59XG5cblxuLyogaGVhZGVyIHNob3cgb2ZmY2FudmFzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHsgIFxuXHQuYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuICAgIFxuICAgIC8qLmMtaGVhZGVyLWlubmVyIHtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgIH0qL1xuICAgIFxuICAgIC5jLWhlYWRlci1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgfVxuXHRcblx0LmMtbWFpbi1uYXYsXG4gICAgLmMtaGVhZGVyLWxhbmctbGlzdCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuICAgIFxuICAgIC5jLW9mZmNhbnZhcy1sYW5nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIC5jLWhlYWRlci1tZXRhIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAuYy1oZWFkZXItbGluay1waG9uZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDhweDtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgXG4gICAgLmMtaGVhZGVyLWxpbmstcGhvbmU6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtMTEwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWhlYWRlci1saW5rLXBob25lOjphZnRlciB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTRweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1iYXNpYztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICB9XG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4NTBweCkgeyAgXG4gICAgLmMtbmV3cyAuYy1jb2wtNSxcbiAgICAuYy1uZXdzIC5jLWNvbC03IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuICAgIFxuICAgIC5jLW5ld3MtaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC1ibG9jayAuYy1zcGVjaWFsLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhbSAuYy1jb2wtNCxcbiAgICAuYy1zcG9uc29yaW5nIC5jLWNvbC00LFxuICAgIC5jLWZvcm0tM2NvbCAuYy1jb2wtNCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItMmNvbCAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybSAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybSAuYy1yb3ctbXVsdGlsaW5lIC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7ICAgIFxuICAgIH1cbiAgICBcbiAgICAuYy1mb3JtIC5jLWNvbC02Om50aC1jaGlsZCgyKSBoMiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcteGwpIC0gdmFyKC0tc3BhY2luZy1zKSk7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7ICBcblx0LmMtdGVhc2VyLWN0YSAuYy1ib3gtYm9yZGVyLWlubmVyIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAyMCU7ICAgXHRcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgIFxuXHQuYy10ZXh0LW9ubHkgLmMtY29sLTgsXG5cdC5jLW1haW4tdGl0bGUgLmMtY29sLTgsXG5cdC5jLXNlY3Rpb24tdGl0bGUgLmMtY29sLTgsXG5cdC5jLXF1b3RlIC5jLWNvbC04LFxuICAgIC5jLW5ld3MtdGV4dCAuYy1jb2wtNSxcbiAgICAuYy10ZXh0LWltZyAuYy1jb2wtNSxcbiAgICAuYy10ZXh0LWltZyAuYy1jb2wtNyxcbiAgICAuYy1pbWctMmNvbCAuYy1jb2wtNixcbiAgICAuYy10ZXh0LTJjb2wgLmMtY29sLTUsXG4gICAgLmMtdGV4dC0yY29sIC5jLWNvbC03LFxuICAgIC5jLWtleWZhY3RzLTNjb2wgLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20sXG4gICAgLmMtc2hvd3Jvb20tdGV4dCAuYy1yb3cge1xuICAgICAgICBtaW4taGVpZ2h0OiAwOyBcbiAgICB9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20taW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDEwMHZ3O1xuICAgIH1cbiAgICBcbiAgICAuYy1zaG93cm9vbS10ZXh0LWlubmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tLXRleHQgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20tdGV4dCAuYy1tYWluLXRpdGxlLWJveCxcbiAgICAuYy1tYWluLXRpdGxlIC5jLW1haW4tdGl0bGUtYm94IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ3JpZC1jb250YWluZXIpICogLTEpO1xuICAgIH1cbiAgICBcbiAgICAuYy1uZXdzLWltZy1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDYyLjV2dztcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC1pbWcgLmMtY29sLTcge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XHRcblx0fVxuICAgIFxuICAgIC5jLWltZy0yY29sIC5jLWNvbC02OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmcteGwpO1xuICAgIH1cbiAgICBcbiAgICAuYy1rZXlmYWN0cy1kZWNvIHtcbiAgICAgICAgbWluLXdpZHRoOiA4MDBweDtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLW11bHRpbGluZS1ob3Jpem9udGFsIC53cGNmNy1saXN0LWl0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3MDBweCkgeyAgXG5cdC5jLWZvb3Rlci1tYWluIC5jLWNvbC00LFxuXHQuYy1mb290ZXItZGlzY2xhaW1lciAuYy1jb2wtNCxcblx0LmMtZm9vdGVyLWRpc2NsYWltZXIgLmMtY29sLTgge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXIgLmMtY29sLTgge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcblx0fVxuICAgIFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkgKyBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLTNjb2wgLmMtY29sLTQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci1pbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1jb250YWN0IC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWNvbnRhY3QgLmMtY29sLTY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkgeyAgXG4gICAgLmMtdGV4dC1ibG9jayAuYy1zcGVjaWFsLWxpc3QgbGksXG4gICAgLmMta2V5ZmFjdHMtNGNvbCAuYy1jb2wtMyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcbiAgICB9XG4gICAgXG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NDBweCkgeyAgXG4gICAgLmMtdGVhbSAuYy1jb2wtNCxcbiAgICAuYy1zcG9uc29yaW5nIC5jLWNvbC00LFxuICAgIC5jLWZvcm0tM2NvbCAuYy1jb2wtNCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLW11bHRpbGluZS1ob3Jpem9udGFsIC53cGNmNy1saXN0LWl0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjM1MHB4KSB7ICBcbiAgICAuYy10ZWFzZXItaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJpbnQgQ1NTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHByaW50IHtcbiAgICAvKiBiYXNlIHN0eWxlcyAqL1xuICAgICoge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyBcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblx0XG5cdGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgIFxuICAgIC5jLWlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgIGFbaHJlZl06YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcblx0ICB9XG4gICAgXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IFxuICAgIH1cbiAgICBcbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAgICAgXG4gICAgQHBhZ2Uge1xuICAgICAgICBtYXJnaW46IDAuNWNtO1xuICAgIH1cbiAgICBcbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cbiAgICBcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIGJyZWFrLWFmdGVyOmF2b2lkO1xuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgLyogZm9udC1zaXplcyAqL1xuXHRcblx0aHRtbCxcblx0Ym9keSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdC8qb3ZlcmZsb3c6IGF1dG87Ki9cblx0fVxuICAgIFxuICAgIGJvZHkge1xuICAgICAgICBmb250LXNpemU6MTJweDsgICAgXG4gICAgfVxuXHRcblx0aDEsIC5jLWgxIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdH1cblx0XG5cdC5jLWxlYWQsXG5cdC5jLXRleHQtYmxvY2sgLmMtbGVhZCxcblx0aDIsIC5jLWgyLFxuXHRoMywgLmMtaDMsXG5cdC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblx0XG5cdC8qIHByb2plY3Qgc3R5bGVzICovXG5cdC5jLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1ib3R0b206IDJlbTtcblx0fVxuXHRcblx0LmMtZm9vdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/