@charset "UTF-8";
/**
 * Swiper 9.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 31, 2023
 */
@font-face {
  font-family: 'swiper-icons';
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal;
}

:root {
  --swiper-theme-color: #007aff;
  /*
    --swiper-preloader-color: var(--swiper-theme-color);
    --swiper-wrapper-transition-timing-function: initial;
    */
}

.swiper,
swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide,
swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.hystmodal__opened {
  position: fixed;
  right: 0;
  left: 0;
  overflow: hidden;
}

.hystmodal__shadow {
  position: fixed;
  border: none;
  display: block;
  width: 100%;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 800;
  opacity: 0;
  transition: opacity 0.15s ease;
  background-color: #fff;
}

.hystmodal__shadow--show {
  pointer-events: auto;
  opacity: 0.8;
}

.hystmodal {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  opacity: 1;
  pointer-events: none;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  z-index: 850;
  visibility: hidden;
}

.hystmodal--active {
  opacity: 1;
}

.hystmodal--moved,
.hystmodal--active {
  pointer-events: auto;
  visibility: visible;
}

.hystmodal__wrap {
  flex-shrink: 0;
  flex-grow: 0;
  width: 100%;
  min-height: 100%;
  margin: auto;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
}

.hystmodal__window {
  margin: 50px 0;
  box-sizing: border-box;
  flex-shrink: 0;
  flex-grow: 0;
  background: #fff;
  width: 600px;
  max-width: 100%;
  overflow: visible;
  transition: transform 0.2s ease 0s, opacity 0.2s ease 0s;
  transform: scale(0.9);
  opacity: 0;
}

.hystmodal--active .hystmodal__window {
  transform: scale(1);
  opacity: 1;
}

.hystmodal__close {
  position: absolute;
  z-index: 10;
  top: 0;
  right: -40px;
  display: block;
  width: 30px;
  height: 30px;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2L2 22'/%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M2 2l20 20'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  border: none;
  font-size: 0;
  cursor: pointer;
  outline: none;
}

.hystmodal__close:focus {
  outline: 2px dotted #afb3b9;
  outline-offset: 2px;
}

@media all and (max-width: 767px) {
  .hystmodal__close {
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23111' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2L2 22'/%3E%3Cpath fill='none' stroke='%23111' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M2 2l20 20'/%3E%3C/svg%3E");
  }
  .hystmodal__window {
    margin: 0;
  }
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Thin"), local("Roboto-Thin"), url("../fonts/roboto/Robotothin.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Thin Italic"), local("Roboto-ThinItalic"), url("../fonts/roboto/Robotothinitalic.woff2") format("woff2");
  font-weight: 100;
  font-style: italic;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto/Robotolight.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Light Italic"), local("Roboto-LightItalic"), url("../fonts/roboto/Robotolightitalic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto/Roboto.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Italic"), local("Roboto-Italic"), url("../fonts/roboto/Robotoitalic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto/Robotomedium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Medium Italic"), local("Roboto-MediumItalic"), url("../fonts/roboto/Robotomediumitalic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto/Robotobold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Bold Italic"), local("Roboto-BoldItalic"), url("../fonts/roboto/Robotobolditalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Black"), local("Roboto-Black"), url("../fonts/roboto/Robotoblack.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
}

@font-face {
  font-family: 'Roboto';
  src: local("Roboto Black Italic"), local("Roboto-BlackItalic"), url("../fonts/roboto/Robotoblackitalic.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  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
   ========================================================================== */
/**
 * 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
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

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

/**
 * 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 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 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;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

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

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
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 in Chrome and Safari on macOS.
 */
[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 Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

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

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

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

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  height: 100%;
  font-size: 16px;
  line-height: 1.5;
}

body {
  min-height: 100%;
  color: #01243E;
  background-color: #fff;
  font-family: Roboto, Arial, sans-serif;
  font-size: 1rem;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin: 0;
  padding: 0;
  font-weight: 700;
  line-height: 1.2;
  font-family: Roboto, Arial, sans-serif;
}

h1, .h1 {
  font-size: 2rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
}

@media (min-width: 1320px) {
  h1, .h1 {
    font-size: 3rem;
  }
}

@media (min-width: 1560px) {
  h1, .h1 {
    font-size: 4rem;
  }
}

h2, .h2 {
  font-size: 1.75rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
  h2, .h2 {
    font-size: 2.25rem;
  }
}

@media (min-width: 1320px) {
  h2, .h2 {
    font-size: 2.5rem;
  }
}

@media (min-width: 1560px) {
  h2, .h2 {
    font-size: 3rem;
  }
}

h3, .h3 {
  font-size: 1.125rem;
  margin-bottom: 0.9375rem;
}

@media (min-width: 1320px) {
  h3, .h3 {
    font-size: 1.25rem;
  }
}

h4, .h4 {
  font-size: 1rem;
  margin-bottom: 1.875rem;
}

@media (min-width: 1320px) {
  h4, .h4 {
    font-size: 1.125rem;
  }
}

h5, .h5 {
  font-size: 1rem;
  margin-bottom: 1.25rem;
}

h6, .h6 {
  font-size: 0.875rem;
  margin-bottom: 1.25rem;
}

a {
  color: #000;
  text-decoration: underline;
}

a:hover {
  color: #000;
  text-decoration: none;
}

p {
  margin-top: 0;
  margin-bottom: rem(20);
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive .embed_responsive_item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive_21by9::before {
  padding-top: 42.85714%;
}

.embed-responsive_16by9::before {
  padding-top: 56.25%;
}

.embed-responsive_4by3::before {
  padding-top: 75%;
}

.embed-responsive_1by1::before {
  padding-top: 100%;
}

.img-fluid {
  height: auto;
  display: block;
  max-width: 100%;
}

.img-cover {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.img-position-bottom {
  object-position: center bottom;
}

.img-contain {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center center;
}

.ico-svg {
  position: relative;
  display: inline-block;
  width: auto;
  height: 100%;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.hide {
  opacity: 0 !important;
  display: none !important;
  visibility: hidden !important;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-justify {
  text-align: justify !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.mb-10 {
  margin-bottom: 0.625rem !important;
}

.mb-20 {
  margin-bottom: 1.25rem !important;
}

.mb-30 {
  margin-bottom: 1.875rem !important;
}

.mb-40 {
  margin-bottom: 2.5rem !important;
}

.mb-50 {
  margin-bottom: 3.125rem !important;
}

.mb-60 {
  margin-bottom: 3.75rem !important;
}

.mb-1 {
  margin-bottom: 1rem !important;
}

.mb-15 {
  margin-bottom: 1.5rem !important;
}

.mb-2 {
  margin-bottom: 2rem !important;
}

.mb-25 {
  margin-bottom: 2.5rem !important;
}

.mb-3 {
  margin-bottom: 3rem !important;
}

.mb-35 {
  margin-bottom: 3.5rem !important;
}

.mb-4 {
  margin-bottom: 4rem !important;
}

.d-flex {
  display: flex;
}

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

.align-start {
  align-items: flex-start;
}

.align-end {
  align-items: flex-end;
}

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

.justify-content-start {
  justify-content: flex-start;
}

.justify-content-end {
  justify-content: flex-end;
}

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

.w-100 {
  width: 100%;
}

.color-yellow {
  color: #FFEE94 !important;
}

[data-fullscreen] {
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
}

.container,
.container-fluid {
  width: 100%;
  margin: 0 auto;
  padding: 0 1.25rem;
}

@media (min-width: 992px) {
  .container,
  .container-fluid {
    max-width: 64rem;
  }
}

@media (min-width: 1320px) {
  .container,
  .container-fluid {
    padding: 0 0.75rem;
    max-width: 82.75rem;
  }
}

@media (min-width: 1560px) {
  .container,
  .container-fluid {
    max-width: 97.75rem;
  }
}

.btn {
  outline: none;
  cursor: pointer;
  height: 4.0625rem;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 0.6875rem 2rem;
  user-select: none;
  text-align: center;
  white-space: nowrap;
  position: relative;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  border: 2px solid transparent;
  border-radius: 2.5rem;
  transition: .3s;
}

.btn:hover {
  text-decoration: none;
  transition: .3s;
}

.btn:focus, .btn.focus {
  outline: none;
}

.btn span {
  display: inline-block;
}

.btn i {
  font-size: 0;
  line-height: 0;
  display: inline-block;
  height: 0.875rem;
}

.btn span + i {
  margin-left: 0.625rem;
}

.btn i + span {
  margin-left: 0.625rem;
}

@media (min-width: 1320px) {
  .btn {
    font-size: 1.25rem;
    height: 4.5625rem;
  }
}

.btn-yellow {
  fill: #01243E;
  color: #01243E;
  background: #FFEE94;
  border-color: #FFEE94;
}

.btn-yellow:hover {
  fill: #01243E;
  color: #01243E;
  background: #ffe661;
  border-color: #ffe661;
}

.btn-yellow:active {
  background: #FFEE94;
  border-color: #FFEE94;
}

.btn-red {
  color: #fff;
  background: #E40404;
  border-color: #E40404;
}

.btn-red:hover {
  color: #fff;
  background: #FF9090;
  border-color: #FF9090;
}

.btn-red:active {
  background: #E40404;
  border-color: #E40404;
}

.btn-border {
  color: #071C3D;
  background: #fff;
  border-color: #325998;
}

.btn-border:hover {
  color: #fff;
  background: #325998;
  border-color: #325998;
}

.btn-border:active {
  color: #071C3D;
  background: #fff;
  border-color: #E40404;
}

input:not([type=checkbox]):not([type=radio]),
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input, textarea {
  outline: none;
}

input:focus:required:invalid, textarea:focus:required:invalid {
  border-color: red;
}

input:required:valid, textarea:required:valid {
  border-color: green;
}

:active, :hover, :focus {
  outline: 0 !important;
  outline-offset: 0 !important;
}

option::selection {
  background: #ccc;
}

option::-moz-selection {
  background: #ccc;
}

option::-webkit-selection {
  background: #ccc;
  color: #fff;
}

.field {
  width: 100%;
  display: block;
  font-weight: 400;
  position: relative;
  background: transparent;
}

.field input[type=text], .field input[type=email], .field input[type=password], .field textarea {
  margin: 0;
  width: 100%;
  height: 4.0625rem;
  outline: none;
  color: #01243E;
  box-shadow: none;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4375rem;
  padding: 1.25rem 1.875rem;
  background: #fff;
  display: inline-block;
  vertical-align: middle;
  border: 0.0625rem solid #fff;
  border-radius: 40px;
}

.field input[type=text]::-moz-placeholder, .field input[type=email]::-moz-placeholder, .field input[type=password]::-moz-placeholder, .field textarea::-moz-placeholder {
  color: rgba(7, 28, 61, 0.2);
  opacity: 1;
}

.field input[type=text]:-ms-input-placeholder, .field input[type=email]:-ms-input-placeholder, .field input[type=password]:-ms-input-placeholder, .field textarea:-ms-input-placeholder {
  color: rgba(7, 28, 61, 0.2);
}

.field input[type=text]::-webkit-input-placeholder, .field input[type=email]::-webkit-input-placeholder, .field input[type=password]::-webkit-input-placeholder, .field textarea::-webkit-input-placeholder {
  color: rgba(7, 28, 61, 0.2);
}

.field input[type=text]::placeholder, .field input[type=email]::placeholder, .field input[type=password]::placeholder, .field textarea::placeholder {
  color: rgba(7, 28, 61, 0.2);
}

.field input[type=text]::-ms-clear, .field input[type=email]::-ms-clear, .field input[type=password]::-ms-clear, .field textarea::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

.field input[type=text]:focus, .field input[type=text]:active, .field input[type=email]:focus, .field input[type=email]:active, .field input[type=password]:focus, .field input[type=password]:active, .field textarea:focus, .field textarea:active {
  outline: none;
}

.field input[type=text]:focus::-moz-placeholder, .field input[type=text]:active::-moz-placeholder, .field input[type=email]:focus::-moz-placeholder, .field input[type=email]:active::-moz-placeholder, .field input[type=password]:focus::-moz-placeholder, .field input[type=password]:active::-moz-placeholder, .field textarea:focus::-moz-placeholder, .field textarea:active::-moz-placeholder {
  color: transparent;
  opacity: 1;
}

.field input[type=text]:focus:-ms-input-placeholder, .field input[type=text]:active:-ms-input-placeholder, .field input[type=email]:focus:-ms-input-placeholder, .field input[type=email]:active:-ms-input-placeholder, .field input[type=password]:focus:-ms-input-placeholder, .field input[type=password]:active:-ms-input-placeholder, .field textarea:focus:-ms-input-placeholder, .field textarea:active:-ms-input-placeholder {
  color: transparent;
}

.field input[type=text]:focus::-webkit-input-placeholder, .field input[type=text]:active::-webkit-input-placeholder, .field input[type=email]:focus::-webkit-input-placeholder, .field input[type=email]:active::-webkit-input-placeholder, .field input[type=password]:focus::-webkit-input-placeholder, .field input[type=password]:active::-webkit-input-placeholder, .field textarea:focus::-webkit-input-placeholder, .field textarea:active::-webkit-input-placeholder {
  color: transparent;
}

.field input[type=text]:focus::placeholder, .field input[type=text]:active::placeholder, .field input[type=email]:focus::placeholder, .field input[type=email]:active::placeholder, .field input[type=password]:focus::placeholder, .field input[type=password]:active::placeholder, .field textarea:focus::placeholder, .field textarea:active::placeholder {
  color: transparent;
}

.field input[type=text].error, .field input[type=email].error, .field input[type=password].error, .field textarea.error {
  border-color: red !important;
}

.field textarea {
  height: auto;
  resize: none;
}

.field__icon {
  fill: #5b3d38;
  font-size: 0;
  line-height: 0;
  top: calc(50% - 0.75rem);
  left: 1rem;
  height: 1.5rem;
  position: absolute;
  display: inline-block;
}

.field--icon input[type=text], .field--icon input[type=email], .field--icon input[type=password], .field--icon textarea {
  padding-left: 3rem;
}

@media (min-width: 1320px) {
  .field input[type=text], .field input[type=email], .field input[type=password], .field textarea {
    height: 4.5625rem;
    padding: 1.5rem 3.125rem;
  }
}

.pretty-checkbox {
  position: relative;
}

.pretty-checkbox__input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}

.pretty-checkbox__input:focus + .pretty-checkbox__label:before {
  box-shadow: 0 0 5px #000;
}

.pretty-checkbox__input:checked + .pretty-checkbox__label::before {
  background-color: #000;
  border-color: #000;
}

.pretty-checkbox__input:checked + .pretty-checkbox__label::after {
  opacity: 1;
  border-top-style: none;
  border-right-style: none;
  transform: rotate(-45deg);
  height: 0.4rem;
  width: 0.8rem;
  border-color: #fff;
  border-radius: 0;
  border-width: 2px;
  top: 0.3125rem;
  left: 0.25rem;
}

.pretty-checkbox__input:disabled + .pretty-checkbox__label {
  opacity: 0.4;
}

.pretty-checkbox__label {
  color: #3a3a3a;
  font-size: 0.875rem;
  line-height: 1.25rem;
  position: relative;
  padding-left: 1.875rem;
  display: inline-block;
}

.pretty-checkbox__label::before {
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
  width: 1.25rem;
  height: 1.25rem;
  display: block;
  position: absolute;
  border: 1px solid #000;
  border-radius: 0.1875rem;
}

.pretty-checkbox__label:after {
  z-index: 5;
  content: '';
  opacity: 0;
  height: 1.25rem;
  width: 1.25rem;
  border: 1px solid #DFE3E7;
  position: absolute;
  border-radius: 0.25rem;
  top: 0;
  left: 0;
  -webkit-transition: 100ms ease-in-out;
  transition: 100ms ease-in-out;
}

.pretty-radio {
  font-size: 0;
  line-height: 0;
  font-weight: 400;
  position: relative;
  display: inline-block;
}

.pretty-radio__input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pretty-radio__label {
  color: #3a3a3a;
  font-size: 0.875rem;
  line-height: 1.25rem;
  position: relative;
  padding-left: 1.875rem;
  display: block;
}

.pretty-radio__label::before {
  top: 0;
  left: 0;
  z-index: 1;
  content: '';
  width: 1.25rem;
  height: 1.25rem;
  display: block;
  position: absolute;
  border-radius: 50%;
  border: 1px solid #000;
}

.pretty-radio__label:after {
  top: 0.3125rem;
  left: 0.3125rem;
  z-index: 2;
  content: '';
  width: 0.625rem;
  height: 0.625rem;
  display: block;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  background: #000;
  border-radius: 50%;
}

.pretty-radio__input:checked + .pretty-radio__label::before {
  border-color: #000;
}

.pretty-radio__input:checked + .pretty-radio__label::after {
  opacity: 1;
  visibility: visible;
  transition: all 0.3s cubic-bezier(0.35, 0.9, 0.4, 0.9);
}

.pretty-radio__input:disabled + .pretty-radio__label {
  opacity: 0.4;
}

/*===============================
=            Choices            =
===============================*/
.choices {
  position: relative;
  margin-bottom: 1.5rem;
  font-size: 1rem;
}

.choices:focus {
  z-index: 20;
  outline: none;
}

.choices:last-child {
  margin-bottom: 0;
}

.choices.is-disabled .choices__inner,
.choices.is-disabled .choices__input {
  background-color: #eaeaea;
  cursor: not-allowed;
  user-select: none;
}

.choices.is-disabled .choices__item {
  cursor: not-allowed;
}

.choices.is-focused {
  z-index: 20;
}

.choices [hidden] {
  display: none !important;
}

.choices[data-type*='select-one'] {
  cursor: pointer;
}

.choices[data-type*='select-one'] .choices__inner {
  padding-bottom: 0.5rem;
}

.choices[data-type*='select-one'] .choices__input {
  display: block;
  width: 100%;
  padding: 0.625rem;
  border-bottom: 1px solid #5b3d38;
  background-color: #ffffff;
  margin: 0;
}

.choices[data-type*='select-one'] .choices__button {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);
  padding: 0;
  background-size: 8px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -0.625rem;
  margin-right: 1.5625rem;
  height: 1.25rem;
  width: 1.25rem;
  border-radius: 0.625rem;
  opacity: 0.5;
}

.choices[data-type*='select-one'] .choices__button:hover, .choices[data-type*='select-one'] .choices__button:focus {
  opacity: 1;
}

.choices[data-type*='select-one'] .choices__button:focus {
  box-shadow: 0 0 0 2px #00bcd4;
}

.choices[data-type*='select-one'] .choices__item[data-value=''] .choices__button {
  display: none;
}

.choices[data-type*='select-one']:after {
  content: '';
  height: 0;
  width: 0;
  border-style: solid;
  border-color: #333333 transparent transparent transparent;
  border-width: 0.3125rem;
  position: absolute;
  right: 0.71875rem;
  top: 50%;
  margin-top: -0.1875rem;
  pointer-events: none;
}

.choices[data-type*='select-one'].is-open:after {
  border-color: transparent transparent #333333 transparent;
  margin-top: -0.5rem;
}

.choices[data-type*='select-one'][dir='rtl']:after {
  left: 0.75rem;
  right: auto;
}

.choices[data-type*='select-one'][dir='rtl'] .choices__button {
  right: auto;
  left: 0;
  margin-left: 1.5625rem;
  margin-right: 0;
}

.choices[data-type*='select-multiple'] .choices__inner,
.choices[data-type*='text'] .choices__inner {
  cursor: text;
}

.choices[data-type*='select-multiple'] .choices__button,
.choices[data-type*='text'] .choices__button {
  position: relative;
  display: inline-block;
  margin-top: 0;
  margin-right: -0.25rem;
  margin-bottom: 0;
  margin-left: 0.5rem;
  padding-left: 1rem;
  border-left: 1px solid #008fa1;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);
  background-size: 0.5rem;
  width: 0.5rem;
  line-height: 1;
  opacity: 0.75;
  border-radius: 0;
}

.choices[data-type*='select-multiple'] .choices__button:hover, .choices[data-type*='select-multiple'] .choices__button:focus,
.choices[data-type*='text'] .choices__button:hover,
.choices[data-type*='text'] .choices__button:focus {
  opacity: 1;
}

.choices__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  vertical-align: top;
  width: 100%;
  background-color: #ffffff;
  padding: 0.6875rem 0.75rem 0.6875rem 1.25rem;
  border: 0.0625rem solid #5b3d38;
  border-radius: 0.25rem;
  font-size: 1rem;
  line-height: 1.5rem;
  min-height: 3rem;
  overflow: hidden;
}

.is-focused .choices__inner,
.is-open .choices__inner {
  border-color: #2c1d1b;
}

.is-open .choices__inner {
  border-radius: 3px 3px 0 0;
}

.is-flipped.is-open .choices__inner {
  border-radius: 0 0 3px 3px;
}

.choices__list {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.choices__list--single {
  display: inline-block;
  width: 100%;
}

[dir='rtl'] .choices__list--single {
  padding-right: 0.25rem;
  padding-left: 1rem;
}

.choices__list--single .choices__item {
  width: 100%;
}

.choices__list--multiple {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.choices__list--multiple .choices__item {
  display: inline-block;
  vertical-align: middle;
  border-radius: 0.25rem;
  padding: 0.25rem 0.375rem;
  font-size: 0.75rem;
  line-height: 0.875rem;
  font-weight: 500;
  margin: 0.125rem 0.25rem 0.125rem 0;
  background-color: #00bcd4;
  border: 0.0625rem solid #00a5bb;
  color: #ffffff;
  word-break: break-all;
  box-sizing: border-box;
}

.choices__list--multiple .choices__item[data-deletable] {
  padding-right: 5px;
}

[dir='rtl'] .choices__list--multiple .choices__item {
  margin-right: 0;
  margin-left: 0.25rem;
}

.choices__list--multiple .choices__item.is-highlighted {
  background-color: #00a5bb;
  border: 1px solid #008fa1;
}

.is-disabled .choices__list--multiple .choices__item {
  background-color: #aaaaaa;
  border: 1px solid #919191;
}

.choices__list--dropdown {
  visibility: hidden;
  z-index: 1;
  position: absolute;
  width: 100%;
  background-color: #ffffff;
  border: 1px solid #5b3d38;
  top: 100%;
  margin-top: -0.0625rem;
  border-bottom-left-radius: 0.3125rem;
  border-bottom-right-radius: 0.3125rem;
  overflow: hidden;
  word-break: break-all;
  will-change: visibility;
}

.choices__list--dropdown.is-active {
  visibility: visible;
}

.is-open .choices__list--dropdown {
  border-color: #2c1d1b;
}

.is-flipped .choices__list--dropdown {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: -0.0625rem;
  border-radius: 0.25rem 0.25rem 0 0;
}

.choices__list--dropdown .choices__list {
  position: relative;
  max-height: 18.75rem;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position;
}

.choices__list--dropdown .choices__item {
  position: relative;
  padding: 0.625rem;
  font-size: 0.875rem;
}

[dir='rtl'] .choices__list--dropdown .choices__item {
  text-align: right;
}

@media (min-width: 640px) {
  .choices__list--dropdown .choices__item--selectable {
    padding-right: 6.25rem;
  }
  .choices__list--dropdown .choices__item--selectable:after {
    font-size: 0.75rem;
    opacity: 0;
    position: absolute;
    right: 0.625rem;
    top: 50%;
    transform: translateY(-50%);
  }
  [dir='rtl'] .choices__list--dropdown .choices__item--selectable {
    text-align: right;
    padding-left: 6.25rem;
    padding-right: 0.625rem;
  }
  [dir='rtl'] .choices__list--dropdown .choices__item--selectable:after {
    right: auto;
    left: 0.625rem;
  }
}

.choices__list--dropdown .choices__item--selectable.is-highlighted {
  background-color: #f2f2f2;
}

.choices__list--dropdown .choices__item--selectable.is-highlighted:after {
  opacity: 0.5;
}

.choices__item {
  cursor: default;
}

.choices__item--selectable {
  cursor: pointer;
}

.choices__item--disabled {
  cursor: not-allowed;
  user-select: none;
  opacity: 0.5;
}

.choices__heading {
  font-weight: 600;
  font-size: 0.75rem;
  padding: 0.625rem;
  border-bottom: 0.0625rem solid #7b524b;
  color: gray;
}

.choices__button {
  text-indent: -9999px;
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}

.choices__button:focus {
  outline: none;
}

.choices__input {
  display: inline-block;
  vertical-align: baseline;
  background-color: #ffffff;
  font-size: 0.875rem;
  border: 0;
  margin: 0;
  padding: 0;
  border-radius: 0;
  max-width: 100%;
}

.choices__input:focus {
  outline: 0;
}

[dir='rtl'] .choices__input {
  padding-right: 0.125rem;
  padding-left: 0;
}

.choices__placeholder {
  opacity: 0.5;
}

/*=====  End of Choices  ======*/
/* Functional styling;
 * These styles are required for noUiSlider to function.
 * You don't need to change these rules to apply your design.
 */
.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  -ms-touch-action: none;
  touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.noUi-target {
  position: relative;
}

.noUi-base,
.noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}

/* Wrapper for all connect elements.
 */
.noUi-connects {
  overflow: hidden;
  z-index: 0;
}

.noUi-connect,
.noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  -webkit-transform-style: preserve-3d;
  transform-origin: 0 0;
  transform-style: flat;
}

/* Offset direction
 */
.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
  left: 0;
  right: auto;
}

/* Give origins 0 height/width so they don't interfere with clicking the
 * connect elements.
 */
.noUi-vertical .noUi-origin {
  top: -100%;
  width: 0;
}

.noUi-horizontal .noUi-origin {
  height: 0;
}

.noUi-handle {
  backface-visibility: hidden;
  position: absolute;
}

.noUi-touch-area {
  height: 100%;
  width: 100%;
}

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
  transition: transform 0.3s;
}

.noUi-state-drag * {
  cursor: inherit !important;
}

/* Slider size and handle placement;
 */
.noUi-horizontal {
  height: 18px;
}

.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  right: -17px;
  top: -6px;
}

.noUi-vertical {
  width: 18px;
}

.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  right: -6px;
  bottom: -17px;
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
  left: -17px;
  right: auto;
}

