/*!***************************************************************************************************************************************************************************************************************!*\
  !*** 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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OztBTTV6QkE7O0VBRUksbUJMTlM7RUtPVDtBTit6Qko7O0FNNXpCQTtFQUNDO0FOK3pCRDs7QU01ekJBO0VBQ0MsdUJMWFk7RUtZVDtBTit6Qko7O0FNNXpCQTs7RUFFQyxpQkxyQlk7RUtzQlQ7QU4rekJKOztBTTV6QkE7RUFDSTtBTit6Qko7O0FNNXpCQTtFQUNJO0FOK3pCSjs7QU01ekJBOztFQUVJO0FOK3pCSjs7QU01ekJBO0VBQ0ksc0JMcENRO0VLcUNSO0FOK3pCSjs7QU01ekJBOzsrRUFBQTtBQUlBOztFQUVJLGtCTDFDYTtFSzJDYixtQkwzQ2E7RUs0Q2I7RUFDQTtBTjh6Qko7O0FNM3pCQTtFQUNJLG1CTGhETztFS2lEUCxrQkxqRE87RUtrRFA7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0k7RUFDSTtBTjh6Qlo7O0FNM3pCQTtFQUNJO0FOOHpCSjs7QU0zekJBO0VBQ0k7QU44ekJKOztBTTN6QkE7RUFDSTtBTjh6Qko7O0FNM3pCQTtFQUNJO0FOOHpCSjs7QU0zekJBO0VBQ0k7QU44ekJKOztBTTN6QkE7RUFDSTtBTjh6Qko7O0FNM3pCQTtFQUNJO0FOOHpCSjs7QU0zekJBO0VBQ0k7QU44ekJKOztBTTN6QkE7RUFDSTtBTjh6Qko7O0FNM3pCQTs7Ozs7Ozs7Ozs7O0VBWUk7RUFDQTtFQUNBLG1CTGhITztFS2lIUCxrQkxqSE87RUtrSFA7RUFDQTtBTjh6Qko7O0FNM3pCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU44ekJKOztBTTN6QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOOHpCSjs7QU0zekJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjh6Qko7O0FNM3pCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU44ekJKOztBTTN6QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOOHpCSjs7QU0zekJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjh6Qko7O0FNM3pCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU44ekJKOztBTTN6QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOOHpCSjs7QU0zekJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjh6Qko7O0FNM3pCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU44ekJKOztBTTN6QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOOHpCSjs7QU0zekJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjh6Qko7O0FNM3pCQTtBQUNBO0VBQ0U7QU44ekJGOztBTTN6QkE7RUFDRTtBTjh6QkY7O0FNM3pCQTtFQUNFO0FOOHpCRjs7QU0zekJBO0VBQ0U7QU44ekJGOztBTTN6QkE7RUFDRTtBTjh6QkY7O0FNM3pCQTtFQUNFO0FOOHpCRjs7QU0zekJBO0VBQ0U7QU44ekJGOztBTTN6QkE7RUFDRTtBTjh6QkY7O0FNM3pCQTtFQUNFO0FOOHpCRjs7QU0zekJBO0VBQ0U7QU44ekJGOztBTTN6QkE7RUFDRTtBTjh6QkY7O0FNM3pCQTs7K0VBQUE7QUFJQTs7RUFFSTtBTjZ6Qko7O0FNMXpCQTtFQUNJO0FONnpCSjs7QU0xekJBO0VBQ0k7RUFDQTtBTjZ6Qko7O0FNMXpCQTtFQUNJO0VBQ0E7QU42ekJKOztBTTF6QkE7RUFDSTtFQUNBO0FONnpCSjs7QU0xekJBO0VBQ0k7RUFDQTtBTjZ6Qko7O0FNMXpCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42ekJKOztBTTF6QkE7RUFDSTtFQUNBO0FONnpCSjs7QU9ucENBOzsrRUFBQTtBQUdBO0VBQ0M7RUFDRztBUHNwQ0o7O0FPbnBDQTs7K0VBQUE7QUFJQTs7Ozs7O0VBTUM7RUFDQTtFQUNHO0VBQ0E7QVBxcENKOztBT2xwQ0E7O0VBRUM7RUFDQTtFQUNHO0FQcXBDSjs7QU9scENBO0VBQ0k7QVBxcENKOztBT2xwQ0E7O0VBRUM7RUFDQTtFQUNBO0VBQ0c7QVBxcENKOztBT2xwQ0E7O0VBRUM7RUFDQTtFQUNBO0VBQ0c7QVBxcENKOztBT2xwQ0E7O0VBRUM7RUFDQTtFQUNBO0VBQ0c7QVBxcENKOztBT2xwQ0E7OytFQUFBO0FBSUE7O0VBRUk7QVBvcENKOztBT2pwQ0E7O0VBRUk7RUFDQTtBUG9wQ0o7O0FPanBDQTtFQUNDO0FQb3BDRDs7QU9qcENBO0VBQ0M7QVBvcENEOztBT2pwQ0E7RUFDQztBUG9wQ0Q7O0FPaHBDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkM7QVBtcENEOztBT2hwQ0E7RUFDSTtBUG1wQ0o7O0FPL29DQTtFQUNJO0VBQ0g7RUFDRztFQUNBO0FQa3BDSjs7QU8vb0NBOzs7O0VBSUM7RUFDRztBUGtwQ0o7O0FPL29DQTtFQUNDO0VBQ0E7RUFDRztBUGtwQ0o7O0FPL29DQTtFQUNJO0VBQ0E7QVBrcENKOztBTy9vQ0E7RUFDSTtFQUNBO0VBQ0E7QVBrcENKOztBTy9vQ0E7RUFDSTtFQUNBO0VBQ0E7QVBrcENKOztBTy9vQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQa3BDSjs7QU8vb0NBO0VBQ0k7RUFDQTtFQUNBO0FQa3BDSjs7QU8vb0NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVBrcENKOztBTy9vQ0E7RUFDSTtFQUNBO0FQa3BDSjs7QU8vb0NBOzsrRUFBQTtBQUlBOztFQUVDO0VBQ0E7RUFDQTtBUGlwQ0Q7O0FPOW9DQTs7RUFFQztFQUNBO0FQaXBDRDs7QU85b0NBOztFQUVDO0FQaXBDRDs7QU85b0NBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5Qk50TGM7RU11TGQ7QVBpcENKOztBTzlvQ0E7RUFDSTtJQUNJO0VQaXBDTjtBQUNGO0FPOW9DQTtFQUNDO0FQZ3BDRDs7QU83b0NBO0VBQ0M7QVBncENEOztBTzdvQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY050Tlk7RU11Tlo7RUFDRztFQUNIO0FQZ3BDRDs7QU83b0NBOzs7RUFHSTtBUGdwQ0o7O0FPN29DQTs7O0VBR0k7QVBncENKOztBTzdvQ0E7RUFDSSxtQk5sTk87RU1tTlAsa0JObk5PO0VNb05QO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNJO0VBQ0k7QVBncENaOztBTzdvQ0E7RUFDSTtFQUNBO0VBQ0EsbUJObk9PO0VNb09QLGtCTnBPTztFTXFPUDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUGdwQ0o7O0FPN29DQTs7RUFFSTtBUGdwQ0o7O0FPN29DQTtFQUNJO0VBQ0E7QVBncENKOztBTzdvQ0E7RUFDSTtFQUNBO0VBQ0E7QVBncENKOztBTzdvQ0E7RUFDSTtJQUNJO0VQZ3BDTjtBQUNGO0FPN29DQTs7RUFFSTtFQUNBO0FQK29DSjs7QU81b0NBOzs7O0VBSUk7RUFDQTtBUCtvQ0o7O0FPNW9DQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQK29DSjs7QU81b0NBOztFQUVJO0FQK29DSjs7QU81b0NBOztFQUVJO0VBQ0E7QVArb0NKOztBTzVvQ0E7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0c7QVA4b0NKOztBTzNvQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0FQOG9DSjs7QU8zb0NBO0VBQ0k7RUFDSDtFQUNBO0FQOG9DRDs7QU8zb0NBOzsrRUFBQTtBQUlBO0VBQ0M7QVA2b0NEOztBTzFvQ0E7RUFDQztBUDZvQ0Q7O0FPMW9DQTtFQUNDLFdOcldrQjtFTXNXZjtBUDZvQ0o7O0FPMW9DQTs7K0VBQUE7QUFJQTtFQUNDOzs7SUFHQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVA0b0NBO0FBQ0Y7QU96b0NBO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFUDJvQ047QUFDRjtBT3hvQ0E7RUFDSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVAwb0NOO0FBQ0Y7QU90b0NBO0VBQ0k7SUFDSTtFUHdvQ047QUFDRjtBUW5qREE7OytFQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNIO0FScWpERDs7QVFsakRBO0VBQ0M7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNIO0VBQ0E7RUFDQTtFQUNHLHlCUEljO0VPSGQ7QVJxakRKOztBUWpqREE7RUFDSTtFQUNIO0VBQ0E7RUFDQTtFQUNHO0FSb2pESjs7QVFqakRBO0VBQ0M7QVJvakREOztBUWpqREE7OytFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBUm1qREo7O0FRL2lEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FSa2pESjs7QVEvaURBO0VBQ0k7RUFDQTtFQUNBO0FSa2pESjs7QVEvaURBO0VBQ0M7QVJrakREOztBUS9pREE7RUFDQztBUmtqREQ7O0FRL2lEQTtFQUNJO0VBQ0g7RUFDQTtFQUNHO0VBQ0g7QVJrakREOztBUS9pREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlB6RGM7RU8wRFg7RUFDSDtBUmtqREQ7O0FRL2lEQTs7RUFFQztBUmtqREQ7O0FRL2lEQTtFQUNDO0FSa2pERDs7QVE5aURBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDRztFQUNBO0FSZ2pESjs7QVE3aURBO0VBQ0M7RUFDQTtFQUNBO0FSZ2pERDs7QVE3aURBO0VBQ0M7QVJnakREOztBUTdpREE7RUFDQztBUmdqREQ7O0FRNWlEQTtFQUNDO0VBQ0E7RUFDQTtBUitpREQ7O0FRNWlEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCUDlHYztFTytHWDtFQUNIO0FSK2lERDs7QVE1aURBOztFQUVDO0FSK2lERDs7QVE1aURBOztFQUVDO0FSK2lERDs7QVNyc0RBOzsrRUFBQTtBQUlBO0VBQ0MsbUJSMkJXO0VRMUJSLHNCUjJCUTtFUTFCUjtFQUNBO0VBQ0EseUJSYU07RVFaTjtBVHVzREo7O0FTcHNEQTs7O0VBR0M7RUFDQTtFQUNBO0FUdXNERDs7QVNwc0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUdXNESjs7QVNwc0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNIO0VBQ0c7RUFDQTtFQUNBO0FUdXNESjs7QVNwc0RBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0FUc3NE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SUFDQTtFaEI4bEhBO0VnQjNsSEU7SUFDSTtFaEI2bEhOO0VnQjFsSEQ7SUFDQztFaEI0bEhBO0VnQnpsSEQ7Ozs7O0lBS0M7RWhCMmxIQTtFZ0J4bEhEO0VBQ0E7SUFDQztFaEIwbEhBO0VnQnZsSEQ7SUFDQztFaEJ5bEhBO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9faGVscGVycy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX29mZmNhbnZhcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19jb250ZW50ZWxlbWVudHMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3JhdGlvYm94LnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19wcmludC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKkBpbXBvcnQgXCIuLi9mb250cy9pbmxpbmVGb250cy5zY3NzXCI7Ki9cbkBpbXBvcnQgXCJjb21tb24vX3ZhcmlhYmxlc1wiO1xuLypAaW1wb3J0IFwiY29tbW9uL19mb250c1wiOyovXG5AaW1wb3J0IFwiY29tbW9uL19ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJjb21tb24vX21peGluc1wiO1xuQGltcG9ydCBcImNvbW1vbi9faGVscGVyc1wiO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogc3R5bGVzIGZvciBldmVyeSBwcm9qZWN0ICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYmFzZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2dyaWRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL190eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9faGVhZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZm9vdGVyXCI7XG5cbi8qIG9wdGlvbmFsIHN0eWxlcyAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX29mZmNhbnZhc1wiO1xuLypAaW1wb3J0IFwiY29tcG9uZW50cy9fdGFibGVzXCI7Ki9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19jb250ZW50ZWxlbWVudHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19idXR0b24tbGlua3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19yYXRpb2JveFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvcm1cIjtcblxuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19yZXNwb25zaXZlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcHJpbnRcIjsiLCIvKiBWYXJpYWJsZXMsIE5hbWluZyBtYXkgdmFyeSBmcm9tIHByb2plY3QgdG8gcHJvamVjdCAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgKHNlZSAnX2ZvbnRzLnNjc3MnIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGxpY2Vuc2UpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuLyogQGltcG9ydCB1cmwoJy8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvNDI2NTYzJyk7ICovXG5cbiRmb250LXN0YWNrLWRlZmF1bHQ6ICdGaWVsZHdvcmsnLCAnQXJpYWwnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZhbGxiYWNrcyBzYXNzIFZhcmlhYmxlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogdGV4dCAqL1xuJHRleHQtY29sb3I6ICMyODU4NDQ7IC8qIGdyZWVuICovXG4kdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiR0ZXh0LWNvbG9yLWxpbms6ICMyODU4NDQ7IC8qIGdyZWVuICovXG5cbi8qIGJhY2tncm91bmQgKi9cbiRiZy1jb250ZW50OiAjZmZmO1xuJGJnLWRhcms6ICMyNzIxMTc7IC8qIGJsYWNrICovXG4kYmctbGlnaHQ6ICNFQkVCRUI7IC8qIGxpZ2h0IGdyZXkgKi9cbiRjb2xvci1oaWdobGlnaHQ6ICNGNEI5MEE7IC8qIHllbGxvdyAqL1xuJGNvbG9yLXByaW1hcnk6ICMyODU4NDQ7XG5cbi8qIGxpbmUtY29sb3JzICovXG4kYm9yZGVyLWJhc2ljOiAjMjg1ODQ0OyAvKiBncmVlbiAqL1xuXG4vKiBzcGFjaW5nICovXG4kc3BhY2luZy14bDogN3JlbTtcbiRzcGFjaW5nLWw6IDQuOHJlbTtcbiRzcGFjaW5nLW06IDIuOHJlbTtcbiRzcGFjaW5nLXM6IDEuNXJlbTtcbiRzcGFjaW5nLXhzOiAwLjc1cmVtO1xuXG4vKiBncmlkICovXG4kZ3JpZC1jb250YWluZXI6IDIwcHg7XG4kZ3JpZC1yb3c6IC0xMHB4O1xuJGdyaWQtY29sOiAxMHB4O1xuXG5cbi8qIGZvcm0gKi9cbiRib3JkZXItZm9ybTogI0E4QThBODtcbiRib3JkZXItZm9ybS1mb2N1czogIzAwMDtcbiRmb3JtLWRpc2FibGVkOiAjY2NjO1xuJGZvcm0tZXJyb3I6ICNkZDAwMDA7XG4kZm9ybS1vazogIzAwODI4QztcbiRmb3JtLWluaXRpYWw6ICMxRDFEMUI7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbjpyb290IHtcbiAgICAvKiBmb250cyAqL1xuICAgIC0tZm9udC1zdGFjay1kZWZhdWx0OiAnZmllbGR3b3JrJywgJ0FyaWFsJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LXdlaWdodC1ub3JtYWw6IDQwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGRlcjogODAwO1xuICAgIFxuICAgIC8qIHRleHQgICovXG4gICAgLS10ZXh0LWNvbG9yOiAjMjg1ODQ0OyAvKiBncmVlbiAqL1xuICAgIC0tdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiAgICAtLXRleHQtY29sb3ItbGluazogIzI4NTg0NDtcbiAgICAtLXRleHQtY29sb3ItbGluay1ob3ZlcjogIzAwMDtcbiAgICBcbiAgICAvKiBmb250LXNpemVzICovXG4gICAgLS1mb250LXNpemUtcm9vdDogMjBweDtcbiAgICAtLWZvbnQtc2l6ZS1oMTogMi42cmVtOyAvKiA1MnB4ICovXG4gICAgLS1mb250LXNpemUtaDI6IDEuOHJlbTsgLyogMzZweCAqL1xuICAgIC0tZm9udC1zaXplLWgzOiAxLjNyZW07XG4gICAgLS1mb250LXNpemUtbGVhZDogMXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1xdW90ZTogMS4zcmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHk6IDFyZW07XG4gICAgLS1mb250LXNpemUtYm9keS1zOiAwLjhyZW07XG4gICAgLS1mb250LXNpemUtbmF2bWFpbjogMS4ycmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHktbDogMS4zcmVtO1xuICAgIC0tZm9udC1zaXplLWtleWZhY3Q6IDIuNnJlbTsgLyogNTJweCAqL1xuICAgIFxuICAgIC8qIGNvbG9ycyAvIGJhY2tncm91bmQgKi9cbiAgICAtLWJnLWNvbnRlbnQ6ICNmZmY7XG4gICAgLS1iZy1kYXJrOiAjMDAwOyAvKiBibGFjayAqL1xuICAgIC0tYmctbGlnaHQ6ICNFQkVCRUI7IC8qIGxpZ2h0IGdyZXkgKi9cbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogI0Y0QjkwQTsgLyogeWVsbG93ICovXG4gICAgLS1jb2xvci1wcmltYXJ5OiAjMjg1ODQ0OyAvKiBncmVlbiAqL1xuICAgIC0tYmctZm9vdGVyOiAjMjcyMTE3OyAvKiBibGFjayAqL1xuICAgIFxuICAgIC8qIGxpbmVzICovXG4gICAgLS1ib3JkZXItYmFzaWM6ICMyODU4NDQ7IC8qIGdyZWVuICovXG4gICAgLS1ib3JkZXItd2lkdGgtYmlnOiA4cHg7XG4gICAgXG4gICAgLyogc3BhY2luZyBiZXR3ZWVuIGNvbXBvbmVudHMgYmFzZWQgb24gcmVtICovXG4gICAgLS1zcGFjaW5nLXhsOiA3cmVtO1xuICAgIC0tc3BhY2luZy1sOiA0LjhyZW07XG4gICAgLS1zcGFjaW5nLW06IDIuOHJlbTsgXG4gICAgLS1zcGFjaW5nLXM6IDEuNXJlbTtcbiAgICAtLXNwYWNpbmcteHM6IDAuNzVyZW07ICAgXG4gICAgXG4gICAgLS1wYWRkaW5nLWJveDogMS41ZW0gMjRweDtcbiAgICAtLW1hcmdpbi1oZWFkZXI6IDhweDtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDk2cHg7XG4gICAgIFxuICAgIC8qIGdyaWQgKi9cbiAgICAtLWdyaWQtY29udGFpbmVyOiAyNHB4O1xuICAgIC0tZ3JpZC1yb3c6IC0xMnB4O1xuICAgIC0tZ3JpZC1jb2w6IDEycHg7XG4gICAgXG4gICAgLyogZm9ybSAqL1xuICAgIC0tYm9yZGVyLWZvcm06ICMyODU4NDQ7IFxuICAgIC0tYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDA7XG4gICAgLS1ib3JkZXItZm9ybS13aWR0aDogNHB4O1xuICAgIC0tZm9ybS1kaXNhYmxlZDogI2NjYztcbiAgICAtLWZvcm0tZXJyb3I6ICNkZDAwMDA7XG4gICAgLS1mb3JtLW9rOiAjMDA4MjhDO1xuICAgIC0tZm9ybS1pbml0aWFsOiAjMUQxRDFCO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRXhlcHRpb25zIGZvciBkaWZmZXJlbnQgYmFja2dyb3VuZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtbGlnaHQge1xuICAgIC0tdGV4dC1jb2xvcjogI2ZmZjtcbiAgICAtLXRleHQtY29sb3ItbGluazogI2ZmZjtcbiAgICAtLXRleHQtY29sb3ItbGluay1ob3ZlcjogI2ZmZjtcbiAgICAtLWJvcmRlci1iYXNpYzogI2ZmZjtcbn1cblxuLmMtYm94IC5jLXRleHQtYmxvY2sge1xuICAgIC0tY29sb3ItaGlnaGxpZ2h0OiAjZmZmO1xufVxuXG4uYy1ib3gtbGlnaHQgLmMtdGV4dC1ibG9jayB7XG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICNGNEI5MEE7XG59XG5cbi5jLWZvb3RlciB7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWZvcm0tb3JkZXItbGlzdCB7XG4gICAgLS1ib3JkZXItYmFzaWM6ICNjY2Q0ZDA7XG59XG5cbi5jLXN0ZXAtbmF2LWFjdGl2ZSB7XG4gICAgLS10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIC0tYm9yZGVyLWJhc2ljOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1zdGVwLW5hdi1kaXNhYmxlZCB7XG4gICAgLS10ZXh0LWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG4gICAgLS1ib3JkZXItYmFzaWM6IHZhcigtLWJnLWxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlc3BvbnNpdmUgQ3VzdG9tIFByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZ3JpZC1jb250YWluZXI6IDQ4cHg7XG4gICAgICAgIC0tZ3JpZC1yb3c6IC0yNHB4O1xuICAgICAgICAtLWdyaWQtY29sOiAyNHB4O1xuICAgICAgICBcbiAgICAgICAgLS1wYWRkaW5nLWJveDogMi40ZW0gNDhweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNjAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZ3JpZC1jb250YWluZXI6IDU2cHg7XG4gICAgICAgIC0tZ3JpZC1yb3c6IC0yOHB4O1xuICAgICAgICAtLWdyaWQtY29sOiAyOHB4O1xuICAgICAgICBcbiAgICAgICAgLS1wYWRkaW5nLWJveDogMi42ZW0gNTZweDsgICAgICAgIFxuICAgICAgICAtLW1hcmdpbi1oZWFkZXI6IDE2cHg7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1zcGFjaW5nLXhsOiAzLjVyZW07XG4gICAgICAgIC0tc3BhY2luZy1sOiAyLjhyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHsgIFxuICAgIDpyb290IHtcbiAgICAgICAgLS1oZWFkZXItaGVpZ2h0OiA3MHB4O1xuICAgIH1cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLypcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb3JyZWN0cyB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFNi83IHdoZW4gYm9keSBmb250LXNpemUgaXMgc2V0IHVzaW5nIGVtIHVuaXRzXG4gKiAgICBodHRwOi8vY2xhZ251dC5jb20vYmxvZy8zNDgvI2M3OTBcbiAqIDIuIEtlZXBzIHBhZ2UgY2VudHJlZCBpbiBhbGwgYnJvd3NlcnMgcmVnYXJkbGVzcyBvZiBjb250ZW50IGhlaWdodFxuICogMy4gUHJldmVudHMgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb21cbiAqICAgIHd3dy40NTZiZXJlYXN0cmVldC5jb20vYXJjaGl2ZS8yMDEwMTIvY29udHJvbGxpbmdfdGV4dF9zaXplX2luX3NhZmFyaV9mb3JfaW9zX3dpdGhvdXRfZGlzYWJsaW5nX3VzZXJfem9vbS9cbiAqIDQuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogNCAqL1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG5cblxuICovXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgLyogY3ViZWdyYWZpayAqL1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qXG4qIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLypcbiAqIEltcHJvdmVzIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnNcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5cbnEge1xuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG5cbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cblxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSAnYScgZWxlbWVudCBpbiBJRTYvNy84LzksIEZGM1xuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRTdcbiAqICAgIGNvZGUuZmxpY2tyLmNvbS9ibG9nLzIwMDgvMTEvMTIvb24tdWktcXVhbGl0eS10aGUtbGl0dGxlLXRoaW5ncy1jbGllbnQtc2lkZS1pbWFnZS1yZXNpemluZy9cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cbn1cblxuLypcbiAqIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRTlcbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdHMgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRTYvN1xuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZ1xuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6MDsgLyogY3ViZWdyYWZpayAqL1xuICAgIG1hcmdpbjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgcGFkZGluZzowOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICBib3JkZXI6IDA7XG59XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDQgKi9cbn1cblxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlcyBpbm5lciBzcGFjaW5nIGluIElFNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFNi5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgLyogNCAqL1xufVxuXG4vKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50c1xuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcblxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8qKlxuXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHNcbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbGVtZW50cyBjdWJlZ3JhZmlrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuXG5kaXYsIHAge1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46MDtcbn1cblxuaHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRoLCB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIC8qIFJlbW92ZWQgYmVjYXVzZSBvZiB2aXNpYmlsaXR5Y2hhbmdlLWFkZGl0aW9uIHRvIGZhbmN5LWZvcm1zIHBsdWdpbi5cbiAgICAgKiAyMDE1LzAxLzIyIC0gRmxvcmlhbiBNw6RkZXJcbiAgICAgKiAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7Ki9cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmh0bWwge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDMuMCAtIDUuMCwgQ2hyb21lIDEgLSA5LCBBbmRyb2lkIDIuMSAtIDMueCAqL1xuICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogRmlyZWZveCAxIC0gMjggKi9cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArLCBGaXJlZm94IDI5KywgT3BlcmEgNyssIElFIDgrLCBBbmRyb2lkIDQuMCssIGlPUyBhbnkgKi9cbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgICAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxubGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBJRSAxMCAgKi9cbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDExKyAqL1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtIFBsYWNlaG9sZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgICAge0Bjb250ZW50fVxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICB7QGNvbnRlbnR9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH0gIFxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgc21vb3RoaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJHZhbHVlOiBvbikge1xuICAgIEBpZiAkdmFsdWUgPT0gb24ge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEhpZGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGlkZS12aXN1YWxseSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5jLWhpZGUtY29tcGxldGVseSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogaW1hZ2UgcmVwbGFjZW1lbnQgKi9cbi5jLWlyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogMDtcblx0dGV4dC1pbmRlbnQ6IC05OTllbTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGRpcmVjdGlvbjogbHRyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGlja3kgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jLWhlYWRlcixcbi5jLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jLWNvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBQcm9qZWN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5IHtcblx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWRlZmF1bHQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stZGVmYXVsdCk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBsaW5rcyAqL1xuYSxcbmE6dmlzaXRlZCxcbmE6Zm9jdXMsXG5hOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpbms7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGluayk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpmb2N1cyxcbmE6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saW5rLWhvdmVyKTtcbn1cblxucDplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stZGVmYXVsdCk7XG59XG5cbnRleHRhcmVhIHtcblx0cmVzaXplOiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBpbWcgLyBtZWRpYSBkZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZW1iZWQsXG5vYmplY3QsXG52aWRlbyxcbmlmcmFtZSxcbmltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYy1pbWctbWF4LXdpZHRoLFxuLmMtY29udGVudCAuYy1pbWctbWF4LXdpZHRoIHtcblx0d2lkdGg6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuaW1nIHsgXG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIE1haW4gQ29udGFpbmVyIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oZWFkZXIsXG4uYy1jb250ZW50LFxuLmMtZm9vdGVyLFxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLW1lZGl1bSxcbi5jLWNvbnRhaW5lci13aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIFBhZGRpbmcgYmV0d2VlbiBDb21wb25lbnRzIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLW1lZGl1bSxcbi5jLXRlYXNlci1pdGVtLFxuLmMtdGVhbS1pdGVtLFxuLmMtc3BvbnNvcmluZy1pdGVtLFxuLmMtZm9ybS1vcmRlci1pdGVtLFxuLmMta2V5ZmFjdHMtaXRlbSB7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy14bDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14bCk7XG59XG5cbi5jLW1haW4tdGl0bGUge1xuXHRtYXJnaW4tdG9wOiAkc3BhY2luZy14bDtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcteGwpICsgdmFyKC0taGVhZGVyLWhlaWdodCkpO1xufVxuXG4uYy1zaG93cm9vbSxcbi5jLWtleWZhY3RzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy14bDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhsKTtcbn1cblxuLmMtY29udGFpbmVyLW5vLXBhZGRpbmcge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtc2VjdGlvbi10aXRsZSB7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy14cztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5jLXNob3dyb29tLXRleHQtaW5uZXIsXG4uYy1rZXlmYWN0cyB7XG5cdHBhZGRpbmctdG9wOiAkc3BhY2luZy14bDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy14bCk7XG59XG5cbi5jLXRlYXNlci1jdGEgKyAuYy10ZWFzZXItY3RhIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcteGwpICogLTEpO1xufVxuXG4uYy10ZWFzZXItY3RhICsgLmMtdGVhc2VyLWN0YSAuYy1ib3gtYm9yZGVyIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xufVxuXG4uYy10ZXh0LW9ubHkgKyAuYy10ZXh0LW9ubHksXG4uYy1zaG93cm9vbSArIC5jLWtleWZhY3RzIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcteGwpICogLTEpO1xufVxuXG4uYy1zdGVwLW5hdiB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBHcmlkIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250YWluZXIsXG4uYy1jb250YWluZXItbWVkaXVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4uYy1yb3cge1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmMtcm93LWp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmMtcm93LWp1c3RpZnktcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmMtcm93LWFsaWduLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXJvdy1hbGlnbi1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmMtY29sLTEsXG4uYy1jb2wtMixcbi5jLWNvbC0zLFxuLmMtY29sLTQsXG4uYy1jb2wtNSxcbi5jLWNvbC02LFxuLmMtY29sLTcsXG4uYy1jb2wtOCxcbi5jLWNvbC05LFxuLmMtY29sLTEwLFxuLmMtY29sLTExLFxuLmMtY29sLTEyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG59XG5cbi5jLWNvbC0xMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgIFxufVxuXG4uYy1jb2wtMTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG59XG5cbi5jLWNvbC0xMCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLmMtY29sLTkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNzUlO1xuICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG59XG5cbi5jLWNvbC04IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xufVxuXG4uYy1jb2wtNyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLmMtY29sLTYge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jLWNvbC01IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xufVxuXG4uYy1jb2wtNCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtY29sLTMge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5jLWNvbC0yIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xufVxuXG4uYy1jb2wtMSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlO1xufVxuXG4vKiBvZmZzZXQgY29scyAqL1xuLmMtY29sLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmMtY29sLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY3JTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgVmFyaWFudGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLFxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIHtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG59XG5cbi5jLXRlYXNlci1jdGEge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcyAuYy1ib3gge1xuICAgIG1hcmdpbi1yaWdodDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbn1cblxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIC5jLWJveCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbn1cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1pbWcge1xuICAgIG1hcmdpbi1yaWdodDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbn1cblxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzLWltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbn1cblxuLmMtbmV3cy10ZXh0IC5jLWNvbC01IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xufVxuXG4uYy1hc3ltLWxlZnQtZWRnZWxlc3MtaW1nIC5jLWxlZ2VuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuXHRmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcm9vdCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUaXRsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZGVyKTtcbiAgICB0ZXh0LXdyYXA6YmFsYW5jZTtcbn1cblxuaDEsXG4uYy1oMSB7XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdGZvbnQtc2l6ZTogMi42cmVtOyBcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMSk7XG59XG5cbmgxICsgLmMtbGVhZCB7XG4gICAgcGFkZGluZy10b3A6IDAuOGVtO1xufVxuXG5oMixcbi5jLWgyIHtcblx0cGFkZGluZy1ib3R0b206IC41ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdGZvbnQtc2l6ZTogMS44cmVtOyBcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMik7XG59XG5cbmgzLFxuLmMtaDMge1xuXHRwYWRkaW5nLWJvdHRvbTogMC41ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgzKTtcbn1cblxuaDQsXG4uYy1oNCB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0Zm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgVGV4dCBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5iLCBzdHJvbmcsXG4uYy10ZWFzZXItY3RhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLXRlYXNlci1jdGEgLmMtdGV4dC1iaWcsXG4uYy1jb250YWN0IC5jLXRleHQtYmlnIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4uYy1jb250ZW50IHtcblx0bGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmMtZm9vdGVyIHtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmMtdGV4dC1ibG9jayBwIHtcblx0cGFkZGluZy1ib3R0b206IDEuMmVtO1xufVxuXG5cbi5jLXRleHQtYmxvY2sgcCArIGgyLFxuLmMtdGV4dC1ibG9jayBwICsgaDMsXG4uYy10ZXh0LWJsb2NrIHAgKyBoNCxcbi5jLXRleHQtYmxvY2sgcCArIHVsLFxuLmMtdGV4dC1ibG9jayB1bCArIHAsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDIsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDMsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDQsXG4uYy10ZXh0LWJsb2NrIHVsICsgb2wsXG4uYy10ZXh0LWJsb2NrIG9sICsgcCxcbi5jLXRleHQtYmxvY2sgb2wgKyBoMixcbi5jLXRleHQtYmxvY2sgb2wgKyBoMyxcbi5jLXRleHQtYmxvY2sgb2wgKyBoNCxcbi5jLXRleHQtb25seSArIC5jLXRleHQtb25seSAuYy10ZXh0LWJsb2NrIGgyLFxuLmMtdGV4dC1vbmx5ICsgLmMtdGV4dC1vbmx5IC5jLXRleHQtYmxvY2sgaDMsXG4uYy10ZXh0LW9ubHkgKyAuYy10ZXh0LW9ubHkgLmMtdGV4dC1ibG9jayBoNCxcbi5jLXRleHQtb25seSArIC5jLXRleHQtb25seSAuYy10ZXh0LWJsb2NrIHVsIHtcblx0cGFkZGluZy10b3A6IDEuMmVtO1xufVxuXG4uYy10ZWFtLWl0ZW0gcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNmVtO1xufVxuXG5cbi5jLWxlYWQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZWFkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLXRleHQtc21hbGwsXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSxcbi5jLWZvb3Rlcixcbi5jLWJyZWFkY3J1bWIge1xuXHRmb250LXNpemU6IDAuOHJlbTsgLyogMTZweCAqL1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbi5jLWxlZ2VuZCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMWVtO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbi5jLXRleHQtYmlnIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LWwpO1xufVxuXG4uYy1uZXdzLWNhdGVnb3J5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZGVyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG59XG5cbi5jLW5ld3MtZGF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICAgIHBhZGRpbmctbGVmdDogMC4yNWVtO1xufVxuXG4uYy1rZXlmYWN0cy1uciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyLjZyZW07IFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWtleWZhY3QpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkZXIpO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjM1ZW07XG59XG5cbi5jLWtleWZhY3RzLW5yIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1jYXRlZ29yeS10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGRlcik7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xufVxuXG4uYy10ZXh0LTJjb2wgLmMtY2F0ZWdvcnktdGl0bGUge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIHZhcigtLWJvcmRlci13aWR0aC1iaWcpIHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2ljIExpc3RzIENvbnRlbnQgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWJsb2NrIHVsLFxuLmMtdGV4dC1ibG9jayBvbCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMCAwIDEuMmVtIDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLXRleHQtYmxvY2sgdWwgbGksXG4uYy10ZXh0LWJsb2NrIG9sIGxpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6IDI0cHg7XG59XG5cbi5jLXRleHQtYmxvY2sgdWwgbGkgKyBsaSxcbi5jLXRleHQtYmxvY2sgb2wgbGkgKyBsaSB7XG5cdG1hcmdpbi10b3A6IDAuNWVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjU1ZW07XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNnB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgLmMtdGV4dC1ibG9jayB1bCBsaTo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwLjM4ZW07XG4gICAgfVxufVxuXG4uYy10ZXh0LWJsb2NrIG9sIHtcblx0Y291bnRlci1yZXNldDogY3VzdG9tLWNvdW50ZXI7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wgbGkge1xuXHRjb3VudGVyLWluY3JlbWVudDogY3VzdG9tLWNvdW50ZXI7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wgbGk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IGNvdW50ZXIoY3VzdG9tLWNvdW50ZXIpIFwiLiBcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAyNnB4O1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy1zcGVjaWFsLWxpc3QgbGksXG4uYy10ZXh0LWJsb2NrIC5jLWpvYnMtbGlzdCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstbGlzdCBsaTo6YmVmb3JlLFxuLmMtdGV4dC1ibG9jayAuYy1zcGVjaWFsLWxpc3QgbGk6OmJlZm9yZSxcbi5jLXRleHQtYmxvY2sgLmMtam9icy1saXN0IGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtc3BlY2lhbC1saXN0IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tbGVmdDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLXNwZWNpYWwtbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtc3BlY2lhbC1saXN0IGxpICsgbGksXG4uYy10ZXh0LWJsb2NrIC5jLWpvYnMtbGlzdCBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYy1qb2JzLWxpc3Qge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1qb2JzLWxpc3QgbGkge1xuICAgIHBhZGRpbmc6IDEuMDVlbSAwIDEuMTVlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAuYy10ZXh0LWJsb2NrIC5jLWpvYnMtbGlzdCBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDEuM2VtIDAgMS4xNWVtIDA7XG4gICAgfVxufVxuXG4uYy1vcGVuaW5nLWhvdXJzLWxpc3QsXG4uYy1mb3JtLW9yZGVyLWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMS4yZW0gMDtcbn1cblxuLmMtb3BlbmluZy1ob3Vycy1saXN0IGR0LCBcbi5jLW9wZW5pbmctaG91cnMtbGlzdCBkZCxcbi5jLWZvcm0tb3JkZXItbGlzdCBkdCxcbi5jLWZvcm0tb3JkZXItbGlzdCBkZHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmMtb3BlbmluZy1ob3Vycy1saXN0IGR0LFxuLmMtZm9ybS1vcmRlci1saXN0IGR0e1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgcGFkZGluZy10b3A6IDAuOGVtO1xufVxuXG4uYy1vcGVuaW5nLWhvdXJzLWxpc3QgZGQsXG4uYy1mb3JtLW9yZGVyLWxpc3QgZGR7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOGVtO1xufVxuXG4uYy1vcGVuaW5nLWhvdXJzLWxpc3QgZGQ6bGFzdC1vZi10eXBlLFxuLmMtZm9ybS1vcmRlci1saXN0IGRkOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUXVvdGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMCAwIDAgdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCB2YXIoLS1ib3JkZXItd2lkdGgtYmlnKSB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0Zm9udC1zaXplOiAxLjNyZW07IFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXF1b3RlKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZGVyKTtcbiAgICB0ZXh0LXdyYXA6YmFsYW5jZTtcbn1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMS41ZW07XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgaGVscGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYy10ZXh0LWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtdGV4dC1saWdodCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IHNpemVzIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzYwcHgpIHtcblx0aDEsIC5jLWgxLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oM3tcblx0XHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0XHQtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRcdC1tcy1oeXBoZW5zOiBhdXRvO1xuXHRcdC1tb3otaHlwaGVuczogYXV0bztcblx0XHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG5cdFx0aHlwaGVuczogYXV0bztcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTEwMHB4KSB7XHQgICAgXG4gICAgOnJvb3Qge1xuICAgICAgICAtLWZvbnQtc2l6ZS1oMTogMi4yNXJlbTsgXG4gICAgICAgIC0tZm9udC1zaXplLWgyOiAxLjZyZW07XG4gICAgICAgIC0tZm9udC1zaXplLW5hdm1haW46IDFyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWtleWZhY3Q6IDIuMjVyZW07IFxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XHQgICAgXG4gICAgOnJvb3Qge1xuICAgICAgICAtLWZvbnQtc2l6ZS1yb290OiAxOHB4O1xuICAgICAgICAtLWZvbnQtc2l6ZS1oMTogMnJlbTsgXG4gICAgICAgIC0tZm9udC1zaXplLWgyOiAxLjVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWgzOiAxLjEyNXJlbTtcbiAgICAgICAgLS1mb250LXNpemUtbGVhZDogMXJlbTtcbiAgICAgICAgLS1mb250LXNpemUtcXVvdGU6IDEuMTI1cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5OiAxcmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5LXM6IDAuODc1cmVtO1xuICAgICAgICAvKi0tZm9udC1zaXplLW5hdm1haW46IDEuMnJlbTsqL1xuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5LWw6IDEuMTI1cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1rZXlmYWN0OiAycmVtOyBcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjM1MHB4KSB7XHQgICAgXG4gICAgOnJvb3Qge1xuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5LWw6IDFyZW07XG4gICAgfVxufVxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcblx0ei1pbmRleDogMTA7XG59XG5cbi5jLWhlYWRlci1pbm5lciB7XG5cdGhlaWdodDogOTZweDtcbiAgICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgIG1hcmdpbjogMTZweCAxNnB4IDAgMTZweDtcbiAgICBtYXJnaW46IHZhcigtLW1hcmdpbi1oZWFkZXIpIHZhcigtLW1hcmdpbi1oZWFkZXIpIDAgdmFyKC0tbWFyZ2luLWhlYWRlcik7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICh2YXIoLS1tYXJnaW4taGVhZGVyKSAqIDIpKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cblxuLmMtaGVhZGVyLWxvZ28ge1xuICAgIG1hcmdpbi10b3A6IDAuNDhyZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDI3MHB4O1xuXHRoZWlnaHQ6IDQwcHg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uYy1oZWFkZXItbG9nbyBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBtZXRhXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oZWFkZXItbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuXG4uYy1oZWFkZXItbGFuZy1saXN0IHtcbiAgICBtYXJnaW46IDAgMCAwIDIuNGVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLWhlYWRlci1sYW5nLWxpc3QgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWhlYWRlci1sYW5nLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLWhlYWRlci1sYW5nLWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMC41ZW07XG59XG5cbi5jLWhlYWRlci1sYW5nLWxpc3QgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcblx0cGFkZGluZy1ib3R0b206IDAuOGVtO1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWJhc2ljO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1oZWFkZXItbGFuZy1saXN0IGE6aG92ZXI6OmJlZm9yZSB7XG5cdGhlaWdodDogOHB4O1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IC5jLWFjdGl2ZSBhOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDRweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbWFpbiBuYXYgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1tYWluLW5hdiB7XG5cdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5hdm1haW4pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMTZweCAwIDAgMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBsaSArIGxpIHtcblx0cGFkZGluZy1sZWZ0OiAxZW07XG59XG5cblxuLmMtbWFpbi1uYXYtbGlzdCBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiAxZW07XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItYmFzaWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGE6Zm9jdXM6OmJlZm9yZSxcbi5jLW1haW4tbmF2LWxpc3QgYTpob3Zlcjo6YmVmb3JlIHtcblx0aGVpZ2h0OiA4cHg7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgLmMtYWN0aXZlIGE6OmJlZm9yZSxcbi5jLW1haW4tbmF2LWxpc3QgLmN1cnJlbnQtbWVudS1pdGVtIGE6OmJlZm9yZSB7XG5cdGhlaWdodDogNHB4O1xufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb290ZXIge1xuXHRwYWRkaW5nLXRvcDogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1mb290ZXIpO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0LFxuLmMtZm9vdGVyLWxpbmstbGlzdCxcbi5jLWZvb3Rlci1wYXJ0bmVyLWxpc3R7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtZm9vdGVyLWRlY28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLWZvb3Rlci1kZWNvOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvZm9vdGVyLXdpdHR3ZXItZGVjby5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wOyBcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG9wYWNpdHk6IDAuMDM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXItTWFpblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyLWxvZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAyNzBweDtcblx0aGVpZ2h0OiA0MHB4O1xufVxuXG4uYy1mb290ZXIgLmMtbGVhZCB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctcztcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG59XG5cbi5jLWZvb3Rlci1saW5rLWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctdG9wOiAwLjVlbTtcbn1cblxuLmMtZm9vdGVyLWFkZHJlc3Mge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG59XG5cbi5jLWZvb3Rlci1tYWluIC5jLWNvbC01LFxuLmMtZm9vdGVyLW1haW4gLmMtY29sLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyLXBhcnRuZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3Rlci1wYXJ0bmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbn1cblxuLmMtZm9vdGVyLXBhcnRuZXItbGlzdHtcblx0ZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLWZvb3Rlci1wYXJ0bmVyLWxpc3QgbGkge1xuICAgIHBhZGRpbmc6IDAuNWVtIDJlbSAxZW0gMDtcbn1cblxuLmMtcGFydG5lci1sb2dvIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyLURpc2NsYWltZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmMtZm9vdGVyLWRpc2NsYWltZXIge1xuXHRwYWRkaW5nLXRvcDogMS41ZW07XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMmVtO1xufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIHRyaWdnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dG9wOiAwLjhlbTtcblx0cmlnaHQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICByaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuXHR3aWR0aDogNDRweDtcblx0aGVpZ2h0OiA0NHB4O1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXI6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyOjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDUwJTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YWZ0ZXIge1xuXHR3aWR0aDogMjRweDtcblx0dHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbi10b3A6IC0xMHB4O1xuXHRib3JkZXItdG9wOiA0cHggc29saWQgJGNvbG9yLXByaW1hcnk7XG5cdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjphZnRlciB7XG5cdGhlaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblx0bWFyZ2luLXRvcDogLTJweDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjpmb2N1czo6YWZ0ZXIsXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOmhvdmVyOjphZnRlciB7XG5cdHdpZHRoOiAxNXB4O1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmFmdGVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdiBtYWluIGNvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtb2ZmY2FudmFzLW5hdiB7XG5cdC8qZGlzcGxheTogbm9uZTsqL1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdHotaW5kZXg6IDEwO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgLjJzIGVhc2Utb3V0IDBzO1xufVxuXG4jb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1vZmZjYW52YXMtbmF2IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLW9mZmNhbnZhcy1pbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1vZmZjYW52YXMtY29udGVudCB7XG5cdC8qcGFkZGluZy10b3A6IDEuNWVtOyovXG59XG5cbi5jLW9mZmNhbnZhcy1sYW5nIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0LFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHVsIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5hdm1haW4pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHVsIHtcdFxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44ZW07XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCB7XG5cdG1hcmdpbi10b3A6IDJlbTtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgdWwgbGkge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LypwYWRkaW5nOiAwLjc1ZW0gOHB4OyovXG4gICAgcGFkZGluZzogMS4wNWVtIDhweCAxLjE1ZW0gOHB4O1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgdWwgYSB7XG5cdHBhZGRpbmc6IDAuOGVtIDhweCAwLjk1ZW0gMzJweDtcbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAuYy1vZmZjYW52YXMtbmF2LWxpc3QgYSB7XG4gICAgICAgIHBhZGRpbmc6IDEuM2VtIDhweCAxLjE1ZW0gOHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbmF2LWxpc3QgdWwgYSB7XG4gICAgICAgIHBhZGRpbmc6IDFlbSA4cHggMC44ZW0gMzJweDtcbiAgICB9XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogOHB4O1xuICAgIG1hcmdpbi10b3A6IC03cHg7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB3aWR0aDogOXB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDBweCAtMjAwcHg7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCB1bCBhOjpiZWZvcmUge1xuXHRsZWZ0OiAzMnB4O1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgLmN1cnJlbnQtbWVudS1pdGVtID4gYTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjAwcHg7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCAuY3VycmVudC1tZW51LWl0ZW0gPiBhe1xuXHRwYWRkaW5nLWxlZnQ6IDI4cHg7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCB1bCAuY3VycmVudC1tZW51LWl0ZW0gPiBhe1xuXHRwYWRkaW5nLWxlZnQ6IDUycHg7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOmZvY3VzLFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGE6aG92ZXIsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgLmN1cnJlbnQtbWVudS1pdGVtID4gYXtcblx0Lypjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7Ki9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBhY2NvcmRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAtOTk5OXB4O1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS10aXRsZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuICAgIC8qcGFkZGluZzogMC43NWVtIDhweDsqL1xuICAgIHBhZGRpbmc6IDEuMDVlbSAzMHB4IDEuMTVlbSA4cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgICAgXG59XG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAxLjNlbSAzMHB4IDEuMTVlbSA4cHg7XG4gICAgfVxufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmV7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDhweCk7XG4gICAgcmlnaHQ6IDhweDtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlIHtcbiAgIFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTE0MHB4O1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0MHB4O1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGN1YmljLWJlemllcigwLDEsMCwxKTtcbn0gICAgXG5cbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOmNoZWNrZWQgfiAuYy1vZmZjYW52YXMtbWVudS1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiA5OTk5cHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGN1YmljLWJlemllcigxLDAsMSwwKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgb3BlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuXHQuYy1vZmZjYW52YXMtbmF2IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cblx0XG5cdC5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJnLWxpZ2h0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgU2hvd3Jvb20gXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zaG93cm9vbSB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXNob3dyb29tLFxuLmMtc2hvd3Jvb20tdGV4dCAuYy1yb3cge1xuXHRtaW4taGVpZ2h0OiAxMDB2aDsgXG59XG5cblxuLyogbWluLWhlaWdodCBmaXggZm9yIGllMTEgKi9cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICBcdC5jLXNob3dyb29tLXRleHQgLmMtcm93OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHQvKmRpc3BsYXk6IGJsb2NrOyovXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOiAwO1xuXHR9XG59XG5cbi5jLXNob3dyb29tLWltZyxcbi5jLXNob3dyb29tLXZpZGVvLFxuLmMta2V5ZmFjdHMtc3VzdGFpbmFiaWxpdHktaW1nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLmMtc2hvd3Jvb20taW1nIGltZyxcbi5jLXNob3dyb29tLXZpZGVvIHZpZGVvLFxuLmMta2V5ZmFjdHMtc3VzdGFpbmFiaWxpdHktaW1nIGltZ3tcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jLW1haW4tdGl0bGUtYm94IHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctYm94KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIG5ld3MgLyBib3hcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1uZXdzIC5jLWNvbC01LFxuLmMtbmV3cyAuYy1jb2wtNyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbn1cblxuLmMtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWJveC1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcbn1cblxuLmMtYm94LWlubmVyIHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctYm94KTtcbn1cblxuLmMtbmV3cy1pbWctY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDU2MHB4O1xufVxuXG4uYy1uZXdzLWltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmMtbmV3cy1pbWcgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgdGVhc2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZWFzZXItaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAvKmJvcmRlci10b3A6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTsqL1xufVxuXG4uYy10ZWFzZXItaXRlbTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1iYXNpYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtdGVhc2VyLWl0ZW06Zm9jdXM6OmJlZm9yZSxcbi5jLXRlYXNlci1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIGhlaWdodDogOHB4O1xufVxuXG5cbi5jLXRlYXNlci1saW5rOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXRlYXNlci1pbWctY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLXRlYXNlci1pbWcge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHRlYXNlciBDVEFcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJveC1ib3JkZXIge1xuICAgIGJvcmRlcjogc29saWQgOHB4ICRjb2xvci1wcmltYXJ5O1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLWJpZyk7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItcHJpbWFyeSk7XG59XG5cbi5jLWJveC1ib3JkZXItaW5uZXIge1xuICAgIHBhZGRpbmc6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgdGVhbSAvIHNwb25zb3JpbmcgLyBmb3JtIG9yZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtdGVhbS1pdGVtLFxuLmMtc3BvbnNvcmluZy1pdGVtLFxuLmMtZm9ybS1vcmRlci1pdGVtIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLXRlYW0taXRlbSAuYy1yYXRpb2JveC10ZWFtLFxuLmMtc3BvbnNvcmluZy1pdGVtIC5jLXNwb25zb3JpbmctbG9nbyxcbi5jLWZvcm0tb3JkZXItaXRlbSAuYy1yYXRpb2JveC1mb3JtLW9yZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5jLXNwb25zb3JpbmctbG9nbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleDogMSAwIGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1zcG9uc29yaW5nLWxvZ286OmJlZm9yZSB7XG4gXHRjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogNjAlO1xuXHRmbG9hdDpsZWZ0O1xufVxuXG4uYy1zcG9uc29yaW5nLWxvZ28gaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAga2V5ZmFjdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1rZXlmYWN0cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWtleWZhY3RzLWl0ZW0ge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICBwYWRkaW5nLXRvcDogMC44ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1rZXlmYWN0cy1kZWNvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMta2V5ZmFjdHMtc3VzdGFpbmFiaWxpdHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBTdGVwIG5hdiBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1zdGVwLW5hdi1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xufVxuXG4uYy1zdGVwLW5hdi1saXN0IGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtc3RlcC1uYXYtc3RlcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMTVlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMik7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGRlcik7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgOHB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLXdlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLWJpZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQnJlYWRjcnVtYiAvIENhdGVnb3J5IGxpc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1icmVhZGNydW1iIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNDVlbTtcbn1cblxuLmMtYnJlYWRjcnVtYiB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7ICAgIFxufVxuXG4uYy1icmVhZGNydW1iIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMzZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy14cztcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhzKTtcbn1cblxuLmMtYnJlYWRjcnVtYiBsaTpsYXN0LWNoaWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmMtYnJlYWRjcnVtYiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gMThweCk7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1iYXNpYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIG9wYWNpdHk6IDAuMztcbn1cblxuLmMtYnJlYWRjcnVtYiBsaTpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIENvb2tpZSBub3RpY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvb2tpZS1ub3RpY2V7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgcGFkZGluZzogMS41cmVtIDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblx0Ym9yZGVyOiBzb2xpZCA4cHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC1iaWcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4uYy1jb29raWUtbm90aWNlIC5jLWJ0bntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNWVtIDAgMCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgICAgXG5cdC5jLWNvb2tpZS1ub3RpY2Uge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLXRvcDogc29saWQgOHB4ICRib3JkZXItYmFzaWM7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLWJpZyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rIGNvbG9ycyBhbmQgc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hW2hyZWZePVwidGVsOlwiXSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtdGV4dC1ibG9jayBhIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwkY29sb3ItaGlnaGxpZ2h0IDAlLCRjb2xvci1oaWdobGlnaHQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSx2YXIoLS1jb2xvci1oaWdobGlnaHQpIDAlLHZhcigtLWNvbG9yLWhpZ2hsaWdodCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMyJSAzMiU7XG4gIFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMXM7XG59XG5cbi5jLXRleHQtYmxvY2sgYTpmb2N1cyxcbi5jLXRleHQtYmxvY2sgYTpob3ZlciB7XG5cdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5jLXRleHQtYmxvY2sgYSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MCUgNDAlO1xuICAgIH1cblxuICAgIC5jLXRleHQtYmxvY2sgYTpmb2N1cyxcbiAgICAuYy10ZXh0LWJsb2NrIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICB9XG59XG5cbi5jLXRleHQtYmxvY2sgaDIgYSxcbi5jLXRleHQtYmxvY2sgLmMtYnRuLFxuLmMtdGV4dC1ibG9jayAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstYXJyb3csXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZG93bmxvYWQsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZXh0ZXJuLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWJhY2sge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYnRuLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDEuMDVlbSA0MHB4IDEuMTVlbSA0MHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAgXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkZXIpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5jLWJ0bixcbiAgICAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl17XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjI1ZW07XG4gICAgfVxufVxuXG4uYy1idG4sXG4uYy1idG46dmlzaXRlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtYnRuOmhvdmVyLCBcbi5jLWJ0bjpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3Zlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGluay1ob3Zlcik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4uYy1idG4tc21hbGwge1xuICAgcGFkZGluZzogMC41ZW0gMjBweCAwLjdlbSAyMHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgLmMtYnRuLXNtYWxse1xuICAgICAgICBwYWRkaW5nLXRvcDogMC44ZW07XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBsaW5rcyB3aXRoIGljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1pY29uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1pY29uOjpiZWZvcmUsXG4uYy1pY29uOjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uYy1saW5rLWFycm93LFxuLmMtbGluay1kb3dubG9hZCxcbi5jLWxpbmstZXh0ZXJuLFxuLmMtbGluay1iYWNrLFxuLmMtaGVhZGVyLWxpbmstcGhvbmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmctbGVmdDogMzJweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGRlcik7XG59XG5cbi5jLWhlYWRlci1saW5rLXBob25lIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy10ZWFzZXItaXRlbSAuYy1saW5rLWFycm93IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtdGVhc2VyLWl0ZW06aG92ZXIgLmMtbGluay1hcnJvdyxcbi5jLXRlYXNlci1pdGVtOmZvY3VzIC5jLWxpbmstYXJyb3csIHtcblx0Y29sb3I6IHZhcigtLXRleHQtY29sb3ItbGluay1ob3Zlcik7XG59XG5cbi5jLWxpbmstYXJyb3c6OmJlZm9yZSxcbi5jLWxpbmstYmFjazo6YmVmb3JlIHtcblx0dG9wOiAwLjMyZW07XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAyNXB4O1xuXHRoZWlnaHQ6IDE1cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cblxuLmMtbGluay1hcnJvdzpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1hcnJvdzpmb2N1czo6YmVmb3JlLFxuLmMtdGVhc2VyLWl0ZW06aG92ZXIgLmMtbGluay1hcnJvdzo6YmVmb3JlLFxuLmMtdGVhc2VyLWl0ZW06Zm9jdXMgLmMtbGluay1hcnJvdzo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggMDtcbn1cblxuXG4uYy1saW5rLWJhY2s6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwcHg7XG59XG5cbi5jLWxpbmstYmFjazpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1iYWNrOmZvY3VzOjpiZWZvcmUge1xuXHRsZWZ0OiAtNHB4O1xufVxuXG4uYy1saW5rLWRvd25sb2FkOjpiZWZvcmUge1xuXHR0b3A6IDBlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDIxcHg7XG5cdGhlaWdodDogMjJweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDBweDtcbn1cblxuLmMtbGluay1kb3dubG9hZDpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1kb3dubG9hZDpmb2N1czo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTQwcHg7XG59XG5cbi5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuXHR0b3A6IDBlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDIxcHg7XG5cdGhlaWdodDogMjFweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDtcbn1cblxuLmMtbGluay1leHRlcm46aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstZXh0ZXJuOmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtODBweDtcbn1cblxuLmMtaGVhZGVyLWxpbmstcGhvbmUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xufVxuXG4uYy1oZWFkZXItbGluay1waG9uZTo6YmVmb3JlIHtcblx0dG9wOiAtMC4wM2VtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAyMXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTBweDtcbn1cblxuLmMtc3BlY2lhbC1saXN0LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjhlbSAwIDEuM2VtIDMycHg7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4uYy1zcGVjaWFsLWxpc3QtaXRlbTo6YmVmb3JlIHtcblx0dG9wOiBjYWxjKDAuOGVtICsgMC4yZW0pO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMjNweDtcblx0aGVpZ2h0OiAyMXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDtcbn1cblxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5jLWxpbmstYXJyb3c6OmJlZm9yZSxcbiAgICAuYy1saW5rLWJhY2s6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMC4xNWVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1saW5rLWRvd25sb2FkOjpiZWZvcmUge1xuICAgICAgICB0b3A6IC0wLjE1ZW07XG4gICAgfVxuICAgIFxuICAgIC5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuICAgICAgICB0b3A6IC0wLjE4ZW07XG4gICAgfVxuICAgIFxuICAgIC5jLWhlYWRlci1saW5rLXBob25lOjpiZWZvcmUge1xuICAgICAgICB0b3A6IC0wLjE4ZW07XG4gICAgfVxuICAgIFxuICAgIC5jLXNwZWNpYWwtbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOGVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1zcGVjaWFsLWxpc3QtaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiBjYWxjKDAuOGVtICsgMC4xZW0pO1xuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICByZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgICBcblx0LmMtbGluay1hcnJvdzo6YmVmb3JlLFxuXHQuYy1saW5rLWJhY2s6OmJlZm9yZSB7XG5cdFx0dG9wOiAwLjNlbTtcblx0fVxuXHRcblx0LmMtbGluay1kb3dubG9hZDo6YmVmb3JlIHtcblx0XHR0b3A6IC0uMDRlbTtcblx0fVxuXHRcblx0LmMtbGluay1leHRlcm46OmJlZm9yZSB7XG5cdFx0dG9wOiAtLjA0ZW07XG5cdH1cbiAgICBcbiAgICAuYy1zcGVjaWFsLWxpc3QtaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwLjhlbTtcbiAgICB9XG4gICAgXG4gICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAgICAgLmMtbGluay1hcnJvdzo6YmVmb3JlLFxuICAgICAgICAuYy1saW5rLWJhY2s6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDAuMTJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jLWxpbmstZG93bmxvYWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IC0uMThlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAtLjIyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYy1zcGVjaWFsLWxpc3QtaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogY2FsYygwLjhlbSAtIDAuMWVtKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmF0aW8gQm94XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1yYXRpb2JveCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcsXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1x0XG59XG5cbi5jLXJhdGlvYm94ID4gaWZyYW1lLFxuLmMtcmF0aW9ib3ggPiBvYmplY3Qge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLmMtcmF0aW9ib3gtMTZieTkge1xuXHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uYy1yYXRpb2JveC00YnkzLFxuLmMtcmF0aW9ib3gtdGVhbSxcbi5jLXJhdGlvYm94LWZvcm0tb3JkZXIge1xuXHRwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuXG4uYy1yYXRpb2JveC0xYnkxIHtcblx0cGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi5jLXJhdGlvYm94LXNob3dyb29tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzguNjkwNDc2MTkwNDc2MTklO1xufVxuXG4uYy1yYXRpb2JveC1zaG93cm9vbSBpbWcsXG4uYy1yYXRpb2JveC10ZWFtIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogc2FmYXJpIGZvcm0gZml4ICovXG5pbnB1dCxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXVxudGV4dGFyZWEge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogcmVtb3ZlIGNocm9tZSBhdXRvZmlsbCB5ZWxsb3cgY29sb3IgKi9cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAyMDAwcztcbn1cblxuXG5pbnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jLWZvcm0taXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy1mb3JtLW11bHRpbGluZS12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXhzO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhzKTtcbn1cblxuLmMtZm9ybS1tdWx0aWxpbmUtdmVydGljYWwgLndwY2Y3LWxpc3QtaXRlbSArIC53cGNmNy1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy14cztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5jLWZvcm0tc2VwYXJhdG9yLWJpZyxcbi5jLWZvcm0tc2VwYXJhdG9yLWxpbmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZy14bCkgLSB2YXIoLS1zcGFjaW5nLXMpKTtcbn1cblxuLmMtZm9ybS1zZXBhcmF0b3ItbGluZSB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctcyk7XG4gICAgcGFkZGluZy1ib3R0b206ICB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy1mb3JtLW9yZGVyLXF1YW50aXR5IHtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RlcHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1mb3JtLXN0ZXBzLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBmb3JtZmllbGRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInVybFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlcjogc29saWQgNHB4ICRib3JkZXItZm9ybTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci1mb3JtLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0cGFkZGluZzogMC43NWVtIDEwcHg7ICAgIFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGVsXCJdIHtcblx0cGFkZGluZzogMC4yNWVtIDEwcHg7ICAgIFxuXHRsaW5lLWhlaWdodDogNTBweDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYSB7XG5cdG1pbi1oZWlnaHQ6IDZlbTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYTpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInVybFwiXTpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImRhdGVcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZWxcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhOmRpc2FibGVkIHtcblx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG5cdGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLWxhYmVsLXRleHQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IDAuMzVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGZpbGUgYnV0dG9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9ZmlsZV0ge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMC43NWVtIDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zbWFsbCk7XG59XG5cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHRcblx0bWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG5cdHBhZGRpbmc6IDEuMTVlbSAyNHB4IDEuMTVlbSAyNHB4O1xuXHRib3JkZXI6IDRweCBzb2xpZCAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci1mb3JtLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0bGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG5cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGNoZWNrYm94IC8gcmFkaW9zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tbXVsdGlsaW5lLWhvcml6b250YWwgLndwY2Y3LWZvcm0tY29udHJvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tbXVsdGlsaW5lLWhvcml6b250YWwgLndwY2Y3LWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhzKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXXtcbiAgICBtYXJnaW46IDRweCAwIDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpe1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXStzcGFuLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0rc3Bhbixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXStzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3Bhbixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrc3Bhbixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkrc3BhbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgcGFkZGluZy10b3A6IDAuNTVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cdG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKStzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMC4xNWVtO1xuICAgIHdpZHRoOiAzOHB4O1xuICAgIGhlaWdodDogMzhweDtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAkYm9yZGVyLWZvcm07XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItZm9ybS13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKStzcGFuOjpiZWZvcmV7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cytzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cytzcGFuOjpiZWZvcmV7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWZvcm0tZm9jdXM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybS1mb2N1cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtzcGFuOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW46OmFmdGVyLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKStzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygwLjE1ZW0gKyA1cHgpO1xuICAgIGxlZnQ6IDExcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAyMnB4O1xuXHRib3JkZXI6IHNvbGlkICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHRib3JkZXItd2lkdGg6IDAgNHB4IDRweCAwO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrc3Bhbjo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK3NwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDAuMTVlbSArIDlweCk7XG4gICAgbGVmdDogOXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKStzcGFuOjphZnRlcntcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK3NwYW46OmFmdGVye1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cblxuLmdmb3JtX2ZpZWxkcyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtzcGFuOjphZnRlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3Bhbjo6YWZ0ZXJ7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtzcGFuOjphZnRlcntcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkK3NwYW46OmFmdGVyLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQrc3Bhbjo6YWZ0ZXIge1xuXHRjb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuXHRib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBkcm9wZG93blxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAwLjI1ZW0gMzBweCAwLjI1ZW0gMTBweCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogNHB4IHNvbGlkICRib3JkZXItZm9ybTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci1mb3JtLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbi1mb3JtLWFycm93LnN2Z1wiKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRsaW5lLWhlaWdodDogNTBweCAhaW1wb3J0YW50O1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcdFxufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWZvcm0tZm9jdXM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybS1mb2N1cyk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0IG9wdGlvbiB7XG5cdHBhZGRpbmc6IDA7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0OjotbXMtZXhwYW5kIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6ZGlzYWJsZWQ6Oi1tcy1leHBhbmQge1xuXHRjb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0W2Rpc2FibGVkXSB7XG5cdGNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG5cdGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIHdwNyBlcnJvciAvIG9rIG1lc3NhZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCxcbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3IGZvcm0gLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cdC8qZGlzcGxheTogYmxvY2s7Ki9cblx0YmFja2dyb3VuZC1jb2xvcjogJGZvcm0taW5pdGlhbDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLWluaXRpYWwpO1xuXHRwYWRkaW5nOiAxLjVlbSAzMHB4O1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuXHRtYXJnaW46IDAgMCAzZW0gMDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LW5vdC12YWxpZC10aXAsXG4uYy1mb3JtLXN0YW5kYXJkIC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlLFxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuLyogZXJyb3IgKi9cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LW5vdC12YWxpZC10aXAsXG4uYy1mb3JtLXN0YW5kYXJkIC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHtcblx0Y29sb3I6ICRmb3JtLWVycm9yO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWVycm9yKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjctbm90LXZhbGlkLXRpcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMC4zNWVtO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0LndwY2Y3LW5vdC12YWxpZCB7XG5cdGJvcmRlci1jb2xvcjogJGZvcm0tZXJyb3I7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWVycm9yKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBmb3JtLmludmFsaWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWVycm9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tZXJyb3IpO1xufVxuXG4vKiBvayAqL1xuLmMtZm9ybS1zdGFuZGFyZCBmb3JtLnNlbnQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLW9rO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tb2spO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIHdwNyBzcGlubmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5mb3JtLnN1Ym1pdHRpbmcgLndwY2Y3LXNwaW5uZXIge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LXNwaW5uZXIge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAtNHB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYm9yZGVyOiA0cHggc29saWQgcmdiYSgyOSwyOSwyNywuMyk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjctc3Bpbm5lcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWaWV3cG9ydFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQC1tcy12aWV3cG9ydCB7XG5cdHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZWRpYXF1ZXJpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTk2MHB4KSB7XG5cdC8qIGNvbnRhaW5lciBtYXggd2lkdGggKi9cblx0LmMtY29udGFpbmVyLW1lZGl1bSB7XG4gICAgICAgIG1heC13aWR0aDogMTkyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNjgwcHgpIHtcblx0LmMtc2hvd3Jvb20tdGV4dCAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xuICAgIH1cbiAgICBcbiAgICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE0MjBweCkge1xuXHQvKiBjb250YWluZXIgbWF4IHdpZHRoICovXG5cdC5jLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTM5MnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3MsXG4gICAgLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogY2FsYyg2OThweCArIDUwJSk7XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tbGVmdC1lZGdlbGVzcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItY3RhIC5jLWNvbC0xMixcbiAgICAuYy1mb3JtIC5jLWNvbC0xMiB7XG4gICAgICAgIG1heC13aWR0aDogMTM5MnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLW5ld3MgLmMtYXN5bS1jb2wtZ3JpZCB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDU4MHB4IC0gdmFyKC0tZ3JpZC1jb2wpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDU4MHB4IC0gdmFyKC0tZ3JpZC1jb2wpKTsgLyogNWNvbCBjb250ZW50IHdpZHRoIC0gMS8yIHBhZGRpbmcgKi9cbiAgICB9XG4gICAgXG4gICAgLmMtbmV3cyAuYy1hc3ltLWNvbC1lZGdlbGVzcyB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDEwMCUgLSA1ODBweCArIHZhcigtLWdyaWQtY29sKSk7IFxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDU4MHB4ICsgdmFyKC0tZ3JpZC1jb2wpKTsgLyogd2lkdGggLSA1Y29sIGNvbnRlbnQgd2lkdGggKyAxLzIgcGFkZGluZyAqL1xuICAgIH1cbiAgICBcbiAgICAuYy1uZXdzLXRleHQgLmMtYXN5bS1jb2wtZ3JpZCB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDkyOHB4IC0gdmFyKC0tZ3JpZC1jb2wpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDkyOHB4IC0gdmFyKC0tZ3JpZC1jb2wpKTsgLyogOGNvbCBjb250ZW50IHdpZHRoIC0gMS8yIHBhZGRpbmcgKi9cbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC1pbWcgLmMtYXN5bS1jb2wtZ3JpZCB7XG4gICAgICAgZmxleDogMCAwIGNhbGMoNTgwcHggLSB2YXIoLS1ncmlkLWNvbCkpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTgwcHggLSB2YXIoLS1ncmlkLWNvbCkpOyAvKiA1Y29sIGNvbnRlbnQgd2lkdGggLSAxLzIgcGFkZGluZyAqL1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1hc3ltLWNvbC1lZGdlbGVzcyB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDEwMCUgLSA1ODBweCArIHZhcigtLWdyaWQtY29sKSk7IFxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDU4MHB4ICsgdmFyKC0tZ3JpZC1jb2wpKTsgLyogd2lkdGggLSA1Y29sIGNvbnRlbnQgd2lkdGggKyAxLzIgcGFkZGluZyAqL1xuICAgIH1cbiAgICBcbiAgICAuYy1jb250YWN0IC5jLWNvbC0xMiB7XG4gICAgICAgIGZsZXg6IDAgMCAxMzkycHg7IFxuICAgICAgICBtYXgtd2lkdGg6IDEzOTJweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpIHsgIFxuXHQuYy1mb290ZXItbWFpbiAuYy1jb2wtNSxcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtNyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgXG4gICAgfVxuICAgIFxuICAgIC5jLWhlYWRlci1sb2dvLFxuICAgIC5jLWZvb3Rlci1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTEwMHB4KSB7ICBcblx0LmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLW11bHRpbGluZS1ob3Jpem9udGFsIC53cGNmNy1saXN0LWl0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5ODFweCkgeyAgXG5cdC5jLXRlYXNlci1jdGEgLmMtYm94LWJvcmRlci1pbm5lcixcbiAgICAuYy1mb3JtLXRleHQge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDMzJTsgICBcdFxuXHR9XG59XG5cbi8qIGhlYWRlciBzaG93IG9mZmNhbnZhcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7ICBcblx0LmMtc2hvd3Jvb20tdGV4dCAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LW9ubHkgLmMtY29sLTgsXG5cdC5jLW1haW4tdGl0bGUgLmMtY29sLTgsXG5cdC5jLXNlY3Rpb24tdGl0bGUgLmMtY29sLTgsXG5cdC5jLXF1b3RlIC5jLWNvbC04LFxuICAgIC5jLW5ld3MtdGV4dCAuYy1jb2wtNSB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7ICAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1jb2wtNSxcbiAgICAuYy10ZXh0LWltZyAuYy1jb2wtNyxcbiAgICAuYy10ZXh0LTJjb2wgLmMtY29sLTUsXG4gICAgLmMtdGV4dC0yY29sIC5jLWNvbC03e1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLTNjb2wgLmMtY29sLTQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMta2V5ZmFjdHMtNGNvbCAuYy1jb2wtMyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbn1cblxuXG4vKiBoZWFkZXIgc2hvdyBvZmZjYW52YXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5MDBweCkgeyAgXG5cdC5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG4gICAgXG4gICAgLyouYy1oZWFkZXItaW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgfSovXG4gICAgXG4gICAgLmMtaGVhZGVyLWxvZ28ge1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICB9XG5cdFxuXHQuYy1tYWluLW5hdixcbiAgICAuYy1oZWFkZXItbGFuZy1saXN0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLWxhbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgLmMtaGVhZGVyLW1ldGEge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuICAgIFxuICAgIC5jLWhlYWRlci1saW5rLXBob25lIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0OHB4O1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBcbiAgICAuYy1oZWFkZXItbGluay1waG9uZTo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0xMTBweDtcbiAgICB9XG4gICAgXG4gICAgLmMtaGVhZGVyLWxpbmstcGhvbmU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWJhc2ljO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIH1cbiAgICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjg1MHB4KSB7ICBcbiAgICAuYy1uZXdzIC5jLWNvbC01LFxuICAgIC5jLW5ld3MgLmMtY29sLTcge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtbmV3cy1pbWctY29udGFpbmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiA1MHZoO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LWJsb2NrIC5jLXNwZWNpYWwtbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFtIC5jLWNvbC00LFxuICAgIC5jLXNwb25zb3JpbmcgLmMtY29sLTQsXG4gICAgLmMtZm9ybS0zY29sIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci0yY29sIC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFxuICAgIH1cbiAgICBcbiAgICAuYy1mb3JtIC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFxuICAgIH1cbiAgICBcbiAgICAuYy1mb3JtIC5jLXJvdy1tdWx0aWxpbmUgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTsgICAgXG4gICAgfVxuICAgIFxuICAgIC5jLWZvcm0gLmMtY29sLTY6bnRoLWNoaWxkKDIpIGgyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tc3BhY2luZy14bCkgLSB2YXIoLS1zcGFjaW5nLXMpKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6OTgwcHgpIHsgIFxuXHQuYy10ZWFzZXItY3RhIC5jLWJveC1ib3JkZXItaW5uZXIge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwJTsgICBcdFxuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgXG5cdC5jLXRleHQtb25seSAuYy1jb2wtOCxcblx0LmMtbWFpbi10aXRsZSAuYy1jb2wtOCxcblx0LmMtc2VjdGlvbi10aXRsZSAuYy1jb2wtOCxcblx0LmMtcXVvdGUgLmMtY29sLTgsXG4gICAgLmMtbmV3cy10ZXh0IC5jLWNvbC01LFxuICAgIC5jLXRleHQtaW1nIC5jLWNvbC01LFxuICAgIC5jLXRleHQtaW1nIC5jLWNvbC03LFxuICAgIC5jLWltZy0yY29sIC5jLWNvbC02LFxuICAgIC5jLXRleHQtMmNvbCAuYy1jb2wtNSxcbiAgICAuYy10ZXh0LTJjb2wgLmMtY29sLTcsXG4gICAgLmMta2V5ZmFjdHMtM2NvbCAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy1zaG93cm9vbSxcbiAgICAuYy1zaG93cm9vbS10ZXh0IC5jLXJvdyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7IFxuICAgIH1cbiAgICBcbiAgICAuYy1zaG93cm9vbS1pbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwdnc7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tLXRleHQtaW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20tdGV4dCAuYy1jb2wtNiB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy1zaG93cm9vbS10ZXh0IC5jLW1haW4tdGl0bGUtYm94LFxuICAgIC5jLW1haW4tdGl0bGUgLmMtbWFpbi10aXRsZS1ib3gge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAtMSk7XG4gICAgfVxuICAgIFxuICAgIC5jLW5ld3MtaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogNjIuNXZ3O1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1jb2wtNyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcdFxuXHR9XG4gICAgXG4gICAgLmMtaW1nLTJjb2wgLmMtY29sLTY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14bCk7XG4gICAgfVxuICAgIFxuICAgIC5jLWtleWZhY3RzLWRlY28ge1xuICAgICAgICBtaW4td2lkdGg6IDgwMHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tbXVsdGlsaW5lLWhvcml6b250YWwgLndwY2Y3LWxpc3QtaXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjcwMHB4KSB7ICBcblx0LmMtZm9vdGVyLW1haW4gLmMtY29sLTQsXG5cdC5jLWZvb3Rlci1kaXNjbGFpbWVyIC5jLWNvbC00LFxuXHQuYy1mb290ZXItZGlzY2xhaW1lciAuYy1jb2wtOCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy1mb290ZXItZGlzY2xhaW1lciAuYy1jb2wtOCB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xuXHR9XG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaSArIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItM2NvbCAuYy1jb2wtNCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLWltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWNvbnRhY3QgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtY29udGFjdCAuYy1jb2wtNjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7ICBcbiAgICAuYy10ZXh0LWJsb2NrIC5jLXNwZWNpYWwtbGlzdCBsaSxcbiAgICAuYy1rZXlmYWN0cy00Y29sIC5jLWNvbC0zIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFxuICAgIH1cbiAgICBcbiAgICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU0MHB4KSB7ICBcbiAgICAuYy10ZWFtIC5jLWNvbC00LFxuICAgIC5jLXNwb25zb3JpbmcgLmMtY29sLTQsXG4gICAgLmMtZm9ybS0zY29sIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFxuICAgIH1cbiAgICBcbiAgICAuYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tbXVsdGlsaW5lLWhvcml6b250YWwgLndwY2Y3LWxpc3QtaXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MzUwcHgpIHsgIFxuICAgIC5jLXRlYXNlci1pbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBDU1NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAgIC8qIGJhc2Ugc3R5bGVzICovXG4gICAgKiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IFxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXHRcblx0YSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgXG4gICAgLmMtaXIgYTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgYVtocmVmXTphZnRlciB7XG5cdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHQgIH1cbiAgICBcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgXG4gICAgfVxuICAgIFxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICAgICBcbiAgICBAcGFnZSB7XG4gICAgICAgIG1hcmdpbjogMC41Y207XG4gICAgfVxuICAgIFxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuICAgIFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgYnJlYWstYWZ0ZXI6YXZvaWQ7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICAvKiBmb250LXNpemVzICovXG5cdFxuXHRodG1sLFxuXHRib2R5IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0LypvdmVyZmxvdzogYXV0bzsqL1xuXHR9XG4gICAgXG4gICAgYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZToxMnB4OyAgICBcbiAgICB9XG5cdFxuXHRoMSwgLmMtaDEge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0fVxuXHRcblx0LmMtbGVhZCxcblx0LmMtdGV4dC1ibG9jayAuYy1sZWFkLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oMyxcblx0LmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxuXHRcblx0LyogcHJvamVjdCBzdHlsZXMgKi9cblx0LmMtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMmVtO1xuXHR9XG5cdFxuXHQuYy1mb290ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/