/*!***************************************************************************************************************************************************************************************************************!*\
  !*** 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 */
/* dark grey */
/* dark grey */
/* background */
/* dark grey */
/* light grey */
/* yellow */
/* line-colors */
/* spacing */
/* grid */
/* form */
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  /* fonts */
  --font-stack-default: "itc-avant-garde-gothic-pro", "Arial", "Helvetica", sans-serif;
  --font-weight-normal: 500;
  --font-weight-bold: 700;
  /* text  */
  --text-color: #000; /* black */
  --text-color-light: #fff;
  --text-color-link: #000;
  /* colors / background */
  --bg-content: #fff;
  --bg-dark: #000; /* black */
  --bg-light: #f9f9f9; /* light grey */
  --color-highlight: #F1B434; /* yellow */
  /* lines */
  --border-basic: #cccccc;
  --header-height: 200px;
  /* spacing */
  --spacing-l: 7.5rem;
  --spacing-m: 3.75rem;
  --spacing-s: 1.5rem;
  --spacing-xs: 0.75rem;
  --spacing-lm: 5.75em;
  /* grid */
  --grid-container: 24px;
  --grid-row: -12px;
  --grid-col: 12px;
  /* form */
  --border-form: #cccccc;
  --border-form-focus: #000;
  --form-disabled: #ccc;
  --form-error: #dd0000;
  --form-ok: #2d5922;
  --form-initial: #1D1D1B;
  --form-text-small: 0.76rem;
  --future-living-title-padding: 24px;
  --future-living-title-hover-height: 10px;
}

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

.c-text-light .c-btn {
  --text-color: #fff;
  --color-highlight: #fff;
}

.c-header-sticky {
  --header-height: 96px;
}

.c-teaser-icons-item h2:focus,
.c-teaser-icons-item h2:hover {
  --text-color-link: #F1B434;
}

/* ==========================================================================
   Responsive Custom Properties
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  :root {
    --grid-container: 48px;
    --grid-row: -24px;
    --grid-col: 24px;
    --future-living-title-hover-height: 20px;
  }
}
@media only screen and (min-width: 1600px) {
  :root {
    --grid-container: 56px;
    --grid-row: -38px;
    --grid-col: 38px;
    --future-living-title-padding: 1.4em 40px;
  }
}
@media only screen and (max-width: 1300px) {
  :root {
    --header-height: 160px;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --spacing-l: 4.5rem;
    --spacing-m: 2.5rem;
    --spacing-lm: 3rem;
    --header-height: 80px;
  }
  .c-header-sticky {
    --header-height: 80px;
  }
}
/*@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: #000;
  color: var(--text-color);
  font-family: "itc-avant-garde-gothic-pro", "Arial", "Helvetica", sans-serif;
  font-family: var(--font-stack-default);
  font-weight: 500;
  font-weight: var(--font-weight-normal);
  font-style: normal;
  -webkit-tap-highlight-color: transparent;
  vertical-align: baseline;
  letter-spacing: normal;
}

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

p:empty {
  display: none;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
select,
textarea {
  color: #000;
  color: var(--text-color);
}

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-testimonial {
  padding-bottom: 6rem;
  padding-bottom: var(--spacing-l);
}

.c-main-title,
.c-showroom-text-inner,
.c-future-living {
  padding-top: 5.75em;
  padding-top: var(--spacing-lm);
}

.c-main-title-deco {
  overflow: hidden;
}

.c-showroom-text-inner {
  padding-bottom: 5.75em;
  padding-bottom: var(--spacing-lm);
}

.c-future-living-main {
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-showroom,
.c-main-title-deco,
.c-contact,
.c-future-living {
  margin-bottom: 6rem;
  margin-bottom: var(--spacing-l);
}

.c-main-title-deco {
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

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

.c-section-title {
  padding-bottom: 0.25em;
}

.c-text-only + .c-text-only {
  margin-top: calc(-6rem + 1.5em);
  margin-top: calc(var(--spacing-l) * -1 + 1.5em);
}

.c-services + .c-services {
  margin-top: -3rem;
  margin-top: calc(var(--spacing-l) * -1 + var(--spacing-m));
}

.c-filter {
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-top: var(--spacing-m);
  padding-bottom: calc(var(--spacing-m) - 0.75em);
}

.c-contact {
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-top: var(--spacing-m);
  padding-bottom: calc(var(--spacing-m) - 1.5em);
}

.c-team {
  padding-bottom: 3rem;
  padding-bottom: var(--spacing-m);
}

.c-teaser-cta {
  padding-top: 6rem;
  padding-top: var(--spacing-l);
}

.c-partner {
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

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

.c-row,
.c-news-references .c-news-item-inner {
  margin-right: -12px;
  margin-left: -12px;
  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,
.c-news-item {
  position: relative;
  min-height: 1px;
  padding-right: 12px;
  padding-left: 12px;
  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-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-asym-left-edgeless .c-legend {
  padding-left: 24px;
  padding-left: var--grid-container;
}

/* news */
.c-news-item,
.c-news-references .c-news-item-text {
  -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-news-item {
  padding-bottom: 24px;
  padding-bottom: calc(var(--grid-container) + 1rem);
}

.c-news-text-img {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

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

.c-news-references .c-news-item-img,
.c-news-references .c-news-item-text {
  position: relative;
  min-height: 1px;
  padding-right: 12px;
  padding-left: 12px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
}

.c-news-references .c-news-item-img,
.c-news-text-img-wide {
  -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%;
}

/* ==========================================================================
   Base
   ========================================================================== */
html {
  font-size: 21px;
}

/* ==========================================================================
   Titles
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

h1,
.c-h1 {
  position: relative;
  padding-bottom: 0.35em;
  line-height: 1.11;
  font-size: 3.42rem; /* 72x */
  font-weight: var(--font-weight-bold);
}

.c-main-title-byline {
  display: block;
  margin-top: -0.9em;
  padding-bottom: 1.5em;
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
}

h2,
.c-h2 {
  padding-bottom: 0.5em;
  line-height: 1.12;
  font-size: 2.38rem; /* 50px */
  font-weight: var(--font-weight-bold);
}

h3,
.c-h3 {
  line-height: 1.1;
  font-size: 1.42rem;
  padding-bottom: 0.5em;
  font-weight: var(--font-weight-bold);
}

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

.c-footer h4,
.c-footer .c-4,
.c-logowall-text h4 {
  padding-bottom: 0;
}

.c-offcanvas-nav-list {
  font-size: 1.42rem;
}

/* ==========================================================================
   Basic Text Content
   ========================================================================== */
.c-content,
.c-footer {
  line-height: 1.5;
}

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

.c-news-item p:last-child {
  padding-bottom: 0;
}

.c-team-item p,
.c-logowall-text p {
  padding-bottom: 0.5em;
}

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

.c-logowall-text p + h4 {
  padding-top: 1em;
}

.c-lead {
  position: relative;
  line-height: 1.33;
  font-size: 1.42rem;
  font-weight: var(--font-weight-bold);
}

.c-lead + .c-btn {
  margin-top: 1.5em;
}

.c-text-small,
.c-legend,
.c-text-block blockquote cite,
.c-footer-disclaimer {
  font-size: 0.76rem; /* 16px */
}

.c-legend {
  display: block;
  padding-top: 1em;
}

.c-category {
  display: block;
  padding-bottom: 1em;
}

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

.c-keyfacts-list,
.c-text-block .c-keyfacts-list {
  padding-bottom: 0;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

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

.c-text-block ol li {
  padding-left: 32px;
}

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

.c-link-list li.c-link-list-btn + li {
  margin-top: 1.5em;
}

.c-link-list li + li.c-link-list-btn {
  margin-top: 1.5em;
}

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

.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: #F1B434;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-align: right;
}

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

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

.c-jobs-list,
.c-keyfacts-list {
  border-top: solid 2px #cccccc;
}

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

.c-jobs-list li,
.c-text-block .c-jobs-list li {
  padding: 1.6em 0 1.5em 0;
  border-bottom: solid 2px #cccccc;
}

.c-keyfacts-list li,
.c-text-block .c-keyfacts-list li {
  padding: 0.6em 0 0.5em 0;
  border-bottom: solid 2px #cccccc;
}

.c-opening-hours-list {
  margin: 0;
  padding: 0 0 1.5em 0;
}

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

.c-opening-hours-list dd {
  padding-bottom: 1.5em;
}

.c-opening-hours-list dd:last-of-type {
  padding-bottom: 0;
}

/* ==========================================================================
   Quote
   ========================================================================== */
.c-text-block blockquote {
  margin: 0;
  padding: 0;
  text-align: center;
}

.c-text-block blockquote p {
  position: relative;
  padding: 52px 0 0 0;
  line-height: 1.1;
  font-size: 1.42rem;
  font-weight: var(--font-weight-bold);
}

.c-text-block blockquote p::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 31px;
  height: 28px;
  margin-left: -15px;
  background-image: url(sprite_8fbf.svg);
  background-repeat: no-repeat;
  background-position: 0 -360px;
}

.c-text-light blockquote p::before,
.c-news-item-text blockquote p::before {
  background-position: -50px -360px;
}

.c-text-block blockquote cite {
  display: block;
  padding-top: 1em;
  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: 1680px) {
  .c-future-living-title,
.c-future-living-accordion-title,
.c-main-title-byline {
    font-size: 0.76rem; /* 16px */
  }
}
@media only screen and (max-width: 1400px) {
  h1, .c-h1 {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 1360px) {
  html {
    font-size: 18px;
  }
  h1, .c-h1,
.c-content h2, .c-content .c-h2,
.c-content h3, .c-content .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: 1200px) {
  h1, .c-h1 {
    font-size: 2.8rem;
  }
  h2, .c-h2 {
    font-size: 2rem;
  }
  h3, .c-h3,
.c-lead,
.c-text-block blockquote p {
    font-size: 1.25rem;
  }
}
@media only screen and (max-width: 768px) {
  h1, .c-h1 {
    font-size: 2rem;
  }
  h2, .c-h2,
.c-offcanvas-nav-list {
    font-size: 1.5rem;
  }
  .c-lead,
h3, .c-h3,
.c-text-block blockquote p {
    font-size: 1.125rem;
  }
  .c-text-small,
.c-legend,
.c-text-block blockquote cite,
.c-footer-disclaimer,
.c-future-living-accordion-title,
.c-main-title-byline {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 350px) {
  .c-lead {
    font-size: 1rem;
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  background-color: #fff;
  background-color: var(--bg-content);
  z-index: 10;
}

.c-header-inner {
  height: 200px;
  height: var(--header-height);
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
}

.c-header-logo {
  position: relative;
  width: 120px;
  height: 82px;
}

.c-header-logo svg {
  width: 100%;
  height: auto;
}

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

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

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

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

.c-header-sticky {
  position: fixed;
}

/* ==========================================================================
   main nav / filter list
   ========================================================================== */
.c-main-nav,
.c-filter {
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

.c-main-nav-list,
.c-filter-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

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

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

.c-filter-list li {
  padding: 0 1em 1em 1em;
}

.c-main-nav-list a,
.c-filter-list a,
.c-header-lang a {
  display: inline-block;
  position: relative;
  padding: 0.75em 0;
}

.c-main-nav-list a::before,
.c-filter-list a::before,
.c-header-lang a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 4px;
  background-color: #F1B434;
  background-color: var(--color-highlight);
  transition: all 0.2s linear;
}

.c-main-nav-list a:focus::before,
.c-main-nav-list a:hover::before,
.c-main-nav-list .current-menu-item a::before,
.c-main-nav-list .current-page-ancestor a::before,
.c-filter-list a:focus::before,
.c-filter-list a:hover::before,
.c-filter-list .c-active a::before,
.c-header-lang a:focus::before,
.c-header-lang a:hover::before,
.c-header-lang .c-active a::before {
  width: 100%;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  padding-top: 6rem;
  padding-top: var(--spacing-l);
  padding-bottom: 2.8em;
  background-color: #000;
  background-color: var(--bg-dark);
}

.c-footer-claim {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-end;
}

.c-footer-logo {
  width: 120px;
  margin-right: 2em;
  margin-bottom: 0.29em;
}

.c-footer-claim h2 {
  max-width: 470px;
  padding-bottom: 0;
}

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

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

.c-text-block .c-footer-disclaimer-list li {
  padding-left: 0;
}

.c-text-block .c-footer-disclaimer-list li::before {
  background: none;
}

.c-footer-disclaimer-list li + li,
.c-text-block .c-footer-disclaimer-list li + li {
  padding-left: 1.5em;
}

.c-footer-social-list li {
  padding-top: 0.5em;
  padding-right: 0.75em;
}

.c-footer-link-list {
  padding-bottom: 1.5em;
}

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

/* optional styles */
/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-trigger {
  position: absolute;
  display: block;
  top: 50%;
  right: 24px;
  right: var(--grid-container);
  width: 48px;
  height: 48px;
  margin: -24px 0 0 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: 34px;
  transition: width 0.2s ease-in-out;
}

.c-offcanvas-trigger-open::before {
  height: 26px;
  margin-top: -12px;
  border-top: 4px solid #F1B434;
  border-bottom: 4px solid #F1B434;
  border-color: var(--color-highlight);
}

.c-offcanvas-trigger-open::after {
  height: 4px;
  background-color: #F1B434;
  background-color: var(--color-highlight);
  margin-top: -1px;
}

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

.c-offcanvas-trigger-close::before,
.c-offcanvas-trigger-close::after {
  background-color: #F1B434;
  background-color: var(--color-highlight);
  margin-top: -2px;
  height: 4px;
  width: 34px;
  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: #000;
  background-color: var(--bg-dark);
  color: var(--text-color-light);
  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-nav-list,
.c-offcanvas-lang-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

.c-offcanvas-lang-list {
  padding-bottom: 3rem;
  padding-bottom: var(--spacing-m);
  text-transform: uppercase;
}

.c-offcanvas-nav-list li + li {
  padding-top: 0.75em;
}

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

.c-offcanvas-lang-list li + li {
  padding-left: 1.25em;
}

.c-offcanvas-nav-list a,
.c-offcanvas-lang-list a {
  display: inline-block;
  position: relative;
  padding: 0.45em 0;
}

.c-offcanvas-lang-list a {
  padding: 0.75em 0;
}

.c-offcanvas-nav-list a::before,
.c-offcanvas-lang-list a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 4px;
  background-color: #F1B434;
  background-color: var(--color-highlight);
  transition: all 0.2s linear;
}

.c-offcanvas-nav-list a:focus::before,
.c-offcanvas-nav-list a:hover::before,
.c-offcanvas-nav-list .current-menu-item a::before,
.c-offcanvas-lang-list a:focus::before,
.c-offcanvas-lang-list a:hover::before,
.c-offcanvas-lang-list .c-active a::before {
  width: 100%;
}

/* ==========================================================================
   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";*/
/* ==========================================================================
   deko
   ========================================================================== */
.c-deco-circle-home,
.c-deco-circle-teaser {
  display: block;
  position: absolute;
  top: 50%;
  right: 50%;
  width: 150vh;
  height: 150vh;
  border-radius: 50%;
  background-color: #F1B434;
  background-color: var(--color-highlight);
  transform: translateY(-50%);
  opacity: 0.7;
}

.c-deco-circle-teaser {
  right: 30%;
  background-color: var(--bg-content);
  opacity: 0.2;
}

.c-deco-circle-title {
  display: block;
  position: absolute;
  bottom: 0;
  left: -80vw;
  width: 200vw;
  height: 200vw;
  border-radius: 50%;
  background-color: #F1B434;
  background-color: var(--color-highlight);
}

.c-deco-circle-showroom-text {
  display: none;
  position: absolute;
  top: -spacing-s;
  top: calc(var(--spacing-s) * -1);
  left: -120vw;
  width: 300vw;
  height: 200vw;
  border-radius: 50%;
  background-color: #F1B434;
  background-color: var(--color-highlight);
  opacity: 0.7;
}

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

.c-showroom,
.c-showroom-text .c-row {
  min-height: 100vh;
  min-height: calc(100vh - var(--header-height));
}

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

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

/* ==========================================================================
  Teaser CTA
   ========================================================================== */
.c-teaser-cta {
  background-color: #F1B434;
  background-color: var(--color-highlight);
  overflow: hidden;
}

/* ==========================================================================
  Services
   ========================================================================== */
.c-services-icon {
  max-width: 120px;
  padding-bottom: 1.5em;
}

/* ==========================================================================
  filter / contact / partner
   ========================================================================== */
.c-filter {
  text-align: center;
}

.c-filter::before,
.c-contact::before,
.c-contact::after,
.c-partner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  left: var(--grid-container);
  width: calc(100% - 48px);
  width: calc(100% - var(--grid-container) * 2);
  height: 2px;
  background-color: #F1B434;
  background-color: var(--color-highlight);
}

.c-contact::after {
  top: 100%;
}

/* ==========================================================================
  team
   ========================================================================== */
.c-team-item {
  padding-bottom: 3rem;
  padding-bottom: var(--spacing-m);
}

.c-ratiobox-team {
  margin-bottom: 1.5rem;
  margin-bottom: var(--spacing-s);
}

/* ==========================================================================
  Accordion
   ========================================================================== */
.c-accordion-container {
  position: relative;
  width: 100%;
  border-top: 2px solid #F1B434;
  border-bottom: 2px solid #F1B434;
  border-color: var(--color-highlight);
}

.c-accordion-container + .c-accordion-container {
  border-top: none;
}

.c-accordion-title {
  display: block;
  position: relative;
  cursor: pointer;
  padding: 0.9em 0 0.8em 44px;
  transition: color 0.2s ease-in-out;
}

.c-accordion-title:hover {
  color: #F1B434;
  color: var(--color-highlight);
}

.c-accordion-check {
  position: absolute;
  left: -9999px;
}

.c-accordion-check:checked + label::after,
.c-accordion-check:not(:checked) + label::after,
.c-accordion-check:checked + label::before,
.c-accordion-check:not(:checked) + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 1em;
  border: none;
  transform: rotate(0deg);
}

.c-accordion-check:checked + label::after,
.c-accordion-check:not(:checked) + label::after {
  left: 0;
  margin-top: 10px;
  width: 24px;
  height: 4px;
  background-color: var(--color-highlight);
}

.c-accordion-check:checked + label::before,
.c-accordion-check:not(:checked) + label::before {
  left: 10px;
  width: 4px;
  height: 24px;
  background-color: transparent;
}

.c-accordion-check:not(:checked) + label::before {
  background-color: var(--color-highlight);
}

/* Contents */
.c-accordion-content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
}

.c-accordion-inner {
  padding: 3rem 0 1.5rem 0;
  padding: var(--spacing-m) 0 var(--spacing-s) 0;
  overflow: hidden;
}

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

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