/* Styling;
 * Giving the connect element a border radius causes issues with using transform: scale
 */
.noUi-target {
  background: #fafafa;
  border-radius: 4px;
  border: 1px solid #d3d3d3;
  box-shadow: inset 0 1px 1px #f0f0f0, 0 3px 6px -5px #bbb;
}

.noUi-connects {
  border-radius: 3px;
}

.noUi-connect {
  background: #3fb8af;
}

/* Handles and cursors;
 */
.noUi-draggable {
  cursor: ew-resize;
}

.noUi-vertical .noUi-draggable {
  cursor: ns-resize;
}

.noUi-handle {
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  background: #fff;
  cursor: default;
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #ebebeb, 0 3px 6px -3px #bbb;
}

.noUi-active {
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #ddd, 0 3px 6px -3px #bbb;
}

/* Handle stripes;
 */
.noUi-handle:before,
.noUi-handle:after {
  content: "";
  display: block;
  position: absolute;
  height: 14px;
  width: 1px;
  background: #e8e7e6;
  left: 14px;
  top: 6px;
}

.noUi-handle:after {
  left: 17px;
}

.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px;
}

.noUi-vertical .noUi-handle:after {
  top: 17px;
}

/* Disabled state;
 */
[disabled] .noUi-connect {
  background: #b8b8b8;
}

[disabled].noUi-target,
[disabled].noUi-handle,
[disabled] .noUi-handle {
  cursor: not-allowed;
}

/* Base;
 *
 */
.noUi-pips,
.noUi-pips * {
  box-sizing: border-box;
}

.noUi-pips {
  position: absolute;
  color: #999;
}

/* Values;
 *
 */
.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center;
}

.noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}

/* Markings;
 *
 */
.noUi-marker {
  position: absolute;
  background: #ccc;
}

.noUi-marker-sub {
  background: #aaa;
}

.noUi-marker-large {
  background: #aaa;
}

/* Horizontal layout;
 *
 */
.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%;
}

.noUi-value-horizontal {
  transform: translate(-50%, 50%);
}

.noUi-rtl .noUi-value-horizontal {
  transform: translate(50%, 50%);
}

.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px;
}

.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}

.noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}

/* Vertical layout;
 *
 */
.noUi-pips-vertical {
  padding: 0 10px;
  height: 100%;
  top: 0;
  left: 100%;
}

.noUi-value-vertical {
  transform: translate(0, -50%);
  padding-left: 25px;
}

.noUi-rtl .noUi-value-vertical {
  transform: translate(0, 50%);
}

.noUi-marker-vertical.noUi-marker {
  width: 5px;
  height: 2px;
  margin-top: -1px;
}

.noUi-marker-vertical.noUi-marker-sub {
  width: 10px;
}

.noUi-marker-vertical.noUi-marker-large {
  width: 15px;
}

.noUi-tooltip {
  display: block;
  position: absolute;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  background: #fff;
  color: #000;
  padding: 5px;
  text-align: center;
  white-space: nowrap;
}

.noUi-horizontal .noUi-tooltip {
  transform: translate(-50%, 0);
  left: 50%;
  bottom: 120%;
}

.noUi-vertical .noUi-tooltip {
  transform: translate(0, -50%);
  top: 50%;
  right: 120%;
}

.noUi-horizontal .noUi-origin > .noUi-tooltip {
  transform: translate(50%, 0);
  left: auto;
  bottom: 10px;
}

.noUi-vertical .noUi-origin > .noUi-tooltip {
  transform: translate(0, -18px);
  top: auto;
  right: 28px;
}

.quantity {
  display: block;
  position: relative;
  background: #fff;
  height: 3rem;
  padding: 0 2.875rem;
  border: 1px solid #000;
}

.quantity input[type=text], .quantity input[type=number] {
  margin: 0;
  width: 100%;
  z-index: 10;
  height: 2.875rem;
  outline: none;
  color: #000;
  text-align: center;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding: 0.6875rem 0;
  border-radius: 0;
  position: relative;
  background: transparent;
  display: block;
  vertical-align: middle;
  border: 0.0625rem solid transparent;
}

.quantity input[type=text]::-moz-placeholder, .quantity input[type=number]::-moz-placeholder {
  color: transparent;
  opacity: 1;
}

.quantity input[type=text]:-ms-input-placeholder, .quantity input[type=number]:-ms-input-placeholder {
  color: transparent;
}

.quantity input[type=text]::-webkit-input-placeholder, .quantity input[type=number]::-webkit-input-placeholder {
  color: transparent;
}

.quantity input[type=text]::placeholder, .quantity input[type=number]::placeholder {
  color: transparent;
}

.quantity input[type=text]::-ms-clear, .quantity input[type=number]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

.quantity input[type=text]:focus, .quantity input[type=text]:active, .quantity input[type=number]:focus, .quantity input[type=number]:active {
  opacity: 1;
  outline: none;
}

.quantity input[type=text]:focus::-moz-placeholder, .quantity input[type=text]:active::-moz-placeholder, .quantity input[type=number]:focus::-moz-placeholder, .quantity input[type=number]:active::-moz-placeholder {
  color: transparent;
  opacity: 1;
}

.quantity input[type=text]:focus:-ms-input-placeholder, .quantity input[type=text]:active:-ms-input-placeholder, .quantity input[type=number]:focus:-ms-input-placeholder, .quantity input[type=number]:active:-ms-input-placeholder {
  color: transparent;
}

.quantity input[type=text]:focus::-webkit-input-placeholder, .quantity input[type=text]:active::-webkit-input-placeholder, .quantity input[type=number]:focus::-webkit-input-placeholder, .quantity input[type=number]:active::-webkit-input-placeholder {
  color: transparent;
}

.quantity input[type=text]:focus::placeholder, .quantity input[type=text]:active::placeholder, .quantity input[type=number]:focus::placeholder, .quantity input[type=number]:active::placeholder {
  color: transparent;
}

.quantity input[type=text].error, .quantity input[type=number].error {
  border-color: red !important;
}

.quantity input[type="number"]::-webkit-outer-spin-button,
.quantity input[type="number"]::-webkit-inner-spin-button {
  display: none;
}

.quantity__button {
  top: 0;
  font-size: 0;
  line-height: 0;
  border: none;
  outline: none;
  width: 2.875rem;
  height: 2.875rem;
  background: #f5f5f5;
  cursor: pointer;
  position: absolute;
}

.quantity__button:after, .quantity__button:before {
  top: calc(50% - 1px);
  left: calc(50% - 4px);
  z-index: 10;
  content: '';
  width: 8px;
  height: 1px;
  background: #000;
  position: absolute;
}

.quantity__button--minus {
  left: 0;
}

.quantity__button--plus {
  right: 0;
}

.quantity__button--plus:after {
  transform: rotate(90deg);
}

.form-group {
  margin-bottom: 2.25rem;
}

