/***SETTINGS***/
@font-face {
  font-family: 'nowayregular';
  src: url("../fonts/noway-regular-webfont.eot");
  src: url("../fonts/noway-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/noway-regular-webfont.woff2") format("woff2"), url("../fonts/noway-regular-webfont.woff") format("woff"), url("../fonts/noway-regular-webfont.ttf") format("truetype"), url("../fonts/noway-regular-webfont.svg#nowayregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'nexa_boldregular';
  src: url("../fonts/Nexa_Free_Bold-webfont.eot");
  src: url("../fonts/Nexa_Free_Bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/Nexa_Free_Bold-webfont.woff2") format("woff2"), url("../fonts/Nexa_Free_Bold-webfont.woff") format("woff"), url("../fonts/Nexa_Free_Bold-webfont.ttf") format("truetype"), url("../fonts/Nexa_Free_Bold-webfont.svg#nexa_boldregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'nexa_lightregular';
  src: url("../fonts/Nexa_Free_Light-webfont.eot");
  src: url("../fonts/Nexa_Free_Light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/Nexa_Free_Light-webfont.woff2") format("woff2"), url("../fonts/Nexa_Free_Light-webfont.woff") format("woff"), url("../fonts/Nexa_Free_Light-webfont.ttf") format("truetype"), url("../fonts/Nexa_Free_Light-webfont.svg#nexa_lightregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'fontello';
  src: url("../fonts/fontello.eot?88363053");
  src: url("../fonts/fontello.eot?88363053#iefix") format("embedded-opentype"), url("../fonts/fontello.woff2?88363053") format("woff2"), url("../fonts/fontello.woff?88363053") format("woff"), url("../fonts/fontello.ttf?88363053") format("truetype"), url("../fonts/fontello.svg?88363053#fontello") format("svg");
  font-weight: normal;
  font-style: normal; }

/***COLORS***/
/***SET COLORS***/
/***SIZING***/
/***TYPOGRAPHY***/
/***MEDIA QUERIES***/
/***TOOLS***/
.h-hidden {
  display: none !important; }

@media screen and (max-width: 519px) {
  .h-hidden-xs-max {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .h-hidden-sm-max {
    display: none !important; } }

@media screen and (min-width: 520px) {
  .h-hidden-xs-min {
    display: none !important; } }

@media screen and (min-width: 768px) {
  .h-hidden-sm-min {
    display: none !important; } }

@media screen and (min-width: 1200px) {
  .h-hidden-md-min {
    display: none !important; } }

.h-sr-only {
  position: absolute;
  clip: rect(0px 0px 0px 0px); }

/***GENERIC***/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 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 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

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

/**
 * 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. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-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; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 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 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 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 the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 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 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

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

* {
  box-sizing: border-box;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

html {
  height: 100%; }

body {
  position: relative;
  height: 100%;
  min-height: 100%;
  font-family: "nowayregular", sans-serif;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
  background: #FFF;
  color: #333333;
  overflow-x: hidden;
  color: #333333; }
  body.dark {
    background: #000;
    color: #FFF; }

button,
input,
optgroup,
option,
select,
textarea {
  font-family: "nowayregular", sans-serif;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
  box-shadow: none; }

dd,
fieldset,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hgroup,
hr,
ol,
p,
pre,
table,
ul {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "nowayregular", sans-serif;
  line-height: 1.1;
  font-weight: 400; }

fieldset {
  margin: 0;
  border: none;
  padding: 0; }

legend {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  background: none; }

label,
legend {
  display: block;
  color: #333333; }

button {
  background: transparent;
  border: none;
  box-shadow: none;
  outline: none;
  padding: 0;
  margin: 0; }

input {
  color: #333333; }

a {
  color: #089fa3;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

input[type=number] {
  -moz-appearance: textfield; }

input::-ms-clear {
  display: none;
  width: 0;
  height: 0; }

/***BASE***/
.l-container-page {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px; }
  .l-container-page:after {
    content: " ";
    display: block;
    clear: both; }
  .l-container-page--center {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    min-height: 100%;
    -ms-flex-pack: center;
        justify-content: center; }

.l-main {
  position: relative; }

/**COMPONENTS**/
[class*=" c-icon-"],
[class^="c-icon-"] {
  line-height: 1em; }
  [class*=" c-icon-"]:before,
  [class^="c-icon-"]:before {
    font-family: "fontello";
    font-weight: normal;
    font-style: normal;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga'; }

.c-icon-arrow-downward:before {
  content: '\e800'; }

.c-icon-arrow-left:before {
  content: '\e801'; }

.c-icon-arrow-right:before {
  content: '\e802'; }

.c-icon-arrow-up:before {
  content: '\e803'; }

.c-icon-arrow-down:before {
  content: '\e804'; }

.c-icon-home:before {
  content: '\e805'; }

.c-btn-home {
  position: absolute;
  right: 0;
  top: 0;
  display: inline-block;
  padding: 6px;
  background: #089fa3;
  border-radius: 0 0 0 4px;
  z-index: 400; }
  .c-btn-home:hover, .c-btn-home:focus {
    background: #0aced4; }
  .c-btn-home__icon {
    display: block;
    width: 24px;
    height: 24px; }
  @media screen and (min-width: 768px) {
    .c-btn-home {
      padding: 12px; }
      .c-btn-home__icon {
        width: 32px;
        height: 32px; } }

.c-btn {
  display: inline-block;
  cursor: pointer;
  text-decoration: none;
  padding: 10px 16px;
  transition: background 0.4s ease; }
  @media screen and (min-width: 520px) {
    .c-btn {
      padding: 10px 24px; } }
  .c-btn__icon--left {
    margin-right: 6px; }
  .c-btn__icon--right {
    margin-left: 6px; }
  .c-btn--primary {
    border: 2px solid #089fa3;
    background: #089fa3;
    color: #FFF; }
    .c-btn--primary:hover {
      background: #58b6b9; }
  .c-btn--scroll {
    position: relative;
    display: block;
    width: 54px;
    height: 54px;
    background: #089fa3;
    border: 2px solid #089fa3;
    border-radius: 50%;
    padding: 0;
    color: #FFF; }
    .c-btn--scroll .c-btn__icon {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 40px; }
    .c-btn--scroll:hover {
      background: #58b6b9; }

.owl-carousel .owl-stage {
  display: -ms-flexbox;
  display: flex; }

.owl-carousel .owl-item {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
  position: absolute;
  top: 50%;
  transition: opacity 0.4s ease;
  font-size: 40px;
  width: 30px;
  height: 50px;
  background: rgba(255, 255, 255, 0.8);
  color: #089fa3; }
  .owl-carousel .owl-nav .owl-prev:hover,
  .owl-carousel .owl-nav .owl-next:hover {
    background: white; }
  .owl-carousel .owl-nav .owl-prev [class*="icon"],
  .owl-carousel .owl-nav .owl-next [class*="icon"] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .owl-carousel .owl-nav .owl-prev.disabled,
  .owl-carousel .owl-nav .owl-next.disabled {
    opacity: 0; }

.owl-carousel .owl-nav .owl-prev {
  left: -20px;
  transform: translateY(-50%);
  border-radius: 0 4px 4px 0; }

.owl-carousel .owl-nav .owl-next {
  right: -20px;
  transform: translateY(-50%);
  border-radius: 4px 0 0 4px; }

@media screen and (min-width: 520px) {
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next {
    font-size: 60px;
    width: 40px;
    height: 60px; } }

@media screen and (min-width: 768px) {
  .owl-carousel .owl-nav .owl-prev {
    left: 0; }
  .owl-carousel .owl-nav .owl-next {
    right: 0; } }

@media screen and (min-width: 1400px) {
  .owl-carousel .owl-nav .owl-prev {
    left: 0;
    transform: translate(-200%, -50%); } }

.c-carousel-projects {
  width: 100%;
  margin-top: 60px;
  padding: 0 20px; }
  .c-carousel-projects__item {
    position: relative; }
    .c-carousel-projects__item--description {
      position: relative;
      height: 100%; }
    .c-carousel-projects__item--image {
      margin-bottom: 12px; }
    .c-carousel-projects__item--break {
      margin-bottom: 40px; }
  .c-carousel-projects__image {
    display: block;
    width: 100%; }
  .c-carousel-projects__description {
    border-top: 2px solid #dddddd;
    padding: 30px 0; }
  .c-carousel-projects__title {
    font-size: 26px;
    margin-bottom: 4px; }
  .c-carousel-projects__company {
    font-size: 16px;
    margin-bottom: 24px;
    color: #666666; }
  .c-carousel-projects__paragraph {
    margin-bottom: 12px; }
  .c-carousel-projects__note {
    font-size: 16px;
    color: #666666;
    font-style: italic; }
  @media screen and (max-width: 767px) {
    .c-carousel-projects .owl-carousel {
      display: block; } }
  @media screen and (min-width: 768px) {
    .c-carousel-projects {
      padding: 0 0 0 20px; }
      .c-carousel-projects__item {
        width: auto;
        height: 380px; }
        .c-carousel-projects__item--description {
          width: 650px; }
        .c-carousel-projects__item--image {
          margin-bottom: 0;
          margin-right: 20px; }
        .c-carousel-projects__item--break {
          margin-bottom: 0;
          margin-right: 100px; }
          .c-carousel-projects__item--break:after {
            position: absolute;
            right: -40px;
            top: 4%;
            bottom: 4%;
            width: 4px;
            background: #8a0057;
            content: "";
            border-radius: 2px; }
      .c-carousel-projects__image {
        width: auto !important;
        height: 100%; }
      .c-carousel-projects__description {
        height: 100%;
        padding: 34px 26px 34px 40px;
        margin-right: 40px;
        border-bottom: 2px solid #dddddd; } }
  @media screen and (min-width: 1024px) {
    .c-carousel-projects__item {
      height: 450px; }
    .c-carousel-projects__description {
      padding: 60px 30px 60px 50px; }
    .c-carousel-projects__title {
      font-size: 30px; } }
  @media screen and (min-width: 1200px) {
    .c-carousel-projects {
      padding-left: calc(((100% - 1200px) / 2) + 20px); }
      .c-carousel-projects__description {
        padding: 60px 30px 60px 40px; } }

.c-carousel-projects-nav {
  display: none; }
  @media screen and (min-width: 768px) {
    .c-carousel-projects-nav {
      margin: 0;
      padding: 0;
      list-style: none;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-top: 30px;
      -ms-flex-align: center;
          align-items: center;
      margin: 26px -12px 0; }
      .c-carousel-projects-nav__item {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
        position: relative;
        padding: 4px 12px; }
        .c-carousel-projects-nav__item:after {
          position: absolute;
          top: 50%;
          left: 100%;
          transform: translate(-50%, -50%);
          width: 6px;
          height: 6px;
          border-radius: 50%;
          background: #8a0057;
          content: ""; }
        .c-carousel-projects-nav__item:last-child:after {
          display: none; }
      .c-carousel-projects-nav__link {
        display: block;
        text-decoration: none;
        font-size: 14px;
        color: #8a0057; }
        .c-carousel-projects-nav__link.is-active {
          font-size: 20px;
          font-weight: 700; } }

.c-carousel-photos {
  width: 100%;
  margin-top: 60px;
  padding: 0 20px; }
  .c-carousel-photos__item {
    height: 100%;
    background: #000;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .c-carousel-photos__image {
    display: block;
    width: auto !important;
    max-width: 100%;
    max-height: 450px;
    margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .c-carousel-photos__item {
      display: block;
      width: auto;
      height: 380px;
      background: none;
      max-height: none;
      margin: 0 10px 0 0; }
    .c-carousel-photos__image {
      width: auto;
      height: 100%;
      max-width: none;
      max-height: none;
      margin: 0; } }
  @media screen and (min-width: 1024px) {
    .c-carousel-photos__item {
      height: 480px; } }
  @media screen and (min-width: 1200px) {
    .c-carousel-photos {
      padding-left: calc(((100% - 1200px) / 2) + 20px); } }

/**HOME**/
.c-intro {
  padding: 40px 0 20px; }
  .c-intro__title {
    font-size: 50px; }
    @media screen and (min-width: 768px) {
      .c-intro__title {
        font-size: 80px; } }

.c-slide {
  position: relative;
  width: 100%;
  padding: 60px 0 80px; }
  .c-slide:first-child {
    padding-top: 30px; }
  .c-slide__maxwidth {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px; }
    .c-slide__maxwidth:after {
      content: " ";
      display: block;
      clear: both; }
  .c-slide__inner {
    position: relative; }
    .c-slide__inner--single {
      width: 100%; }
  .c-slide__image {
    margin: 0 auto 30px;
    max-width: 340px; }
    .c-slide__image img {
      display: block;
      width: 100%; }
  .c-slide__text--left {
    margin-bottom: 40px; }
  .c-slide__text--right {
    margin-top: 40px; }
  .c-slide__title {
    font-family: "nowayregular", sans-serif;
    font-size: 32px;
    margin-bottom: 24px;
    font-weight: 700; }
  .c-slide__intro {
    font-size: 22px;
    margin: -16px 0 24px; }
  .c-slide__paragraph {
    margin-bottom: 16px; }
    .c-slide__paragraph--button {
      margin-top: 24px;
      margin-bottom: 0; }
  .c-slide__btn-scroll {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }
  @media screen and (min-width: 520px) {
    .c-slide {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      min-height: 100vh;
      padding: 40px 0 80px; }
      .c-slide:first-child {
        padding-top: 40px; }
      .c-slide__btn-scroll {
        bottom: 10px; } }
  @media screen and (min-width: 768px) {
    .c-slide {
      padding: 60px 0; }
      .c-slide__image {
        max-width: 400px; }
      .c-slide__text {
        padding: 20px 50px; }
      .c-slide__btn-scroll {
        bottom: 20px; } }
  @media screen and (min-width: 1024px) {
    .c-slide__inner--duo {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
    .c-slide__image {
      width: 41.66667%;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      margin: 0;
      max-width: none; }
    .c-slide__text {
      width: 50%;
      max-width: 540px;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
      padding: 20px 0; }
      .c-slide__text--left {
        margin: 0 8.33333% 0 0; }
      .c-slide__text--right {
        margin: 0 0 0 8.33333%; }
    .c-slide__title {
      font-size: 36px;
      margin-bottom: 24px; }
    .c-slide__intro {
      font-size: 24px; }
    .c-slide__btn-scroll {
      bottom: 40px; } }

.c-scrollarrow {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px;
  background: rgba(221, 221, 221, 0.6);
  border-radius: 10px 10px 0 0;
  cursor: pointer; }
  .c-scrollarrow:hover {
    background: rgba(221, 221, 221, 0.8); }
    .c-scrollarrow:hover .c-scrollarrow__icon {
      color: #666666; }
  .c-scrollarrow__icon {
    display: block;
    font-size: 30px;
    color: #808080; }

/**PLAYGROUND**/
.c-grid-photos {
  margin-bottom: 40px; }
  .c-grid-photos__innergrid .c-grid-photos__image {
    padding-bottom: 56%; }
  .c-grid-photos__image-container {
    position: relative; }
  .c-grid-photos__image {
    padding-bottom: 125%;
    margin-bottom: 10px;
    background: no-repeat center center / cover;
    opacity: 1;
    transition: all 1.0s ease; }
    .c-grid-photos__image-container--horizontal .c-grid-photos__image {
      padding-bottom: 56%; }
    .c-grid-photos__image-container--vertical .c-grid-photos__image {
      padding-bottom: 125%; }
    .c-grid-photos__image-container--square .c-grid-photos__image {
      padding-bottom: 100%; }
  @media screen and (min-width: 768px) {
    .c-grid-photos {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: -4px -4px 36px; }
      .c-grid-photos__item {
        padding: 4px; }
        .c-grid-photos__item--width-1 {
          width: 8.33333%; }
        .c-grid-photos__item--width-2 {
          width: 16.66667%; }
        .c-grid-photos__item--width-3 {
          width: 25%; }
        .c-grid-photos__item--width-4 {
          width: 33.33333%; }
        .c-grid-photos__item--width-5 {
          width: 41.66667%; }
        .c-grid-photos__item--width-6 {
          width: 50%; }
        .c-grid-photos__item--width-7 {
          width: 58.33333%; }
        .c-grid-photos__item--width-8 {
          width: 66.66667%; }
        .c-grid-photos__item--width-9 {
          width: 75%; }
        .c-grid-photos__item--width-10 {
          width: 83.33333%; }
        .c-grid-photos__item--width-11 {
          width: 91.66667%; }
        .c-grid-photos__item--width-12 {
          width: 100%; }
      .c-grid-photos__innergrid {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        height: calc(100% + 8px);
        margin: -4px; }
        .c-grid-photos__innergrid .c-grid-photos__item {
          -ms-flex: 1 1 auto;
              flex: 1 1 auto; }
        .c-grid-photos__innergrid .c-grid-photos__image {
          padding-bottom: 0; }
      .c-grid-photos__image-container {
        height: 100%; }
        .c-grid-photos__image-container--horizontal {
          padding-bottom: 56%; }
        .c-grid-photos__image-container--vertical {
          padding-bottom: 125%; }
        .c-grid-photos__image-container--square {
          padding-bottom: 100%; }
      .c-grid-photos__image {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin-bottom: 0;
        padding-bottom: 0; }
        .c-grid-photos__image-container--horizontal .c-grid-photos__image {
          padding-bottom: 0; }
        .c-grid-photos__image-container--vertical .c-grid-photos__image {
          padding-bottom: 0; }
        .c-grid-photos__image-container--square .c-grid-photos__image {
          padding-bottom: 0; }
        .c-grid-photos__image.is-hidden {
          opacity: 0; }
        .c-grid-photos__image-container:hover .c-grid-photos__image--overlay {
          opacity: 0; }
          .c-grid-photos__image-container:hover .c-grid-photos__image--overlay.is-hidden {
            opacity: 1; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpdGUuc2NzcyIsIjAwLXNldHRpbmdzL19mb250cy5zY3NzIiwiMDAtc2V0dGluZ3MvX3ZhcnMuc2NzcyIsIjAxLXRvb2xzL19oZWxwZXJzLnNjc3MiLCIwMS10b29scy9fbWl4aW5zLnNjc3MiLCIwMi1nZW5lcmljL19ub3JtYWxpemUuc2NzcyIsInNpdGUuY3NzIiwiMDItZ2VuZXJpYy9fb3ZlcmFsbC5zY3NzIiwiMDMtYmFzZS9fbGF5b3V0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwiMDQtY29tcG9uZW50cy9faWNvbnMuc2NzcyIsIjA0LWNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsIjA0LWNvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCIwNC1jb21wb25lbnRzL19pbnRyby10ZXh0LnNjc3MiLCIwNC1jb21wb25lbnRzL19zbGlkZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fc3Bhbi5zY3NzIiwiMDQtY29tcG9uZW50cy9fc2Nyb2xsYXJyb3cuc2NzcyIsIjA0LWNvbXBvbmVudHMvX2dyaWQtcGhvdG9zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCO0VBQ0ksNEJBQTJCO0VBQzNCLCtDQUE4QztFQUM5Qyw4VUFJeUU7RUFDekUsb0JBQW1CO0VBQ25CLG1CQUFrQixFQUFBOztBQUV0QjtFQUNJLGdDQUErQjtFQUMvQixnREFBK0M7RUFDL0MsdVZBSThFO0VBQzlFLG9CQUFtQjtFQUNuQixtQkFBa0IsRUFB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cUJBQWE7TUFBYixjQUFhO01BQ2Isb0JBQWU7VUFBZixnQkFBZTtNQUNmLHVCQUFzQixFQWtFN0I7TUFqRU87UUFDSSxhQUFZLEVBT2Y7UUFKTztVQUNJLGdCRnNIMEIsRUVySDdCO1FBRkQ7VUFDSSxpQkZzSDBCLEVFckg3QjtRQUZEO1VBQ0ksV0ZzSDBCLEVFckg3QjtRQUZEO1VBQ0ksaUJGc0gwQixFRXJIN0I7UUFGRDtVQUNJLGlCRnNIMEIsRUVySDdCO1FBRkQ7VUFDSSxXRnNIMEIsRUVySDdCO1FBRkQ7VUFDSSxpQkZzSDBCLEVFckg3QjtRQUZEO1VBQ0ksaUJGc0gwQixFRXJIN0I7UUFGRDtVQUNJLFdGc0gwQixFRXJIN0I7UUFGRDtVQUNJLGlCRnNIMEIsRUVySDdCO1FBRkQ7VUFDSSxpQkZzSDBCLEVFckg3QjtRQUZEO1VBQ0ksWUZzSDBCLEVFckg3QjtNQUdUO1FBQ0kscUJBQWE7UUFBYixjQUFhO1FBQ2IsMkJBQXNCO1lBQXRCLHVCQUFzQjtRQUN0Qix5QkFBd0I7UUFDeEIsYUFBWSxFQVFmO1FBWkQ7VUFPUSxtQkFBYztjQUFkLGVBQWMsRUFDakI7UUFSTDtVQVVRLGtCQUFpQixFQUNwQjtNQUVMO1FBQ0ksYUFBWSxFQVVmO1FBVEc7VUFDSSxvQkFBbUIsRUFDdEI7UUFDRDtVQUNJLHFCQUFvQixFQUN2QjtRQUNEO1VBQ0kscUJBQW9CLEVBQ3ZCO01BRUw7UUFDSSxtQkFBa0I7UUFDbEIsT0FBTTtRQUNOLFNBQVE7UUFDUixVQUFTO1FBQ1QsUUFBTztRQUNQLGlCQUFnQjtRQUNoQixrQkFBaUIsRUFzQnBCO1FBckJHO1VBQ0ksa0JBQWlCLEVBQ3BCO1FBQ0Q7VUFDSSxrQkFBaUIsRUFDcEI7UUFDRDtVQUNJLGtCQUFpQixFQUNwQjtRQWhCTDtVQWtCUSxXQUFVLEVBQ2I7UUFDRDtVQUVRLFdBQVUsRUFLYjtVQVBMO1lBS1ksV0FBVSxFQUNiLEVBQUEiLCJmaWxlIjoic2l0ZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqU0VUVElOR1MqKiovXHJcbkBpbXBvcnQgXCIwMC1zZXR0aW5ncy9mb250c1wiO1xyXG5AaW1wb3J0IFwiMDAtc2V0dGluZ3MvdmFyc1wiO1xyXG5cclxuLyoqKlRPT0xTKioqL1xyXG5AaW1wb3J0IFwiMDEtdG9vbHMvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIwMS10b29scy9oZWxwZXJzXCI7XHJcblxyXG4vKioqR0VORVJJQyoqKi9cclxuQGltcG9ydCBcIjAyLWdlbmVyaWMvbm9ybWFsaXplXCI7XHJcbkBpbXBvcnQgXCIwMi1nZW5lcmljL292ZXJhbGxcIjtcclxuXHJcbi8qKipCQVNFKioqL1xyXG5AaW1wb3J0IFwiMDMtYmFzZS9sYXlvdXRcIjtcclxuXHJcbi8qKkNPTVBPTkVOVFMqKi9cclxuQGltcG9ydCBcIjA0LWNvbXBvbmVudHMvaWNvbnNcIjtcclxuQGltcG9ydCBcIjA0LWNvbXBvbmVudHMvYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwiMDQtY29tcG9uZW50cy9jYXJvdXNlbFwiO1xyXG5cclxuLyoqSE9NRSoqL1xyXG5AaW1wb3J0IFwiMDQtY29tcG9uZW50cy9pbnRyby10ZXh0XCI7XHJcbi8vIEBpbXBvcnQgXCIwNC1jb21wb25lbnRzL2dhbGxlcnlcIjtcclxuQGltcG9ydCBcIjA0LWNvbXBvbmVudHMvc2xpZGVzXCI7XHJcbkBpbXBvcnQgXCIwNC1jb21wb25lbnRzL3Njcm9sbGFycm93XCI7XHJcblxyXG4vKipQTEFZR1JPVU5EKiovXHJcbkBpbXBvcnQgXCIwNC1jb21wb25lbnRzL2dyaWQtcGhvdG9zXCI7XHJcbi8vIEBpbXBvcnQgXCIwNC1jb21wb25lbnRzL2dyaWQtZXhhbXBsZVwiO1xyXG4vLyBAaW1wb3J0IFwiMDQtY29tcG9uZW50cy9ncmlkLXByb2plY3RzXCI7XHJcbi8vIEBpbXBvcnQgXCIwNC1jb21wb25lbnRzL3Njcm9sbC1hbmltYXRpb25cIjtcclxuIiwiQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ25vd2F5cmVndWxhcic7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvbm93YXktcmVndWxhci13ZWJmb250LmVvdCcpO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL25vd2F5LXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL25vd2F5LXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9ub3dheS1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL25vd2F5LXJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbm93YXktcmVndWxhci13ZWJmb250LnN2ZyNub3dheXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnbmV4YV9ib2xkcmVndWxhcic7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTmV4YV9GcmVlX0JvbGQtd2ViZm9udC5lb3QnKTtcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9OZXhhX0ZyZWVfQm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTmV4YV9GcmVlX0JvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9OZXhhX0ZyZWVfQm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9OZXhhX0ZyZWVfQm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9OZXhhX0ZyZWVfQm9sZC13ZWJmb250LnN2ZyNuZXhhX2JvbGRyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ25leGFfbGlnaHRyZWd1bGFyJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9OZXhhX0ZyZWVfTGlnaHQtd2ViZm9udC5lb3QnKTtcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9OZXhhX0ZyZWVfTGlnaHQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05leGFfRnJlZV9MaWdodC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05leGFfRnJlZV9MaWdodC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9OZXhhX0ZyZWVfTGlnaHQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTmV4YV9GcmVlX0xpZ2h0LXdlYmZvbnQuc3ZnI25leGFfbGlnaHRyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcblxyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy9mb250ZWxsby5lb3Q/ODgzNjMwNTMnKTtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGVsbG8uZW90Pzg4MzYzMDUzI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby53b2ZmMj84ODM2MzA1MycpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgIHVybCgnLi4vZm9udHMvZm9udGVsbG8ud29mZj84ODM2MzA1MycpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby50dGY/ODgzNjMwNTMnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLnN2Zz84ODM2MzA1MyNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuIiwiLyoqKkNPTE9SUyoqKi9cclxuJGdyZXktZGFya2VyOiAjMzMzMzMzO1xyXG4kZ3JleS1kYXJrOiAjNjY2NjY2O1xyXG4kZ3JleS1tZWRpdW06ICM4MDgwODA7XHJcbiRncmV5LWxpZ2h0OiAjZGRkZGRkO1xyXG4kZ3JleS1saWdodGVyOiAjRjFGMUYxO1xyXG4kdHVycXVvaXNlOiByZ2IoOCwgMTU5LCAxNjMpO1xyXG4kcHVycGxlOiAjOGEwMDU3O1xyXG4keWVsbG93OiByZ2IoMjU1LCAyMDcsIDApO1xyXG4kZ3JlZW46IHJnYig5NCwgMTc3LCAxKTtcclxuJG9yYW5nZTogcmdiKDI1NSwgMTUzLCAwKTtcclxuLyoqKlNFVCBDT0xPUlMqKiovXHJcbi8vTUFJTlxyXG4kdGV4dC1jb2xvcjogJGdyZXktZGFya2VyO1xyXG4kbGluay1jb2xvcjogJHR1cnF1b2lzZTtcclxuJGhvdmVyLWNvbG9yOiAjRDFEN0Q5O1xyXG4kYnJhbmQtY29sb3I6ICR0dXJxdW9pc2U7XHJcbi8qKipTSVpJTkcqKiovXHJcbi8vQ09OVEFJTkVSXHJcbiRjb250YWluZXItd2lkdGg6IDEyMDBweDtcclxuJGNvbnRhaW5lci1wYWRkaW5nOiAyMHB4O1xyXG4vL0JPUkRFUlxyXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiA0cHg7XHJcbiRib3JkZXItcmFkaXVzLXNtOiAkYm9yZGVyLXJhZGl1cy1iYXNlICogMC43NTsgLy8zcHhcclxuJGJvcmRlci1yYWRpdXMteHM6ICRib3JkZXItcmFkaXVzLWJhc2UgKiAwLjU7IC8vMnB4XHJcbiRib3JkZXItcmFkaXVzLWxnOiAkYm9yZGVyLXJhZGl1cy1iYXNlICogMS41OyAvLzZweFxyXG4kYm9yZGVyLXJhZGl1cy14bDogJGJvcmRlci1yYWRpdXMtYmFzZSAqIDIuMDsgLy84cHhcclxuLyoqKlRZUE9HUkFQSFkqKiovXHJcbiRmb250LXRleHQ6IFwibm93YXlyZWd1bGFyXCIsIHNhbnMtc2VyaWY7XHJcbiRmb250LWhlYWRpbmdzOiBcIm5leGFfYm9sZHJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcclxuJGZvbnQtc2l6ZS1iYXNlOiAxOHB4O1xyXG4kZm9udC1zaXplLXNtOiAxNnB4O1xyXG4kZm9udC1zaXplLWxnOiAyMHB4O1xyXG4kbGluZS1oZWlnaHQtYmFzZTogMS40O1xyXG4vKioqTUVESUEgUVVFUklFUyoqKi9cclxuJHNjcmVlbi14czogNTIwcHg7XHJcbiRzY3JlZW4tc206IDc2OHB4O1xyXG4kc2NyZWVuLW1kOiAxMDI0cHg7XHJcbiRzY3JlZW4tbGc6IDEyMDBweDtcclxuJHNjcmVlbi14bDogMTQwMHB4O1xyXG4iLCIuaC1oaWRkZW4ge1xyXG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4uaC1oaWRkZW4teHMtbWF4IHtcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAoJHNjcmVlbi14cyAtIDFweCkpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuLmgtaGlkZGVuLXNtLW1heCB7XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogKCRzY3JlZW4tc20gLSAxcHgpKSB7XHJcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcbi5oLWhpZGRlbi14cy1taW4ge1xyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuLmgtaGlkZGVuLXNtLW1pbiB7XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdH1cclxufVxyXG4uaC1oaWRkZW4tbWQtbWluIHtcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XHJcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcbi5oLXNyLW9ubHkge1xyXG5cdEBpbmNsdWRlIGhpZGUtdGV4dDtcclxufVxyXG4iLCIvLyBmb250LWZhbWlseTpcInByb3hpbWEtbm92YS1zb2Z0XCI7XHJcbkBtaXhpbiBpY29uICgkY29sb3I6IGluaGVyaXQsICRzaXplOiBpbmhlcml0KSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGZvbnQ6IHtcclxuXHRmYW1pbHk6IFwiaWNvbnNcIjtcclxuXHRzaXplOiAkc2l6ZTtcclxuXHR3ZWlnaHQ6IDQwMDtcclxuXHR9XHJcblx0Y29sb3I6ICRjb2xvcjtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuQG1peGluIHJlbW92ZS1saXN0c3R5bGUge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuQG1peGluIHZlcnRpY2FsLWFsaWduIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOjUwJTtcclxuXHR0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5AbWl4aW4gaG9yaXpvbnRhbC1hbGlnbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6NTAlO1xyXG5cdHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xyXG59XHJcbkBtaXhpbiBjZW50ZXItYWxpZ24ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDUwJTtcclxuXHRsZWZ0OjUwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5AbWl4aW4gYmFja2dyb3VuZC1vcGFjaXR5KCRjb2xvciwgJG9wYWNpdHk6IDAuMykge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsICRvcGFjaXR5KTtcclxufVxyXG5cclxuQG1peGluIGNsZWFyZml4IHtcclxuXHQmOmJlZm9yZSxcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6Jyc7XHJcblx0XHRkaXNwbGF5OnRhYmxlO1xyXG5cdH1cclxuXHQmOmFmdGVyIHtcclxuXHRcdGNsZWFyOmJvdGg7XHJcblx0fVxyXG59XHJcbkBtaXhpbiBoaWRlLXRleHQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgY2xpcDogcmVjdCgwcHggMHB4IDBweCAwcHgpO1xyXG59XHJcbkBtaXhpbiBoMSB7XHJcblx0Zm9udC1zaXplOiA1MHB4O1xyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdGZvbnQtc2l6ZTogODBweDtcclxuXHR9XHJcbn1cclxuQG1peGluIGgyIHtcclxuXHRmb250LXNpemU6IDQwcHg7XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0Zm9udC1zaXplOiA2MHB4O1xyXG5cdH1cclxufVxyXG5AbWl4aW4gaDMge1xyXG5cdGZvbnQtc2l6ZTogMzBweDtcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRmb250LXNpemU6IDQwcHg7XHJcblx0fVxyXG59XHJcbkBtaXhpbiBoNCB7XHJcblx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdGZvbnQtc2l6ZTogMzJweDtcclxuXHR9XHJcbn1cclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjUuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXHJcbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cclxuICovXHJcblxyXG4vKiBEb2N1bWVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuaHRtbCB7XHJcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cclxuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXHJcbn1cclxuXHJcbi8qIFNlY3Rpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqL1xyXG5cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmZvb3RlcixcclxuaGVhZGVyLFxyXG5uYXYsXHJcbnNlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxyXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxyXG4gKi9cclxuXHJcbmgxIHtcclxuICBmb250LXNpemU6IDJlbTtcclxuICBtYXJnaW46IDAuNjdlbSAwO1xyXG59XHJcblxyXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxyXG4gKi9cclxuXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxubWFpbiB7IC8qIDEgKi9cclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cclxuICovXHJcblxyXG5maWd1cmUge1xyXG4gIG1hcmdpbjogMWVtIDQwcHg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuICovXHJcblxyXG5ociB7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cclxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cclxuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnByZSB7XHJcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cclxufVxyXG5cclxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cclxuICovXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xyXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxyXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG5hOmFjdGl2ZSxcclxuYTpob3ZlciB7XHJcbiAgb3V0bGluZS13aWR0aDogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5hYmJyW3RpdGxlXSB7XHJcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxyXG4gKi9cclxuXHJcbmRmbiB7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxyXG4gKi9cclxuXHJcbm1hcmsge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zbWFsbCB7XHJcbiAgZm9udC1zaXplOiA4MCU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cclxuICogYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1Yixcclxuc3VwIHtcclxuICBmb250LXNpemU6IDc1JTtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5zdWIge1xyXG4gIGJvdHRvbTogLTAuMjVlbTtcclxufVxyXG5cclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxufVxyXG5cclxuLyogRW1iZWRkZWQgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKi9cclxuXHJcbmF1ZGlvLFxyXG52aWRlbyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cclxuICovXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXHJcbiAqL1xyXG5cclxuaW1nIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICovXHJcblxyXG5zdmc6bm90KDpyb290KSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXHJcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cclxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuW3R5cGU9XCJyZXNldFwiXSxcclxuW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xyXG5cclxuZmllbGRzZXQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcbiAgbWFyZ2luOiAwIDJweDtcclxuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cclxuICovXHJcblxyXG5bdHlwZT1cImNoZWNrYm94XCJdLFxyXG5bdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cclxuXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxyXG4gKi9cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBJbnRlcmFjdGl2ZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cclxuICovXHJcblxyXG5kZXRhaWxzLCAvKiAxICovXHJcbm1lbnUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc3VtbWFyeSB7XHJcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG59XHJcblxyXG4vKiBTY3JpcHRpbmdcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICovXHJcblxyXG5jYW52YXMge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxyXG4gKi9cclxuXHJcbnRlbXBsYXRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBIaWRkZW5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXHJcbiAqL1xyXG5cclxuW2hpZGRlbl0ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuIiwiLyoqKlNFVFRJTkdTKioqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnbm93YXlyZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9ub3dheS1yZWd1bGFyLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL25vd2F5LXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9ub3dheS1yZWd1bGFyLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL25vd2F5LXJlZ3VsYXItd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL25vd2F5LXJlZ3VsYXItd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL25vd2F5LXJlZ3VsYXItd2ViZm9udC5zdmcjbm93YXlyZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ25leGFfYm9sZHJlZ3VsYXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL05leGFfRnJlZV9Cb2xkLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL05leGFfRnJlZV9Cb2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvTmV4YV9GcmVlX0JvbGQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvTmV4YV9GcmVlX0JvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL05leGFfRnJlZV9Cb2xkLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9OZXhhX0ZyZWVfQm9sZC13ZWJmb250LnN2ZyNuZXhhX2JvbGRyZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ25leGFfbGlnaHRyZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9OZXhhX0ZyZWVfTGlnaHQtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvTmV4YV9GcmVlX0xpZ2h0LXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvTmV4YV9GcmVlX0xpZ2h0LXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL05leGFfRnJlZV9MaWdodC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvTmV4YV9GcmVlX0xpZ2h0LXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9OZXhhX0ZyZWVfTGlnaHQtd2ViZm9udC5zdmcjbmV4YV9saWdodHJlZ3VsYXJcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLmVvdD84ODM2MzA1M1wiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9mb250ZWxsby5lb3Q/ODgzNjMwNTMjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLndvZmYyPzg4MzYzMDUzXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby53b2ZmPzg4MzYzMDUzXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLnR0Zj84ODM2MzA1M1wiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8uc3ZnPzg4MzYzMDUzI2ZvbnRlbGxvXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qKipDT0xPUlMqKiovXG4vKioqU0VUIENPTE9SUyoqKi9cbi8qKipTSVpJTkcqKiovXG4vKioqVFlQT0dSQVBIWSoqKi9cbi8qKipNRURJQSBRVUVSSUVTKioqL1xuLyoqKlRPT0xTKioqL1xuLmgtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUxOXB4KSB7XG4gIC5oLWhpZGRlbi14cy1tYXgge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oLWhpZGRlbi1zbS1tYXgge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gIC5oLWhpZGRlbi14cy1taW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oLWhpZGRlbi1zbS1taW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaC1oaWRkZW4tbWQtbWluIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaC1zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDBweCAwcHggMHB4IDBweCk7IH1cblxuLyoqKkdFTkVSSUMqKiovXG4vKiEgbm9ybWFsaXplLmNzcyB2NS4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcclxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cclxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxyXG4gKi9cbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXHJcbiAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXHJcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cclxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXHJcbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXHJcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxyXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cclxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cclxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxyXG4gKiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXHJcbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cclxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXHJcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cclxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXHJcbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cclxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxyXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcclxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxyXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXHJcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxyXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cclxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cclxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cclxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIFNjcmlwdGluZ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXHJcbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cclxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogXCJub3dheXJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICBjb2xvcjogIzMzMzMzMztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBjb2xvcjogIzMzMzMzMzsgfVxuICBib2R5LmRhcmsge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNGRkY7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbm9wdGlvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IFwibm93YXlyZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG5kZCxcbmZpZWxkc2V0LFxuZmlndXJlLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuaGdyb3VwLFxuaHIsXG5vbCxcbnAsXG5wcmUsXG50YWJsZSxcbnVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIm5vd2F5cmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxubGFiZWwsXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzMzMzMzM7IH1cblxuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmlucHV0IHtcbiAgY29sb3I6ICMzMzMzMzM7IH1cblxuYSB7XG4gIGNvbG9yOiAjMDg5ZmEzO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7IH1cblxuaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cblxuaW5wdXQ6Oi1tcy1jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqKkJBU0UqKiovXG4ubC1jb250YWluZXItcGFnZSB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgLmwtY29udGFpbmVyLXBhZ2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sLWNvbnRhaW5lci1wYWdlLS1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5sLW1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyoqQ09NUE9ORU5UUyoqL1xuW2NsYXNzKj1cIiBjLWljb24tXCJdLFxuW2NsYXNzXj1cImMtaWNvbi1cIl0ge1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG4gIFtjbGFzcyo9XCIgYy1pY29uLVwiXTpiZWZvcmUsXG4gIFtjbGFzc149XCJjLWljb24tXCJdOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnOyB9XG5cbi5jLWljb24tYXJyb3ctZG93bndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMCc7IH1cblxuLmMtaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDEnOyB9XG5cbi5jLWljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMic7IH1cblxuLmMtaWNvbi1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODAzJzsgfVxuXG4uYy1pY29uLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNCc7IH1cblxuLmMtaWNvbi1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDUnOyB9XG5cbi5jLWJ0bi1ob21lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDZweDtcbiAgYmFja2dyb3VuZDogIzA4OWZhMztcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgNHB4O1xuICB6LWluZGV4OiA0MDA7IH1cbiAgLmMtYnRuLWhvbWU6aG92ZXIsIC5jLWJ0bi1ob21lOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGFjZWQ0OyB9XG4gIC5jLWJ0bi1ob21lX19pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYy1idG4taG9tZSB7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XG4gICAgICAuYy1idG4taG9tZV9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7IH0gfVxuXG4uYy1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40cyBlYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gICAgLmMtYnRuIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjRweDsgfSB9XG4gIC5jLWJ0bl9faWNvbi0tbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7IH1cbiAgLmMtYnRuX19pY29uLS1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDsgfVxuICAuYy1idG4tLXByaW1hcnkge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwODlmYTM7XG4gICAgYmFja2dyb3VuZDogIzA4OWZhMztcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAgIC5jLWJ0bi0tcHJpbWFyeTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNThiNmI5OyB9XG4gIC5jLWJ0bi0tc2Nyb2xsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIGJhY2tncm91bmQ6ICMwODlmYTM7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzA4OWZhMztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAgIC5jLWJ0bi0tc2Nyb2xsIC5jLWJ0bl9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgZm9udC1zaXplOiA0MHB4OyB9XG4gICAgLmMtYnRuLS1zY3JvbGw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzU4YjZiOTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYsXG4ub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xuICBmb250LXNpemU6IDQwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgY29sb3I6ICMwODlmYTM7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXY6aG92ZXIsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldiBbY2xhc3MqPVwiaWNvblwiXSxcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQgW2NsYXNzKj1cImljb25cIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYuZGlzYWJsZWQsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgbGVmdDogLTIwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQge1xuICByaWdodDogLTIwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYge1xuICAgIGxlZnQ6IDA7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQge1xuICAgIHJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMDAlLCAtNTAlKTsgfSB9XG5cbi5jLWNhcm91c2VsLXByb2plY3RzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuICAuYy1jYXJvdXNlbC1wcm9qZWN0c19faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmMtY2Fyb3VzZWwtcHJvamVjdHNfX2l0ZW0tLWRlc2NyaXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jLWNhcm91c2VsLXByb2plY3RzX19pdGVtLS1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4gICAgLmMtY2Fyb3VzZWwtcHJvamVjdHNfX2l0ZW0tLWJyZWFrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLmMtY2Fyb3VzZWwtcHJvamVjdHNfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYy1jYXJvdXNlbC1wcm9qZWN0c19fZGVzY3JpcHRpb24ge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGRkZGRkO1xuICAgIHBhZGRpbmc6IDMwcHggMDsgfVxuICAuYy1jYXJvdXNlbC1wcm9qZWN0c19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgLmMtY2Fyb3VzZWwtcHJvamVjdHNfX2NvbXBhbnkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gIC5jLWNhcm91c2VsLXByb2plY3RzX19wYXJhZ3JhcGgge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7IH1cbiAgLmMtY2Fyb3VzZWwtcHJvamVjdHNfX25vdGUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzY2NjY2NjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuYy1jYXJvdXNlbC1wcm9qZWN0cyAub3dsLWNhcm91c2VsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYy1jYXJvdXNlbC1wcm9qZWN0cyB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gICAgICAuYy1jYXJvdXNlbC1wcm9qZWN0c19faXRlbSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDM4MHB4OyB9XG4gICAgICAgIC5jLWNhcm91c2VsLXByb2plY3RzX19pdGVtLS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgd2lkdGg6IDY1MHB4OyB9XG4gICAgICAgIC5jLWNhcm91c2VsLXByb2plY3RzX19pdGVtLS1pbWFnZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAgICAgLmMtY2Fyb3VzZWwtcHJvamVjdHNfX2l0ZW0tLWJyZWFrIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTAwcHg7IH1cbiAgICAgICAgICAuYy1jYXJvdXNlbC1wcm9qZWN0c19faXRlbS0tYnJlYWs6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC00MHB4O1xuICAgICAgICAgICAgdG9wOiA0JTtcbiAgICAgICAgICAgIGJvdHRvbTogNCU7XG4gICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzhhMDA1NztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgICAgIC5jLWNhcm91c2VsLXByb2plY3RzX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmMtY2Fyb3VzZWwtcHJvamVjdHNfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAzNHB4IDI2cHggMzRweCA0MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGRkZGRkOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmMtY2Fyb3VzZWwtcHJvamVjdHNfX2l0ZW0ge1xuICAgICAgaGVpZ2h0OiA0NTBweDsgfVxuICAgIC5jLWNhcm91c2VsLXByb2plY3RzX19kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDMwcHggNjBweCA1MHB4OyB9XG4gICAgLmMtY2Fyb3VzZWwtcHJvamVjdHNfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5jLWNhcm91c2VsLXByb2plY3RzIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYygoKDEwMCUgLSAxMjAwcHgpIC8gMikgKyAyMHB4KTsgfVxuICAgICAgLmMtY2Fyb3VzZWwtcHJvamVjdHNfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogNjBweCAzMHB4IDYwcHggNDBweDsgfSB9XG5cbi5jLWNhcm91c2VsLXByb2plY3RzLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYy1jYXJvdXNlbC1wcm9qZWN0cy1uYXYge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDI2cHggLTEycHggMDsgfVxuICAgICAgLmMtY2Fyb3VzZWwtcHJvamVjdHMtbmF2X19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogNHB4IDEycHg7IH1cbiAgICAgICAgLmMtY2Fyb3VzZWwtcHJvamVjdHMtbmF2X19pdGVtOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjOGEwMDU3O1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAgICAgLmMtY2Fyb3VzZWwtcHJvamVjdHMtbmF2X19pdGVtOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jLWNhcm91c2VsLXByb2plY3RzLW5hdl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICM4YTAwNTc7IH1cbiAgICAgICAgLmMtY2Fyb3VzZWwtcHJvamVjdHMtbmF2X19saW5rLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0gfVxuXG4uYy1jYXJvdXNlbC1waG90b3Mge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG4gIC5jLWNhcm91c2VsLXBob3Rvc19faXRlbSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jLWNhcm91c2VsLXBob3Rvc19faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQ1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmMtY2Fyb3VzZWwtcGhvdG9zX19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDM4MHB4O1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMTBweCAwIDA7IH1cbiAgICAuYy1jYXJvdXNlbC1waG90b3NfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5jLWNhcm91c2VsLXBob3Rvc19faXRlbSB7XG4gICAgICBoZWlnaHQ6IDQ4MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmMtY2Fyb3VzZWwtcGhvdG9zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYygoKDEwMCUgLSAxMjAwcHgpIC8gMikgKyAyMHB4KTsgfSB9XG5cbi8qKkhPTUUqKi9cbi5jLWludHJvIHtcbiAgcGFkZGluZzogNDBweCAwIDIwcHg7IH1cbiAgLmMtaW50cm9fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmMtaW50cm9fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA4MHB4OyB9IH1cblxuLmMtc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA2MHB4IDAgODBweDsgfVxuICAuYy1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgLmMtc2xpZGVfX21heHdpZHRoIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgLmMtc2xpZGVfX21heHdpZHRoOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuYy1zbGlkZV9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jLXNsaWRlX19pbm5lci0tc2luZ2xlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jLXNsaWRlX19pbWFnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICBtYXgtd2lkdGg6IDM0MHB4OyB9XG4gICAgLmMtc2xpZGVfX2ltYWdlIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jLXNsaWRlX190ZXh0LS1sZWZ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5jLXNsaWRlX190ZXh0LS1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAuYy1zbGlkZV9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIm5vd2F5cmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmMtc2xpZGVfX2ludHJvIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbWFyZ2luOiAtMTZweCAwIDI0cHg7IH1cbiAgLmMtc2xpZGVfX3BhcmFncmFwaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIC5jLXNsaWRlX19wYXJhZ3JhcGgtLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYy1zbGlkZV9fYnRuLXNjcm9sbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gICAgLmMtc2xpZGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDQwcHggMCA4MHB4OyB9XG4gICAgICAuYy1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9XG4gICAgICAuYy1zbGlkZV9fYnRuLXNjcm9sbCB7XG4gICAgICAgIGJvdHRvbTogMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmMtc2xpZGUge1xuICAgICAgcGFkZGluZzogNjBweCAwOyB9XG4gICAgICAuYy1zbGlkZV9faW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9XG4gICAgICAuYy1zbGlkZV9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNTBweDsgfVxuICAgICAgLmMtc2xpZGVfX2J0bi1zY3JvbGwge1xuICAgICAgICBib3R0b206IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYy1zbGlkZV9faW5uZXItLWR1byB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5jLXNsaWRlX19pbWFnZSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAuYy1zbGlkZV9fdGV4dCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgcGFkZGluZzogMjBweCAwOyB9XG4gICAgICAuYy1zbGlkZV9fdGV4dC0tbGVmdCB7XG4gICAgICAgIG1hcmdpbjogMCA4LjMzMzMzJSAwIDA7IH1cbiAgICAgIC5jLXNsaWRlX190ZXh0LS1yaWdodCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgOC4zMzMzMyU7IH1cbiAgICAuYy1zbGlkZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICAgIC5jLXNsaWRlX19pbnRybyB7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgICAuYy1zbGlkZV9fYnRuLXNjcm9sbCB7XG4gICAgICBib3R0b206IDQwcHg7IH0gfVxuXG4uYy1zY3JvbGxhcnJvdyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgcGFkZGluZzogNnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIyMSwgMjIxLCAyMjEsIDAuNik7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYy1zY3JvbGxhcnJvdzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMjEsIDIyMSwgMjIxLCAwLjgpOyB9XG4gICAgLmMtc2Nyb2xsYXJyb3c6aG92ZXIgLmMtc2Nyb2xsYXJyb3dfX2ljb24ge1xuICAgICAgY29sb3I6ICM2NjY2NjY7IH1cbiAgLmMtc2Nyb2xsYXJyb3dfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBjb2xvcjogIzgwODA4MDsgfVxuXG4vKipQTEFZR1JPVU5EKiovXG4uYy1ncmlkLXBob3RvcyB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLmMtZ3JpZC1waG90b3NfX2lubmVyZ3JpZCAuYy1ncmlkLXBob3Rvc19faW1hZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NiU7IH1cbiAgLmMtZ3JpZC1waG90b3NfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jLWdyaWQtcGhvdG9zX19pbWFnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEyNSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDEuMHMgZWFzZTsgfVxuICAgIC5jLWdyaWQtcGhvdG9zX19pbWFnZS1jb250YWluZXItLWhvcml6b250YWwgLmMtZ3JpZC1waG90b3NfX2ltYWdlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1NiU7IH1cbiAgICAuYy1ncmlkLXBob3Rvc19faW1hZ2UtY29udGFpbmVyLS12ZXJ0aWNhbCAuYy1ncmlkLXBob3Rvc19faW1hZ2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEyNSU7IH1cbiAgICAuYy1ncmlkLXBob3Rvc19faW1hZ2UtY29udGFpbmVyLS1zcXVhcmUgLmMtZ3JpZC1waG90b3NfX2ltYWdlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmMtZ3JpZC1waG90b3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogLTRweCAtNHB4IDM2cHg7IH1cbiAgICAgIC5jLWdyaWQtcGhvdG9zX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogNHB4OyB9XG4gICAgICAgIC5jLWdyaWQtcGhvdG9zX19pdGVtLS13aWR0aC0xIHtcbiAgICAgICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2l0ZW0tLXdpZHRoLTIge1xuICAgICAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2l0ZW0tLXdpZHRoLTMge1xuICAgICAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2l0ZW0tLXdpZHRoLTQge1xuICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2l0ZW0tLXdpZHRoLTUge1xuICAgICAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2l0ZW0tLXdpZHRoLTYge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2l0ZW0tLXdpZHRoLTcge1xuICAgICAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2l0ZW0tLXdpZHRoLTgge1xuICAgICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2l0ZW0tLXdpZHRoLTkge1xuICAgICAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2l0ZW0tLXdpZHRoLTEwIHtcbiAgICAgICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgICAgIC5jLWdyaWQtcGhvdG9zX19pdGVtLS13aWR0aC0xMSB7XG4gICAgICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgICAgICAuYy1ncmlkLXBob3Rvc19faXRlbS0td2lkdGgtMTIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuYy1ncmlkLXBob3Rvc19faW5uZXJncmlkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xuICAgICAgICBtYXJnaW46IC00cHg7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2lubmVyZ3JpZCAuYy1ncmlkLXBob3Rvc19faXRlbSB7XG4gICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2lubmVyZ3JpZCAuYy1ncmlkLXBob3Rvc19faW1hZ2Uge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuYy1ncmlkLXBob3Rvc19faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5jLWdyaWQtcGhvdG9zX19pbWFnZS1jb250YWluZXItLWhvcml6b250YWwge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1NiU7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2ltYWdlLWNvbnRhaW5lci0tdmVydGljYWwge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjUlOyB9XG4gICAgICAgIC5jLWdyaWQtcGhvdG9zX19pbWFnZS1jb250YWluZXItLXNxdWFyZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cbiAgICAgIC5jLWdyaWQtcGhvdG9zX19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgICAuYy1ncmlkLXBob3Rvc19faW1hZ2UtY29udGFpbmVyLS1ob3Jpem9udGFsIC5jLWdyaWQtcGhvdG9zX19pbWFnZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2ltYWdlLWNvbnRhaW5lci0tdmVydGljYWwgLmMtZ3JpZC1waG90b3NfX2ltYWdlIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgICAuYy1ncmlkLXBob3Rvc19faW1hZ2UtY29udGFpbmVyLS1zcXVhcmUgLmMtZ3JpZC1waG90b3NfX2ltYWdlIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgICAuYy1ncmlkLXBob3Rvc19faW1hZ2UuaXMtaGlkZGVuIHtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgIC5jLWdyaWQtcGhvdG9zX19pbWFnZS1jb250YWluZXI6aG92ZXIgLmMtZ3JpZC1waG90b3NfX2ltYWdlLS1vdmVybGF5IHtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgICAgLmMtZ3JpZC1waG90b3NfX2ltYWdlLWNvbnRhaW5lcjpob3ZlciAuYy1ncmlkLXBob3Rvc19faW1hZ2UtLW92ZXJsYXkuaXMtaGlkZGVuIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuIiwiLy9zZXQgc3RhbmRhcmQgc3R5bGluZyB0aGF0cyBub3Qgc2V0IGluIG5vcm1hbGl6ZVxyXG5cclxuKiB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbmh0bWwge1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuYm9keSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRtaW4taGVpZ2h0OiAxMDAlO1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udC10ZXh0O1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGJhY2tncm91bmQ6ICNGRkY7XHJcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHRjb2xvcjogJHRleHQtY29sb3I7XHJcblx0Ji5kYXJrIHtcclxuXHRcdGJhY2tncm91bmQ6ICMwMDA7XHJcblx0XHRjb2xvcjogI0ZGRjtcclxuXHR9XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5vcHRpb24sXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udC10ZXh0O1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbmRkLFxyXG5maWVsZHNldCxcclxuZmlndXJlLFxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2LFxyXG5oZ3JvdXAsXHJcbmhyLFxyXG5vbCxcclxucCxcclxucHJlLFxyXG50YWJsZSxcclxudWwge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250LXRleHQ7XHJcblx0bGluZS1oZWlnaHQ6IDEuMTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG5maWVsZHNldCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5sZWdlbmQge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcbmxhYmVsLFxyXG5sZWdlbmQge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcclxufVxyXG5cclxuYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5pbnB1dCB7XHJcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xyXG59XHJcblxyXG5hIHtcclxuXHRjb2xvcjogJGxpbmstY29sb3I7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG4vL2hpZGUgc3Bpbm5lciBpbiB3ZWJraXRcclxuXHJcbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcbi8vaGlkZSBzcGlubmVyIGluIGZpcmVmb3hcclxuXHJcbmlucHV0W3R5cGU9bnVtYmVyXSB7XHJcblx0LW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbn1cclxuLy9oaWRlIGVkZ2UgY2xlYXIgaWNvblxyXG5cclxuaW5wdXQ6Oi1tcy1jbGVhciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHR3aWR0aDogMDtcclxuXHRoZWlnaHQ6IDA7XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS5zY3NzJztcclxuJHN1c3k6IChcclxuXHRjb250YWluZXI6IDEyMDBweCxcclxuICBcdGNvbHVtbnM6IDEyLFxyXG4gIFx0Z3V0dGVyczogMS84LFxyXG4gIFx0Z3V0dGVyLXBvc2l0aW9uOiBpbnNpZGUsXHJcbik7XHJcblxyXG4ubC1jb250YWluZXItcGFnZSB7XHJcblx0QGluY2x1ZGUgY29udGFpbmVyO1xyXG5cdHBhZGRpbmc6IDAgJGNvbnRhaW5lci1wYWRkaW5nO1xyXG5cdCYtLWNlbnRlciB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdG1pbi1oZWlnaHQ6IDEwMCU7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuLmwtbWFpbiB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCJbY2xhc3MqPVwiIGMtaWNvbi1cIl0sXHJcbltjbGFzc149XCJjLWljb24tXCJdIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDFlbTtcclxuICAgICAgICBoZWlnaHQ6IDFlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xyXG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYy1pY29uLWFycm93LWRvd253YXJkOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnXFxlODAwJztcclxufVxyXG4uYy1pY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICdcXGU4MDEnO1xyXG59XHJcbi5jLWljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICdcXGU4MDInO1xyXG59XHJcbi5jLWljb24tYXJyb3ctdXA6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICdcXGU4MDMnO1xyXG59XHJcbi5jLWljb24tYXJyb3ctZG93bjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJ1xcZTgwNCc7XHJcbn1cclxuLmMtaWNvbi1ob21lOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnXFxlODA1JztcclxufVxyXG4iLCIuYy1idG4taG9tZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHRvcDogMDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzogNnB4O1xyXG5cdGJhY2tncm91bmQ6ICR0dXJxdW9pc2U7XHJcblx0Ym9yZGVyLXJhZGl1czogMCAwIDAgNHB4O1xyXG5cdHotaW5kZXg6IDQwMDtcclxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcclxuXHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHR1cnF1b2lzZSwgMTAlKTtcclxuXHR9XHJcblx0Jl9faWNvbiB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAyNHB4O1xyXG5cdFx0aGVpZ2h0OiAyNHB4O1xyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRwYWRkaW5nOiAxMnB4O1xyXG5cdFx0Jl9faWNvbiB7XHJcblx0XHRcdHdpZHRoOiAzMnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDMycHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYy1idG4ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdHBhZGRpbmc6IDEwcHggMTZweDtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNHMgZWFzZTtcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDI0cHg7XHJcblx0fVxyXG5cdCZfX2ljb24ge1xyXG5cdFx0Ji0tbGVmdCB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogNnB4O1xyXG5cdFx0fVxyXG5cdFx0Ji0tcmlnaHQge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogNnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmLS1wcmltYXJ5IHtcclxuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRicmFuZC1jb2xvcjtcclxuXHRcdGJhY2tncm91bmQ6ICRicmFuZC1jb2xvcjtcclxuXHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oZGVzYXR1cmF0ZSgkYnJhbmQtY29sb3IsIDUwJSksIDIwJSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCYtLXNjcm9sbCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiA1NHB4O1xyXG5cdFx0aGVpZ2h0OiA1NHB4O1xyXG5cdFx0YmFja2dyb3VuZDogJGJyYW5kLWNvbG9yO1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGJyYW5kLWNvbG9yO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0LmMtYnRuX19pY29uIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDUwJTtcclxuXHRcdFx0bGVmdDogNTAlO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG5cdFx0XHRmb250LXNpemU6IDQwcHg7XHJcblx0XHR9XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogbGlnaHRlbihkZXNhdHVyYXRlKCRicmFuZC1jb2xvciwgNTAlKSwgMjAlKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLy9NQUlOIFNUWUxJTkcgQ0FST1VTRUxcclxuLm93bC1jYXJvdXNlbCB7XHJcblx0Lm93bC1zdGFnZSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdH1cclxuXHQub3dsLWl0ZW0ge1xyXG5cdFx0ZmxleDogMCAwIGF1dG87XHJcblx0fVxyXG5cdC5vd2wtbmF2IHtcclxuXHRcdC5vd2wtcHJldixcclxuXHRcdC5vd2wtbmV4dCB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xyXG5cdFx0XHRmb250LXNpemU6IDQwcHg7XHJcblx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoI0ZGRiwwLjgpO1xyXG5cdFx0XHRjb2xvcjogJHR1cnF1b2lzZTtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgjRkZGLDEpO1xyXG5cdFx0XHR9XHJcblx0XHRcdFtjbGFzcyo9XCJpY29uXCJdIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0bGVmdDogNTAlO1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5kaXNhYmxlZCB7XHJcblx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Lm93bC1wcmV2IHtcclxuXHRcdFx0bGVmdDogLSRjb250YWluZXItcGFkZGluZzs7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XHJcblx0XHR9XHJcblx0XHQub3dsLW5leHQge1xyXG5cdFx0XHRyaWdodDogLSRjb250YWluZXItcGFkZGluZzs7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcclxuXHRcdC5vd2wtbmF2IHtcclxuXHRcdFx0Lm93bC1wcmV2LFxyXG5cdFx0XHQub3dsLW5leHQge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogNjBweDtcclxuXHRcdFx0XHR3aWR0aDogNDBweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDYwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0Lm93bC1uYXYge1xyXG5cdFx0XHQub3dsLXByZXYge1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0Lm93bC1uZXh0IHtcclxuXHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XHJcblx0XHQub3dsLW5hdiB7XHJcblx0XHRcdC5vd2wtcHJldiB7XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjAwJSwgLTUwJSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLy9jQVJPVVNFTCBQUk9KRUNUU1xyXG4uYy1jYXJvdXNlbC1wcm9qZWN0cyB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luLXRvcDogNjBweDs7XHJcblx0cGFkZGluZzogMCAkY29udGFpbmVyLXBhZGRpbmc7XHJcblx0Jl9faXRlbSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQmLS1kZXNjcmlwdGlvbiB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0fVxyXG5cdFx0Ji0taW1hZ2Uge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cdFx0fVxyXG5cdFx0Ji0tYnJlYWsge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmX19pbWFnZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHQmX19kZXNjcmlwdGlvbiB7XHJcblx0XHRib3JkZXItdG9wOiAycHggc29saWQgJGdyZXktbGlnaHQ7XHJcblx0XHRwYWRkaW5nOiAzMHB4IDA7XHJcblx0fVxyXG5cdCZfX3RpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMjZweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDRweDtcclxuXHR9XHJcblx0Jl9fY29tcGFueSB7XHJcblx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG5cdFx0Y29sb3I6ICRncmV5LWRhcms7XHJcblx0fVxyXG5cdCZfX3BhcmFncmFwaCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cdH1cclxuXHQmX19ub3RlIHtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdGNvbG9yOiAkZ3JleS1kYXJrO1xyXG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XHJcblxyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtIC0gMXB4KSB7XHJcblx0XHQub3dsLWNhcm91c2VsIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdHBhZGRpbmc6IDAgMCAwICRjb250YWluZXItcGFkZGluZztcclxuXHRcdCZfX2l0ZW0ge1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0aGVpZ2h0OiAzODBweDtcclxuXHRcdFx0Ji0tZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRcdHdpZHRoOiA2NTBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLS1pbWFnZSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji0tYnJlYWsge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMDBweDtcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHJpZ2h0OiAtNDBweDtcclxuXHRcdFx0XHRcdHRvcDogNCU7XHJcblx0XHRcdFx0XHRib3R0b206IDQlO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDRweDtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRwdXJwbGU7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Jl9faW1hZ2Uge1xyXG5cdFx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR9XHJcblx0XHQmX19kZXNjcmlwdGlvbiB7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0cGFkZGluZzogMzRweCAyNnB4IDM0cHggNDBweDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGdyZXktbGlnaHQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcclxuXHRcdCZfX2l0ZW0ge1xyXG5cdFx0XHRoZWlnaHQ6IDQ1MHB4O1xyXG5cdFx0fVxyXG5cdFx0Jl9fZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRwYWRkaW5nOiA2MHB4IDMwcHggNjBweCA1MHB4O1xyXG5cdFx0fVxyXG5cdFx0Jl9fdGl0bGUge1xyXG5cdFx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcclxuXHRcdHBhZGRpbmctbGVmdDogY2FsYygoKDEwMCUgLSAje2NvbnRhaW5lcigpfSkgLyAyKSArICN7JGNvbnRhaW5lci1wYWRkaW5nfSkgOyAvL3N0YXJ0IGF0IHNhbWUgcG9zaXRpb24gYXMgY29udGFpbmVyXHJcblx0XHQmX19kZXNjcmlwdGlvbiB7XHJcblx0XHRcdHBhZGRpbmc6IDYwcHggMzBweCA2MHB4IDQwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8vTkFWIFBST0pFQ1RTXHJcbi5jLWNhcm91c2VsLXByb2plY3RzLW5hdiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRAaW5jbHVkZSByZW1vdmUtbGlzdHN0eWxlO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDp3cmFwO1xyXG5cdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRtYXJnaW46IDI2cHggLTEycHggMDtcclxuXHRcdCZfX2l0ZW0ge1xyXG5cdFx0XHRmbGV4OiAwIDAgYXV0bztcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRwYWRkaW5nOiA0cHggMTJweDtcclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRcdGxlZnQ6IDEwMCU7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcclxuXHRcdFx0XHR3aWR0aDogNnB4O1xyXG5cdFx0XHRcdGhlaWdodDogNnB4O1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHVycGxlO1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdH1cclxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmX19saW5rIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0XHRjb2xvcjogJHB1cnBsZTtcclxuXHRcdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8vQ0FST1VTRUwgUEhPVE9TXHJcbi5jLWNhcm91c2VsLXBob3RvcyB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luLXRvcDogNjBweDs7XHJcblx0cGFkZGluZzogMCAkY29udGFpbmVyLXBhZGRpbmc7XHJcblx0Jl9faXRlbSB7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG5cdCZfX2ltYWdlIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdG1heC1oZWlnaHQ6IDQ1MHB4O1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdCZfX2l0ZW0ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdGhlaWdodDogMzgwcHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdG1heC1oZWlnaHQ6IG5vbmU7XHJcblx0XHRcdG1hcmdpbjogMCAxMHB4IDAgMDtcclxuXHRcdH1cclxuXHRcdCZfX2ltYWdlIHtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0XHRtYXgtaGVpZ2h0OiBub25lO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XHJcblx0XHQmX19pdGVtIHtcclxuXHRcdFx0aGVpZ2h0OiA0ODBweDtcclxuXHRcdH1cclxuXHR9XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiBjYWxjKCgoMTAwJSAtICN7Y29udGFpbmVyKCl9KSAvIDIpICsgI3skY29udGFpbmVyLXBhZGRpbmd9KSA7IC8vc3RhcnQgYXQgc2FtZSBwb3NpdGlvbiBhcyBjb250YWluZXJcclxuXHR9XHJcbn1cclxuIiwiLmMtaW50cm8ge1xyXG5cdHBhZGRpbmc6IDQwcHggMCAyMHB4O1xyXG5cdCZfX3RpdGxlIHtcclxuXHRcdEBpbmNsdWRlIGgxO1xyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblxyXG5cdH1cclxufVxyXG4iLCIkc3VzeTogKFxyXG5cdGNvbnRhaW5lcjogMTIwMHB4LFxyXG4gIFx0Y29sdW1uczogMTIsXHJcbiAgXHRndXR0ZXJzOiAxLzgsXHJcbiAgXHRndXR0ZXItcG9zaXRpb246IGluc2lkZSxcclxuKTtcclxuXHJcbi5jLXNsaWRlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNjBweCAwIDgwcHg7XHJcblx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcclxuXHR9XHJcblxyXG5cdCZfX21heHdpZHRoIHtcclxuXHRcdEBpbmNsdWRlIGNvbnRhaW5lcjtcclxuXHRcdHBhZGRpbmc6IDAgJGNvbnRhaW5lci1wYWRkaW5nO1xyXG5cdH1cclxuXHQmX19pbm5lciB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQmLS1zaW5nbGUge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcblx0Jl9faW1hZ2Uge1xyXG5cdFx0bWFyZ2luOiAwIGF1dG8gMzBweDtcclxuXHRcdG1heC13aWR0aDogMzQwcHg7XHJcblx0XHRpbWcge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG5cdCZfX3RleHQge1xyXG5cdFx0Ji0tbGVmdCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0XHR9XHJcblx0XHQmLS1yaWdodCB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDQwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdCZfX3RpdGxlIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkZm9udC10ZXh0O1xyXG5cdFx0Zm9udC1zaXplOiAzMnB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjRweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0fVxyXG5cdCZfX2ludHJvIHtcclxuXHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdG1hcmdpbjogLTE2cHggMCAyNHB4O1xyXG5cdH1cclxuXHQmX19wYXJhZ3JhcGgge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcclxuXHRcdCYtLWJ1dHRvbiB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDI0cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdCZfX2J0bi1zY3JvbGwge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdFx0cGFkZGluZzogNDBweCAwIDgwcHg7XHJcblx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDQwcHg7XHJcblx0XHR9XHJcblx0XHQmX19idG4tc2Nyb2xsIHtcclxuXHRcdFx0Ym90dG9tOiAxMHB4O1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0cGFkZGluZzogNjBweCAwO1xyXG5cdFx0Jl9faW1hZ2Uge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDQwMHB4O1xyXG5cdFx0fVxyXG5cdFx0Jl9fdGV4dCB7XHJcblx0XHRcdHBhZGRpbmc6IDIwcHggNTBweDtcclxuXHRcdH1cclxuXHRcdCZfX2J0bi1zY3JvbGwge1xyXG5cdFx0XHRib3R0b206IDIwcHg7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XHJcblx0XHQmX19pbm5lciB7XHJcblx0XHRcdCYtLWR1byB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmX19pbWFnZSB7XHJcblx0XHRcdHdpZHRoOiBzcGFuKDUpO1xyXG5cdFx0XHRmbGV4OiAwIDAgYXV0bztcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0XHR9XHJcblx0XHQmX190ZXh0IHtcclxuXHRcdFx0d2lkdGg6IHNwYW4oNik7XHJcblx0XHRcdG1heC13aWR0aDogNTQwcHg7XHJcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xyXG5cdFx0XHRwYWRkaW5nOiAyMHB4IDA7XHJcblx0XHRcdCYtLWxlZnQge1xyXG5cdFx0XHRcdG1hcmdpbjogMCBzcGFuKDEpIDAgMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLS1yaWdodCB7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDAgMCBzcGFuKDEpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmX190aXRsZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzZweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjRweDtcclxuXHRcdH1cclxuXHRcdCZfX2ludHJvIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0fVxyXG5cdFx0Jl9fYnRuLXNjcm9sbCB7XHJcblx0XHRcdGJvdHRvbTogNDBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLy8gU3BhbiBTeW50YXhcbi8vID09PT09PT09PT09XG5cbi8vIFNwYW4gW21peGluXVxuLy8gLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBzcGFubmluZyBlbGVtZW50IHVzaW5nIHNob3J0aGFuZCBzeW50YXguXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbjogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRvdXRwdXQ6IHNwYW4tbWF0aCgkc3Bhbik7XG4gICRuZXN0aW5nOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRjbGVhcjogc3VzeS1nZXQoY2xlYXIsICRzcGFuKTtcblxuICAkYm94OiBzdXN5LWdldChib3gtc2l6aW5nLCAkc3Bhbik7XG4gICRjb250ZW50LWJveDogaWYoc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpICE9ICdib3JkZXItYm94JywgdHJ1ZSwgZmFsc2UpO1xuICAkYm94OiAkYm94IG9yIGlmKGlzLWluc2lkZSgkc3BhbikgYW5kICRjb250ZW50LWJveCwgYm9yZGVyLWJveCwgbnVsbCk7XG5cbiAgQGlmICRjbGVhciA9PSBicmVhayB7XG4gICAgQGluY2x1ZGUgYnJlYWs7XG4gIH0gQGVsc2UgaWYgJGNsZWFyID09IG5vYnJlYWsge1xuICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qoc3BhbiwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRib3gpKTtcbiAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgQGlmIHZhbGlkLWNvbHVtbnMoJG5lc3RpbmcsIHNpbGVudCkge1xuICAgIEBpbmNsdWRlIG5lc3RlZCgkc3BhbikgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBTcGFuIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIHNwYW4uXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQGZ1bmN0aW9uIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgQHJldHVybiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG59XG5cbi8vIFNwYW4gTWF0aFxuLy8gLS0tLS0tLS0tXG4vLyBHZXQgYWxsIHRoZSBzcGFuIHJlc3VsdHMuXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIHNwYW4tbWF0aChcbiAgJHNwYW5cbikge1xuICAkbmVzdCAgICAgICAgICAgICA6IGlmKHN1c3ktZ2V0KHJvbGUsICRzcGFuKSA9PSBuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRzcGxpdC1uZXN0ICAgICAgIDogaWYoaXMtc3BsaXQoJHNwYW4pIGFuZCAkbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZWRnZSAgICAgICAgICAgICA6IGdldC1lZGdlKCRzcGFuKTtcbiAgJGxvY2F0aW9uICAgICAgICAgOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbTtcbiAgJHBhZGRpbmctYmVmb3JlICAgOiBudWxsO1xuICAkcGFkZGluZy1hZnRlciAgICA6IG51bGw7XG4gICRtYXJnaW4tYmVmb3JlICAgIDogbnVsbDtcbiAgJG1hcmdpbi1hZnRlciAgICAgOiBudWxsO1xuXG4gIC8vIGNhbGN1bGF0ZSB3aWR0aHNcbiAgJHNwcmVhZDogaW5kZXgobWFwLXZhbHVlcygkc3BhbiksIHNwcmVhZCk7XG4gICRzcGFuOiBpZigkc3BsaXQtbmVzdCBhbmQgbm90KCRzcHJlYWQpLCBtYXAtbWVyZ2UoJHNwYW4sIChzcHJlYWQ6IHdpZGUpKSwgJHNwYW4pO1xuICAkd2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbiAgJGd1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAvLyBhcHBseSBndXR0ZXJzXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaWYgbm90KHN1c3ktZ2V0KHJvbGUsICRzcGFuKSkge1xuICAgICAgJHBhZGRpbmctYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBub3QoJHNwbGl0LW5lc3QpIHtcbiAgICAgICRtYXJnaW4tYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJG1hcmdpbi1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNwZWNpYWwgbWFyZ2luIGhhbmRsaW5nXG4gIEBpZiBzdXN5LWdldChvdXRwdXQsICRzcGFuKSA9PSBpc29sYXRlIGFuZCAkbG9jYXRpb24ge1xuICAgICRtYXJnaW4tYmVmb3JlOiBnZXQtaXNvbGF0aW9uKCRzcGFuKTtcbiAgICAkbWFyZ2luLWFmdGVyOiAtMTAwJTtcbiAgfSBAZWxzZSBpZiAkZWRnZSB7XG4gICAgJGlzLXNwbGl0OiBpcy1zcGxpdCgkc3Bhbik7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG5cbiAgICBAaWYgJGVkZ2UgPT0gbGFzdCB7XG4gICAgICAkZmxvYXQ6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJHNwYW4pO1xuICAgIH1cblxuICAgIEBpZiBub3QoJGlzLXNwbGl0KSB7XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gZmlyc3QgYW5kICRwb3MgPT0gYmVmb3JlKSB7XG4gICAgICAgICRtYXJnaW4tYmVmb3JlOiAwO1xuICAgICAgfVxuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGxhc3QgYW5kICRwb3MgPT0gYWZ0ZXIpIHtcbiAgICAgICAgJG1hcmdpbi1hZnRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIEByZXR1cm4gKFxuICAgIHdpZHRoICAgICAgICAgICA6ICR3aWR0aCxcbiAgICBmbG9hdCAgICAgICAgICAgOiAkZmxvYXQsXG4gICAgbWFyZ2luLWJlZm9yZSAgIDogJG1hcmdpbi1iZWZvcmUsXG4gICAgbWFyZ2luLWFmdGVyICAgIDogJG1hcmdpbi1hZnRlcixcbiAgICBwYWRkaW5nLWJlZm9yZSAgOiAkcGFkZGluZy1iZWZvcmUsXG4gICAgcGFkZGluZy1hZnRlciAgIDogJHBhZGRpbmctYWZ0ZXIsXG4gICAgZmxvdyAgICAgICAgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xufVxuXG4vLyBHZXQgU3BhbiBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBzcGFuIHdpZHRoLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBnZXQtc3Bhbi13aWR0aChcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcblxuICAkbiAgICAgICAgOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRsb2NhdGlvbiA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG4gICRjb2x1bW5zICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKTtcbiAgJGd1dHRlcnMgIDogc3VzeS1nZXQoZ3V0dGVycywgJHNwYW4pO1xuICAkc3ByZWFkICAgOiBzdXN5LWdldChzcHJlYWQsICRzcGFuKTtcblxuICAkY29udGV4dCAgOiBudWxsO1xuICAkc3Bhbi1zdW0gOiBudWxsO1xuICAkd2lkdGggICAgOiBudWxsO1xuXG4gIEBpZiAkbiA9PSAnZnVsbCcge1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuICAgICRyb2xlOiBzdXN5LWdldChyb2xlLCAkc3Bhbik7XG4gICAgJG46IGlmKCRwb3MgPT0gc3BsaXQgYW5kICRyb2xlICE9IG5lc3QsIHN1c3ktY291bnQoJGNvbHVtbnMpLCAxMDAlKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRuKSAhPSBudW1iZXIge1xuICAgIEB3YXJuIFwiKCN7dHlwZS1vZigkbil9KSAjeyRufSBpcyBub3QgYSB2YWxpZCBzcGFuLlwiO1xuICB9IEBlbHNlIGlmIHVuaXRsZXNzKCRuKSB7XG4gICAgJGNvbnRleHQ6IHN1c3ktc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgaWYoaXMtc3BsaXQoJHNwYW4pLCB3aWRlLCBuYXJyb3cpKTtcbiAgICAkc3ByZWFkOiBpZihpcy1pbnNpZGUoJHNwYW4pLCAkc3ByZWFkIG9yIHdpZGUsICRzcHJlYWQpO1xuICAgICRzcGFuLXN1bTogc3VzeSgkbiwgJGxvY2F0aW9uLCAkY29sdW1ucywgJGd1dHRlcnMsICRzcHJlYWQpO1xuXG4gICAgJF9tYXRoOiBzdXN5LWdldChtYXRoLCAkc3Bhbik7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJHNwYW4pO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICR3aWR0aDogJHNwYW4tc3VtICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJHNwYW4tc3VtIC8gJGNvbnRleHQpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJHdpZHRoOiAkbjtcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuIiwiLmMtc2Nyb2xsYXJyb3cge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRib3R0b206IDA7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRwYWRkaW5nOiA2cHg7XHJcblx0YmFja2dyb3VuZDogcmdiYSgkZ3JleS1saWdodCwgMC42KTtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoJGdyZXktbGlnaHQsIDAuOCk7XHJcblx0XHQuYy1zY3JvbGxhcnJvd19faWNvbiB7XHJcblx0XHRcdGNvbG9yOiAkZ3JleS1kYXJrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmX19pY29uIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0Y29sb3I6ICRncmV5LW1lZGl1bTtcclxuXHR9XHJcbn1cclxuIiwiLmMtZ3JpZC1waG90b3Mge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICZfX2l0ZW0ge1xyXG4gICAgfVxyXG4gICAgJl9faW5uZXJncmlkIHtcclxuICAgICAgICAuYy1ncmlkLXBob3Rvc19faW1hZ2Uge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTI1JTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY292ZXI7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAxLjBzIGVhc2U7XHJcbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2ltYWdlLWNvbnRhaW5lci0taG9yaXpvbnRhbCAmIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDU2JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmMtZ3JpZC1waG90b3NfX2ltYWdlLWNvbnRhaW5lci0tdmVydGljYWwgJiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYy1ncmlkLXBob3Rvc19faW1hZ2UtY29udGFpbmVyLS1zcXVhcmUgJiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW46IC00cHggLTRweCAzNnB4O1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgICAgIC8vY3JlYXRlIHN1c3kgZ3JpZCBtb2RpZmllcnNcclxuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMiB7XHJcbiAgICAgICAgICAgICAgICAmLS13aWR0aC0jeyRpfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNwYW4oJGkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2lubmVyZ3JpZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgOHB4KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAtNHB4O1xyXG5cclxuICAgICAgICAgICAgLmMtZ3JpZC1waG90b3NfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmMtZ3JpZC1waG90b3NfX2ltYWdlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvL2xldCBmbGV4IGhhbmRsZSBoZWlnaHRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICYtLWhvcml6b250YWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDU2JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLS12ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTI1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLS1zcXVhcmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW1hZ2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC5jLWdyaWQtcGhvdG9zX19pbWFnZS1jb250YWluZXItLWhvcml6b250YWwgJiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYy1ncmlkLXBob3Rvc19faW1hZ2UtY29udGFpbmVyLS12ZXJ0aWNhbCAmIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jLWdyaWQtcGhvdG9zX19pbWFnZS1jb250YWluZXItLXNxdWFyZSAmIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtaGlkZGVuIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmMtZ3JpZC1waG90b3NfX2ltYWdlLWNvbnRhaW5lcjpob3ZlciAmIHtcclxuICAgICAgICAgICAgICAgICYtLW92ZXJsYXkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuaXMtaGlkZGVuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19 */