.c-logowall-list li {
  position: relative;
  padding-right: 12px;
  padding-left: 12px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.c-logowall-main-list li,
.c-logowall-specialized-list li {
  -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-logowall-specialized-list {
  padding-bottom: calc(var(--spacing-l) - var(--spacing-s));
}

.c-logowall-specialized-list li {
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-logowall-partner-list li {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

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

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

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

/* ==========================================================================
  news
   ========================================================================== */
.c-news-item-img {
  margin-bottom: 1em;
}

.c-news-references .c-news-item-img {
  margin-bottom: 0;
}

.c-news-text-only .c-news-item-inner {
  padding: 24px;
  padding: var(--grid-container);
  border: solid 2px #F1B434;
  border-color: var(--color-highlight);
}

.c-news-testimonial .c-news-item-inner {
  background-color: #F1B434;
  background-color: var(--color-highlight);
  color: #fff;
  color: var(--text-color-light);
  text-align: center;
}

.c-news-testimonial .c-category + blockquote {
  margin-top: 1em;
}

.c-news-btn-container {
  text-align: center;
}

/* ==========================================================================
  Teaser icons
   ========================================================================== */
.c-teaser-icons-item {
  position: relative;
  text-align: center;
  transition: all 0.2s ease-out;
}

.c-teaser-icons-img {
  max-width: 220px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}

.c-teaser-icons-img svg {
  width: 100%;
}

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

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

/* ==========================================================================
  Cookie notice
   ========================================================================== */
.c-cookie-notice {
  display: none;
  position: fixed;
  right: 24px;
  right: var(--grid-container);
  bottom: 24px;
  bottom: var(--grid-container);
  width: 400px;
  padding: 1.5rem 32px;
  background-color: #000;
  background-color: var(--bg-dark);
  color: var(--text-color-light);
  line-height: 1.5;
  text-align: left;
  border: solid 4px #fff;
  border-color: var(--bg-content);
}

.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: inline-block;
  padding: 0.5em 0.5em 0 0;
}

@media only screen and (max-width: 767px) {
  .c-cookie-notice {
    width: 100%;
    right: 0;
    bottom: 0;
    border: none;
    border-top: solid 4px #fff;
    border-color: var(--bg-content);
  }
}
/* ==========================================================================
   anchor links scroll padding-top
   ========================================================================== */
html {
  scroll-padding-top: 2rem;
  scroll-padding-top: var(--spacing-m);
}

/* ==========================================================================
   Link colors and styles
   ========================================================================== */
a[href^="tel:"] {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

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

.c-text-block a:focus,
.c-text-block a:hover {
  background-size: 3px 3px;
}

.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-btn-outline,
.c-form-standard input[type=submit] {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 1.2em 32px 1em 32px;
  border: none;
  background-color: transparent;
  line-height: 1;
  text-align: center;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  transition: all 0.2s ease-out;
  text-decoration: none;
}

.c-btn-outline {
  padding: 0;
}

.c-btn::before,
.c-btn-outline::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: solid 4px #F1B434;
  border-color: var(--color-highlight);
  transition: all 0.2s ease-out;
}

.c-btn:focus::before,
.c-btn:hover::before,
.c-btn-outline:focus::before,
.c-btn-outline:hover::before {
  top: -4px;
  height: calc(100% + 8px);
}

.c-btn,
.c-btn:visited,
.c-form-standard input[type=submit] {
  color: #000;
  color: var(--text-color);
}

.c-btn:hover,
.c-btn:focus,
.c-form-standard input[type=submit]:hover,
.c-form-standard input[type=submit]:focus {
  color: #000;
  color: var(--text-color);
}

.c-btn-small,
.c-btn-small:visited,
.c-btn-small:hover,
.c-btn-small:focus {
  font-size: inherit;
  line-height: 1.2;
  padding: 0.85em 20px 0.75em 20px;
}

/* ==========================================================================
  links with icons
   ========================================================================== */
.c-icon {
  position: relative;
}

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

.c-link-icon {
  display: inline-block;
  padding-left: 28px;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  transition: all 0.2s ease-out;
}

.c-link-icon:focus,
.c-link-icon:hover {
  padding-left: 36px;
}

.c-icon-arrow {
  display: inline-block;
  width: 24px;
  height: 1rem;
}

.c-link-arrow::before,
.c-link-back::before,
.c-icon-arrow::before {
  top: 0.26em;
  left: 0;
  width: 24px;
  height: 16px;
  background-position: 0 0;
}

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

.c-text-light .c-link-arrow::before {
  background-position: 0 -40px;
}

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

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

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

.c-link-download::before {
  top: 0.26em;
  left: 0;
  width: 16px;
  height: 17px;
  background-position: 0 -80px;
}

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

.c-link-extern::before {
  top: 0.12em;
  left: 0;
  width: 18px;
  height: 18px;
  background-position: 0 -120px;
}

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

.c-link-social-fb,
.c-link-social-linkedin {
  display: inline-block;
  height: 56px;
  width: 56px;
}

.c-link-social-fb::before,
.c-link-social-linkedin::before {
  top: 0;
  left: 0;
  height: 56px;
  width: 56px;
  background-position: 0 -200px;
}

.c-link-social-linkedin::before {
  background-position: 0 -280px;
}

.c-link-social-fb:focus::before,
.c-link-social-fb:hover::before {
  background-position: -80px -200px;
}

.c-link-social-linkedin:focus::before,
.c-link-social-linkedin:hover::before {
  background-position: -80px -280px;
}

/* ==========================================================================
  responsive
   ========================================================================== */
@media only screen and (max-width: 768px) {
  .c-link-arrow::before,
.c-link-back::before {
    top: 0.2em;
  }
  .c-link-download::before {
    top: 0.2em;
  }
  .c-link-extern::before {
    top: 0.06em;
  }
}
/* ==========================================================================
   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 {
  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],
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;
}

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

.c-form-text-block {
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-form-separator {
  margin: 3rem 0;
  margin-top: calc(var(--spacing-m) - var(--spacing-s));
  margin-bottom: var(--spacing-m);
  padding: 0;
  height: 1px;
  border-top: solid 2px #F1B434;
  border-color: var(--color-highlight);
}

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

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

.c-form-standard input[type=text]:focus,
.c-form-standard input[type=email]:focus,
.c-form-standard input[type=url]:focus,
.c-form-standard input[type=date]:focus,
.c-form-standard input[type=password],
.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=url]:disabled,
.c-form-standard input[type=date]:disabled,
.c-form-standard input[type=password],
.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;
}

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

.c-form-standard .c-form-multiline .wpcf7-list-item {
  display: inline-block;
  padding-right: 1.6em;
}

.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: 2px solid #cccccc;
  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 #F1B434;
  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: #F1B434;
  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.75em 30px 0.75em 10px !important;
  width: 100%;
  height: auto !important;
  border: 2px solid #cccccc;
  border-color: var(--border-form);
  border-radius: 0;
  background: url(icon-form-arrow_1d7b.svg) right center no-repeat;
  background-color: #fff;
  background-color: var(--bg-content);
  color: #000;
  color: var(--text-color);
  font-size: 100%;
  line-height: 1.18rem !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);
}

/* ==========================================================================
   file button
   ========================================================================== */
.c-form-standard input[type=file] {
  width: 100%;
  padding: 0;
  font-size: 0.76rem;
  font-size: var(--form-text-small);
}

.c-form-standard input[type=file]::file-selector-button {
  display: inline-block;
  font-family: "itc-avant-garde-gothic-pro", "Arial", "Helvetica", sans-serif;
  font-family: var(--font-stack-default);
  font-size: 1rem;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  margin-right: 0.75em;
  padding: 1.2em 32px 1em 32px;
  border: 4px solid #000;
  border-color: var(--text-color);
  color: #000;
  color: var(--text-color);
  background-color: #fff;
  background-color: var(--bg-content);
  line-height: 1;
  text-align: center;
  transition: all 0.2s ease-out;
  cursor: pointer;
}

.c-form-standard input[type=file]::file-selector-button:hover {
  color: #000;
  color: var(--text-color);
  border-color: #F1B434;
  border-color: var(--color-highlight);
}

/* ==========================================================================
   wp7 error / ok message
   ========================================================================== */
.c-form-standard .wpcf7-response-output,
.c-form-standard .wpcf7 form .wpcf7-response-output {
  background-color: #000;
  background-color: var(--bg-dark);
  padding: 1.5em 24px;
  padding: 1.5em var(--grid-container);
  color: #fff;
  color: var(--text-color-light);
  margin: 0 0 3rem 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: 0.76rem;
  font-size: var(--form-text-small);
}

/* 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: #2d5922;
  background-color: var(--form-ok);
}

.wpcf7-form.init .wpcf7-response-output {
  display: none;
}

.wpcf7 .screen-reader-response {
  display: none;
}

.wpcf7-form.sent .c-form-standard {
  display: none;
}

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

.c-form-standard .wpcf7-spinner {
  position: relative;
  visibility: hidden;
  display: inline-block;
  margin: -4px 24px;
  background: none;
  width: 24px;
  height: 24px;
  border: 2px solid rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  border-top-color: #F1B434;
  border-top-color: var(--color-highlight);
  animation: spin 1s linear infinite;
  -webkit-animation: spin 1s linear infinite;
  opacity: 1;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* ==========================================================================
   Slider Testimonial
   ========================================================================== */
.c-testimonial {
  overflow: hidden;
}

.c-testimonial-item {
  position: relative;
  padding: 3rem 0;
  padding: var(--spacing-m) 0;
  width: 630px;
}

@media only screen and (max-width: 1500px) {
  .c-testimonial-item {
    width: 540px;
  }
}
@media only screen and (max-width: 1200px) {
  .c-testimonial-item {
    width: 400px;
  }
}
@media only screen and (max-width: 768px) {
  .c-testimonial-item {
    width: 300px;
  }
}
@media only screen and (max-width: 350px) {
  .c-testimonial-item {
    width: 250px;
  }
}
/* ==========================================================================
   Mediaslider / Slider
   ========================================================================== */
.c-mediaslider .c-slider {
  overflow: visible;
}

.c-slider {
  overflow: hidden;
  /*overflow-x: scroll;*/
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.c-slider::-webkit-scrollbar {
  display: none;
}

.c-slider-list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  transition: transform 0.3s ease-in-out;
}

.c-slider-list li {
  border-top: solid 2px #F1B434;
  border-bottom: solid 2px #F1B434;
  border-color: var(--color-highlight);
  padding-bottom: 3rem;
  padding-bottom: var(--spacing-m);
}

.c-slider-list li + li {
  padding-left: 24px;
  padding-left: var(--grid-container);
}

/* ==========================================================================
   slider control
   ========================================================================== */
.c-slider-control {
  position: relative;
  margin-top: -3rem;
  margin-top: calc(var(--spacing-m) * -1);
  text-align: center;
}
.c-slider-control.mobile {
  display: none;
}

.c-slider-control-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-flow: row;
  justify-content: center;
}

.c-slider-control-link {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: solid 4px #F1B434;
  border-color: var(--color-highlight);
  transition: all 0.2s ease-out;
}

.c-slider-control-link:focus,
.c-slider-control-link:hover {
  transform: scale(1.3);
  border-width: 3px;
}

.c-active .c-slider-control-link {
  background-color: #F1B434;
  background-color: var(--color-highlight);
}

.c-slider-control-list li + li {
  padding-left: 0.75em;
}

/* ==========================================================================
   slider references
   ========================================================================== */
.c-slider-references {
  position: relative;
  overflow: hidden;
  background-color: #f9f9f9;
  background-color: var(--bg-light);
}

.c-references-item {
  position: relative;
}

.c-references-item-img {
  position: relative;
  height: 0;
  display: block;
  padding-bottom: 66.66666667%;
  overflow: hidden;
}

.c-references-item-img > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-slider-references .c-slider-control-list li {
  position: relative;
  margin-top: -40px;
}

/* ==========================================================================
  Future living
   ========================================================================== */
.c-future-living {
  overflow: hidden;
}

.c-future-living-check {
  position: absolute;
  left: -9999px;
}

/* ==========================================================================
  Future living Nav
   ========================================================================== */
.c-future-living-nav {
  display: flex;
  align-content: flex-end;
  flex-flow: row;
  border-left: solid 2px #fff;
  border-right: solid 2px #fff;
  border-color: var(--bg-content);
}

.c-future-living-title,
.c-future-living-accordion-title {
  position: relative;
  display: block;
  padding: 24px;
  padding: var(--future-living-title-padding);
  background-color: #F1B434;
  line-height: 1.1;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.c-future-living-title {
  border-left: solid 2px #fff;
  border-right: solid 2px #fff;
  border-color: var(--bg-content);
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.c-future-living-title .c-h3,
.c-future-living-accordion-title .c-h3 {
  color: var(--text-color-light);
}

.c-future-living-title::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  height: 0;
  background-color: var(--color-highlight);
  transition: all 0.2s linear;
}

.c-future-living-title:hover::before {
  height: 20px;
  height: var(--future-living-title-hover-height);
}

.c-future-living-title span,
.c-future-living-accordion-title span {
  display: block;
}

/* ==========================================================================
  Content
   ========================================================================== */
.c-future-living-desc {
  padding-top: 3rem;
  padding-top: var(--spacing-m);
}

.c-future-living-desc h2,
.c-future-living-mobile h2 {
  color: var(--color-highlight);
}

.c-future-living-desc-content {
  min-height: 13em;
}

.c-future-living-desc-content,
.c-future-living-img {
  display: none;
}

/* ==========================================================================
  Future living States Desktop
   ========================================================================== */
#futureliving-0[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-0, #futureliving-0[type=radio]:checked ~ .c-future-living-main .c-future-living-img-0 {
  display: block;
}
#futureliving-0[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-0, #futureliving-0[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-0::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-0[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-0::before {
  height: var(--future-living-title-hover-height);
}

#futureliving-1[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-1, #futureliving-1[type=radio]:checked ~ .c-future-living-main .c-future-living-img-1 {
  display: block;
}
#futureliving-1[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-1, #futureliving-1[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-1::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-1[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-1::before {
  height: var(--future-living-title-hover-height);
}

#futureliving-2[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-2, #futureliving-2[type=radio]:checked ~ .c-future-living-main .c-future-living-img-2 {
  display: block;
}
#futureliving-2[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-2, #futureliving-2[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-2::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-2[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-2::before {
  height: var(--future-living-title-hover-height);
}

#futureliving-3[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-3, #futureliving-3[type=radio]:checked ~ .c-future-living-main .c-future-living-img-3 {
  display: block;
}
#futureliving-3[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-3, #futureliving-3[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-3::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-3[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-3::before {
  height: var(--future-living-title-hover-height);
}

#futureliving-4[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-4, #futureliving-4[type=radio]:checked ~ .c-future-living-main .c-future-living-img-4 {
  display: block;
}
#futureliving-4[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-4, #futureliving-4[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-4::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-4[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-4::before {
  height: var(--future-living-title-hover-height);
}

#futureliving-5[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-5, #futureliving-5[type=radio]:checked ~ .c-future-living-main .c-future-living-img-5 {
  display: block;
}
#futureliving-5[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-5, #futureliving-5[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-5::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-5[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-5::before {
  height: var(--future-living-title-hover-height);
}

/* ==========================================================================
  Mobile Layout
   ========================================================================== */
.c-future-living-mobile {
  display: none;
}

.c-future-living-mobile .c-accordion-container {
  position: relative;
  width: 100%;
  border-width: 4px;
  border-color: var(--bg-content);
}

.c-future-living-accordion-title {
  padding-right: 56px;
}

.c-future-living-accordion-title:hover,
.c-future-living-mobile .c-accordion-check:checked + label {
  color: #fff;
  color: var(--text-color-light);
  background-color: #000;
  background-color: var(--bg-dark);
}

.c-future-living-mobile .c-accordion-check:checked + label::after,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::after,
.c-future-living-mobile .c-accordion-check:checked + label::before,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::before {
  top: calc(50% - 12px);
  left: auto;
}

.c-future-living-mobile .c-accordion-check:checked + label::after,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::after {
  right: 24px;
  background-color: var(--text-color-light);
}

.c-future-living-mobile .c-accordion-check:checked + label::before,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::before {
  right: 34px;
  background-color: transparent;
}

.c-future-living-mobile .c-accordion-check:not(:checked) + label::before {
  background-color: var(--text-color-light);
}

.c-future-living-mobile .c-accordion-inner {
  padding: var(--spacing-m) 0 var(--spacing-m) 0;
}

/* ==========================================================================
  Responsive
   ========================================================================== */