.breadcrumb {
  padding: 0;
  list-style: none;
  margin: 0 0 1.25rem 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.breadcrumb__item {
  display: block;
}

.breadcrumb__item:not(:last-child)::after {
  content: '›';
  padding: 0 0.375rem;
  display: inline-block;
}

.breadcrumb__link {
  text-decoration: underline;
}

.breadcrumb__link:hover {
  text-decoration: none;
}

[data-tabs-target] {
  display: none;
}

[data-tabs-target].active {
  display: block;
}

.tabs {
  position: relative;
}

.tabs__header {
  margin-bottom: 2rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid #f1f1f1;
}

.tabs__nav {
  display: flex;
  align-items: center;
}

.tabs__nav {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  align-items: center;
}

.tabs__btn {
  padding: 0.75rem;
  border: none;
  color: #000;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.75rem;
  line-height: 1.25rem;
  text-align: center;
  letter-spacing: 0.06em;
  background-color: #f0f0f0;
  border-radius: 6px 6px 0 0;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.tabs__btn:not(:last-child) {
  margin-right: 2px;
}

.tabs__btn:hover {
  color: #fff;
  background-color: #000;
}

.tabs__btn.active {
  color: #fff;
  background-color: #000;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  pointer-events: none;
}

.tabs__content {
  background-color: #fff;
}

[data-collapse].open [data-collapse-content] {
  opacity: 1;
}

[data-collapse].open [data-collapse-control]:before {
  content: attr(data-collapse-close);
}

[data-collapse-content] {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  will-change: max-height;
  transition: all 0.3s ease-out;
}

[data-collapse-control]:before {
  content: attr(data-collapse-open);
}

[data-spoiler-content] {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  will-change: max-height;
  transition: .3s;
}

[data-spoiler].open [data-spoiler-content] {
  opacity: 1;
  transition: .3s;
}

.spoilers__item {
  border-bottom: 3px solid #f0f0f0;
  margin: 0 0 0.5rem;
}

.spoilers__item.open .spoilers__icon {
  transform: rotate(-180deg);
  transition: .3s;
}

.spoilers__header {
  width: 100%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding: 0.5rem 0;
  color: #000;
  border: none;
  outline: none;
  text-align: left;
  background: transparent;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5rem;
}

.spoilers__title {
  display: block;
  padding-right: 0.5rem;
}

.spoilers__icon {
  font-size: 0;
  line-height: 0;
  height: 1.5rem;
  display: inline-block;
  transition: .3s;
  fill: #000;
  flex-shrink: 0;
}

.spoilers__wrap {
  padding: 0.5rem 0;
}

[data-dropdown] {
  position: relative;
}

[data-dropdown].open {
  z-index: 50;
}

[data-dropdown].open [data-dropdown-content] {
  opacity: 1;
  visibility: visible;
}

[data-dropdown-toggle] {
  cursor: pointer;
}

[data-dropdown-content] {
  top: 100%;
  left: 0;
  margin-top: 0.25rem;
  min-width: 100%;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.dropdown {
  display: inline-flex;
  flex-direction: column;
}

.dropdown__content {
  background: #fff;
  border-radius: 0.25rem;
  box-shadow: 0px 6px 6px rgba(0, 0, 0, 0.15);
}

.dropdown__item {
  cursor: pointer;
  min-width: 100%;
  display: inline-flex;
  padding: 0.375rem 1.25rem;
}

.dropdown__item:hover {
  background-color: #eee;
}

.rating {
  font-size: 0;
  line-height: 0;
  display: inline-flex;
  align-items: center;
}

.rating__body {
  position: relative;
}

.rating__active {
  top: 0;
  left: 0;
  width: 0;
  z-index: 5;
  overflow: hidden;
  position: absolute;
  display: flex;
  fill: gold;
}

.rating__stars {
  display: flex;
  fill: lightgrey;
}

.rating__star {
  flex-shrink: 0;
  height: 1.5rem;
  display: inline-block;
}

.rating__items {
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  position: absolute;
  display: flex;
  flex-direction: row-reverse;
}

.rating__item {
  color: gold;
  cursor: pointer;
  flex: 0 0 20%;
}

.rating__value {
  top: 2px;
  position: relative;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
  padding-left: 0.625rem;
}

[data-rating-readonly='true'] .rating__item {
  cursor: default;
}

.simple-rating {
  overflow: hidden;
  position: relative;
  display: inline-flex;
  font-size: 0;
  line-height: 0;
  flex-direction: row-reverse;
}

.simple-rating__item {
  top: 0;
  left: 0;
  width: 0%;
  height: 0%;
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.simple-rating__label {
  color: gold;
  font-size: 2.5rem;
  line-height: 2.5rem;
  cursor: pointer;
  display: block;
  transition: .3s;
}

.simple-rating__label:before {
  content: '☆';
}

.simple-rating__item:checked:before,
.simple-rating__item:checked ~ .simple-rating__label:before {
  content: '★';
}

.simple-rating__label:hover:before,
.simple-rating__label:hover ~ .simple-rating__label:before,
.simple-rating__label:checked ~ .simple-rating__label:hover:before {
  content: '★';
}

.header {
  z-index: 800;
  position: relative;
  padding-bottom: 0.3125rem;
}

.header__main {
  height: 3.625rem;
  padding-right: 2.5rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header__logo {
  width: 114px;
}

.header__phone {
  color: #325998;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.875rem;
  white-space: nowrap;
  display: inline-block;
  text-decoration: none;
}

.header__phone:hover {
  color: #325998;
  text-decoration: none;
}

.header__hamburger {
  font-size: 0;
  line-height: 0;
  right: 0;
  top: calc(50% - 12px);
  position: absolute;
}

@media (min-width: 480px) {
  .header__main {
    padding-right: 5.625rem;
  }
}

@media (min-width: 768px) {
  .header {
    padding-bottom: 0;
  }
  .header__main {
    height: 4.625rem;
    padding-right: 8.4375rem;
  }
  .header__logo {
    width: 132px;
  }
}

@media (min-width: 992px) {
  .header__main {
    padding-right: 0;
  }
  .header__hamburger {
    display: none;
  }
}

@media (min-width: 1560px) {
  .header__main {
    height: 6.5rem;
  }
}

.hamburger {
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
  border: none;
  outline: none;
  cursor: pointer;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hamburger__inner {
  width: 24px;
  height: 3px;
  flex-shrink: 0;
  display: block;
  position: relative;
  border-radius: 4px;
  background: #325998;
}

.hamburger__inner:after, .hamburger__inner:before {
  z-index: 10;
  left: calc(50% - 12px);
  width: 24px;
  height: 3px;
  content: '';
  display: block;
  position: absolute;
  transition-property: transform;
  transition-duration: .15s;
  transition-timing-function: ease;
  border-radius: 4px;
  background-color: #325998;
}

.hamburger__inner:after {
  bottom: calc(100% + 4px);
}

.hamburger__inner:before {
  top: calc(100% + 4px);
}

.header-nav {
  display: none;
  font-size: 1rem;
  line-height: 1.5rem;
}

.header-nav__item {
  height: 4.625rem;
  position: relative;
}

.header-nav__item:not(:last-child) {
  margin-right: 1.875rem;
}

.header-nav__item:hover > .header-nav__link {
  color: #E40404;
}

.header-nav__item:hover .header-nav__dropdown {
  opacity: 1;
  visibility: visible;
}

.header-nav__link {
  color: #01243E;
  height: 100%;
  white-space: nowrap;
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: .3s;
}

.header-nav__link span {
  display: inline-block;
}

.header-nav__link i {
  height: 0.4375rem;
  font-size: 0;
  line-height: 0;
  flex-shrink: 0;
  display: inline-block;
  margin-left: 0.625rem;
}

.header-nav__link:hover {
  color: #E40404;
  text-decoration: none;
  transition: .3s;
}

.header-nav__dropdown {
  opacity: 0;
  visibility: hidden;
  left: -3rem;
  top: 100%;
  padding: 0 3rem 2.25rem 3rem;
  min-width: 100%;
  position: absolute;
  background: #fff;
  border-radius: 0 0 40px 40px;
}

.header-nav__elem {
  height: 3rem;
}

@media (min-width: 992px) {
  .header-nav {
    display: flex;
    align-items: center;
  }
}

@media (min-width: 1560px) {
  .header-nav__item {
    height: 6.5rem;
  }
}

.mobile-nav {
  top: 0;
  right: 0;
  width: 90%;
  background: #fff;
  border-radius: 40px;
  max-width: 30rem;
  padding-bottom: 3.75rem;
  z-index: 990;
  position: fixed;
  opacity: 0;
  visibility: hidden;
}

.mobile-nav__header {
  padding-left: 2.5rem;
  padding-right: 1.25rem;
  height: 3.9375rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mobile-nav__phone {
  color: #325998;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.875rem;
  white-space: nowrap;
  display: inline-block;
  text-decoration: none;
}

.mobile-nav__phone:hover {
  color: #325998;
  text-decoration: none;
}

.mobile-nav__menu {
  margin: 0;
  padding: 0 2.5rem;
  list-style: none;
}

.mobile-nav__link {
  color: #01243E;
  display: inline-block;
  padding: 0.625rem 0;
  text-decoration: none;
}

.mobile-nav__link:hover {
  color: #E40404;
  text-decoration: none;
}

@media (min-width: 480px) {
  .mobile-nav {
    min-height: 37.5rem;
  }
  .mobile-nav__header {
    padding-left: 5.625rem;
  }
  .mobile-nav__menu {
    padding-top: 0.625rem;
    padding-left: 5.625rem;
  }
  .mobile-nav__item:not(:last-child) {
    margin-bottom: 0.625rem;
  }
}

@media (min-width: 768px) {
  .mobile-nav__header {
    height: 4.625rem;
  }
}

@media (min-width: 992px) {
  .mobile-nav {
    display: none;
  }
}

.-nav-open- {
  height: 100%;
  overflow: hidden;
}

.-nav-open- .mobile-nav {
  opacity: 1;
  visibility: visible;
}

.-nav-open- .hamburger span {
  background: #fff;
}

.-nav-open- .hamburger span:after {
  transform: translateY(7px) translateX(0) rotate(45deg);
  width: 100%;
}

.-nav-open- .hamburger span:before {
  transform: translateY(-7px) translateX(0) rotate(-45deg);
  width: 100%;
}

.footer {
  background: #102B57;
  padding-top: 4.625rem;
  padding-bottom: 3.125rem;
}

.footer__wrap {
  position: relative;
}

.footer__primary {
  margin-bottom: 1.875rem;
}

.footer__logo {
  width: 8.125rem;
  display: block;
}

.footer__copy {
  color: #768AAA;
  font-size: 1rem;
  line-height: 1.5rem;
}

.footer__top {
  margin-bottom: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer__mobile {
  margin-bottom: 3.125rem;
}

.footer__desktop {
  display: none;
}

@media (min-width: 480px) {
  .footer__logo {
    width: 9.375rem;
  }
}

@media (min-width: 768px) {
  .footer {
    padding-top: 3.75rem;
    padding-bottom: 3rem;
  }
  .footer__secondary {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .footer__mobile {
    display: none;
  }
  .footer__desktop {
    margin-bottom: 3rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}

@media (min-width: 992px) {
  .footer__desktop {
    margin-bottom: 0;
  }
  .footer__secondary {
    left: 0;
    bottom: 0;
    z-index: 50;
    position: absolute;
    justify-content: flex-end;
  }
  .footer__copy {
    margin-right: 2rem;
  }
}

@media (min-width: 1320px) {
  .footer {
    padding-top: 6.75rem;
    padding-bottom: 4rem;
  }
  .footer__logo {
    top: -1.125rem;
    width: 11.75rem;
    position: relative;
  }
  .footer__copy {
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin-right: 8.125rem;
  }
}

@media (min-width: 1560px) {
  .footer__copy {
    margin-right: 15.5rem;
  }
}

.footer-social {
  font-size: 0;
  line-height: 0;
  width: 50%;
  display: flex;
  align-items: center;
}

.footer-social__item:not(:last-child) {
  margin-right: 1.25rem;
}

.footer-social__link {
  fill: #102B57;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  text-decoration: none;
  background: #fff;
}

@media (min-width: 768px) {
  .footer-social {
    width: auto;
    justify-content: flex-end;
  }
  .footer-social__item:not(:last-child) {
    margin-right: 1.4375rem;
  }
}

.footer-contact {
  padding: 0;
  margin: 0 0 3.125rem 0;
  list-style: none;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.6875rem;
  display: flex;
  align-items: center;
}

.footer-contact__item {
  width: 50%;
}

.footer-contact__link {
  color: #FFEE94;
  white-space: nowrap;
  display: inline-block;
  text-decoration: none;
}

.footer-contact__link:hover {
  color: #FFEE94;
  text-decoration: none;
}

@media (min-width: 480px) {
  .footer-contact {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
}

@media (min-width: 768px) {
  .footer-contact {
    display: block;
    text-align: right;
    margin-bottom: 2.1875rem;
  }
  .footer-contact__item {
    width: auto;
  }
  .footer-contact__item:not(:last-child) {
    margin-bottom: 1.875rem;
  }
}

@media (min-width: 992px) {
  .footer-contact {
    margin-bottom: 4.25rem;
  }
}

@media (min-width: 1320px) {
  .footer-contact {
    margin-bottom: 3.125rem;
  }
}

.footer-nav {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 1.125rem;
  line-height: 1.6875rem;
  display: grid;
  grid-row-gap: 1.25rem;
  grid-template-columns: 1fr 1fr;
}

.footer-nav__item {
  width: 50%;
}

.footer-nav__link {
  color: #fff;
  text-decoration: none;
  transition: .3s;
}

.footer-nav__link:hover {
  color: #FFEE94;
  text-decoration: none;
  transition: .3s;
}

@media (min-width: 768px) {
  .footer-nav {
    width: 14.375rem;
    flex-shrink: 0;
    grid-template-columns: auto auto;
    justify-content: space-between;
  }
  .footer-nav__item {
    width: auto;
    margin-bottom: 0;
  }
}

@media (min-width: 992px) {
  .footer-nav {
    width: 20rem;
    margin-right: 6.25rem;
  }
}

@media (min-width: 1320px) {
  .footer-nav {
    width: auto;
    margin-right: 0;
    margin-left: 6.25rem;
    grid-column-gap: 5.625rem;
    grid-template-columns: auto auto auto auto auto;
  }
}

.footer-links {
  padding: 0;
  list-style: none;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.25rem;
  margin: 0 0 0.9375rem 0;
  display: flex;
  flex-wrap: wrap;
}

.footer-links__item {
  margin-bottom: 0.9375rem;
}

.footer-links__item:first-child {
  margin-right: 2rem;
}

.footer-links__link {
  color: #B3C2DB;
  text-decoration: none;
  transition: .3s;
}

.footer-links__link:hover {
  color: #fff;
  text-decoration: none;
  transition: .3s;
}

@media (min-width: 768px) {
  .footer-links {
    margin: 0;
  }
  .footer-links__item {
    margin-bottom: 0;
  }
  .footer-links__item:first-child {
    margin-right: 3.375rem;
  }
}

@media (min-width: 1320px) {
  .footer-links {
    font-size: 0.9375rem;
    line-height: 1.4375rem;
  }
}

.promo {
  color: #fff;
  position: relative;
}

.promo__media {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  border-radius: 40px;
}

.promo__bg {
  top: 0;
  left: -200px;
  right: -1000px;
  bottom: 0;
  position: absolute;
}

.promo__content {
  z-index: 100;
  position: relative;
  padding: 4.375rem 1.25rem 9rem 1.25rem;
}

.promo__header {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 120%;
  margin-bottom: 2.5rem;
}

.promo__image {
  z-index: 50;
  left: calc(50% - 180px);
  width: 400px;
  bottom: -80px;
  position: absolute;
}

.promo__pattern {
  display: none;
}

@media (min-width: 480px) {
  .promo__header {
    font-size: 2rem;
  }
  .promo__bg {
    left: 0;
    right: 0;
  }
  .promo__content {
    padding: 5.625rem 1.25rem 12.1875rem 1.25rem;
  }
  .promo__image {
    width: 508px;
    bottom: -117px;
    left: calc(50% - 220px);
  }
}

@media (min-width: 768px) {
  .promo__content {
    min-height: 37.5rem;
    padding: 5rem 3.75rem 12.5rem 3.75rem;
  }
  .promo__header {
    font-size: 2.5rem;
    margin-bottom: 1.875rem;
  }
  .promo__button {
    width: 21.875rem;
  }
  .promo__bg {
    left: 0;
    right: -1000px;
  }
  .promo__image {
    left: 44px;
    width: 704px;
    bottom: -170px;
  }
  .promo__pattern {
    top: 0;
    bottom: 0;
    right: -198px;
    width: 544px;
    z-index: 20;
    display: block;
    position: absolute;
  }
}

@media (min-width: 992px) {
  .promo__content {
    min-height: 27.75rem;
    padding: 4.625rem 3.75rem 4.625rem 3.75rem;
  }
  .promo__pattern {
    right: 0;
  }
  .promo__bg {
    right: 0;
  }
  .promo__image {
    left: 24.25rem;
    bottom: -11.5rem;
    width: 764px;
  }
}

@media (min-width: 1320px) {
  .promo__content {
    padding-top: 8rem;
    padding-left: 8.125rem;
    min-height: 36.75rem;
  }
  .promo__header {
    font-size: 3rem;
  }
  .promo__button {
    width: 25rem;
  }
  .promo__pattern {
    width: 533px;
  }
  .promo__image {
    width: 956px;
    left: 35.875rem;
    bottom: -13.75rem;
  }
}

@media (min-width: 1560px) {
  .promo__content {
    padding-top: 9.5rem;
    min-height: 43.5rem;
  }
  .promo__header {
    font-size: 4rem;
    margin-bottom: 2.5rem;
  }
  .promo__pattern {
    width: 630px;
  }
  .promo__image {
    width: 1057px;
    left: 42rem;
    bottom: -13.5rem;
  }
}

.promo-list {
  padding: 0;
  width: 18.125rem;
  list-style: none;
  margin: 0 0 2.5rem 0;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.625rem;
  display: grid;
  grid-row-gap: 0.9375rem;
  grid-column-gap: 1.875rem;
  grid-template-columns: 1fr 1fr;
}

.promo-list__link {
  color: #fff;
  text-decoration: none;
  align-items: center;
  display: inline-flex;
}

.promo-list__link:hover {
  color: #fff;
  text-decoration: none;
}

.promo-list__icon {
  font-size: 0;
  line-height: 0;
  height: 1.5rem;
  flex-shrink: 0;
  fill: #FFEE94;
  display: inline-block;
  margin-right: 0.625rem;
}

.promo-list__name {
  display: inline-block;
}

@media (min-width: 768px) {
  .promo-list {
    margin-bottom: 2.1875rem;
    width: 28.125rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (min-width: 1320px) {
  .promo-list {
    font-size: 1.25rem;
    line-height: 1.875rem;
    margin-bottom: 2.5rem;
    width: 40.625rem;
    grid-row-gap: 1.25rem;
    grid-column-gap: 0.625rem;
  }
}

@media (min-width: 1320px) {
  .promo-list {
    margin-bottom: 3.125rem;
    font-size: 1.5rem;
    line-height: 2.25rem;
  }
}

.advantages {
  font-size: 1rem;
  border-radius: 40px;
  background: rgba(234, 238, 247, 0.7);
  padding: 4.375rem 1.25rem 3.75rem 1.25rem;
}

.advantages__header {
  max-width: 23.75rem;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 130%;
  margin-bottom: 1.25rem;
}

.advantages__main {
  display: grid;
  grid-row-gap: 1.875rem;
  grid-column-gap: 0.625rem;
  grid-template-columns: 1fr 1fr;
}

.advantages__icon {
  width: 7.5rem;
  margin-bottom: 0.9375rem;
}

.advantages__title {
  font-weight: 700;
  line-height: 130%;
  font-size: 1rem;
  margin-bottom: 0.9375rem;
}

@media (min-width: 480px) {
  .advantages {
    font-size: 1rem;
  }
  .advantages__header {
    margin-bottom: 1.75rem;
  }
  .advantages__main {
    grid-column-gap: 1.25rem;
  }
  .advantages__title {
    font-size: 1.125rem;
  }
}

@media (min-width: 768px) {
  .advantages {
    padding: 7.875rem 1.875rem 3.75rem 3.75rem;
  }
  .advantages__main {
    grid-column-gap: 4.25rem;
  }
  .advantages__header {
    max-width: 28.125rem;
    font-size: 2.25rem;
    margin-bottom: 1.875rem;
  }
}

@media (min-width: 992px) {
  .advantages {
    padding: 3.75rem 1.875rem 3.75rem 3.75rem;
  }
  .advantages__header {
    max-width: 31.25rem;
    font-size: 2.5rem;
  }
  .advantages__main {
    grid-column-gap: 2.1875rem;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

@media (min-width: 1320px) {
  .advantages {
    padding: 5rem 3.75rem 5rem 8.125rem;
  }
  .advantages__main {
    grid-column-gap: 3.125rem;
  }
}

@media (min-width: 1560px) {
  .advantages {
    padding: 6.875rem 11.375rem 7.5rem 7.875rem;
  }
  .advantages__header {
    max-width: 40.625rem;
    font-size: 3rem;
    margin-bottom: 1.25rem;
  }
  .advantages__main {
    grid-column-gap: 5.625rem;
  }
}

.projects {
  padding-bottom: 3.75rem;
}

.projects__header {
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 2.25rem;
  margin-bottom: 1.875rem;
}

.projects__main {
  grid-row-gap: 1.875rem;
  grid-column-gap: 1.875rem;
  grid-template-columns: 1fr;
  display: grid;
}

@media (min-width: 768px) {
  .projects {
    padding-bottom: 4.375rem;
  }
  .projects__header {
    font-size: 2.5rem;
    line-height: 3.25rem;
    margin-bottom: 1.25rem;
  }
  .projects__main {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (min-width: 992px) {
  .projects__main {
    grid-row-gap: 1.25rem;
    grid-column-gap: 5rem;
  }
}

@media (min-width: 1320px) {
  .projects {
    padding-bottom: 5rem;
  }
  .projects__main {
    grid-column-gap: 1.5rem;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}

@media (min-width: 1560px) {
  .projects {
    padding-bottom: 6.25rem;
  }
  .projects__header {
    font-size: 3rem;
    line-height: 3.875rem;
    margin-bottom: 2.5rem;
  }
  .projects__main {
    grid-column-gap: 5rem;
  }
}

.project-item {
  display: flex;
  flex-direction: column;
}

.project-item__logo {
  font-size: 0;
  line-height: 0;
  height: 2.625rem;
  display: inline-block;
  margin-bottom: 0.9375rem;
}

.project-item__title {
  color: #fff;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.3125rem;
  margin-bottom: 0.9375rem;
  white-space: nowrap;
  text-transform: uppercase;
}

.project-item__title a {
  color: #fff;
  text-decoration: none;
}

.project-item__title a:hover {
  color: #fff;
  text-decoration: none;
}

.project-item__text {
  font-size: 1rem;
  line-height: 1.5rem;
  flex-grow: 1;
}

.project-item__footer {
  padding-top: 0.9375rem;
}

.project-item__link {
  color: #fff;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.6875rem;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.project-item__link i {
  font-size: 0;
  line-height: 0;
  height: 0.625rem;
  flex-shrink: 0;
  display: inline-flex;
  margin-left: 0.9375rem;
}

@media (min-width: 768px) {
  .project-item__logo {
    height: 4.125rem;
    margin-bottom: 1.25rem;
  }
}

@media (min-width: 1320px) {
  .project-item__title {
    margin-bottom: 1.25rem;
  }
}

.about {
  font-size: 1rem;
  line-height: 1.5rem;
  position: relative;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

.about__main {
  z-index: 20;
  position: relative;
}

.about__content p {
  margin-bottom: 1.25rem;
}

.about__content p:last-child {
  margin-bottom: 0;
}

.about__media {
  z-index: 1;
  display: none;
}

@media (min-width: 768px) {
  .about {
    padding-top: 4.375rem;
  }
  .about__content {
    width: 35.875rem;
  }
  .about__content p {
    margin-bottom: 1.875rem;
  }
  .about__content p:last-child {
    margin-bottom: 0;
  }
  .about__media {
    top: 0;
    left: 0;
    right: 0;
    bottom: 3.75rem;
    display: block;
    position: absolute;
  }
  .about__image {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    display: block;
    position: absolute;
  }
  .about__pattern {
    top: 0;
    right: -200px;
    bottom: 0;
    width: 540px;
    z-index: 20;
    position: absolute;
  }
}

@media (min-width: 992px) {
  .about {
    padding-bottom: 4.375rem;
  }
  .about__content {
    width: 42.5rem;
  }
  .about__content p {
    margin-bottom: 1.25rem;
  }
  .about__content p:last-child {
    margin-bottom: 0;
  }
  .about__pattern {
    right: -70px;
  }
}

@media (min-width: 1320px) {
  .about {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .about__media {
    bottom: 0.625rem;
  }
  .about__pattern {
    right: 60px;
    width: 620px;
    height: 684px;
    bottom: auto;
  }
}

@media (min-width: 1560px) {
  .about {
    font-size: 1.125rem;
    line-height: 1.6875rem;
    padding-top: 8rem;
    padding-bottom: 6.25rem;
  }
  .about__content {
    width: 47.5rem;
  }
  .about__content p {
    margin-bottom: 2.5rem;
  }
  .about__content p:last-child {
    margin-bottom: 0;
  }
  .about__header {
    margin-bottom: 2.5rem;
  }
  .about__pattern {
    right: 215px;
    width: 858px;
    height: 947px;
  }
}

@media (min-width: 768px) {
  .showcase__container {
    margin: 0 auto;
    max-width: 64rem;
    padding: 0 1.25rem;
  }
}

@media (min-width: 1320px) {
  .showcase__container {
    padding: 0 0.75rem;
    max-width: 82.75rem;
  }
}

@media (min-width: 1560px) {
  .showcase__container {
    max-width: 97.75rem;
  }
}

.item {
  background: #fff;
  border-radius: 40px;
  padding: 1.875rem 1.25rem;
}

.item:not(:last-child) {
  margin-bottom: 1.875rem;
}

.item__media {
  width: 13.125rem;
  margin-bottom: 1.25rem;
}

.item__header {
  margin-bottom: 1.25rem;
}

.item__main {
  margin-bottom: 1.25rem;
}

.item__main p:last-child {
  margin-bottom: 0;
}

.item__title {
  font-weight: 700;
  line-height: 130%;
  font-size: 1.125rem;
  margin-bottom: 1.25rem;
}

.item__info {
  margin: 0;
  padding: 0;
  list-style: none;
}

.item__info li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.9375rem;
}

.item__info li:before {
  left: 0;
  top: 0.4375rem;
  width: 12px;
  height: 10px;
  content: '';
  position: absolute;
  background: url("../img/check_list.svg") 50% 50% no-repeat;
  background-size: cover;
}

.item__buttons {
  padding-top: 0.625rem;
}

.item__button {
  padding-top: 0.625rem;
}

.item__button:not(:last-child) {
  margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
  .item {
    padding: 1.875rem;
  }
  .item:not(:last-child) {
    margin-bottom: 2.5rem;
  }
  .item__main:after {
    content: " ";
    clear: both;
    display: table;
  }
  .item__media {
    width: 20rem;
    float: right;
    margin: 0 -1.25rem 0 0;
  }
  .item__buttons {
    display: flex;
    align-items: center;
  }
  .item__button {
    width: 18.75rem;
  }
  .item__button:not(:last-child) {
    margin-bottom: 0;
    margin-right: 2.5rem;
  }
  .item__info {
    column-count: 2;
    column-gap: 3.75rem;
  }
}

@media (min-width: 992px) {
  .item {
    padding: 1.875rem 2.5rem;
  }
  .item__media {
    width: 22.625rem;
  }
  .item__button:not(:last-child) {
    margin-right: 4.375rem;
  }
  .item--05 .item__media {
    margin-bottom: -1.875rem;
  }
  .item--05 .item__main {
    margin-bottom: 0;
  }
}

@media (min-width: 1320px) {
  .item {
    padding: 2.375rem 2.1875rem 3.125rem 2.8125rem;
  }
  .item:not(:last-child) {
    margin-bottom: 3.125rem;
  }
  .item__media {
    width: 29.75rem;
    margin-right: 0;
    margin-left: 3.75rem;
  }
  .item__info {
    column-count: 3;
    column-gap: 0.625rem;
  }
  .item__buttons {
    padding-top: 1.5625rem;
  }
  .item__button {
    width: 21.25rem;
  }
}

@media (min-width: 1560px) {
  .item {
    font-size: 1.125rem;
    line-height: 1.6875rem;
    padding: 4.375rem 6.25rem 4.375rem 8.125rem;
  }
  .item:not(:last-child) {
    margin-bottom: 3.75rem;
  }
  .item__media {
    margin-right: -1.625rem;
    margin-left: 6.25rem;
  }
  .item__header {
    margin-bottom: 1.875rem;
  }
  .item__title {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
  .item__info {
    column-gap: 0.9375rem;
  }
  .item__info li:before {
    top: 0.5rem;
  }
}

.offer {
  color: #fff;
  position: relative;
  margin-bottom: 4.375rem;
  padding: 8.875rem 1.25rem;
}

.offer__main {
  z-index: 20;
  position: relative;
}

.offer__media {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  overflow: hidden;
  position: absolute;
  border-radius: 40px;
}

.offer__image {
  top: 0;
  left: -100px;
  right: -1000px;
  bottom: 0;
  z-index: 1;
  overflow: hidden;
  position: absolute;
}

.offer__pattern {
  display: none;
}

.offer__header {
  margin-bottom: 1.875rem;
}

.offer__text {
  max-width: 23.75rem;
  margin-bottom: 1.875rem;
}

@media (min-width: 480px) {
  .offer__image {
    left: 0;
    right: 0;
  }
}

@media (min-width: 768px) {
  .offer {
    padding: 3.75rem;
    min-height: 24.875rem;
    margin-bottom: 5rem;
    display: flex;
    flex-direction: column;
  }
  .offer__main {
    margin: auto 0;
  }
  .offer__button {
    width: 21.875rem;
  }
  .offer__pattern {
    top: 0;
    bottom: 0;
    z-index: 5;
    right: -50px;
    width: 404px;
    display: block;
    position: absolute;
  }
}

@media (min-width: 992px) {
  .offer__pattern {
    right: 5.125rem;
  }
}

@media (min-width: 1320px) {
  .offer {
    height: 32.75rem;
    min-height: 32.75rem;
    padding-left: 8.125rem;
  }
  .offer__pattern {
    width: 532px;
    right: 6.75rem;
  }
  .offer__header {
    margin-bottom: 2.5rem;
  }
  .offer__text {
    font-size: 1.125rem;
    line-height: 1.6875rem;
    max-width: 26.25rem;
    margin-bottom: 2.5rem;
  }
  .offer__button {
    width: 25rem;
  }
}

@media (min-width: 1560px) {
  .offer {
    height: 38.75rem;
    min-height: 38.75rem;
    margin-bottom: 6.25rem;
  }
  .offer__pattern {
    width: 630px;
    right: 8.125rem;
  }
}

.modal {
  color: #fff;
  z-index: 1000;
  padding: 2.5rem 1.25rem;
  position: relative;
  background: url("../img/modal_bg.jpg") 50% 50% no-repeat;
  background-size: cover;
}

.modal__close {
  top: 0.625rem;
  right: 0.625rem;
  z-index: 10;
  width: 20px;
  height: 20px;
  display: block;
  position: absolute;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2L2 22'/%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M2 2l20 20'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  border: none;
  font-size: 0;
  cursor: pointer;
  outline: none;
}

.modal__header {
  max-width: 26.875rem;
}

.modal__subtitle {
  max-width: 26.875rem;
  margin-bottom: 1.875rem;
}

.modal__form {
  max-width: 23.125rem;
}

.modal__footnote {
  line-height: 150%;
  font-size: 0.8125rem;
}

.modal__footnote a {
  color: #fff;
  text-decoration: underline;
}

.modal__footnote a:hover {
  color: #fff;
  text-decoration: none;
}

@media (min-width: 768px) {
  .modal {
    width: 37.5rem;
    padding: 3.75rem;
  }
}

@media (min-width: 1320px) {
  .modal {
    width: 48.75rem;
    padding-left: 7.8125rem;
  }
  .modal__header {
    margin-bottom: 2.25rem;
  }
  .modal__subtitle {
    font-size: 1.125rem;
    line-height: 1.6875rem;
  }
  .modal__close {
    top: 1.25rem;
    right: 1.25rem;
  }
}

@media (min-width: 1560px) {
  .modal {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.root {
  width: 100%;
  min-height: 100vh;
  max-width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.main {
  flex-grow: 1;
  padding: 3.125rem 0;
  min-height: 25rem;
}

.swiper {
  width: 100%;
  height: 100%;
}

.section-white {
  position: relative;
  margin-bottom: 3.125rem;
}

.section-white--first {
  z-index: 10;
}

@media (min-width: 1560px) {
  .section-white {
    margin-bottom: 3.75rem;
  }
}

.showcase {
  background: #325998;
  padding: 3.125rem 0;
  margin-bottom: 3.125rem;
}

@media (min-width: 1320px) {
  .showcase {
    padding-top: 5rem;
  }
}

@media (min-width: 1560px) {
  .showcase {
    padding-top: 6.25rem;
    padding-bottom: 3.75rem;
    margin-bottom: 3.75rem;
  }
}

.section-blue {
  color: #fff;
  background: #193C75;
}

.delivery {
  margin-bottom: 4.375rem;
}

.delivery__header {
  margin-bottom: 1.25rem;
}

.delivery__main {
  margin-bottom: 1.25rem;
  display: grid;
  grid-row-gap: 1.25rem;
  grid-column-gap: 1.25rem;
  grid-template-columns: 1fr 1fr;
}

.delivery__item {
  overflow: hidden;
  border-radius: 10px;
}

@media (min-width: 768px) {
  .delivery {
    margin-bottom: 5rem;
  }
  .delivery__main {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (min-width: 992px) {
  .delivery__main {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}

@media (min-width: 1320px) {
  .delivery {
    margin-bottom: 6rem;
  }
  .delivery__header {
    margin-bottom: 1.875rem;
  }
  .delivery__main {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }
  .delivery__text {
    font-size: 1.125rem;
    line-height: 1.6875rem;
  }
}

.contact {
  padding-bottom: 1.25rem;
}

.contact__header {
  margin-bottom: 1.25rem;
}

.contact__title {
  margin-bottom: 1.25rem;
}

.contact__content {
  font-size: 1rem;
  line-height: 1.5rem;
}

.contact__text {
  margin-bottom: 0.3125rem;
}

.contact__address {
  font-weight: 700;
}

.contact__map {
  height: 37.5rem;
  overflow: hidden;
  border-radius: 40px;
  border: 1px solid #193B75;
}

@media (min-width: 768px) {
  .contact {
    padding-bottom: 1.875rem;
  }
  .contact__map {
    height: 31.25rem;
  }
}

@media (min-width: 992px) {
  .contact__header {
    margin-bottom: 0.9375rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .contact__title {
    margin-bottom: 0;
  }
  .contact__content {
    padding-right: 1.25rem;
  }
}

@media (min-width: 1320px) {
  .contact__header {
    margin-bottom: 1.25rem;
  }
  .contact__content {
    padding-right: 5.625rem;
  }
}

@media (min-width: 1560px) {
  .contact {
    padding-bottom: 2.5rem;
  }
  .contact__header {
    margin-bottom: 2.5rem;
  }
  .contact__content {
    font-size: 1.125rem;
    line-height: 1.8125rem;
    padding-right: 17.25rem;
  }
  .contact__map {
    height: 37.5rem;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5taW4uY3NzIiwic291cmNlcyI6WyJtYWluLnNjc3MiLCJfY29uZmlnLnNjc3MiLCJsYXlvdXQvX2Z1bmN0aW9ucy5zY3NzIiwibWl4aW5zL19taXhpbnMuc2NzcyIsIm1peGlucy9faGVscGVycy5zY3NzIiwibWl4aW5zL19jb250YWluZXIuc2NzcyIsIm1peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIm1peGlucy9fZ3JpZC5zY3NzIiwibWl4aW5zL19mb250ZmFjZS5zY3NzIiwibWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zd2lwZXIvc3dpcGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3dpcGVyL3N3aXBlci12YXJzLnNjc3MiLCJwbHVnaW5zL2h5c3Rtb2RhbC5zY3NzIiwibGF5b3V0L19mb250cy5zY3NzIiwibGF5b3V0L19iYXNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwibGF5b3V0L191dGlsaXRpZXMuc2NzcyIsImNvbXBvbmVudHMvX2Z1bGxzY3JlZW4uc2NzcyIsImNvbXBvbmVudHMvX2NvbnRhaW5lcnMuc2NzcyIsImNvbXBvbmVudHMvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL2Zvcm1zL19pbnB1dHMuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX2NoZWNrYm94ZXMuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX3JhZGlvYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fY2hvaWNlcy5zY3NzIiwiY29tcG9uZW50cy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMvX3F1YW50aXR5LnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9fdGFicy5zY3NzIiwiY29tcG9uZW50cy9fY29sbGFwc2Uuc2NzcyIsImNvbXBvbmVudHMvX3Nwb2lsZXJzLnNjc3MiLCJjb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9fcmF0aW5nLnNjc3MiLCJwYXJ0cy9faGVhZGVyLnNjc3MiLCJwYXJ0cy9fZm9vdGVyLnNjc3MiLCJwYXJ0cy9fcHJvbW8uc2NzcyIsInBhcnRzL19hZHZhbnRhZ2VzLnNjc3MiLCJwYXJ0cy9fcHJvamVjdHMuc2NzcyIsInBhcnRzL19hYm91dC5zY3NzIiwicGFydHMvX2l0ZW0uc2NzcyIsInBhcnRzL19vZmZlci5zY3NzIiwicGFydHMvX21vZGFsLnNjc3MiLCJfY29udGVudC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ2NvbmZpZyc7XG5AaW1wb3J0ICcuL2xheW91dC9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi9taXhpbnMvbWl4aW5zJztcblxuLy8gUGx1Z2luc1xuQGltcG9ydCAnbm9kZV9tb2R1bGVzL3N3aXBlci9zd2lwZXIuc2Nzcyc7XG5AaW1wb3J0ICcuL3BsdWdpbnMvaHlzdG1vZGFsJztcblxuLy8gTGF5b3V0XG5AaW1wb3J0ICcuL2xheW91dC9mb250cyc7XG5AaW1wb3J0ICcuL2xheW91dC9iYXNlJztcbkBpbXBvcnQgJy4vbGF5b3V0L3V0aWxpdGllcyc7XG5cbkBpbXBvcnQgJy4vY29tcG9uZW50cy9mdWxsc2NyZWVuJztcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9jb250YWluZXJzJztcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9ncmlkJztcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9idXR0b25zJztcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9mb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnLi9jb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnLi9jb21wb25lbnRzL2NvbGxhcHNlJztcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9zcG9pbGVycyc7XG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnLi9jb21wb25lbnRzL3JhdGluZyc7XG5cblxuQGltcG9ydCAncGFydHMvaGVhZGVyJztcbkBpbXBvcnQgJ3BhcnRzL2Zvb3Rlcic7XG5AaW1wb3J0ICdwYXJ0cy9wcm9tbyc7XG5AaW1wb3J0ICdwYXJ0cy9hZHZhbnRhZ2VzJztcbkBpbXBvcnQgJ3BhcnRzL3Byb2plY3RzJztcbkBpbXBvcnQgJ3BhcnRzL2Fib3V0JztcbkBpbXBvcnQgJ3BhcnRzL2l0ZW0nO1xuQGltcG9ydCAncGFydHMvb2ZmZXInO1xuQGltcG9ydCAncGFydHMvbW9kYWwnO1xuXG5AaW1wb3J0ICdjb250ZW50JztcblxuXG4iLCIvLyBPcHRpb25zXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICBmYWxzZSAhZGVmYXVsdDtcblxuXG4vLyBjb2xvcnNcblxuJHdoaXRlOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRibHVlOiAgICAgICAgICAjMzI1OTk4ICFkZWZhdWx0O1xuJHJlZDogICAgICAgICAgICNFNDA0MDQgIWRlZmF1bHQ7XG4keWVsbG93OiAgICAgICAgI0ZGRUU5NCAhZGVmYXVsdDtcbiRncmF5OiAgICAgICAgICAjRUFFRUY2ICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICMwMTI0M0UgIWRlZmF1bHQ7XG5cbiRwcmltYXJ5OiAgICAgICAjMDAwICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRodG1sLWZvbnQtc2l6ZTogMTZweDtcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGZvbnQtZmFtaWx5LXByaW1hcnk6IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2Vjb25kYXJ5OiBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4kYm9yZGVyLXJhZGl1czogcmVtKDQpO1xuJHRyYW5zaXRpb24tdGltZTogMC4ycztcbiRib3gtc2hhZG93OiAwIDAgMCAjZmZmO1xuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgcmVtKDIwKSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoXG4gICAgMDogMCxcbiAgICAxOiAkc3BhY2VyIC8gNCxcbiAgICAyOiAkc3BhY2VyIC8gMixcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICRzcGFjZXIgKiAxLjUsXG4gICAgNTogJHNwYWNlciAqIDMsXG4pICFkZWZhdWx0O1xuXG4vLyBHcmlkXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHM6IDAsXG4gICAgc206IDQ4MHB4LFxuICAgIG1kOiA3NjhweCxcbiAgICBsZzogOTkycHgsXG4gICAgeGw6IDEzMjBweCxcbiAgICB4eGw6IDE1NjBweFxuKSAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICAgc206IDU0MHB4LFxuICAgIG1kOiA3MjBweCxcbiAgICBsZzogOTYwcHgsXG4gICAgeGw6IDExNDBweCxcbiAgICB4eGw6IDEzMjBweFxuKSAhZGVmYXVsdDtcblxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cbiRndXR0ZXJzOiAkc3BhY2VycyAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4iLCJcbkBmdW5jdGlvbiBzaXplLXJlbCgkcHgtdmFsdWUpIHtcbiAgICBAcmV0dXJuICRmb250LXNpemUtYmFzZSAqICgkcHgtdmFsdWUgLyAkaHRtbC1mb250LXNpemUpO1xufVxuXG5AZnVuY3Rpb24gcmVtKCRwaXhlbHMsICRjb250ZXh0OiAkaHRtbC1mb250LXNpemUpIHtcbiAgICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XG4gICAgICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XG4gICAgfVxuXG4gICAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcbiAgICAgICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xuICAgIH1cblxuICAgIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMXJlbTtcbn1cblxuXG5AZnVuY3Rpb24gY29udGFpbmVyLXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRjb250YWluZXItbWF4LXdpZHRocykge1xuICAgICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufSIsIkBpbXBvcnQgJy4vaGVscGVycyc7XG5AaW1wb3J0ICcuL2NvbnRhaW5lcic7XG5AaW1wb3J0ICcuL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJy4vZ3JpZCc7XG5AaW1wb3J0ICcuL2ZvbnRmYWNlJztcbkBpbXBvcnQgJy4vdmlzdWFsbHktaGlkZGVuJztcbiIsIkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICAgQGlmICRtaW4ge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBmb2N1cy12aXNpYmxlIHtcbiAgICBAaWYgKCYpIHtcbiAgICAgICAgLmpzLWZvY3VzLXZpc2libGUgJjpmb2N1czpub3QoLmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICAuanMtZm9jdXMtdmlzaWJsZSA6Zm9jdXM6bm90KC5mb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxuICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfVxufVxuXG4vLyBDbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gbWF4KCRudW1iZXJzLi4uKSB7XG4gICAgQHJldHVybiBtI3thfXgoI3skbnVtYmVyc30pO1xufVxuXG5AZnVuY3Rpb24gbWluKCRudW1iZXJzLi4uKSB7XG4gICAgQHJldHVybiBtI3tpfW4oI3skbnVtYmVyc30pO1xufVxuIiwiQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRjb250YWluZXItcGFkZGluZy14KSB7XG4gICAgLS1icy1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAvIDIpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgLyAyKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLCIiLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgICAtLWJzLWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAgIC0tYnMtZ3V0dGVyLXk6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteSkgKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAvIC0yKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgLyAtMik7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgICAvLyBBZGQgYm94IHNpemluZyBpZiBvbmx5IHRoZSBncmlkIGlzIGxvYWRlZFxuICAgIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHNldCB0aGUgd2lkdGhcbiAgICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAvIDIpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgLyAyKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1icy1ndXR0ZXIteSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgICA+ICoge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCUgLyAkY291bnQ7XG4gICAgfVxufVxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDAlOyAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LWF1dG8gPiAqIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgICAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEd1dHRlcnNcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBNYWtlIHVzZSBvZiBgLmctKmAsIGAuZ3gtKmAgb3IgYC5neS0qYCB1dGlsaXRpZXMgdG8gY2hhbmdlIHNwYWNpbmcgYmV0d2VlbiB0aGUgY29sdW1ucy5cbiAgICAgICAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZ3V0dGVycyB7XG4gICAgICAgICAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgICAgICAgICAuZ3gjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgICAgICAgICAgIC0tYnMtZ3V0dGVyLXg6ICN7JHZhbHVlfTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAgICAgICAgIC5neSN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAgICAgICAgICAgLS1icy1ndXR0ZXIteTogI3skdmFsdWV9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBtaXhpbiBmb250ZmFjZSgkbmFtZSwgJGZpbGUsICR3ZWlnaHQ6IG51bGwsICRzdHlsZTogbm9ybWFsKSB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JG5hbWV9XCI7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICAgICAgQGlmKCR3ZWlnaHQpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIHNyYzogdXJsKCcuLi9mb250cy8jeyRmaWxlfS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICB9XG59XG4iLCIvLyBIaWRlIGNvbnRlbnQgdmlzdWFsbHkgd2hpbGUga2VlcGluZyBpdCBhY2Nlc3NpYmxlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXNcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSgpIHtcbiAgJjpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICB9XG59XG4iLCIvKipcbiAqIFN3aXBlciA5LjIuMFxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHBzOi8vc3dpcGVyanMuY29tXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAyMyBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBNYXJjaCAzMSwgMjAyM1xuICovXG5cbkBpbXBvcnQgJ3N3aXBlci12YXJzLnNjc3MnO1xuQGF0LXJvb3Qge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3N3aXBlci1pY29ucyc7XG4gICAgc3JjOiB1cmwoJ2RhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBJylcbiAgICAgIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG59XG5AYXQtcm9vdCB7XG4gIDpyb290IHtcbiAgICAtLXN3aXBlci10aGVtZS1jb2xvcjogI3skdGhlbWVDb2xvcn07XG4gICAgLypcbiAgICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gICAgLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogaW5pdGlhbDtcbiAgICAqL1xuICB9XG59XG4uc3dpcGVyLFxuc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXN3aXBlci13cmFwcGVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCBpbml0aWFsKTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uc3dpcGVyLXZlcnRpY2FsIHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbn1cbi5zd2lwZXItc2xpZGUsXG5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xufVxuLnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci0zZC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVyIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbi5zd2lwZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xuICAuc3dpcGVyLXNsaWRlLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuICAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3cge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG59XG4vKiBDU1MgTW9kZSAqL1xuLnN3aXBlci1jc3MtbW9kZSB7XG4gID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZvciBGaXJlZm94ICovXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBGb3IgSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgKi9cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDtcbiAgfVxufVxuLnN3aXBlci1ob3Jpem9udGFsLnN3aXBlci1jc3MtbW9kZSB7XG4gID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgfVxufVxuLnN3aXBlci12ZXJ0aWNhbC5zd2lwZXItY3NzLW1vZGUge1xuICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7XG4gIH1cbn1cbi5zd2lwZXItY2VudGVyZWQge1xuICA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvcmRlcjogOTk5OTtcbiAgfVxuICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXIgY2VudGVyO1xuICAgIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cztcbiAgfVxufVxuLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbCB7XG4gID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpO1xuICB9XG4gID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpO1xuICB9XG59XG4uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbCB7XG4gID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG4gIH1cbiAgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKTtcbiAgfVxufVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDRweCBzb2xpZCB2YXIoLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zd2lwZXI6bm90KC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MpLFxuc3dpcGVyLWNvbnRhaW5lcjpub3QoLnN3aXBlci13YXRjaC1wcm9ncmVzcyksXG4uc3dpcGVyLXdhdGNoLXByb2dyZXNzIC5zd2lwZXItc2xpZGUtdmlzaWJsZSB7XG4gIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICAgIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgfVxufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZSB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogI2ZmZjtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2sge1xuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6ICMwMDA7XG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cblxuXG4iLCIkdGhlbWVDb2xvcjogIzAwN2FmZiAhZGVmYXVsdDtcbiIsIi5oeXN0bW9kYWxfX29wZW5lZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmh5c3Rtb2RhbF9fc2hhZG93e1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3JkZXI6bm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiA4MDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuLmh5c3Rtb2RhbF9fc2hhZG93LS1zaG93IHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi5oeXN0bW9kYWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB6LWluZGV4OiA4NTA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmh5c3Rtb2RhbC0tYWN0aXZle1xuICAgIG9wYWNpdHk6IDE7XG59XG4uaHlzdG1vZGFsLS1tb3ZlZCxcbi5oeXN0bW9kYWwtLWFjdGl2ZXtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLmh5c3Rtb2RhbF9fd3JhcCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uaHlzdG1vZGFsX193aW5kb3cge1xuICAgIG1hcmdpbjogNTBweCAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlIDBzLCBvcGFjaXR5IDAuMnMgZWFzZSAwcztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgb3BhY2l0eTogMDtcbn1cbi5oeXN0bW9kYWwtLWFjdGl2ZSAuaHlzdG1vZGFsX193aW5kb3d7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xufVxuLmh5c3Rtb2RhbF9fY2xvc2V7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHRvcDowO1xuICAgIHJpZ2h0OiAtNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0nc3F1YXJlJyBzdHJva2UtbWl0ZXJsaW1pdD0nNTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTIyIDJMMiAyMicvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLWxpbmVjYXA9J3NxdWFyZScgc3Ryb2tlLW1pdGVybGltaXQ9JzUwJyBzdHJva2Utd2lkdGg9JzInIGQ9J00yIDJsMjAgMjAnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbi5oeXN0bW9kYWxfX2Nsb3NlOmZvY3Vze1xuICAgIG91dGxpbmU6IDJweCBkb3R0ZWQgI2FmYjNiOTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDo3NjdweCl7XG4gICAgLmh5c3Rtb2RhbF9fY2xvc2V7XG4gICAgICAgIHRvcDoxMHB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgc3Ryb2tlPSclMjMxMTEnIHN0cm9rZS1saW5lY2FwPSdzcXVhcmUnIHN0cm9rZS1taXRlcmxpbWl0PSc1MCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNMjIgMkwyIDIyJy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTExJyBzdHJva2UtbGluZWNhcD0nc3F1YXJlJyBzdHJva2UtbWl0ZXJsaW1pdD0nNTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTIgMmwyMCAyMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG4gICAgLmh5c3Rtb2RhbF9fd2luZG93e1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICAgIHNyYzogbG9jYWwoJ1JvYm90byBUaGluJyksXG4gICAgbG9jYWwoJ1JvYm90by1UaGluJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8vUm9ib3RvdGhpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgICBzcmM6IGxvY2FsKCdSb2JvdG8gVGhpbiBJdGFsaWMnKSxcbiAgICBsb2NhbCgnUm9ib3RvLVRoaW5JdGFsaWMnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by9Sb2JvdG90aGluaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICAgIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLFxuICAgIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by9Sb2JvdG9saWdodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQgSXRhbGljJyksXG4gICAgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvL1JvYm90b2xpZ2h0aXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICAgIHNyYzogbG9jYWwoJ1JvYm90bycpLFxuICAgIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvL1JvYm90by53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksXG4gICAgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by9Sb2JvdG9pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gICAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bScpLFxuICAgIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8vUm9ib3RvbWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICAgIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksXG4gICAgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by9Sb2JvdG9tZWRpdW1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gICAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSxcbiAgICBsb2NhbCgnUm9ib3RvLUJvbGQnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by9Sb2JvdG9ib2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICAgIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLFxuICAgIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvL1JvYm90b2JvbGRpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gICAgc3JjOiBsb2NhbCgnUm9ib3RvIEJsYWNrJyksXG4gICAgbG9jYWwoJ1JvYm90by1CbGFjaycpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvL1JvYm90b2JsYWNrLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICAgIHNyYzogbG9jYWwoJ1JvYm90byBCbGFjayBJdGFsaWMnKSxcbiAgICBsb2NhbCgnUm9ib3RvLUJsYWNrSXRhbGljJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8vUm9ib3RvYmxhY2tpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4iLCJAaW1wb3J0ICdub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUnO1xuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeTtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG59XG5cblxuLy8gVHlwb2dyYXBoeVxuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbn1cblxuaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDQ4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNjQpO1xuICAgIH1cbn1cblxuaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDM2KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNDgpO1xuICAgIH1cbn1cblxuaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICB9XG59XG5cbmg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgfVxufVxuXG5oNSwgLmg1IHtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcbn1cblxuaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbnAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBMaXN0c1xuXG5vbCxcbnVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbSgzMik7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLmVtYmVkLXJlc3BvbnNpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAuZW1iZWRfcmVzcG9uc2l2ZV9pdGVtLFxuICAgIGlmcmFtZSxcbiAgICBlbWJlZCxcbiAgICBvYmplY3QsXG4gICAgdmlkZW8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZV8yMWJ5OSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoOSAvIDIxKTtcbiAgICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlXzE2Ynk5IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg5IC8gMTYpO1xuICAgIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmVfNGJ5MyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoMyAvIDQpO1xuICAgIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmVfMWJ5MSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoMSAvIDEpO1xuICAgIH1cbn1cblxuXG4uaW1nLWZsdWlkIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uaW1nLWNvdmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4uaW1nLXBvc2l0aW9uLWJvdHRvbSB7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xufVxuXG4uaW1nLWNvbnRhaW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLmljby1zdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5oaWRlIHtcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4vLyBWaXN1YWxseSBoaWRkZW5cblxuLnZpc3VhbGx5LWhpZGRlbixcbi52aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1sZWZ0ICAgICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNlbnRlciAgICB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4udGV4dC1yaWdodCAgICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4udGV4dC1qdXN0aWZ5ICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuXG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi5tYi0wIFx0XHRcdCB7IG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50OyB9XG4ubWItMTAgXHRcdFx0IHsgbWFyZ2luLWJvdHRvbTogc2l6ZS1yZWwoMTBweCkgIWltcG9ydGFudDsgfVxuLm1iLTIwIFx0XHRcdCB7IG1hcmdpbi1ib3R0b206IHNpemUtcmVsKDIwcHgpICFpbXBvcnRhbnQ7IH1cbi5tYi0zMCBcdFx0XHQgeyBtYXJnaW4tYm90dG9tOiBzaXplLXJlbCgzMHB4KSAhaW1wb3J0YW50OyB9XG4ubWItNDAgXHRcdFx0IHsgbWFyZ2luLWJvdHRvbTogc2l6ZS1yZWwoNDBweCkgIWltcG9ydGFudDsgfVxuLm1iLTUwIFx0XHRcdCB7IG1hcmdpbi1ib3R0b206IHNpemUtcmVsKDUwcHgpICFpbXBvcnRhbnQ7IH1cbi5tYi02MCBcdFx0XHQgeyBtYXJnaW4tYm90dG9tOiBzaXplLXJlbCg2MHB4KSAhaW1wb3J0YW50OyB9XG5cbi5tYi0xIHsgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4ubWItMTUgeyBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuLm1iLTIgeyBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cbi5tYi0yNSB7IG1hcmdpbi1ib3R0b206IDIuNXJlbSAhaW1wb3J0YW50OyB9XG4ubWItMyB7IG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuLm1iLTM1IHsgbWFyZ2luLWJvdHRvbTogMy41cmVtICFpbXBvcnRhbnQ7IH1cbi5tYi00IHsgbWFyZ2luLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5kLWZsZXggeyBkaXNwbGF5OiBmbGV4O31cbi5hbGlnbi1jZW50ZXIgeyBhbGlnbi1pdGVtczogY2VudGVyO31cbi5hbGlnbi1zdGFydCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O31cbi5hbGlnbi1lbmQgeyBhbGlnbi1pdGVtczogZmxleC1lbmQ7fVxuLmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuIH07XG4uanVzdGlmeS1jb250ZW50LXN0YXJ0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0IH07XG4uanVzdGlmeS1jb250ZW50LWVuZCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgfTtcbi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgfTtcblxuLnctMTAwIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbG9yLXllbGxvdyB7XG4gICAgY29sb3I6ICR5ZWxsb3cgIWltcG9ydGFudDtcbn1cbiIsIltkYXRhLWZ1bGxzY3JlZW5dIHtcblx0bWluLWhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDEwMCk7XG59XG4iLCJcbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIHJlbSgyMCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDEwMjQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgcGFkZGluZzogMCByZW0oMTIpO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSgxMzI0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSgxNTY0KTtcbiAgICB9XG59XG4iLCJAaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAgIC5yb3cge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIuYnRuIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IHJlbSg2NSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgbGluZS1oZWlnaHQ6IHJlbSgyNCk7XG4gICAgcGFkZGluZzogcmVtKDExKSByZW0oMzIpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbSg0MCk7XG4gICAgdHJhbnNpdGlvbjogLjNzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiByZW0oMTQpO1xuICAgIH1cblxuICAgIHNwYW4gKyBpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxMCk7XG4gICAgfVxuXG4gICAgaSArIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDEwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0oNzMpO1xuICAgIH1cbn1cblxuLmJ0bi15ZWxsb3cge1xuICAgIGZpbGw6ICRkYXJrO1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICBiYWNrZ3JvdW5kOiAkeWVsbG93O1xuICAgIGJvcmRlci1jb2xvcjogJHllbGxvdztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBmaWxsOiAkZGFyaztcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHllbGxvdywgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJHllbGxvdywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHllbGxvdztcbiAgICB9XG59XG5cbi5idG4tcmVkIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRjkwOTA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0ZGOTA5MDtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHJlZDtcbiAgICB9XG59XG5cbi5idG4tYm9yZGVyIHtcbiAgICBjb2xvcjogIzA3MUMzRDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMDcxQzNEO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHJlZDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuL2lucHV0cyc7XG5AaW1wb3J0ICcuL2NoZWNrYm94ZXMnO1xuQGltcG9ydCAnLi9yYWRpb2J1dHRvbnMnO1xuQGltcG9ydCAnLi9jaG9pY2VzJztcbkBpbXBvcnQgJy4vcmFuZ2UnO1xuQGltcG9ydCAnLi9xdWFudGl0eSc7XG5cbi5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMzYpO1xufVxuIiwiaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSksXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG5pbnB1dCwgdGV4dGFyZWEge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpmb2N1czpyZXF1aXJlZDppbnZhbGlkIHsgYm9yZGVyLWNvbG9yOiByZWQgfVxuICAgICY6cmVxdWlyZWQ6dmFsaWQgeyBib3JkZXItY29sb3I6IGdyZWVuIH1cbn1cblxuOmFjdGl2ZSwgOmhvdmVyLCA6Zm9jdXMge1xuICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lLW9mZnNldDogMCAhaW1wb3J0YW50O1xufVxuXG5vcHRpb246OnNlbGVjdGlvbiB7YmFja2dyb3VuZDogI2NjYzt9XG5vcHRpb246Oi1tb3otc2VsZWN0aW9uIHtiYWNrZ3JvdW5kOiAjY2NjO31cbm9wdGlvbjo6LXdlYmtpdC1zZWxlY3Rpb24ge2JhY2tncm91bmQ6ICNjY2M7IGNvbG9yOiNmZmY7fVxuXG4uZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICRpbnB1dC1zZWxlY3RvcjogXCJpbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPWVtYWlsXSwgaW5wdXRbdHlwZT1wYXNzd29yZF0sIHRleHRhcmVhXCI7XG5cbiAgICAjeyRpbnB1dC1zZWxlY3Rvcn0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHJlbSg2NSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDIzKTtcbiAgICAgICAgcGFkZGluZzogcmVtKDIwKSByZW0oMzApO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm9yZGVyOiByZW0oMSkgc29saWQgJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlcihyZ2JhKDcsIDI4LCA2MSwgMC4yKSk7XG5cbiAgICAgICAgJjo6LW1zLWNsZWFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlcih0cmFuc3BhcmVudCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgICYuZXJyb3Ige1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZWQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIGZpbGw6ICM1YjNkMzg7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjc1cmVtKTtcbiAgICAgICAgbGVmdDogcmVtKDE2KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMjQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cblxuICAgICYtLWljb24ge1xuXG4gICAgICAgICN7JGlucHV0LXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg0OCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG5cbiAgICAgICAgI3skaW5wdXQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDczKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgyNCkgcmVtKDUwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcmV0dHktY2hlY2tib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICY6Zm9jdXMgKyAucHJldHR5LWNoZWNrYm94X19sYWJlbCB7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4ICMwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQgKyAucHJldHR5LWNoZWNrYm94X19sYWJlbCB7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGUgOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZSA6IG5vbmU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtIDogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0IDogMC40cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoIDogMC44cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzIDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGggOiAycHg7XG4gICAgICAgICAgICAgICAgdG9wIDogcmVtKDUpO1xuICAgICAgICAgICAgICAgIGxlZnQgOiByZW0oNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkICsgLnByZXR0eS1jaGVja2JveF9fbGFiZWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBjb2xvcjogIzNhM2EzYTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDIwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgzMCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMjApO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMjApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0oMyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICBjb250ZW50IDogJyc7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgaGVpZ2h0IDogcmVtKDIwKTtcbiAgICAgICAgICAgIHdpZHRoIDogcmVtKDIwKTtcbiAgICAgICAgICAgIGJvcmRlciA6IDFweCBzb2xpZCAjREZFM0U3O1xuICAgICAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXMgOiByZW0oNCk7XG4gICAgICAgICAgICB0b3AgOiAwO1xuICAgICAgICAgICAgbGVmdCA6IDA7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24gOiAxMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHRyYW5zaXRpb24gOiAxMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLnByZXR0eS1yYWRpbyB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBjb2xvcjogIzNhM2EzYTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDIwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgzMCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IHJlbSgyMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgyMCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiByZW0oNSk7XG4gICAgICAgICAgICBsZWZ0OiByZW0oNSk7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDEwKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDEwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgIC8vICAgdHJhbnNmb3JtOiBzY2FsZSgzKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJl9faW5wdXQ6Y2hlY2tlZCArIC5wcmV0dHktcmFkaW9fX2xhYmVsIHtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24gOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4zNSwgMC45LCAwLjQsIDAuOSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbnB1dDpkaXNhYmxlZCArIC5wcmV0dHktcmFkaW9fX2xhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cbn1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPSAgICAgICAgICAgIENob2ljZXMgICAgICAgICAgICA9XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuJGNob2ljZXMtc2VsZWN0b3I6ICdjaG9pY2VzJyAhZGVmYXVsdDtcbiRjaG9pY2VzLWZvbnQtc2l6ZS1sZzogc2l6ZS1yZWwoMTZweCkgIWRlZmF1bHQ7XG4kY2hvaWNlcy1mb250LXNpemUtbWQ6IHNpemUtcmVsKDE0cHgpICFkZWZhdWx0O1xuJGNob2ljZXMtZm9udC1zaXplLXNtOiBzaXplLXJlbCgxMnB4KSAhZGVmYXVsdDtcbiRjaG9pY2VzLWd1dHRlcmluZzogc2l6ZS1yZWwoMjRweCkgIWRlZmF1bHQ7XG4kY2hvaWNlcy1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kY2hvaWNlcy1ib3JkZXItcmFkaXVzLWl0ZW06IDNweCAhZGVmYXVsdDtcbiRjaG9pY2VzLWJnLWNvbG9yOiAjZmZmZmZmICFkZWZhdWx0O1xuJGNob2ljZXMtYmctY29sb3ItZGlzYWJsZWQ6ICNlYWVhZWEgIWRlZmF1bHQ7XG4kY2hvaWNlcy1iZy1jb2xvci1kcm9wZG93bjogI2ZmZmZmZiAhZGVmYXVsdDtcbiRjaG9pY2VzLXRleHQtY29sb3I6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kY2hvaWNlcy1rZXlsaW5lLWNvbG9yOiAjNWIzZDM4ICFkZWZhdWx0O1xuJGNob2ljZXMtcHJpbWFyeS1jb2xvcjogIzAwYmNkNCAhZGVmYXVsdDtcbiRjaG9pY2VzLWRpc2FibGVkLWNvbG9yOiAjZWFlYWVhICFkZWZhdWx0O1xuJGNob2ljZXMtaGlnaGxpZ2h0LWNvbG9yOiAkY2hvaWNlcy1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNob2ljZXMtYnV0dG9uLWRpbWVuc2lvbjogOHB4ICFkZWZhdWx0O1xuJGNob2ljZXMtYnV0dG9uLW9mZnNldDogOHB4ICFkZWZhdWx0O1xuJGNob2ljZXMtaWNvbi1jcm9zczogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qRWlJR2hsYVdkb2REMGlNakVpSUhacFpYZENiM2c5SWpBZ01DQXlNU0F5TVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0OFp5Qm1hV3hzUFNJalJrWkdJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpUGp4d1lYUm9JR1E5SWsweUxqVTVNaTR3TkRSc01UZ3VNelkwSURFNExqTTJOQzB5TGpVME9DQXlMalUwT0V3dU1EUTBJREl1TlRreWVpSXZQanh3WVhSb0lHUTlJazB3SURFNExqTTJORXd4T0M0ek5qUWdNR3d5TGpVME9DQXlMalUwT0V3eUxqVTBPQ0F5TUM0NU1USjZJaTgrUEM5blBqd3ZjM1puUGc9PSkgIWRlZmF1bHQ7XG4kY2hvaWNlcy1pY29uLWNyb3NzLWludmVyc2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNakVpSUdobGFXZG9kRDBpTWpFaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TVNBeU1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNDhaeUJtYVd4c1BTSWpNREF3SWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaVBqeHdZWFJvSUdROUlrMHlMalU1TWk0d05EUnNNVGd1TXpZMElERTRMak0yTkMweUxqVTBPQ0F5TGpVME9Fd3VNRFEwSURJdU5Ua3llaUl2UGp4d1lYUm9JR1E5SWswd0lERTRMak0yTkV3eE9DNHpOalFnTUd3eUxqVTBPQ0F5TGpVME9Fd3lMalUwT0NBeU1DNDVNVEo2SWk4K1BDOW5Qand2YzNablBnPT0pICFkZWZhdWx0O1xuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2hvaWNlcy1ndXR0ZXJpbmc7XG4gICAgZm9udC1zaXplOiAkY2hvaWNlcy1mb250LXNpemUtbGc7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgICYuaXMtZGlzYWJsZWQge1xuICAgICAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyLFxuICAgICAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWJnLWNvbG9yLWRpc2FibGVkO1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1mb2N1c2VkIHtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgfVxuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj0nc2VsZWN0LW9uZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oOCk7XG4gICAgfVxuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2hvaWNlcy1rZXlsaW5lLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGNob2ljZXMtaWNvbi1jcm9zcy1pbnZlcnNlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgtMTApO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgyNSk7XG4gICAgICAgIGhlaWdodDogcmVtKDIwKTtcbiAgICAgICAgd2lkdGg6IHJlbSgyMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSgxMCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRjaG9pY2VzLWhpZ2hsaWdodC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW1bZGF0YS12YWx1ZT0nJ10gLiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNob2ljZXMtdGV4dC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0oNSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IHJlbSgxMS41KTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgtMyk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAmLmlzLW9wZW46YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjaG9pY2VzLXRleHQtY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgtOCk7XG4gICAgfVxuICAgICZbZGlyPSdydGwnXSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogcmVtKDEyKTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMjUpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj0nc2VsZWN0LW11bHRpcGxlJ10sXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj0ndGV4dCddIHtcbiAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyIHtcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgIH1cbiAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2J1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oOCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDE2KTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZW4oJGNob2ljZXMtcHJpbWFyeS1jb2xvciwgMTAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGNob2ljZXMtaWNvbi1jcm9zcztcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiByZW0oOCk7XG4gICAgICAgIHdpZHRoOiByZW0oOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hvaWNlcy1iZy1jb2xvcjtcbiAgICBwYWRkaW5nOiByZW0oMTEpIHJlbSgxMikgcmVtKDExKSByZW0oMjApO1xuICAgIGJvcmRlcjogcmVtKDEpIHNvbGlkICRjaG9pY2VzLWtleWxpbmUtY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtKDQpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBsaW5lLWhlaWdodDogcmVtKDI0KTtcbiAgICBtaW4taGVpZ2h0OiByZW0oNDgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLmlzLWZvY3VzZWQgJixcbiAgICAuaXMtb3BlbiAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNob2ljZXMta2V5bGluZS1jb2xvciwgMTUlKTtcbiAgICB9XG4gICAgLmlzLW9wZW4gJiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgfVxuICAgIC5pcy1mbGlwcGVkLmlzLW9wZW4gJiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkY2hvaWNlcy1ib3JkZXItcmFkaXVzICRjaG9pY2VzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1zaW5nbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDQpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxNik7XG4gICAgfVxuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0LS1tdWx0aXBsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDQpO1xuICAgICAgICBwYWRkaW5nOiByZW0oNCkgcmVtKDYpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMTQpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtYXJnaW46IHJlbSgyKSByZW0oNCkgcmVtKDIpIDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLXByaW1hcnktY29sb3I7XG4gICAgICAgIGJvcmRlcjogcmVtKDEpIHNvbGlkIGRhcmtlbigkY2hvaWNlcy1wcmltYXJ5LWNvbG9yLCA1JSk7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgJltkYXRhLWRlbGV0YWJsZV0ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1oaWdobGlnaHRlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNob2ljZXMtcHJpbWFyeS1jb2xvciwgNSUpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCRjaG9pY2VzLXByaW1hcnktY29sb3IsIDEwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtZGlzYWJsZWQgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNob2ljZXMtZGlzYWJsZWQtY29sb3IsIDI1JSk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJGNob2ljZXMtZGlzYWJsZWQtY29sb3IsIDM1JSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hvaWNlcy1iZy1jb2xvci1kcm9wZG93bjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hvaWNlcy1rZXlsaW5lLWNvbG9yO1xuICAgIHRvcDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiByZW0oLTEpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6cmVtKDUpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiByZW0oNSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgd2lsbC1jaGFuZ2U6IHZpc2liaWxpdHk7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgICAuaXMtb3BlbiAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNob2ljZXMta2V5bGluZS1jb2xvciwgMTUlKTtcbiAgICB9XG4gICAgLmlzLWZsaXBwZWQgJiB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oLTEpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0oNCkgcmVtKDQpIDAgMDtcbiAgICB9XG4gICAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtaGVpZ2h0OiByZW0oMzAwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHNjcm9sbC1wb3NpdGlvbjtcbiAgICB9XG4gICAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTApO1xuICAgICAgICBmb250LXNpemU6ICRjaG9pY2VzLWZvbnQtc2l6ZS1tZDtcbiAgICAgICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0tLXNlbGVjdGFibGUge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxMDApO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIC8vICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1zZWxlY3QtdGV4dCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkY2hvaWNlcy1mb250LXNpemUtc207XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbSgxMCk7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxMDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxMCk7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJlbSgxMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaXMtaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCMwMDAwMDAsICNmZmZmZmYsIDUlKTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtLS1zZWxlY3RhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbS0tZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2hlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAkY2hvaWNlcy1mb250LXNpemUtc207XG4gICAgcGFkZGluZzogcmVtKDEwKTtcbiAgICBib3JkZXItYm90dG9tOiByZW0oMSkgc29saWQgbGlnaHRlbigkY2hvaWNlcy1rZXlsaW5lLWNvbG9yLCAxMCUpO1xuICAgIGNvbG9yOiBsaWdodGVuKCMzMzMsIDMwJSk7XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWJnLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGNob2ljZXMtZm9udC1zaXplLW1kO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgyKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG4vKj09PT09ICBFbmQgb2YgQ2hvaWNlcyAgPT09PT09Ki9cbiIsIi8qIEZ1bmN0aW9uYWwgc3R5bGluZztcbiAqIFRoZXNlIHN0eWxlcyBhcmUgcmVxdWlyZWQgZm9yIG5vVWlTbGlkZXIgdG8gZnVuY3Rpb24uXG4gKiBZb3UgZG9uJ3QgbmVlZCB0byBjaGFuZ2UgdGhlc2UgcnVsZXMgdG8gYXBwbHkgeW91ciBkZXNpZ24uXG4gKi9cbi5ub1VpLXRhcmdldCxcbi5ub1VpLXRhcmdldCAqIHtcblx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLm5vVWktdGFyZ2V0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm5vVWktYmFzZSxcbi5ub1VpLWNvbm5lY3RzIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xufVxuLyogV3JhcHBlciBmb3IgYWxsIGNvbm5lY3QgZWxlbWVudHMuXG4gKi9cbi5ub1VpLWNvbm5lY3RzIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ei1pbmRleDogMDtcbn1cbi5ub1VpLWNvbm5lY3QsXG4ubm9VaS1vcmlnaW4ge1xuXHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDE7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuXHQtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cdHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcblx0dHJhbnNmb3JtLXN0eWxlOiBmbGF0O1xufVxuLyogT2Zmc2V0IGRpcmVjdGlvblxuICovXG4ubm9VaS10eHQtZGlyLXJ0bC5ub1VpLWhvcml6b250YWwgLm5vVWktb3JpZ2luIHtcblx0bGVmdDogMDtcblx0cmlnaHQ6IGF1dG87XG59XG4vKiBHaXZlIG9yaWdpbnMgMCBoZWlnaHQvd2lkdGggc28gdGhleSBkb24ndCBpbnRlcmZlcmUgd2l0aCBjbGlja2luZyB0aGVcbiAqIGNvbm5lY3QgZWxlbWVudHMuXG4gKi9cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLW9yaWdpbiB7XG5cdHRvcDogLTEwMCU7XG5cdHdpZHRoOiAwO1xufVxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1vcmlnaW4ge1xuXHRoZWlnaHQ6IDA7XG59XG4ubm9VaS1oYW5kbGUge1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5ub1VpLXRvdWNoLWFyZWEge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xufVxuLm5vVWktc3RhdGUtdGFwIC5ub1VpLWNvbm5lY3QsXG4ubm9VaS1zdGF0ZS10YXAgLm5vVWktb3JpZ2luIHtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4ubm9VaS1zdGF0ZS1kcmFnICoge1xuXHRjdXJzb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cbi8qIFNsaWRlciBzaXplIGFuZCBoYW5kbGUgcGxhY2VtZW50O1xuICovXG4ubm9VaS1ob3Jpem9udGFsIHtcblx0aGVpZ2h0OiAxOHB4O1xufVxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xuXHR3aWR0aDogMzRweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRyaWdodDogLTE3cHg7XG5cdHRvcDogLTZweDtcbn1cbi5ub1VpLXZlcnRpY2FsIHtcblx0d2lkdGg6IDE4cHg7XG59XG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGUge1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAzNHB4O1xuXHRyaWdodDogLTZweDtcblx0Ym90dG9tOiAtMTdweDtcbn1cbi5ub1VpLXR4dC1kaXItcnRsLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xuXHRsZWZ0OiAtMTdweDtcblx0cmlnaHQ6IGF1dG87XG59XG4vKiBTdHlsaW5nO1xuICogR2l2aW5nIHRoZSBjb25uZWN0IGVsZW1lbnQgYSBib3JkZXIgcmFkaXVzIGNhdXNlcyBpc3N1ZXMgd2l0aCB1c2luZyB0cmFuc2Zvcm06IHNjYWxlXG4gKi9cbi5ub1VpLXRhcmdldCB7XG5cdGJhY2tncm91bmQ6ICNmYWZhZmE7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyOiAxcHggc29saWQgI2QzZDNkMztcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4ICNmMGYwZjAsIDAgM3B4IDZweCAtNXB4ICNiYmI7XG59XG4ubm9VaS1jb25uZWN0cyB7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5ub1VpLWNvbm5lY3Qge1xuXHRiYWNrZ3JvdW5kOiAjM2ZiOGFmO1xufVxuLyogSGFuZGxlcyBhbmQgY3Vyc29ycztcbiAqL1xuLm5vVWktZHJhZ2dhYmxlIHtcblx0Y3Vyc29yOiBldy1yZXNpemU7XG59XG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1kcmFnZ2FibGUge1xuXHRjdXJzb3I6IG5zLXJlc2l6ZTtcbn1cbi5ub1VpLWhhbmRsZSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4ICNmZmYsIGluc2V0IDAgMXB4IDdweCAjZWJlYmViLCAwIDNweCA2cHggLTNweCAjYmJiO1xufVxuLm5vVWktYWN0aXZlIHtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAjZmZmLCBpbnNldCAwIDFweCA3cHggI2RkZCwgMCAzcHggNnB4IC0zcHggI2JiYjtcbn1cbi8qIEhhbmRsZSBzdHJpcGVzO1xuICovXG4ubm9VaS1oYW5kbGU6YmVmb3JlLFxuLm5vVWktaGFuZGxlOmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0aGVpZ2h0OiAxNHB4O1xuXHR3aWR0aDogMXB4O1xuXHRiYWNrZ3JvdW5kOiAjZThlN2U2O1xuXHRsZWZ0OiAxNHB4O1xuXHR0b3A6IDZweDtcbn1cbi5ub1VpLWhhbmRsZTphZnRlciB7XG5cdGxlZnQ6IDE3cHg7XG59XG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGU6YmVmb3JlLFxuLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlOmFmdGVyIHtcblx0d2lkdGg6IDE0cHg7XG5cdGhlaWdodDogMXB4O1xuXHRsZWZ0OiA2cHg7XG5cdHRvcDogMTRweDtcbn1cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZTphZnRlciB7XG5cdHRvcDogMTdweDtcbn1cbi8qIERpc2FibGVkIHN0YXRlO1xuICovXG5bZGlzYWJsZWRdIC5ub1VpLWNvbm5lY3Qge1xuXHRiYWNrZ3JvdW5kOiAjYjhiOGI4O1xufVxuW2Rpc2FibGVkXS5ub1VpLXRhcmdldCxcbltkaXNhYmxlZF0ubm9VaS1oYW5kbGUsXG5bZGlzYWJsZWRdIC5ub1VpLWhhbmRsZSB7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4vKiBCYXNlO1xuICpcbiAqL1xuLm5vVWktcGlwcyxcbi5ub1VpLXBpcHMgKiB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ubm9VaS1waXBzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRjb2xvcjogIzk5OTtcbn1cbi8qIFZhbHVlcztcbiAqXG4gKi9cbi5ub1VpLXZhbHVlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubm9VaS12YWx1ZS1zdWIge1xuXHRjb2xvcjogI2NjYztcblx0Zm9udC1zaXplOiAxMHB4O1xufVxuLyogTWFya2luZ3M7XG4gKlxuICovXG4ubm9VaS1tYXJrZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQ6ICNjY2M7XG59XG4ubm9VaS1tYXJrZXItc3ViIHtcblx0YmFja2dyb3VuZDogI2FhYTtcbn1cbi5ub1VpLW1hcmtlci1sYXJnZSB7XG5cdGJhY2tncm91bmQ6ICNhYWE7XG59XG4vKiBIb3Jpem9udGFsIGxheW91dDtcbiAqXG4gKi9cbi5ub1VpLXBpcHMtaG9yaXpvbnRhbCB7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0aGVpZ2h0OiA4MHB4O1xuXHR0b3A6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xufVxuLm5vVWktdmFsdWUtaG9yaXpvbnRhbCB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG59XG4ubm9VaS1ydGwgLm5vVWktdmFsdWUtaG9yaXpvbnRhbCB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgNTAlKTtcbn1cbi5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyIHtcblx0bWFyZ2luLWxlZnQ6IC0xcHg7XG5cdHdpZHRoOiAycHg7XG5cdGhlaWdodDogNXB4O1xufVxuLm5vVWktbWFya2VyLWhvcml6b250YWwubm9VaS1tYXJrZXItc3ViIHtcblx0aGVpZ2h0OiAxMHB4O1xufVxuLm5vVWktbWFya2VyLWhvcml6b250YWwubm9VaS1tYXJrZXItbGFyZ2Uge1xuXHRoZWlnaHQ6IDE1cHg7XG59XG4vKiBWZXJ0aWNhbCBsYXlvdXQ7XG4gKlxuICovXG4ubm9VaS1waXBzLXZlcnRpY2FsIHtcblx0cGFkZGluZzogMCAxMHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMTAwJTtcbn1cbi5ub1VpLXZhbHVlLXZlcnRpY2FsIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cdHBhZGRpbmctbGVmdDogMjVweDtcbn1cbi5ub1VpLXJ0bCAubm9VaS12YWx1ZS12ZXJ0aWNhbCB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDUwJSk7XG59XG4ubm9VaS1tYXJrZXItdmVydGljYWwubm9VaS1tYXJrZXIge1xuXHR3aWR0aDogNXB4O1xuXHRoZWlnaHQ6IDJweDtcblx0bWFyZ2luLXRvcDogLTFweDtcbn1cbi5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlci1zdWIge1xuXHR3aWR0aDogMTBweDtcbn1cbi5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlci1sYXJnZSB7XG5cdHdpZHRoOiAxNXB4O1xufVxuLm5vVWktdG9vbHRpcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0Y29sb3I6ICMwMDA7XG5cdHBhZGRpbmc6IDVweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS10b29sdGlwIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG5cdGxlZnQ6IDUwJTtcblx0Ym90dG9tOiAxMjAlO1xufVxuLm5vVWktdmVydGljYWwgLm5vVWktdG9vbHRpcCB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXHR0b3A6IDUwJTtcblx0cmlnaHQ6IDEyMCU7XG59XG4ubm9VaS1ob3Jpem9udGFsIC5ub1VpLW9yaWdpbiA+IC5ub1VpLXRvb2x0aXAge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDApO1xuXHRsZWZ0OiBhdXRvO1xuXHRib3R0b206IDEwcHg7XG59XG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1vcmlnaW4gPiAubm9VaS10b29sdGlwIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTE4cHgpO1xuXHR0b3A6IGF1dG87XG5cdHJpZ2h0OiAyOHB4O1xufVxuIiwiLnF1YW50aXR5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuIC8vICAgd2lkdGg6IHJlbSg4MCk7XG4gICAgaGVpZ2h0OiByZW0oNDgpO1xuICAgIHBhZGRpbmc6IDAgcmVtKDQ2KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgJGlucHV0LXNlbGVjdG9yOiBcImlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9bnVtYmVyXVwiO1xuXG4gICAgI3skaW5wdXQtc2VsZWN0b3J9IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGhlaWdodDogcmVtKDQ2KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTEpIDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBib3JkZXI6IHJlbSgxKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIodHJhbnNwYXJlbnQpO1xuXG4gICAgICAgICY6Oi1tcy1jbGVhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKHRyYW5zcGFyZW50KTtcblxuICAgICAgICB9XG5cblxuICAgICAgICAmLmVycm9yIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB3aWR0aDogcmVtKDQ2KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oNDYpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWludXMge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBsdXMge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLmJyZWFkY3J1bWIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCByZW0oMjApIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfigLonO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDYpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIltkYXRhLXRhYnMtdGFyZ2V0XSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG5cblxuLnRhYnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNpemUtcmVsKDMycHgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMWYxZjE7XG4gICAgfVxuXG4gICAgJl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcblxuICAgIH1cblxuICAgICZfX2J0biB7XG4gICAgICAgIHBhZGRpbmc6IHNpemUtcmVsKDEycHgpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAgc2l6ZS1yZWwoMTJweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBzaXplLXJlbCgyMHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHggNnB4IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQsIGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIH1cbn1cbiIsIltkYXRhLWNvbGxhcHNlXSB7XG5cbiAgICAmLm9wZW4ge1xuXG4gICAgICAgIFtkYXRhLWNvbGxhcHNlLWNvbnRlbnRdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBbZGF0YS1jb2xsYXBzZS1jb250cm9sXSB7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtY29sbGFwc2UtY2xvc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5bZGF0YS1jb2xsYXBzZS1jb250ZW50XSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lsbC1jaGFuZ2U6IG1heC1oZWlnaHQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG59XG5cbltkYXRhLWNvbGxhcHNlLWNvbnRyb2xdIHtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWNvbGxhcHNlLW9wZW4pO1xuICAgIH1cbn1cbiIsIltkYXRhLXNwb2lsZXItY29udGVudF0ge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXgtaGVpZ2h0OiAwO1xuXHRvcGFjaXR5OiAwO1xuXHR3aWxsLWNoYW5nZTogbWF4LWhlaWdodDtcblx0dHJhbnNpdGlvbjogLjNzO1xufVxuXG5bZGF0YS1zcG9pbGVyXSB7XG5cblx0Ji5vcGVuIHtcblxuXHRcdFtkYXRhLXNwb2lsZXItY29udGVudF0ge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zaXRpb246IC4zcztcblx0XHR9XG5cdH1cbn1cblxuLnNwb2lsZXJzIHtcblxuXHQmX19pdGVtIHtcblx0XHRib3JkZXItYm90dG9tOiAzcHggc29saWQgI2YwZjBmMDtcblx0XHRtYXJnaW46IDAgMCByZW0oOCk7XG5cblx0XHQmLm9wZW4ge1xuXG5cdFx0XHQuc3BvaWxlcnNfX2ljb24ge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcblx0XHRcdFx0dHJhbnNpdGlvbjogLjNzO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2hlYWRlciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmc6IHJlbSg4KSAwO1xuXHRcdGNvbG9yOiAjMDAwO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRmb250LXNpemU6IHJlbSgxOCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgyNCk7XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZy1yaWdodDogcmVtKDgpO1xuXHR9XG5cblx0Jl9faWNvbiB7XG5cdFx0Zm9udC1zaXplOiAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogcmVtKDI0KTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dHJhbnNpdGlvbjogLjNzO1xuXHRcdGZpbGw6ICMwMDA7XG5cdFx0ZmxleC1zaHJpbms6IDA7XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0fVxuXG5cdCZfX3dyYXAge1xuXHRcdHBhZGRpbmc6IHJlbSg4KSAwO1xuXHR9XG59IiwiW2RhdGEtZHJvcGRvd25dIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLm9wZW4ge1xuICAgICAgICB6LWluZGV4OiA1MDtcblxuICAgICAgICBbZGF0YS1kcm9wZG93bi1jb250ZW50XSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2RhdGEtZHJvcGRvd24tdG9nZ2xlXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5bZGF0YS1kcm9wZG93bi1jb250ZW50XSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogcmVtKDQpO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0oNCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA2cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgcGFkZGluZzogcmVtKDYpIHJlbSgyMCk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnJhdGluZyB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX19ib2R5IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2FjdGl2ZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmlsbDogZ29sZDtcbiAgICB9XG5cbiAgICAmX19zdGFycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZpbGw6IGxpZ2h0Z3JleTtcbiAgICB9XG5cbiAgICAmX19zdGFyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGhlaWdodDogcmVtKDI0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgICZfX2l0ZW1zIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGNvbG9yOiBnb2xkO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsZXg6IDAgMCAyMCU7XG5cbiAgICB9XG5cbiAgICAmX192YWx1ZSB7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDEwKTtcbiAgICB9XG59XG5cbltkYXRhLXJhdGluZy1yZWFkb25seT0ndHJ1ZSddIHtcblxuICAgIC5yYXRpbmdfX2l0ZW0ge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxufVxuXG5cbi5zaW1wbGUtcmF0aW5nIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgIGhlaWdodDogMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgY29sb3I6IGdvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg0MCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcztcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAn4piGJztcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbTpjaGVja2VkLFxuICAgICZfX2l0ZW06Y2hlY2tlZCB+IC5zaW1wbGUtcmF0aW5nX19sYWJlbCB7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ+KYhSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbDpob3ZlcixcbiAgICAmX19sYWJlbDpob3ZlciB+IC5zaW1wbGUtcmF0aW5nX19sYWJlbCxcbiAgICAmX19sYWJlbDpjaGVja2VkIH4gLnNpbXBsZS1yYXRpbmdfX2xhYmVsOmhvdmVyIHtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAn4piFJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5oZWFkZXIge1xuICAgIHotaW5kZXg6IDgwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg1KTtcblxuICAgICZfX21haW4ge1xuICAgICAgICBoZWlnaHQ6IHJlbSg1OCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg0MCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICB3aWR0aDogMTE0cHg7XG4gICAgfVxuXG4gICAgJl9fcGhvbmUge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGFtYnVyZ2VyIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAxMnB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblxuICAgICAgICAmX19tYWluIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg5MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNzQpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDEzNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMzJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblxuICAgICAgICAmX19tYWluIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19oYW1idXJnZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHt9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuXG4gICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTA0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhhbWJ1cmdlciB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJl9faW5uZXIge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuXG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxMnB4KTtcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgNHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlYWRlci1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGhlaWdodDogcmVtKDc0KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgzMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgPiAuaGVhZGVyLW5hdl9fbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkZXItbmF2IHtcblxuICAgICAgICAgICAgICAgICZfX2Ryb3Bkb3duIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg3KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDEwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kcm9wZG93biB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgbGVmdDogcmVtKC00OCk7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCByZW0oNDgpIHJlbSgzNikgcmVtKDQ4KTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDQwcHggNDBweDtcbiAgICB9XG5cbiAgICAmX19lbGVtIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oNDgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgxMDQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9iaWxlLW5hdiB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiByZW0oNDgwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDYwKTtcbiAgICB6LWluZGV4OiA5OTA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNDApO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMjApO1xuICAgICAgICBoZWlnaHQ6IHJlbSg2Myk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmX19waG9uZSB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDMwKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIHJlbSg0MCk7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGNvbG9yOiAjMDEyNDNFO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMCkgMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbSg2MDApO1xuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg5MCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTApO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oOTApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNzQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG4uLW5hdi1vcGVuLSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAubW9iaWxlLW5hdiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlciB7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpIHRyYW5zbGF0ZVgoMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtN3B4KSB0cmFuc2xhdGVYKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogIzEwMkI1NztcbiAgICBwYWRkaW5nLXRvcDogcmVtKDc0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDUwKTtcblxuICAgICZfX3dyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fcHJpbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIHdpZHRoOiByZW0oMTMwKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fY29weSB7XG4gICAgICAgIGNvbG9yOiAjNzY4QUFBO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmX19tb2JpbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTApO1xuICAgIH1cblxuICAgICZfX2Rlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblxuICAgICAgICAmX19sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMTUwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg2MCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNDgpO1xuXG4gICAgICAgICZfX3NlY29uZGFyeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZGVza3RvcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDgpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXG4gICAgICAgICZfX2Rlc2t0b3Age1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NlY29uZGFyeSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogNTA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29weSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgzMik7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxMDgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDY0KTtcblxuICAgICAgICAmX19sb2dvIHtcbiAgICAgICAgICAgIHRvcDogcmVtKC0xOCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDE4OCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb3B5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTMwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG5cbiAgICAgICAgJl9fY29weSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgyNDgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9vdGVyLXNvY2lhbCB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJl9faXRlbSB7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBmaWxsOiAjMTAyQjU3O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IHJlbSg0MCk7XG4gICAgICAgIGhlaWdodDogcmVtKDQwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICZfX2l0ZW0ge1xuXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDIzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG5cbiAgICB9XG59XG5cbi5mb290ZXItY29udGFjdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCByZW0oNTApIDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBsaW5lLWhlaWdodDogcmVtKDI3KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzNSk7XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNjgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwKTtcbiAgICB9XG59XG5cbi5mb290ZXItbmF2IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBsaW5lLWhlaWdodDogcmVtKDI3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtcm93LWdhcDogcmVtKDIwKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgd2lkdGg6IHJlbSgyMzApO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgd2lkdGg6IHJlbSgzMjApO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxMDApO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDEwMCk7XG4gICAgICAgIGdyaWQtY29sdW1uLWdhcDogcmVtKDkwKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0byBhdXRvIGF1dG87XG4gICAgfVxufVxuXG4uZm9vdGVyLWxpbmtzIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgbGluZS1oZWlnaHQ6cmVtKDIwKTtcbiAgICBtYXJnaW46IDAgMCByZW0oMTUpIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1KTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDMyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBjb2xvcjogI0IzQzJEQjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg1NCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyMyk7XG4gICAgfVxufVxuXG5cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge31cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHt9XG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7fVxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge31cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7fVxuIiwiLnByb21vIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX21lZGlhIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgfVxuXG4gICAgJl9fYmcge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0yMDBweDtcbiAgICAgICAgcmlnaHQ6IC0xMDAwcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogcmVtKDcwKSByZW0oMjApIHJlbSgxNDQpIHJlbSgyMCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHotaW5kZXg6IDUwO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE4MHB4KTtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgICBib3R0b206IC04MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJl9fcGF0dGVybiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMik7XG4gICAgICAgIH1cblxuICAgICAgICAmX19iZyB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg5MCkgcmVtKDIwKSByZW0oMTk1KSByZW0oMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDUwOHB4O1xuICAgICAgICAgICAgYm90dG9tOiAtMTE3cHg7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDIyMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtKDYwMCk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oODApIHJlbSg2MCkgcmVtKDIwMCkgcmVtKDYwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMzUwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2JnIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogLTEwMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIGxlZnQ6IDQ0cHg7XG4gICAgICAgICAgICB3aWR0aDogNzA0cHg7XG4gICAgICAgICAgICBib3R0b206IC0xNzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3BhdHRlcm4ge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IC0xOThweDtcbiAgICAgICAgICAgIHdpZHRoOiA1NDRweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbSg0NDQpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDc0KSByZW0oNjApIHJlbSg3NCkgcmVtKDYwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3BhdHRlcm4ge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuXG4gICAgICAgICZfX2JnIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgbGVmdDogcmVtKDM4OCk7XG4gICAgICAgICAgICBib3R0b206IHJlbSgtMTg0KTtcbiAgICAgICAgICAgIHdpZHRoOiA3NjRweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxMjgpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTMwKTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbSg1ODgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQ4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDQwMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wYXR0ZXJuIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MzNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiA5NTZweDtcbiAgICAgICAgICAgIGxlZnQ6IHJlbSg1NzQpO1xuICAgICAgICAgICAgYm90dG9tOiByZW0oLTIyMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTUyKTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbSg2OTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDY0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wYXR0ZXJuIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDU3cHg7XG4gICAgICAgICAgICBsZWZ0OiByZW0oNjcyKTtcbiAgICAgICAgICAgIGJvdHRvbTogcmVtKC0yMTYpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5wcm9tby1saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiByZW0oMjkwKTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIHJlbSg0MCkgMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBsaW5lLWhlaWdodDogcmVtKDI2KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtcm93LWdhcDogcmVtKDE1KTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHJlbSgzMCk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogcmVtKDI0KTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZpbGw6ICR5ZWxsb3c7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTApO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzUpO1xuICAgICAgICB3aWR0aDogcmVtKDQ1MCk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuICAgICAgICB3aWR0aDogcmVtKDY1MCk7XG4gICAgICAgIGdyaWQtcm93LWdhcDogcmVtKDIwKTtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiByZW0oMTApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDM2KTtcbiAgICB9XG59XG4iLCIuYWR2YW50YWdlcyB7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDIzOCwgMjQ3LCAwLjcpO1xuICAgIHBhZGRpbmc6IHJlbSg3MCkgcmVtKDIwKSByZW0oNjApIHJlbSgyMCk7XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSgzODApO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBkaXNwbGF5OmdyaWQ7XG4gICAgICAgIGdyaWQtcm93LWdhcDogcmVtKDMwKTtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiByZW0oMTApO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiByZW0oMTIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1KTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyOCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19tYWluIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogcmVtKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDEyNikgcmVtKDMwKSByZW0oNjApIHJlbSg2MCk7XG5cbiAgICAgICAgJl9fbWFpbiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IHJlbSg2OCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oNDUwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDM2KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDYwKSByZW0oMzApIHJlbSg2MCkgcmVtKDYwKTtcblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oNTAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiByZW0oMzUpO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDgwKSByZW0oNjApIHJlbSg4MCkgcmVtKDEzMCk7XG5cbiAgICAgICAgJl9fbWFpbiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IHJlbSg1MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuICAgICAgICBwYWRkaW5nOiByZW0oMTEwKSByZW0oMTgyKSByZW0oMTIwKSByZW0oMTI2KTtcblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oNjUwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQ4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19tYWluIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogcmVtKDkwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcm9qZWN0cyB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg2MCk7XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBncmlkLXJvdy1nYXA6IHJlbSgzMCk7XG4gICAgICAgIGdyaWQtY29sdW1uLWdhcDogcmVtKDMwKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDcwKTtcblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg1Mik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWFpbiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXG4gICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgZ3JpZC1yb3ctZ2FwOiByZW0oMjApO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiByZW0oODApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDgwKTtcblxuICAgICAgICAmX19tYWluIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogcmVtKDI0KTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTAwKTtcblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg2Mik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWFpbiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IHJlbSg4MCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnByb2plY3QtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogcmVtKDQyKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTUpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDIxKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNCk7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDE1KTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDI3KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTApO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNjYpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuIiwiLmFib3V0IHtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgbGluZS1oZWlnaHQ6IHJlbSgyNCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiByZW0oNjApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNjApO1xuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZWRpYSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDcwKTtcblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oNTc0KTtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwKTtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWVkaWEge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiByZW0oNjApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wYXR0ZXJuIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMjAwcHg7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogNTQwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg3MCk7XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDY4MCk7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3BhdHRlcm4ge1xuICAgICAgICAgICAgcmlnaHQ6IC03MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDgwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg4MCk7XG5cbiAgICAgICAgJl9fbWVkaWEge1xuICAgICAgICAgICAgYm90dG9tOiByZW0oMTApO1xuICAgICAgICB9XG5cblxuICAgICAgICAmX19wYXR0ZXJuIHtcbiAgICAgICAgICAgIHJpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDYyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2ODRweDtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNyk7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTI4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxMDApO1xuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IHJlbSg3NjApO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3BhdHRlcm4ge1xuICAgICAgICAgICAgcmlnaHQ6IDIxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDg1OHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA5NDdweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zaG93Y2FzZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cbiAgICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oMTAyNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbSgyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG5cbiAgICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDEyKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDEzMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcblxuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oMTU2NCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICBwYWRkaW5nOiByZW0oMzApIHJlbSgyMCk7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwKTtcbiAgICB9XG5cbiAgICAmX19tZWRpYSB7XG4gICAgICAgIHdpZHRoOiByZW0oMjEwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG5cbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuXG4gICAgICAgIHAge1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgyMCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTUpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IHJlbSg3KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9jaGVja19saXN0LnN2Z1wiKSA1MCUgNTAlIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTApO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nOiByZW0oMzApO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21haW4ge1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX21lZGlhIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMzIwKTtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbjogMCByZW0oLTIwKSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMzAwKTtcblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDQwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2luZm8ge1xuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogcmVtKDYwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDMwKSByZW0oNDApO1xuXG4gICAgICAgICZfX21lZGlhIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMzYyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbiB7XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oNzApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tMDUge1xuXG4gICAgICAgICAgICAuaXRlbSB7XG5cbiAgICAgICAgICAgICAgICAmX19tZWRpYSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgtMzApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDM4KSByZW0oMzUpIHJlbSg1MCkgcmVtKDQ1KTtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19tZWRpYSB7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDQ3Nik7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDYwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2luZm8ge1xuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogcmVtKDEwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbnMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSgyNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IHJlbSgzNDApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjcpO1xuICAgICAgICBwYWRkaW5nOiByZW0oNzApIHJlbSgxMDApIHJlbSg3MCkgcmVtKDEzMCk7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNjApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWVkaWEge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oLTI2KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2luZm8ge1xuICAgICAgICAgICAgY29sdW1uLWdhcDogcmVtKDE1KTtcblxuICAgICAgICAgICAgbGkge1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbSg4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIub2ZmZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg3MCk7XG4gICAgcGFkZGluZzogcmVtKDE0MikgcmVtKDIwKTtcblxuICAgICZfX21haW4ge1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX21lZGlhIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0xMDBweDtcbiAgICAgICAgcmlnaHQ6IC0xMDAwcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICZfX3BhdHRlcm4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDM4MCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDYwKTtcbiAgICAgICAgbWluLWhlaWdodDogcmVtKDM5OCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4MCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgJl9fbWFpbiB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDM1MCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wYXR0ZXJuIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICByaWdodDogLTUwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDA0cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblxuICAgICAgICAmX19wYXR0ZXJuIHtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oODIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBoZWlnaHQ6IHJlbSg1MjQpO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0oNTI0KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTMwKTtcblxuICAgICAgICAmX19wYXR0ZXJuIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MzJweDtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMTA4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDI3KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDQyMCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oNDAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuICAgICAgICBoZWlnaHQ6IHJlbSg2MjApO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0oNjIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwMCk7XG5cbiAgICAgICAgJl9fcGF0dGVybiB7XG4gICAgICAgICAgICB3aWR0aDogNjMwcHg7XG4gICAgICAgICAgICByaWdodDogcmVtKDEzMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubW9kYWwge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwYWRkaW5nOiByZW0oNDApIHJlbSgyMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9tb2RhbF9iZy5qcGdcIikgNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICZfX2Nsb3NlIHtcbiAgICAgICAgdG9wOiByZW0oMTApO1xuICAgICAgICByaWdodDogcmVtKDEwKTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLWxpbmVjYXA9J3NxdWFyZScgc3Ryb2tlLW1pdGVybGltaXQ9JzUwJyBzdHJva2Utd2lkdGg9JzInIGQ9J00yMiAyTDIgMjInLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdzcXVhcmUnIHN0cm9rZS1taXRlcmxpbWl0PSc1MCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNMiAybDIwIDIwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSg0MzApO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oNDMwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwKTtcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oMzcwKTtcbiAgICB9XG5cbiAgICAmX19mb290bm90ZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICB3aWR0aDogcmVtKDYwMCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSg2MCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICB3aWR0aDogcmVtKDc4MCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDEyNSk7XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzNik7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDI3KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Nsb3NlIHtcbiAgICAgICAgICAgIHRvcDogcmVtKDIwKTtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMjApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oODApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDgwKTtcbiAgICB9XG59XG4iLCIucm9vdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ubWFpbiB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IHJlbSg1MCkgMDtcbiAgICBtaW4taGVpZ2h0OiByZW0oNDAwKTtcbn1cblxuXG4uc3dpcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5zZWN0aW9uLXdoaXRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwKTtcblxuICAgICYtLWZpcnN0IHtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDYwKTtcbiAgICB9XG59XG5cbi5zaG93Y2FzZSB7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgcGFkZGluZzogcmVtKDUwKSAwO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oODApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTAwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg2MCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg2MCk7XG4gICAgfVxufVxuXG4uc2VjdGlvbi1ibHVlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICMxOTNDNzU7XG59XG5cbi5kZWxpdmVyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDcwKTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtcm93LWdhcDogcmVtKDIwKTtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiByZW0oMjApO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oODApO1xuXG4gICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblxuICAgICAgICAmX19tYWluIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDk2KTtcblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250YWN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDIwKTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNSk7XG4gICAgfVxuXG4gICAgJl9fYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJl9fbWFwIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oNjAwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE5M0I3NTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMzApO1xuXG4gICAgICAgICZfX21hcCB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg1MDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTUpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oOTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg0MCk7XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjkpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDI3Nik7XG4gICAgICAgIH1cblxuICAgICAgICAmX19tYXAge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNjAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge31cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHt9XG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7fVxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge31cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7fVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QVVBQTs7Ozs7Ozs7OztHQVVHO0FBSUQsVUFBVTtFQUNSLFdBQVcsRUFBRSxjQUFjO0VBQzNCLEdBQUcsRUFBRSx3ckVBQXdyRSxDQUMzckUsY0FBYztFQUNoQixXQUFXLEVBQUUsR0FBRztFQUNoQixVQUFVLEVBQUUsTUFBTTs7O0FBSXBCLEFBQUEsS0FBSyxDQUFDO0VBQ0osb0JBQW9CLENBQUEsUUFBQztFQUNyQjs7O01BR0U7Q0FDSDs7QUFFSCxBQUFBLE9BQU87QUFDUCxnQkFBZ0IsQ0FBQztFQUNmLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlB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 */