@media only screen and (max-width: 1199px) {
  .c-future-living-main .c-col-7,
.c-future-living-desc,
.c-future-living-nav {
    display: none;
  }
  .c-future-living-main .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-future-living-mobile {
    display: block;
  }
}
@media only screen and (max-width: 700px) {
  .c-future-living-mobile .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-future-living-mobile .c-col-6 + .c-col-6 {
    padding-top: 1.5rem;
    padding-top: var(--spacing-s);
  }
}
/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1921px) {
  .c-container-medium {
    max-width: 1800px;
    max-width: calc(1800px + var(--grid-container) * 2); /* max breite plus padding * 2 56px*/
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 1740px) {
  /* container max width */
  .c-container {
    max-width: 1600px;
    max-width: calc(1600px + var(--grid-container) * 2); /* max breite plus padding * 2 56px*/
    margin-left: auto;
    margin-right: auto;
  }
  .c-asym-right-edgeless,
.c-asym-left-edgeless {
    max-width: none;
    width: calc(800px + 50%);
    width: calc(800px + var(--grid-container) + 50%); /* 1/2 width + 1 * padding 56 px*/
  }
  .c-asym-right-edgeless {
    margin-right: 0;
  }
  .c-asym-left-edgeless {
    margin-left: 0;
  }
  .c-text-img .c-asym-col-grid {
    flex: 0 0 calc(800px + var(--grid-col)); /* 1/2 width + 1/2 padding (38px) */
    max-width: calc(800px + var(--grid-col)); /* 1/2 width + 1/2 padding (38px) */
  }
  .c-text-img .c-asym-col-edgeless {
    flex: 0 0 calc(100% - (800px + var(--grid-col))); /* 1/2 width + 1/2 padding (38px) */
    max-width: calc(100% - (800px + var(--grid-col))); /* 1/2 width + 1/2 padding (38px) */
  }
  .c-teaser-references .c-asym-col-grid {
    flex: 0 0 calc(520px + var(--grid-col)); /* 1/2 width + 1/2 padding (38px) */
    max-width: calc(520px + var(--grid-col)); /* 1/2 width + 1/2 padding (38px) */
  }
  .c-teaser-references .c-asym-col-edgeless {
    flex: 0 0 calc(100% - (520px + var(--grid-col))); /* 1/2 width + 1/2 padding (38px) */
    max-width: calc(100% - (520px + var(--grid-col))); /* 1/2 width + 1/2 padding (38px) */
  }
}
@media only screen and (max-width: 1100px) {
  .c-showroom-text .c-col-6 {
    -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-deco-circle-home {
    right: 42%;
  }
}
@media only screen and (max-width: 1024px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-services .c-col-8,
.c-form .c-col-8,
.c-teaser-cta .c-col-8,
.c-partner .c-col-8,
.c-future-living-main .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-main-title-deco .c-lead {
    padding-right: 20%;
  }
  .c-footer-main .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-footer-main .c-col-3:nth-child(1),
.c-footer-main .c-col-3:nth-child(2) {
    padding-bottom: 1.5em;
    padding-bottom: var(--spacing-s);
  }
  .c-team .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-deco-circle-teaser {
    right: 16%;
  }
  .c-accordion-title {
    padding-left: 32px;
  }
  .c-accordion-check:checked + label::after,
.c-accordion-check:not(:checked) + label::after {
    margin-top: 8px;
    width: 20px;
  }
  .c-accordion-check:checked + label::before,
.c-accordion-check:not(:checked) + label::before {
    left: 8px;
    height: 20px;
  }
  .c-future-living-accordion-title {
    padding-left: 24px;
    padding-right: 48px;
  }
  .c-future-living-mobile .c-accordion-check:checked + label::after,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::after,
.c-future-living-mobile .c-accordion-check:checked + label::before,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::before {
    top: calc(50% - 10px);
    left: auto;
  }
  .c-future-living-mobile .c-accordion-check:checked + label::after,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::after {
    right: 20px;
  }
  .c-future-living-mobile .c-accordion-check:checked + label::before,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::before {
    right: 28px;
  }
}
/* header show offcanvas */
@media only screen and (max-width: 980px) {
  .c-offcanvas-trigger-open {
    display: block;
  }
  .c-main-nav,
.c-header-lang {
    display: none;
  }
  .c-header-logo {
    width: 80px;
    height: 55px;
  }
  .c-showroom-text .c-row {
    align-items: flex-end;
  }
  .c-showroom-text .c-col-6 {
    -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-deco-circle-home {
    display: none;
  }
  .c-deco-circle-showroom-text {
    display: block;
  }
  .c-logowall-specialized-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-news-text-img-wide,
.c-news-text-only {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-news-references .c-news-item-img,
.c-news-references .c-news-item-text,
.c-teaser-references .c-col-4,
.c-teaser-references .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-news-references .c-news-item-img,
.c-teaser-references .c-col-8 {
    margin-bottom: 1em;
  }
}
@media only screen and (max-width: 900px) {
  .c-teaser-icons .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-teaser-icons .c-col-3 + .c-col-3 {
    padding-top: 3rem;
    padding-top: var(--spacing-m);
  }
  .c-teaser-icons-img {
    max-width: 160px;
  }
  .c-slider-control {
    display: none;
  }
  .c-slider-control.mobile {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-showroom-text .c-col-6,
.c-services .c-col-8,
.c-form .c-col-8,
.c-partner .c-col-8,
.c-future-living-main .c-col-5 {
    -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-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    text-align: left;
  }
  .c-footer-claim {
    display: block;
  }
  .c-footer-logo {
    width: 90px;
    margin-right: 0;
    margin-bottom: 1.1em;
  }
  .c-footer-claim h2 {
    max-width: none;
  }
}
@media only screen and (max-width: 700px) {
  .c-img-2col .c-col-6,
.c-text-img .c-col-6,
.c-team .c-col-4,
.c-contact .c-col-6,
.c-form .c-col-6,
.c-news-item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-img-2col .c-col-6:first-child {
    padding-bottom: 6rem;
    padding-bottom: var(--spacing-l);
  }
  .c-text-img .c-col-6 + .c-col-6,
.c-contact .c-col-6 + .c-col-6 {
    padding-top: 1.5rem;
    padding-top: var(--spacing-s);
  }
  .c-logowall-partner-list li {
    -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%;
  }
}
@media only screen and (max-width: 600px) {
  .c-logowall-specialized-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-logowall-specialized-list .c-logowall-logo {
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-logowall-main-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 540px) {
  .c-footer-main .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer-main .c-col-3:nth-child(1),
.c-footer-main .c-col-3:nth-child(2) {
    padding-bottom: 0;
  }
  .c-footer-main .c-col-3 + .c-col-3 {
    padding-top: 1.5em;
    padding-top: var(--spacing-s);
  }
  .c-teaser-cta .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-deco-circle-teaser {
    right: 24px;
    right: var(--grid-container);
  }
  .c-logowall-partner-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 400px) {
  .c-logowall-main-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-logowall-main-list .c-logowall-logo {
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
  }
}
/* ==========================================================================
   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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QkE7RUFDQztBTjh4QkQ7O0FNM3hCQTtFQUNDO0FOOHhCRDs7QU0zeEJBO0VBQ0k7RUFDQTtBTjh4Qko7O0FNM3hCQTtFQUNJO0VBQ0E7QU44eEJKOztBTTN4QkE7RUFDSSxpQkxoRFE7RUtpRFIsb0JMakRRO0VLa0RSO0VBQ0E7QU44eEJKOztBTTN4QkE7RUFDSSxpQkx2RFE7RUt3RFIsb0JMeERRO0VLeURSO0VBQ0E7QU44eEJKOztBTTN4QkE7RUFDSSxvQkw5RFE7RUsrRFI7QU44eEJKOztBTTN4QkE7RUFDSSxpQkxwRVE7RUtxRVI7QU44eEJKOztBTTN4QkE7RUFDSSxpQkx4RVE7RUt5RVIsb0JMekVRO0VLMEVSLHNCTHpFUTtFSzBFUjtBTjh4Qko7O0FNM3hCQTs7K0VBQUE7QUFJQTs7RUFFSSxrQkwvRWE7RUtnRmIsbUJMaEZhO0VLaUZiO0VBQ0E7QU42eEJKOztBTTF4QkE7O0VBRUksbUJMdEZPO0VLdUZQLGtCTHZGTztFS3dGUDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSTtFQUNJO0FONnhCWjs7QU0xeEJBO0VBQ0k7QU42eEJKOztBTTF4QkE7RUFDSTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0FONnhCSjs7QU0xeEJBO0VBQ0k7QU42eEJKOztBTTF4QkE7RUFDSTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0FONnhCSjs7QU0xeEJBO0VBQ0k7QU42eEJKOztBTTF4QkE7RUFDSTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0FONnhCSjs7QU0xeEJBOzs7Ozs7Ozs7Ozs7O0VBYUk7RUFDQTtFQUNBLG1CTHZKTztFS3dKUCxrQkx4Sk87RUt5SlA7RUFDQTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42eEJKOztBTTF4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONnhCSjs7QU0xeEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42eEJKOztBTTF4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONnhCSjs7QU0xeEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42eEJKOztBTTF4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONnhCSjs7QU0xeEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42eEJKOztBTTF4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONnhCSjs7QU0xeEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjZ4Qko7O0FNMXhCQTtBQUNBO0VBQ0U7QU42eEJGOztBTTF4QkE7RUFDRTtBTjZ4QkY7O0FNMXhCQTtFQUNFO0FONnhCRjs7QU0xeEJBO0VBQ0U7QU42eEJGOztBTTF4QkE7RUFDRTtBTjZ4QkY7O0FNMXhCQTtFQUNFO0FONnhCRjs7QU0xeEJBO0VBQ0U7QU42eEJGOztBTTF4QkE7RUFDRTtBTjZ4QkY7O0FNMXhCQTtFQUNFO0FONnhCRjs7QU0xeEJBO0VBQ0U7QU42eEJGOztBTTF4QkE7RUFDRTtBTjZ4QkY7O0FNMXhCQTs7K0VBQUE7QUFJQTs7RUFFSTtBTjR4Qko7O0FNenhCQTtFQUNJO0VBQ0E7QU40eEJKOztBTXp4QkE7RUFDSTtFQUNBO0FONHhCSjs7QU16eEJBO0VBQ0k7RUFDQTtBTjR4Qko7O0FNenhCQTtBQUNBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40eEJKOztBTXp4QkE7RUFDSSxvQkwvVWE7RUtnVmI7QU40eEJKOztBTXp4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONHhCSjs7QU16eEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjR4Qko7O0FNenhCQTs7RUFFSTtFQUNBO0VBQ0EsbUJMcldPO0VLc1dQLGtCTHRXTztFS3VXUDtFQUNBO0FONHhCSjs7QU16eEJBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40eEJKOztBT25yQ0E7OytFQUFBO0FBR0E7RUFDQztBUHNyQ0Q7O0FPbnJDQTs7K0VBQUE7QUFJQTs7Ozs7O0VBTUM7RUFDQTtBUHFyQ0Q7O0FPbHJDQTs7RUFFSTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0FQcXJDRDs7QU9sckNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHFyQ0o7O0FPbHJDQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBUHFyQ0Q7O0FPbHJDQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBUHFyQ0Q7O0FPbHJDQTs7RUFFSTtFQUNIO0VBQ0E7RUFDQTtBUHFyQ0Q7O0FPbHJDQTs7O0VBR0k7QVBxckNKOztBT2xyQ0E7RUFDSTtBUHFyQ0o7O0FPbHJDQTs7K0VBQUE7QUFJQTs7RUFFQztBUG9yQ0Q7O0FPanJDQTtFQUNDO0FQb3JDRDs7QU9qckNBO0VBQ0M7QVBvckNEOztBT2pyQ0E7O0VBRUk7QVBvckNKOztBT2pyQ0E7Ozs7Ozs7Ozs7RUFVQztBUG9yQ0Q7O0FPanJDQTtFQUNJO0FQb3JDSjs7QU9qckNBO0VBQ0k7RUFDSDtFQUNBO0VBQ0E7QVBvckNEOztBT2pyQ0E7RUFDSTtBUG9yQ0o7O0FPanJDQTs7OztFQUlDO0FQb3JDRDs7QU9qckNBO0VBQ0M7RUFDQTtBUG9yQ0Q7O0FPanJDQTtFQUNJO0VBQ0g7QVBvckNEOztBT2pyQ0E7OytFQUFBO0FBSUE7Ozs7O0VBS0M7RUFDQTtFQUNBO0FQbXJDRDs7QU9ockNBOztFQUVJO0VBQ0E7RUFDQTtBUG1yQ0o7O0FPaHJDQTs7RUFFQztFQUNBO0FQbXJDRDs7QU9ockNBO0VBQ0M7QVBtckNEOztBT2hyQ0E7OztFQUdDO0FQbXJDRDs7QU9ockNBO0VBQ0M7QVBtckNEOztBT2hyQ0E7RUFDQztBUG1yQ0Q7O0FPaHJDQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJOeEtjO0VNeUtkO0FQbXJDSjs7QU9ockNBO0VBQ0M7QVBtckNEOztBT2hyQ0E7RUFDQztBUG1yQ0Q7O0FPaHJDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjTjFMaUI7RU0yTGpCO0VBQ0c7RUFDSDtBUG1yQ0Q7O0FPaHJDQTs7RUFFSTtBUG1yQ0o7O0FPaHJDQTs7O0VBR0k7QVBtckNKOztBT2hyQ0E7O0VBRUk7QVBtckNKOztBT2hyQ0E7O0VBRUM7QVBtckNEOztBT2hyQ0E7O0VBRUk7RUFDQTtBUG1yQ0o7O0FPaHJDQTs7RUFFSTtFQUNBO0FQbXJDSjs7QU9ockNBO0VBQ0k7RUFDQTtBUG1yQ0o7O0FPaHJDQTs7RUFFSTtFQUNBO0FQbXJDSjs7QU9ockNBO0VBQ0k7QVBtckNKOztBT2hyQ0E7RUFDSTtBUG1yQ0o7O0FPaHJDQTs7K0VBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDRztBUGtyQ0o7O0FPL3FDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBrckNEOztBTy9xQ0E7RUFDQztFQUNBO0VBQ0c7RUFDSDtFQUNBO0VBQ0c7RUFDQTtFQUNIO0VBQ0E7RUFDRztBUGtyQ0o7O0FPOXFDQTs7RUFFQztBUGlyQ0Q7O0FPN3FDQTtFQUNJO0VBQ0g7RUFDQTtBUGdyQ0Q7O0FPN3FDQTs7K0VBQUE7QUFJQTtFQUNDO0FQK3FDRDs7QU81cUNBO0VBQ0M7QVArcUNEOztBTzVxQ0E7RUFDQyxXTnBUa0I7RU1xVGY7QVArcUNKOztBTzVxQ0E7OytFQUFBO0FBSUE7RUFDSTs7O0lBR0k7RVA4cUNOO0FBQ0Y7QU8zcUNBO0VBQ0k7SUFDRjtFUDZxQ0E7QUFDRjtBTzFxQ0E7RUFDSTtJQUNGO0VQNHFDQTtFT3pxQ0Q7OztJQUdDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFUDJxQ0E7QUFDRjtBT3hxQ0E7RUFFSTtJQUNGO0VQeXFDQTtFT3RxQ0Q7SUFDQztFUHdxQ0E7RU9ycUNFOzs7SUFHSTtFUHVxQ047QUFDRjtBT2pxQ0E7RUFJQztJQUNDO0VQZ3FDQTtFTzdwQ0Q7O0lBRUM7RVArcENBO0VPNXBDRDs7O0lBR0M7RVA4cENBO0VPM3BDRDs7Ozs7O0lBTUM7RVA2cENBO0FBQ0Y7QU96cENBO0VBRUM7SUFDQztFUDBwQ0E7QUFDRjtBUS9qREE7OytFQUFBO0FBR0E7RUFDQyxzQlBpQlk7RU9oQlQ7RUFDSDtBUmlrREQ7O0FROWpEQTtFQUNDO0VBQ0c7RUFDSDtFQUNBO0VBQ0E7RUFDRztBUmlrREo7O0FRN2pEQTtFQUNDO0VBQ0E7RUFDQTtBUmdrREQ7O0FRN2pEQTtFQUNJO0VBQ0E7QVJna0RKOztBUTdqREE7RUFDQztBUmdrREQ7O0FRN2pEQTtFQUNJO0VBQ0g7RUFDQTtFQUNHO0VBQ0E7RUFDQTtBUmdrREo7O0FRN2pEQTtFQUNDO0FSZ2tERDs7QVE3akRBO0VBQ0M7QVJna0REOztBUTdqREE7RUFDSTtBUmdrREo7O0FRN2pEQTs7K0VBQUE7QUFJQTs7RUFFQztFQUNHO0FSK2pESjs7QVE1akRBOztFQUVDO0VBQ0E7RUFDQTtBUitqREQ7O0FRNWpEQTs7RUFFQztBUitqREQ7O0FRNWpEQTtFQUNDO0FSK2pERDs7QVE1akRBO0VBQ0M7QVIrakREOztBUTNqREE7OztFQUdDO0VBQ0E7RUFDRztBUjhqREo7O0FRM2pEQTs7O0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJQL0VpQjtFT2dGZDtFQUNIO0FSOGpERDs7QVEzakRBOzs7Ozs7Ozs7O0VBVUM7QVI4akREOztBU3ByREE7OytFQUFBO0FBSUE7RUFDQyxpQlJ5Qlc7RVF4QlI7RUFDQTtFQUNBLHNCUmNNO0VRYk47QVRzckRKOztBU25yREE7RUFDSTtFQUNBO0VBQ0E7QVRzckRKOztBU25yREE7RUFDSTtFQUNBO0VBQ0E7QVRzckRKOztBU25yREE7RUFDSTtFQUNBO0FUc3JESjs7QVNuckRBOzs7RUFHQztFQUNBO0VBQ0E7QVRzckREOztBU25yREE7O0VBRUM7QVRzckREOztBU25yREE7RUFDSTtBVHNyREo7O0FTbnJEQTtFQUNJO0FUc3JESjs7QVNuckRBOztFQUVDO0FUc3JERDs7QVNuckRBO0VBQ0k7RUFDSDtBVHNyREQ7O0FTbnJEQTtFQUNDO0FUc3JERDs7QVNuckRBO0VBQ0M7QVRzckREOztBQWh1REE7QVV2QkE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQSxXVDRCZ0I7RVMzQmI7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjB2REQ7O0FVdnZEQTtFQUNDO0FWMHZERDs7QVV2dkRBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYwdkREOztBVXZ2REE7O0VBRUM7RUFDQTtBVjB2REQ7O0FVdnZEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0c7QVYwdkRKOztBVXZ2REE7RUFDQztFQUNBLHlCVHhCaUI7RVN5QmQ7RUFDSDtBVjB2REQ7O0FVdnZEQTs7RUFFQztBVjB2REQ7O0FVdnZEQTs7RUFFQyx5QlRwQ2lCO0VTcUNkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYwdkRKOztBVXZ2REE7RUFDQztBVjB2REQ7O0FVdnZEQTtFQUNDO0FWMHZERDs7QVV2dkRBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQlQvRFM7RVNnRU47RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZ5dkREOztBVXR2REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZ5dkRKOztBVXR2REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBVnl2REQ7O0FVdHZEQTs7K0VBQUE7QUFHQTtFQUNDO0FWeXZERDs7QVV0dkRBOztFQUVDO0VBQ0E7RUFDQTtFQUNHO0VBQ0E7QVZ5dkRKOztBVXR2REE7RUFDSSxvQlRwR1E7RVNxR1I7RUFDSDtBVnl2REQ7O0FVdHZEQTtFQUNDO0FWeXZERDs7QVV0dkRBO0VBQ0M7QVZ5dkREOztBVXR2REE7RUFDQztBVnl2REQ7O0FVdHZEQTs7RUFFQztFQUNBO0VBQ0c7QVZ5dkRKOztBVXR2REE7RUFDQztBVnl2REQ7O0FVdHZEQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlQvSWlCO0VTZ0pkO0VBQ0g7QVZ5dkREOztBVXR2REE7Ozs7OztFQU1DO0FWeXZERDs7QVV0dkRBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNIO0FWd3ZERDs7QVVwdkRDO0VBQ0M7RUFDQTtFQUNBO0FWdXZERjtBVXB2REM7RUFDQztBVnN2REY7O0FBdjZEQTtBV3hCQTs7K0VBQUE7QUFJQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCVlVjO0VVVGQ7RUFDQTtFQUNBO0FYazhESjs7QVcvN0RBO0VBQ0k7RUFDQTtFQUNBO0FYazhESjs7QVcvN0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlZWYztFVVdkO0FYazhESjs7QVcvN0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCVnZCYztFVXdCZDtFQUNBO0FYazhESjs7QVcvN0RBOzsrRUFBQTtBQUlBO0VBQ0M7QVhpOEREOztBVzk3REE7O0VBRUM7RUFDRztBWGk4REo7O0FXNzdEQTtBQUNBO0VBQ0k7SUFDRjtJQUNBO0lBQ0E7SUFDQTtFWGc4REE7QUFDRjtBVzU3REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYODdERDs7QVcxN0RBO0VBQ0M7RUFDQTtFQUNBO0FYNjdERDs7QVcxN0RBOzsrRUFBQTtBQUlBO0VBQ0kseUJWMUVjO0VVMkVkO0VBQ0E7QVg0N0RKOztBV3Q3REE7OytFQUFBO0FBSUE7RUFDSTtFQUNBO0FYdzdESjs7QVdyN0RBOzsrRUFBQTtBQUlBO0VBQ0k7QVh1N0RKOztBV3A3REE7Ozs7RUFJSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJWL0djO0VVZ0hkO0FYdTdESjs7QVdwN0RBO0VBQ0k7QVh1N0RKOztBV243REE7OytFQUFBO0FBSUE7RUFDSSxvQlZ0SFE7RVV1SFI7QVhxN0RKOztBV2w3REE7RUFDSSxxQlYxSFE7RVUySFI7QVhxN0RKOztBV2w3REE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNHO0FYbzdESjs7QVdqN0RBO0VBQ0M7QVhvN0REOztBV2o3REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYbzdERDs7QVdqN0RBO0VBQ0MsY1YvSmlCO0VVZ0tkO0FYbzdESjs7QVdqN0RBO0VBQ0M7RUFDQTtBWG83REQ7O0FXajdEQTs7OztFQUlJO0VBQ0E7RUFDQTtFQUNIO0VBQ0c7RUFDQTtBWG83REo7O0FXajdEQTs7RUFFSTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0FYbzdERDs7QVdqN0RBOztFQUVJO0VBQ0g7RUFDQTtFQUNBO0FYbzdERDs7QVdqN0RBO0VBQ0k7QVhvN0RKOztBV2o3REE7QUFDQTtFQUNDO0VBQ0E7RUFDQztBWG83REY7O0FXajdEQTtFQUNDO0VBQ0c7RUFDQTtBWG83REo7O0FXaDdEQTtFQUNDO0VBQ0M7QVhtN0RGOztBVzk2REE7OytFQUFBO0FBS0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0csbUJWNU5PO0VVNk5QLGtCVjdOTztFVThOUDtFQUNBO0FYKzZESjs7QVczNkRBO0VBQ0M7RUFDQSxtQlZwT1U7RVVxT1Asa0JWck9PO0VVc09QO0VBQ0E7RUFDQTtFQUNBO0FYODZESjs7QVcxNkRBOztFQUVDO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QVg2NkRKOztBVzE2REE7RUFDSTtBWDY2REo7O0FXMTZEQTtFQUNJO0VBQ0g7RUFDRyxzQlZuUVE7RVVvUVI7QVg2NkRKOztBVzE2REE7RUFDQztFQUNHO0VBQ0E7RUFDQTtFQUNBO0FYNjZESjs7QVcxNkRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDRztFQUNIO0VBQ0E7RUFDQTtBWDY2REQ7O0FXMTZEQTtFQUNFO0VBQ0U7RUFDQTtFQUNIO0FYNjZERDs7QVd4NkRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVgyNkRKOztBV3Y2REE7OytFQUFBO0FBSUE7RUFDSTtBWHk2REo7O0FXdDZEQTtFQUNJO0FYeTZESjs7QVd0NkRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVh5NkRKOztBV3Q2REE7RUFDSSx5QlYxVWM7RVUyVWQ7RUFDQSxXVm5WZTtFVW9WZjtFQUNBO0FYeTZESjs7QVd0NkRBO0VBQ0k7QVh5NkRKOztBV3Q2REE7RUFDSTtBWHk2REo7O0FXdDZEQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtBWHc2REo7O0FXcjZEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FYdzZESjs7QVdyNkRBO0VBQ0k7QVh3NkRKOztBV3I2REE7RUFDSTtBWHc2REo7O0FXcjZEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHc2REo7O0FXbjZEQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQlY1WU07RVU2WU47RUFDQTtFQUNBO0VBQ0E7RUFDSDtFQUNHO0FYcTZESjs7QVdsNkRBO0VBQ0k7QVhxNkRKOztBV2w2REE7RUFDSTtBWHE2REo7O0FXbDZEQTtFQUNJO0VBQ0E7QVhxNkRKOztBV2w2REE7RUFDQztJQUNDO0lBQ007SUFDTjtJQUNBO0lBQ0E7SUFDTTtFWHE2RE47QUFDRjtBWXIyRUE7OytFQUFBO0FBSUE7RUFDSTtFQUNBO0FaczJFSjs7QVlsMkVBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0FabzJFRDs7QVlqMkVBO0VBQ0M7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNEO0FabzJFSDs7QVlqMkVBOztFQUVDO0FabzJFRDs7QVlqMkVBOzs7Ozs7RUFNQztBWm8yRUQ7O0FZajJFQTs7K0VBQUE7QUFJQTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0g7RUFDQTtFQUNBO0VBQ0c7RUFDQTtFQUNIO0VBQ0c7RUFDSDtFQUNBO0VBQ0E7QVptMkVEOztBWWgyRUE7RUFDSTtBWm0yRUo7O0FZaDJFQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVptMkVKOztBWWgyRUE7Ozs7RUFJSTtFQUNBO0FabTJFSjs7QVloMkVBOzs7RUFHSSxXWDdFUztFVzhFVDtBWm0yRUo7O0FZaDJFQTs7OztFQUlJLFdYckZTO0VXc0ZaO0FabTJFRDs7QVkvMUVBOzs7O0VBSUk7RUFDQTtFQUNBO0FaazJFSjs7QVkvMUVBOzsrRUFBQTtBQUlBO0VBQ0M7QVppMkVEOztBWTkxRUE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7QVppMkVEOztBWTkxRUE7RUFDQztFQUNBO0VBQ0E7RUFDRztFQUNBO0FaaTJFSjs7QVk5MUVBOztFQUVDO0FaaTJFRDs7QVk5MUVBO0VBQ0k7RUFDQTtFQUNBO0FaaTJFSjs7QVk5MUVBOzs7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaaTJFRDs7QVk5MUVBOzs7O0VBSUk7QVppMkVKOztBWTUxRUE7RUFDSTtBWisxRUo7O0FZNTFFQTs7RUFFSTtBWisxRUo7O0FZNTFFQTtFQUNDO0FaKzFFRDs7QVk1MUVBOztFQUVDO0FaKzFFRDs7QVk1MUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWisxRUQ7O0FZNTFFQTs7RUFFQztBWisxRUQ7O0FZNTFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVorMUVEOztBWTUxRUE7O0VBRUM7QVorMUVEOztBWTUxRUE7O0VBRUk7RUFDQTtFQUNBO0FaKzFFSjs7QVk1MUVBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVorMUVKOztBWTUxRUE7RUFDSTtBWisxRUo7O0FZNTFFQTs7RUFFSTtBWisxRUo7O0FZNTFFQTs7RUFFSTtBWisxRUo7O0FZNTFFQTs7K0VBQUE7QUFLQTtFQUNDOztJQUVDO0VaNjFFQTtFWTExRUQ7SUFDQztFWjQxRUE7RVl6MUVEO0lBQ0M7RVoyMUVBO0FBQ0Y7QWEvbEZBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QWJnbUZEOztBYTdsRkE7OztFQUdDO0VBQ0E7RUFDQTtBYmdtRkQ7O0FhN2xGQTtFQUNDO0VBQ0E7QWJnbUZEOztBYTdsRkE7O0VBRUM7RUFDQTtFQUNBO0FiZ21GRDs7QWE3bEZBO0VBQ0M7QWJnbUZEOztBYTdsRkE7O0VBRUM7QWJnbUZEOztBYTdsRkE7RUFDQztBYmdtRkQ7O0FhN2xGQTtFQUNJO0FiZ21GSjs7QWE3bEZBOztFQUVDO0VBQ0E7RUFDQTtBYmdtRkQ7O0FjcHBGQTs7K0VBQUE7QUFHQTtBQUNBOzs7O0VBSUk7RUFDQTtFQUNIO0FkdXBGRDs7QWNwcEZBO0FBQ0E7Ozs7RUFJQztBZHVwRkQ7O0FjcHBGQTtFQUNDO0VBQ0E7RUFDQSxzQmJRVztFYVBSO0FkdXBGSjs7QWNwcEZBO0VBQ0ksc0JiR1E7RWFGUjtBZHVwRko7O0FjcHBGQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkdXBGSjs7QWNwcEZBOzsrRUFBQTtBQUlBOzs7Ozs7O0VBT0M7RUFDQTtFQUNHO0VBQ0gsV2J6Q1k7RWEwQ1Q7RUFDSDtFQUNBLHNCYnZDWTtFYXdDVDtBZHNwRko7O0FjbnBGQTtFQUNDO0Fkc3BGRDs7QWNucEZBOzs7Ozs7RUFNQyxrQmIvQm1CO0VhZ0NoQjtFQUNIO0Fkc3BGRDs7QWNucEZBOzs7Ozs7RUFNQyxrQmJ6Q2U7RWEwQ2YsV2IxQ2U7RWEyQ1o7RUFDSDtBZHNwRkQ7O0FjbnBGQTtFQUNDO0VBQ0E7QWRzcEZEOztBY2xwRkE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0Fkb3BGRDs7QWNqcEZBO0VBQ0M7RUFDQTtBZG9wRkQ7O0FjanBGQTs7RUFFSTtFQUNBO0VBQ0E7QWRvcEZKOztBY2pwRkE7Ozs7RUFJSTtFQUNBO0Fkb3BGSjs7QWNqcEZBOzs7O0VBSUk7RUFDQTtFQUNBO0Fkb3BGSjs7QWNqcEZBOzs7O0VBSUk7RUFDSDtFQUNHO0VBQ0E7RUFDSDtFQUNHO0VBQ0E7RUFDSDtBZG9wRkQ7O0FjanBGQTs7OztFQUlJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQmI1SVM7RWE2SVQ7RUFDQTtBZG9wRko7O0FjanBGQTs7RUFFSTtBZG9wRko7O0FjanBGQTs7RUFFSSxrQmJsSWdCO0VhbUloQjtFQUNBLHNCYjFKUztFYTJKVDtBZG9wRko7O0FjanBGQTs7RUFFSSxzQmJoS1M7RWFpS1Q7QWRvcEZKOztBY2pwRkE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSDtFQUNBO0VBQ0c7RUFDSDtFQUNBO0Fkb3BGRDs7QWNqcEZBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSDtFQUNBLHlCYjVMaUI7RWE2TGQ7QWRvcEZKOztBY2pwRkE7RUFDSTtBZG9wRko7O0FjanBGQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRvcEZKOztBY2pwRkE7O0VBRUk7QWRvcEZKOztBY2pwRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fkb3BGSjs7QWNqcEZBOzs7O0VBSUMsV2J6TWU7RWEwTVo7RUFDSCxrQmIzTWU7RWE0TVo7QWRvcEZKOztBY2pwRkE7OytFQUFBO0FBSUE7RUFDSTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0c7RUFDQTtFQUNIO0VBQ0Esc0JiblBZO0Vhb1BUO0VBQ0gsV2IxUFk7RWEyUFQ7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkbXBGRDs7QWNocEZBO0VBQ0ksa0Jiek9nQjtFYTBPaEI7RUFDSDtBZG1wRkQ7O0FjaHBGQTtFQUNDO0VBQ0E7QWRtcEZEOztBY2hwRkE7RUFDQztBZG1wRkQ7O0FjaHBGQTtFQUNDLFdidlBlO0Vhd1BaO0FkbXBGSjs7QWNocEZBOztFQUVDLFdiN1BlO0VhOFBaO0VBQ0gsa0JiL1BlO0VhZ1FaO0FkbXBGSjs7QWNocEZBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0c7QWRrcEZKOztBYzlvRkE7RUFDQztFQUNHLDJFYnBUaUI7RWFxVGpCO0VBQ0g7RUFDQTtFQUNHO0VBQ0g7RUFDQTtFQUNBO0VBQ0c7RUFDSCxXYnRUWTtFYXVUVDtFQUNILHNCYm5UWTtFYW9UVDtFQUNIO0VBQ0E7RUFDQTtFQUNHO0FkaXBGSjs7QWM1b0ZBO0VBQ0MsV2JuVVk7RWFvVVQ7RUFDSCxxQmI3VGlCO0VhOFRkO0FkK29GSjs7QWMxb0ZBOzsrRUFBQTtBQUlBOztFQUVJLHNCYjNVTTtFYTRVTjtFQUNIO0VBQ0c7RUFDSCxXYnBWa0I7RWFxVmY7RUFDSDtFQUNBO0VBQ0c7RUFDSDtBZDRvRkQ7O0FjeG9GQTs7O0VBR0k7RUFDQTtBZDJvRko7O0FjeG9GQTtBQUNBOztFQUVDLGNiM1VZO0VhNFVUO0FkMm9GSjs7QWN4b0ZBO0VBQ0M7RUFDQTtBZDJvRkQ7O0FjeG9GQTtFQUNDLHFCYnJWWTtFYXNWVDtBZDJvRko7O0FjeG9GQTtFQUNDLHlCYjFWWTtFYTJWVDtBZDJvRko7O0FjeG9GQTtBQUNBO0VBQ0MseUJiL1ZTO0VhZ1dOO0FkMm9GSjs7QWN4b0ZBO0VBQ0k7QWQyb0ZKOztBY3hvRkE7RUFDSTtBZDJvRko7O0FjeG9GQTtFQUNJO0FkMm9GSjs7QWN4b0ZBOzsrRUFBQTtBQUlBO0VBQ0k7QWQwb0ZKOztBY3ZvRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmJ2WmM7RWF3WmQ7RUFDQTtFQUNBO0VBQ0E7QWQwb0ZKOztBY3ZvRkE7RUFDSTtJQUNJO0VkMG9GTjtFY3ZvRkU7SUFDSTtFZHlvRk47QUFDRjtBZXRrR0E7OytFQUFBO0FBSUE7RUFDSTtBZnVrR0o7O0FlcGtHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FmdWtHSjs7QWVwa0dBO0VBQ0k7SUFDSTtFZnVrR047QUFDRjtBZXBrR0E7RUFDSTtJQUNJO0Vmc2tHTjtBQUNGO0FlbmtHQTtFQUNJO0lBQ0k7RWZxa0dOO0FBQ0Y7QWVsa0dBO0VBQ0k7SUFDSTtFZm9rR047QUFDRjtBZWprR0E7OytFQUFBO0FBSUE7RUFDSTtBZmtrR0o7O0FlL2pHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0Fma2tHSjtBZWprR0k7RUFDSTtBZm1rR1I7O0FlL2pHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZra0dKOztBZS9qR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxvQmR0Q1E7RWN1Q1I7QWZra0dKOztBZS9qR0E7RUFDSTtFQUNBO0Fma2tHSjs7QWUvakdBOzsrRUFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWZra0dKO0FlaGtHSTtFQUNJO0Fma2tHUjs7QWU5akdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmaWtHSjs7QWU5akdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZpa0dKOztBZTlqR0E7O0VBRUk7RUFDQTtBZmlrR0o7O0FlOWpHQTtFQUNJLHlCZDlGYztFYytGZDtBZmlrR0o7O0FlOWpHQTtFQUNJO0FmaWtHSjs7QWU5akdBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDSDtFQUNHLHlCZDlHTztFYytHUDtBZmdrR0o7O0FlN2pHQTtFQUNJO0FmZ2tHSjs7QWU3akdBO0VBQ0k7RUFDSDtFQUNBO0VBQ0c7RUFDQTtBZmdrR0o7O0FlN2pHQTtFQUNJO0VBQ0g7RUFDQTtFQUNHO0VBQ0g7RUFDQTtBZmdrR0Q7O0FlN2pHQTtFQUNJO0VBQ0E7QWZna0dKOztBZ0JodUdBOzsrRUFBQTtBQUlBO0VBQ0k7QWhCa3VHSjs7QWdCL3RHQTtFQUNDO0VBQ0E7QWhCa3VHRDs7QWdCL3RHQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJpdUdKOztBZ0I3dEdBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJmVGM7RWVVZDtFQUNBO0VBQ0E7RUFDQTtBaEJndUdKOztBZ0I3dEdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJndUdKOztBZ0I3dEdBOztFQUVJO0FoQmd1R0o7O0FnQjd0R0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQmd1R0o7O0FnQjd0R0E7RUFDSTtFQUNBO0FoQmd1R0o7O0FnQjd0R0E7O0VBRUk7QWhCZ3VHSjs7QWdCNXRHQTs7K0VBQUE7QUFJQTtFQUNJLGlCZmpEUTtFZWtEUjtBaEI4dEdKOztBZ0IzdEdBOztFQUVJO0FoQjh0R0o7O0FnQjN0R0E7RUFDRztBaEI4dEdIOztBZ0IzdEdBOztFQUVJO0FoQjh0R0o7O0FnQnp0R0E7OytFQUFBO0FBS0M7RUFFQztBaEJ5dEdGO0FnQnR0R0M7RUFFQztFQUNNO0FoQnV0R1I7QWdCcHRHSTtFQUNGO0FoQnN0R0Y7O0FnQmp0R0M7RUFFQztBaEJtdEdGO0FnQmh0R0M7RUFFQztFQUNNO0FoQml0R1I7QWdCOXNHSTtFQUNGO0FoQmd0R0Y7O0FnQjNzR0M7RUFFQztBaEI2c0dGO0FnQjFzR0M7RUFFQztFQUNNO0FoQjJzR1I7QWdCeHNHSTtFQUNGO0FoQjBzR0Y7O0FnQnJzR0M7RUFFQztBaEJ1c0dGO0FnQnBzR0M7RUFFQztFQUNNO0FoQnFzR1I7QWdCbHNHSTtFQUNGO0FoQm9zR0Y7O0FnQi9yR0M7RUFFQztBaEJpc0dGO0FnQjlyR0M7RUFFQztFQUNNO0FoQityR1I7QWdCNXJHSTtFQUNGO0FoQjhyR0Y7O0FnQnpyR0M7RUFFQztBaEIyckdGO0FnQnhyR0M7RUFFQztFQUNNO0FoQnlyR1I7QWdCdHJHSTtFQUNGO0FoQndyR0Y7O0FnQnByR0E7OytFQUFBO0FBSUE7RUFDSTtBaEJzckdKOztBZ0JsckdBO0VBQ0M7RUFDQTtFQUNHO0VBQ0g7QWhCcXJHRDs7QWdCbHJHQTtFQUNDO0FoQnFyR0Q7O0FnQmxyR0E7O0VBRUMsV2ZuTmtCO0Vlb05mO0VBQ0Esc0JmaE5NO0VlaU5OO0FoQnFyR0o7O0FnQmpyR0E7Ozs7RUFJSTtFQUNBO0FoQm9yR0o7O0FnQmpyR0E7O0VBRUk7RUFDQTtBaEJvckdKOztBZ0JqckdBOztFQUVJO0VBQ0E7QWhCb3JHSjs7QWdCanJHQTtFQUNJO0FoQm9yR0o7O0FnQmpyR0E7RUFDQztBaEJvckdEOztBZ0IvcUdBOzsrRUFBQTtBQUlBO0VBQ0k7OztJQUdJO0VoQmlyR047RWdCOXFHRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhCZ3JHTjtFZ0I3cUdFO0lBQ0k7RWhCK3FHTjtBQUNGO0FnQjNxR0E7RUFDSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhCNnFHTjtFZ0IxcUdFO0lBQ0ksbUJmNVFJO0llNlFKO0VoQjRxR047QUFDRjtBQXg3R0E7QWlCbENBOzsrRUFBQTtBQUlBO0VBQ0M7QWpCNDlHRDtBaUJ6OUdBOzsrRUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7SUFDTjtFakIwOUdBO0FBQ0Y7QWlCdjlHQTtFQUNDO0VBQ0E7SUFDTztJQUNBO0lBQ0E7SUFDTjtFakJ5OUdBO0VpQnQ5R0U7O0lBRUk7SUFDQTtJQUNBO0VqQnc5R047RWlCcjlHRTtJQUNJO0VqQnU5R047RWlCcDlHRTtJQUNJO0VqQnM5R047RWlCbjlHRTtJQUNJO0lBQ0E7RWpCcTlHTjtFaUJsOUdFO0lBQ0k7SUFDQTtFakJvOUdOO0VpQmo5R0U7SUFDSTtJQUNBO0VqQm05R047RWlCaDlHRTtJQUNJO0lBQ0E7RWpCazlHTjtBQUNGO0FpQjM4R0E7RUFDSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpCNjhHTjtFaUIxOEdFO0lBQ0k7RWpCNDhHTjtBQUNGO0FpQno4R0E7RUFDSTs7Ozs7Ozs7SUFRRjtJQUNNO0lBQ0E7SUFDQTtJQUNBO0VqQjI4R047RWlCeDhHRTtJQUNJO0VqQjA4R047RWlCdjhHRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpCeThHTjtFaUJ0OEdFOztJQUVJO0lBQ0E7RWpCdzhHTjtFaUJyOEdFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFakJ1OEdOO0VpQnA4R0U7SUFDSTtFakJzOEdOO0VpQm44R0U7SUFDSTtFakJxOEdOO0VpQmw4R0U7O0lBRUk7SUFDQTtFakJvOEdOO0VpQmo4R0U7O0lBRUk7SUFDQTtFakJtOEdOO0VpQmg4R0U7SUFDSTtJQUNBO0VqQms4R047RWlCLzdHRTs7OztJQUlJO0lBQ0E7RWpCaThHTjtFaUI5N0dFOztJQUVJO0VqQmc4R047RWlCNzdHRTs7SUFFSTtFakIrN0dOO0FBQ0Y7QWlCMzdHQTtBQUNBO0VBQ0M7SUFDQztFakI2N0dBO0VpQjE3R0Q7O0lBRUM7RWpCNDdHQTtFaUJ6N0dFO0lBQ0k7SUFDQTtFakIyN0dOO0VpQng3R0U7SUFDSTtFakIwN0dOO0VpQnY3R0U7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqQnk3R047RWlCdDdHRTtJQUNJO0VqQnc3R047RWlCcjdHRTtJQUNJO0VqQnU3R047RWlCcDdHRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpCczdHTjtFaUJuN0dFOztJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpCcTdHTjtFaUJsN0dFOzs7O0lBSUk7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFakJvN0dBO0VpQmo3R0U7O0lBRUk7RWpCbTdHTjtBQUNGO0FpQmg3R0E7RUFDSTtJQUNJO0lBQ047SUFDQTtJQUNBO0lBQ0E7RWpCazdHQTtFaUIvNkdFO0lBQ0ksaUJoQjVOSTtJZ0I2Tko7RWpCaTdHTjtFaUI3NkdFO0lBQ0k7RWpCKzZHTjtFaUI1NkdFO0lBQ0k7RWpCODZHTjtFaUI1NkdNO0lBQ0k7RWpCODZHVjtBQUNGO0FpQjE2R0E7RUFDQzs7Ozs7Ozs7SUFRQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqQjQ2R0E7RWlCeDZHRTtJQUNGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDTTtFakIwNkdOO0VpQnY2R0U7SUFDSTtFakJ5NkdOO0VpQnQ2R0U7SUFDSTtJQUNBO0lBQ0E7RWpCdzZHTjtFaUJyNkdFO0lBQ0k7RWpCdTZHTjtBQUNGO0FpQnA2R0E7RUFDSTs7Ozs7O0lBTUY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFakJzNkdBO0VpQm42R0U7SUFDRixvQmhCdlNVO0lnQndTSjtFakJxNkdOO0VpQmw2R0U7O0lBRUYsbUJoQjNTVTtJZ0I0U0o7RWpCbzZHTjtFaUJqNkdFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFakJtNkdOO0FBQ0Y7QWlCaDZHQTtFQUNJO0lBQ0k7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFakJrNkdBO0VpQi81R0U7SUFDSTtJQUNBO0lBQ0E7RWpCaTZHTjtFaUI5NUdFO0lBQ0k7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFakJnNkdBO0FBQ0Y7QWlCNzVHQTtFQUNJO0lBQ0k7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFakIrNUdBO0VpQjU1R0U7O0lBRUk7RWpCODVHTjtFaUIzNUdFO0lBQ0k7SUFDQTtFakI2NUdOO0VpQjE1R0U7SUFDRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqQjQ1R0E7RWlCejVHRTtJQUNJO0lBQ0E7RWpCMjVHTjtFaUJ4NUdFO0lBQ0k7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFakIwNUdBO0FBQ0Y7QWlCdDVHQTtFQUNJO0lBQ0k7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFakJ3NUdBO0VpQnI1R0U7SUFDSTtJQUNBO0lBQ0E7RWpCdTVHTjtBQUNGO0FrQjl6SEE7OytFQUFBO0FBR0E7RUFDSTtFQUNBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RWxCZzBITjtFa0I3ekhEOztJQUVPO0VsQit6SE47RWtCNXpIRTs7O0lBR0Y7RWxCOHpIQTtFa0IzekhFOztJQUVJO0lBQ0E7RWxCNnpITjtFa0IxekhFO0lBQ0k7RWxCNHpITjtFa0J6ekhFOztJQUVJO0VsQjJ6SE47RWtCeHpIRTtJQUNJO0VsQjB6SE47RWtCdnpIRTtJQUNJO0VsQnl6SE47RWtCdHpIRTs7O0lBR0k7SUFDQTtFbEJ3ekhOO0VrQnJ6SEU7O0lBRUk7SUFDQTtFbEJ1ekhOO0VrQnB6SEU7RUFFSDs7SUFFQztJQUNBO0lBQ0E7RWxCcXpIQTtFa0JsekhFO0lBQ0k7RWxCb3pITjtFa0JqekhEO0lBQ0M7RWxCbXpIQTtFa0JoekhEOzs7OztJQUtDO0VsQmt6SEE7RWtCL3lIRDtFQUNBO0lBQ0M7RWxCaXpIQTtFa0I5eUhEO0lBQ0M7RWxCZ3pIQTtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvbWFpbi5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX21peGlucy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fYmFzZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2J1dHRvbi1saW5rcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yYXRpb2JveC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mdXR1cmUtbGl2aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypAaW1wb3J0IFwiLi4vZm9udHMvaW5saW5lRm9udHMuc2Nzc1wiOyovXG5AaW1wb3J0IFwiY29tbW9uL192YXJpYWJsZXNcIjtcbi8qQGltcG9ydCBcImNvbW1vbi9fZm9udHNcIjsqL1xuQGltcG9ydCBcImNvbW1vbi9fbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiY29tbW9uL19taXhpbnNcIjtcbkBpbXBvcnQgXCJjb21tb24vX2hlbHBlcnNcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jhc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3RlclwiO1xuXG4vKiBvcHRpb25hbCBzdHlsZXMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19vZmZjYW52YXNcIjtcbi8qQGltcG9ydCBcImNvbXBvbmVudHMvX3RhYmxlc1wiOyovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmF0aW9ib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb3JtXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fc2xpZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZnV0dXJlLWxpdmluZ1wiO1xuXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3Jlc3BvbnNpdmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wcmludFwiOyIsIi8qIFZhcmlhYmxlcywgTmFtaW5nIG1heSB2YXJ5IGZyb20gcHJvamVjdCB0byBwcm9qZWN0ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyAoc2VlICdfZm9udHMuc2NzcycgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gbGljZW5zZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEBpbXBvcnQgbXVzdCBiZSBhdCB0b3Agb2YgZmlsZSwgb3RoZXJ3aXNlIENTUyB3aWxsIG5vdCB3b3JrICovXG4vKiBAaW1wb3J0IHVybCgnLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC80MjY1NjMnKTsgKi9cblxuJGZvbnQtc3RhY2stZGVmYXVsdDogJ2l0Yy1hdmFudC1nYXJkZS1nb3RoaWMtcHJvJywgJ0FyaWFsJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGYWxsYmFja3Mgc2FzcyBWYXJpYWJsZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHRleHQgKi9cbiR0ZXh0LWNvbG9yOiAjMDAwOyAvKiBkYXJrIGdyZXkgKi9cbiR0ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmO1xuJHRleHQtY29sb3ItbGluazogIzAwMDsgLyogZGFyayBncmV5ICovXG5cbi8qIGJhY2tncm91bmQgKi9cbiRiZy1jb250ZW50OiAjZmZmO1xuJGJnLWRhcms6ICMwMDA7IC8qIGRhcmsgZ3JleSAqL1xuJGJnLWxpZ2h0OiAjZjlmOWY5OyAvKiBsaWdodCBncmV5ICovXG4kY29sb3ItaGlnaGxpZ2h0OiAjRjFCNDM0OyAvKiB5ZWxsb3cgKi9cblxuLyogbGluZS1jb2xvcnMgKi9cbiRib3JkZXItYmFzaWM6ICNjY2NjY2M7XG5cbi8qIHNwYWNpbmcgKi9cbiRzcGFjaW5nLWw6IDZyZW07XG4kc3BhY2luZy1tOiAzcmVtO1xuJHNwYWNpbmctczogMS41cmVtO1xuJHNwYWNpbmcteHM6IDAuNzVyZW07XG5cbi8qIGdyaWQgKi9cbiRncmlkLWNvbnRhaW5lcjogMjRweDtcbiRncmlkLXJvdzogLTEycHg7XG4kZ3JpZC1jb2w6IDEycHg7XG5cblxuLyogZm9ybSAqL1xuJGJvcmRlci1mb3JtOiAjY2NjY2NjO1xuJGJvcmRlci1mb3JtLWZvY3VzOiAjMDAwO1xuJGZvcm0tZGlzYWJsZWQ6ICNjY2M7XG4kZm9ybS1lcnJvcjogI2RkMDAwMDtcbiRmb3JtLW9rOiAjMmQ1OTIyO1xuJGZvcm0taW5pdGlhbDogIzFEMUQxQjtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ3VzdG9tIFByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuOnJvb3Qge1xuICAgIC8qIGZvbnRzICovXG4gICAgLS1mb250LXN0YWNrLWRlZmF1bHQ6ICdpdGMtYXZhbnQtZ2FyZGUtZ290aGljLXBybycsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC13ZWlnaHQtbm9ybWFsOiA1MDA7XG4gICAgLS1mb250LXdlaWdodC1ib2xkOiA3MDA7XG4gICAgXG4gICAgLyogdGV4dCAgKi9cbiAgICAtLXRleHQtY29sb3I6ICMwMDA7IC8qIGJsYWNrICovXG4gICAgLS10ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmO1xuICAgIC0tdGV4dC1jb2xvci1saW5rOiAjMDAwO1xuICAgIFxuICAgIFxuICAgIC8qIGNvbG9ycyAvIGJhY2tncm91bmQgKi9cbiAgICAtLWJnLWNvbnRlbnQ6ICNmZmY7XG4gICAgLS1iZy1kYXJrOiAjMDAwOyAvKiBibGFjayAqL1xuICAgIC0tYmctbGlnaHQ6ICNmOWY5Zjk7IC8qIGxpZ2h0IGdyZXkgKi9cbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogI0YxQjQzNDsgLyogeWVsbG93ICovXG4gICAgXG4gICAgLyogbGluZXMgKi9cbiAgICAtLWJvcmRlci1iYXNpYzogI2NjY2NjYztcbiAgICBcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDIwMHB4O1xuICAgIFxuICAgIC8qIHNwYWNpbmcgKi9cbiAgICAtLXNwYWNpbmctbDogNy41cmVtO1xuICAgIC0tc3BhY2luZy1tOiAzLjc1cmVtOyBcbiAgICAtLXNwYWNpbmctczogMS41cmVtO1xuICAgIC0tc3BhY2luZy14czogMC43NXJlbTtcbiAgICAtLXNwYWNpbmctbG06IDUuNzVlbTtcbiAgICBcbiAgICBcbiAgICAvKiBncmlkICovXG4gICAgLS1ncmlkLWNvbnRhaW5lcjogMjRweDtcbiAgICAtLWdyaWQtcm93OiAtMTJweDtcbiAgICAtLWdyaWQtY29sOiAxMnB4O1xuICAgIFxuICAgIC8qIGZvcm0gKi9cbiAgICAtLWJvcmRlci1mb3JtOiAjY2NjY2NjO1xuICAgIC0tYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDA7XG4gICAgLS1mb3JtLWRpc2FibGVkOiAjY2NjO1xuICAgIC0tZm9ybS1lcnJvcjogI2RkMDAwMDtcbiAgICAtLWZvcm0tb2s6ICMyZDU5MjI7XG4gICAgLS1mb3JtLWluaXRpYWw6ICMxRDFEMUI7XG4gICAgLS1mb3JtLXRleHQtc21hbGw6IDAuNzZyZW07XG4gICAgXG4gICAgLS1mdXR1cmUtbGl2aW5nLXRpdGxlLXBhZGRpbmc6IDI0cHg7XG4gICAgLS1mdXR1cmUtbGl2aW5nLXRpdGxlLWhvdmVyLWhlaWdodDogMTBweDtcbiAgICBcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEV4ZXB0aW9ucyBmb3IgZGlmZmVyZW50IGJhY2tncm91bmRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWxpZ2h0IHtcbiAgICAtLXRleHQtY29sb3I6ICNmZmY7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6ICNmZmY7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtYnRuIHtcbiAgICAtLXRleHQtY29sb3I6ICNmZmY7XG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICNmZmY7XG59XG5cblxuLmMtaGVhZGVyLXN0aWNreSB7XG4gICAgLS1oZWFkZXItaGVpZ2h0OiA5NnB4O1xufVxuXG4uYy10ZWFzZXItaWNvbnMtaXRlbSBoMjpmb2N1cywgXG4uYy10ZWFzZXItaWNvbnMtaXRlbSBoMjpob3ZlciB7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6ICNGMUI0MzQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNwb25zaXZlIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWdyaWQtY29udGFpbmVyOiA0OHB4O1xuICAgICAgICAtLWdyaWQtcm93OiAtMjRweDtcbiAgICAgICAgLS1ncmlkLWNvbDogMjRweDtcbiAgICAgICAgLS1mdXR1cmUtbGl2aW5nLXRpdGxlLWhvdmVyLWhlaWdodDogMjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNjAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZ3JpZC1jb250YWluZXI6IDU2cHg7XG4gICAgICAgIC0tZ3JpZC1yb3c6IC0zOHB4O1xuICAgICAgICAtLWdyaWQtY29sOiAzOHB4OyAgICAgICAgXG4gICAgICAgIC0tZnV0dXJlLWxpdmluZy10aXRsZS1wYWRkaW5nOiAxLjRlbSA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEzMDBweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1oZWFkZXItaGVpZ2h0OiAxNjBweDtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLXNwYWNpbmctbDogNC41cmVtO1xuICAgICAgICAtLXNwYWNpbmctbTogMi41cmVtOyBcbiAgICAgICAgLS1zcGFjaW5nLWxtOiAzcmVtO1xuICAgICAgICAtLWhlYWRlci1oZWlnaHQ6IDgwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWhlYWRlci1zdGlja3kge1xuICAgICAgICAtLWhlYWRlci1oZWlnaHQ6IDgwcHg7XG4gICAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4qIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbiAqICAgIGh0dHA6Ly9jbGFnbnV0LmNvbS9ibG9nLzM0OC8jYzc5MFxuICogMi4gS2VlcHMgcGFnZSBjZW50cmVkIGluIGFsbCBicm93c2VycyByZWdhcmRsZXNzIG9mIGNvbnRlbnQgaGVpZ2h0XG4gKiAzLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbVxuICogICAgd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tL1xuICogNC4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiA0ICovXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cblxuXG4gKi9cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLypcbiogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vyc1xuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cblxucSB7XG4gICAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcblxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZXMgYm9yZGVyIHdoZW4gaW5zaWRlICdhJyBlbGVtZW50IGluIElFNi83LzgvOSwgRkYzXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFN1xuICogICAgY29kZS5mbGlja3IuY29tL2Jsb2cvMjAwOC8xMS8xMi9vbi11aS1xdWFsaXR5LXRoZS1saXR0bGUtdGhpbmdzLWNsaWVudC1zaWRlLWltYWdlLXJlc2l6aW5nL1xuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKlxuICogQ29ycmVjdHMgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFOVxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0cyBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFNi83XG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgbWFyZ2luOjA7IC8qIGN1YmVncmFmaWsgKi9cbiAgICBwYWRkaW5nOjA7IC8qIGN1YmVncmFmaWsgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gIGJvcmRlcjogMDtcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG5cbiAqIDQuIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vyc1xuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogNCAqL1xufVxuXG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG5cbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUU3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUU2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAvKiA0ICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cblxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuLyoqXG5cbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxsc1xuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVsZW1lbnRzIGN1YmVncmFmaWtcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmE6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5cbmRpdiwgcCB7XG4gICAgcGFkZGluZzowO1xuICAgIG1hcmdpbjowO1xufVxuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGgsIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246bGVmdDtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gICAgLyogUmVtb3ZlZCBiZWNhdXNlIG9mIHZpc2liaWxpdHljaGFuZ2UtYWRkaXRpb24gdG8gZmFuY3ktZm9ybXMgcGx1Z2luLlxuICAgICAqIDIwMTUvMDEvMjIgLSBGbG9yaWFuIE3DpGRlclxuICAgICAqIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsqL1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaHRtbCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmkgMy4wIC0gNS4wLCBDaHJvbWUgMSAtIDksIEFuZHJvaWQgMi4xIC0gMy54ICovXG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBGaXJlZm94IDEgLSAyOCAqL1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDUuMSssIENocm9tZSAxMCssIEZpcmVmb3ggMjkrLCBPcGVyYSA3KywgSUUgOCssIEFuZHJvaWQgNC4wKywgaU9TIGFueSAqL1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5sYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDEwICAqL1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogSUUgMTErICovXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm0gUGxhY2Vob2xkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgICB7QGNvbnRlbnR9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAge0Bjb250ZW50fSAgXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyBzbW9vdGhpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gICAgQGlmICR2YWx1ZSA9PSBvbiB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgSGlkaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oaWRlLXZpc3VhbGx5IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmMtaGlkZS1jb21wbGV0ZWx5IHtcblx0ZGlzcGxheTogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBpbWFnZSByZXBsYWNlbWVudCAqL1xuLmMtaXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiAwO1xuXHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0ZGlyZWN0aW9uOiBsdHI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0aWNreSBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmMtaGVhZGVyLFxuLmMtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmMtY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIFByb2plY3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJvZHkge1xuXHRAaW5jbHVkZSBmb250LXNtb290aGluZyhvbik7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stZGVmYXVsdDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1kZWZhdWx0KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG59XG5cbi8qIGxpbmtzICovXG5hLFxuYTp2aXNpdGVkLFxuYTpmb2N1cyxcbmE6aG92ZXIge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGluaztcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saW5rKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5wOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxudGV4dGFyZWEge1xuXHRyZXNpemU6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIGltZyAvIG1lZGlhIGRlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5lbWJlZCxcbm9iamVjdCxcbnZpZGVvLFxuaWZyYW1lLFxuaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jLWltZy1tYXgtd2lkdGgsXG4uYy1jb250ZW50IC5jLWltZy1tYXgtd2lkdGgge1xuXHR3aWR0aDogYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcgeyBcblx0dmVydGljYWwtYWxpZ246IGJvdHRvbTsgXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgTWFpbiBDb250YWluZXIgRGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhlYWRlcixcbi5jLWNvbnRlbnQsXG4uYy1mb290ZXIsXG4uYy1jb250YWluZXIsXG4uYy1jb250YWluZXItbWVkaXVtLFxuLmMtY29udGFpbmVyLXdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgUGFkZGluZyBiZXR3ZWVuIENvbXBvbmVudHMgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250YWluZXIsXG4uYy1jb250YWluZXItbWVkaXVtLFxuLmMtdGVzdGltb25pYWwge1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtbWFpbi10aXRsZSxcbi5jLXNob3dyb29tLXRleHQtaW5uZXIsXG4uYy1mdXR1cmUtbGl2aW5nIHtcblx0cGFkZGluZy10b3A6IDUuNzVlbTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sbSk7XG59XG5cbi5jLW1haW4tdGl0bGUtZGVjbyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtc2hvd3Jvb20tdGV4dC1pbm5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDUuNzVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sbSk7XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi5jLXNob3dyb29tLFxuLmMtbWFpbi10aXRsZS1kZWNvLFxuLmMtY29udGFjdCxcbi5jLWZ1dHVyZS1saXZpbmcge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtbWFpbi10aXRsZS1kZWNvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtY29udGFpbmVyLW5vLXBhZGRpbmcge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtc2VjdGlvbi10aXRsZSB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjI1ZW07XG59XG5cbi5jLXRleHQtb25seSArIC5jLXRleHQtb25seSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygoJHNwYWNpbmctbCAgKiAtMSkgKyAxLjVlbSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygodmFyKC0tc3BhY2luZy1sKSAqIC0xKSArIDEuNWVtKTtcbn1cblxuLmMtc2VydmljZXMgKyAuYy1zZXJ2aWNlcyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygoJHNwYWNpbmctbCAgKiAtMSkgKyAkc3BhY2luZy1tKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCh2YXIoLS1zcGFjaW5nLWwpICogLTEpICsgdmFyKC0tc3BhY2luZy1tKSk7XG59XG5cbi5jLWZpbHRlciB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZy1tKSAtIDAuNzVlbSk7XG59XG5cbi5jLWNvbnRhY3Qge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmctbSkgLSAxLjVlbSk7XG59XG5cbi5jLXRlYW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4uYy10ZWFzZXItY3RhIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtcGFydG5lciB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBHcmlkIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250YWluZXIsXG4uYy1jb250YWluZXItbWVkaXVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4uYy1yb3csXG4uYy1uZXdzLXJlZmVyZW5jZXMgLmMtbmV3cy1pdGVtLWlubmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tbGVmdDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uYy1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uYy1yb3ctanVzdGlmeS1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYy1yb3ctanVzdGlmeS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uYy1yb3ctanVzdGlmeS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jLXJvdy1hbGlnbi10b3Age1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYy1yb3ctYWxpZ24tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1yb3ctYWxpZ24tYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5jLWNvbC0xLFxuLmMtY29sLTIsXG4uYy1jb2wtMyxcbi5jLWNvbC00LFxuLmMtY29sLTUsXG4uYy1jb2wtNixcbi5jLWNvbC03LFxuLmMtY29sLTgsXG4uYy1jb2wtOSxcbi5jLWNvbC0xMCxcbi5jLWNvbC0xMSxcbi5jLWNvbC0xMixcbi5jLW5ld3MtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xufVxuXG4uYy1jb2wtMTIge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAgICBcbn1cblxuLmMtY29sLTExIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclO1xufVxuXG4uYy1jb2wtMTAge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7XG59XG5cbi5jLWNvbC05IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDc1JTtcbiAgICAtbXMtZmxleDogMCAwIDc1JTtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xufVxuXG4uYy1jb2wtOCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbn1cblxuLmMtY29sLTcge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG59XG5cbi5jLWNvbC02IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xufVxuXG4uYy1jb2wtNSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbn1cblxuLmMtY29sLTQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5jLWNvbC0zIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTtcbiAgICAtbXMtZmxleDogMCAwIDI1JTtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xufVxuXG4uYy1jb2wtMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTtcbn1cblxuLmMtY29sLTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLyogb2Zmc2V0IGNvbHMgKi9cbi5jLWNvbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLmMtY29sLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NyU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcmlkIFZhcmlhbnRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcyxcbi5jLWFzeW0tbGVmdC1lZGdlbGVzcyB7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xufVxuXG4uYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLWltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ3JpZC1jb250YWluZXIpICogLTEpO1xufVxuXG4uYy1hc3ltLWxlZnQtZWRnZWxlc3MtaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ3JpZC1jb250YWluZXIpICogLTEpO1xufVxuXG4uYy1hc3ltLWxlZnQtZWRnZWxlc3MgLmMtbGVnZW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAodmFyLS1ncmlkLWNvbnRhaW5lcik7XG59XG5cbi8qIG5ld3MgKi9cbi5jLW5ld3MtaXRlbSxcbi5jLW5ld3MtcmVmZXJlbmNlcyAuYy1uZXdzLWl0ZW0tdGV4dCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtbmV3cy1pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtY29udGFpbmVyO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSArIDFyZW0pO1xufVxuXG4uYy1uZXdzLXRleHQtaW1nIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xufVxuXG4uYy1uZXdzLXJlZmVyZW5jZXMgIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmMtbmV3cy1yZWZlcmVuY2VzIC5jLW5ld3MtaXRlbS1pbWcsXG4uYy1uZXdzLXJlZmVyZW5jZXMgLmMtbmV3cy1pdGVtLXRleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZy1yaWdodDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbn1cblxuLmMtbmV3cy1yZWZlcmVuY2VzIC5jLW5ld3MtaXRlbS1pbWcsXG4uYy1uZXdzLXRleHQtaW1nLXdpZGUge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG59XG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcblx0Zm9udC1zaXplOiAyMXB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGl0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbmgxLFxuLmMtaDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1ib3R0b206IDAuMzVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMTE7XG5cdGZvbnQtc2l6ZTogMy40MnJlbTsgLyogNzJ4ICovXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtbWFpbi10aXRsZS1ieWxpbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC0wLjllbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuaDIsXG4uYy1oMiB7XG5cdHBhZGRpbmctYm90dG9tOiAuNWVtO1xuXHRsaW5lLWhlaWdodDogMS4xMjtcblx0Zm9udC1zaXplOiAyLjM4cmVtOyAvKiA1MHB4ICovXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuaDMsXG4uYy1oMyB7XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdGZvbnQtc2l6ZTogMS40MnJlbTtcblx0cGFkZGluZy1ib3R0b206IDAuNWVtO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbmg0LFxuLmMtaDQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0Zm9udC1zaXplOiAxcmVtO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLWZvb3RlciBoNCxcbi5jLWZvb3RlciAuYy00LFxuLmMtbG9nb3dhbGwtdGV4dCBoNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCB7XG4gICAgZm9udC1zaXplOiAxLjQycmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgVGV4dCBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250ZW50LFxuLmMtZm9vdGVyIHtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmMtdGV4dC1ibG9jayBwIHtcblx0cGFkZGluZy1ib3R0b206IDEuNWVtO1xufVxuXG4uYy1uZXdzLWl0ZW0gcDpsYXN0LWNoaWxkIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRlYW0taXRlbSBwLFxuLmMtbG9nb3dhbGwtdGV4dCBwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG59XG5cbi5jLXRleHQtYmxvY2sgcCArIGgyLFxuLmMtdGV4dC1ibG9jayBwICsgaDMsXG4uYy10ZXh0LWJsb2NrIHAgKyBoNCxcbi5jLXRleHQtYmxvY2sgdWwgKyBoMixcbi5jLXRleHQtYmxvY2sgdWwgKyBoMyxcbi5jLXRleHQtYmxvY2sgdWwgKyBoNCxcbi5jLXRleHQtYmxvY2sgb2wgKyBoMixcbi5jLXRleHQtYmxvY2sgb2wgKyBoMyxcbi5jLXRleHQtYmxvY2sgb2wgKyBoNCxcbi5jLXRleHQtYmxvY2sgLmMta2V5ZmFjdHMtbGlzdCArIHAge1xuXHRwYWRkaW5nLXRvcDogMS41ZW07XG59XG5cbi5jLWxvZ293YWxsLXRleHQgcCArIGg0IHtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xufVxuXG4uYy1sZWFkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGxpbmUtaGVpZ2h0OiAxLjMzO1xuXHRmb250LXNpemU6IDEuNDJyZW07XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtbGVhZCArIC5jLWJ0biB7XG4gICAgbWFyZ2luLXRvcDogMS41ZW07XG59XG5cbi5jLXRleHQtc21hbGwsXG4uYy1sZWdlbmQsXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSxcbi5jLWZvb3Rlci1kaXNjbGFpbWVyIHtcblx0Zm9udC1zaXplOiAwLjc2cmVtOyAvKiAxNnB4ICovXG59XG5cbi5jLWxlZ2VuZCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMWVtO1xufVxuXG4uYy1jYXRlZ29yeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiAxZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBMaXN0cyBDb250ZW50IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1ibG9jayB1bCxcbi5jLXRleHQtYmxvY2sgb2wsXG4uYy1saW5rLWxpc3QsXG4uYy1qb2JzLWxpc3QsXG4uYy1rZXlmYWN0cy1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgMS41ZW0gMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMta2V5ZmFjdHMtbGlzdCxcbi5jLXRleHQtYmxvY2sgLmMta2V5ZmFjdHMtbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpLFxuLmMtdGV4dC1ibG9jayBvbCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAyOHB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpIHtcblx0cGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpICsgbGksXG4uYy10ZXh0LWJsb2NrIG9sIGxpICsgbGksXG4uYy1saW5rLWxpc3QgbGkgKyBsaSB7XG5cdG1hcmdpbi10b3A6IDAuNWVtO1xufVxuXG4uYy1saW5rLWxpc3QgbGkuYy1saW5rLWxpc3QtYnRuICsgbGkge1xuXHRtYXJnaW4tdG9wOiAxLjVlbTtcbn1cblxuLmMtbGluay1saXN0IGxpICsgbGkuYy1saW5rLWxpc3QtYnRuIHtcblx0bWFyZ2luLXRvcDogMS41ZW07XG59XG5cbi5jLXRleHQtYmxvY2sgdWwgbGk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNDhlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCB7XG5cdGNvdW50ZXItcmVzZXQ6IGN1c3RvbS1jb3VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpIHtcblx0Y291bnRlci1pbmNyZW1lbnQ6IGN1c3RvbS1jb3VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpOjpiZWZvcmUge1xuXHRjb250ZW50OiBjb3VudGVyKGN1c3RvbS1jb3VudGVyKSBcIi4gXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMjZweDtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy1rZXlmYWN0cy1saXN0IGxpe1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWxpc3QgbGk6OmJlZm9yZSxcbi5jLXRleHQtYmxvY2sgLmMtam9icy1saXN0IGxpOjpiZWZvcmUsXG4uYy10ZXh0LWJsb2NrIC5jLWtleWZhY3RzLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmMtam9icy1saXN0LFxuLmMta2V5ZmFjdHMtbGlzdCB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtam9icy1saXN0IGxpICsgbGksXG4uYy10ZXh0LWJsb2NrIC5jLWtleWZhY3RzLWxpc3QgbGkgKyBsaSB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLWpvYnMtbGlzdCBsaSxcbi5jLXRleHQtYmxvY2sgLmMtam9icy1saXN0IGxpIHtcbiAgICBwYWRkaW5nOiAxLjZlbSAwIDEuNWVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG59XG5cbi5jLWtleWZhY3RzLWxpc3QgbGksXG4uYy10ZXh0LWJsb2NrIC5jLWtleWZhY3RzLWxpc3QgbGkge1xuICAgIHBhZGRpbmc6IDAuNmVtIDAgMC41ZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbn1cblxuLmMtb3BlbmluZy1ob3Vycy1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDEuNWVtIDA7XG59XG5cbi5jLW9wZW5pbmctaG91cnMtbGlzdCBkdCxcbi5jLW9wZW5pbmctaG91cnMtbGlzdCBkZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jLW9wZW5pbmctaG91cnMtbGlzdCBkZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xufVxuXG4uYy1vcGVuaW5nLWhvdXJzLWxpc3QgZGQ6bGFzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFF1b3RlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogNTJweCAwIDAgMDtcblx0bGluZS1oZWlnaHQ6IDEuMTtcblx0Zm9udC1zaXplOiAxLjQycmVtO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAzMXB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNjBweDtcbiAgICBcbn1cblxuLmMtdGV4dC1saWdodCBibG9ja3F1b3RlIHA6OmJlZm9yZSxcbi5jLW5ld3MtaXRlbS10ZXh0IGJsb2NrcXVvdGUgcDo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTM2MHB4O1xuICAgIFxufVxuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctdG9wOiAxZW07XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgaGVscGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYy10ZXh0LWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtdGV4dC1saWdodCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IHNpemVzIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNjgwcHgpIHtcbiAgICAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLFxuICAgIC5jLWZ1dHVyZS1saXZpbmctYWNjb3JkaW9uLXRpdGxlLFxuICAgIC5jLW1haW4tdGl0bGUtYnlsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc2cmVtOyAvKiAxNnB4ICovXG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTQwMHB4KSB7XG4gICAgaDEsIC5jLWgxIHtcblx0XHRmb250LXNpemU6IDNyZW07XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEzNjBweCkge1xuICAgIGh0bWwge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0fVxuICAgIFxuXHRoMSwgLmMtaDEsXG5cdC5jLWNvbnRlbnQgaDIsIC5jLWNvbnRlbnQgLmMtaDIsXG5cdC5jLWNvbnRlbnQgaDMsIC5jLWNvbnRlbnQgLmMtaDN7XG5cdFx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0XHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdFx0LW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0XHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0XHQtbXMtaHlwaGVuczogYXV0bztcblx0XHQtbW96LWh5cGhlbnM6IGF1dG87XG5cdFx0LXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuXHRcdGh5cGhlbnM6IGF1dG87XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEyMDBweCkge1xuICAgIFxuICAgIGgxLCAuYy1oMSB7XG5cdFx0Zm9udC1zaXplOiAyLjhyZW07XG5cdH1cblxuXHRoMiwgLmMtaDIge1xuXHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0fVxuICAgIFxuICAgIGgzLCAuYy1oMywgXG4gICAgLmMtbGVhZCxcbiAgICAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG4gICAgXG59XG5cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHtcblxuXHRcblxuXHRoMSwgLmMtaDEge1xuXHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0fVxuXG5cdGgyLCAuYy1oMixcbiAgICAuYy1vZmZjYW52YXMtbmF2LWxpc3Qge1xuXHRcdGZvbnQtc2l6ZTogMS41cmVtO1xuXHR9XG5cblx0LmMtbGVhZCxcblx0aDMsIC5jLWgzLFxuICAgIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcblx0XHRmb250LXNpemU6IDEuMTI1cmVtO1xuXHR9XG5cblx0LmMtdGV4dC1zbWFsbCxcbiAgICAuYy1sZWdlbmQsXG4gICAgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUsXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXIsXG4gICAgLmMtZnV0dXJlLWxpdmluZy1hY2NvcmRpb24tdGl0bGUsXG4gICAgLmMtbWFpbi10aXRsZS1ieWxpbmUge1xuXHRcdGZvbnQtc2l6ZTogMC44cmVtO1xuXHR9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjM1MHB4KSB7XG5cblx0LmMtbGVhZCB7XG5cdFx0Zm9udC1zaXplOiAxcmVtO1xuXHR9XG59XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1oZWFkZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0ei1pbmRleDogMTA7XG59XG5cbi5jLWhlYWRlci1pbm5lciB7XG5cdGhlaWdodDogMjAwcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5cbi5jLWhlYWRlci1sb2dvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTIwcHg7XG5cdGhlaWdodDogODJweDtcbn1cblxuLmMtaGVhZGVyLWxvZ28gc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jLWhlYWRlci1sb2dvIGEge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtaGVhZGVyLWxhbmcge1xuICAgIG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtaGVhZGVyLWxhbmcgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLWhlYWRlci1sYW5nIGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuLmMtaGVhZGVyLXN0aWNreSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbWFpbiBuYXYgLyBmaWx0ZXIgbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbWFpbi1uYXYsXG4uYy1maWx0ZXIge1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QsXG4uYy1maWx0ZXItbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBsaSxcbi5jLWZpbHRlci1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuLmMtZmlsdGVyLWxpc3QgbGkge1xuXHRwYWRkaW5nOiAwIDFlbSAxZW0gMWVtO1xufVxuXG5cbi5jLW1haW4tbmF2LWxpc3QgYSxcbi5jLWZpbHRlci1saXN0IGEsXG4uYy1oZWFkZXItbGFuZyBhe1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMDtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhOjpiZWZvcmUsXG4uYy1maWx0ZXItbGlzdCBhOjpiZWZvcmUsXG4uYy1oZWFkZXItbGFuZyBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbi5jLW1haW4tbmF2LWxpc3QgLmN1cnJlbnQtbWVudS1pdGVtIGE6OmJlZm9yZSxcbi5jLW1haW4tbmF2LWxpc3QgLmN1cnJlbnQtcGFnZS1hbmNlc3RvciBhOjpiZWZvcmUsXG4uYy1maWx0ZXItbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1maWx0ZXItbGlzdCBhOmhvdmVyOjpiZWZvcmUsXG4uYy1maWx0ZXItbGlzdCAuYy1hY3RpdmUgYTo6YmVmb3JlLFxuLmMtaGVhZGVyLWxhbmcgYTpmb2N1czo6YmVmb3JlLFxuLmMtaGVhZGVyLWxhbmcgYTpob3Zlcjo6YmVmb3JlLFxuLmMtaGVhZGVyLWxhbmcgLmMtYWN0aXZlIGE6OmJlZm9yZXtcblx0d2lkdGg6IDEwMCU7XG59XG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyIHtcblx0cGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgcGFkZGluZy1ib3R0b206IDIuOGVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xufVxuXG4uYy1mb290ZXItY2xhaW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5jLWZvb3Rlci1sb2dvIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yOWVtO1xufVxuXG4uYy1mb290ZXItY2xhaW0gaDIge1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QsXG4uYy1mb290ZXItbGluay1saXN0LFxuLmMtZm9vdGVyLXNvY2lhbC1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpLFxuLmMtZm9vdGVyLXNvY2lhbC1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkgKyBsaSxcbi5jLXRleHQtYmxvY2sgLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaSArIGxpIHtcblx0cGFkZGluZy1sZWZ0OiAxLjVlbTtcbn1cblxuLmMtZm9vdGVyLXNvY2lhbC1saXN0IGxpIHtcbiAgICBwYWRkaW5nLXRvcDogMC41ZW07XG5cdHBhZGRpbmctcmlnaHQ6IDAuNzVlbTtcbn1cblxuLmMtZm9vdGVyLWxpbmstbGlzdCB7XG5cdHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLmMtZm9vdGVyLWxpbmstbGlzdCBsaSArIGxpIHtcblx0cGFkZGluZy10b3A6IDAuNzVlbTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIHRyaWdnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dG9wOiA1MCU7XG5cdHJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcblx0d2lkdGg6IDQ4cHg7XG5cdGhlaWdodDogNDhweDtcblx0bWFyZ2luOiAtMjRweCAwIDAgMDtcblx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlcjo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXI6OmFmdGVyIHtcblx0Y29udGVudDonJztcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRvcDogNTAlO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjphZnRlciB7XG5cdHdpZHRoOiAzNHB4O1xuXHR0cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmJlZm9yZSB7XG5cdGhlaWdodDogMjZweDtcblx0bWFyZ2luLXRvcDogLTEycHg7XG5cdGJvcmRlci10b3A6IDRweCBzb2xpZCAkY29sb3ItaGlnaGxpZ2h0O1xuXHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmFmdGVyIHtcblx0aGVpZ2h0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0bWFyZ2luLXRvcDogLTFweDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjpmb2N1czo6YWZ0ZXIsXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOmhvdmVyOjphZnRlciB7XG5cdHdpZHRoOiAyNHB4O1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmJlZm9yZSB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgbWFpbiBjb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy1uYXYge1xuXHQvKmRpc3BsYXk6IG5vbmU7Ki9cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdHotaW5kZXg6IDEwO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgLjJzIGVhc2Utb3V0IDBzO1xufVxuXG4jb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1vZmZjYW52YXMtbmF2IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLW9mZmNhbnZhcy1pbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1vZmZjYW52YXMtY29udGVudCB7XG5cdHBhZGRpbmctdG9wOiAxLjVlbTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0LFxuLmMtb2ZmY2FudmFzLWxhbmctbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLW9mZmNhbnZhcy1sYW5nLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctdG9wOiAwLjc1ZW07XG59XG5cbi5jLW9mZmNhbnZhcy1sYW5nLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgIFxufVxuXG4uYy1vZmZjYW52YXMtbGFuZy1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDEuMjVlbTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGEsXG4uYy1vZmZjYW52YXMtbGFuZy1saXN0IGEge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjQ1ZW0gMDtcbn1cblxuLmMtb2ZmY2FudmFzLWxhbmctbGlzdCBhIHtcblx0cGFkZGluZzogMC43NWVtIDA7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbGFuZy1saXN0IGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCAuY3VycmVudC1tZW51LWl0ZW0gYTo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLWxhbmctbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbGFuZy1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy1sYW5nLWxpc3QgLmMtYWN0aXZlIGE6OmJlZm9yZSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdiBvcGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4jb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCB7XG5cdC5jLW9mZmNhbnZhcy1uYXYge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwdmg7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0fVxuXHRcblx0LmMtb2ZmY2FudmFzLXRyaWdnZXItb3BlbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufSIsIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGRla29cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWRlY28tY2lyY2xlLWhvbWUsXG4uYy1kZWNvLWNpcmNsZS10ZWFzZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNTAlO1xuICAgIHdpZHRoOiBjYWxjKDEwMHZoICogMS41KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKiAxLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLmMtZGVjby1jaXJjbGUtdGVhc2VyIHtcbiAgICByaWdodDogMzAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuICAgIG9wYWNpdHk6IDAuMjtcbn1cblxuLmMtZGVjby1jaXJjbGUtdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogLTgwdnc7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgKiAyKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdncgKiAyKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1kZWNvLWNpcmNsZS1zaG93cm9vbS10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC1zcGFjaW5nLXM7XG4gICAgdG9wOiBjYWxjKHZhcigtLXNwYWNpbmctcykgKiAtMSk7XG4gICAgbGVmdDogLTEyMHZ3O1xuICAgIHdpZHRoOiAzMDB2dztcbiAgICBoZWlnaHQ6IDIwMHZ3O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBTaG93cm9vbSBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNob3dyb29tIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtc2hvd3Jvb20sXG4uYy1zaG93cm9vbS10ZXh0IC5jLXJvdyB7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoOyBcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpOyBcbn1cblxuXG4vKiBtaW4taGVpZ2h0IGZpeCBmb3IgaWUxMSAqL1xuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgIFx0LmMtc2hvd3Jvb20tdGV4dCAuYy1yb3c6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtaW4taGVpZ2h0OiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogMDtcblx0fVxufVxuXG5cbi5jLXNob3dyb29tLWltZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5jLXNob3dyb29tLWltZyBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgVGVhc2VyIENUQVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGVhc2VyLWN0YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNlcnZpY2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zZXJ2aWNlcy1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgZmlsdGVyIC8gY29udGFjdCAvIHBhcnRuZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZpbHRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1maWx0ZXI6OmJlZm9yZSxcbi5jLWNvbnRhY3Q6OmJlZm9yZSxcbi5jLWNvbnRhY3Q6OmFmdGVyLFxuLmMtcGFydG5lcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDI0cHg7XG4gICAgbGVmdDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0OHB4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIDIpKTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7ICAgIFxufVxuXG4uYy1jb250YWN0OjphZnRlciB7XG4gICAgdG9wOiAxMDAlO1xuICAgIFxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICB0ZWFtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZWFtLWl0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4uYy1yYXRpb2JveC10ZWFtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEFjY29yZGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYWNjb3JkaW9uLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3ItaGlnaGxpZ2h0O1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWFjY29yZGlvbi1jb250YWluZXIgKyAuYy1hY2NvcmRpb24tY29udGFpbmVyIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmMtYWNjb3JkaW9uLXRpdGxlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAwLjllbSAwIDAuOGVtIDQ0cHg7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jLWFjY29yZGlvbi10aXRsZTpob3ZlciB7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1hY2NvcmRpb24tY2hlY2sge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IC05OTk5cHg7XG59XG5cbi5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbi5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlcixcbi5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMWVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMHB4O1xuXHR3aWR0aDogNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgIFx0YmFja2dyb3VuZC1jb2xvcjogIHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi8qIENvbnRlbnRzICovXG4uYy1hY2NvcmRpb24tY29udGVudCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1heC1oZWlnaHQ6IDA7XG4gXHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgY3ViaWMtYmV6aWVyKDAsMSwwLDEpO1xufVxuXG4uYy1hY2NvcmRpb24taW5uZXIge1xuXHRwYWRkaW5nOiAkc3BhY2luZy1tIDAgJHNwYWNpbmctcyAwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbSkgMCB2YXIoLS1zcGFjaW5nLXMpIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxufVxuXG4uYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCB+IC5jLWFjY29yZGlvbi1jb250ZW50IHtcblx0bWF4LWhlaWdodDogOTk5OXB4O1xuIFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGN1YmljLWJlemllcigxLDAsMSwwKTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGxvZ293YWxsIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4uYy1sb2dvd2FsbC1saXN0e1xuXHRkaXNwbGF5OmZsZXg7XG5cdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tbGVmdDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ncmlkLXJvdyk7XG59XG5cblxuLmMtbG9nb3dhbGwtbGlzdCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1yaWdodDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuXG4uYy1sb2dvd2FsbC1tYWluLWxpc3QgbGksXG4uYy1sb2dvd2FsbC1zcGVjaWFsaXplZC1saXN0IGxpIHtcblx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtbG9nb3dhbGwtc3BlY2lhbGl6ZWQtbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZy1sKSAtIHZhcigtLXNwYWNpbmctcykpO1xufVxuXG4uYy1sb2dvd2FsbC1zcGVjaWFsaXplZC1saXN0IGxpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy1sb2dvd2FsbC1wYXJ0bmVyLWxpc3QgbGkge1xuXHQtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTtcbiAgICAtbXMtZmxleDogMCAwIDI1JTtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogIDI1JTtcbn1cblxuLmMtbG9nb3dhbGwtbG9nbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0LypmbGV4LWdyb3c6IDE7Ki9cblx0ZmxleDogMSAwIGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1sb2dvd2FsbC1sb2dvOjpiZWZvcmUge1xuIFx0Y29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDc1JTtcblx0ZmxvYXQ6bGVmdDtcbn1cblxuXG5cbi5jLWxvZ293YWxsLWxvZ28gaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBuZXdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1uZXdzLWl0ZW0taW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5jLW5ld3MtcmVmZXJlbmNlcyAuYy1uZXdzLWl0ZW0taW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYy1uZXdzLXRleHQtb25seSAuYy1uZXdzLWl0ZW0taW5uZXIge1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgcGFkZGluZzogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIGJvcmRlcjogc29saWQgMnB4ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1uZXdzLXRlc3RpbW9uaWFsIC5jLW5ld3MtaXRlbS1pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICBcbn1cblxuLmMtbmV3cy10ZXN0aW1vbmlhbCAuYy1jYXRlZ29yeSArIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbi10b3A6IDFlbTsgXG59XG5cbi5jLW5ld3MtYnRuLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBUZWFzZXIgaWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRlYXNlci1pY29ucy1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy10ZWFzZXItaWNvbnMtaW1nIHtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5jLXRlYXNlci1pY29ucy1pbWcgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmMtdGVhc2VyLWljb25zLWl0ZW0gLmMtaWNvbi1hcnJvdyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLXRlYXNlci1saW5rOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBDb29raWUgbm90aWNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb29raWUtbm90aWNle1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXHRyaWdodDogMjRweDtcbiAgICByaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIGJvdHRvbTogMjRweDtcbiAgICBib3R0b206IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgcGFkZGluZzogMS41cmVtIDMycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblx0Ym9yZGVyOiBzb2xpZCA0cHggJGJnLWNvbnRlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwIDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgICBcblx0LmMtY29va2llLW5vdGljZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLXRvcDogc29saWQgNHB4ICRiZy1jb250ZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGFuY2hvciBsaW5rcyBzY3JvbGwgcGFkZGluZy10b3BcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogMnJlbTtcbiAgICBzY3JvbGwtcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbSk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmsgY29sb3JzIGFuZCBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFbaHJlZl49XCJ0ZWw6XCJdIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIGEge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCR0ZXh0LWNvbG9yLWxpbmsgMCUsJHRleHQtY29sb3ItbGluayAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHZhcigtLXRleHQtY29sb3ItbGluaykgMCUsdmFyKC0tdGV4dC1jb2xvci1saW5rKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMnB4IDJweDtcbiAgXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcztcbn1cblxuLmMtdGV4dC1ibG9jayBhOmZvY3VzLFxuLmMtdGV4dC1ibG9jayBhOmhvdmVyIHtcblx0YmFja2dyb3VuZC1zaXplOiAzcHggM3B4O1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWJ0bixcbi5jLXRleHQtYmxvY2sgLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWFycm93LFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWRvd25sb2FkLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWV4dGVybixcbi5jLXRleHQtYmxvY2sgLmMtbGluay1iYWNrIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbiBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJ0bixcbi5jLWJ0bi1vdXRsaW5lLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAxLjJlbSAzMnB4IDFlbSAzMnB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgIFxuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtYnRuLW91dGxpbmUge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jLWJ0bjo6YmVmb3JlLFxuLmMtYnRuLW91dGxpbmU6OmJlZm9yZSB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogc29saWQgNHB4ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy1idG46Zm9jdXM6OmJlZm9yZSxcbi5jLWJ0bjpob3Zlcjo6YmVmb3JlLFxuLmMtYnRuLW91dGxpbmU6Zm9jdXM6OmJlZm9yZSxcbi5jLWJ0bi1vdXRsaW5lOmhvdmVyOjpiZWZvcmUge1xuICAgIHRvcDogLTRweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDhweCk7XG59XG5cbi5jLWJ0bixcbi5jLWJ0bjp2aXNpdGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG4uYy1idG46aG92ZXIsIFxuLmMtYnRuOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuXG4uYy1idG4tc21hbGwsXG4uYy1idG4tc21hbGw6dmlzaXRlZCxcbi5jLWJ0bi1zbWFsbDpob3Zlcixcbi5jLWJ0bi1zbWFsbDpmb2N1cyB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcGFkZGluZzogMC44NWVtIDIwcHggMC43NWVtIDIwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGxpbmtzIHdpdGggaWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWljb24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWljb246OmJlZm9yZSxcbi5jLWljb246OmFmdGVyIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5jLWxpbmstaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZy1sZWZ0OiAyOHB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5jLWxpbmstaWNvbjpmb2N1cyxcbi5jLWxpbmstaWNvbjpob3ZlciB7XG5cdHBhZGRpbmctbGVmdDogMzZweDtcbn1cblxuLmMtaWNvbi1hcnJvdyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMXJlbTtcbn1cblxuLmMtbGluay1hcnJvdzo6YmVmb3JlLFxuLmMtbGluay1iYWNrOjpiZWZvcmUsXG4uYy1pY29uLWFycm93OjpiZWZvcmV7XG5cdHRvcDogMC4yNmVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG59XG5cbi5jLWxpbmstYXJyb3c6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstYXJyb3c6Zm9jdXM6OmJlZm9yZSxcbi5jLXRlYXNlci1pY29ucy1pdGVtOmhvdmVyIC5jLWljb24tYXJyb3c6OmJlZm9yZSxcbi5jLXRlYXNlci1pY29ucy1pdGVtOmZvY3VzLXdpdGhpbiAuYy1pY29uLWFycm93OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IDA7XG59XG5cblxuXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstYXJyb3c6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDBweDtcbn1cblxuLmMtdGV4dC1saWdodCAuYy1saW5rLWFycm93OmhvdmVyOjpiZWZvcmUsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstYXJyb3c6Zm9jdXM6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTQwcHg7XG59XG5cbi5jLWxpbmstYmFjazo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTYwcHg7XG59XG5cbi5jLWxpbmstYmFjazpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1iYWNrOmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtMTYwcHg7XG59XG5cbi5jLWxpbmstZG93bmxvYWQ6OmJlZm9yZSB7XG5cdHRvcDogMC4yNmVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxN3B4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4O1xufVxuXG4uYy1saW5rLWRvd25sb2FkOmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtODBweDtcbn1cblxuLmMtbGluay1leHRlcm46OmJlZm9yZSB7XG5cdHRvcDogMC4xMmVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMThweDtcblx0aGVpZ2h0OiAxOHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjBweDtcbn1cblxuLmMtbGluay1leHRlcm46aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstZXh0ZXJuOmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtMTIwcHg7XG59XG5cbi5jLWxpbmstc29jaWFsLWZiLFxuLmMtbGluay1zb2NpYWwtbGlua2VkaW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgd2lkdGg6IDU2cHg7XG59XG5cbi5jLWxpbmstc29jaWFsLWZiOjpiZWZvcmUsXG4uYy1saW5rLXNvY2lhbC1saW5rZWRpbjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgd2lkdGg6IDU2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjAwcHg7XG59XG5cbi5jLWxpbmstc29jaWFsLWxpbmtlZGluOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI4MHB4O1xufVxuXG4uYy1saW5rLXNvY2lhbC1mYjpmb2N1czo6YmVmb3JlLFxuLmMtbGluay1zb2NpYWwtZmI6aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwMHB4O1xufVxuXG4uYy1saW5rLXNvY2lhbC1saW5rZWRpbjpmb2N1czo6YmVmb3JlLFxuLmMtbGluay1zb2NpYWwtbGlua2VkaW46aG92ZXI6OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjgwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7ICAgXG5cdC5jLWxpbmstYXJyb3c6OmJlZm9yZSxcblx0LmMtbGluay1iYWNrOjpiZWZvcmUge1xuXHRcdHRvcDogMC4yZW07XG5cdH1cblx0XG5cdC5jLWxpbmstZG93bmxvYWQ6OmJlZm9yZSB7XG5cdFx0dG9wOiAwLjJlbTtcblx0fVxuXHRcblx0LmMtbGluay1leHRlcm46OmJlZm9yZSB7XG5cdFx0dG9wOiAwLjA2ZW07XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmF0aW8gQm94XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1yYXRpb2JveCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcsXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1x0XG59XG5cbi5jLXJhdGlvYm94ID4gaWZyYW1lLFxuLmMtcmF0aW9ib3ggPiBvYmplY3Qge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLmMtcmF0aW9ib3gtMTZieTkge1xuXHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uYy1yYXRpb2JveC00YnkzLFxuLmMtcmF0aW9ib3gtdGVhbSB7XG5cdHBhZGRpbmctYm90dG9tOiA3NSU7XG59XG5cbi5jLXJhdGlvYm94LTFieTEge1xuXHRwYWRkaW5nLWJvdHRvbTogMTAwJTtcbn1cblxuLmMtcmF0aW9ib3gtc2hvd3Jvb20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzOC42OTA0NzYxOTA0NzYxOSU7XG59XG5cbi5jLXJhdGlvYm94LXNob3dyb29tIGltZyxcbi5jLXJhdGlvYm94LXRlYW0gaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBzYWZhcmkgZm9ybSBmaXggKi9cbmlucHV0LFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG50ZXh0YXJlYSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiByZW1vdmUgY2hyb21lIGF1dG9maWxsIHllbGxvdyBjb2xvciAqL1xuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUge1xuXHQtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDIwMDBzO1xufVxuXG4uYy1mb3JtLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtZm9ybS10ZXh0LWJsb2NrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtZm9ybS1zZXBhcmF0b3Ige1xuICAgIG1hcmdpbjogJHNwYWNpbmctbSAwO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZy1tKSAtIHZhcigtLXNwYWNpbmctcykpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHggJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBmb3JtZmllbGRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlcjogc29saWQgMnB4ICRib3JkZXItZm9ybTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0cGFkZGluZzogMC43NWVtIDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhIHtcblx0bWluLWhlaWdodDogMTJlbTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYTpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhOmRpc2FibGVkIHtcblx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG5cdGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLWxhYmVsLXRleHQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IDAuMzVlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgY2hlY2tib3ggLyByYWRpb3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLmMtZm9ybS1tdWx0aWxpbmUgLndwY2Y3LWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZy1yaWdodDogMS42ZW07XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl17XG4gICAgbWFyZ2luOiA0cHggMCAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0rc3Bhbixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXStzcGFuLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0rc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK3NwYW57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAwLjU1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK3NwYW46OmJlZm9yZXtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDAuMTVlbTtcbiAgICB3aWR0aDogMzhweDtcbiAgICBoZWlnaHQ6IDM4cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJvcmRlci1mb3JtO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YmVmb3Jle1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMrc3Bhbjo6YmVmb3Jle1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrc3Bhbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtzcGFuOjphZnRlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMC4xNWVtICsgNXB4KTtcbiAgICBsZWZ0OiAxMXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMjJweDtcblx0Ym9yZGVyOiBzb2xpZCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0Ym9yZGVyLXdpZHRoOiAwIDRweCA0cHggMDtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW46OmFmdGVyLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKStzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygwLjE1ZW0gKyA5cHgpO1xuICAgIGxlZnQ6IDlweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YWZ0ZXJ7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKStzcGFuOjphZnRlcntcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG5cbi5nZm9ybV9maWVsZHMgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3Bhbjo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW46OmFmdGVye1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrc3Bhbjo6YWZ0ZXJ7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCtzcGFuOjphZnRlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkK3NwYW46OmFmdGVyIHtcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcblx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZHJvcGRvd25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogMC43NWVtIDMwcHggMC43NWVtIDEwcHggIWltcG9ydGFudDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWZvcm07XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb24tZm9ybS1hcnJvdy5zdmdcIikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0bGluZS1oZWlnaHQ6IDEuMThyZW0gIWltcG9ydGFudDtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XHRcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdCBvcHRpb24ge1xuXHRwYWRkaW5nOiAwO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0OmRpc2FibGVkOjotbXMtZXhwYW5kIHtcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdFtkaXNhYmxlZF0ge1xuXHRjb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuXHRib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBmaWxlIGJ1dHRvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPWZpbGVdIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogMC43NnJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvcm0tdGV4dC1zbWFsbCk7XG59XG5cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWRlZmF1bHQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stZGVmYXVsdCk7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcblx0cGFkZGluZzogMS4yZW0gMzJweCAxZW0gMzJweDtcblx0Ym9yZGVyOiA0cHggc29saWQgJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICB3cDcgZXJyb3IgLyBvayBtZXNzYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1yZXNwb25zZS1vdXRwdXQsXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNyBmb3JtIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuXHRwYWRkaW5nOiAxLjVlbSAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZzogMS41ZW0gdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuXHRtYXJnaW46IDAgMCAkc3BhY2luZy1tIDA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0Ym9yZGVyOiBub25lOyBcbn1cblxuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1ub3QtdmFsaWQtdGlwLFxuLmMtZm9ybS1zdGFuZGFyZCAuc2NyZWVuLXJlYWRlci1yZXNwb25zZSxcbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gICAgZm9udC1zaXplOiAwLjc2cmVtO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS10ZXh0LXNtYWxsKTtcbn1cblxuLyogZXJyb3IgKi9cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LW5vdC12YWxpZC10aXAsXG4uYy1mb3JtLXN0YW5kYXJkIC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHtcblx0Y29sb3I6ICRmb3JtLWVycm9yO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWVycm9yKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjctbm90LXZhbGlkLXRpcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMC4zNWVtO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0LndwY2Y3LW5vdC12YWxpZCB7XG5cdGJvcmRlci1jb2xvcjogJGZvcm0tZXJyb3I7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWVycm9yKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBmb3JtLmludmFsaWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWVycm9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tZXJyb3IpO1xufVxuXG4vKiBvayAqL1xuLmMtZm9ybS1zdGFuZGFyZCBmb3JtLnNlbnQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLW9rO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tb2spO1xufVxuXG4ud3BjZjctZm9ybS5pbml0IC53cGNmNy1yZXNwb25zZS1vdXRwdXR7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLndwY2Y3IC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ud3BjZjctZm9ybS5zZW50IC5jLWZvcm0tc3RhbmRhcmR7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIHdwNyBzcGlubmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5mb3JtLnN1Ym1pdHRpbmcgLndwY2Y3LXNwaW5uZXIge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LXNwaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogLTRweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2xpZGVyIFRlc3RpbW9uaWFsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXN0aW1vbmlhbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtdGVzdGltb25pYWwtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLW0gMDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLW0pIDA7XG4gICAgd2lkdGg6IDYzMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTUwMHB4KSB7ICBcbiAgICAuYy10ZXN0aW1vbmlhbC1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDU0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEyMDBweCkgeyAgXG4gICAgLmMtdGVzdGltb25pYWwtaXRlbSB7XG4gICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkgeyAgXG4gICAgLmMtdGVzdGltb25pYWwtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDozNTBweCkgeyAgXG4gICAgLmMtdGVzdGltb25pYWwtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZWRpYXNsaWRlciAvIFNsaWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbWVkaWFzbGlkZXIgLmMtc2xpZGVyIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLmMtc2xpZGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qb3ZlcmZsb3cteDogc2Nyb2xsOyovXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAgLy8gSUUgMTArXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAgLy8gRmlyZWZveFxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgIC8vIFNhZmFyaSBhbmQgQ2hyb21lXG4gICAgfVxufVxuXG4uYy1zbGlkZXItbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1zbGlkZXItbGlzdCBsaSB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4uYy1zbGlkZXItbGlzdCBsaSArIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBzbGlkZXIgY29udHJvbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNsaWRlci1jb250cm9sIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogLSRzcGFjaW5nLW07XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLW0pICogLTEpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICYubW9iaWxle1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxufVxuXG4uYy1zbGlkZXItY29udHJvbC1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLXNsaWRlci1jb250cm9sLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCA0cHggJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5jLXNsaWRlci1jb250cm9sLWxpbms6Zm9jdXMsXG4uYy1zbGlkZXItY29udHJvbC1saW5rOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgYm9yZGVyLXdpZHRoOiAzcHg7XG59XG5cbi5jLWFjdGl2ZSAuYy1zbGlkZXItY29udHJvbC1saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLXNsaWRlci1jb250cm9sLWxpc3QgbGkgKyBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjc1ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBzbGlkZXIgcmVmZXJlbmNlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2xpZGVyLXJlZmVyZW5jZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xufVxuXG4uYy1yZWZlcmVuY2VzLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtcmVmZXJlbmNlcy1pdGVtLWltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDA7XG5cdGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiA2Ni42NjY2NjY2NyU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtcmVmZXJlbmNlcy1pdGVtLWltZyA+IGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jLXNsaWRlci1yZWZlcmVuY2VzIC5jLXNsaWRlci1jb250cm9sLWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1dHVyZSBsaXZpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZ1dHVyZS1saXZpbmcge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctY2hlY2sge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IC05OTk5cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1dHVyZSBsaXZpbmcgTmF2XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mdXR1cmUtbGl2aW5nLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBib3JkZXItbGVmdDogc29saWQgMnB4ICRiZy1jb250ZW50O1xuICAgIGJvcmRlci1yaWdodDogc29saWQgMnB4ICRiZy1jb250ZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG4gICAgXG59XG5cbi5jLWZ1dHVyZS1saXZpbmctdGl0bGUsXG4uYy1mdXR1cmUtbGl2aW5nLWFjY29yZGlvbi10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgcGFkZGluZzogdmFyKC0tZnV0dXJlLWxpdmluZy10aXRsZS1wYWRkaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmMtZnV0dXJlLWxpdmluZy10aXRsZSB7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCAkYmctY29udGVudDtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCAkYmctY29udGVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NjY2NjY3JTtcbn1cblxuLmMtZnV0dXJlLWxpdmluZy10aXRsZSAuYy1oMyxcbi5jLWZ1dHVyZS1saXZpbmctYWNjb3JkaW9uLXRpdGxlICAuYy1oMyB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1mdXR1cmUtbGl2aW5nLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtZnV0dXJlLWxpdmluZy10aXRsZTpob3Zlcjo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1mdXR1cmUtbGl2aW5nLXRpdGxlLWhvdmVyLWhlaWdodClcbn1cblxuLmMtZnV0dXJlLWxpdmluZy10aXRsZSBzcGFuLFxuLmMtZnV0dXJlLWxpdmluZy1hY2NvcmRpb24tdGl0bGUgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZ1dHVyZS1saXZpbmctZGVzYyB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbSk7XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctZGVzYyBoMixcbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIGgyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtZnV0dXJlLWxpdmluZy1kZXNjLWNvbnRlbnQge1xuICAgbWluLWhlaWdodDogMTNlbTtcbn1cblxuLmMtZnV0dXJlLWxpdmluZy1kZXNjLWNvbnRlbnQsXG4uYy1mdXR1cmUtbGl2aW5nLWltZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1dHVyZSBsaXZpbmcgU3RhdGVzIERlc2t0b3BcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiNmdXR1cmVsaXZpbmctMFt0eXBlPXJhZGlvXXtcdFx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbWFpbiAuYy1mdXR1cmUtbGl2aW5nLWRlc2MtY29udGVudC0wLFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1pbWctMCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtMCxcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTA6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0fVxuICAgIFxuICAgICY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtMDo6YmVmb3JlIHtcblx0XHRoZWlnaHQ6IHZhcigtLWZ1dHVyZS1saXZpbmctdGl0bGUtaG92ZXItaGVpZ2h0KVxuXHR9XG59XG5cbiNmdXR1cmVsaXZpbmctMVt0eXBlPXJhZGlvXXtcdFx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbWFpbiAuYy1mdXR1cmUtbGl2aW5nLWRlc2MtY29udGVudC0xLFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1pbWctMSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtMSxcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTE6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0fVxuICAgIFxuICAgICY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtMTo6YmVmb3JlIHtcblx0XHRoZWlnaHQ6IHZhcigtLWZ1dHVyZS1saXZpbmctdGl0bGUtaG92ZXItaGVpZ2h0KVxuXHR9XG59XG5cbiNmdXR1cmVsaXZpbmctMlt0eXBlPXJhZGlvXXtcdFx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbWFpbiAuYy1mdXR1cmUtbGl2aW5nLWRlc2MtY29udGVudC0yLFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1pbWctMiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtMixcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTI6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0fVxuICAgIFxuICAgICY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtMjo6YmVmb3JlIHtcblx0XHRoZWlnaHQ6IHZhcigtLWZ1dHVyZS1saXZpbmctdGl0bGUtaG92ZXItaGVpZ2h0KVxuXHR9XG59XG5cbiNmdXR1cmVsaXZpbmctM1t0eXBlPXJhZGlvXXtcdFx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbWFpbiAuYy1mdXR1cmUtbGl2aW5nLWRlc2MtY29udGVudC0zLFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1pbWctMyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtMyxcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTM6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0fVxuICAgIFxuICAgICY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtMzo6YmVmb3JlIHtcblx0XHRoZWlnaHQ6IHZhcigtLWZ1dHVyZS1saXZpbmctdGl0bGUtaG92ZXItaGVpZ2h0KVxuXHR9XG59XG5cbiNmdXR1cmVsaXZpbmctNFt0eXBlPXJhZGlvXXtcdFx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbWFpbiAuYy1mdXR1cmUtbGl2aW5nLWRlc2MtY29udGVudC00LFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1pbWctNCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtNCxcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTQ6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0fVxuICAgIFxuICAgICY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtNDo6YmVmb3JlIHtcblx0XHRoZWlnaHQ6IHZhcigtLWZ1dHVyZS1saXZpbmctdGl0bGUtaG92ZXItaGVpZ2h0KVxuXHR9XG59XG5cbiNmdXR1cmVsaXZpbmctNVt0eXBlPXJhZGlvXXtcdFx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbWFpbiAuYy1mdXR1cmUtbGl2aW5nLWRlc2MtY29udGVudC01LFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1pbWctNSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtNSxcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTU6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0fVxuICAgIFxuICAgICY6Y2hlY2tlZCB+IC5jLWZ1dHVyZS1saXZpbmctbmF2IC5jLWZ1dHVyZS1saXZpbmctdGl0bGUtNTo6YmVmb3JlIHtcblx0XHRoZWlnaHQ6IHZhcigtLWZ1dHVyZS1saXZpbmctdGl0bGUtaG92ZXItaGVpZ2h0KVxuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIE1vYmlsZSBMYXlvdXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci13aWR0aDogNHB4O1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1mdXR1cmUtbGl2aW5nLWFjY29yZGlvbi10aXRsZSB7XG5cdHBhZGRpbmctcmlnaHQ6IDU2cHg7XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWx7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cblxuLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyLFxuLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgIHRvcDogY2FsYyg1MCUgLSAxMnB4KTtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4uYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4uYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDM0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAgdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1pbm5lciB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbSkgMCB2YXIoLS1zcGFjaW5nLW0pIDA7XG5cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBSZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTE5OXB4KSB7IFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbWFpbiAuYy1jb2wtNyxcbiAgICAuYy1mdXR1cmUtbGl2aW5nLWRlc2MsXG4gICAgLmMtZnV0dXJlLWxpdmluZy1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtY29sLTUge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbiAgICB9XG4gICAgXG4gICAgLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjcwMHB4KSB7IFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1jb2wtNiArIC5jLWNvbC02e1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctcztcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctcyk7XG4gICAgfVxufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmlld3BvcnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkAtbXMtdmlld3BvcnQge1xuXHR3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWVkaWFxdWVyaWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTkyMXB4KSB7XG4gICAgLmMtY29udGFpbmVyLW1lZGl1bSB7XG4gICAgICAgIG1heC13aWR0aDogMTgwMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTgwMHB4ICsgKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIDIpKTsgLyogbWF4IGJyZWl0ZSBwbHVzIHBhZGRpbmcgKiAyIDU2cHgqL1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTc0MHB4KSB7XG5cdC8qIGNvbnRhaW5lciBtYXggd2lkdGggKi9cblx0LmMtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNjAwcHg7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxNjAwcHggKyAodmFyKC0tZ3JpZC1jb250YWluZXIpICogMikpOyAvKiBtYXggYnJlaXRlIHBsdXMgcGFkZGluZyAqIDIgNTZweCovXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcyxcbiAgICAuYy1hc3ltLWxlZnQtZWRnZWxlc3Mge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDgwMHB4ICsgNTAlKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoODAwcHggKyB2YXIoLS1ncmlkLWNvbnRhaW5lcikgKyA1MCUpOyAvKiAxLzIgd2lkdGggKyAxICogcGFkZGluZyA1NiBweCovXG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3Mge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tbGVmdC1lZGdlbGVzcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1hc3ltLWNvbC1ncmlkIHtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoODAwcHggKyB2YXIoLS1ncmlkLWNvbCkpOyAvKiAxLzIgd2lkdGggKyAxLzIgcGFkZGluZyAoMzhweCkgKi9cbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDgwMHB4ICsgdmFyKC0tZ3JpZC1jb2wpKTsgLyogMS8yIHdpZHRoICsgMS8yIHBhZGRpbmcgKDM4cHgpICovXG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLWFzeW0tY29sLWVkZ2VsZXNzIHtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoMTAwJSAtICg4MDBweCArIHZhcigtLWdyaWQtY29sKSkpOyAvKiAxLzIgd2lkdGggKyAxLzIgcGFkZGluZyAoMzhweCkgKi9cbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoODAwcHggKyB2YXIoLS1ncmlkLWNvbCkpKTsgLyogMS8yIHdpZHRoICsgMS8yIHBhZGRpbmcgKDM4cHgpICovXG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci1yZWZlcmVuY2VzIC5jLWFzeW0tY29sLWdyaWQge1xuICAgICAgICBmbGV4OiAwIDAgY2FsYyg1MjBweCArIHZhcigtLWdyaWQtY29sKSk7IC8qIDEvMiB3aWR0aCArIDEvMiBwYWRkaW5nICgzOHB4KSAqL1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTIwcHggKyB2YXIoLS1ncmlkLWNvbCkpOyAvKiAxLzIgd2lkdGggKyAxLzIgcGFkZGluZyAoMzhweCkgKi9cbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLXJlZmVyZW5jZXMgLmMtYXN5bS1jb2wtZWRnZWxlc3Mge1xuICAgICAgICBmbGV4OiAwIDAgY2FsYygxMDAlIC0gKDUyMHB4ICsgdmFyKC0tZ3JpZC1jb2wpKSk7IC8qIDEvMiB3aWR0aCArIDEvMiBwYWRkaW5nICgzOHB4KSAqL1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICg1MjBweCArIHZhcigtLWdyaWQtY29sKSkpOyAvKiAxLzIgd2lkdGggKyAxLzIgcGFkZGluZyAoMzhweCkgKi9cbiAgICB9XG4gICAgXG4gICAgXG59XG5cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTEwMHB4KSB7ICBcbiAgICAuYy1zaG93cm9vbS10ZXh0IC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG4gICAgfVxuICAgIFxuICAgIC5jLWRlY28tY2lyY2xlLWhvbWUge1xuICAgICAgICByaWdodDogNDIlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMjRweCkgeyAgXG4gICAgLmMtdGV4dC1vbmx5IC5jLWNvbC04LFxuXHQuYy1tYWluLXRpdGxlIC5jLWNvbC04LFxuXHQuYy1zZWN0aW9uLXRpdGxlIC5jLWNvbC04LFxuICAgIC5jLXNlcnZpY2VzIC5jLWNvbC04LFxuICAgIC5jLWZvcm0gLmMtY29sLTgsXG4gICAgLmMtdGVhc2VyLWN0YSAuYy1jb2wtOCxcbiAgICAuYy1wYXJ0bmVyIC5jLWNvbC04LFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbWFpbiAuYy1jb2wtNXtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgXHRcblx0fVxuICAgIFxuICAgIC5jLW1haW4tdGl0bGUtZGVjbyAuYy1sZWFkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtMyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtMzpudGgtY2hpbGQoMSksXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtY29sLTM6bnRoLWNoaWxkKDIpe1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFtIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWRlY28tY2lyY2xlLXRlYXNlciB7XG4gICAgICAgIHJpZ2h0OiAxNiU7XG4gICAgfVxuICAgIFxuICAgIC5jLWFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcbiAgICB9XG4gICAgXG4gICAgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuICAgIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgfVxuXG4gICAgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbiAgICAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWZ1dHVyZS1saXZpbmctYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4gICAgLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyLFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4gICAgLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4gICAgLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAyOHB4O1xuICAgIH1cbn1cblxuXG4vKiBoZWFkZXIgc2hvdyBvZmZjYW52YXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkgeyAgXG5cdC5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdFxuXHQuYy1tYWluLW5hdixcbiAgICAuYy1oZWFkZXItbGFuZyB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuICAgIFxuICAgIC5jLWhlYWRlci1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogNTVweDtcbiAgICB9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20tdGV4dCAuYy1yb3cge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tLXRleHQgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgXG4gICAgfVxuICAgIFxuICAgIC5jLWRlY28tY2lyY2xlLWhvbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuYy1kZWNvLWNpcmNsZS1zaG93cm9vbS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIC5jLWxvZ293YWxsLXNwZWNpYWxpemVkLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtbmV3cy10ZXh0LWltZy13aWRlLFxuICAgIC5jLW5ld3MtdGV4dC1vbmx5IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLW5ld3MtcmVmZXJlbmNlcyAuYy1uZXdzLWl0ZW0taW1nLFxuICAgIC5jLW5ld3MtcmVmZXJlbmNlcyAuYy1uZXdzLWl0ZW0tdGV4dCxcbiAgICAuYy10ZWFzZXItcmVmZXJlbmNlcyAuYy1jb2wtNCxcbiAgICAuYy10ZWFzZXItcmVmZXJlbmNlcyAuYy1jb2wtOCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyBcbiAgICB9XG4gICAgXG4gICAgLmMtbmV3cy1yZWZlcmVuY2VzIC5jLW5ld3MtaXRlbS1pbWcsXG4gICAgLmMtdGVhc2VyLXJlZmVyZW5jZXMgLmMtY29sLTgge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHsgXG4gICAgLmMtdGVhc2VyLWljb25zIC5jLWNvbC0zIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFxuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItaWNvbnMgLmMtY29sLTMgKyAuYy1jb2wtMyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1tO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICB9XG4gICAgXG4gICAgXG4gICAgLmMtdGVhc2VyLWljb25zLWltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLXNsaWRlci1jb250cm9sIHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgIFxuICAgICAgICAmLm1vYmlsZXtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkgeyAgXG5cdC5jLXRleHQtb25seSAuYy1jb2wtOCxcblx0LmMtbWFpbi10aXRsZSAuYy1jb2wtOCxcblx0LmMtc2VjdGlvbi10aXRsZSAuYy1jb2wtOCxcbiAgICAuYy1zaG93cm9vbS10ZXh0IC5jLWNvbC02LFxuICAgIC5jLXNlcnZpY2VzIC5jLWNvbC04LFxuICAgIC5jLWZvcm0gLmMtY29sLTgsXG4gICAgLmMtcGFydG5lciAuYy1jb2wtOCxcbiAgICAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtY29sLTUge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG4gICAgXG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXIgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cbiAgICBcbiAgICAuYy1mb290ZXItY2xhaW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuYy1mb290ZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMWVtO1xuICAgIH1cblxuICAgIC5jLWZvb3Rlci1jbGFpbSBoMiB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3MDBweCkgeyAgXG4gICAgLmMtaW1nLTJjb2wgLmMtY29sLTYsXG4gICAgLmMtdGV4dC1pbWcgLmMtY29sLTYsXG4gICAgLmMtdGVhbSAuYy1jb2wtNCxcbiAgICAuYy1jb250YWN0IC5jLWNvbC02LFxuICAgIC5jLWZvcm0gLmMtY29sLTYsXG4gICAgLmMtbmV3cy1pdGVtIHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuICAgIFxuICAgIC5jLWltZy0yY29sIC5jLWNvbC02OmZpcnN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG5cdH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1jb2wtNiArIC5jLWNvbC02LCBcbiAgICAuYy1jb250YWN0IC5jLWNvbC02ICsgLmMtY29sLTZ7XG5cdFx0cGFkZGluZy10b3A6ICRzcGFjaW5nLXM7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xuXHR9XG4gICAgXG4gICAgLmMtbG9nb3dhbGwtcGFydG5lci1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHsgIFxuICAgIC5jLWxvZ293YWxsLXNwZWNpYWxpemVkLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtbG9nb3dhbGwtc3BlY2lhbGl6ZWQtbGlzdCAgLmMtbG9nb3dhbGwtbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jLWxvZ293YWxsLW1haW4tbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTQwcHgpIHsgIFxuICAgIC5jLWZvb3Rlci1tYWluIC5jLWNvbC0zIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1tYWluIC5jLWNvbC0zOm50aC1jaGlsZCgxKSxcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtMzpudGgtY2hpbGQoMil7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtMyArIC5jLWNvbC0zIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNWVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLWN0YSAuYy1jb2wtOCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbiAgICBcbiAgICAuYy1kZWNvLWNpcmNsZS10ZWFzZXIge1xuICAgICAgICByaWdodDogMjRweDtcbiAgICAgICAgcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICB9XG4gICAgXG4gICAgLmMtbG9nb3dhbGwtcGFydG5lci1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQwMHB4KSB7ICBcbiAgICAuYy1sb2dvd2FsbC1tYWluLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtbG9nb3dhbGwtbWFpbi1saXN0IC5jLWxvZ293YWxsLWxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJpbnQgQ1NTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHByaW50IHtcbiAgICAvKiBiYXNlIHN0eWxlcyAqL1xuICAgICoge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyBcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblx0XG5cdGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgIFxuICAgIC5jLWlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgIGFbaHJlZl06YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcblx0ICB9XG4gICAgXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IFxuICAgIH1cbiAgICBcbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAgICAgXG4gICAgQHBhZ2Uge1xuICAgICAgICBtYXJnaW46IDAuNWNtO1xuICAgIH1cbiAgICBcbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cbiAgICBcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIGJyZWFrLWFmdGVyOmF2b2lkO1xuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgLyogZm9udC1zaXplcyAqL1xuXHRcblx0aHRtbCxcblx0Ym9keSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdC8qb3ZlcmZsb3c6IGF1dG87Ki9cblx0fVxuICAgIFxuICAgIGJvZHkge1xuICAgICAgICBmb250LXNpemU6MTJweDsgICAgXG4gICAgfVxuXHRcblx0aDEsIC5jLWgxIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdH1cblx0XG5cdC5jLWxlYWQsXG5cdC5jLXRleHQtYmxvY2sgLmMtbGVhZCxcblx0aDIsIC5jLWgyLFxuXHRoMywgLmMtaDMsXG5cdC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblx0XG5cdC8qIHByb2plY3Qgc3R5bGVzICovXG5cdC5jLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1ib3R0b206IDJlbTtcblx0fVxuXHRcblx0LmMtZm9vdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/