@charset "UTF-8";
/* Slider */
@import url("https://use.typekit.net/nca8omj.css");
@import url("https://use.typekit.net/nca8omj.css");
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

.color-primary {
  color: #630c29;
}

.color-secondary {
  color: white;
}

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

p, a, li, h1, h2, h3, span {
  font-family: lato, sans-serif;
  font-weight: 400;
}

p, a, h1, h2, h3 {
  margin-bottom: 1em;
}

p, a, li {
  font-size: 0.938rem;
}

h1 {
  font-size: 1.563rem;
  letter-spacing: 4.5px;
  line-height: 2.3rem;
  text-transform: uppercase;
  color: #681131;
}
@media (min-width: 48em) {
  h1 {
    font-size: 2.813rem;
    letter-spacing: 7px;
    line-height: 3.6rem;
  }
}

h2 {
  font-size: 1.25rem;
  letter-spacing: 3px;
  line-height: 2.4rem;
  text-transform: uppercase;
  color: #681131;
}
@media (min-width: 48em) {
  h2 {
    font-size: 1.625rem;
    letter-spacing: 6px;
  }
}

h3 {
  font-size: 1.25rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #681131;
}

article ul,
article ol {
  padding-left: 1.2rem;
}
article ul li::marker,
article ol li::marker {
  color: #681131;
}
article ul li,
article ol li {
  list-style-type: disc;
  letter-spacing: 0;
  color: black;
  margin-bottom: 1em;
}

.single-post article a:not(.btn) {
  color: #681131 !important;
}
.single-post article a:not(.btn):hover {
  text-decoration: underline;
}

.fs-17 {
  font-size: 1.063rem;
}

.fs-13 {
  font-size: 0.813rem;
  letter-spacing: 1.8px;
}

.hero--no-image__heading {
  font-size: 1.625rem;
  letter-spacing: 6px;
  line-height: 2.4rem;
  text-transform: uppercase;
  color: #681131;
  text-align: center;
  margin: 3rem 0;
}

.hot-link__text {
  color: #681131;
  font-size: 0.625rem;
  letter-spacing: 1px;
  margin-bottom: 0;
}

#main-menu .level-1 > a,
#main-menu .level-1 > span {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 0;
}

#main-menu .level-2 > a,
#main-menu .level-2 > span {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

#mobile-menu .level-1 > a,
#mobile-menu .level-1 > span {
  font-size: 0.938rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

#mobile-menu .level-2 > a,
#mobile-menu .level-2 > span {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.site-footer__heading {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 2px;
}

#footer-menu .level-1 > a,
#footer-menu .level-1 > span {
  font-size: 0.708rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.legal-navigation .level-1 > a,
.legal-navigation .level-1 > span {
  font-size: 0.708rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.site-footer__contact a, .site-footer__contact span {
  font-size: 0.708rem;
}

/*
=================================
FEATURED DEVELOPMENTS
=================================
*/
.featured-development__link {
  font-size: 1.2rem;
  letter-spacing: 6px;
  text-transform: uppercase;
  line-height: 1.4;
}

.featured-developments__heading-desktop {
  text-align: center;
  color: white;
}

.featured-developments__heading-mobile {
  color: white;
}

/*
=================================
FEATURED DEVELOPMENTS
=================================
*/
.copyright {
  font-size: 0.708rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.btn:not(.btn--call-to-action) span {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
}

.btn.btn--call-to-action span {
  font-size: 0.625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1.75px;
}

/*
=================================
SEARCH LOCATION
=================================
*/
.search-location .submit {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.search-location input::placeholder {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #681131;
}

/*
=================================
SEARCH LOCATION
=================================
*/
/*
=================================
STATISTICS
=================================
*/
.statistics__block-value {
  font-size: 2.5rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: white;
}

.statistics__block-text {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
@media (max-width: 32.5em) {
  .statistics__block-text {
    color: white;
  }
}

.statistics__block-value .currency,
.statistics__block-value .amount {
  font-size: 1.25rem;
  display: flex;
  font-weight: 600;
}

/*
=================================
STATISTICS
=================================
*/
/*
=================================
POST PREVIEW
=================================
*/
.post-preview__content .post-preview__heading {
  font-size: 0.938rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 1.2em;
  color: black;
}

/*
=================================
POST PREVIEW
=================================
*/
/*
=================================
TERM BLOCK
=================================
*/
.term-block__name {
  font-size: 1.5rem;
  letter-spacing: 6px;
  line-height: 2.2rem;
  text-transform: uppercase;
  color: #681131;
}

.term-block__address {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.384);
}

.term-block__from-price__text {
  font-size: 0.75rem;
  letter-spacing: 2px;
}

.term-block__from-price__value {
  font-size: 1.25rem;
  letter-spacing: 1px;
}

/*
=================================
TERM BLOCK
=================================
*/
.call-to-action__heading {
  color: white;
}

/*
=================================
HERO ARCHIVE
=================================
*/
.hero-archive__content__links-row {
  font-size: 0.625rem;
  letter-spacing: 2px;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 600;
}

.hero-archive__description,
.hero-archive__description__heading {
  color: white;
}

.show-times__heading {
  color: white;
  font-size: 0.625rem;
  letter-spacing: 1px;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 700;
}

.show-times__day {
  color: white;
  font-size: 0.625rem;
  letter-spacing: 1px;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 700;
}

.show-times__time {
  color: white;
  font-size: 0.625rem;
  letter-spacing: 1px;
  margin-bottom: 0;
  font-weight: 700;
}

/*
=================================
HERO ARCHIVE
=================================
*/
/*
=================================
FILTER
=================================
*/
.filters__title {
  color: #681131;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.filter__select select {
  color: black;
  font-size: 0.625rem;
  letter-spacing: 1px;
  margin-bottom: 0;
  text-transform: uppercase;
}

.filter__submit {
  color: #681131;
  font-size: 0.625rem;
  letter-spacing: 1px;
  margin-bottom: 0;
  text-transform: uppercase;
}

/*
=================================
FILTER
=================================
*/
/*
=================================
HOUSE PREVIEW
=================================
*/
.house-preview__house-type {
  color: black;
}

.house-preview__stats__text {
  font-size: 1.063rem;
  color: black;
  line-height: 1rem;
}

.house-preview__area__text {
  font-size: 0.8rem;
  color: black;
  line-height: 0.7rem;
}

.house-preview__site-plan {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.75px;
  color: #681131;
  border-bottom: 1px solid #681131;
  font-weight: 800;
  line-height: 23px;
}

.house-preview__price__text {
  font-size: 0.75rem;
  letter-spacing: 2px;
  color: black;
}

.house-preview__price__value {
  font-size: 1.25rem;
  color: #681131;
  letter-spacing: 1px;
}

.house-preview__status {
  font-size: 0.625rem;
  letter-spacing: 1px;
  margin-bottom: 0;
  text-transform: uppercase;
}

/*
=================================
HOUSE PREVIEW
=================================
*/
/*
=================================
HERO - HOUSE
=================================
*/
.hero-house__title {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
}
@media (min-width: 48em) {
  .hero-house__title {
    margin-bottom: 1.5rem;
    line-height: 3rem;
  }
}

.hero-house__property-type {
  font-size: 1.125rem;
}

.hero-house__about-title {
  color: white;
  margin-bottom: 0.5rem;
}

.hero-house__content__links-row {
  font-size: 0.625rem;
  letter-spacing: 2px;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 600;
}

.hero-house__stats-text {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.hero-house__stats__value {
  font-size: 1.25rem;
}
@media (max-width: 48em) {
  .hero-house__stats__value {
    margin-bottom: 1rem;
  }
}

.hero-house__area__value-text {
  font-size: 0.7rem;
  letter-spacing: 1px;
}

/*
=================================
HERO - HOUSE
=================================
*/
/*
=================================
HEADER - BANNER
=================================
*/
.banner-top__list-item__link {
  color: white;
  font-size: 0.625rem;
  letter-spacing: 1px;
  margin-bottom: 0;
  text-transform: uppercase;
}

.banner-bottom__content {
  color: white;
  font-size: 0.938rem;
  letter-spacing: 1px;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 600;
}
.banner-bottom__content p, .banner-bottom__content span, .banner-bottom__content div {
  color: white;
  font-size: 0.938rem;
  letter-spacing: 1px;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 600;
}
.banner-bottom__content a {
  color: white;
  font-size: 0.938rem;
  letter-spacing: 1px;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 600;
  border-bottom: 1px solid white;
}
.banner-bottom__content a:hover {
  border-bottom: 0;
}

/*
=================================
HERO - BANNER
=================================
*/
/*
=================================
AVAILABLE PLOTS
=================================
*/
.available-plots__text {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.available-plots__name {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #681131;
}

.available-plots__link {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.75px;
  color: #681131;
  border-bottom: 1px solid #681131;
  font-weight: 800;
  line-height: 23px;
  margin-bottom: 0;
}

/*
=================================
AVAILABLE PLOTS
=================================
*/
/*
=================================
SINGLE LARGE CAROUSEL
=================================
*/
.single-large-carousel__slide-title {
  color: white;
}

.single-large-carousel__slide-index {
  font-size: 1.625rem;
  line-height: 2.4rem;
  text-transform: uppercase;
  color: white;
  margin-bottom: 0.5rem;
}

.single-large-carousel__slide-nav {
  font-size: 0.875rem;
  color: white;
}

/*
=================================
SINGLE LARGE CAROUSEL
=================================
*/
/*
=================================
ACCORDION
=================================
*/
.accordion__title {
  font-size: 1rem;
  color: black;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
@media (min-width: 48em) {
  .accordion__title {
    font-size: 1.063rem;
    letter-spacing: 1.75px;
  }
}

/*
=================================
ACCORDION
=================================
*/
/*
=================================
PAST DEVELOPMENT PREVIEW & CASE STUDIES PREVIEW
=================================
*/
.case-studies-preview__heading,
.past-dev-heading {
  font-size: 1.063rem;
  color: #681131;
  text-transform: uppercase;
  letter-spacing: 1.75px;
  margin-bottom: 0;
}

.past-dev-preview__text {
  color: black;
}

/*
=================================
PAST DEVELOPMENT PREVIEW  & CASE STUDIES PREVIEW
=================================
*/
/*
=================================
TEXT CAROUSEL
=================================
*/
.text-carousel__text > * {
  text-transform: uppercase;
  font-size: 1.063rem;
  color: white;
  letter-spacing: 1.75px;
  margin-bottom: 2.375rem;
}

.text-carousel__text,
.text-carousel__author,
.text-carousel__nav-prev,
.text-carousel__nav-next {
  color: white;
  font-size: 0.875rem;
}

/*
=================================
TEXT CAROUSEL
=================================
*/
/*
=================================
TEXT WITH IMAGE
=================================
*/
.text-with-image.bk-grey .text-with-image__content-wrap > * {
  color: white;
}
.text-with-image.bk-grey a:not(.btn) {
  color: white;
  position: relative;
}
.text-with-image.bk-grey a:not(.btn)::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: 1px;
  height: 0.05em;
  transform-origin: left;
  transform: scaleX(1);
  transition: transform 0.75s cubic-bezier(0.165, 0.84, 0.44, 1);
  content: "";
  background: white;
}
.text-with-image.bk-grey a:not(.btn):hover::after {
  transform-origin: right;
  transform: scaleX(0);
}
.text-with-image.bk-white .text-with-image__content-wrap .btn, .text-with-image.bk-cream .text-with-image__content-wrap .btn {
  color: #681131;
}
.text-with-image.bk-white .text-with-image__content-wrap .btn .arrow,
.text-with-image.bk-white .text-with-image__content-wrap .btn .arrow::after,
.text-with-image.bk-white .text-with-image__content-wrap .btn .arrow::before, .text-with-image.bk-cream .text-with-image__content-wrap .btn .arrow,
.text-with-image.bk-cream .text-with-image__content-wrap .btn .arrow::after,
.text-with-image.bk-cream .text-with-image__content-wrap .btn .arrow::before {
  background-color: #681131;
}

.text-with-image strong,
.text-with-image strong > * {
  font-weight: 600;
  letter-spacing: 1.5px;
}

/*
=================================
TEXT WITH IMAGE
=================================
*/
/*
=================================
TWO IMAGE LINKS
=================================
*/
.two-image-links .btn span {
  font-size: 1.25rem;
  font-weight: 400;
  margin: 0.5em 0;
}

/*
=================================
TWO IMAGE LINKS
=================================
*/
/*
=================================
CASE STUDY PREVIEW
=================================
*/
.case-studies-preview__nav-before,
.case-studies-preview__nav-after {
  font-size: 0.75rem;
  padding: 0.5rem 0.8rem;
  font-weight: 500;
  letter-spacing: 2px;
}

/*
=================================
CASE STUDY PREVIEW
=================================
*/
/*
=================================
CASE STUDY - IMAGE COMPARISON
=================================
*/
.image-comparison__slide-index {
  font-size: 1.875rem;
  color: #681131;
  margin-bottom: 0.5em;
}

.image-comparison__btns {
  font-size: 0.875rem;
  color: #681131;
  cursor: pointer;
}

.comparison-item__label {
  background-color: white;
  font-size: 0.75rem;
  padding: 0.5rem 0.8rem;
  font-weight: 500;
  letter-spacing: 2px;
}

/*
=================================
CASE STUDY - IMAGE COMPARISON
=================================
*/
/*
=================================
TEAM MEMBERS TEMPLATE
=================================
*/
.team-member__content__name,
.team-member__btn__name {
  margin-bottom: 0;
  font-size: 0.813rem;
  font-family: montserrat, sans-serif;
  font-weight: 500;
  color: black;
}

.team-member__content__title,
.team-member__btn__title {
  font-size: 0.813rem;
  font-family: montserrat, sans-serif;
  font-weight: 400;
  color: black;
}

.team-member__btn__title {
  margin-bottom: 0;
}

.team-member__content p,
.team-member__content span,
.team-member__content a {
  font-family: montserrat, sans-serif;
  font-size: 0.813rem;
}

/*
=================================
TEAM MEMBERS TEMPLATE
=================================
*/
/*
=================================
DATE STAMP - GLOBAL
=================================
*/
.post-preview .date-stamp,
.single-post__article .date-stamp {
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #AEBCB6;
  margin-bottom: 1em;
}

/*
=================================
DATE STAMP - GLOBAL
=================================
*/
.map__marker-heading {
  font-size: 0.75rem;
  letter-spacing: 1.4px;
  margin-bottom: 0.25rem;
}

.map__marker-address {
  font-size: 0.625rem;
  color: #707070;
}

.radio-item {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 1.2px;
}

.amenities-carousel__prev,
.amenities-carousel__next,
.amenity__text {
  color: white;
}

.amenities-carousel__next,
.amenities-carousel__prev {
  cursor: pointer;
  font-size: 0.875rem;
}

.page-template-default.page a {
  color: #681131;
}
.page-template-default.page a:hover {
  text-decoration: underline;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
*:before, *:after {
  box-sizing: inherit;
}

html {
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: lato, sans-serif;
  font-weight: 400;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  font-size: 16px;
}

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

li {
  list-style: none;
}

a {
  text-decoration: none;
}

#fader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: rgba(0, 0, 0, 0.445);
  animation-duration: 300ms;
  animation-timing-function: ease-in-out;
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal {
  width: 24.375rem;
  min-height: 24.375rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.modal__exit {
  color: white;
  font-size: 2rem;
  margin-bottom: 0.5rem;
  cursor: pointer;
}

.modal__content {
  background: white;
  padding: 3.438rem;
}

@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#fader.fade-out,
#load-fader.fade-out {
  opacity: 0;
  animation-name: fade-out;
}

#fader.fade-in,
#load-fader.fade-in {
  opacity: 1;
  animation-name: fade-in;
}

#load-fader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: white;
  animation-duration: 300ms;
  animation-timing-function: ease-in-out;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

a:hover {
  text-decoration: none;
}

#gdpr-cookie-message {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  color: #414241;
  padding: 50px;
  border-radius: 0px;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
  z-index: 10000000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
#gdpr-cookie-message a {
  color: #681131;
}
#gdpr-cookie-message::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  height: 100vh;
  width: 100vw;
  background-color: rgba(0, 0, 0, 0.521);
  pointer-events: none;
}
#gdpr-cookie-message h5 {
  margin: 1rem 0;
}
#gdpr-cookie-message::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  width: 700px;
  max-width: 90vw;
  height: 300px;
  background-color: #fff;
}
#gdpr-cookie-message p {
  margin: 0.6em 0;
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}
@media (min-width: 48em) {
  #gdpr-cookie-message p {
    text-align: left;
  }
}
#gdpr-cookie-message h4 {
  display: none;
}
#gdpr-cookie-message p:last-child {
  margin: 0.6em 0;
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 1.6;
  display: flex;
  align-items: center;
  flex-direction: column;
}
#gdpr-cookie-message li {
  width: 49%;
  display: inline-block;
}
#gdpr-cookie-message li > * {
  margin: 0.6em 0;
  font-size: 14px;
  appearance: checkbox;
}
#gdpr-cookie-message button,
#gdpr-cookie-message button#ihavecookiesBtn {
  block-size: fit-content;
  border: none;
  background: #681131;
  color: white;
  font-size: 15px;
  padding: 10px;
  border-radius: 3px;
  margin-left: 0px;
  cursor: pointer;
  transition: all 0.3s ease-in;
  margin: 5px;
  border: 1px solid white;
}
#gdpr-cookie-message button#gdpr-cookie-accept:hover {
  background: white;
  border: 1px solid #681131;
  color: #681131;
  transition: all 0.3s ease-in;
}
#gdpr-cookie-message button#gdpr-cookie-advanced {
  background: white;
  color: #681131;
}
#gdpr-cookie-message button:disabled {
  opacity: 0.3;
}
#gdpr-cookie-message input[type=checkbox] {
  float: none;
  margin-top: 0;
  margin-right: 5px;
}

.clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  box-orient: vertical;
  overflow: hidden;
}

.cross-1px {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  position: relative;
  width: 27px;
  height: 27px;
}
.cross-1px:before, .cross-1px:after {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0;
  right: 0;
  height: 2px;
  background: white;
  border-radius: 1px;
}
.cross-1px:before {
  transform: rotate(45deg);
}
.cross-1px:after {
  transform: rotate(-45deg);
}
.cross-1px span {
  display: block;
}

.btn:not(.btn--call-to-action),
.team-member__btn {
  margin-bottom: 0;
  display: inline-block;
  cursor: pointer;
  transition: all 0.3s ease;
  color: white;
  padding-right: 28px;
}
.btn:not(.btn--call-to-action) .arrow,
.team-member__btn .arrow {
  position: absolute;
  height: 1px;
  background-color: white;
  transition: transform 0.3s ease;
  width: 25px;
}
.btn:not(.btn--call-to-action) .btn-wrap,
.team-member__btn .btn-wrap {
  height: 0.3rem;
  position: relative;
  transition: all 0.3s ease;
  padding-left: 0.75rem;
}
.btn:not(.btn--call-to-action) .arrow::after, .btn:not(.btn--call-to-action) .arrow::before,
.team-member__btn .arrow::after,
.team-member__btn .arrow::before {
  opacity: 1;
  content: "";
  position: absolute;
  width: 6px;
  height: 1px;
  right: -1px;
  background-color: white;
  transition: all 0.3s ease;
}
.btn:not(.btn--call-to-action) .arrow::after,
.team-member__btn .arrow::after {
  top: -2px;
  transform: rotate(45deg);
  transition: all 0.3s ease;
}
.btn:not(.btn--call-to-action) .arrow::before,
.team-member__btn .arrow::before {
  top: 2px;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
  transform: rotate(-45deg);
  transition: all 0.3s ease;
}
.btn:not(.btn--call-to-action):hover,
.team-member__btn:hover {
  transition: all 0.3s ease;
}
.btn:not(.btn--call-to-action):hover a,
.team-member__btn:hover a {
  color: white;
  transition: all 0.3s ease;
}
.btn:not(.btn--call-to-action):hover .arrow,
.team-member__btn:hover .arrow {
  width: 45px;
  transition: all 0.3s ease;
}
.btn:not(.btn--call-to-action):hover .arrow::after, .btn:not(.btn--call-to-action):hover .arrow::before,
.team-member__btn:hover .arrow::after,
.team-member__btn:hover .arrow::before {
  transition: all 0.3s ease;
}
.btn:not(.btn--call-to-action):hover .arrow::after,
.team-member__btn:hover .arrow::after {
  top: -2px;
}
.btn:not(.btn--call-to-action):hover .arrow::before,
.team-member__btn:hover .arrow::before {
  top: 2px;
}
.btn:not(.btn--call-to-action).btn--red,
.team-member__btn.btn--red {
  color: #681131;
}
.btn:not(.btn--call-to-action).btn--red .arrow,
.team-member__btn.btn--red .arrow {
  background-color: #681131;
}
.btn:not(.btn--call-to-action).btn--red .arrow::after, .btn:not(.btn--call-to-action).btn--red .arrow::before,
.team-member__btn.btn--red .arrow::after,
.team-member__btn.btn--red .arrow::before {
  background-color: #681131;
}

.btn--reversed .arrow::after {
  transform: rotate(315deg);
}
.btn--reversed .arrow::before {
  transform: rotate(45deg);
}
.btn--reversed .arrow::after, .btn--reversed .arrow::before {
  left: -1px;
}

.btn--call-to-action {
  border: 1px solid white;
  width: 140px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  padding: 0.8rem 1rem;
}

.btn--call-to-action:hover {
  background-color: white;
  color: #AEBCB6;
  transition: all ease 0.2s;
}

.house-preview:hover .btn .arrow {
  width: 45px;
  transition: all 0.3s ease;
}

.two-image-links__box {
  margin-bottom: 0;
}

.two-image-links__box:hover .btn .arrow {
  width: 45px;
  transition: all 0.3s ease;
}

.case-studies-preview__content:hover .btn .arrow {
  width: 45px;
  transition: all 0.3s ease;
}

.tax-archive__term-block:hover .btn .arrow {
  width: 45px;
  transition: all 0.3s ease;
}

.btn--white.btn--career span:first-of-type {
  font-size: 1rem;
  font-weight: 500;
}
@media (min-width: 48em) {
  .btn--white.btn--career span:first-of-type {
    font-size: 1.25rem;
  }
}
.btn--white.btn--career .btn-wrap {
  height: 0.5rem;
}

.btn--red.btn--archive-news span:first-of-type {
  font-size: 1.063rem;
  font-weight: 500;
}
.btn--red.btn--archive-news .btn-wrap {
  height: 0.45rem;
}

.arrow-h {
  position: absolute;
  height: 1px;
  background-color: #681131;
  transition: transform 0.3s ease;
  width: 50px;
}

.btn-wrap-h {
  height: 0.3rem;
  position: relative;
  transition: all 0.3s ease;
  padding-left: 0.75rem;
}

.arrow-h::after, .arrow-h::before {
  opacity: 1;
  content: "";
  position: absolute;
  width: 20px;
  height: 1px;
  right: -4px;
  background-color: #681131;
  transition: all 0.3s ease;
}

.arrow-h::after {
  top: -3px;
  transform: rotate(45deg);
  transition: all 0.3s ease;
}

.arrow-h::before {
  top: 3px;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
  transform: rotate(-45deg);
  transition: all 0.3s ease;
}

.menu-toggle {
  width: 26px;
  height: 20.16px;
  position: relative;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
  z-index: 50;
}

.menu-toggle span {
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  background: #681131;
}

.single-post .site-header .menu-toggle span, .category .site-header .menu-toggle span, .site-header__color--primary .site-header .menu-toggle span, .error404 .site-header .menu-toggle span, .search .site-header .menu-toggle span, .page-template-registration-template .site-header .menu-toggle span, .post-type-archive .site-header .menu-toggle span, .blog .site-header .menu-toggle span, .page-template-prospectus-template .site-header .menu-toggle span, .page-template-contact-template .site-header .menu-toggle span {
  background-color: #681131;
}

.site-header.open .menu-toggle span {
  background-color: #681131;
}

/* Icon 3 */
.menu-toggle span:nth-child(1) {
  top: 0px;
}

.menu-toggle span:nth-child(2),
.menu-toggle span:nth-child(3) {
  top: 8px;
}

.menu-toggle span:nth-child(4) {
  top: 16px;
}

.menu-toggle.open span:nth-child(1) {
  top: 20px;
  width: 0%;
  left: 50%;
}

.menu-toggle.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

.menu-toggle.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.menu-toggle.open span:nth-child(4) {
  top: 20px;
  width: 0%;
  left: 50%;
}

.site-header.open .menu-toggle span {
  color: white;
  background-color: white;
}

@keyframes loader {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes fader {
  0% {
    opacity: 1;
  }
  30% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes bounce {
  from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}

@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  animation-name: pulse;
}

@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  animation-name: rubberBand;
}

@keyframes shake {
  from, to {
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  animation-name: shake;
}

@keyframes headShake {
  0% {
    transform: translateX(0);
  }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    transform: translateX(0);
  }
}
.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}

@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}

@keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  animation-name: tada;
}

@keyframes wobble {
  from {
    transform: translate3d(0, 0, 0);
  }
  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.wobble {
  animation-name: wobble;
}

@keyframes jello {
  from, 11.1%, to {
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  animation-name: jello;
  transform-origin: center;
}

@keyframes heartBeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
}
.heartBeat {
  animation-name: heartBeat;
  animation-duration: 1.3s;
  animation-timing-function: ease-in-out;
}

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  animation-duration: 0.75s;
  animation-name: bounceIn;
}

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}

@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  animation-duration: 0.75s;
  animation-name: bounceOut;
}

@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}

@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}

@keyframes flip {
  from {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
  to {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  backface-visibility: visible;
  animation-name: flip;
}

@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInX {
  backface-visibility: visible !important;
  animation-name: flipInX;
}

@keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInY {
  backface-visibility: visible !important;
  animation-name: flipInY;
}

@keyframes flipOutX {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-duration: 0.75s;
  animation-name: flipOutX;
  backface-visibility: visible !important;
}

@keyframes flipOutY {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  animation-duration: 0.75s;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}

@keyframes lightSpeedIn {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    transform: skewX(-5deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}

@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}

@keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}

@keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}

@keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}

@keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}

@keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}

@keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}

@keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}

@keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}

@keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}

@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  animation-duration: 2s;
  animation-name: hinge;
}

@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }
  50% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.jackInTheBox {
  animation-name: jackInTheBox;
}

@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.rollIn {
  animation-name: rollIn;
}

@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  animation-name: zoomInDown;
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  animation-name: zoomInLeft;
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  animation-name: zoomInRight;
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  animation-name: zoomInUp;
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  animation-name: zoomOutDown;
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
.zoomOutLeft {
  animation-name: zoomOutLeft;
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
.zoomOutRight {
  animation-name: zoomOutRight;
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  animation-name: zoomOutUp;
}

@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}

@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}

@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}

@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  animation-name: slideInUp;
}

@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}

@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}

@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}

@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}

.animated, .anim {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

.animated.delay-1s {
  animation-delay: 1s;
}

.animated.delay-2s {
  animation-delay: 2s;
}

.animated.delay-3s {
  animation-delay: 3s;
}

.animated.delay-4s {
  animation-delay: 4s;
}

.animated.delay-5s {
  animation-delay: 5s;
}

.animated.fast {
  animation-duration: 800ms;
}

.animated.faster {
  animation-duration: 500ms;
}

.animated.slow {
  animation-duration: 2s;
}

.animated.slower {
  animation-duration: 3s;
}

@media (print), (prefers-reduced-motion: reduce) {
  .animated, .anim {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}
@media (prefers-reduced-motion) {
  .animated, .anim {
    animation-delay: 0s !important;
    animation-duration: 0s;
  }
}
@keyframes slideBgTop {
  0% {
    transform: translateY(-100%) translateX(-50%);
    animation-timing-function: cubic-bezier(0.815, 0.09, 0.885, 0.14);
  }
  50% {
    transform: translateY(-50%) translateX(-50%) skewY(-20deg);
  }
  100% {
    animation-timing-function: cubic-bezier(0.815, 0.09, 0.885, 0.14);
    transform: translateY(0%) translateX(-50%);
  }
}
.stretchLeft {
  animation-name: stretchLeft;
  animation-duration: 1.5s;
  animation-timing-function: ease-out;
  transform-origin: 100% 0%;
}

@keyframes stretchLeft {
  0% {
    transform: scaleX(0);
  }
  60% {
    transform: scaleX(0.98);
  }
  100% {
    transform: scaleX(1);
  }
}
.stretchRight {
  animation-name: stretchRight;
  animation-duration: 1.5s;
  animation-timing-function: ease-out;
  transform-origin: 0% 0%;
}

@keyframes stretchRight {
  0% {
    transform: scaleX(0);
  }
  60% {
    transform: scaleX(0.98);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes fadeInLoad {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  30% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  80% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
.fadeInLoad {
  animation-name: fadeInLoad;
  animation-duration: 3s;
}

.scaleIn {
  animation-name: scaleIn;
  animation-duration: 10s;
}

@keyframes scaleIn {
  0% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  100% {
    transform: scale(1.2, 1.2) translate(4%, 4%);
  }
}
@keyframes growRight {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.growDown {
  animation-name: growDown;
}

@keyframes growDown {
  0% {
    height: 100%;
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  100% {
    height: 0;
  }
}
@keyframes fadeInSnap {
  from {
    opacity: 0;
    transform: translate3d(-7%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInSnap {
  animation-name: fadeInSnap;
  animation-delay: 0.5s;
  animation-timing-function: ease-out;
}

@keyframes fadeInSnapSmall {
  from {
    opacity: 0;
    transform: translate3d(-1%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInSnapSmall {
  animation-name: fadeInSnapSmall;
  animation-delay: 0.2s;
  animation-timing-function: ease-out;
}

.wow-init .anim {
  visibility: hidden;
}

#page, #content {
  position: relative;
  overflow: hidden;
}
.ie #page, .ie #content {
  float: left;
  width: 100%;
}

@media (min-width: 48em) {
  #content {
    padding-top: 0px;
  }
}

.ie11 .container {
  max-width: 90rem;
  width: 100%;
}
@supports (display: grid) {
  .container {
    grid-column: 2/3;
    grid-auto-flow: row;
  }
}

.col {
  display: flex;
}
@supports (display: grid) {
  .col {
    display: grid;
  }
}

.ie11 #primary {
  width: 100%;
  float: left;
}

.ie11 section, .ie11 .section {
  width: 100%;
  display: flex;
  clear: both;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}
@supports (display: grid) {
  section, .section {
    display: grid;
  }
  @supports (display: grid) {
    section, .section {
      grid-template-columns: 1fr minmax(auto, 72rem) 1fr;
    }
  }
  .ie section .container, .ie .section .container {
    max-width: 82em;
  }
}

.ie11 .section-large {
  width: 100%;
  display: flex;
  clear: both;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}
@supports (display: grid) {
  .section-large {
    display: grid;
  }
  @supports (display: grid) {
    .section-large {
      grid-template-columns: 1fr minmax(auto, 84em) 1fr;
    }
  }
  .ie .section-large .container {
    max-width: 97em;
  }
}

span {
  display: inline-block;
}

.ie11 .col-2 > * {
  width: 100%;
  float: left;
  margin-bottom: 20px;
}
.ie11 .col-2 > *:nth-last-child(1) {
  margin-bottom: 0;
}
@supports (display: grid) {
  .col-2 {
    grid-template-columns: 100%;
    grid-gap: 20px;
  }
}
@media (min-width: 48em) {
  .ie11 .col-2 > * {
    width: 50%;
  }
  .ie11 .col-2 > *:nth-last-child(1) {
    margin-bottom: 20px;
  }
  @supports (display: grid) {
    .col-2 {
      grid-template-columns: 1fr 1fr;
    }
  }
}

.ie11 .col-3 > * {
  width: 100%;
  float: left;
  margin-bottom: 20px;
}
.ie11 .col-3 > *:nth-last-child(1) {
  margin-bottom: 0;
}
@supports (display: grid) {
  .col-3 {
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
}
@media (min-width: 48em) {
  .ie11 .col-3.hp {
    padding-left: 10px;
    padding-right: 10px;
  }
  .ie11 .col-3 > * {
    width: calc(50% - 40px);
    margin-right: 10px;
    margin-left: 10px;
  }
  .ie11 .col-3 > *:nth-last-child(1) {
    margin-bottom: 20px;
  }
  @supports (display: grid) {
    .col-3 {
      grid-template-columns: 1fr 1fr;
    }
  }
}
@media (min-width: 65em) {
  .ie11 .col-3 > * {
    width: calc(33.33% - 20px);
  }
  @supports (display: grid) {
    .col-3 {
      grid-template-columns: 1fr 1fr 1fr;
    }
  }
}

.ie11 .col-4 > * {
  width: 100%;
  float: left;
  margin-bottom: 20px;
}
.ie11 .col-4 > *:nth-last-child(1) {
  margin-bottom: 0;
}
@supports (display: grid) {
  .col-4 {
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
}
@media (min-width: 32.5em) {
  .ie11 .col-4.hp {
    padding-left: 10px;
    padding-right: 10px;
  }
  .ie11 .col-4 > * {
    width: calc(50% - 20px);
    margin-left: 10px;
    margin-right: 10px;
  }
  .ie11 .col-4 > *:nth-last-child(1) {
    margin-bottom: 0;
  }
  @supports (display: grid) {
    .col-4 {
      grid-template-columns: 1fr 1fr;
      grid-gap: 20px;
    }
  }
}
@media (min-width: 48em) {
  .ie11 .col-4 > * {
    width: calc(33.33% - 20px);
  }
  @supports (display: grid) {
    .col-4 {
      grid-template-columns: 1fr 1fr 1fr;
    }
  }
}
@media (min-width: 65em) {
  .ie11 .col-4 > * {
    width: calc(25% - 20px);
  }
  @supports (display: grid) {
    .col-4 {
      grid-template-columns: 1fr 1fr 1fr 1fr;
    }
  }
}

.ie11 .col-6 > * {
  width: 100%;
  float: left;
  margin-bottom: 20px;
}
.ie11 .col-6 > *:nth-last-child(1) {
  margin-bottom: 0;
}
@supports (display: grid) {
  .col-6 {
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
  }
}
@media (min-width: 32.5em) {
  .ie11 .col-6.hp {
    padding-left: 10px;
    padding-right: 10px;
  }
  .ie11 .col-6 > * {
    width: calc(50% - 20px);
    margin-left: 10px;
    margin-right: 10px;
  }
  .ie11 .col-6 > *:nth-last-child(1) {
    margin-bottom: 0;
  }
  @supports (display: grid) {
    .col-6 {
      grid-template-columns: 1fr 1fr;
      grid-gap: 20px;
    }
  }
}
@media (min-width: 48em) {
  .ie11 .col-6 > * {
    width: calc(33.33% - 20px);
  }
  @supports (display: grid) {
    .col-6 {
      grid-template-columns: 1fr 1fr 1fr;
    }
  }
}
@media (min-width: 65em) {
  .col-6 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }
  .ie11 .col-6 > * {
    width: calc(16.666% - 20px);
  }
}

.ph {
  padding-left: 20px;
  padding-right: 20px;
}

.large-link-block__content.ph {
  padding-left: 30px;
  padding-right: 30px;
}
.large-link-block__content.pv {
  padding-top: 30px;
  padding-bottom: 30px;
}
.large-link-block__content .col {
  grid-gap: 30px;
}

.pv {
  padding-top: 20px;
  padding-bottom: 20px;
}

.pv-10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

.pt {
  padding-top: 20px;
}

.pb {
  padding-bottom: 20px;
}

.pr {
  padding-right: 20px;
}

.pl {
  padding-left: 20px;
}

.mt {
  margin-top: 20px;
}

.mv {
  margin-top: 20px;
  margin-bottom: 20px;
}

.mh {
  margin-left: 20px;
  margin-right: 20px;
}

.mb {
  margin-bottom: 20px;
}

.mt-20 {
  margin-top: 20px;
}

.section-pt {
  padding-top: 2.5rem;
}
@media (min-width: 48em) {
  .section-pt {
    padding-top: 5.375rem;
  }
}

.section-pb {
  padding-bottom: 2.5rem;
}
@media (min-width: 48em) {
  .section-pb {
    padding-bottom: 5.375rem;
  }
}

.section-mb {
  margin-bottom: 2.5rem;
}
@media (min-width: 48em) {
  .section-mb {
    margin-bottom: 5.375rem;
  }
}

.np {
  padding-top: 0;
  padding-bottom: 0;
}

.section-pv {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 48em) {
  .section-pv {
    padding-top: 5.375rem;
    padding-bottom: 5.375rem;
  }
}

.section-mv {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 48em) {
  .section-mv {
    margin-top: 5.375rem;
    margin-bottom: 5.375rem;
  }
}

.cover {
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-attachment: cover;
  background-size: cover !important;
}

.center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.textcenter {
  text-align: center;
}

@supports (display: grid) {
  .small-container {
    grid-template-columns: 1fr minmax(auto, 41.4em) 1fr;
  }
}
.ie .small-container .container {
  max-width: 66em;
}

@supports (display: grid) {
  .single-container {
    grid-template-columns: 1fr minmax(auto, 44em) 1fr;
  }
}
.ie .single-container .container {
  max-width: 82em;
}

@supports (display: grid) {
  .small-page-container {
    grid-template-columns: 1fr minmax(auto, 58em) 1fr;
  }
}
.ie .small-page-container .container {
  max-width: 82em;
}

.absolute-cover {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-0-5 {
  margin-bottom: 0.5rem;
}

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

.mb-1-5 {
  margin-bottom: 1.5rem;
}

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

.mb-2-5 {
  margin-bottom: 2.5rem;
}

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

.mb-3-5 {
  margin-bottom: 3.5rem;
}

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

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

.container--center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.main-navigation {
  display: flex;
  align-items: center;
}

.main-navigation .menu {
  display: flex;
}

.main-navigation .level-1 {
  display: flex;
  justify-content: center;
}

.main-navigation .level-1 {
  padding: 0.75rem;
}
.main-navigation .level-1:last-of-type {
  padding: 0.75rem 0 0.75rem 0.75rem;
}

.main-navigation .level-1.menu-item-has-children .sub-menu {
  padding: 2rem;
}

.main-navigation .level-1 > a,
.main-navigation .level-1 > span {
  color: #54616C;
  text-transform: uppercase;
}
.main-navigation .level-1 > a:hover,
.main-navigation .level-1 > span:hover {
  color: #630c29;
}

.main-navigation .level-2 {
  text-align: center;
}

.main-navigation .level-2 > a,
.main-navigation .level-2 > span {
  color: #54616C;
  text-transform: uppercase;
}
.main-navigation .level-2 > a:hover,
.main-navigation .level-2 > span:hover {
  color: #630c29;
}

.main-navigation .level-1.menu-item-has-children > .sub-wrap {
  position: absolute;
  opacity: 0;
  transform: translateY(-10px);
  top: 5.5rem;
  transition: all ease 0.2s;
  z-index: 1;
  pointer-events: none;
  min-width: 15rem;
  max-width: 20rem;
}
.main-navigation .level-1.menu-item-has-children > .sub-wrap::after {
  content: "";
  width: 100%;
  height: 100%;
  background: white;
  border-top: 2px solid #681131;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
}

.main-navigation .level-1.menu-item-has-children:hover .sub-wrap,
.main-navigation .level-1.menu-item-has-children .js--hover .sub-wrap {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  transition-delay: 0.3s;
}
.main-navigation .level-1.menu-item-has-children:hover .sub-wrap > li,
.main-navigation .level-1.menu-item-has-children .js--hover .sub-wrap > li {
  opacity: 1;
}

.main-navigation .level-1.menu-item-has-children .sub-wrap.sub-menu-on-hover {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  transition-delay: 0.3s;
}
.main-navigation .level-1.menu-item-has-children .sub-wrap.sub-menu-on-hover > li {
  opacity: 1;
}

.site-header .main-navigation {
  display: none;
}
@media (min-width: 1390px) {
  .site-header .main-navigation {
    display: block;
  }
}

#mobile-menu {
  display: flex;
  flex-direction: column;
}
#mobile-menu li {
  text-align: center;
}

#mobile-menu .level-1 {
  margin-bottom: 4rem;
}

#mobile-menu .level-1 > a,
#mobile-menu .level-1 > span {
  color: white;
}

#mobile-menu .level-2 {
  margin-top: 1rem;
}

#mobile-menu .level-2 > a,
#mobile-menu .level-2 > span {
  color: white;
}

@media (min-width: 48em) {
  #footer-menu {
    display: flex;
    flex-wrap: wrap;
    width: 27rem;
  }
}

#footer-menu .level-1 {
  padding-right: 1rem;
  width: 50%;
  padding-bottom: 4px;
}

.site-footer__heading {
  color: #681131;
  margin-bottom: 0.75rem;
}

#footer-menu .level-1 > a,
#footer-menu .level-1 > span,
.legal-navigation .level-1 > a,
.legal-navigation .level-1 > span {
  color: #54616C;
}

.hot-link--mobile {
  position: fixed;
  bottom: 0;
  background: #681131;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hot-link--mobile a {
  margin: 1rem 0;
}

.hot-link--mobile__mail-icon {
  color: white;
  display: flex;
}
.hot-link--mobile__mail-icon::after {
  display: block;
  content: "";
  width: 1px;
  height: 12px;
  background-color: white;
  margin: 0 1rem;
}

.hot-link--mobile__phone-icon {
  color: white;
  padding-right: 1rem;
}

.hot-link--mobile__text {
  color: white;
}

.mobile-menu__social-copyright {
  height: 31.25rem;
  width: 100%;
}
.mobile-menu__social-copyright .social {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}
.mobile-menu__social-copyright .social .social-icon {
  border: 1px solid white;
}
.mobile-menu__social-copyright .social .social-icon i {
  color: white;
}
.mobile-menu__social-copyright .copyright {
  width: 100%;
  text-align: center;
  color: white;
}
.mobile-menu__social-copyright .pr {
  padding-right: 0;
}

.global-margin-archive-heading {
  margin-top: calc(9.188rem - 118px);
  margin-bottom: calc(5.563rem - 20px);
}

.case-studies__container,
.past-dev-archive__container {
  grid-gap: 3.4rem;
}

/*
=================================
FILTER (TEMPLATE PART)
=================================
*/
.filter {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 48em) {
  .filter {
    flex-direction: column;
    flex-wrap: wrap;
  }
}
@media (min-width: 48em) {
  .filter {
    height: 3.7rem;
    border: 1px solid rgba(0, 0, 0, 0.1215686275);
  }
}

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

.filters__title {
  width: 100%;
}
@media (min-width: 48em) {
  .filters__title {
    width: 118px;
    text-align: center;
  }
}
@media (max-width: 48em) {
  .filters__title {
    height: 35px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1215686275);
  }
}

.filter__select {
  position: relative;
  cursor: pointer;
}
@media (max-width: 48em) {
  .filter__select {
    height: 49px;
  }
}
@media (min-width: 48em) {
  .filter__select {
    height: 100%;
  }
}
.filter__select:last-of-type select {
  border-bottom: none;
}

.filter__select select {
  cursor: pointer;
  border-top: 0;
  border-bottom: 0;
  border-left: 0;
  height: 100%;
  width: 100%;
  padding: 1rem 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-indent: 1px;
  text-overflow: "";
  border-right: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1215686275);
}
@media (min-width: 48em) {
  .filter__select select {
    padding: 1rem;
    border-right: 1px solid rgba(0, 0, 0, 0.1215686275);
    border-bottom: none;
  }
}

.filter__select::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
  font-family: "Font Awesome 6 Free";
  content: "\f0d7";
  pointer-events: none;
  font-weight: 900;
  font-size: 0.8rem;
}

@media (min-width: 48em) {
  .filter__select--1 select {
    width: 17.188rem;
    border-left: 1px solid rgba(0, 0, 0, 0.1215686275);
  }
}

@media (max-width: 48em) {
  .filter__select--1 {
    width: 100%;
  }
}

.filter__select--2,
.filter__select--3,
.filter__select--4,
.filter__select--5 {
  width: 100%;
}
@media (min-width: 48em) {
  .filter__select--2,
  .filter__select--3,
  .filter__select--4,
  .filter__select--5 {
    width: 10rem;
  }
}

.filter__submit {
  cursor: pointer;
  background-color: #681131;
  color: white;
  border: 0;
  width: 100%;
}
@media (max-width: 48em) {
  .filter__submit {
    height: 49px;
  }
}
@media (min-width: 48em) {
  .filter__submit {
    width: 7.5rem;
  }
}

/*
=================================
FILTER (TEMPLATE PART)
=================================
*/
/*
=================================
POST TYPE - HOUSE (PREVIEW)
=================================
*/
.post-archive__title {
  text-align: center;
  margin: 3rem 0;
}

.post-archive__container {
  grid-auto-rows: 1fr;
  grid-gap: 1rem;
}
@media (min-width: 80em) {
  .post-archive__container {
    grid-gap: 3rem;
  }
}

.house-preview {
  background-color: #ECEAE6;
}
.house-preview:hover a {
  text-decoration: none;
}

.house-preview a:hover {
  text-decoration: none;
}

.house-preview__image {
  width: 100%;
  padding-bottom: 70%;
  position: relative;
}
.house-preview__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.house-preview__image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.house-preview__status {
  background-color: #681131;
  color: white;
  padding: 0.75rem 1.5rem;
  text-align: center;
  position: absolute;
  top: -1.4rem;
  right: 1.75rem;
}

.house-preview__content {
  padding: 1.75rem;
  position: relative;
  background-color: #ECEAE6;
  display: flex;
  flex-direction: column;
}

.house-preview__name {
  margin-bottom: 0;
}

.house-preview__house-type {
  margin-bottom: 1.25rem;
}

.house-preview__stats {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(2, 2, 2, 0.103);
  padding-bottom: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
@media (max-width: 48em) {
  .house-preview__stats {
    width: 45%;
    flex-wrap: wrap;
  }
}
@media (min-width: 48em) {
  .house-preview__stats {
    gap: 1rem;
  }
}
@media (min-width: 80em) {
  .house-preview__stats {
    gap: unset;
  }
}

.house-preview__stats-item {
  width: 7.813;
}

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

.house-preview__link-sitemap {
  display: flex;
  justify-content: space-between;
}

.house-preview__costing {
  margin-bottom: 1.75rem;
}

.house-preview__price__text {
  margin-right: 0.25rem;
}

.house-preview__beds,
.house-preview__bathrooms,
.house-preview__spaces,
.house-preview__area {
  position: relative;
  display: flex;
  align-items: flex-end;
}
@media (max-width: 48em) {
  .house-preview__beds,
  .house-preview__bathrooms,
  .house-preview__spaces,
  .house-preview__area {
    width: 50%;
    margin-bottom: 1.5rem;
  }
}
@media (min-width: 48em) {
  .house-preview__beds,
  .house-preview__bathrooms,
  .house-preview__spaces,
  .house-preview__area {
    padding-right: 0.8rem;
  }
}
@media (min-width: 80em) {
  .house-preview__beds,
  .house-preview__bathrooms,
  .house-preview__spaces,
  .house-preview__area {
    padding-right: 1.5rem;
  }
}

.house-preview__stats__text {
  padding-right: 0.25rem;
}

.stats-icon {
  color: #681131;
  margin-right: 0.5rem;
  font-size: 1rem;
}

@media (max-width: 48em) {
  .house-preview__spaces,
  .house-preview__area {
    margin-bottom: 0.5rem;
  }
}
.house-preview__stats-plus {
  color: black;
  font-size: 0.7rem;
}

.house-preview__spaces .stats-icon {
  line-height: 0.6;
}

.house-preview__stats div:last-child {
  padding-right: 0;
}

.house-preview__area .house-preview__stats-plus {
  padding-right: 0.4rem;
}

/*
=================================
POST TYPE - HOUSE (PREVIEW)
=================================
*/
/*
=================================
PAST DEVELOPMENTS
=================================
*/
.past-dev-preview:hover .past-dev-preview__image {
  transform: scale(0.98);
}

.past-dev-preview__image {
  transition: all ease 0.2s;
  width: 100%;
  padding-bottom: 65%;
  position: relative;
  margin-bottom: 0.5rem;
}
.past-dev-preview__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.past-dev-preview__image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.past-dev-preview__image-wrap {
  cursor: pointer;
}

.past-dev-preview__image-link {
  margin-bottom: 0;
  display: none;
}
.past-dev-preview__image-link:first-of-type {
  display: block;
}

/*
=================================
PAST DEVELOPMENTS
=================================
*/
/*
=================================
POST TYPE: CASE STUDIES
=================================
*/
.case-studies-section--hide {
  display: none;
}

.case-studies-preview__image-slider-with-btns,
.case-studies-preview__image--no-slider {
  position: relative;
  margin-bottom: 1.25rem;
}

.case-studies-preview__slider,
.case-studies-preview__image--no-slider {
  width: 100%;
  padding-bottom: 70%;
  position: relative;
}
.case-studies-preview__slider img,
.case-studies-preview__image--no-slider img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.case-studies-preview__slider iframe,
.case-studies-preview__image--no-slider iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.case-studies-preview__nav {
  position: absolute;
  bottom: 0;
  right: 0;
  border: 1px solid white;
  color: white;
  display: flex;
  min-width: 10rem;
  cursor: pointer;
}
.case-studies-preview__nav .case-studies-preview__nav-before {
  border-right: 1px solid white;
}

.case-studies-preview__nav-before,
.case-studies-preview__nav-after {
  width: 50%;
  text-align: center;
}

.case-studies-preview__nav-before.active,
.case-studies-preview__nav-after.active {
  background-color: white;
  color: rgba(0, 0, 0, 0.5);
}

/*
=================================
POST TYPE: CASE STUDIES
=================================
*/
/*
=================================
POST TYPE: CAREERS (ARCHIVE)
=================================
*/
.career {
  background: #54616C;
  padding: 1.5rem;
  margin-bottom: 1rem;
  cursor: pointer;
  display: block;
  display: flex;
  flex-direction: column;
  min-height: 8rem;
  align-items: flex-start;
  justify-content: center;
  position: relative;
}
.career .careers-title {
  width: 100%;
  display: flex;
  align-items: center;
  color: white;
  font-size: 1.4rem;
}
@media (max-width: 48em) {
  .career .btn--career .btn-wrap {
    display: none;
  }
  .career .btn--career--mobile {
    position: absolute;
    right: 4rem;
    top: 46%;
    transform: translateY(-50%);
  }
  .career .career__excerpt {
    max-width: 75%;
  }
  .career .btn--career {
    max-width: 75%;
    display: flex;
    align-items: center;
  }
}
@media (min-width: 48em) {
  .career .btn--career--mobile {
    display: none;
  }
}
@media (min-width: 48em) {
  .career {
    padding: 2rem 7.063rem;
    min-height: 13rem;
  }
}

.career-two-col-text__container ul, .career-two-col-text__container ol {
  padding-left: 1.2rem;
}
.career-two-col-text__container ul li::marker, .career-two-col-text__container ol li::marker {
  color: #681131;
}
.career-two-col-text__container ul li, .career-two-col-text__container ol li {
  list-style-type: disc;
  letter-spacing: 0;
  color: black;
  margin-bottom: 1em;
}

@media (max-width: 48em) {
  .career-two-col-text__container {
    grid-gap: 0;
  }
}
.career:hover {
  background: #681131;
  transition: all ease 0.2s;
}
.career:hover .btn--white.btn--career .arrow {
  width: 45px;
  transition: all ease 0.3s;
}

.career__excerpt {
  color: white;
  max-width: 31.25rem;
  margin-top: 0.5rem;
}

.careers__archive__more-info-text {
  padding-top: 3rem;
  max-width: 45rem;
  margin: 0 auto;
}

.careers-text-below {
  max-width: 27rem;
  margin: 0 auto;
}
.careers-text-below a:not(.btn) {
  color: #681131;
  text-decoration: underline;
}
.careers-text-below a:not(.btn):hover {
  text-decoration: none;
}

/*
=================================
POST TYPE: CAREERS (ARCHIVE)
=================================
*/
/*
=================================
POST TYPE: CAREERS (INNER)
=================================
*/
.careers-inner__content {
  background: #54616C;
  padding: 2rem;
}
@media (min-width: 48em) {
  .careers-inner__content {
    padding: 4.688rem 6.438rem;
  }
}
.careers-inner__content div > * {
  color: white;
}
.careers-inner__content .container {
  grid-gap: 2.563rem;
}
.careers-inner__content li::marker {
  color: white;
}
.careers-inner__content li {
  color: white;
}
.careers-inner__content a {
  color: white;
}

.careers-inner__form .container {
  display: flex;
  justify-content: center;
}

@media (min-width: 48em) {
  .careers__intro-head {
    margin-bottom: 3rem;
  }
}

/*
=================================
POST TYPE: CAREERS (INNER)
=================================
*/
/*
=================================
POST-TYPE: POST (INNER)
=================================
*/
.single-post__article {
  margin-bottom: 2.313rem;
}

.single-post__container {
  position: relative;
}

.single-post__social {
  display: flex;
}
@media (max-width: 48em) {
  .single-post__social {
    align-items: center;
  }
}
@media (min-width: 48em) {
  .single-post__social {
    flex-direction: column;
  }
}
.single-post__social .wrap {
  display: flex;
}
@media (min-width: 48em) {
  .single-post__social .wrap {
    flex-direction: column;
  }
}
@media (min-width: 48em) {
  .single-post__social .social-icon {
    margin-bottom: 1rem;
  }
}
@media (min-width: 48em) {
  .single-post__social {
    position: absolute;
    top: 3.2rem;
    right: -7rem;
  }
}

.single-post__social-text {
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
@media (min-width: 48em) {
  .single-post__social-text {
    text-transform: uppercase;
    transform: rotate(270deg);
    margin-bottom: 1.5rem;
    width: 0.9rem;
    height: 1.5px;
    display: block;
  }
}
@media (max-width: 48em) {
  .single-post__social-text {
    margin-right: 1rem;
  }
}

@media (max-width: 48em) {
  .single-post__social .social .wrap {
    display: flex;
    align-items: center;
  }
}

.single-post__container .btn--red {
  margin-bottom: 2rem;
}

.single-post__container .btn--red a:not(.btn) {
  color: #681131;
  text-decoration: underline;
}
.single-post__container .btn--red a:not(.btn):hover {
  text-decoration: none;
}

/*
=================================
POST-TYPE: POST (INNER)
=================================
*/
.site-footer,
.site-footer__bottom-section {
  border-top: 1px solid #B1BCB6;
}

.site-footer {
  padding-top: 3rem;
}

.site-footer__bottom-section {
  margin-top: 5rem;
  grid-column: 1/4;
}
.site-footer__bottom-section .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-footer .logo-main-svg {
  width: 15rem;
}

@media (min-width: 48em) {
  .site-footer__contact-legal {
    display: flex;
    justify-content: flex-end;
  }
}

#footer-menu .level-1 > a,
#footer-menu .level-1 > span,
.legal-navigation .level-1 > a,
.legal-navigation .level-1 > span {
  transition: all ease 0.2s;
}
#footer-menu .level-1 > a:hover,
#footer-menu .level-1 > span:hover,
.legal-navigation .level-1 > a:hover,
.legal-navigation .level-1 > span:hover {
  color: #681131;
}

.site-footer__contact {
  padding-right: 3rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 48em) {
  .site-footer__contact {
    margin-bottom: 20px;
  }
}
.site-footer__contact a, .site-footer__contact .site-footer__address {
  color: #54616C;
}

.site-footer__address {
  margin-bottom: 1.5rem;
}

.site-footer__email {
  transition: all ease 0.2s;
  text-decoration: underline;
}

.site-footer__legal {
  display: flex;
  flex-direction: column;
}

.site-footer .logo-main {
  margin-bottom: 1rem;
}

.social .wrap {
  display: flex;
}

.social-icon {
  cursor: pointer;
  border: 1.3px solid #681131;
  margin-right: 1rem;
}
.social-icon:last-of-type {
  margin-right: 0;
}
.social-icon i {
  color: #681131;
}

.site-footer__phone {
  margin-bottom: 0;
}

.site-footer__contact-heading {
  margin-bottom: 1.1rem;
}

/*
=================================
HEADER
=================================
*/
.site-header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  z-index: 10;
  position: relative;
  background-color: white;
}
@media (min-width: 80em) {
  .site-header__container {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.site-header .logo-main {
  display: flex;
  align-items: center;
  z-index: 50;
}

.site-header .logo-main .logo-main-svg {
  width: 60%;
  transition: all ease 0.2s;
}
@media (min-width: 1390px) {
  .site-header .logo-main .logo-main-svg {
    width: 15rem;
  }
}

.site-header.open .logo-main .logo-main-svg {
  stroke: white;
}

.site-header.open .fbfa495c-8e01-4cbd-86f5-36e199787e3e {
  fill: white;
}

.site-header {
  position: relative;
  z-index: 999;
}
.site-header.open .site-header__container {
  background: #54616C;
  transition: all ease 0.2s;
}

.logo-main a {
  margin-bottom: 0;
}

body.open {
  overflow: hidden;
}

/*
=================================
HEADER
=================================
*/
/*
=================================
MOBILE FRIENDLY
=================================
*/
@media (min-width: 1390px) {
  .site-header .menu-toggle {
    display: none;
  }
}

/*
=================================
MOBILE FRIENDLY
=================================
*/
/*
=================================
HOT LINKS
=================================
*/
.hot-link {
  display: none;
  position: fixed;
  top: 0;
  right: 3rem;
  padding: 0.25rem 1rem;
  align-items: center;
  border-left: 1px solid #681131;
  border-right: 1px solid #681131;
  border-bottom: 1px solid #681131;
  background-color: white;
  z-index: 11;
}
@media (min-width: 80em) {
  .hot-link {
    display: inline-flex;
  }
}

.single-house .hot-link {
  position: absolute;
}

.hot-link__mail-icon i,
.hot-link__phone-icon i {
  color: #681131;
  margin-bottom: 0;
}

.hot-link__mail-icon i {
  margin-top: 0.25rem;
}

.hot-link__phone-icon {
  margin-right: 0.5rem;
  margin-bottom: 0;
}

.hot-link__mail-icon {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
.hot-link__mail-icon::after {
  display: block;
  content: "";
  width: 1px;
  height: 12px;
  background-color: #681131;
  margin: 0 0.5rem;
}

/*
=================================
HOTLINKS
=================================
*/
/*
=================================
MOBILE MENU
=================================
*/
.mobile-menu-wrap {
  opacity: 0;
  pointer-events: none;
  transition: all ease 0.2s;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  background-color: #54616C;
}
.mobile-menu-wrap.open {
  opacity: 1;
  pointer-events: auto;
  z-index: 10;
}

.mobile-menu-wrap__container {
  margin-top: 10rem;
  overflow: auto;
  height: 100vh;
}

/*
=================================
MOBILE MENU
=================================
*/
/*
=================================
POST TYPE: HOUSE (INNER PAGE) BANNER - TOP
=================================
*/
.banner-top {
  display: none;
}
.single-house .banner-top {
  background-color: #54616C;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3.125rem;
  z-index: 9;
}
@media (min-width: 65em) {
  .single-house .banner-top {
    display: block;
  }
}
.single-house .banner-top .banner-top__list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
  margin-right: 3rem;
}
.single-house .banner-top .banner-top__list-item {
  display: flex;
  align-items: center;
  margin-right: 2rem;
  height: 3rem;
  position: relative;
}
.single-house .banner-top .banner-top__list-item:last-of-type {
  margin-right: 0;
}
.banner-top h3 {
  color: white;
  text-align: center;
}

.banner-top__list-item.active {
  transition: all ease 0.3s;
}
.banner-top__list-item.active::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  width: 100%;
  content: "";
  background-color: white;
}
.banner-top__list-item.active .banner-top__list-item__link {
  font-weight: 600;
}

/*
=================================
POST TYPE: HOUSE (INNER PAGE) BANNER - TOP
=================================
*/
/*
=================================
POST TYPE: HOUSE (INNER PAGE) BANNER - BOTTOM
=================================
*/
.banner-bottom {
  display: none;
  position: relative;
}
.single-house .banner-bottom, .tax-developments_sites .banner-bottom {
  background-color: #54616C;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 48em) {
  .single-house .banner-bottom, .tax-developments_sites .banner-bottom {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 48em) {
  .single-house .banner-bottom, .tax-developments_sites .banner-bottom {
    height: 3.125rem;
    padding: 20px;
  }
}

.banner-bottom__content {
  color: white;
  text-align: center;
  text-transform: uppercase;
}

.banner-bottom__exit-container {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  cursor: pointer;
  width: 3rem;
}
@media (min-width: 48em) {
  .banner-bottom__exit-container {
    right: 3rem;
    bottom: 0;
    top: 0;
  }
}

.banner-bottom__exit {
  color: white;
}

.hide {
  opacity: 0;
  pointer-events: none;
  transition: all ease 0.2s;
}

/*
=================================
POST TYPE: HOUSE (INNER PAGE) BANNER - BOTTOM
=================================
*/
.error-404 {
  display: flex;
  justify-content: center;
  align-items: center;
}
.error-404 .wrap {
  margin: 0;
}
.error-404 .page-title {
  margin-bottom: 4rem;
}

.hero,
.hero-archive {
  position: relative;
}
.hero .container,
.hero-archive .container {
  margin: 0 auto;
  max-width: 69.625rem;
}

.hero--none .hero__bk {
  display: none;
}

.hero__bk {
  background-color: #681131;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 3.5rem;
}
@media (min-width: 48em) {
  .hero__bk {
    top: 48%;
  }
}

.hero__content {
  position: relative;
}

.hero__title {
  text-align: center;
  color: white;
  margin: 0;
  text-transform: uppercase;
  margin-top: 2.5rem;
  margin-bottom: 20px;
}

.hero--none .hero__title {
  color: #681131;
  margin-top: 2rem;
  margin-bottom: 1.438rem;
}

.hero--none .hero__intro-text p {
  color: black;
}

.hero__intro-text {
  text-align: center;
  color: white;
  margin: 0 auto;
  display: block;
  max-width: 30rem;
}
.hero__intro-text p, .hero__intro-text a:not(.btn), .hero__intro-text span {
  color: white;
  font-size: 16px;
  font-family: lato, sans-serif;
  font-weight: 400;
  margin-bottom: 1em;
  font-size: 16px;
}
.hero__intro-text a:not(.btn):hover {
  text-decoration: underline;
}
.hero__intro-text h1, .hero__intro-text h2, .hero__intro-text h3, .hero__intro-text h4, .hero__intro-text h5, .hero__intro-text h6 {
  color: white;
}

.hero--none .hero__intro-text {
  color: black;
  max-width: 27.25rem;
  margin: 0 auto;
}

.hero--carousel .hero__carousel-image {
  position: relative;
  width: 100%;
  padding-bottom: 17%;
  position: relative;
}
.hero--carousel .hero__carousel-image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero--carousel .hero__carousel-image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__video {
  display: flex;
  position: relative;
}
.hero__video .video {
  object-fit: cover;
  position: absolute;
}
.hero__video .wrap {
  position: relative;
  height: 100%;
  width: 100%;
  max-height: 10.5rem;
}
@media (min-width: 32.5em) {
  .hero__video .wrap {
    max-height: 15rem;
  }
}
@media (min-width: 48em) {
  .hero__video .wrap {
    max-height: 25rem;
  }
}
@media (min-width: 65em) {
  .hero__video .wrap {
    max-height: 30rem;
  }
}
@media (min-width: 80em) {
  .hero__video .wrap {
    max-height: 36.375rem;
  }
}
.hero__video .wrap .youtube, .hero__video .wrap .vimeo, .hero__video .wrap .video {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
  width: 100%;
}
.hero__video .wrap .youtube iframe,
.hero__video .wrap .youtube object,
.hero__video .wrap .youtube embed,
.hero__video .wrap .vimeo iframe,
.hero__video .wrap .vimeo object,
.hero__video .wrap .vimeo embed,
.hero__video .wrap .video iframe,
.hero__video .wrap .video object,
.hero__video .wrap .video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.hero__video .wrap img {
  position: relative;
  height: 100%;
  width: 100%;
  height: 10.5rem;
}
@media (min-width: 32.5em) {
  .hero__video .wrap img {
    height: 15rem;
  }
}
@media (min-width: 48em) {
  .hero__video .wrap img {
    height: 25rem;
  }
}
@media (min-width: 65em) {
  .hero__video .wrap img {
    height: 30rem;
  }
}
@media (min-width: 80em) {
  .hero__video .wrap img {
    height: 34.375rem;
  }
}

.hero .hero__carousel .hero__carousel-image,
.hero__carousel-image img {
  height: 10.5rem !important;
}
@media (min-width: 32.5em) {
  .hero .hero__carousel .hero__carousel-image,
  .hero__carousel-image img {
    height: 15rem !important;
  }
}
@media (min-width: 48em) {
  .hero .hero__carousel .hero__carousel-image,
  .hero__carousel-image img {
    height: 25rem !important;
  }
}
@media (min-width: 65em) {
  .hero .hero__carousel .hero__carousel-image,
  .hero__carousel-image img {
    height: 30rem !important;
  }
}
@media (min-width: 80em) {
  .hero .hero__carousel .hero__carousel-image,
  .hero__carousel-image img {
    height: 34.375rem !important;
  }
}

.hero-archive {
  position: relative;
  background: #681131;
}

.hero-archive .hero__bk {
  background-color: white;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 90%;
}
@media (min-width: 65em) {
  .hero-archive .hero__bk {
    bottom: 70%;
    max-height: 275px;
  }
}

.hero-archive__video-content {
  position: relative;
}
@media (max-width: 48em) {
  .hero-archive__video-content {
    display: flex;
    flex-direction: column;
  }
}
.hero-archive__video-content .video {
  object-fit: cover;
  position: absolute;
}
.hero-archive__video-content .wrap {
  position: relative;
  height: 100%;
  width: 100%;
  max-height: 10.5rem;
}
@media (min-width: 32.5em) {
  .hero-archive__video-content .wrap {
    max-height: 15rem;
  }
}
@media (min-width: 48em) {
  .hero-archive__video-content .wrap {
    max-height: 25rem;
  }
}
@media (min-width: 65em) {
  .hero-archive__video-content .wrap {
    max-height: 30rem;
  }
}
@media (min-width: 80em) {
  .hero-archive__video-content .wrap {
    max-height: 40.375rem;
  }
}
.hero-archive__video-content .wrap .youtube, .hero-archive__video-content .wrap .vimeo, .hero-archive__video-content .wrap .video {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
  width: 100%;
}
.hero-archive__video-content .wrap .youtube iframe,
.hero-archive__video-content .wrap .youtube object,
.hero-archive__video-content .wrap .youtube embed,
.hero-archive__video-content .wrap .vimeo iframe,
.hero-archive__video-content .wrap .vimeo object,
.hero-archive__video-content .wrap .vimeo embed,
.hero-archive__video-content .wrap .video iframe,
.hero-archive__video-content .wrap .video object,
.hero-archive__video-content .wrap .video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero-archive__image {
  position: relative;
  width: 100%;
  padding-bottom: 50%;
  position: relative;
}
.hero-archive__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-archive__image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-archive__content {
  position: relative;
}
@media (min-width: 48em) {
  .hero-archive__content {
    margin-bottom: 5rem;
    padding-right: 200px;
  }
}

.hero-archive__content__text {
  display: flex;
  flex-direction: column;
}
@media (max-width: 48em) {
  .hero-archive__content__text {
    margin-bottom: 1.75rem;
  }
}

.hero-archive__content__links {
  width: 100%;
  border: 1px solid white;
  text-align: center;
  color: white;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: -fit-content;
}
@media (min-width: 48em) {
  .hero-archive__content__links {
    width: 190px;
  }
}

.hero-archive__content__links-row {
  display: block;
  padding: 1rem;
  color: white;
  border-bottom: 1px solid white;
  text-transform: uppercase;
}
.hero-archive__content__links-row:last-of-type {
  border-bottom: 0;
}
.hero-archive__content__links-row.active {
  background-color: white;
  color: #681131;
}

.hero-archive__title {
  color: white;
  margin-top: 0rem;
  margin-bottom: 0.75rem;
}
@media (min-width: 48em) {
  .hero-archive__title {
    margin-top: 2rem;
  }
}

.hero-archive__address {
  color: white;
}

/* Bottom Section */
.hero-archive__bottom-content {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.hero-archive__description__heading {
  width: 100%;
}
@media (max-width: 48em) {
  .hero-archive__description__heading {
    display: none;
  }
}

.hero-archive__show-times {
  width: 190px;
  margin-bottom: 1rem;
}
@media (max-width: 48em) {
  .hero-archive__show-times {
    display: none;
  }
}

.show-times__heading::after {
  content: "";
  width: 2rem;
  height: 1px;
  background-color: white;
  display: block;
  margin: 1rem 0;
}

.show-times__row {
  display: flex;
}

.show-times__day {
  width: 30%;
}

.show-times__time {
  width: 60%;
}

.hero-archive__description,
.hero-archive__title {
  max-width: 50.938rem;
}

@media (max-width: 48em) {
  .hero-archive__description {
    display: none;
  }
}

.hero-archive__carousel-controls,
.hero-page__carousel-controls {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 9;
  display: flex;
  justify-content: space-between;
  padding: 2rem;
  top: 50%;
  transform: translateY(-50%);
}

.hero-archive__carousel-controls {
  top: 25%;
  transform: translateY(-50%);
}
@media (min-width: 48em) {
  .hero-archive__carousel-controls {
    top: 50%;
    transform: translateY(-50%);
  }
}

.hero-archive__carousel-left i,
.hero-archive__carousel-right i,
.hero-page__carousel-left i,
.hero-page__carousel-right i {
  display: block;
  font-size: 4rem;
  cursor: pointer;
  color: white;
}

.hero-house {
  position: relative;
  background-color: #681131;
}

.hero-house .hero__bk {
  background-color: white;
  position: absolute;
  bottom: 45%;
  left: 0;
  right: 0;
  top: 0;
  max-height: 17.5rem;
}

@media (max-width: 48em) {
  .hero-house__top-level-info {
    margin: 2rem 0;
  }
}

.hero-house__title-image {
  position: relative;
}
@media (min-width: 48em) {
  .hero-house__title-image {
    display: flex;
    margin-bottom: 6rem;
  }
}

.hero-house__title-prefix {
  margin: 2rem 0 0 0;
}

.hero-house__image-container {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  position: relative;
}
@media (max-width: 48em) {
  .hero-house__image-container {
    flex-direction: column;
  }
}

.hero-house__content__links {
  min-width: 11.875rem;
  border: 1px solid white;
  text-align: center;
  color: white;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: -fit-content;
}

.hero-house__content__links-row {
  display: block;
  padding: 1rem;
  margin: 0;
  color: white;
  border-bottom: 1px solid white;
}
.hero-house__content__links-row:last-of-type {
  border-bottom: 0;
}
.hero-house__content__links-row.active {
  background-color: white;
  color: #681131;
}

@media (min-width: 48em) {
  .hero-house__links-wrap,
  .hero-archive__content__links {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 5;
  }
}
@media (max-width: 48em) {
  .hero-house__links-wrap,
  .hero-archive__content__links {
    order: 3;
    margin: 2rem 0;
  }
}

.hero-house__image {
  position: relative;
  width: 100%;
  padding-bottom: 61%;
  position: relative;
  max-width: 45.375rem;
}
.hero-house__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-house__image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-house__content-container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 20px;
}
@media (min-width: 48em) {
  .hero-house__content-container {
    margin-bottom: 5.688rem;
  }
}

.hero-house__about-content {
  color: white;
  max-width: 27.25rem;
  text-align: center;
}

.hero-house__stats-container {
  background-color: white;
}
.hero-house__stats-container.flex-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.hero-house__stats-container.flex-wrap .hero-house__stats-block {
  flex-basis: 45%;
  margin-bottom: 22px;
}
@media (min-width: 32.5em) {
  .hero-house__stats-container.flex-wrap {
    justify-content: space-around;
  }
  .hero-house__stats-container.flex-wrap .hero-house__stats-block {
    flex-basis: 240px;
    margin-bottom: 60px;
  }
}
@media (min-width: 48em) {
  .hero-house__stats-container.flex-wrap {
    justify-content: space-between;
  }
  .hero-house__stats-container.flex-wrap .hero-house__stats-block {
    flex-basis: 210px;
    margin-bottom: 60px;
  }
}
@media (max-width: 48em) {
  .hero-house__stats-container {
    grid-template-columns: 1fr 1fr;
    padding-top: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media (min-width: 48em) {
  .hero-house__stats-container {
    padding-top: 3rem;
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.hero-house__stats-container::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  right: 0;
  top: 96%;
  background-color: white;
}

.hero-house__stats-block {
  display: flex;
  flex-direction: column;
  text-align: center;
  z-index: 1;
}
.hero-house__stats-block svg.fa-turf {
  fill: #681131;
  margin: 0 auto;
}
.hero-house__stats-block svg.fa-flooring {
  fill: #681131;
  max-height: 49px;
}
@media (min-width: 48em) {
  .hero-house__stats-block svg.fa-flooring {
    margin-bottom: 10px;
  }
}

.hero-house__icon-bedrooms,
.hero-house__icon-bathrooms,
.hero-house__icon-spaces,
.hero-house__icon-area {
  color: #681131;
  font-size: 2rem;
  height: 2.75rem;
}
@media (min-width: 48em) {
  .hero-house__icon-bedrooms,
  .hero-house__icon-bathrooms,
  .hero-house__icon-spaces,
  .hero-house__icon-area {
    font-size: 2.813rem;
    height: 3.7rem;
  }
}

@media (min-width: 48em) {
  .hero-house__stats-text {
    margin-bottom: 1.5625rem;
  }
}

.contact-phone-wrap {
  position: relative;
  width: 100%;
}

.contact-phone--house {
  display: block;
  margin-top: 1rem;
}
@media (min-width: 48em) {
  .contact-phone--house {
    position: absolute;
    top: 100%;
    left: 0;
  }
}

/*
=================================
POST-TYPE: CASE STUDY (INNER)
=================================
*/
.hero-case-study .case-studies-preview__slider {
  width: 100%;
  padding-bottom: 63%;
  position: relative;
}
.hero-case-study .case-studies-preview__slider img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-case-study .case-studies-preview__slider iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-case-study__heading {
  margin-top: calc(10.5rem - 118px);
  margin-bottom: 1.75rem;
}

/*
=================================
POST-TYPE: CASE STUDY (INNER)
=================================
*/
/*
=================================
GLOBAL HERO NO IMAGE
=================================
*/
.hero-no-image {
  margin-top: 1rem;
  margin-bottom: 3rem;
}
@media (min-width: 48em) {
  .hero-no-image {
    margin-top: calc(10.5rem - 118px);
    margin-bottom: 10rem;
  }
}

.hero-no-image__content {
  max-width: 25rem;
  margin: 0 auto;
}

/*
=================================
GLOBAL HERO NO IMAGE
=================================
*/
/*
=================================
POST-TYPE: POST (INNER)
=================================
*/
.single-post__hero {
  margin-bottom: 2rem;
}
@media (min-width: 48em) {
  .single-post__hero {
    margin-bottom: 4.438rem;
  }
}

/*
=================================
POST-TYPE: POST (INNER)
=================================
*/
/*
=================================
HERO DEV AND HOUSE
=================================
*/
.hero-archive .accordion__button--hero {
  border-bottom: 1px solid white;
  width: 100%;
}
@media (min-width: 48em) {
  .hero-archive .accordion__button--hero {
    display: none;
  }
}

.accordion__button--hero .accordion__title {
  color: white;
  font-size: 1rem;
  width: 100%;
}

.accordion__bottom--hero > * {
  color: white;
}

.accordion__button--hero .accordion__icon-up,
.accordion__button--hero .accordion__icon-down {
  color: white !important;
  font-size: 0.8rem !important;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.accordion__icon-up {
  display: flex !important;
  justify-content: flex-end !important;
}

.accordion__bottom-wrap {
  padding-top: 1rem;
}

.accordion__bottom--hero {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.accordion__bottom--show-times {
  width: 100%;
}

.accordion__bottom--hero .show-times__day, .accordion__bottom--hero .show-times__time {
  font-size: 0.8rem;
  font-family: lato, sans-serif;
  font-weight: 400;
}

.accordion__button.active + .accordion__bottom--hero {
  opacity: 1;
  transition: all ease 0.2s;
  position: relative;
  pointer-events: auto;
}

/*
=================================
HERO DEV AND HOUSE
=================================
*/
.hero-archive .hero__carousel-image {
  position: relative;
  height: 10.5rem;
}
@media (min-width: 32.5em) {
  .hero-archive .hero__carousel-image {
    height: 15rem;
  }
}
@media (min-width: 48em) {
  .hero-archive .hero__carousel-image {
    height: 25rem;
  }
}
@media (min-width: 65em) {
  .hero-archive .hero__carousel-image {
    height: 30rem;
  }
}
@media (min-width: 80em) {
  .hero-archive .hero__carousel-image {
    height: 34.375rem;
  }
}

.hero-archive .accordion__icon-up,
.hero-archive .accordion__icon-down {
  color: white;
}

.hero-archive-times-contact {
  display: flex;
  flex-direction: column;
  z-index: 5;
}

.image--square {
  width: 100%;
  padding-bottom: 100%;
  position: relative;
}
.image--square img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image--square iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image--rectangle {
  width: 100%;
  padding-bottom: 60%;
  position: relative;
}
.image--rectangle img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image--rectangle iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image--sqaure-50 {
  width: 50%;
  padding-bottom: 50%;
  position: relative;
}
.image--sqaure-50 img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image--sqaure-50 iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*
=================================
CONTACT PAGE
=================================
*/
.contact-page__content-container {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 48em) {
  .contact-page__content-container {
    padding: 20px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media (min-width: 48em) {
  .contact-page__content-container {
    margin: 0 6.75rem;
  }
}

.contact-page__section-content .contact-page__address > *,
.contact-page__section-content .contact__contact-info-block > *,
.contact-page__section-content a {
  color: white;
}

.contact-page__address {
  text-align: center;
}
@media (max-width: 48em) {
  .contact-page__address {
    margin-bottom: 1.5rem;
  }
}
@media (min-width: 48em) {
  .contact-page__address {
    max-width: 8.25rem;
  }
}
.contact-page__address .contact-page__address__heading {
  margin-bottom: 0.75rem;
}

.contact__contact-info-block {
  text-align: center;
}
@media (min-width: 48em) {
  .contact__contact-info-block {
    min-width: 18.75rem;
  }
}

.contact-page__content-container a:not(.btn) {
  color: white;
  position: relative;
}
.contact-page__content-container a:not(.btn)::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: 1px;
  height: 0.05em;
  transform-origin: left;
  transform: scaleX(1);
  transition: transform 0.75s cubic-bezier(0.165, 0.84, 0.44, 1);
  content: "";
  background: white;
}
.contact-page__content-container a:not(.btn):hover::after {
  transform-origin: right;
  transform: scaleX(0);
}

.contact-page__form .container {
  display: flex;
  justify-content: center;
}

/*
=================================
CONTACT PAGE
=================================
*/
/* the slides */
.slick-slide:not(.hero__carousel-image),
.slick-slide:not(.vimeo),
.slick-slide:not(.youtube),
.slick-slide:not(.video) {
  margin: 0 20px;
}

.slick-slide {
  overflow: hidden;
}

.single-large-carousel__slide {
  margin-left: 0 !important;
  margin-right: 20px !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

/* the parent */
.single-large-carousel__container {
  max-width: 83.75rem;
  margin: 0 auto;
}

.single-large-carousel__carousel {
  padding-bottom: 2rem;
}
.single-large-carousel__carousel .slick-slide {
  position: relative;
  height: 100%;
  width: 100%;
}
.single-large-carousel__carousel .slick-slide .youtube, .single-large-carousel__carousel .slick-slide .vimeo, .single-large-carousel__carousel .slick-slide .video {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
  width: 100%;
}
.single-large-carousel__carousel .slick-slide .youtube iframe,
.single-large-carousel__carousel .slick-slide .youtube object,
.single-large-carousel__carousel .slick-slide .youtube embed,
.single-large-carousel__carousel .slick-slide .vimeo iframe,
.single-large-carousel__carousel .slick-slide .vimeo object,
.single-large-carousel__carousel .slick-slide .vimeo embed,
.single-large-carousel__carousel .slick-slide .video iframe,
.single-large-carousel__carousel .slick-slide .video object,
.single-large-carousel__carousel .slick-slide .video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.single-large-carousel__image {
  width: 100%;
  padding-bottom: 56.25%;
  position: relative;
}
.single-large-carousel__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.single-large-carousel__image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.comparison-item__label {
  bottom: 0 !important;
  top: auto !important;
}

.fancybox-button--zoom,
.fancybox-button--play,
.fancybox-button--thumbs {
  display: none !important;
}

.fancybox-infobar {
  display: none !important;
}

.fancybox-button--close {
  position: absolute;
  right: 2rem;
  top: 2rem;
  opacity: 1;
  color: transparent !important;
  background: transparent !important;
}
.fancybox-button--close:after {
  position: absolute;
  left: 15px;
  color: white;
  display: block;
  content: "";
  font-family: "Font Awesome 6 Free";
  content: "\f00d";
  font-size: 3rem;
  font-weight: 900;
}

.fancybox-bg {
  background: rgba(0, 0, 0, 0.911) !important;
  opacity: 0.97 !important;
}

.fancybox-button--arrow_left {
  background: transparent !important;
  color: transparent !important;
}
.fancybox-button--arrow_left::after {
  position: absolute;
  top: 2rem;
  left: 2rem;
  color: white;
  display: block;
  content: "";
  font-family: "Font Awesome 6 Free";
  content: "\f104";
  font-size: 3rem;
  font-weight: 900;
}

.fancybox-button--arrow_right {
  background: transparent !important;
  color: transparent !important;
}
.fancybox-button--arrow_right::after {
  position: absolute;
  top: 2rem;
  right: 2rem;
  color: white;
  display: block;
  content: "";
  font-family: "Font Awesome 6 Free";
  content: "\f105";
  font-size: 3rem;
  font-weight: 900;
}

.fancybox-thumbs-active::before {
  border: none !important;
}

.fancybox-thumbs__list a:not(.fancybox-thumbs-active) {
  position: relative;
}
.fancybox-thumbs__list a:not(.fancybox-thumbs-active)::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.582);
}

.fancybox-container {
  transition-duration: 0ms !important;
}

.fancybox-thumbs {
  top: auto;
  width: auto;
  bottom: 0;
  left: 0;
  right: 0;
  height: 95px;
  padding: 10px 10px 5px 10px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  justify-content: center;
}

.fancybox-show-thumbs .fancybox-inner {
  right: 0;
  bottom: 95px;
}

.post-preview-carousel__carousel {
  position: relative;
}

.width-100 {
  width: 100%;
}

/*
=================================
GLOBAL
=================================
*/
.d-none {
  display: none;
}

.d-block {
  display: block;
}

.op-0 {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.op-1 {
  opacity: 1;
  pointer-events: auto;
  transition: all ease 0.3s;
}

.social {
  font-size: 1rem;
}
.social a {
  margin-bottom: 0;
}
.social .social-icon {
  cursor: pointer;
  border-radius: 50%;
  width: 30px;
  height: 31px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}

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

.bk-white {
  background-color: white;
}

.bk-red {
  background-color: #681131;
}

.bk-primary {
  background-color: #681131;
}

.bk-third {
  background-color: #ECEAE6;
}

.bk-secondary {
  background-color: #54616C;
}

.bk-four {
  background-color: #AEBCB6;
}

.call-to-actions .container {
  display: flex;
  justify-content: center;
  align-items: center;
}
.call-to-actions .container .call-to-action {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 48em) {
  .call-to-actions .container .call-to-action {
    width: 25rem;
  }
}

.call-to-action .btn--call-to-action {
  margin-bottom: 0;
}
@media (max-width: 48em) {
  .call-to-action .btn--call-to-action {
    width: 100%;
  }
}

.contact-phone-number-link {
  color: white;
  font-weight: bold;
  font-family: lato, sans-serif;
  letter-spacing: 1px;
  font-size: 0.938rem;
  display: flex;
}
.contact-phone-number-link::before {
  margin-right: 0.5rem;
  color: white;
  display: block;
  font-family: "Font Awesome 6 Free";
  content: "\f095";
  font-size: 0.938rem;
  font-weight: 900;
}

.new-homes-logo-wrapper {
  display: flex;
  justify-content: flex-end;
}
@media (min-width: 48em) {
  .new-homes-logo-wrapper {
    display: inline;
    position: absolute;
    top: 50px;
  }
}

.new-homes-logo {
  max-width: 170px;
  height: auto;
}

/*
===============
POST PREVIEW
==============
*/
.post-preview:hover .post-preview__heading {
  color: #681131;
  transition: all ease 0.3s;
}
.post-preview:hover .btn .arrow {
  width: 45px;
  transition: all 0.3s ease;
}
.post-preview:hover .post-preview__image img {
  transition: all ease 0.2s;
  transform: scale(0.97);
}

.post-preview__image {
  width: 100%;
  padding-bottom: 70%;
  position: relative;
  margin-bottom: 1rem;
  overflow: hidden;
}
.post-preview__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.post-preview__image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*
===============
POST PREVIEW
==============
*/
/*
=================================
GLOBAL
=================================
*/
/*
=================================
TEXT WITH LINK
=================================
*/
.text-with-link.bk-red .text-with-link__heading, .text-with-link.bk-red .text-with-link__text, .text-with-link.bk-red .btn {
  color: white;
}

.text-with-link .container,
.text-with-link .text-with-link__content-container {
  display: flex;
  justify-content: center;
  align-items: center;
}
.text-with-link .text-with-link__content-container {
  width: 40rem;
}
.text-with-link .text-with-link__content-wrap {
  max-width: 27.25rem;
  text-align: center;
}

.text-with-link .text-with-link__content-container {
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  padding: 4.5rem 1rem;
}
.text-with-link .btn {
  padding-top: 1rem;
}

/*
=================================
TEXT WITH LINK
=================================
*/
/*
=================================
FEATURED DEVELOPMENT
=================================
*/
.featured-developments {
  position: relative;
}

.featured-developments .bk-red {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  bottom: 6rem;
}
@media (min-width: 48em) {
  .featured-developments .bk-red {
    bottom: 14rem;
  }
}

.featured-developments__main-container {
  display: flex;
}
@media (max-width: 48em) {
  .featured-developments__main-container {
    padding-left: 20px;
  }
}

.featured-developments__content {
  max-width: 27rem;
}

.featured-developments__content {
  padding-top: 4rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 3rem;
  position: relative;
}

.featured-developments__heading-desktop {
  display: none;
}
@media (min-width: 65em) {
  .featured-developments__heading-desktop {
    display: block;
  }
}

.featured-developments__heading-mobile,
.featured-development__btn-1-mobile {
  display: block;
  margin-bottom: 0.5rem;
}
@media (min-width: 65em) {
  .featured-developments__heading-mobile,
  .featured-development__btn-1-mobile {
    display: none !important;
  }
}

.featured-development__btn-1-mobile {
  padding-bottom: 2.5rem;
}

.featured-development__current-dev-btn {
  color: white;
}

.featured-developments__list {
  padding-left: 0;
  margin-bottom: 2rem;
}
.featured-developments__list .featured-development__list-item {
  list-style: none;
  margin-bottom: 1.3em;
}
.featured-developments__list .featured-development__list-item .featured-development__link {
  color: rgba(255, 255, 255, 0.5098039216);
}
.featured-developments__list .featured-development__list-item.active .featured-development__link {
  transition: all ease 0.3s;
  color: white;
}

.featured-developments__image {
  width: 100%;
  padding-bottom: 85%;
  position: relative;
}
.featured-developments__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.featured-developments__image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 48em) {
  .featured-developments__image {
    width: 100%;
    padding-bottom: 50%;
    position: relative;
  }
  .featured-developments__image img {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .featured-developments__image iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.featured-developments__image .image-wrap, .featured-developments__image .image {
  height: 100%;
}

.featured-developments__prev-dev-btn {
  position: absolute;
  bottom: 3.5rem;
  left: 0;
  padding-left: 2rem;
  color: #681131;
}

@media (max-width: 65em) {
  .featured-developments__content {
    display: none;
  }
}

/*
=================================
FEATURED DEVELOPMENT
=================================
*/
/*
=================================
SEARCH LOCATION
=================================
*/
@media (min-width: 888px) {
  .page-template-current-developments .search-location {
    max-width: 40rem;
  }
}

@media (max-width: 48em) {
  .search-location__container {
    padding: 0 20px;
  }
}

.google-maps__map-search-container .search-location__container {
  padding: 0;
}

.page-template-current-developments .search-location {
  margin: 0 auto;
}

.search-location__heading {
  text-align: center;
}

.search-bar {
  margin: 0 auto;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
@media (min-width: 888px) {
  .search-bar {
    max-width: 40rem;
  }
}
.search-bar .search-form {
  margin: 2.5rem 0;
  display: flex;
}
@media (max-width: 888px) {
  .search-bar .search-form {
    flex-direction: column;
  }
}
.search-bar .search-form .input-wrap {
  position: relative;
}
@media (min-width: 888px) {
  .search-bar .search-form .input-wrap {
    width: 80%;
  }
}
.search-bar .search-form .input-wrap .location-arrow {
  position: absolute;
  right: 25px;
  top: 23px;
}
.search-bar .search-form input#search,
.search-bar .search-form input[type=text] {
  width: 100%;
  height: 60px;
  border: 0;
  font-size: 0.813rem;
  padding: 12px 48px 10px 20px;
}
.search-bar .search-form input[type=submit] {
  border: 0;
  color: white;
  background-color: #681131;
  width: 100%;
  height: 60px;
  cursor: pointer;
}
@media (min-width: 888px) {
  .search-bar .search-form input[type=submit] {
    width: 20%;
  }
}
.search-bar .search-form .location-arrow {
  cursor: pointer;
  color: #681131;
}
.search-bar .search-form #location_search-error {
  display: block;
  text-align: left;
  color: red;
  margin-top: 5px;
  font-size: 14px;
  position: absolute;
}

/*
=================================
SEARCH LOCATION
=================================
*/
/*
=================================
TEXT WITH IMAGE
=================================
*/
.text-with-image {
  position: relative;
}

.text-with-image .bk {
  position: absolute;
  grid-column: 1/4;
  left: 0;
  right: 0;
  top: 0;
  z-index: -1;
  bottom: 0;
}
@media (min-width: 65em) {
  .text-with-image .bk {
    grid-column: 1/3;
    min-height: 36rem;
    bottom: 2rem;
    right: 20px;
    top: 2rem;
  }
}

.text-with-image.bk-grey .bk {
  background-color: #54616C;
}
.text-with-image.bk-cream .bk {
  background-color: #ECEAE6;
}

.text-with-image__container {
  display: flex;
  z-index: 1;
  padding-left: 20px;
  padding-right: 20px;
}
@media (max-width: 48em) {
  .text-with-image__container {
    flex-direction: column;
    padding: 0;
  }
}

.text-with-image__content-container {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 48em) {
  .text-with-image__content-container {
    order: 2;
    padding: 2rem;
  }
}
@media (min-width: 32.5em) {
  .text-with-image__content-container {
    padding-right: 2rem;
  }
}
@media (min-width: 48em) {
  .text-with-image__content-container {
    min-height: 250px;
  }
}

@media (min-width: 48em) {
  .text-with-image.bk-grey .text-with-image__content-container, .text-with-image.bk-cream .text-with-image__content-container {
    max-width: 25rem;
  }
}
@media (min-width: 900px) {
  .text-with-image.bk-grey .text-with-image__content-container, .text-with-image.bk-cream .text-with-image__content-container {
    margin-left: 5rem;
  }
}
.text-with-image.bk-white .text-with-image__content-container {
  max-width: 27.25rem;
}

@media (max-width: 48em) {
  .text-with-image.bk-white .text-with-image__content-container {
    order: 1;
    padding-top: 0;
  }
  .text-with-image.bk-white .text-with-image__image {
    order: 2;
  }
}

@media (min-width: 48em) {
  .bk-grey .text-with-image__content-wrap {
    padding: 5rem 0;
  }
}
@media (min-width: 48em) {
  .bk-grey .text-with-image__content-wrap {
    padding: 10rem 0;
  }
}

.text-with-image__image {
  width: 100%;
  height: 100%;
  display: flex;
}
@media (min-width: 48em) {
  .text-with-image__image {
    justify-content: flex-end;
    align-items: center;
  }
}

@media (max-width: 48em) {
  .text-with-image .image {
    width: 100%;
    padding-bottom: 150%;
    position: relative;
  }
  .text-with-image .image img {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .text-with-image .image iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media (min-width: 48em) {
  .text-with-image .image {
    min-width: 25rem;
    max-width: 25rem;
    min-height: 35rem;
    max-height: 40rem;
    height: 100%;
    width: 100%;
  }
  .text-with-image .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media (min-width: 65em) {
  .text-with-image .image {
    min-width: 29.438rem;
    max-width: 29.438rem;
    min-height: 40.625rem;
    max-height: 43.438rem;
    height: 100%;
    width: 100%;
  }
  .text-with-image .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.text-with-image .btn {
  margin-top: 2rem;
}

@media (min-width: 48em) {
  .two-image-links--styled .two-image-links__box:last-of-type {
    margin-top: 10rem;
  }
}

/*
=================================
TEXT WITH IMAGE
=================================
*/
/*
=================================
STATISTICS
=================================
*/
.statistics__container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1rem;
}
@media (max-width: 32.5em) {
  .statistics__container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.statistics__block {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media (max-width: 32.5em) {
  .statistics__block {
    width: 100%;
  }
}
@media (min-width: 32.5em) {
  .statistics__block {
    margin-bottom: 2rem;
  }
}

.statistics__block-value {
  margin-bottom: 0;
}

.statistics__value-wrap {
  position: relative;
}
@media (min-width: 32.5em) {
  .statistics__value-wrap::after {
    content: "";
    display: block;
    width: 1px;
    height: 15px;
    background-color: white;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media (max-width: 32.5em) {
  .statistics__block {
    background: #681131;
    padding: 2.5rem 0;
    max-width: 20.625rem;
  }
  .statistics__block::after {
    content: "";
    display: block;
    width: 15px;
    height: 1px;
    background-color: white;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .statistics__block:last-of-type::after {
    display: none;
  }
}

.statistics__block .statistics__value-wrap {
  background-color: #681131;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
@media (min-width: 32.5em) {
  .statistics__block .statistics__value-wrap {
    width: 13.6rem;
    height: 7.7rem;
  }
}
.statistics__block:last-of-type .statistics__value-wrap::after {
  display: none;
}

.statistics__block-value {
  display: flex;
  align-items: flex-end;
  color: white;
  line-height: 0.7;
}

.statistics__block-text {
  margin-top: 1.75rem;
  width: 13rem;
  text-align: center;
}

/*
=================================
STATISTICS
=================================
*/
/*
=================================
LATEST POSTS
=================================
*/
.latest-posts__container-posts {
  padding-top: 2rem;
  padding-bottom: 3rem;
}
@media (min-width: 32.5em) {
  .latest-posts__container-posts {
    grid-gap: 3rem;
    padding: 4rem 0;
  }
}

@media (max-width: 32.5em) {
  .latest-posts__container-posts .post-preview:nth-child(2) {
    display: none;
  }
  .latest-posts__container-posts .post-preview:nth-child(3) {
    display: none;
  }
}

/*
=================================
LATEST POSTS
=================================
*/
/*
=================================
LOGO CAROUSEL
=================================
*/
.logo-carousel__container-carousel {
  grid-column: 1/4;
  margin: 4rem 0;
}

.logo-carousel__logo-image {
  width: 100%;
  padding-bottom: 50%;
  position: relative;
}
.logo-carousel__logo-image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.logo-carousel__logo-image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*
=================================
LOGO CAROUSEL
=================================
*/
/*
=================================
GOOGLE MAPS
=================================
*/
.google-maps {
  position: relative;
}
@media (min-width: 888px) {
  .google-maps .bk-red {
    grid-column: 1/4;
    position: absolute;
    top: 50%;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
  }
}

/* SNAZZY INFO WINDOW */
.map {
  content: "";
  display: block;
  width: 100%;
  height: 25rem;
}
@media (min-width: 48em) {
  .map {
    height: 34.375rem;
  }
}
.map .si-content-wrapper {
  padding: 0;
  width: 19.25rem;
  height: 8.8rem;
  background-color: white;
  position: relative;
}
.map .si-content-wrapper .si-content {
  overflow: visible;
}
.map .si-content-wrapper .si-content .map-info {
  display: flex;
}
.map .si-content-wrapper .si-content .map-info .content {
  padding: 1.438rem;
  position: relative;
  display: flex;
  flex-direction: column;
}
.map .si-pointer-bg-top {
  border-top-color: white;
}
.map .si-float-wrapper {
  position: relative;
}
.map .si-float-wrapper .close {
  cursor: pointer;
  position: absolute;
  top: 15px;
  color: white;
  z-index: 10;
  right: 15px;
  font-size: 20px;
  transition: all ease 0.4s all;
}
.map .content {
  width: 60%;
}
.map .map__marker-image {
  width: 50%;
  padding-bottom: 50%;
  position: relative;
}
.map .map__marker-image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.map .map__marker-image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.map .map__marker-btn {
  height: 100%;
  display: flex;
  align-items: flex-end;
  margin-bottom: 0.75rem;
}

.map .map__marker-btn .btn-wrap {
  margin: 0;
  padding: 0;
}

.si-content-wrapper:hover .arrow {
  width: 45px;
  transition: all ease 0.2s;
}

.google-maps__map-search-container {
  position: relative;
}

@media (min-width: 888px) {
  .google-maps__map-search-container .search-location {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
}

.google-maps__map-search-container .search-location .search-form {
  margin: 0 0 20px 0;
}

@media (max-width: 888px) {
  .google-maps__map-search-container .input-wrap {
    border: 1.5px solid #681131;
  }
}

.map--single-marker {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
}

.google-maps__map-search-container .map {
  position: relative;
}

.map-error-message {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  display: flex;
  justify-content: center;
  align-items: center;
}

.map-error-message-content {
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  width: 80%;
  height: 60%;
  border: 1px solid #681131;
}
@media (min-width: 65em) {
  .map-error-message-content {
    width: 50%;
    height: 50%;
  }
}

.map-error-message-content {
  position: relative;
}

.map-error-message__exit {
  color: #681131;
  font-size: 2rem;
  position: absolute;
  top: 1rem;
  right: 1rem;
  margin-bottom: 0;
  cursor: pointer;
}

/*
=================================
GOOGLE MAPS
=================================
*/
/*
=================================
ARCHIVE
=================================
*/
.tax-archive {
  background-color: #681131;
}

.tax-archive__term-block {
  display: flex;
}
.tax-archive__term-block:last-of-type {
  margin-bottom: 0;
}
@media (max-width: 48em) {
  .tax-archive__term-block {
    flex-direction: column;
    margin-bottom: 2rem;
  }
}
@media (min-width: 48em) {
  .tax-archive__term-block {
    margin-bottom: 5rem;
  }
}

.term-block__content {
  width: 100%;
}
.term-block__content:first-of-type {
  padding-top: 0;
}
@media (max-width: 48em) {
  .term-block__content {
    margin-bottom: 1.5rem;
  }
}
@media (min-width: 48em) {
  .term-block__content {
    padding-top: 55px;
    margin-left: 2rem;
    max-width: 20rem;
  }
}

.term-block__name,
.term-block__from-price,
.term-block__description {
  color: white;
}

.term-block__image {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.term-block__image .image {
  max-width: 55rem;
  width: 100%;
  padding-bottom: 65%;
  position: relative;
}
.term-block__image .image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.term-block__image .image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 48em) {
  .term-block__description {
    max-width: 79%;
  }
}

.term-block__from-price::after {
  content: "";
  width: 2.5rem;
  height: 1px;
  background-color: white;
  display: block;
  margin: 1.5rem 0;
}

.term-block__from-price__text {
  margin-right: 0.25rem;
}

.term-block__name {
  margin-bottom: 0.5rem;
}

/*
=================================
ARCHIVE
=================================
*/
/*
=================================
LINK WITH LARGE IMAGE
=================================
*/
.link-with-large-image__container {
  display: flex;
  margin-bottom: 5rem;
}
.link-with-large-image__container:last-of-type {
  margin-bottom: 0;
}
@media (max-width: 48em) {
  .link-with-large-image__container {
    flex-wrap: wrap;
  }
}

.link-with-large-image__content {
  width: 100%;
  max-width: 20rem;
}
@media (max-width: 48em) {
  .link-with-large-image__content {
    margin-bottom: 2rem;
  }
}
@media (min-width: 48em) {
  .link-with-large-image__content {
    margin-left: 2rem;
    padding-top: 55px;
  }
}

.link-with-large-image__image {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.link-with-large-image__image .image {
  max-width: 55rem;
  width: 100%;
  padding-bottom: 65%;
  position: relative;
}
.link-with-large-image__image .image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.link-with-large-image__image .image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*
=================================
LINK WITH LARGE IMAGE
=================================
*/
/*
=================================
Available plots
=================================
*/
.available-plots__heading {
  text-align: center;
}

.available-plots__list {
  margin-top: 1rem;
  margin-bottom: 1rem;
  width: 100%;
  border-top: 1px solid rgba(2, 2, 2, 0.103);
}

.available-plots__col {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(2, 2, 2, 0.103);
  width: 1%;
  white-space: nowrap;
  padding-right: 1rem;
}

.available-plots__list {
  border-collapse: collapse;
}

.available-plots__container {
  overflow: auto;
}

/*
=================================
Available plots
=================================
*/
/*
=================================
SINGLE LARGE CAROUSEL
=================================
*/
.single-large-carousel__slide {
  position: relative;
}

.single-large-carousel__slide-content {
  padding: 1rem;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background-color: #AEBCB6;
  display: flex;
}
@media (min-width: 65em) {
  .single-large-carousel__slide-content {
    padding: 1.875rem 4.375rem;
  }
}
@media (max-width: 65em) {
  .single-large-carousel__slide-content {
    align-items: center;
  }
}

.single-large-carousel__slide-index-nav {
  margin-right: 1rem;
  width: 30%;
}
@media (min-width: 65em) {
  .single-large-carousel__slide-index-nav {
    margin-right: 3.313rem;
    width: unset;
  }
}

@media (max-width: 65em) {
  .single-large-carousel__slide-title {
    width: 70%;
  }
}

@media (max-width: 65em) {
  .single-large-carousel__slide-title,
  .single-large-carousel__slide-index-nav,
  .single-large-carousel__slide-index-nav span {
    font-size: 0.8rem;
    line-height: 1.5;
    margin-bottom: 0;
  }
}

@media (min-width: 65em) {
  .single-large-carousel__slide-index > span {
    font-size: 1.625rem;
  }
}

@media (min-width: 65em) {
  .single-large-carousel__slide-index-nav > span {
    font-size: 0.875rem;
  }
}

.single-large-carousel__nav-prev {
  margin-right: 0.8rem;
}

.single-large-carousel__nav-next,
.single-large-carousel__nav-prev {
  cursor: pointer;
}

/*
=================================
SINGLE LARGE CAROUSEL
=================================
*/
/*
=================================
ACCORDION
=================================
*/
.accordion {
  background-color: #ECEAE6;
}

.accordion__heading {
  text-align: center;
  margin-bottom: 2rem;
}
@media (min-width: 48em) {
  .accordion__heading {
    margin-bottom: 3.875rem;
  }
}

.accordion__button {
  position: relative;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(2, 2, 2, 0.103);
}
@media (max-width: 48em) {
  .accordion__button {
    padding-right: 0.5rem;
  }
}

.accordion__button i:first-of-type {
  color: #681131;
  width: 1.5rem;
  font-size: 1rem;
}
@media (min-width: 48em) {
  .accordion__button i:first-of-type {
    font-size: 1.75rem;
    width: 3rem;
  }
}

.accordion__icon-down {
  font-size: 0.8rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: black;
}

.accordion__icon-up {
  opacity: 0;
  font-size: 0.8rem;
  position: absolute;
  right: 0;
  top: 1.7rem;
  color: black;
}

.accordion__top {
  cursor: pointer;
  display: flex;
  align-items: center;
}

.accordion__text {
  padding-top: 1rem;
}
@media (min-width: 48em) {
  .accordion__text {
    padding-top: 3rem;
  }
}

@media (max-width: 48em) {
  .accordion__text {
    grid-gap: 0;
  }
}

.accordion__images-container {
  padding: 1rem 0;
}
@media (min-width: 48em) {
  .accordion__images-container {
    padding: 3rem 0;
  }
}

@supports (display: grid) {
  .accordion__image-count--2 {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
}
@media (min-width: 48em) {
  @supports (display: grid) {
    .accordion__image-count--2 {
      grid-template-columns: 1fr 1fr;
    }
  }
}

@supports (display: grid) {
  .accordion__image-count--3 {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
}
@media (min-width: 48em) {
  @supports (display: grid) {
    .accordion__image-count--3 {
      grid-template-columns: 1fr 1fr;
    }
  }
}
@media (min-width: 65em) {
  @supports (display: grid) {
    .accordion__image-count--3 {
      grid-template-columns: 1fr 1fr;
    }
  }
}
@media (min-width: 48em) {
  .accordion__image-count--3 .image:last-of-type {
    grid-column: 1/3;
  }
}

.accordion__image {
  width: 100%;
  padding-bottom: 60%;
  position: relative;
}
.accordion__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.accordion__image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.accordion__button.active .accordion__icon-down {
  opacity: 0;
  position: absolute;
}
.accordion__button.active .accordion__icon-up {
  opacity: 1;
}

.accordion__button.active + .accordion__bottom {
  opacity: 1;
  transition: all ease 0.2s;
  position: relative;
  pointer-events: auto;
}

.accordion__bottom {
  opacity: 0;
  position: absolute;
  max-width: 42rem;
  margin: 0 auto;
  pointer-events: none;
}

/*
=================================
ACCORDION
=================================
*/
/*
=================================
TWO IMAGES WITH LINK
=================================
*/
.two-images-with-link__heading-link {
  margin-bottom: 2rem;
}
@media (min-width: 48em) {
  .two-images-with-link__heading-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3.313rem;
  }
}

.two-images-with-link__heading {
  margin-bottom: 0;
}

.two-images-with-link__btn {
  padding-right: 50px;
}

.two-images-with-link__image {
  width: 100%;
  margin: 0 auto;
}
.two-images-with-link__image img {
  object-fit: contain;
}

/*
=================================
TWO IMAGES WITH LINK
=================================
*/
/*
=================================
MAP
=================================
*/
.map__heading-address {
  margin-bottom: 1rem;
}

.google-map {
  width: 100%;
  height: 25rem;
  background-color: grey;
  margin-bottom: 2rem;
}

/*
=================================
MAP
=================================
*/
/*
=================================
POST PREVIEW CAROUSEL
=================================
*/
.house-preview {
  position: relative;
}

.house-preview__site-plan {
  position: absolute;
  bottom: 1.75rem;
  right: 1.75rem;
  margin-bottom: 0;
}

.post-preview-carousel {
  background-color: #681131;
}

.post-preview-carousel__heading-link {
  margin-bottom: 2rem;
}
@media (min-width: 48em) {
  .post-preview-carousel__heading-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 3.313rem;
  }
}

.post-preview-carousel__heading {
  margin-bottom: 0;
  color: white;
}

.post-preview-carousel__link {
  margin-right: 25px;
}

.post-preview-carousel__carousel {
  grid-column: 2/4;
  padding-left: 20px;
}

.post-preview-carousel .house-preview__content {
  background-color: white;
}

.post-preview-carousel .house-preview {
  min-height: 33.481rem;
  background: white;
}

@keyframes nudgeLeftRepeat {
  0% {
    transform: translate3d(0, 0, 0);
  }
  25% {
    transform: translate3d(-0.3%, 0, 0);
  }
  50% {
    transform: translate3d(-0.3%, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
.post-preview-carousel .animation-active {
  animation-name: nudgeLeftRepeat;
  animation-duration: 2.3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-out;
}

.post-preview-carousel__carousel .house-preview__content {
  min-height: 346.03px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 65em) {
  .post-preview-carousel__carousel .house-preview__content {
    min-height: 298.03px;
  }
}

.house-preview__link-sitemap {
  margin-top: auto;
}

.post-preview-carousel .slick-dots {
  bottom: -43px;
}
@media (min-width: 48em) {
  .post-preview-carousel .slick-dots {
    bottom: -65px;
  }
}
.post-preview-carousel .slick-dots li {
  background: #681131;
  border-radius: 50%;
  border: 2px solid white !important;
}
.post-preview-carousel .slick-dots li::before {
  font-size: 0 !important;
}
.post-preview-carousel .slick-dots .slick-active {
  background: white;
}
.post-preview-carousel .slick-dots li button:before {
  font-size: 0;
}

@media (min-width: 48em) {
  .post-preview-carousel .house-preview {
    width: 456px;
  }
}

/*
=================================
POST PREVIEW CAROUSEL
=================================
*/
/*
=================================
TEXT CAROUSEL
=================================
*/
.text-carousel .container {
  margin: 0 auto;
  max-width: 69.625rem;
}

.text-carousel__carousel {
  background-color: #54616C;
}

.text-carousel__carousel {
  padding-top: 4.375rem;
  padding-bottom: 1.875rem;
}
@media (min-width: 65em) {
  .text-carousel__carousel {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
}

.text-carousel__js-selector {
  margin: 0 auto;
}
@media (min-width: 48em) {
  .text-carousel__js-selector {
    max-width: 41.375rem;
  }
}

.text-carousel__nav {
  display: flex;
  justify-content: flex-end;
  color: white;
  margin-right: 2.875rem;
}

.text-carousel__nav-prev {
  margin-right: 2.188rem;
}

.text-carousel__nav-prev,
.text-carousel__nav-next {
  cursor: pointer;
}

/*
=================================
TEXT CAROUSEL
=================================
*/
/*
=================================
TEXT BLOCK
=================================
*/
.text-block__container {
  grid-gap: 0;
}
@media (min-width: 48em) {
  .text-block__container {
    grid-gap: 3.25rem;
  }
}

.text-block.bk-primary .text-block__text-wrap > *, .text-block.bk-primary .text-block__text-wrap a, .text-block.bk-primary .text-block__text-wrap span {
  color: white;
}

.text-block.none .text-block__text-wrap > a, .text-block.none .text-block__text-wrap span {
  color: #681131;
}

.text-block--border .text-block__text-wrap {
  padding: 2.5rem 0rem;
  max-width: 32rem;
  margin: 0 auto;
}
@media (min-width: 48em) {
  .text-block--border .text-block__text-wrap {
    padding: 4.5rem 1rem;
  }
}
.text-block--border .text-block__container::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: white;
  display: block;
  margin: 0 auto;
}
@media (min-width: 48em) {
  .text-block--border .text-block__container::after {
    width: 75%;
  }
}
.text-block--border .text-block__container::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: white;
  display: block;
  margin: 0 auto;
}
@media (min-width: 48em) {
  .text-block--border .text-block__container::before {
    width: 75%;
  }
}

.text-block.bk-primary li, .text-block.bk-primary li::marker, .text-block.bk-primary strong, .text-block.bk-primary h1, .text-block.bk-primary h2, .text-block.bk-primary h3, .text-block.bk-primary h4, .text-block.bk-primary h5, .text-block.bk-primary h6 {
  color: white;
}

/*
=================================
TEXT BLOCK
=================================
*/
.two-image-links__container {
  grid-gap: 2rem;
}
@media (min-width: max-width) {
  .two-image-links__container {
    grid-gap: 6rem;
  }
}

.two-image-links .btn .btn-wrap {
  height: 0.5rem;
}

.two-image-links__box-image--rectangle {
  width: 100%;
  padding-bottom: 68%;
  position: relative;
}
.two-image-links__box-image--rectangle img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.two-image-links__box-image--rectangle iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 48em) {
  .two-image-links__box:last-of-type .two-image-links__box-image--rectangle {
    margin-top: 10rem;
  }
}

/*
=================================
MAP WITH FILTER (RADIO BTNS)
=================================
*/
.map-with-filter {
  position: relative;
}

.map-with-filter .map {
  height: 25rem;
}
@media (min-width: 48em) {
  .map-with-filter .map {
    height: 43.75rem;
  }
}

.map-with-filter__bk {
  background-color: #681131;
  position: absolute;
  top: 45%;
  left: 0;
  right: 0;
  bottom: 0;
}

.map-with-filter__heading-radio {
  margin-bottom: 2rem;
}
@media (min-width: 48em) {
  .map-with-filter__heading-radio {
    display: flex;
    justify-content: space-between;
  }
}

.map-with-filter__heading {
  margin: 0;
}

@media (min-width: 48em) {
  .map-with-filter .radio-btns {
    display: flex;
  }
}

.map-with-filter .radio-item {
  display: flex;
  align-items: center;
  margin-right: 1.75rem;
}
.map-with-filter .radio-item:last-of-type {
  margin-right: 0;
}
.map-with-filter .radio-item input {
  margin-right: 0.75em;
  accent-color: #681131;
  cursor: pointer;
}
@media (max-width: 48em) {
  .map-with-filter .radio-item {
    margin: 0.75rem 0;
  }
  .map-with-filter .radio-item:last-of-type {
    margin-bottom: 0;
  }
}

/*
=================================
MAP WITH FILTER (RADIO BTNS)
=================================
*/
/*
=================================
IMAGE BLOCK
=================================
*/
.image-block__image--dimensions {
  width: 100%;
  padding-bottom: 67%;
  position: relative;
}
.image-block__image--dimensions img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-block__image--dimensions iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-block-repeater .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
.image-block-repeater .container .image-block-repeater__image {
  max-width: 16.188rem;
}
.image-block-repeater .container img {
  object-fit: contain;
}

/*
=================================
IMAGE BLOCK
=================================
*/
/*
=================================
IMAGE COMPARISON
=================================
*/
.image-comparison__container {
  position: relative;
  min-height: 39.313rem;
}

.image-comparison__container {
  display: grid;
}
@media (min-width: 48em) {
  .image-comparison__container {
    grid-template-columns: 0.4fr 1fr;
    grid-template-rows: 1fr;
  }
}

@media (max-width: 48em) {
  .image-comparison__nav {
    grid-row: 3/4;
    grid-column: 1/3;
    margin-top: 2rem;
  }
}
@media (min-width: 48em) {
  .image-comparison__nav {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 20;
    grid-column: 1/2;
    grid-row: 1/2;
  }
}

.image-comparison__btns {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 48em) {
  .image-comparison__btns {
    align-items: center;
  }
}

.js-slider {
  width: 100%;
  display: flex;
  grid-column: 2/3;
  grid-row: 1/2;
}

.image-comparison__content {
  max-width: 100%;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (max-width: 48em) {
  .image-comparison__content {
    grid-column: 1/3;
  }
}
@media (min-width: 48em) {
  .image-comparison__content {
    max-width: 16.75rem;
  }
}

@media (min-width: 48em) {
  .image-comparison__excerpt {
    margin-bottom: 2.5rem;
  }
}

.image-comparison .btn {
  margin-bottom: 1.5rem;
}

.js-slider {
  max-height: 39.313rem;
}
@media (max-width: 48em) {
  .js-slider {
    grid-column: 1/3;
    max-height: 20rem;
    grid-row: 2/3;
  }
}

.js-comparison-container,
.js-slider__wrap,
.comparison-image {
  width: 100%;
}

.js-slider__wrap {
  overflow: hidden;
}

.image-comparison__slide-index.desktop {
  display: none;
}
@media (min-width: 48em) {
  .image-comparison__slide-index.desktop {
    display: block;
  }
}

.image-comparison__slide-index.mobile {
  display: block;
}
@media (min-width: 48em) {
  .image-comparison__slide-index.mobile {
    display: none;
  }
}

/*
=================================
IMAGE COMPARISON
=================================
*/
/*
=================================
STEP (JOURNEY-TEMPLATE.PHP)
=================================
*/
.section-pb--small {
  padding-bottom: 2.5rem;
}
@media (min-width: 48em) {
  .section-pb--small {
    padding-bottom: 5.2 0.6875rem;
  }
}

.step .container {
  position: relative;
}

.step__image-title-wrap {
  position: relative;
  display: flex;
}

.step--has-image:nth-of-type(even) .step__image-title-wrap {
  justify-content: flex-end;
}

.step--has-image:nth-of-type(odd) .step__image-title-wrap {
  justify-content: flex-start;
}

.step__image {
  width: 100%;
  padding-bottom: 60%;
  position: relative;
}
.step__image img {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.step__image iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 48em) {
  .step__image {
    width: 79.3%;
    padding-bottom: 47.3%;
    position: relative;
  }
  .step__image img {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .step__image iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.step__title {
  font-size: 3.125rem;
  color: white;
  position: absolute;
  bottom: 0;
  margin: 0;
}

.step--has-image:nth-of-type(even) .step__title {
  right: 0;
}

.step--has-image:nth-of-type(odd) .step__title {
  left: 0;
}

.step--has-image .step__content {
  background: #ECEAE6;
  top: 4rem;
  padding: 2rem;
}
@media (min-width: 48em) {
  .step--has-image .step__content {
    width: 27.25rem;
    position: absolute;
    padding: 3rem;
  }
}

.step--has-image:nth-of-type(even) .step__content {
  left: 0;
}

.step--has-image:nth-of-type(odd) .step__content {
  right: 0;
}

.step--no-image .step__content {
  background: #ECEAE6;
  margin: 0 auto;
  padding: 2rem;
}
@media (min-width: 48em) {
  .step--no-image .step__content {
    max-width: 55.5rem;
    padding: 3rem 7rem;
  }
}

/*
=================================
STEP (JOURNEY-TEMPLATE.PHP)
=================================
*/
/*
=================================
TEAM MEMBER (TEAM-TEMPLATE.PHP)
=================================
*/
.team-template__heading {
  margin-top: calc(9.188rem - 118px);
  margin-bottom: 2.5rem;
}
@media (min-width: 48em) {
  .team-template__heading {
    margin-bottom: 4.5rem;
  }
}

.team-member {
  position: relative;
  margin-bottom: 4.188rem;
}
@media (max-width: 870px) {
  .team-member {
    display: flex;
    flex-direction: column;
  }
}

@media (min-width: 870px) {
  .team-member__content {
    opacity: 0;
    max-width: 27.25rem;
    position: absolute;
    top: 50%;
    transform: translateY(-57%);
    left: 0;
    z-index: -1;
  }
  .team-member__content a:not(.btn) {
    text-decoration: underline;
  }
  .team-member__content a:not(.btn):hover {
    text-decoration: none;
  }
}
@media (max-width: 870px) {
  .team-member__content {
    order: 2;
  }
}

.item-moved .team-member__content {
  transition: all ease 1.3s;
  opacity: 1;
  z-index: 5;
}

.team-member__front {
  position: relative;
  cursor: pointer;
}
.team-member__front:hover .arrow {
  width: 45px;
  transition: all 0.3s ease;
}

.team-member__image {
  margin-bottom: 1.375rem;
}

@media (max-width: 870px) {
  .team-member__front {
    pointer-events: none;
  }
}

.team-member__btn {
  cursor: pointer;
  color: #681131;
}
.team-member__btn .arrow {
  background-color: #681131;
}
.team-member__btn .arrow::after, .team-member__btn .arrow::before {
  background-color: #681131;
}
@media (max-width: 870px) {
  .team-member__btn {
    display: none;
  }
}

.item-moved .team-member__btn__name,
.item-moved .team-member__btn__title,
.item-moved .btn-wrap:not(.btn--reversed) {
  opacity: 0;
  position: absolute;
  transition: all ease 0.25s;
}

.team-member .btn--reversed {
  position: absolute;
  opacity: 0;
}

.item-moved .btn--reversed {
  opacity: 1;
  position: relative;
  transition: all ease 0.25s;
}

/*
=================================
TEAM MEMBER (TEAM-TEMPLATE.PHP)
=================================
*/
/*
=================================
AMENDATIES
=================================
*/
.amenities-carousel .container {
  margin: 0 auto;
  max-width: 69.625rem;
}

.amenities-carousel__container {
  margin-top: 1rem;
}

.amenities-carousel__text-container {
  padding-bottom: 3.75rem;
}

.amenity__icon {
  cursor: pointer;
}
.amenity__icon > * {
  color: #AEBCB6;
  font-size: 2.2rem;
}

.slick-current .amenity__icon > * {
  font-size: 4rem;
}

.amenity,
.amenity__icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.amenity__icon {
  margin-bottom: 2rem;
  margin-top: 1rem;
}

.amenity__text {
  text-align: center;
  max-width: 18.5rem;
  margin: 0 auto;
  opacity: 0;
  color: white;
  height: 48px;
  position: absolute;
}

.amenity__text.active {
  opacity: 1;
  position: relative;
}

.amenities-carousel__index {
  border: 1px solid white;
  border-radius: 50%;
  width: 0.5rem;
  height: 0.5rem;
  margin: 0 0.5rem;
}
.amenities-carousel__index.active {
  background: white;
}

.amenities-carousel__controls-container {
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 1px solid #898989;
  border-bottom: 1px solid #898989;
  padding: 1.688rem 0;
}

.amenities-carousel__prev {
  margin-right: 2rem;
}

.amenities-carousel__next {
  margin-left: 2rem;
}

/*
=================================
AMENDATIES
=================================
*/
.page-template-contact-template .team-template__heading {
  margin-bottom: 1rem;
}

.post-preview__content {
  display: flex;
  flex-direction: column;
}

.grecaptcha-badge {
  z-index: 999 !important;
}

.form .container,
.form__heading-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.form-wrap p {
  display: flex;
  flex-wrap: wrap;
}

.wpcf7-form {
  padding: 20px;
}
@media (min-width: 48em) {
  .wpcf7-form {
    width: 41.375rem;
  }
}

.wpcf7-form-control-wrap,
.wpcf7-form-control {
  width: 100%;
}

.form__heading {
  margin-bottom: 4.563rem;
}

.wpcf7-form-control-wrap:nth-of-type(6),
.wpcf7-form-control-wrap:nth-of-type(3),
.wpcf7-form-control-wrap:nth-of-type(4),
.wpcf7-form-control-wrap:nth-of-type(5) {
  width: calc(50% - 10px);
}

.wpcf7-form-control-wrap:nth-of-type(3),
.wpcf7-form-control-wrap:nth-of-type(5) {
  margin-right: 10px;
}

.wpcf7-form-control-wrap:nth-of-type(4),
.wpcf7-form-control-wrap:nth-of-type(6) {
  margin-left: 10px;
}

.wpcf7-form-control-wrap input {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 1px solid rgba(2, 2, 2, 0.103);
  height: 3rem;
  font-size: 0.813rem;
}

.wpcf7-form-control-wrap select {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 1px solid rgba(2, 2, 2, 0.103);
  height: 3rem;
  font-size: 0.813rem;
}

.wpcf7-submit {
  cursor: pointer;
  border: none;
  background-color: transparent;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.75px;
  font-weight: 800;
  color: #681131;
}

.form-wrap .btn {
  margin-top: 2rem;
}

.ajax-loader {
  display: none !important;
}

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

.cv-upload-label {
  cursor: pointer;
}
.cv-upload-label p {
  color: #681131;
  text-decoration: underline;
  margin-bottom: 0;
}
.cv-upload-label p:hover {
  text-decoration: none;
}

.dev-form {
  padding-top: 2rem;
  padding-bottom: 4rem;
}

.form-disclaimer {
  font-size: 0.8rem !important;
}

.wpcf7-spinner {
  display: none !important;
}

.form-prop-name {
  position: absolute;
  top: 0.5rem;
  left: 0;
}

input:disabled {
  background: white !important;
}

.grecaptcha-badge {
  bottom: 7rem !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3ZlbmRvcnMvc2xpY2suc2NzcyIsIjAtc2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsIi4uL3ZlbmRvcnMvc2xpY2stdGhlbWUuc2NzcyIsIjAtc2V0dGluZ3MvX2NvbG91cnMuc2NzcyIsIjAtc2V0dGluZ3MvX25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwiMC1zZXR0aW5ncy9fYmFzZS5zY3NzIiwiMS10b29scy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiMS10b29scy9fbWl4aW5zLnNjc3MiLCIyLWdlbmVyaWMvX2J1dHRvbi5zY3NzIiwiMi1nZW5lcmljL19oYW1idXJnZXIuc2NzcyIsIjMtYW5pbWF0aW9uL19hbmltYXRpb24uc2NzcyIsIjQtbGF5b3V0L19zdHJ1Y3R1cmUuc2NzcyIsIjQtbGF5b3V0L19uYXZpZ2F0aW9uLnNjc3MiLCI0LWxheW91dC9fYmxvZy5zY3NzIiwiNC1sYXlvdXQvX2Zvb3Rlci5zY3NzIiwiNC1sYXlvdXQvX2hlYWRlci5zY3NzIiwiNC1sYXlvdXQvZXJyb3IvNDA0LnNjc3MiLCI0LWxheW91dC9faGVyby5zY3NzIiwiNC1sYXlvdXQvX3BhZ2Uuc2NzcyIsIjQtbGF5b3V0L19jYXJvdXNlbC5zY3NzIiwiNC1sYXlvdXQvX2luY2x1ZGVzLnNjc3MiLCI1LWVsZW1lbnRzL19saW5rcy5zY3NzIiwiNS1lbGVtZW50cy9fZm9ybXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUNDUTtBQUNBO0FEQVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7O0FBR1I7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7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QTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBR0U7O0VBR0Y7SUFFRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBRUU7O0VBR0Y7SUFLRTs7RUFHRjtJQUlFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUVFOztFQUdGO0lBSUU7O0VBR0Y7SUFHRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFHRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQU1FOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFLRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBS0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUtFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFLRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFFRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFFRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUVFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTs7O0FBSUY7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOzs7QUFJSjtFQUNJO0lBQ0U7SUFDQTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7SUFDQTs7O0FBR047RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztJQUNDOztFQUVEO0lBQ0M7O0VBRUQ7SUFDQzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztJQUNDOztFQUVEO0lBQ0M7O0VBRUQ7SUFDQzs7O0FBSUY7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDQztJQUNJOztFQUVGO0lBQ0U7OztBQUlMO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFJQTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTs7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Ozs7QUFHQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7O0FsQm1ESjtFa0JwREE7SUFHUTs7OztBQUdSO0FBQUE7RUFFSTs7O0FBRUE7RUFDSTs7O0FBR1I7QUFBQTtBQUFBO0FBQUE7RUFLSTs7O0FBRUo7QUFBQTtFQUVJOzs7QUFFSjtBQUFBO0VBRUk7OztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVIO0VBQ0E7RUFDQTtFQUNHLE9wQjFEYTs7O0FvQjREakI7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOztBQUNBO0VBQ0ksT3BCaEZLO0VvQmlGTDtFQUNBOztBQUNBO0VBQ0k7OztBQU9oQjtFQUNJO0VBQ0E7OztBQUlKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFJSjtFQUNJIiwiZmlsZSI6ImJ1bmRsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJcclxuQGltcG9ydCB1cmwoXCJodHRwczovL3VzZS50eXBla2l0Lm5ldC9uY2E4b21qLmNzc1wiKTtcclxuQGltcG9ydCB1cmwoXCJodHRwczovL3VzZS50eXBla2l0Lm5ldC9uY2E4b21qLmNzc1wiKTtcclxuXHJcbiRmb250LWZhbWlseV9fbWFpbjogbGF0bywgc2Fucy1zZXJpZjtcclxuXHJcbiRmb250LXdlaWdodF9fbm9ybWFsOiA0MDA7XHJcbiRmb250LXdlaWdodF9fYm9sZDogNTAwO1xyXG5cclxuLy9Gb250IEZhbWlseVxyXG5wLCBhLCBsaSwgaDEsIGgyLCBoMywgc3BhbntcclxuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5X19tYWluO1xyXG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX25vcm1hbDtcclxufVxyXG5cclxuLy9NYXJnaW4gQm90dG9tXHJcbnAsIGEsIGgxLCBoMiwgaDN7XHJcblx0bWFyZ2luLWJvdHRvbTogMWVtO1xyXG59XHJcblxyXG4vL1N0YW5kYXJkIEZvbnQgU2l6ZVxyXG5wLCBhLCBsaXtcclxuXHRmb250LXNpemU6IDAuOTM4cmVtOyAvLzE1cHhcclxufVxyXG5cclxuaDF7XHJcblx0Zm9udC1zaXplOiAxLjU2M3JlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogNC41cHg7XHJcblx0bGluZS1oZWlnaHQ6IDIuM3JlbTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xyXG5cdFx0Zm9udC1zaXplOiAyLjgxM3JlbTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiA3cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMy42cmVtO1xyXG5cdH1cclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XHJcbn1cclxuXHJcbmgye1xyXG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogM3B4O1xyXG5cdGxpbmUtaGVpZ2h0OiAyLjRyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XHJcblx0XHRmb250LXNpemU6IDEuNjI1cmVtO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IDZweDtcclxuXHR9XHJcbn1cclxuXHJcbmgze1xyXG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogM3B4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Y29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcclxufVxyXG5cclxuXHJcbmFydGljbGUgdWwsIFxyXG5hcnRpY2xlIG9se1xyXG5cdHBhZGRpbmctbGVmdDogMS4ycmVtO1xyXG5cdGxpOjptYXJrZXJ7XHJcblx0ICBjb2xvcjogIzY4MTEzMTtcclxuXHR9XHJcblx0bGl7XHJcblx0ICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcblx0ICBsZXR0ZXItc3BhY2luZzogMDtcclxuXHQgIGNvbG9yOiBibGFjaztcclxuXHQgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuXHR9XHJcbiAgfVxyXG5cclxuLnNpbmdsZS1wb3N0IGFydGljbGUgYTpub3QoLmJ0bil7XHJcblx0Y29sb3I6ICRjb2xvcl9fcHJpbWFyeSAhaW1wb3J0YW50O1xyXG5cdCY6aG92ZXJ7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbn1cclxuLy9XWVNXSUdcclxuLmZzLTE3e1xyXG4gICAgZm9udC1zaXplOiAxLjA2M3JlbTtcclxufVxyXG4uZnMtMTN7XHJcbiAgICBmb250LXNpemU6IDAuODEzcmVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjhweDtcclxufVxyXG5cclxuLmhlcm8tLW5vLWltYWdlX19oZWFkaW5ne1xyXG5cdGZvbnQtc2l6ZTogMS42MjVyZW07XHJcblx0bGV0dGVyLXNwYWNpbmc6IDZweDtcclxuXHRsaW5lLWhlaWdodDogMi40cmVtO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Y29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luOiAzcmVtIDA7XHJcbn1cclxuXHJcblxyXG4vLy8vLy8vLy8vLy9Ib3QtTGluayBOYXYvLy8vLy8vLy8vL1xyXG5cclxuLmhvdC1saW5rX190ZXh0e1xyXG5cdGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XHJcblx0Zm9udC1zaXplOiAwLjYyNXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vL0hvdC1MaW5rIE5hdi8vLy8vLy8vLy8vXHJcblxyXG4vLy8vLy8vLy8vLy9IZWFkZXIgTmF2Ly8vLy8vLy8vLy9cclxuI21haW4tbWVudSAubGV2ZWwtMSA+IGEsIFxyXG4jbWFpbi1tZW51IC5sZXZlbC0xID4gc3BhbntcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cdCNtYWluLW1lbnUgLmxldmVsLTIgPiBhLCBcclxuXHQjbWFpbi1tZW51IC5sZXZlbC0yID4gc3BhbntcclxuXHRcdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcblx0fVxyXG4vLy8vLy8vLy8vLy9Gb290ZXIgTmF2Ly8vLy8vLy8vLy9cclxuXHJcbi8vLy8vLy8vLy8vL01vYmlsZSBOYXYvLy8vLy8vLy8vL1xyXG5cclxuI21vYmlsZS1tZW51IC5sZXZlbC0xID4gYSwgXHJcbiNtb2JpbGUtbWVudSAubGV2ZWwtMSA+IHNwYW57XHJcblx0Zm9udC1zaXplOiAwLjkzOHJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjVweDtcclxufVxyXG5cdCNtb2JpbGUtbWVudSAubGV2ZWwtMiA+IGEsIFxyXG5cdCNtb2JpbGUtbWVudSAubGV2ZWwtMiA+IHNwYW57XHJcblx0XHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG5cdH1cclxuXHJcbi8vLy8vLy8vLy8vL01vYmlsZSBOYXYvLy8vLy8vLy8vL1xyXG5cclxuLy8vLy8vLy8vLy8vRm9vdGVyIEhlYWRpbmcvLy8vLy8vLy8vL1xyXG4uc2l0ZS1mb290ZXJfX2hlYWRpbmd7XHJcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDJweDtcclxufVxyXG4vLy8vLy8vLy8vLy9Gb290ZXIgSGVhZGluZy8vLy8vLy8vLy8vXHJcblxyXG4vLy8vLy8vLy8vLy9Gb290ZXIgTmF2Ly8vLy8vLy8vLy9cclxuI2Zvb3Rlci1tZW51IC5sZXZlbC0xID4gYSwgXHJcbiNmb290ZXItbWVudSAubGV2ZWwtMSA+IHNwYW57XHJcblx0Zm9udC1zaXplOiAwLjcwOHJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjVweDtcclxufVxyXG4vLy8vLy8vLy8vLy9Gb290ZXIgTmF2Ly8vLy8vLy8vLy9cclxuXHJcbi8vLy8vLy8vLy8vL0Zvb3RlciBMZWdhbC8vLy8vLy8vLy8vXHJcbi5sZWdhbC1uYXZpZ2F0aW9uIC5sZXZlbC0xID4gYSwgXHJcbi5sZWdhbC1uYXZpZ2F0aW9uIC5sZXZlbC0xID4gc3BhbntcclxuXHRmb250LXNpemU6IDAuNzA4cmVtO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG59XHJcbi8vLy8vLy8vLy8vL0Zvb3RlciBMZWdhbC8vLy8vLy8vLy8vXHJcblxyXG4vLy8vLy8vLy8vLy9Gb290ZXIgQ29udGFjdC8vLy8vLy8vLy8vXHJcbi5zaXRlLWZvb3Rlcl9fY29udGFjdCBhLCAuc2l0ZS1mb290ZXJfX2NvbnRhY3Qgc3BhbntcclxuXHRmb250LXNpemU6IDAuNzA4cmVtO1xyXG59XHJcbi8vLy8vLy8vLy8vL0Zvb3RlciBDb250YWN0Ly8vLy8vLy8vLy9cclxuXHJcblxyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5GRUFUVVJFRCBERVZFTE9QTUVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcbi5mZWF0dXJlZC1kZXZlbG9wbWVudF9fbGlua3tcclxuXHRmb250LXNpemU6IDEuMnJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogNnB4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG4uZmVhdHVyZWQtZGV2ZWxvcG1lbnRzX19oZWFkaW5nLWRlc2t0b3B7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcclxufVxyXG4uZmVhdHVyZWQtZGV2ZWxvcG1lbnRzX19oZWFkaW5nLW1vYmlsZXtcclxuICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xyXG59XHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuRkVBVFVSRUQgREVWRUxPUE1FTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi5jb3B5cmlnaHR7XHJcblx0Zm9udC1zaXplOiAwLjcwOHJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjVweDtcclxufVxyXG5cclxuXHJcbi5idG46bm90KC5idG4tLWNhbGwtdG8tYWN0aW9uKSBzcGFue1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAycHg7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4uYnRuLmJ0bi0tY2FsbC10by1hY3Rpb24gc3BhbntcclxuXHRmb250LXNpemU6IDAuNjI1cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjc1cHg7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5TRUFSQ0ggTE9DQVRJT05cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcbi5zZWFyY2gtbG9jYXRpb24gLnN1Ym1pdHtcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbi5zZWFyY2gtbG9jYXRpb24gaW5wdXQ6OnBsYWNlaG9sZGVye1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjVweDtcclxuXHRjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xyXG59XHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5TRUFSQ0ggTE9DQVRJT05cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblNUQVRJU1RJQ1NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG4uc3RhdGlzdGljc19fYmxvY2stdmFsdWV7XHJcblx0Zm9udC1zaXplOiAyLjVyZW07XHJcblx0bGV0dGVyLXNwYWNpbmc6IDRweDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGNvbG9yOiAkY29sb3JfX3doaXRlO1xyXG59XHJcbi5zdGF0aXN0aWNzX19ibG9jay10ZXh0e1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjVweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtc21hbGwpe1xyXG5cdFx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcblx0fVxyXG59XHJcblx0LnN0YXRpc3RpY3NfX2Jsb2NrLXZhbHVlIC5jdXJyZW5jeSxcclxuXHQuc3RhdGlzdGljc19fYmxvY2stdmFsdWUgLmFtb3VudHtcclxuXHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdH1cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5TVEFUSVNUSUNTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5QT1NUIFBSRVZJRVdcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG4ucG9zdC1wcmV2aWV3X19jb250ZW50e1xyXG5cdC5wb3N0LXByZXZpZXdfX2hlYWRpbmd7XHJcblx0XHRmb250LXNpemU6IDAuOTM4cmVtO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAxLjVweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEuMmVtO1xyXG5cdFx0Y29sb3I6ICRjb2xvcl9fYmxhY2s7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5QT1NUIFBSRVZJRVdcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblRFUk0gQkxPQ0tcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG4udGVybS1ibG9ja19fbmFtZXtcclxuXHRmb250LXNpemU6IDEuNXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogNnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAyLjJyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xyXG59XHJcblxyXG4udGVybS1ibG9ja19fYWRkcmVzc3tcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zODQpO1xyXG59XHJcbi50ZXJtLWJsb2NrX19mcm9tLXByaWNlX190ZXh0e1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMnB4O1xyXG5cclxufVxyXG4udGVybS1ibG9ja19fZnJvbS1wcmljZV9fdmFsdWV7XHJcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbn1cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5URVJNIEJMT0NLXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi5jYWxsLXRvLWFjdGlvbl9faGVhZGluZ3tcclxuXHRjb2xvcjogJGNvbG9yX193aGl0ZTtcclxufVxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkhFUk8gQVJDSElWRVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbi5oZXJvLWFyY2hpdmVfX2NvbnRlbnRfX2xpbmtzLXJvd3tcclxuXHRmb250LXNpemU6IDAuNjI1cmVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAycHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5oZXJvLWFyY2hpdmVfX2Rlc2NyaXB0aW9uLFxyXG4uaGVyby1hcmNoaXZlX19kZXNjcmlwdGlvbl9faGVhZGluZ3tcclxuXHRjb2xvcjogJGNvbG9yX193aGl0ZTtcclxuXHJcbn1cclxuXHJcbi5zaG93LXRpbWVzX19oZWFkaW5ne1xyXG5cdGNvbG9yOiAkY29sb3JfX3doaXRlO1xyXG5cdGZvbnQtc2l6ZTogMC42MjVyZW07XHJcblx0bGV0dGVyLXNwYWNpbmc6IDFweDtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4uc2hvdy10aW1lc19fZGF5e1xyXG5cdGNvbG9yOiAkY29sb3JfX3doaXRlO1xyXG5cdGZvbnQtc2l6ZTogMC42MjVyZW07XHJcblx0bGV0dGVyLXNwYWNpbmc6IDFweDtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4uc2hvdy10aW1lc19fdGltZXtcclxuXHRjb2xvcjogJGNvbG9yX193aGl0ZTtcclxuXHRmb250LXNpemU6IDAuNjI1cmVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuSEVSTyBBUkNISVZFXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5GSUxURVJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcbi5maWx0ZXJzX190aXRsZXtcclxuXHRjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjVweDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcbi5maWx0ZXJfX3NlbGVjdCBzZWxlY3R7XHJcblx0Y29sb3I6ICRjb2xvcl9fYmxhY2s7XHJcblx0Zm9udC1zaXplOiAwLjYyNXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLmZpbHRlcl9fc3VibWl0e1xyXG5cdGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XHJcblx0Zm9udC1zaXplOiAwLjYyNXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkZJTFRFUlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuSE9VU0UgUFJFVklFV1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuLmhvdXNlLXByZXZpZXdfX2hvdXNlLXR5cGV7XHJcblx0Y29sb3I6ICRjb2xvcl9fYmxhY2s7XHJcbn1cclxuLmhvdXNlLXByZXZpZXdfX3N0YXRzX190ZXh0e1xyXG5cdGZvbnQtc2l6ZTogMS4wNjNyZW07XHJcblx0Y29sb3I6ICRjb2xvcl9fYmxhY2s7XHJcblx0bGluZS1oZWlnaHQ6IDFyZW07XHJcbn1cclxuLmhvdXNlLXByZXZpZXdfX2FyZWFfX3RleHR7XHJcblx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0Y29sb3I6ICRjb2xvcl9fYmxhY2s7XHJcblx0bGluZS1oZWlnaHQ6IDAuN3JlbTtcclxufVxyXG4uaG91c2UtcHJldmlld19fc2l0ZS1wbGFue1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjc1cHg7XHJcblx0Y29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX19wcmltYXJ5O1xyXG5cdGZvbnQtd2VpZ2h0OiA4MDA7XHJcblx0bGluZS1oZWlnaHQ6IDIzcHg7XHJcbn1cclxuLmhvdXNlLXByZXZpZXdfX3ByaWNlX190ZXh0e1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMnB4O1xyXG5cdGNvbG9yOiAkY29sb3JfX2JsYWNrO1xyXG5cclxufVxyXG4uaG91c2UtcHJldmlld19fcHJpY2VfX3ZhbHVle1xyXG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xyXG5cdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbn1cclxuLmhvdXNlLXByZXZpZXdfX3N0YXR1c3tcclxuXHRmb250LXNpemU6IDAuNjI1cmVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5IT1VTRSBQUkVWSUVXXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5IRVJPIC0gSE9VU0VcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG4uaGVyby1ob3VzZV9fdGl0bGV7XHJcblx0bWFyZ2luLXRvcDogMDtcclxuXHRtYXJnaW4tbGVmdDogMDtcclxuXHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDNyZW07XHJcblx0fVxyXG59XHJcblxyXG4uaGVyby1ob3VzZV9fcHJvcGVydHktdHlwZXtcclxuXHRmb250LXNpemU6IDEuMTI1cmVtO1xyXG5cdFxyXG59XHJcblxyXG4uaGVyby1ob3VzZV9fYWJvdXQtdGl0bGV7XHJcblx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG59XHJcbi5oZXJvLWhvdXNlX19jb250ZW50X19saW5rcy1yb3d7XHJcblx0Zm9udC1zaXplOiAwLjYyNXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMnB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uaGVyby1ob3VzZV9fc3RhdHMtdGV4dHtcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuXHJcbi5oZXJvLWhvdXNlX19zdGF0c19fdmFsdWV7XHJcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHR9XHJcbn1cclxuXHQuaGVyby1ob3VzZV9fYXJlYV9fdmFsdWUtdGV4dHtcclxuXHRcdGZvbnQtc2l6ZTogMC43cmVtO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcclxuXHR9XHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5IRVJPIC0gSE9VU0VcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkhFQURFUiAtIEJBTk5FUlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbi5iYW5uZXItdG9wX19saXN0LWl0ZW1fX2xpbmt7XHJcblx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcblx0Zm9udC1zaXplOiAwLjYyNXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLmJhbm5lci1ib3R0b21fX2NvbnRlbnR7XHJcblx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcblx0Zm9udC1zaXplOiAwLjkzOHJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cclxuXHRwLCBzcGFuLCBkaXZ7XHJcblx0XHRjb2xvcjogJGNvbG9yX193aGl0ZTtcclxuXHRcdGZvbnQtc2l6ZTogMC45MzhyZW07XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdH1cclxuXHJcblx0YXtcclxuXHRcdGNvbG9yOiAkY29sb3JfX3doaXRlO1xyXG5cdFx0Zm9udC1zaXplOiAwLjkzOHJlbTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX193aGl0ZTtcclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkhFUk8gLSBCQU5ORVJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkFWQUlMQUJMRSBQTE9UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuLmF2YWlsYWJsZS1wbG90c19fdGV4dHtcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcbn1cclxuLmF2YWlsYWJsZS1wbG90c19fbmFtZXtcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcblx0Y29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcclxufVxyXG4uYXZhaWxhYmxlLXBsb3RzX19saW5re1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjc1cHg7XHJcblx0Y29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX19wcmltYXJ5O1xyXG5cdGZvbnQtd2VpZ2h0OiA4MDA7XHJcblx0bGluZS1oZWlnaHQ6IDIzcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQVZBSUxBQkxFIFBMT1RTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuU0lOR0xFIExBUkdFIENBUk9VU0VMXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG4uc2luZ2xlLWxhcmdlLWNhcm91c2VsX19zbGlkZS10aXRsZXtcclxuXHRjb2xvcjogJGNvbG9yX193aGl0ZTtcclxufVxyXG4uc2luZ2xlLWxhcmdlLWNhcm91c2VsX19zbGlkZS1pbmRleHtcclxuXHRmb250LXNpemU6IDEuNjI1cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAyLjRyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcblx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG59XHJcbi5zaW5nbGUtbGFyZ2UtY2Fyb3VzZWxfX3NsaWRlLW5hdntcclxuXHRmb250LXNpemU6IDAuODc1cmVtOyAvLzE0cHhcclxuXHJcblx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcbn1cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblNJTkdMRSBMQVJHRSBDQVJPVVNFTFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQUNDT1JESU9OXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG4uYWNjb3JkaW9uX190aXRsZXtcclxuXHRmb250LXNpemU6IDFyZW07XHJcblx0Y29sb3I6ICRjb2xvcl9fYmxhY2s7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcclxuXHRcdGZvbnQtc2l6ZTogMS4wNjNyZW07XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMS43NXB4O1xyXG5cdH1cclxufVxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQUNDT1JESU9OXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5QQVNUIERFVkVMT1BNRU5UIFBSRVZJRVcgJiBDQVNFIFNUVURJRVMgUFJFVklFV1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuLmNhc2Utc3R1ZGllcy1wcmV2aWV3X19oZWFkaW5nLFxyXG4ucGFzdC1kZXYtaGVhZGluZ3tcclxuXHRmb250LXNpemU6IDEuMDYzcmVtO1xyXG5cdGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMS43NXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5wYXN0LWRldi1wcmV2aWV3X190ZXh0e1xyXG5cdGNvbG9yOiAkY29sb3JfX2JsYWNrO1xyXG59XHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5QQVNUIERFVkVMT1BNRU5UIFBSRVZJRVcgICYgQ0FTRSBTVFVESUVTIFBSRVZJRVdcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblRFWFQgQ0FST1VTRUxcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcbi50ZXh0LWNhcm91c2VsX190ZXh0ID4gKntcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGZvbnQtc2l6ZTogMS4wNjNyZW07XHJcblx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDEuNzVweDtcclxuXHRtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTtcclxufVxyXG4udGV4dC1jYXJvdXNlbF9fdGV4dCxcclxuLnRleHQtY2Fyb3VzZWxfX2F1dGhvcixcclxuLnRleHQtY2Fyb3VzZWxfX25hdi1wcmV2LFxyXG4udGV4dC1jYXJvdXNlbF9fbmF2LW5leHR7XHJcblx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxufVxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuVEVYVCBDQVJPVVNFTFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5URVhUIFdJVEggSU1BR0VcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG4udGV4dC13aXRoLWltYWdle1xyXG5cdCYuYmstZ3JleXtcclxuXHRcdCAudGV4dC13aXRoLWltYWdlX19jb250ZW50LXdyYXAgPiAqe1xyXG5cdFx0XHQgY29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcblx0XHQgfVxyXG5cdFx0IGE6bm90KC5idG4pe1xyXG5cdFx0XHQgY29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcblx0XHRcdCBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdCAmOjphZnRlcntcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0bWluLWhlaWdodDogMXB4O1xyXG5cdFx0XHRcdGhlaWdodDogMC4wNWVtO1xyXG5cdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC43NXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3JfX3doaXRlO1xyXG5cdFx0XHQgIH1cclxuXHRcdFx0ICAmOmhvdmVyOjphZnRlcntcclxuXHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuXHRcdFx0ICB9XHJcblx0XHQgfVxyXG5cdH1cclxuXHQmLmJrLXdoaXRlLFxyXG5cdCYuYmstY3JlYW17XHJcblx0XHQudGV4dC13aXRoLWltYWdlX19jb250ZW50LXdyYXB7XHJcblx0XHRcdC5idG57XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcclxuXHRcdFx0XHQuYXJyb3csXHJcblx0XHRcdFx0LmFycm93OjphZnRlcixcclxuXHRcdFx0XHQuYXJyb3c6OmJlZm9yZXtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgfVxyXG59XHJcblxyXG4udGV4dC13aXRoLWltYWdlIHN0cm9uZyxcclxuLnRleHQtd2l0aC1pbWFnZSBzdHJvbmcgPiAqe1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG59XHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuVEVYVCBXSVRIIElNQUdFXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5UV08gSU1BR0UgTElOS1NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcbi50d28taW1hZ2UtbGlua3MgLmJ0biBzcGFue1xyXG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19ub3JtYWw7XHJcblx0bWFyZ2luOiAwLjVlbSAwO1xyXG59XHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuVFdPIElNQUdFIExJTktTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5DQVNFIFNUVURZIFBSRVZJRVdcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcbi5jYXNlLXN0dWRpZXMtcHJldmlld19fbmF2LWJlZm9yZSxcclxuLmNhc2Utc3R1ZGllcy1wcmV2aWV3X19uYXYtYWZ0ZXJ7XHJcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAwLjhyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRsZXR0ZXItc3BhY2luZzogMnB4O1xyXG59XHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQ0FTRSBTVFVEWSBQUkVWSUVXXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5DQVNFIFNUVURZIC0gSU1BR0UgQ09NUEFSSVNPTlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuLmltYWdlLWNvbXBhcmlzb25fX3NsaWRlLWluZGV4e1xyXG5cdGZvbnQtc2l6ZTogMS44NzVyZW07XHJcblx0Y29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxufVxyXG4uaW1hZ2UtY29tcGFyaXNvbl9fYnRuc3tcclxuXHRmb250LXNpemU6IDAuODc1cmVtO1xyXG5cdGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY29tcGFyaXNvbi1pdGVtX19sYWJlbHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRwYWRkaW5nOiAwLjVyZW0gMC44cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDJweDtcclxufVxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQ0FTRSBTVFVEWSAtIElNQUdFIENPTVBBUklTT05cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblRFQU0gTUVNQkVSUyBURU1QTEFURVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuLnRlYW0tbWVtYmVyX19jb250ZW50X19uYW1lLFxyXG4udGVhbS1tZW1iZXJfX2J0bl9fbmFtZXtcclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRmb250LXNpemU6IDAuODEzcmVtO1xyXG5cclxuXHRmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiAkY29sb3JfX2JsYWNrO1xyXG5cclxufVxyXG5cclxuLnRlYW0tbWVtYmVyX19jb250ZW50X190aXRsZSxcclxuLnRlYW0tbWVtYmVyX19idG5fX3RpdGxle1xyXG5cclxuXHRmb250LXNpemU6IDAuODEzcmVtO1xyXG5cdFxyXG5cdGZvbnQtZmFtaWx5OiBtb250c2VycmF0LCBzYW5zLXNlcmlmO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0Y29sb3I6ICRjb2xvcl9fYmxhY2s7XHJcblxyXG59XHJcblxyXG4udGVhbS1tZW1iZXJfX2J0bl9fdGl0bGV7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLnRlYW0tbWVtYmVyX19jb250ZW50IHAsIFxyXG4udGVhbS1tZW1iZXJfX2NvbnRlbnQgc3BhbixcclxuLnRlYW0tbWVtYmVyX19jb250ZW50IGF7XHJcblx0Zm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC1zaXplOiAwLjgxM3JlbTtcclxufVxyXG5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblRFQU0gTUVNQkVSUyBURU1QTEFURVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuREFURSBTVEFNUCAtIEdMT0JBTFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuLnBvc3QtcHJldmlldyAuZGF0ZS1zdGFtcCxcclxuLnNpbmdsZS1wb3N0X19hcnRpY2xlIC5kYXRlLXN0YW1we1xyXG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRsZXR0ZXItc3BhY2luZzogMS41cHg7XHJcblx0Y29sb3I6ICNBRUJDQjY7XHJcblx0bWFyZ2luLWJvdHRvbTogMWVtO1xyXG59XHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5EQVRFIFNUQU1QIC0gR0xPQkFMXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuXHJcbi5tYXBfX21hcmtlci1oZWFkaW5ne1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogMS40cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcclxufVxyXG4ubWFwX19tYXJrZXItYWRkcmVzc3tcclxuXHRmb250LXNpemU6IDAuNjI1cmVtO1xyXG5cdGNvbG9yOiAjNzA3MDcwO1xyXG59XHJcblxyXG5cclxuLnJhZGlvLWl0ZW17XHJcblx0Zm9udC1zaXplOiAwLjYyNXJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjJweDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLmFtZW5pdGllcy1jYXJvdXNlbF9fcHJldixcclxuLmFtZW5pdGllcy1jYXJvdXNlbF9fbmV4dCxcclxuLmFtZW5pdHlfX3RleHR7XHJcblx0Y29sb3I6ICRjb2xvcl9fd2hpdGU7XHJcbn1cclxuLmFtZW5pdGllcy1jYXJvdXNlbF9fbmV4dCxcclxuLmFtZW5pdGllcy1jYXJvdXNlbF9fcHJldntcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjg3NXJlbTtcclxufVxyXG5cclxuXHJcbi5wYWdlLXRlbXBsYXRlLWRlZmF1bHQucGFnZXtcclxuXHRhe1xyXG5cdFx0Y29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vQ29yZSBDb2xvdXJzXHJcbiRjb2xvcl9fd2hpdGU6IHdoaXRlO1xyXG4kY29sb3JfX2JsYWNrOiBibGFjaztcclxuXHJcbi8vVGhlbWUgUGFsZXR0ZVxyXG4kY29sb3JfX3RleHQtcHJpbWFyeTogIzYzMGMyOTtcclxuJGNvbG9yX190ZXh0LXNlY29uZGFyeTogJGNvbG9yX193aGl0ZTtcclxuXHJcbiRia19fZmFkZV9oZXJvOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsMCwwLDAuNzUpIDAlLCByZ2JhKDAsMCwwLDApIDQxJSwgcmdiYSgwLDAsMCwwKSA2MCUsIHJnYmEoMCwwLDAsMC43NSkgMTAwJSk7XHJcbiRjb2xvcl9fcGFnZS1iazogI0UwRTFERjtcclxuXHJcbiRjb2xvcl9fcHJpbWFyeTogIzY4MTEzMTtcclxuJGNvbG9yX19zZWNvbmRhcnk6ICM1NDYxNkM7XHJcbiRjb2xvcl9fdGhpcmQ6ICNFQ0VBRTY7XHJcbiRjb2xvcl9fZm91cjogI0FFQkNCNjtcclxuXHJcbi5jb2xvci1wcmltYXJ5e1xyXG5cdGNvbG9yOiAkY29sb3JfX3RleHQtcHJpbWFyeTtcclxufVxyXG4uY29sb3Itc2Vjb25kYXJ5e1xyXG5cdGNvbG9yOiAkY29sb3JfX3RleHQtc2Vjb25kYXJ5O1xyXG59XHJcblxyXG4kY29sb3JfX2dyZXk6IHJnYmEoMiwgMiwgMiwgMC4xMDMpO1xyXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXHJcblxyXG4vKiBEb2N1bWVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cclxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXHJcbiAqL1xyXG5cclxuIGh0bWwge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKiBTZWN0aW9uc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cclxuICAgKi9cclxuICBcclxuICBtYWluIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXHJcbiAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICAgKi9cclxuICBcclxuICBoMSB7XHJcbiAgICBmb250LXNpemU6IDJlbTtcclxuICAgIG1hcmdpbjogMC42N2VtIDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAgICovXHJcbiAgXHJcbiAgaHIge1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cclxuICAgIGhlaWdodDogMDsgLyogMSAqL1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcbiAgXHJcbiAgcHJlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xyXG4gICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cclxuICB9XHJcbiAgXHJcbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICAgKi9cclxuICBcclxuICBhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxyXG4gICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgYWJiclt0aXRsZV0ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxyXG4gICAqL1xyXG4gIFxyXG4gIGIsXHJcbiAgc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIGNvZGUsXHJcbiAga2JkLFxyXG4gIHNhbXAge1xyXG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXHJcbiAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuICBcclxuICBzbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDgwJTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAgICogYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIHN1YixcclxuICBzdXAge1xyXG4gICAgZm9udC1zaXplOiA3NSU7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICB9XHJcbiAgXHJcbiAgc3ViIHtcclxuICAgIGJvdHRvbTogLTAuMjVlbTtcclxuICB9XHJcbiAgXHJcbiAgc3VwIHtcclxuICAgIHRvcDogLTAuNWVtO1xyXG4gIH1cclxuICBcclxuICAvKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gICAqL1xyXG4gIFxyXG4gIGltZyB7XHJcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEZvcm1zXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIGlucHV0LFxyXG4gIG9wdGdyb3VwLFxyXG4gIHNlbGVjdCxcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xyXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gICAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIGlucHV0IHsgLyogMSAqL1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cclxuICAgKi9cclxuICBcclxuICBidXR0b24sXHJcbiAgc2VsZWN0IHsgLyogMSAqL1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxyXG4gIFt0eXBlPVwicmVzZXRcIl0sXHJcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxyXG4gICAqL1xyXG4gIFxyXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcclxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcclxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcclxuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gICAqL1xyXG4gIFxyXG4gIGZpZWxkc2V0IHtcclxuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxyXG4gICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIGxlZ2VuZCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xyXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cclxuICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMyAqL1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gICAqL1xyXG4gIFxyXG4gIHByb2dyZXNzIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXHJcbiAgICovXHJcbiAgXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxyXG4gICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cclxuICAgKi9cclxuICBcclxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAgICovXHJcbiAgXHJcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cclxuICAgKi9cclxuICBcclxuICBbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxyXG4gICAqL1xyXG4gIFxyXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xyXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKiBJbnRlcmFjdGl2ZVxyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLypcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxyXG4gICAqL1xyXG4gIFxyXG4gIGRldGFpbHMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIFxyXG4gIC8qXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIHN1bW1hcnkge1xyXG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gIH1cclxuICBcclxuICAvKiBNaXNjXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXHJcbiAgICovXHJcbiAgXHJcbiAgdGVtcGxhdGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXHJcbiAgICovXHJcbiAgXHJcbiAgW2hpZGRlbl0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIioge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcblxyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjc7XHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG4gLy8gc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHlfX21haW47XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fbm9ybWFsO1xyXG4gIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuaW1nIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5saXtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcbmF7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4jZmFkZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogOTk5O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NDUpO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubW9kYWx7XHJcbiAgd2lkdGg6IDI0LjM3NXJlbTtcclxuICBtaW4taGVpZ2h0OiAyNC4zNzVyZW07XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHJcbn1cclxuICAubW9kYWxfX2V4aXR7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gIC5tb2RhbF9fY29udGVudHtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgcGFkZGluZzogMy40MzhyZW07XHJcbiAgfVxyXG5cclxuQGtleWZyYW1lcyBmYWRlLW91dCB7XHJcbiAgZnJvbSB7IG9wYWNpdHk6IDEgfVxyXG4gICAgdG8geyBvcGFjaXR5OiAwIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlLWluIHtcclxuICBmcm9tIHsgb3BhY2l0eTogMCB9XHJcbiAgICB0byB7IG9wYWNpdHk6IDEgfVxyXG59XHJcblxyXG4jZmFkZXIuZmFkZS1vdXQsXHJcbiNsb2FkLWZhZGVyLmZhZGUtb3V0e1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtb3V0O1xyXG59XHJcblxyXG4jZmFkZXIuZmFkZS1pbixcclxuI2xvYWQtZmFkZXIuZmFkZS1pbiB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZS1pbjtcclxufVxyXG5cclxuI2xvYWQtZmFkZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogOTk5O1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG5he1xyXG4gICY6aG92ZXJ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4iLCJcbiNnZHByLWNvb2tpZS1tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIFxuICAgIGF7XG4gICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgIH1cbiAgXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICM0MTQyNDE7XG4gICAgcGFkZGluZzogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjM1KSAwcHggNXB4IDE1cHg7XG4gICAgei1pbmRleDogMTAwMDAwMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41MjEpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICBcbiAgICBoNXtcbiAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIH1cbiAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgIG1heC13aWR0aDogOTB2dztcbiAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIH1cbiAgXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAuNmVtIDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICAgIGg0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICBcbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAwLjZlbSAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiA0OSU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIFxuICAgICAgPiAqIHtcbiAgICAgICAgbWFyZ2luOiAwLjZlbSAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGFwcGVhcmFuY2U6IGNoZWNrYm94O1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgYnV0dG9uLFxuICAgIGJ1dHRvbiNpaGF2ZWNvb2tpZXNCdG4ge1xuICAgICAgYmxvY2stc2l6ZTogZml0LWNvbnRlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW47XG4gICAgICBtYXJnaW46IDVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIH1cbiAgICBidXR0b24jZ2Rwci1jb29raWUtYWNjZXB0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX19wcmltYXJ5O1xuICAgICAgY29sb3I6JGNvbG9yX19wcmltYXJ5O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbjtcbiAgICB9XG4gICAgYnV0dG9uI2dkcHItY29va2llLWFkdmFuY2VkIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICB9XG4gICAgYnV0dG9uOmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG4gIH0iLCIvLyBDbGVhciBhZnRlciAobm90IGFsbCBjbGVhcmZpeCBuZWVkIHRoaXMgYWxzbylcclxuQG1peGluIGNsZWFyZml4KCkge1xyXG4gIGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG5AbWl4aW4gbGluZS1jbGFtcCgkbGluZXM6IDMpIHtcclxuXHRkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuXHQtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lcztcclxuXHRsaW5lLWNsYW1wOiAkbGluZXM7XHJcblx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuXHRib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5jbGFtcC0ze1xyXG5cdEBpbmNsdWRlIGxpbmUtY2xhbXAoMyk7XHJcbn1cclxuXHJcbkBtaXhpbiBpbWFnZV9fZGltZW5zaW9ucygkd2lkdGg6IDEwMCUsICRoZWlnaHQ6IDEwMCUpIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJGhlaWdodDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGltZ3tcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBAaW5jbHVkZSBpbWctY292ZXI7XHJcbiAgICB9XHJcbiAgICBpZnJhbWV7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgaW1nLWNvdmVyO1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiB0cmFuc2l0aW9uKCR0aW1lKSB7XHJcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UgJHRpbWU7XHJcbn1cclxuXHJcbkBtaXhpbiBjb250YWluZXItY29sdW1ucyB7XHJcblx0QHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1pbm1heChhdXRvLCA3MnJlbSkgMWZyOyAvLyAxMzEycHhcclxuXHR9XHJcblxyXG5cdC5pZSAmIHtcclxuXHRcdC5jb250YWluZXIge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDgyZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gbGFyZ2UtY29udGFpbmVyIHtcclxuXHRAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgbWlubWF4KGF1dG8sIDg0ZW0pIDFmcjsgLy8gMTU1MnB4XHJcblx0fVxyXG5cclxuXHQuaWUgJiB7XHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0bWF4LXdpZHRoOiA5N2VtO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1peGluIHNtYWxsLWNvbnRhaW5lciB7XHJcblx0QHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1pbm1heChhdXRvLCA0MS40ZW0pIDFmcjsgLy8gMTA1NnB4XHJcblx0fVxyXG5cclxuXHQuaWUgJiB7XHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0bWF4LXdpZHRoOiA2NmVtO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBjb250YWluZXItc2luZ2xlIHtcclxuXHRAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkge1xyXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgbWlubWF4KGF1dG8sIDQ0ZW0pIDFmcjsgLy8gMTMxMnB4XHJcblx0fVxyXG5cclxuXHQuaWUgJiB7XHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0bWF4LXdpZHRoOiA4MmVtO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGNlbnRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG5AbWl4aW4gZXF1YWwge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGZsZXgtd3JhcDogd3JhcFxyXG59XHJcblxyXG5AbWl4aW4gaW1nLWNvdmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yX2xlZnQsICRjb2xvcl9yaWdodCkge1xyXG5cdGJhY2tncm91bmQ6ICRjb2xvcl9yaWdodDtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb2xvcl9sZWZ0IDAlLCRjb2xvcl9yaWdodCAxMDAlKTtcclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSUUgMTArICovXHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpbWFnZS1ncm93LW9uLWhvdmVye1xyXG4gICAgLmltYWdle1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgaW1ne1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgJjpob3ZlcntcclxuICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICAvLyBEaXNwbGF5IGEgY3Jvc3Mgd2l0aCBDU1Mgb25seS5cclxuLy9cclxuLy8gJHNpemUgIDogcHggb3IgZW1cclxuLy8gJGNvbG9yIDogY29sb3JcclxuLy8gJHRoaWNrbmVzcyA6IHB4XHJcbkBtaXhpbiBjcm9zcygkc2l6ZTogMjBweCwgJGNvbG9yOiBjdXJyZW50Q29sb3IsICR0aGlja25lc3M6IDFweCkge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJvcmRlcjogMDtcclxuXHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMjdweDtcclxuXHRoZWlnaHQ6IDI3cHg7XHJcbiAgXHJcblx0JjpiZWZvcmUsXHJcblx0JjphZnRlciB7XHJcblx0ICBjb250ZW50OiAnJztcclxuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQgIHRvcDogMXJlbTtcclxuXHQgIGxlZnQ6IDA7XHJcblx0ICByaWdodDogMDtcclxuXHQgIGhlaWdodDogMnB4O1xyXG5cdCAgYmFja2dyb3VuZDogJGNvbG9yX193aGl0ZTtcclxuXHQgIGJvcmRlci1yYWRpdXM6ICR0aGlja25lc3M7XHJcblx0fVxyXG4gIFxyXG5cdCY6YmVmb3JlIHtcclxuXHQgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHR9XHJcbiAgXHJcblx0JjphZnRlciB7XHJcblx0ICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cdH1cclxuICBcclxuXHRzcGFuIHtcclxuXHQgIGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuICBcclxuICB9XHJcblxyXG4gIC5jcm9zcy0xcHgge1xyXG5cdEBpbmNsdWRlIGNyb3NzKDIwcHgsICRjb2xvcl9fd2hpdGUsIDFweCk7ICBcclxuICB9IiwiLmJ0bjpub3QoLmJ0bi0tY2FsbC10by1hY3Rpb24pLFxuLnRlYW0tbWVtYmVyX19idG57XG4gICAgXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgcGFkZGluZy1yaWdodDogMjhweDtcblxuICAgIC5hcnJvd3tcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgIH1cbiAgICAuYnRuLXdyYXB7XG4gICAgICAgIGhlaWdodDogMC4zcmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICB9XG4gICAgLmFycm93OjphZnRlciwgLmFycm93OjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgfVxuICAgICAgXG4gICAgICAuYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcntcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgICAgLmFycm93e1xuICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICBcblxuICAgICAgICB9XG4gICAgICAgIC5hcnJvdzo6YWZ0ZXIsIC5hcnJvdzo6YmVmb3Jle1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgfVxuICAgICAgICAuYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgLmFycm93OjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG5cbiAgICAmLmJ0bi0tcmVke1xuICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAuYXJyb3d7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgICAgLmFycm93OjphZnRlciwgLmFycm93OjpiZWZvcmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4uYnRuLS1yZXZlcnNlZHtcbiAgLmFycm93OjphZnRlcntcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpO1xuICB9XG4gIC5hcnJvdzo6YmVmb3Jle1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICAuYXJyb3c6OmFmdGVyLCAuYXJyb3c6OmJlZm9yZXtcbiAgICBsZWZ0OiAtMXB4O1xuICB9XG59XG5cbi5idG4tLWNhbGwtdG8tYWN0aW9ue1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX3doaXRlO1xuICB3aWR0aDogMTQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgcGFkZGluZzogMC44cmVtIDFyZW07IFxufVxuLmJ0bi0tY2FsbC10by1hY3Rpb246aG92ZXJ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gIGNvbG9yOiAjQUVCQ0I2O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMpO1xufVxuXG5cblxuXG4uaG91c2UtcHJldmlldzpob3ZlciAuYnRuIC5hcnJvd3tcbiAgd2lkdGg6IDQ1cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4udHdvLWltYWdlLWxpbmtzX19ib3h7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHdvLWltYWdlLWxpbmtzX19ib3g6aG92ZXIgLmJ0biAuYXJyb3d7XG4gIHdpZHRoOiA0NXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG5cbi5jYXNlLXN0dWRpZXMtcHJldmlld19fY29udGVudDpob3ZlciAuYnRue1xuICAuYXJyb3d7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIH1cbn1cblxuLnRheC1hcmNoaXZlX190ZXJtLWJsb2NrOmhvdmVyIC5idG57XG4gIC5hcnJvd3tcbiAgICB3aWR0aDogNDVweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICB9XG59XG5cblxuXG4uYnRuLS13aGl0ZS5idG4tLWNhcmVlcntcblxuICBzcGFuOmZpcnN0LW9mLXR5cGV7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG4gIH1cbiAgXG4gIC5idG4td3JhcHtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgfVxufVxuXG4uYnRuLS1yZWQuYnRuLS1hcmNoaXZlLW5ld3N7XG5cbiAgc3BhbjpmaXJzdC1vZi10eXBle1xuICAgIGZvbnQtc2l6ZTogMS4wNjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuYnRuLXdyYXB7XG4gICAgaGVpZ2h0OiAwLjQ1cmVtO1xuICB9XG59XG5cblxuXG5cbi5hcnJvdy1oe1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIHdpZHRoOiA1MHB4O1xufVxuLmJ0bi13cmFwLWh7XG4gIGhlaWdodDogMC4zcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cbi5hcnJvdy1oOjphZnRlciwgLmFycm93LWg6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcmlnaHQ6IC00cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmFycm93LWg6OmFmdGVyIHtcbiAgdG9wOiAtM3B4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5hcnJvdy1oOjpiZWZvcmUge1xuICB0b3A6IDNweDtcbiAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjIpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG4iLCJcbiAgLm1lbnUtdG9nZ2xlIHtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDIwLjE2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogNTA7XG4gIH1cbiAgXG5cbiAgLm1lbnUtdG9nZ2xlIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gICAgb3BhY2l0eTogMTtcbiAgICBsZWZ0OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX19wcmltYXJ5O1xuICB9XG5cblxuICAgIC5zaXRlLWhlYWRlcntcbiAgICAgIC5zaW5nbGUtcG9zdCAmLFxuICAgICAgLmNhdGVnb3J5ICYsXG4gICAgICAuc2l0ZS1oZWFkZXJfX2NvbG9yLS1wcmltYXJ5ICYsXG4gICAgICAuZXJyb3I0MDQgJixcbiAgICAgIC5zZWFyY2ggJixcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXJlZ2lzdHJhdGlvbi10ZW1wbGF0ZSAmLFxuICAgICAgLnBvc3QtdHlwZS1hcmNoaXZlICYsXG4gICAgICAuYmxvZyAmLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcHJvc3BlY3R1cy10ZW1wbGF0ZSAmLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtY29udGFjdC10ZW1wbGF0ZSAme1xuXG4gICAgICAgIC5tZW51LXRvZ2dsZSBzcGFue1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG5cbiAgLnNpdGUtaGVhZGVyLm9wZW57XG4gICAgLm1lbnUtdG9nZ2xlIHNwYW57XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgfVxuICB9XG4gIFxuICAvKiBJY29uIDMgKi9cbiAgXG4gIC5tZW51LXRvZ2dsZSBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgdG9wOiAwcHg7XG4gIH1cbiAgXG4gIC5tZW51LXRvZ2dsZSBzcGFuOm50aC1jaGlsZCgyKSxcbiAgLm1lbnUtdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICB0b3A6IDhweDtcbiAgfVxuICBcbiAgLm1lbnUtdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDQpIHtcbiAgICB0b3A6IDE2cHg7XG4gIH1cbiAgXG4gIC5tZW51LXRvZ2dsZS5vcGVuIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICB0b3A6IDIwcHg7XG4gICAgd2lkdGg6IDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICBcbiAgLm1lbnUtdG9nZ2xlLm9wZW4gc3BhbjpudGgtY2hpbGQoMikge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgXG4gIC5tZW51LXRvZ2dsZS5vcGVuIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuICBcbiAgLm1lbnUtdG9nZ2xlLm9wZW4gc3BhbjpudGgtY2hpbGQoNCkge1xuICAgIHRvcDogMjBweDtcbiAgICB3aWR0aDogMCU7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gIFxuICAuc2l0ZS1oZWFkZXIub3BlbiAubWVudS10b2dnbGUgc3BhbntcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICB9IiwiQG1peGluIHRyYW5zaXRpb24oJHRpbWUpIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UgJHRpbWU7XG59XG5cbkBrZXlmcmFtZXMgbG9hZGVyIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDMwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICA3MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2Uge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGFzaCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5ydWJiZXJCYW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLFxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7XG59XG5cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG5cbiAgMzEuNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuXG4gIDQzLjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmhlYWRTaGFrZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbi5zd2luZyB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi50YWRhIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi53b2JibGUge1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG4uamVsbG8ge1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuQGtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDE0JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgMjglIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgNDIlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuLmhlYXJ0QmVhdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4zcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLmJvdW5jZUluIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VJblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd25CaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluVXAge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBhbmltYXRpb24tbmFtZTogZmxpcDtcbn1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5ZIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRYIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5saWdodFNwZWVkSW4ge1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5saWdodFNwZWVkT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93bkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93bkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5oaW5nZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn1cblxuQGtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4uamFja0luVGhlQm94IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbn1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4ucm9sbEluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi56b29tSW4ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tSW5MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuLnpvb21JblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uem9vbU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB9XG59XG5cbi56b29tT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5cbkBrZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tT3V0VXAge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXREb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xufVxuXG4uYW5pbWF0ZWQsIC5hbmltIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC5kZWxheS0xcyB7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7XG59XG5cbi5hbmltYXRlZC5kZWxheS0ycyB7XG4gIGFuaW1hdGlvbi1kZWxheTogMnM7XG59XG5cbi5hbmltYXRlZC5kZWxheS0zcyB7XG4gIGFuaW1hdGlvbi1kZWxheTogM3M7XG59XG5cbi5hbmltYXRlZC5kZWxheS00cyB7XG4gIGFuaW1hdGlvbi1kZWxheTogNHM7XG59XG5cbi5hbmltYXRlZC5kZWxheS01cyB7XG4gIGFuaW1hdGlvbi1kZWxheTogNXM7XG59XG5cbi5hbmltYXRlZC5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcbn1cblxuLmFuaW1hdGVkLmZhc3RlciB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG5cbi5hbmltYXRlZC5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbn1cblxuLmFuaW1hdGVkLnNsb3dlciB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG59XG5cbkBtZWRpYSAocHJpbnQpLCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hbmltYXRlZCwgLmFuaW0ge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikge1xuICAuYW5pbWF0ZWQsIC5hbmltIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDBzO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVCZ1RvcCB7XG4gICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKXRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC44MTUsIDAuMDkwLCAwLjg4NSwgMC4xNDApO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpdHJhbnNsYXRlWCgtNTAlKSBza2V3WSgtMjBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjgxNSwgMC4wOTAsIDAuODg1LCAwLjE0MCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG59XG4uc3RyZXRjaExlZnR7XG5cdGFuaW1hdGlvbi1uYW1lOiBzdHJldGNoTGVmdDtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuXHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0dHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwJTtcbn1cblxuQGtleWZyYW1lcyBzdHJldGNoTGVmdCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0fVxuXHQ2MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuOTgpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHR9XG59XG5cbi5zdHJldGNoUmlnaHR7XG5cdGFuaW1hdGlvbi1uYW1lOiBzdHJldGNoUmlnaHQ7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcblx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xufVxuXG5Aa2V5ZnJhbWVzIHN0cmV0Y2hSaWdodCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0fVxuXHQ2MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuOTgpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTG9hZCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICAzMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkxvYWQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTG9hZDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcbn1cblxuLnNjYWxlSW4ge1xuICBhbmltYXRpb24tbmFtZTogc2NhbGVJbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMHM7XG59XG5Aa2V5ZnJhbWVzIHNjYWxlSW4ge1xuXHQwJSAge1xuICAgIFx0dHJhbnNmb3JtOiBzY2FsZSgxLDEpIHRyYW5zbGF0ZSgwJSwgMCUpXG4gIH1cbiAgXHQxMDAlIHtcbiAgICBcdHRyYW5zZm9ybTogc2NhbGUoMS4yLDEuMikgdHJhbnNsYXRlKDQlLCA0JSlcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGdyb3dSaWdodCB7XG4gIDAlIHtcbiAgICB3aWR0aDogMFxuICB9XG5cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDEwMCVcbiAgfVxufVxuXG4uZ3Jvd0Rvd24ge1xuICBhbmltYXRpb24tbmFtZTogZ3Jvd0Rvd247XG59XG5cbkBrZXlmcmFtZXMgZ3Jvd0Rvd24ge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigxLC4wMywuMzYsMS4wMilcbiAgICAvLyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjM1LDEuMjEsLjc5LC4wNSlcbiAgICAvLyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMSwuMzcsLjQ4LC45MylcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjY0NSwuMDQ1LC4zNTUsMSlcbiAgfVxuXG4gIDEwMCUge1xuICAgIGhlaWdodDogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblNuYXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTclLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblNuYXAgeyBcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblNuYXA7XG4gIGFuaW1hdGlvbi1kZWxheTogLjVzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5TbmFwU21hbGwge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTElLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblNuYXBTbWFsbCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5TbmFwU21hbGw7XG4gIGFuaW1hdGlvbi1kZWxheTogLjJzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuXG4ud293LWluaXQgLmFuaW17XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn0iLCIjcGFnZSwgI2NvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAuaWUgJiB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAxMDAlXHJcbiAgfVxyXG59XHJcblxyXG4jY29udGVudCB7XHJcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xyXG4gIC8vIG1hcmdpbi10b3A6IDExM3B4O1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pIHtcclxuICAgIHBhZGRpbmctdG9wOiAwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5jb250YWluZXIge1xyXG5cclxuICAuaWUxMSAme1xyXG4gICAgbWF4LXdpZHRoOiA5MHJlbTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgQHN1cHBvcnRzKGRpc3BsYXk6IGdyaWQpe1xyXG4gICAgZ3JpZC1jb2x1bW46IDIgLyAzO1xyXG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcclxuICB9XHJcbn1cclxuXHJcbi5jb2x7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBAc3VwcG9ydHMoZGlzcGxheTogZ3JpZCl7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gIH1cclxufVxyXG5cclxuLmllMTEge1xyXG4gICNwcmltYXJ5IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnRcclxuICB9XHJcbn1cclxuXHJcbnNlY3Rpb24sIC5zZWN0aW9uIHtcclxuICAuaWUxMSAmIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XHJcbiAgICBAaW5jbHVkZSBjb250YWluZXItY29sdW1ucztcclxuICAgIGRpc3BsYXk6IGdyaWRcclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLWxhcmdlIHtcclxuICAuaWUxMSAmIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XHJcbiAgICBAaW5jbHVkZSBsYXJnZS1jb250YWluZXI7XHJcbiAgICBkaXNwbGF5OiBncmlkXHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbnNwYW4ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9ja1xyXG59XHJcblxyXG5cclxuXHJcbi5jb2wtMiB7XHJcbiAgLmllMTEgJiA+ICoge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgJjpudGgtbGFzdC1jaGlsZCgxKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XHJcbiAgICBncmlkLWdhcDogMjBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoICRicC1tZWRpdW0gKSB7XHJcbiAgICAuaWUxMSAmID4gKiB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcblxyXG5cclxuICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb2wtMyB7XHJcbiAgLmllMTEgJiA+ICoge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgJjpudGgtbGFzdC1jaGlsZCgxKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggJGJwLW1lZGl1bSApIHtcclxuICAgIC5pZTExICYge1xyXG4gICAgICAmLmhwIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJiA+ICoge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuXHJcbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggJGJwLWxhcmdlICkge1xyXG4gICAgLmllMTEgJiA+ICoge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDIwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnJcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb2wtNCB7XHJcbiAgLmllMTEgJiA+ICoge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgJjpudGgtbGFzdC1jaGlsZCgxKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggJGJwLXNtYWxsICkge1xyXG4gICAgLmllMTEgJiB7XHJcbiAgICAgICYuaHAge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmID4gKiB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cclxuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDEpIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgIGdyaWQtZ2FwOiAyMHB4XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KCAkYnAtbWVkaXVtICkge1xyXG4gICAgLmllMTEgJiA+ICoge1xyXG4gICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAyMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KCAkYnAtbGFyZ2UgKSB7XHJcbiAgICAuaWUxMSAmID4gKiB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIwcHgpXHJcbiAgICB9XHJcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY29sLTYge1xyXG4gIC5pZTExICYgPiAqIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICY6bnRoLWxhc3QtY2hpbGQoMSkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KCAkYnAtc21hbGwgKSB7XHJcbiAgICAuaWUxMSAmIHtcclxuICAgICAgJi5ocCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYgPiAqIHtcclxuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG4gICAgICAgICY6bnRoLWxhc3QtY2hpbGQoMSkge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgZ3JpZC1nYXA6IDIwcHhcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoICRicC1tZWRpdW0gKSB7XHJcbiAgICAuaWUxMSAmID4gKiB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDIwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnJcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoICRicC1sYXJnZSApIHtcclxuICAgIC5pZTExICYgPiAqIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2JSAtIDIwcHgpXHJcbiAgICB9XHJcblxyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyIDFmcjtcclxuICB9XHJcbn1cclxuXHJcbi5waCB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbiRwYWRkaW5nLWNvbnRlbnQ6IDM1cHg7XHJcblxyXG4ubGFyZ2UtbGluay1ibG9ja19fY29udGVudHtcclxuICAmLnBoe1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICB9XHJcbiAgJi5wdntcclxuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgfVxyXG4gIC5jb2x7XHJcbiAgICBncmlkLWdhcDogMzBweDtcclxuICB9XHJcbn1cclxuXHJcbi5wdiB7XHJcbiAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5wdi0xMCB7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5wdCB7XHJcbiAgcGFkZGluZy10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5wYiB7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5wciB7XHJcbiAgcGFkZGluZy1yaWdodDogMjBweDtcclxufVxyXG5cclxuLnBsIHtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5tdCB7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLm12IHtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5taCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4ubWIge1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5tdC0yMCB7XHJcbiAgbWFyZ2luLXRvcDogMjBweFxyXG59XHJcblxyXG4uc2VjdGlvbi1wdCB7XHJcbiAgcGFkZGluZy10b3A6IDIuNXJlbTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggJGJwLW1lZGl1bSApIHtcclxuICAgIHBhZGRpbmctdG9wOiA1LjM3NXJlbVxyXG4gIH1cclxufVxyXG5cclxuLnNlY3Rpb24tcGIge1xyXG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoICRicC1tZWRpdW0gKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNS4zNzVyZW1cclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLW1ie1xyXG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggJGJwLW1lZGl1bSApIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDUuMzc1cmVtXHJcbiAgfVxyXG59XHJcblxyXG4ubnAge1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAwXHJcbn1cclxuXHJcbi5zZWN0aW9uLXB2IHtcclxuICBwYWRkaW5nLXRvcDogMi41cmVtO1xyXG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoICRicC1tZWRpdW0gKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNS4zNzVyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNS4zNzVyZW1cclxuICB9XHJcbn1cclxuLnNlY3Rpb24tbXYge1xyXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoICRicC1tZWRpdW0gKSB7XHJcbiAgICBtYXJnaW4tdG9wOiA1LjM3NXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDUuMzc1cmVtXHJcbiAgfVxyXG59XHJcblxyXG4uY292ZXIge1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7XHJcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyIWltcG9ydGFudFxyXG59XHJcblxyXG4uY2VudGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50ZXh0Y2VudGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXJcclxufVxyXG5cclxuLnNtYWxsLWNvbnRhaW5lciB7XHJcbiAgQGluY2x1ZGUgc21hbGwtY29udGFpbmVyO1xyXG59XHJcblxyXG4uc2luZ2xlLWNvbnRhaW5lcntcclxuICBAaW5jbHVkZSBjb250YWluZXItc2luZ2xlO1xyXG59XHJcblxyXG4uc21hbGwtcGFnZS1jb250YWluZXJ7XHJcbiAgQHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHtcclxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1pbm1heChhdXRvLCA1OGVtKSAxZnI7IC8vIDEzMTJweFxyXG5cdH1cclxuXHJcblx0LmllICYge1xyXG5cdFx0LmNvbnRhaW5lciB7XHJcblx0XHRcdG1heC13aWR0aDogODJlbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5hYnNvbHV0ZS1jb3ZlcntcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4vL01hcmdpbnNcclxuLm1iLTB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG4ubWItMC01e1xyXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxufVxyXG4ubWItMXtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG59XHJcbi5tYi0xLTV7XHJcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG59XHJcbi5tYi0ye1xyXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuLm1iLTItNXtcclxuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcbn1cclxuLm1iLTN7XHJcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcclxufVxyXG4ubWItMy01e1xyXG4gIG1hcmdpbi1ib3R0b206IDMuNXJlbTtcclxufVxyXG4ubWItNHtcclxuICBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG59XHJcblxyXG4udGV4dC1jZW50ZXJ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY29udGFpbmVyLS1jZW50ZXJ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn0iLCIvLy8vLy8vLy8vLy9Qb3NpdGlvbi8vLy8vLy8vLy8vXG4ubWFpbi1uYXZpZ2F0aW9ue1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4gIC5tYWluLW5hdmlnYXRpb24gLm1lbnV7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5tYWluLW5hdmlnYXRpb24gLmxldmVsLTF7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4vLy8vLy8vLy8vLy9Qb3NpdGlvbi8vLy8vLy8vLy8vXG5cbi8vLy8vLy8vLy8vL0xldmVsLTEgU3BhY2luZy8vLy8vLy8vLy8vXG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbC0xe1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICAmOmxhc3Qtb2YtdHlwZXtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDAgMC43NXJlbSAwLjc1cmVtO1xuICB9XG59XG4vLy8vLy8vLy8vLy9MZXZlbC0xIFNwYWNpbmcvLy8vLy8vLy8vL1xuXG4vLy8vLy8vLy8vLy9Ecm9wZG93biBDb250ZW50IFNwYWNpbmcvLy8vLy8vLy8vL1xuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwtMS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5zdWItbWVudXtcbiAgcGFkZGluZzogMnJlbTtcbn1cbi8vLy8vLy8vLy8vL0Ryb3Bkb3duIENvbnRlbnQgU3BhY2luZy8vLy8vLy8vLy8vXG5cbi8vLy8vLy8vLy8vL0xldmVsLTEgU3R5bGluZy8vLy8vLy8vLy8vXG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbC0xID4gYSwgXG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbC0xID4gc3BhbntcbmNvbG9yOiAkY29sb3JfX3NlY29uZGFyeTtcbnRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4mOmhvdmVye1xuICBjb2xvcjogJGNvbG9yX190ZXh0LXByaW1hcnk7XG59XG59XG4vLy8vLy8vLy8vLy9MZXZlbC0xIFN0eWxpbmcvLy8vLy8vLy8vL1xuXG4vLy8vLy8vLy8vLy9MZXZlbC0yIFN0eWxpbmcvLy8vLy8vLy8vL1xuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwtMntcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwtMiA+IGEsIFxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwtMiA+IHNwYW57XG5jb2xvcjogJGNvbG9yX19zZWNvbmRhcnk7XG50ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuJjpob3ZlcntcbiAgY29sb3I6ICRjb2xvcl9fdGV4dC1wcmltYXJ5O1xufVxufVxuLy8vLy8vLy8vLy8vTGV2ZWwtMiBTdHlsaW5nLy8vLy8vLy8vLy9cblxuLy8vLy8vLy8vLy8vRHJvcGRvd24gQm94IFN0eWxpbmcvLy8vLy8vLy8vL1xuICAubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbC0xLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiAuc3ViLXdyYXB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB0b3A6IDUuNXJlbTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAxNXJlbTtcbiAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICY6OmFmdGVye1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogY2FsYygxMDAlKTtcbiAgICAgIGhlaWdodDogMTAwJTsgXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICBib3gtc2hhZG93OiByZ2JhKDk5LCA5OSwgOTksIDAuMikgMHB4IDJweCA4cHggMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cbi8vLy8vLy8vLy8vL0Ryb3Bkb3duIEJveCBTdHlsaW5nLy8vLy8vLy8vLy9cblxuLy8vLy8vLy8vLy8vSG92ZSBlZmZlY3QgKHRoaXMgc2hvd3MgdGhlIGRyb3Bkb3duIGJveCBvbiBob3ZlcikvLy8vLy8vLy8vL1xuICAubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbC0xLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIsXG4gIC5tYWluLW5hdmlnYXRpb24gLmxldmVsLTEubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuanMtLWhvdmVye1xuICAgIC5zdWItd3JhcCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuICBcbiAgICAgID4gbGkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vQWNjZXNzaWJsaXR5IGNvbnRyb2xlZCBieSBuYXZpZ2F0aW9uLmpzIGZvciB0YWIgY29udHJvbC5cbiAgLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwtMS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5zdWItd3JhcC5zdWItbWVudS1vbi1ob3ZlcntcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuXG4gICAgPiBsaSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuLy8vLy8vLy8vLy8vSG92ZSBlZmZlY3QgKHRoaXMgc2hvd3MgdGhlIGRyb3Bkb3duIGJveCBvbiBob3ZlcikvLy8vLy8vLy8vL1xuXG4vLy8vLy8vLy8vLy9Nb2JpbGUgQnJlYWtwb2ludHMvLy8vLy8vLy8vL1xuLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb257XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhlYWRlcl9kZXNrdG9wX3RvX21vYmlsZSl7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi8vLy8vLy8vLy8vL01vYmlsZSBCcmVha3BvaW50cy8vLy8vLy8vLy8vXG5cblxuXG4vLy8vLy8vLy8vLy9Nb2JpbGUgTWVudSBQb3NpdGlvbi8vLy8vLy8vLy8vXG5cbiNtb2JpbGUtbWVudXtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbGl7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vTW9iaWxlIE1lbnUgUG9zaXRpb24vLy8vLy8vLy8vL1xuXG5cbi8vLy8vLy8vLy8vL01vYmlsZSBOYXYvLy8vLy8vLy8vL1xuXG4jbW9iaWxlLW1lbnUgLmxldmVsLTF7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG59XG5cbiAgI21vYmlsZS1tZW51IC5sZXZlbC0xID4gYSwgXG4gICNtb2JpbGUtbWVudSAubGV2ZWwtMSA+IHNwYW57XG4gICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gIH1cbiAgICAjbW9iaWxlLW1lbnUgLmxldmVsLTJ7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cbiAgICAgICNtb2JpbGUtbWVudSAubGV2ZWwtMiA+IGEsIFxuICAgICAgI21vYmlsZS1tZW51IC5sZXZlbC0yID4gc3BhbntcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIFxuICAgICAgfVxuXG4vLy8vLy8vLy8vLy9Nb2JpbGUgTmF2Ly8vLy8vLy8vLy9cblxuXG5cblxuXG4vLy8vLy8vLy8vLy9GT09URVIgTkFWSUdBVElPTi8vLy8vLy8vLy8vXG4jZm9vdGVyLW1lbnV7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDI3cmVtO1xuICB9XG59XG5cbiNmb290ZXItbWVudSAubGV2ZWwtMXtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbn1cblxuLnNpdGUtZm9vdGVyX19oZWFkaW5ne1xuXHRjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4jZm9vdGVyLW1lbnUgLmxldmVsLTEgPiBhLCBcbiNmb290ZXItbWVudSAubGV2ZWwtMSA+IHNwYW4sXG4ubGVnYWwtbmF2aWdhdGlvbiAubGV2ZWwtMSA+IGEsIFxuLmxlZ2FsLW5hdmlnYXRpb24gLmxldmVsLTEgPiBzcGFue1xuXHRjb2xvcjogJGNvbG9yX19zZWNvbmRhcnk7XG59XG4vLy8vLy8vLy8vLy9Gb290ZXIgTmF2Ly8vLy8vLy8vLy9cblxuXG5cblxuXG4vLyAubW9iaWxlLW5hdmlnYXRpb24gLm1lbnV7XG4vLyAgIG1hcmdpbi1ib3R0b206IDEwcmVtO1xuLy8gfVxuXG4uaG90LWxpbmstLW1vYmlsZXtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICRjb2xvcl9fcHJpbWFyeTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhe1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICB9XG59XG4gIC5ob3QtbGluay0tbW9iaWxlX19tYWlsLWljb257XG4gICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAmOjphZnRlcntcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgIG1hcmdpbjogMCAxcmVtO1xuICB9XG4gIFxuICB9XG4gIC5ob3QtbGluay0tbW9iaWxlX19waG9uZS1pY29ue1xuICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cbiAgfVxuICAuaG90LWxpbmstLW1vYmlsZV9fdGV4dHtcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgfVxuXG4gIC5tb2JpbGUtbWVudV9fc29jaWFsLWNvcHlyaWdodHtcbiAgICBoZWlnaHQ6IDMxLjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5zb2NpYWx7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAuc29jaWFsLWljb257XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIGl7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIC5jb3B5cmlnaHR7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIH1cbiAgICAucHJ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfSIsIlxuLmdsb2JhbC1tYXJnaW4tYXJjaGl2ZS1oZWFkaW5ne1xuICAgIG1hcmdpbi10b3A6IGNhbGMoOS4xODhyZW0gLSAxMThweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyg1LjU2M3JlbSAtIDIwcHgpO1xufVxuXG4uY2FzZS1zdHVkaWVzX19jb250YWluZXIsXG4ucGFzdC1kZXYtYXJjaGl2ZV9fY29udGFpbmVye1xuICAgIGdyaWQtZ2FwOiAzLjRyZW07XG59XG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkZJTFRFUiAoVEVNUExBVEUgUEFSVClcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cbi5maWx0ZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgIGhlaWdodDogMy43cmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwMWY7XG4gICAgfVxufVxuICAgIC5maWx0ZXJfX2ZpbHRlcnN7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgICAgIC5maWx0ZXJzX190aXRsZXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTE4cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwMWY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZpbHRlcl9fc2VsZWN0e1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSBzZWxlY3R7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICAgLmZpbHRlcl9fc2VsZWN0IHNlbGVjdHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogMXB4O1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6ICcnO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDAwMDFmO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDAwMDFmO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5maWx0ZXJfX3NlbGVjdDo6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCI7IFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5maWx0ZXJfX3NlbGVjdC0tMSBzZWxlY3R7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE3LjE4OHJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDAwMDAwMWY7IFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgLmZpbHRlcl9fc2VsZWN0LS0xIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5maWx0ZXJfX3NlbGVjdC0tMixcbiAgICAgICAgLmZpbHRlcl9fc2VsZWN0LS0zLFxuICAgICAgICAuZmlsdGVyX19zZWxlY3QtLTQsXG4gICAgICAgIC5maWx0ZXJfX3NlbGVjdC0tNXtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgLmZpbHRlcl9fc3VibWl0e1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIHdpZHRoOiA3LjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkZJTFRFUiAoVEVNUExBVEUgUEFSVClcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5QT1NUIFRZUEUgLSBIT1VTRSAoUFJFVklFVylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cbi5wb3N0LWFyY2hpdmVfX3RpdGxle1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDNyZW0gMDtcbn1cblxuLnBvc3QtYXJjaGl2ZV9fY29udGFpbmVye1xuICAgIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gICAgZ3JpZC1nYXA6IDFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAteGwpe1xuICAgICAgICBncmlkLWdhcDogM3JlbTtcbiAgICB9XG59XG4gICAgLmhvdXNlLXByZXZpZXd7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VBRTY7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaG91c2UtcHJldmlldyBhOmhvdmVye1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgICAgICAuaG91c2UtcHJldmlld19faW1hZ2V7XG4gICAgICAgICAgICBAaW5jbHVkZSBpbWFnZV9fZGltZW5zaW9ucygxMDAlLCA3MCUpO1xuICAgICAgICB9XG4gICAgICAgIC5ob3VzZS1wcmV2aWV3X19zdGF0dXN7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtMS40cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDEuNzVyZW07XG4gICAgICAgIH1cbiAgICAgICAgLmhvdXNlLXByZXZpZXdfX2NvbnRlbnR7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjc1cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojRUNFQUU2O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgICAgIC5ob3VzZS1wcmV2aWV3X19uYW1le1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ob3VzZS1wcmV2aWV3X19ob3VzZS10eXBle1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaG91c2UtcHJldmlld19fc3RhdHN7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfX2dyZXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC14bCl7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhvdXNlLXByZXZpZXdfX3N0YXRzLWl0ZW17XG4gICAgICAgICAgICAgICAgd2lkdGg6IDcuODEzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ob3VzZS1wcmV2aWV3X19hcmVhe1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaG91c2UtcHJldmlld19fbGluay1zaXRlbWFwe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhvdXNlLXByZXZpZXdfX2Nvc3Rpbmd7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaG91c2UtcHJldmlld19fcHJpY2VfX3RleHR7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ob3VzZS1wcmV2aWV3X19iZWRzLFxuICAgICAgICAgICAgLmhvdXNlLXByZXZpZXdfX2JhdGhyb29tcyxcbiAgICAgICAgICAgIC5ob3VzZS1wcmV2aWV3X19zcGFjZXMsXG4gICAgICAgICAgICAuaG91c2UtcHJldmlld19fYXJlYXtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjhyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXhsKXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ob3VzZS1wcmV2aWV3X19zdGF0c19fdGV4dHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0YXRzLWljb257XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIC5ob3VzZS1wcmV2aWV3X19zcGFjZXMsIFxuICAgICAgICAgICAgICAgIC5ob3VzZS1wcmV2aWV3X19hcmVhe1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhvdXNlLXByZXZpZXdfX3N0YXRzLXBsdXN7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhvdXNlLXByZXZpZXdfX3NwYWNlcyAuc3RhdHMtaWNvbntcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC42O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhvdXNlLXByZXZpZXdfX3N0YXRzIGRpdjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaG91c2UtcHJldmlld19fYXJlYSAuaG91c2UtcHJldmlld19fc3RhdHMtcGx1c3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjRyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUE9TVCBUWVBFIC0gSE9VU0UgKFBSRVZJRVcpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cblxuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblBBU1QgREVWRUxPUE1FTlRTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbiAgICAucGFzdC1kZXYtcHJldmlld3tcbiAgICAgICBcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIC5wYXN0LWRldi1wcmV2aWV3X19pbWFnZXtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wYXN0LWRldi1wcmV2aWV3X19pbWFnZXtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzKTtcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2VfX2RpbWVuc2lvbnMoMTAwJSwgNjUlKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbiAgICBcbiAgICAgICAgLnBhc3QtZGV2LXByZXZpZXdfX2ltYWdlLXdyYXB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLy9EaXNwbGF5IGZpcnN0IGltYWdlIGFuZCBoaWRlIHRoZSBvdGhlcnNcbiAgICAgICAgLnBhc3QtZGV2LXByZXZpZXdfX2ltYWdlLWxpbmt7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBle1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5QQVNUIERFVkVMT1BNRU5UU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblBPU1QgVFlQRTogQ0FTRSBTVFVESUVTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5jYXNlLXN0dWRpZXMtc2VjdGlvbi0taGlkZXtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2FzZS1zdHVkaWVzLXByZXZpZXdfX2ltYWdlLXNsaWRlci13aXRoLWJ0bnMsXG4uY2FzZS1zdHVkaWVzLXByZXZpZXdfX2ltYWdlLS1uby1zbGlkZXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbiAgICAuY2FzZS1zdHVkaWVzLXByZXZpZXdfX3NsaWRlcixcbiAgICAuY2FzZS1zdHVkaWVzLXByZXZpZXdfX2ltYWdlLS1uby1zbGlkZXJ7XG4gICAgICAgIEBpbmNsdWRlIGltYWdlX19kaW1lbnNpb25zKDEwMCUsIDcwJSk7XG4gICAgfVxuICAgIC5jYXNlLXN0dWRpZXMtcHJldmlld19fbmF2e1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtaW4td2lkdGg6IDEwcmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIC5jYXNlLXN0dWRpZXMtcHJldmlld19fbmF2LWJlZm9yZXtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhc2Utc3R1ZGllcy1wcmV2aWV3X19uYXYtYmVmb3JlLFxuICAgIC5jYXNlLXN0dWRpZXMtcHJldmlld19fbmF2LWFmdGVye1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5jYXNlLXN0dWRpZXMtcHJldmlld19fbmF2LWJlZm9yZS5hY3RpdmUsXG4gICAgLmNhc2Utc3R1ZGllcy1wcmV2aWV3X19uYXYtYWZ0ZXIuYWN0aXZle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIH1cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUE9TVCBUWVBFOiBDQVNFIFNUVURJRVNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG5cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5QT1NUIFRZUEU6IENBUkVFUlMgKEFSQ0hJVkUpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5jYXJlZXJ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX19zZWNvbmRhcnk7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4taGVpZ2h0OiA4cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuY2FyZWVycy10aXRsZXtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgIC5idG4tLWNhcmVlcntcbiAgICAgICAgICAgIC5idG4td3JhcHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idG4tLWNhcmVlci0tbW9iaWxle1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDRyZW07XG4gICAgICAgICAgICB0b3A6IDQ2JTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZWVyX19leGNlcnB0e1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIH1cbiAgICAgICAgLmJ0bi0tY2FyZWVye1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAuYnRuLS1jYXJlZXItLW1vYmlsZXtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIC8vICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gNy4wNjNyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEzcmVtO1xuICAgIH1cbn1cblxuLmNhcmVlci10d28tY29sLXRleHRfX2NvbnRhaW5lcntcbiAgICB1bCwgb2x7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICAgICAgICBsaTo6bWFya2Vye1xuICAgICAgICAgIGNvbG9yOiAjNjgxMTMxO1xuICAgICAgICB9XG4gICAgICAgIGxpe1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgLmNhcmVlci10d28tY29sLXRleHRfX2NvbnRhaW5lcntcbiAgICAgICAgZ3JpZC1nYXA6IDA7XG4gICAgfVxufVxuXG4vL09OIEhPVkVSXG4uY2FyZWVyOmhvdmVye1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMpO1xuXG4gICAgLmJ0bi0td2hpdGUuYnRuLS1jYXJlZXJ7XG4gICAgICAgIC5hcnJvd3tcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uY2FyZWVyX19leGNlcnB0e1xuICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIG1heC13aWR0aDogMzEuMjVyZW07XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4uY2FyZWVyc19fYXJjaGl2ZV9fbW9yZS1pbmZvLXRleHR7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgbWF4LXdpZHRoOiA0NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNhcmVlcnMtdGV4dC1iZWxvd3tcbiAgICBtYXgtd2lkdGg6IDI3cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGE6bm90KC5idG4pe1xuICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblBPU1QgVFlQRTogQ0FSRUVSUyAoQVJDSElWRSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5QT1NUIFRZUEU6IENBUkVFUlMgKElOTkVSKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uY2FyZWVycy1pbm5lcl9fY29udGVudHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3NlY29uZGFyeTtcbiAgICBwYWRkaW5nOiAycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgcGFkZGluZzogNC42ODhyZW0gNi40MzhyZW07XG4gICAgfVxuXG4gICAgZGl2ID4gKntcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lcntcbiAgICAgICAgZ3JpZC1nYXA6IDIuNTYzcmVtO1xuICAgIH1cblxuICAgIGxpOjptYXJrZXJ7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgfVxuICAgICAgbGl7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgfVxuXG4gICAgICBhe1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgfVxufVxuLmNhcmVlcnMtaW5uZXJfX2Zvcm0gLmNvbnRhaW5lcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY2FyZWVyc19faW50cm8taGVhZHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIH1cbn1cblxuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblBPU1QgVFlQRTogQ0FSRUVSUyAoSU5ORVIpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUE9TVC1UWVBFOiBQT1NUIChJTk5FUilcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnNpbmdsZS1wb3N0X19hcnRpY2xle1xuICAgIG1hcmdpbi1ib3R0b206IDIuMzEzcmVtO1xufVxuLnNpbmdsZS1wb3N0X19jb250YWluZXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2luZ2xlLXBvc3RfX3NvY2lhbHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAud3JhcHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNvY2lhbC1pY29ue1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzLjJyZW07XG4gICAgICAgIHJpZ2h0OiAtN3JlbTtcbiAgICB9XG59XG5cbi5zaW5nbGUtcG9zdF9fc29jaWFsLXRleHR7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICB3aWR0aDogMC45cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cblxuXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAxLjVweDtcbn1cblxuXG4uc2luZ2xlLXBvc3RfX3NvY2lhbCAuc29jaWFsIC53cmFwe1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbn1cblxuLnNpbmdsZS1wb3N0X19jb250YWluZXIgLmJ0bi0tcmVke1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5zaW5nbGUtcG9zdF9fY29udGFpbmVyIC5idG4tLXJlZHtcbiAgICBhOm5vdCguYnRuKXtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblBPU1QtVFlQRTogUE9TVCAoSU5ORVIpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vU1RSVUNUVVJFLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLnNpdGUtZm9vdGVyLFxuLnNpdGUtZm9vdGVyX19ib3R0b20tc2VjdGlvbntcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0IxQkNCNjtcbn1cbi5zaXRlLWZvb3RlcntcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbn1cbi5zaXRlLWZvb3Rlcl9fYm90dG9tLXNlY3Rpb257XG4gICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgICBncmlkLWNvbHVtbjogMSAvIDQ7XG4gICAgLmNvbnRhaW5lcntcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbn1cbiAgICAuc2l0ZS1mb290ZXIgLmxvZ28tbWFpbi1zdmd7XG4gICAgICAgIHdpZHRoOiAxNXJlbTtcbiAgICB9XG5cbi5zaXRlLWZvb3Rlcl9fY29udGFjdC1sZWdhbHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9TVFJVQ1RVUkUvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0hPVkVSIEVGRkVDVC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4jZm9vdGVyLW1lbnUgLmxldmVsLTEgPiBhLCBcbiNmb290ZXItbWVudSAubGV2ZWwtMSA+IHNwYW4sXG4ubGVnYWwtbmF2aWdhdGlvbiAubGV2ZWwtMSA+IGEsIFxuLmxlZ2FsLW5hdmlnYXRpb24gLmxldmVsLTEgPiBzcGFue1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMpO1xuICAgICY6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0hPVkVSIEVGRkVDVC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vQ09OVEFDVC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uc2l0ZS1mb290ZXJfX2NvbnRhY3R7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGEsIC5zaXRlLWZvb3Rlcl9fYWRkcmVzc3tcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fc2Vjb25kYXJ5O1xuICAgIH1cbn1cbiAgICAuc2l0ZS1mb290ZXJfX2FkZHJlc3N7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG4gICAgLnNpdGUtZm9vdGVyX19lbWFpbHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9DT05UQUNULy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9MRUdBTC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uc2l0ZS1mb290ZXJfX2xlZ2Fse1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vTEVHQUwvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0xPR08vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnNpdGUtZm9vdGVyIC5sb2dvLW1haW57XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vTE9HTy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9TT0NJQUwvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uc29jaWFsIC53cmFwe1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG4uc29jaWFsLWljb257XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMS4zcHggc29saWQgJGNvbG9yX19wcmltYXJ5O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBpe1xuICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgIH1cbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vU09DSUFMLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4uc2l0ZS1mb290ZXJfX3Bob25le1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4uc2l0ZS1mb290ZXJfX2NvbnRhY3QtaGVhZGluZ3tcbiAgICBtYXJnaW4tYm90dG9tOiAxLjFyZW07XG59IiwiICAgXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5IRUFERVJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cbiAgIC5zaXRlLWhlYWRlcl9fY29udGFpbmVye1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAteGwpe1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2l0ZS1oZWFkZXIgLmxvZ28tbWFpbntcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLmxvZ28tbWFpbiAubG9nby1tYWluLXN2Z3tcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRoZWFkZXJfZGVza3RvcF90b19tb2JpbGUpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyk7XG4gICAgICAgIH1cbiAgICAgICAgLnNpdGUtaGVhZGVyLm9wZW4gLmxvZ28tbWFpbiAubG9nby1tYWluLXN2Z3tcbiAgICAgICAgICAgIHN0cm9rZTogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIub3BlbiAuZmJmYTQ5NWMtOGUwMS00Y2JkLTg2ZjUtMzZlMTk5Nzg3ZTNle1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgfVxuXG5cbi5zaXRlLWhlYWRlcntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTk5O1xuICAgICYub3BlbntcbiAgICAgICAgLnNpdGUtaGVhZGVyX19jb250YWluZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNTQ2MTZDO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ubG9nby1tYWluIGF7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG5ib2R5Lm9wZW57XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkhFQURFUlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbk1PQklMRSBGUklFTkRMWVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uc2l0ZS1oZWFkZXIgLm1lbnUtdG9nZ2xle1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhlYWRlcl9kZXNrdG9wX3RvX21vYmlsZSl7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuTU9CSUxFIEZSSUVORExZXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuSE9UIExJTktTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG4uaG90LWxpbmt7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yX19wcmltYXJ5O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX19wcmltYXJ5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgei1pbmRleDogMTE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC14bCl7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIH1cbn1cbiAgICAuc2luZ2xlLWhvdXNlIC5ob3QtbGlua3tcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5ob3QtbGlua19fbWFpbC1pY29uIGksXG4gICAgLmhvdC1saW5rX19waG9uZS1pY29uIGl7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5ob3QtbGlua19fbWFpbC1pY29uIGl7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgfVxuICAgIC5ob3QtbGlua19fcGhvbmUtaWNvbntcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5ob3QtbGlua19fbWFpbC1pY29ue1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkhPVExJTktTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbiAgICAgICAgXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5NT0JJTEUgTUVOVVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4ubW9iaWxlLW1lbnUtd3JhcHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19zZWNvbmRhcnk7XG4gICAgJi5vcGVue1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICB9XG4gICAgLm1vYmlsZS1tZW51LXdyYXBfX2NvbnRhaW5lcntcbiAgICAgICAgbWFyZ2luLXRvcDogMTByZW07XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cbiAgXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5NT0JJTEUgTUVOVVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUE9TVCBUWVBFOiBIT1VTRSAoSU5ORVIgUEFHRSkgQkFOTkVSIC0gVE9QXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG4gIC5iYW5uZXItdG9we1xuICBcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLnNpbmdsZS1ob3VzZSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0NjE2QztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICB6LWluZGV4OiA5O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJhbm5lci10b3BfX2xpc3R7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07XG4gICAgICAgIH1cbiAgICAgICAgICAgIC5iYW5uZXItdG9wX19saXN0LWl0ZW17XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIH1cblxuICAgIGgze1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbn1cbi5iYW5uZXItdG9wX19saXN0LWl0ZW0uYWN0aXZle1xuICAvLyAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvcl9fd2hpdGU7XG4gICAgJjo6YWZ0ZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwOyBcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgfVxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG5cbiAgICAuYmFubmVyLXRvcF9fbGlzdC1pdGVtX19saW5re1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICBcbn1cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblBPU1QgVFlQRTogSE9VU0UgKElOTkVSIFBBR0UpIEJBTk5FUiAtIFRPUFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblBPU1QgVFlQRTogSE9VU0UgKElOTkVSIFBBR0UpIEJBTk5FUiAtIEJPVFRPTVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuLmJhbm5lci1ib3R0b217XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuc2luZ2xlLWhvdXNlICYsXG4gICAgLnRheC1kZXZlbG9wbWVudHNfc2l0ZXMgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDYxNkM7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiAgICAuYmFubmVyLWJvdHRvbV9fY29udGVudHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgLmJhbm5lci1ib3R0b21fX2V4aXQtY29udGFpbmVye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICByaWdodDogM3JlbTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmFubmVyLWJvdHRvbV9fZXhpdHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgfVxuICAgIC5oaWRle1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzKTtcbiAgICB9XG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5QT1NUIFRZUEU6IEhPVVNFIChJTk5FUiBQQUdFKSBCQU5ORVIgLSBCT1RUT01cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi8iLCIubm8tcmVzdWx0cy5ub3QtZm91bmR7XG4gICAgLnBhZ2UtaGVhZGVye1xuICAgICAgICAucGFnZS10aXRsZXtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uZXJyb3ItNDA0e1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAud3JhcHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAucGFnZS10aXRsZXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICB9XG59XG4iLCIuaGVybyxcbi5oZXJvLWFyY2hpdmV7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5jb250YWluZXJ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDY5LjYyNXJlbTtcbiAgICB9XG59XG5cbiAgICAuaGVyby0tbm9uZSAuaGVyb19fYmt7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5oZXJvX19ia3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRvcDogMy41cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAgICAgdG9wOiA0OCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmhlcm9fX2NvbnRlbnR7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgIFxuICAgICAgICAuaGVyb19fdGl0bGV7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlcm8tLW5vbmUgLmhlcm9fX3RpdGxle1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjQzOHJlbTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmhlcm8tLW5vbmUgLmhlcm9fX2ludHJvLXRleHQgcHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICB9XG5cblxuICAgICAgICAuaGVyb19faW50cm8tdGV4dHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogMzByZW07XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHAsIGE6bm90KC5idG4pLCBzcGFue1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5X19tYWluO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX25vcm1hbDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhOm5vdCguYnRuKXtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDZ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVyby0tbm9uZSAuaGVyb19faW50cm8tdGV4dHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX2JsYWNrO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNy4yNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICBcbiAgICAgICAgLmhlcm8tLWNhcm91c2VsIC5oZXJvX19jYXJvdXNlbC1pbWFnZXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGltYWdlX19kaW1lbnNpb25zKDEwMCUsIDE3JSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgLmhlcm9fX3ZpZGVve1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAgICAgLnZpZGVve1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfSBcbiAgICAgICAgLndyYXB7XG5cbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwLjVyZW07XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpe1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTVyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2Upe1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzByZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXhsKXtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM2LjM3NXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgLnlvdXR1YmUsIC52aW1lbywgLnZpZGVvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC55b3V0dWJlIGlmcmFtZSxcbiAgICAgICAgICAueW91dHViZSBvYmplY3QsXG4gICAgICAgICAgLnlvdXR1YmUgZW1iZWQsXG4gICAgICAgICAgLnZpbWVvIGlmcmFtZSxcbiAgICAgICAgICAudmltZW8gb2JqZWN0LFxuICAgICAgICAgIC52aW1lbyBlbWJlZCwgXG4gICAgICAgICAgLnZpZGVvIGlmcmFtZSxcbiAgICAgICAgICAudmlkZW8gb2JqZWN0LFxuICAgICAgICAgIC52aWRlbyBlbWJlZCB7IFxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwLjVyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbWFsbCl7XG4gICAgICAgICAgICAgIGhlaWdodDogMTVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICBoZWlnaHQ6IDI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2Upe1xuICAgICAgICAgICAgICBoZWlnaHQ6IDMwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAteGwpe1xuICAgICAgICAgICAgICBoZWlnaHQ6IDM0LjM3NXJlbTtcbiAgICAgICAgICAgIH0gIFxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuXG4gICAgICAuaGVybyAuaGVyb19fY2Fyb3VzZWwgLmhlcm9fX2Nhcm91c2VsLWltYWdlLFxuICAgICAgLmhlcm9fX2Nhcm91c2VsLWltYWdlIGltZ3tcbiAgICAgICAgaGVpZ2h0OiAxMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXNtYWxsKXtcbiAgICAgICAgICBoZWlnaHQ6IDE1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICBoZWlnaHQ6IDI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2Upe1xuICAgICAgICAgIGhlaWdodDogMzByZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC14bCl7XG4gICAgICAgICAgaGVpZ2h0OiAzNC4zNzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cblxuLmhlcm8tYXJjaGl2ZXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX19wcmltYXJ5O1xufVxuICAgIC5oZXJvLWFyY2hpdmUgLmhlcm9fX2Jre1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogOTAlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSl7XG4gICAgICAgICAgICBib3R0b206IDcwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI3NXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oZXJvLWFyY2hpdmVfX3ZpZGVvLWNvbnRlbnR7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC52aWRlb3tcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH0gXG4gICAgICAgICAgLndyYXB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwLjVyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1zbWFsbCl7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSl7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAteGwpe1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MC4zNzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC55b3V0dWJlLCAudmltZW8sIC52aWRlbyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgICAueW91dHViZSBpZnJhbWUsXG4gICAgICAgICAgICAueW91dHViZSBvYmplY3QsXG4gICAgICAgICAgICAueW91dHViZSBlbWJlZCxcbiAgICAgICAgICAgIC52aW1lbyBpZnJhbWUsXG4gICAgICAgICAgICAudmltZW8gb2JqZWN0LFxuICAgICAgICAgICAgLnZpbWVvIGVtYmVkLCBcbiAgICAgICAgICAgIC52aWRlbyBpZnJhbWUsXG4gICAgICAgICAgICAudmlkZW8gb2JqZWN0LFxuICAgICAgICAgICAgLnZpZGVvIGVtYmVkIHsgXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgfVxuICAgIH1cbiAgICAuaGVyby1hcmNoaXZlX19pbWFnZXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBpbWFnZV9fZGltZW5zaW9ucygxMDAlLCA1MCUpO1xuICAgIH1cbiAgICAuaGVyby1hcmNoaXZlX19jb250ZW50e1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICAgICAgICAgLmhlcm8tYXJjaGl2ZV9fY29udGVudF9fdGV4dHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhlcm8tYXJjaGl2ZV9fY29udGVudF9fbGlua3N7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX193aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIGhlaWdodDogLW1vei1maXQtY29udGVudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IC13ZWJraXQtZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAtZml0LWNvbnRlbnQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTkwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhlcm8tYXJjaGl2ZV9fY29udGVudF9fbGlua3Mtcm93e1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhlcm8tYXJjaGl2ZV9fdGl0bGV7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhlcm8tYXJjaGl2ZV9fYWRkcmVzc3tcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgIC8qIEJvdHRvbSBTZWN0aW9uICovXG4gICAgLmhlcm8tYXJjaGl2ZV9fYm90dG9tLWNvbnRlbnR7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIFxuICAgIH1cbiAgICAgICAgLmhlcm8tYXJjaGl2ZV9fZGVzY3JpcHRpb25fX2hlYWRpbmd7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhlcm8tYXJjaGl2ZV9fc2hvdy10aW1lc3tcbiAgICAgICAgICAgIHdpZHRoOiAxOTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAgIC5zaG93LXRpbWVzX19oZWFkaW5ne1xuICAgICAgICAgICAgICAgICY6OmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNob3ctdGltZXNfX3Jvd3tcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zaG93LXRpbWVzX19kYXl7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zaG93LXRpbWVzX190aW1le1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgICAgIH1cblxuLmhlcm8tYXJjaGl2ZV9fZGVzY3JpcHRpb24sXG4uaGVyby1hcmNoaXZlX190aXRsZXtcbiAgICBtYXgtd2lkdGg6IDUwLjkzOHJlbTtcbn1cblxuLmhlcm8tYXJjaGl2ZV9fZGVzY3JpcHRpb257XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uaGVyby1hcmNoaXZlX19jYXJvdXNlbC1jb250cm9scyxcbi5oZXJvLXBhZ2VfX2Nhcm91c2VsLWNvbnRyb2xze1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbn1cbi5oZXJvLWFyY2hpdmVfX2Nhcm91c2VsLWNvbnRyb2xze1xuICAgIHRvcDogMjUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxufVxuXG4gICAgLmhlcm8tYXJjaGl2ZV9fY2Fyb3VzZWwtbGVmdCxcbiAgICAuaGVyby1hcmNoaXZlX19jYXJvdXNlbC1yaWdodCxcbiAgICAuaGVyby1wYWdlX19jYXJvdXNlbC1sZWZ0LFxuICAgIC5oZXJvLXBhZ2VfX2Nhcm91c2VsLXJpZ2h0e1xuICAgICAgICBpe1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuXG4uaGVyby1ob3VzZXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xufVxuICAgIC5oZXJvLWhvdXNlIC5oZXJvX19ia3tcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDQ1JTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWF4LWhlaWdodDogMTcuNXJlbTtcbiAgICB9XG4gICAgLmhlcm8taG91c2VfX3RvcC1sZXZlbC1pbmZve1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlcm8taG91c2VfX3RpdGxlLWltYWdle1xuICAgICAgIFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICAgICAuaGVyby1ob3VzZV9fdGl0bGUtcHJlZml4e1xuICAgICAgICAgICAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICAgICAgICB9XG4gICAgICAgIC5oZXJvLWhvdXNlX19pbWFnZS1jb250YWluZXJ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlcm8taG91c2VfX2NvbnRlbnRfX2xpbmtze1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMS44NzVyZW07XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgIFxuICAgICAgICAgICAgaGVpZ2h0OiAtbW96LWZpdC1jb250ZW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAtZml0LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmhlcm8taG91c2VfX2NvbnRlbnRfX2xpbmtzLXJvd3tcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oZXJvLWhvdXNlX19saW5rcy13cmFwLFxuICAgICAgICAuaGVyby1hcmNoaXZlX19jb250ZW50X19saW5rc3tcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oZXJvLWhvdXNlX19pbWFnZXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGltYWdlX19kaW1lbnNpb25zKDEwMCUsIDYxJSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ1LjM3NXJlbTtcbiAgICAgICAgfVxuICAgIFxuICAgIC5oZXJvLWhvdXNlX19jb250ZW50LWNvbnRhaW5lcntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBtYXJnaW46IDJyZW0gMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNS42ODhyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgICAgIC5oZXJvLWhvdXNlX19hYm91dC1jb250ZW50e1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI3LjI1cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgLmhlcm8taG91c2VfX3N0YXRzLWNvbnRhaW5lcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcblxuICAgICAgICAmLmZsZXgtd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICYgLmhlcm8taG91c2VfX3N0YXRzLWJsb2NrIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQ1JTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgICAgICAgfVxuICAgICAgXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggJGJwLXNtYWxsICkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIFxuICAgICAgICAgICAgJiAuaGVyby1ob3VzZV9fc3RhdHMtYmxvY2sge1xuICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyNDBweDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICBcbiAgICAgIFxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoICRicC1tZWRpdW0gKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIFxuICAgICAgICAgICAgJiAuaGVyby1ob3VzZV9fc3RhdHMtYmxvY2sge1xuICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyMTBweDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIC5oZXJvLWhvdXNlX19zdGF0cy1jb250YWluZXJ7XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiA5NiU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAvLyB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgICAgICAuaGVyby1ob3VzZV9fc3RhdHMtYmxvY2t7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICYgc3ZnLmZhLXR1cmYge1xuICAgICAgICAgICAgICAgIGZpbGw6ICM2ODExMzE7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmIHN2Zy5mYS1mbG9vcmluZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogIzY4MTEzMTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0OXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgICYgc3ZnLmZhLWZsb29yaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICAgICAuaGVyby1ob3VzZV9faWNvbi1iZWRyb29tcyxcbiAgICAgICAgICAgIC5oZXJvLWhvdXNlX19pY29uLWJhdGhyb29tcyxcbiAgICAgICAgICAgIC5oZXJvLWhvdXNlX19pY29uLXNwYWNlcyxcbiAgICAgICAgICAgIC5oZXJvLWhvdXNlX19pY29uLWFyZWF7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjc1cmVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44MTNyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMy43cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oZXJvLWhvdXNlX19zdGF0cy10ZXh0e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuLmNvbnRhY3QtcGhvbmUtd3JhcHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4gICAgLmNvbnRhY3QtcGhvbmUtLWhvdXNle1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5QT1NULVRZUEU6IENBU0UgU1RVRFkgKElOTkVSKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuLmhlcm8tY2FzZS1zdHVkeSAuY2FzZS1zdHVkaWVzLXByZXZpZXdfX3NsaWRlcntcbiAgICBAaW5jbHVkZSBpbWFnZV9fZGltZW5zaW9ucygxMDAlLCA2MyUpO1xufVxuLmhlcm8tY2FzZS1zdHVkeV9faGVhZGluZ3tcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEwLjVyZW0gLSAxMThweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbn1cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblBPU1QtVFlQRTogQ0FTRSBTVFVEWSAoSU5ORVIpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuR0xPQkFMIEhFUk8gTk8gSU1BR0Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cbi5oZXJvLW5vLWltYWdle1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKDEwLjVyZW0gLSAxMThweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcmVtO1xuICAgIH1cbn1cbiAgICAuaGVyby1uby1pbWFnZV9fY29udGVudHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuR0xPQkFMIEhFUk8gTk8gSU1BR0Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5QT1NULVRZUEU6IFBPU1QgKElOTkVSKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuLnNpbmdsZS1wb3N0X19oZXJve1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC40MzhyZW07XG4gICAgfVxufVxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUE9TVC1UWVBFOiBQT1NUIChJTk5FUilcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkhFUk8gREVWIEFORCBIT1VTRVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuLmhlcm8tYXJjaGl2ZSAuYWNjb3JkaW9uX19idXR0b24tLWhlcm97XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9fd2hpdGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgZGlzcGxheTogIG5vbmU7XG4gICAgfVxufVxuXG4gICAgLmFjY29yZGlvbl9fYnV0dG9uLS1oZXJve1xuICAgICAgICAuYWNjb3JkaW9uX190aXRsZXtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAuYWNjb3JkaW9uX19ib3R0b20tLWhlcm97XG4gICAgICAgID4gKntcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgICAgICAuYWNjb3JkaW9uX19idXR0b24tLWhlcm97XG4gICAgICAgICAgICAuYWNjb3JkaW9uX19pY29uLXVwLFxuICAgICAgICAgICAgLmFjY29yZGlvbl9faWNvbi1kb3due1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb25fX2ljb24tdXB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmFjY29yZGlvbl9fYm90dG9tLXdyYXB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY2NvcmRpb25fX2JvdHRvbS0taGVyb3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb25fX2JvdHRvbS0tc2hvdy10aW1lc3tcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb25fX2JvdHRvbS0taGVyb3tcbiAgICAgICAgICAgIC5zaG93LXRpbWVzX19kYXksIC5zaG93LXRpbWVzX190aW1le1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBsYXRvLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3JkaW9uX19idXR0b24uYWN0aXZlICsgLmFjY29yZGlvbl9fYm90dG9tLS1oZXJve1xuICAgICAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzKTtcbiAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICB9XG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5IRVJPIERFViBBTkQgSE9VU0Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG4uaGVyby1hcmNoaXZlIC5oZXJvX19jYXJvdXNlbC1pbWFnZXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBoZWlnaHQ6IDEwLjVyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpe1xuICAgICAgaGVpZ2h0OiAxNXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgIGhlaWdodDogMjVyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKXtcbiAgICAgIGhlaWdodDogMzByZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXhsKXtcbiAgICAgIGhlaWdodDogMzQuMzc1cmVtO1xuICAgIH1cblxufVxuXG4uaGVyby1hcmNoaXZlIC5hY2NvcmRpb25fX2ljb24tdXAsXG4uaGVyby1hcmNoaXZlIC5hY2NvcmRpb25fX2ljb24tZG93bntcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbn1cblxuXG5cbi5oZXJvLWFyY2hpdmUtdGltZXMtY29udGFjdHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgei1pbmRleDogNTtcbn0iLCIuaW1hZ2UtLXNxdWFyZXtcbiAgICBAaW5jbHVkZSBpbWFnZV9fZGltZW5zaW9ucygxMDAlLCAxMDAlKTtcbn1cbi5pbWFnZS0tcmVjdGFuZ2xle1xuICAgIEBpbmNsdWRlIGltYWdlX19kaW1lbnNpb25zKDEwMCUsIDYwJSk7XG59XG4uaW1hZ2UtLXNxYXVyZS01MHtcbiAgICBAaW5jbHVkZSBpbWFnZV9fZGltZW5zaW9ucyg1MCUsIDUwJSk7XG59XG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQ09OVEFDVCBQQUdFXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5jb250YWN0LXBhZ2VfX2NvbnRlbnQtY29udGFpbmVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICBtYXJnaW46IDAgNi43NXJlbTtcbiAgICB9XG59XG5cbi5jb250YWN0LXBhZ2VfX3NlY3Rpb24tY29udGVudHtcblxuICAgIC5jb250YWN0LXBhZ2VfX2FkZHJlc3MgPiAqLFxuICAgIC5jb250YWN0X19jb250YWN0LWluZm8tYmxvY2sgPiAqLCBcbiAgICBhe1xuICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICB9XG5cbn1cblxuLmNvbnRhY3QtcGFnZV9fYWRkcmVzc3tcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgbWF4LXdpZHRoOiA4LjI1cmVtO1xuICAgIH1cbiAgICAuY29udGFjdC1wYWdlX19hZGRyZXNzX19oZWFkaW5ne1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgIH1cbn1cbi5jb250YWN0X19jb250YWN0LWluZm8tYmxvY2t7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgIG1pbi13aWR0aDogMTguNzVyZW07XG4gICAgfVxufVxuXG4uY29udGFjdC1wYWdlX19jb250ZW50LWNvbnRhaW5lcntcbiAgICBhOm5vdCguYnRuKXtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgICAgICBoZWlnaHQ6IDAuMDVlbTtcbiAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNzVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgfVxuICAgICAgICAgJjpob3Zlcjo6YWZ0ZXJ7XG4gICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250YWN0LXBhZ2VfX2Zvcm0gLmNvbnRhaW5lcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5DT05UQUNUIFBBR0Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cbiIsIiAgLyogdGhlIHNsaWRlcyAqL1xuLnNsaWNrLXNsaWRlOm5vdCguaGVyb19fY2Fyb3VzZWwtaW1hZ2UpLFxuLnNsaWNrLXNsaWRlOm5vdCgudmltZW8pLCBcbi5zbGljay1zbGlkZTpub3QoLnlvdXR1YmUpLCBcbi5zbGljay1zbGlkZTpub3QoLnZpZGVvKSB7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG59XG5cbi5zbGljay1zbGlkZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zaW5nbGUtbGFyZ2UtY2Fyb3VzZWxfX3NsaWRle1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLyogdGhlIHBhcmVudCAqL1xuLy8gLnNsaWNrLWxpc3Qge1xuLy8gICAgIG1hcmdpbjogMCAtMjBweDtcbi8vIH1cblxuXG4uc2luZ2xlLWxhcmdlLWNhcm91c2VsX19jb250YWluZXJ7XG4gIG1heC13aWR0aDogODMuNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnNpbmdsZS1sYXJnZS1jYXJvdXNlbF9fY2Fyb3VzZWx7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBcbiAgLnNsaWNrLXNsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vIG1heC1oZWlnaHQ6IDEwLjVyZW07XG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpe1xuICAgIC8vICAgbWF4LWhlaWdodDogMTVyZW07XG4gICAgLy8gfVxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgLy8gICBtYXgtaGVpZ2h0OiAyNXJlbTtcbiAgICAvLyB9XG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2Upe1xuICAgIC8vICAgbWF4LWhlaWdodDogMzByZW07XG4gICAgLy8gfVxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLXhsKXtcbiAgICAvLyAgIG1heC1oZWlnaHQ6IDQ1LjM3NXJlbTtcbiAgICAvLyB9XG4gICAgXG4gICAgLnlvdXR1YmUsIC52aW1lbywgLnZpZGVvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC55b3V0dWJlIGlmcmFtZSxcbiAgICAueW91dHViZSBvYmplY3QsXG4gICAgLnlvdXR1YmUgZW1iZWQsXG4gICAgLnZpbWVvIGlmcmFtZSxcbiAgICAudmltZW8gb2JqZWN0LFxuICAgIC52aW1lbyBlbWJlZCwgXG4gICAgLnZpZGVvIGlmcmFtZSxcbiAgICAudmlkZW8gb2JqZWN0LFxuICAgIC52aWRlbyBlbWJlZCB7IFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiAgLnNpbmdsZS1sYXJnZS1jYXJvdXNlbF9faW1hZ2V7XG4gICAgQGluY2x1ZGUgaW1hZ2VfX2RpbWVuc2lvbnMoMTAwJSwgNTYuMjUlKTtcbiAgfVxuXG5cblxuXG5cbi8vSW1hZ2UgQ29tcGFyaXNvblxuLmNvbXBhcmlzb24taXRlbV9fbGFiZWx7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuXG5cblxuXG5cblxuXG4uZmFuY3lib3gtYnV0dG9uLS16b29tLFxuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheSxcbi5mYW5jeWJveC1idXR0b24tLXRodW1ic1xue1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5mYW5jeWJveC1pbmZvYmFye1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5mYW5jeWJveC1idXR0b24tLWNsb3Nle1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMnJlbTtcbiAgICB0b3A6IDJyZW07XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTVweDtcbiAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIjtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuXG4gICAgfVxufVxuLmZhbmN5Ym94LWJne1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45MTEpIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwLjk3ICFpbXBvcnRhbnQ7XG59XG4uZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0e1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgJjo6YWZ0ZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAycmVtO1xuICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCI7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB9XG59XG4uZmFuY3lib3gtYnV0dG9uLS1hcnJvd19yaWdodHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICY6OmFmdGVye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIjtcbiAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgIH1cbn1cblxuLmZhbmN5Ym94LXRodW1icy1hY3RpdmV7XG4gICY6OmJlZm9yZXtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLmZhbmN5Ym94LXRodW1ic19fbGlzdHtcblxuICBhOm5vdCguZmFuY3lib3gtdGh1bWJzLWFjdGl2ZSl7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVye1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41ODIpO1xuICAgIH1cbiAgfVxuXG59XG5cbi5mYW5jeWJveC1jb250YWluZXJ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5mYW5jeWJveC10aHVtYnMge1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0IDogMDtcbiAgaGVpZ2h0OiA5NXB4O1xuICBwYWRkaW5nOiAxMHB4IDEwcHggNXB4IDEwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xuICByaWdodDogMDtcbiAgYm90dG9tOiA5NXB4O1xufVxuXG5cbi5wb3N0LXByZXZpZXctY2Fyb3VzZWxfX2Nhcm91c2Vse1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59IiwiLndpZHRoLTEwMHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkdMT0JBTFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi5kLW5vbmV7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5kLWJsb2Nre1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ub3AtMHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5vcC0xe1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcbn1cblxuLnNvY2lhbHtcbiAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICBhe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zb2NpYWwtaWNvbntcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG59XG5cbmltZ3tcbiAgICBAaW5jbHVkZSBpbWctY292ZXI7XG59XG5cbi5iay13aGl0ZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xufVxuLmJrLXJlZHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG59XG4uYmstcHJpbWFyeXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG59XG4uYmstdGhpcmR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX190aGlyZDtcbn1cblxuLmJrLXNlY29uZGFyeXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3NlY29uZGFyeTtcbn1cblxuLmJrLWZvdXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19mb3VyO1xufVxuXG4uY2FsbC10by1hY3Rpb25ze1xuICAgIC5jb250YWluZXJ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAuY2FsbC10by1hY3Rpb257XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYWxsLXRvLWFjdGlvbiAuYnRuLS1jYWxsLXRvLWFjdGlvbntcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5jb250YWN0LXBob25lLW51bWJlci1saW5re1xuICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHlfX21haW47XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBmb250LXNpemU6IDAuOTM4cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgJjo6YmVmb3Jle1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCI7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDk1XCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45MzhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgfVxufVxuXG4ubmV3LWhvbWVzLWxvZ28td3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTBweDtcbiAgICB9XG59XG5cbi5uZXctaG9tZXMtbG9nb3tcbiAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLypcbj09PT09PT09PT09PT09PVxuUE9TVCBQUkVWSUVXXG49PT09PT09PT09PT09PVxuKi9cbi5wb3N0LXByZXZpZXd7XG5cbiAgICAmOmhvdmVye1xuICAgICAgICAucG9zdC1wcmV2aWV3X19oZWFkaW5ne1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgIH1cbiAgICAgICAgLmJ0bntcbiAgICAgICAgICAgIC5hcnJvd3tcbiAgICAgICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJjpob3ZlcntcbiAgICAgICAgLnBvc3QtcHJldmlld19faW1hZ2V7XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpOyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiAgICAucG9zdC1wcmV2aWV3X19pbWFnZXtcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2VfX2RpbWVuc2lvbnMoMTAwJSwgNzAlKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbi8qXG49PT09PT09PT09PT09PT1cblBPU1QgUFJFVklFV1xuPT09PT09PT09PT09PT1cbiovXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkdMT0JBTFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuVEVYVCBXSVRIIExJTktcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG4udGV4dC13aXRoLWxpbmsuYmstcmVke1xuICAgIC50ZXh0LXdpdGgtbGlua19faGVhZGluZywgLnRleHQtd2l0aC1saW5rX190ZXh0LCAuYnRue1xuICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICB9XG59XG5cbi50ZXh0LXdpdGgtbGlua3tcblxuICAgIC5jb250YWluZXIsXG4gICAgLnRleHQtd2l0aC1saW5rX19jb250ZW50LWNvbnRhaW5lcntcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRleHQtd2l0aC1saW5rX19jb250ZW50LWNvbnRhaW5lcntcbiAgICAgICAgd2lkdGg6IDQwcmVtO1xuICAgIH1cblxuICAgIC50ZXh0LXdpdGgtbGlua19fY29udGVudC13cmFwe1xuICAgICAgICBtYXgtd2lkdGg6IDI3LjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4udGV4dC13aXRoLWxpbmt7XG4gICAgLnRleHQtd2l0aC1saW5rX19jb250ZW50LWNvbnRhaW5lcntcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDQuNXJlbSAxcmVtO1xuICAgIH1cbiAgICAuYnRue1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICB9XG59XG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuVEVYVCBXSVRIIExJTktcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuRkVBVFVSRUQgREVWRUxPUE1FTlRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmZlYXR1cmVkLWRldmVsb3BtZW50c3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZmVhdHVyZWQtZGV2ZWxvcG1lbnRzIC5iay1yZWR7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJvdHRvbTogNnJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgIGJvdHRvbTogMTRyZW07XG4gICAgfVxufVxuXG4gICAgLmZlYXR1cmVkLWRldmVsb3BtZW50c19fbWFpbi1jb250YWluZXJ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5mZWF0dXJlZC1kZXZlbG9wbWVudHNfX2NvbnRlbnR7XG4gICAgICAgIG1heC13aWR0aDogMjdyZW07XG4gICAgfVxuXG5cblxuLmZlYXR1cmVkLWRldmVsb3BtZW50c19fY29udGVudHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4gICAgLmZlYXR1cmVkLWRldmVsb3BtZW50c19faGVhZGluZy1kZXNrdG9we1xuXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mZWF0dXJlZC1kZXZlbG9wbWVudHNfX2hlYWRpbmctbW9iaWxlLFxuICAgIC5mZWF0dXJlZC1kZXZlbG9wbWVudF9fYnRuLTEtbW9iaWxle1xuXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2Upe1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9ICAgXG4gICAgICAgIFxuICAgIH1cbiAgICAuZmVhdHVyZWQtZGV2ZWxvcG1lbnRfX2J0bi0xLW1vYmlsZXtcblxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuXG4gICAgfVxuXG4uZmVhdHVyZWQtZGV2ZWxvcG1lbnRfX2N1cnJlbnQtZGV2LWJ0bntcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbn1cblxuLmZlYXR1cmVkLWRldmVsb3BtZW50c19fbGlzdHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAuZmVhdHVyZWQtZGV2ZWxvcG1lbnRfX2xpc3QtaXRlbXtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zZW07XG4gICAgICAgIC5mZWF0dXJlZC1kZXZlbG9wbWVudF9fbGlua3tcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmODI7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgIC5mZWF0dXJlZC1kZXZlbG9wbWVudF9fbGlua3tcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmVhdHVyZWQtZGV2ZWxvcG1lbnRzX19pbWFnZXtcblxuICAgIEBpbmNsdWRlIGltYWdlX19kaW1lbnNpb25zKDEwMCUsIDg1JSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuXG4gICAgICAgIEBpbmNsdWRlIGltYWdlX19kaW1lbnNpb25zKDEwMCUsIDUwJSk7XG5cbiAgICB9XG5cbiAgICAuaW1hZ2Utd3JhcCwgLmltYWdle1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfSAgICBcbn1cblxuLmZlYXR1cmVkLWRldmVsb3BtZW50c19fcHJldi1kZXYtYnRue1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDMuNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xufVxuXG4uZmVhdHVyZWQtZGV2ZWxvcG1lbnRzX19jb250ZW50e1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1sYXJnZSl7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5GRUFUVVJFRCBERVZFTE9QTUVOVFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuU0VBUkNIIExPQ0FUSU9OXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5wYWdlLXRlbXBsYXRlLWN1cnJlbnQtZGV2ZWxvcG1lbnRzIC5zZWFyY2gtbG9jYXRpb257XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg4ODhweCl7XG4gICAgICAgIG1heC13aWR0aDogNDByZW07XG4gICAgfVxufVxuLnNlYXJjaC1sb2NhdGlvbl9fY29udGFpbmVye1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxufVxuLmdvb2dsZS1tYXBzX19tYXAtc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLWxvY2F0aW9uX19jb250YWluZXJ7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG59XG5cbi5wYWdlLXRlbXBsYXRlLWN1cnJlbnQtZGV2ZWxvcG1lbnRzIC5zZWFyY2gtbG9jYXRpb257XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5zZWFyY2gtbG9jYXRpb25fX2hlYWRpbmd7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VhcmNoLWJhciB7XG5cdG1hcmdpbjogMCBhdXRvO1xuICAgIGJveC1zaGFkb3c6IHJnYmEoMTAwLCAxMDAsIDExMSwgMC4yKSAwcHggN3B4IDI5cHggMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODg4cHgpe1xuICAgICAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgIH1cblx0XG5cdC5zZWFyY2gtZm9ybSB7XG5cdFx0bWFyZ2luOiAyLjVyZW0gMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggODg4cHgpe1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXHRcdFxuXHRcdC5pbnB1dC13cmFwIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODg4cHgpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICB9XG5cdFx0XHRcblx0XHRcdC5sb2NhdGlvbi1hcnJvdyB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6IDI1cHg7XG5cdFx0XHRcdHRvcDogMjNweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0aW5wdXQjc2VhcmNoLFxuXHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Zm9udC1zaXplOiAwLjgxM3JlbTtcblx0XHRcdHBhZGRpbmc6IDEycHggNDhweCAxMHB4IDIwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdFx0Ym9yZGVyOiAwO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODg4cHgpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICB9XG5cdFx0fVxuXHRcdFxuXHRcdC5sb2NhdGlvbi1hcnJvdyB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuXHRcdH1cblx0XHRcblx0XHQjbG9jYXRpb25fc2VhcmNoLWVycm9yIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdGNvbG9yOiByZWQ7XG5cdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0fVxuXHR9XG59XG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuU0VBUkNIIExPQ0FUSU9OXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRFWFQgV0lUSCBJTUFHRVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi50ZXh0LXdpdGgtaW1hZ2V7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuICAgIC50ZXh0LXdpdGgtaW1hZ2UgLmJre1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJvdHRvbTogMDtcblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKXtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM2cmVtO1xuICAgICAgICAgICAgYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC13aXRoLWltYWdle1xuICAgICAgICBcbiAgICAgICAgJi5iay1ncmV5IC5ia3tcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fc2Vjb25kYXJ5O1xuICAgICAgICB9XG4gICAgICAgICYuYmstY3JlYW0gLmJre1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX190aGlyZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LXdpdGgtaW1hZ2VfX2NvbnRhaW5lcntcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQtd2l0aC1pbWFnZV9fY29udGVudC1jb250YWluZXJ7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpe1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIC50ZXh0LXdpdGgtaW1hZ2V7XG4gICAgICAgICYuYmstZ3JleSxcbiAgICAgICAgJi5iay1jcmVhbXtcbiAgICAgICAgICAgIC50ZXh0LXdpdGgtaW1hZ2VfX2NvbnRlbnQtY29udGFpbmVye1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwcHgpe1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5iay13aGl0ZXtcbiAgICAgICAgICAgIC50ZXh0LXdpdGgtaW1hZ2VfX2NvbnRlbnQtY29udGFpbmVye1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjcuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRleHQtd2l0aC1pbWFnZS5iay13aGl0ZXtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG5cbiAgICAgICAgICAgIC50ZXh0LXdpdGgtaW1hZ2VfX2NvbnRlbnQtY29udGFpbmVye1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRleHQtd2l0aC1pbWFnZV9faW1hZ2V7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5iay1ncmV5IC50ZXh0LXdpdGgtaW1hZ2VfX2NvbnRlbnQtd3JhcHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTByZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGV4dC13aXRoLWltYWdlX19pbWFnZXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtd2l0aC1pbWFnZSAuaW1hZ2V7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaW1hZ2VfX2RpbWVuc2lvbnMoMTAwJSwgMTUwJSk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI1cmVtO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzVyZW07IC8vNjUwcHhcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHJlbTsgLy82OTBweFxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGltZy1jb3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2Upe1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjkuNDM4cmVtO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjkuNDM4cmVtO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwLjYyNXJlbTsgLy82NTBweFxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQzLjQzOHJlbTsgLy82OTBweFxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGltZy1jb3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRleHQtd2l0aC1pbWFnZSAuYnRue1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgfVxuXG4vL3ZhcmlhdGlvblxuLnR3by1pbWFnZS1saW5rcy0tc3R5bGVkIC50d28taW1hZ2UtbGlua3NfX2JveDpsYXN0LW9mLXR5cGV7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgbWFyZ2luLXRvcDogMTByZW07XG4gICAgfSAgIFxufVxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5URVhUIFdJVEggSU1BR0Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5TVEFUSVNUSUNTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5zdGF0aXN0aWNzX19jb250YWluZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1zbWFsbCl7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgfVxufVxuICAgIC5zdGF0aXN0aWNzX19ibG9ja3tcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtc21hbGwpe1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGF0aXN0aWNzX19ibG9jay12YWx1ZXtcbiAgICAgICAgXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7ICBcbiAgICB9XG5cbiAgICAuc3RhdGlzdGljc19fdmFsdWUtd3JhcHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpe1xuICAgICAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuc3RhdGlzdGljc19fYmxvY2t7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1zbWFsbCl7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAuNjI1cmVtO1xuXG4gICAgICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RhdGlzdGljc19fYmxvY2t7XG4gICAgICAgIC5zdGF0aXN0aWNzX192YWx1ZS13cmFwe1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMy42cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNy43cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgLnN0YXRpc3RpY3NfX3ZhbHVlLXdyYXA6OmFmdGVye1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBcbiAgICAuc3RhdGlzdGljc19fYmxvY2stdmFsdWV7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc7XG4gICAgfVxuICAgIC5zdGF0aXN0aWNzX19ibG9jay10ZXh0e1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjc1cmVtO1xuICAgICAgICB3aWR0aDogMTNyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5TVEFUSVNUSUNTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5MQVRFU1QgUE9TVFNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmxhdGVzdC1wb3N0c19fY29udGFpbmVyLXBvc3Rze1xuICAgIFxuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtc21hbGwpe1xuICAgICAgICBncmlkLWdhcDogM3JlbTtcbiAgICAgICAgcGFkZGluZzogNHJlbSAwO1xuICAgIH1cbn1cbiAgICAubGF0ZXN0LXBvc3RzX19jb250YWluZXItcG9zdHMgLnBvc3QtcHJldmlld3tcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLXNtYWxsKXtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5MQVRFU1QgUE9TVFNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5MT0dPIENBUk9VU0VMXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5sb2dvLWNhcm91c2VsX19jb250YWluZXItY2Fyb3VzZWx7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyA0O1xuICAgIG1hcmdpbjogNHJlbSAwO1xufVxuXG4ubG9nby1jYXJvdXNlbF9fbG9nby1pbWFnZXtcbiAgICBAaW5jbHVkZSBpbWFnZV9fZGltZW5zaW9ucygxMDAlLCA1MCUpO1xufVxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5MT0dPIENBUk9VU0VMXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5HT09HTEUgTUFQU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuLmdvb2dsZS1tYXBze1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDg4OHB4KXtcbiAgICAgICAgLmJrLXJlZHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFNOQVpaWSBJTkZPIFdJTkRPVyAqL1xuLm1hcCB7XG5cbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDI1cmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgIGhlaWdodDogMzQuMzc1cmVtO1xuICAgIH1cblxuXHQuc2ktY29udGVudC13cmFwcGVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHdpZHRoOiAxOS4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA4LjhyZW07XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFxuXHRcdC5zaS1jb250ZW50IHtcblx0XHRcdG92ZXJmbG93OiAgdmlzaWJsZTtcblx0XHRcdFxuXHRcdFx0Lm1hcC1pbmZvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcblx0XHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEuNDM4cmVtO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XG5cdFx0fVxuXHR9XG5cdFxuXHQuc2ktcG9pbnRlci1iZy10b3Age1xuXHRcdGJvcmRlci10b3AtY29sb3I6ICRjb2xvcl9fd2hpdGU7XG5cdH1cblx0XG5cdC5zaS1mbG9hdC13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XG5cdFx0LmNsb3NlIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTVweDtcblx0XHRcdGNvbG9yOiAkY29sb3JfX3doaXRlO1xuXHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHRyaWdodDogMTVweDtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyBhbGwpO1xuXHRcdFx0XG5cdFx0XHQubm8tdG91Y2hldmVudHMgJjpob3ZlciB7XG5cdFx0XHRcdC8vQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg5MGRlZykpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG4gICAgLmNvbnRlbnR7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgfVxuICAgIC5tYXBfX21hcmtlci1pbWFnZXtcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2VfX2RpbWVuc2lvbnMoNTAlLCA1MCUpO1xuICAgIH1cbn1cblxuLm1hcCAubWFwX19tYXJrZXItYnRue1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuICAgIC5tYXAgLm1hcF9fbWFya2VyLWJ0biAuYnRuLXdyYXB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbi5zaS1jb250ZW50LXdyYXBwZXI6aG92ZXIgLmFycm93e1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyk7XG59XG5cblxuLmdvb2dsZS1tYXBzX19tYXAtc2VhcmNoLWNvbnRhaW5lcntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4gICAgLmdvb2dsZS1tYXBzX19tYXAtc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLWxvY2F0aW9ue1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODg4cHgpe1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICAgICAgLmdvb2dsZS1tYXBzX19tYXAtc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLWxvY2F0aW9uIC5zZWFyY2gtZm9ybXtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuXG4gICAgICAgIH1cbiAgICAgICAgICAgIC5nb29nbGUtbWFwc19fbWFwLXNlYXJjaC1jb250YWluZXIgLmlucHV0LXdyYXB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCA4ODhweCl7XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuXG4ubWFwLS1zaW5nbGUtbWFya2Vye1xuICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG59XG5cbi5nb29nbGUtbWFwc19fbWFwLXNlYXJjaC1jb250YWluZXIgLm1hcHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4gICAgLm1hcC1lcnJvci1tZXNzYWdle1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAgICAgLm1hcC1lcnJvci1tZXNzYWdlLWNvbnRlbnR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA2MCU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4ubWFwLWVycm9yLW1lc3NhZ2UtY29udGVudHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubWFwLWVycm9yLW1lc3NhZ2VfX2V4aXR7XG4gICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXJlbTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkdPT0dMRSBNQVBTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkFSQ0hJVkVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRheC1hcmNoaXZle1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbn1cbi50YXgtYXJjaGl2ZV9fdGVybS1ibG9ja3tcblxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgIH1cblxuXG59XG5cbi50ZXJtLWJsb2NrX19jb250ZW50e1xuICAgIFxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpmaXJzdC1vZi10eXBle1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuXG4gICAgICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgXG4gICAgfVxufVxuICAgIC50ZXJtLWJsb2NrX19uYW1lLFxuICAgIC50ZXJtLWJsb2NrX19mcm9tLXByaWNlLFxuICAgIC50ZXJtLWJsb2NrX19kZXNjcmlwdGlvbntcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgfVxuXG4udGVybS1ibG9ja19faW1hZ2V7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAuaW1hZ2V7XG4gICAgICAgIG1heC13aWR0aDogNTVyZW07XG4gICAgICAgIEBpbmNsdWRlIGltYWdlX19kaW1lbnNpb25zKDEwMCUsIDY1JSk7XG4gICAgfSAgICBcblxuICAgIFxufVxuXG4udGVybS1ibG9ja19fZGVzY3JpcHRpb257XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgbWF4LXdpZHRoOiA3OSU7XG4gICAgfVxufVxuXG4udGVybS1ibG9ja19fZnJvbS1wcmljZXtcbiAgICAmOjphZnRlcntcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgICB9XG59XG5cbi50ZXJtLWJsb2NrX19mcm9tLXByaWNlX190ZXh0e1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbn1cblxuLnRlcm0tYmxvY2tfX25hbWV7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5BUkNISVZFXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuTElOSyBXSVRIIExBUkdFIElNQUdFXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cblxuLy9Db3BpZWQgZnJvbSAoLnRheC1hcmNoaXZlX190ZXJtLWJsb2NrKVxuLmxpbmstd2l0aC1sYXJnZS1pbWFnZV9fY29udGFpbmVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxufVxuXG5cbi8vQ29waWVkIGZyb20gKC50ZXJtLWJsb2NrX19jb250ZW50KVxuLmxpbmstd2l0aC1sYXJnZS1pbWFnZV9fY29udGVudHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDIwcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICAgIH1cbn1cblxuLy9Db3BpZWQgZnJvbSAoLnRlcm0tYmxvY2tfX2ltYWdlKVxuLmxpbmstd2l0aC1sYXJnZS1pbWFnZV9faW1hZ2V7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAuaW1hZ2V7XG4gICAgICAgIG1heC13aWR0aDogNTVyZW07XG4gICAgICAgIEBpbmNsdWRlIGltYWdlX19kaW1lbnNpb25zKDEwMCUsIDY1JSk7XG4gICAgfSAgICBcblxufVxuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkxJTksgV0lUSCBMQVJHRSBJTUFHRVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkF2YWlsYWJsZSBwbG90c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uYXZhaWxhYmxlLXBsb3RzX19oZWFkaW5ne1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmF2YWlsYWJsZS1wbG90c19fbGlzdHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9fZ3JleTtcbn1cblxuLmF2YWlsYWJsZS1wbG90c19fY29se1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX19ncmV5O1xuICAgIHdpZHRoOiAxJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG4uYXZhaWxhYmxlLXBsb3RzX19saXN0IHsgXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgXG59XG4uYXZhaWxhYmxlLXBsb3RzX19jb250YWluZXJ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG4gXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkF2YWlsYWJsZSBwbG90c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblNJTkdMRSBMQVJHRSBDQVJPVVNFTFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uc2luZ2xlLWxhcmdlLWNhcm91c2VsX19zbGlkZXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4gICAgLnNpbmdsZS1sYXJnZS1jYXJvdXNlbF9fc2xpZGUtY29udGVudHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2Upe1xuICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gNC4zNzVyZW07XG4gICAgICAgIH1cbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0FFQkNCNjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLWxhcmdlKXtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgICAgIC5zaW5nbGUtbGFyZ2UtY2Fyb3VzZWxfX3NsaWRlLWluZGV4LW5hdntcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjMxM3JlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNpbmdsZS1sYXJnZS1jYXJvdXNlbF9fc2xpZGUtdGl0bGV7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbGFyZ2Upe1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNpbmdsZS1sYXJnZS1jYXJvdXNlbF9fc2xpZGUtdGl0bGUsXG4gICAgICAgIC5zaW5nbGUtbGFyZ2UtY2Fyb3VzZWxfX3NsaWRlLWluZGV4LW5hdixcbiAgICAgICAgLnNpbmdsZS1sYXJnZS1jYXJvdXNlbF9fc2xpZGUtaW5kZXgtbmF2IHNwYW57XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbGFyZ2Upe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW5nbGUtbGFyZ2UtY2Fyb3VzZWxfX3NsaWRlLWluZGV4ID4gc3BhbntcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLWxhcmdlKXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zaW5nbGUtbGFyZ2UtY2Fyb3VzZWxfX3NsaWRlLWluZGV4LW5hdiA+IHNwYW57XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1sYXJnZSl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgIFxuXG5cbiAgICAgICAgICAgIC5zaW5nbGUtbGFyZ2UtY2Fyb3VzZWxfX25hdi1wcmV2e1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2luZ2xlLWxhcmdlLWNhcm91c2VsX19uYXYtbmV4dCxcbiAgICAgICAgICAgIC5zaW5nbGUtbGFyZ2UtY2Fyb3VzZWxfX25hdi1wcmV2e1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuU0lOR0xFIExBUkdFIENBUk9VU0VMXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQUNDT1JESU9OXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8vc2VjdGlvbiBiYXNlIHN0eWxlXG4uYWNjb3JkaW9ue1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VBRTY7XG59XG5cbiAgICAuYWNjb3JkaW9uX19oZWFkaW5ne1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vYWNjb3JkaW9uIHN0eWluZyBhbmQgcHNhY2luZ1xuICAgIC5hY2NvcmRpb25fX2J1dHRvbntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfX2dyZXk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICAgICAuYWNjb3JkaW9uX19idXR0b24gaTpmaXJzdC1vZi10eXBle1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAvL2ljb25zIGNoYXZlcm90XG4gICAgLmFjY29yZGlvbl9faWNvbi1kb3due1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgfVxuICAgIC5hY2NvcmRpb25fX2ljb24tdXB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEuN3JlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fYmxhY2s7XG4gICAgfVxuXG4gICAgLy90b3AgYW5kIGJvdHRvbSBvZiBhY2NvcmRpb25cbiAgICAuYWNjb3JkaW9uX190b3B7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgICAgIC5hY2NvcmRpb25fX3RleHR7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjY29yZGlvbl9fdGV4dHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb25fX2ltYWdlcy1jb250YWluZXJ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY2NvcmRpb25fX2ltYWdlLWNvdW50LS0ye1xuXG4gICAgICAgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgICAgICBncmlkLWdhcDogMjBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoICRicC1tZWRpdW0gKSB7XG4gICAgICAgICAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHtcbiAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb25fX2ltYWdlLWNvdW50LS0ze1xuICAgICAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAyMHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggJGJwLW1lZGl1bSApIHtcbiAgICAgICAgICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkge1xuICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCAkYnAtbGFyZ2UgKSB7XG4gICAgICAgICAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHtcbiAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmltYWdlOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgICAuYWNjb3JkaW9uX19pbWFnZXtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBpbWFnZV9fZGltZW5zaW9ucygxMDAlLCA2MCUpO1xuICAgICAgICAgICAgfVxuXG4vL0pTIEVWRU5UU1xuLmFjY29yZGlvbl9fYnV0dG9uLmFjdGl2ZXtcbiAgXG4gICAgLmFjY29yZGlvbl9faWNvbi1kb3due1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5hY2NvcmRpb25fX2ljb24tdXB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uYWNjb3JkaW9uX19idXR0b24uYWN0aXZlICsgLmFjY29yZGlvbl9fYm90dG9te1xuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICAgb3BhY2l0eTogMTtcbiAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzKTtcbiAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiB9XG4gXG4gLy9kZWZhdWx0XG4gLmFjY29yZGlvbl9fYm90dG9te1xuICAgLy8gIGhlaWdodDogMDtcbiAgICAgb3BhY2l0eTogMDtcbiAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICBtYXgtd2lkdGg6IDQycmVtO1xuICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gfVxuIFxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQUNDT1JESU9OXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuVFdPIElNQUdFUyBXSVRIIExJTktcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cbi50d28taW1hZ2VzLXdpdGgtbGlua19faGVhZGluZy1saW5re1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4zMTNyZW07XG4gICAgfVxufVxuICAgIC50d28taW1hZ2VzLXdpdGgtbGlua19faGVhZGluZ3tcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLnR3by1pbWFnZXMtd2l0aC1saW5rX19idG57XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgfVxuXG4udHdvLWltYWdlcy13aXRoLWxpbmtfX2ltYWdle1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGltZ3tcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG59XG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5UV08gSU1BR0VTIFdJVEggTElOS1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbk1BUFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuLm1hcF9faGVhZGluZy1hZGRyZXNze1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5nb29nbGUtbWFwe1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuTUFQXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblBPU1QgUFJFVklFVyBDQVJPVVNFTFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuLmhvdXNlLXByZXZpZXd7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmhvdXNlLXByZXZpZXdfX3NpdGUtcGxhbntcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxLjc1cmVtO1xuICAgIHJpZ2h0OiAxLjc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucG9zdC1wcmV2aWV3LWNhcm91c2Vse1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbn1cbiAgICAucG9zdC1wcmV2aWV3LWNhcm91c2VsX19oZWFkaW5nLWxpbmt7XG4gICAgIFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjMxM3JlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAgICAgLnBvc3QtcHJldmlldy1jYXJvdXNlbF9faGVhZGluZ3tcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAucG9zdC1wcmV2aWV3LWNhcm91c2VsX19saW5re1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgLnBvc3QtcHJldmlldy1jYXJvdXNlbF9fY2Fyb3VzZWx7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIH1cbiAgICAucG9zdC1wcmV2aWV3LWNhcm91c2VsIC5ob3VzZS1wcmV2aWV3X19jb250ZW50e1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgIH1cbiAgICAucG9zdC1wcmV2aWV3LWNhcm91c2VsIC5ob3VzZS1wcmV2aWV3e1xuICAgICAgICBtaW4taGVpZ2h0OiAzMy40ODFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9fd2hpdGU7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBudWRnZUxlZnRSZXBlYXQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgMjUlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMC4zJSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTAuMyUsIDAsIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgIC8vQU5JTUFUSU9OXG4gICAgLnBvc3QtcHJldmlldy1jYXJvdXNlbCAuYW5pbWF0aW9uLWFjdGl2ZXtcbiAgICAgICAvLyBtYXJnaW4tbGVmdDogLTEwMHB4O1xuICAgICAgICAvL21ha2UgdGhpcyByZXBlYXRlIGFuaW1hdGVcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG51ZGdlTGVmdFJlcGVhdDtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyLjNzO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxuXG4ucG9zdC1wcmV2aWV3LWNhcm91c2VsX19jYXJvdXNlbCAuaG91c2UtcHJldmlld19fY29udGVudHtcbiAgICBtaW4taGVpZ2h0OiAzNDYuMDNweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2Upe1xuICAgICAgICBtaW4taGVpZ2h0OiAyOTguMDNweDtcbiAgICB9XG59XG4gICAgLmhvdXNlLXByZXZpZXdfX2xpbmstc2l0ZW1hcHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB9XG5cbi5wb3N0LXByZXZpZXctY2Fyb3VzZWx7XG4gICAgLnNsaWNrLWRvdHN7XG4gICAgICAgIGJvdHRvbTogLTQzcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBib3R0b206IC02NXB4O1xuICAgICAgICB9XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX193aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbGljay1hY3RpdmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3Jle1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgfVxufVxuLnBvc3QtcHJldmlldy1jYXJvdXNlbCAuaG91c2UtcHJldmlld3tcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgd2lkdGg6IDQ1NnB4O1xuICB9XG59XG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblBPU1QgUFJFVklFVyBDQVJPVVNFTFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRFWFQgQ0FST1VTRUxcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLy9TbGljayBTbGlkZXIgZG9lcyBub3QgbGlrZSBmcmFjdGlvbnMgb24gZGlzcGxheSBncmlkIHNvIGdvdCB0byBkbyB0aGUgYmVsb3cuIFxuLnRleHQtY2Fyb3VzZWwgLmNvbnRhaW5lcntcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDY5LjYyNXJlbTtcbn1cblxuLnRleHQtY2Fyb3VzZWxfX2Nhcm91c2Vse1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDYxNkM7XG59XG4gICAgLnRleHQtY2Fyb3VzZWxfX2Nhcm91c2Vse1xuICAgICAgICBwYWRkaW5nLXRvcDogNC4zNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbGFyZ2Upe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICAgICAudGV4dC1jYXJvdXNlbF9fanMtc2VsZWN0b3J7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MS4zNzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRleHQtY2Fyb3VzZWxfX25hdntcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuODc1cmVtO1xuICAgICAgICB9ICBcbiAgICAgICAgICAgIC50ZXh0LWNhcm91c2VsX19uYXYtcHJldntcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMTg4cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRleHQtY2Fyb3VzZWxfX25hdi1wcmV2LFxuICAgICAgICAgICAgLnRleHQtY2Fyb3VzZWxfX25hdi1uZXh0e1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuVEVYVCBDQVJPVVNFTFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRFWFQgQkxPQ0tcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG4udGV4dC1ibG9ja19fY29udGFpbmVye1xuXG4gICAgZ3JpZC1nYXA6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICBncmlkLWdhcDogMy4yNXJlbTtcbiAgICB9XG59XG4udGV4dC1ibG9jay5iay1wcmltYXJ5IC50ZXh0LWJsb2NrX190ZXh0LXdyYXB7XG4gPiAqLCBhLCBzcGFue1xuXG4gICAgIGNvbG9yOiAkY29sb3JfX3doaXRlO1xuXG4gICAgfVxufVxuLnRleHQtYmxvY2subm9uZSAudGV4dC1ibG9ja19fdGV4dC13cmFwe1xuICAgID4gYSwgc3BhbntcbiAgIFxuICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5XG4gICBcbiAgICAgICB9XG5cbiAgIH1cblxuLnRleHQtYmxvY2stLWJvcmRlcntcblxuICAgIC50ZXh0LWJsb2NrX190ZXh0LXdyYXB7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAwcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDMycmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQuNXJlbSAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQtYmxvY2tfX2NvbnRhaW5lcntcbiAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRleHQtYmxvY2suYmstcHJpbWFyeXtcbiAgICBsaSwgbGk6Om1hcmtlciwgc3Ryb25nLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2e1xuICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICB9XG59XG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRFWFQgQkxPQ0tcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnR3by1pbWFnZS1saW5rc19fY29udGFpbmVye1xuICAgIGdyaWQtZ2FwOiAycmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoKXtcbiAgICAgICAgZ3JpZC1nYXA6IDZyZW07XG4gICAgfVxufVxuXG4gICAgLnR3by1pbWFnZS1saW5rcyAuYnRuIC5idG4td3JhcHtcbiAgICAgICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgfVxuICAgIC50d28taW1hZ2UtbGlua3NfX2JveC1pbWFnZS0tcmVjdGFuZ2xle1xuXG4gICAgICAgIEBpbmNsdWRlIGltYWdlX19kaW1lbnNpb25zKDEwMCUsIDY4JSk7XG4gICAgfVxuICAgIC50d28taW1hZ2UtbGlua3NfX2JveDpsYXN0LW9mLXR5cGUgLnR3by1pbWFnZS1saW5rc19fYm94LWltYWdlLS1yZWN0YW5nbGV7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAgXG5cblxuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbk1BUCBXSVRIIEZJTFRFUiAoUkFESU8gQlROUylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cbi5tYXAtd2l0aC1maWx0ZXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1hcC13aXRoLWZpbHRlciAubWFwe1xuXG4gICAgaGVpZ2h0OiAyNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgIGhlaWdodDogNDMuNzVyZW07XG4gICAgfVxufVxuLm1hcC13aXRoLWZpbHRlcl9fYmt7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ1JTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLm1hcC13aXRoLWZpbHRlcl9faGVhZGluZy1yYWRpb3tcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIH1cbn1cbiAgICAubWFwLXdpdGgtZmlsdGVyX19oZWFkaW5ne1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5tYXAtd2l0aC1maWx0ZXIgLnJhZGlvLWJ0bnN7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuICAgICAgICAubWFwLXdpdGgtZmlsdGVyIC5yYWRpby1pdGVte1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjc1cmVtO1xuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbiAgICAgICAgICAgICAgICBhY2NlbnQtY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRicC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC43NXJlbSAwO1xuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbk1BUCBXSVRIIEZJTFRFUiAoUkFESU8gQlROUylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5JTUFHRSBCTE9DS1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi5pbWFnZS1ibG9ja19faW1hZ2UtLWRpbWVuc2lvbnN7XG5cbiAgICBAaW5jbHVkZSBpbWFnZV9fZGltZW5zaW9ucygxMDAlLCA2NyUpO1xuXG59XG5cbi5pbWFnZS1ibG9jay1yZXBlYXRlciAuY29udGFpbmVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxLjVyZW07XG5cbiAgICAuaW1hZ2UtYmxvY2stcmVwZWF0ZXJfX2ltYWdle1xuICAgICAgICBtYXgtd2lkdGg6IDE2LjE4OHJlbTtcbiAgICB9XG5cbiAgICBpbWd7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxufVxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5JTUFHRSBCTE9DS1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbklNQUdFIENPTVBBUklTT05cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmltYWdlLWNvbXBhcmlzb25fX2NvbnRhaW5lcntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMzkuMzEzcmVtO1xufVxuLmltYWdlLWNvbXBhcmlzb25fX2NvbnRhaW5lcntcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMC40ZnIgMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICB9XG59XG5cbiAgICAuaW1hZ2UtY29tcGFyaXNvbl9fbmF2e1xuICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBncmlkLXJvdzogMyAvIDQ7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDM7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMjtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gMjtcbiAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW1hZ2UtY29tcGFyaXNvbl9fYnRuc3tcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmpzLXNsaWRlcntcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gMztcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyAyO1xuICAgIH1cblxuICAgIC5pbWFnZS1jb21wYXJpc29uX19jb250ZW50e1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyAyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNi43NXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW1hZ2UtY29tcGFyaXNvbl9fZXhjZXJwdHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS1jb21wYXJpc29uIC5idG57XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG5cbiAgICAuanMtc2xpZGVye1xuICAgICAgICBtYXgtaGVpZ2h0OiAzOS4zMTNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDM7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMHJlbTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyIC8gMztcbiAgICAgICAgfVxuICAgIH1cbiAgICAgICAgLmpzLWNvbXBhcmlzb24tY29udGFpbmVyLFxuICAgICAgICAuanMtc2xpZGVyX193cmFwLFxuICAgICAgICAuY29tcGFyaXNvbi1pbWFnZXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5qcy1zbGlkZXJfX3dyYXB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbi5pbWFnZS1jb21wYXJpc29uX19zbGlkZS1pbmRleC5kZXNrdG9we1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuLmltYWdlLWNvbXBhcmlzb25fX3NsaWRlLWluZGV4Lm1vYmlsZXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC1tZWRpdW0pe1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuSU1BR0UgQ09NUEFSSVNPTlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5TVEVQIChKT1VSTkVZLVRFTVBMQVRFLlBIUClcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cbi5zZWN0aW9uLXBiLS1zbWFsbHtcblxuICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggJGJwLW1lZGl1bSApIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNS4yLjY4NzVyZW07XG4gIH1cblxufVxuXG4uc3RlcCAuY29udGFpbmVye1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiAgICBcbiAgICAuc3RlcF9faW1hZ2UtdGl0bGUtd3JhcHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5zdGVwLS1oYXMtaW1hZ2U6bnRoLW9mLXR5cGUoZXZlbikgLnN0ZXBfX2ltYWdlLXRpdGxlLXdyYXB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICAgIC5zdGVwLS1oYXMtaW1hZ2U6bnRoLW9mLXR5cGUob2RkKSAuc3RlcF9faW1hZ2UtdGl0bGUtd3JhcHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgICAgICAuc3RlcF9faW1hZ2V7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGltYWdlX19kaW1lbnNpb25zKDEwMCUsIDYwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBpbWFnZV9fZGltZW5zaW9ucyg3OS4zJSwgNDcuMyUpO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIC5zdGVwX190aXRsZXtcbiAgICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5zdGVwLS1oYXMtaW1hZ2U6bnRoLW9mLXR5cGUoZXZlbikgLnN0ZXBfX3RpdGxle1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG4gICAgLnN0ZXAtLWhhcy1pbWFnZTpudGgtb2YtdHlwZShvZGQpIC5zdGVwX190aXRsZXtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuc3RlcC0taGFzLWltYWdle1xuXG4gICAgICAgIC5zdGVwX19jb250ZW50e1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3RoaXJkO1xuICAgICAgICAgICAgdG9wOiA0cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI3LjI1cmVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICAgICAuc3RlcC0taGFzLWltYWdlOm50aC1vZi10eXBlKGV2ZW4pICAuc3RlcF9fY29udGVudHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnN0ZXAtLWhhcy1pbWFnZTpudGgtb2YtdHlwZShvZGQpIC5zdGVwX19jb250ZW50e1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RlcC0tbm8taW1hZ2UgLnN0ZXBfX2NvbnRlbnR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3RoaXJkO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDU1LjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3JlbSA3cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblNURVAgKEpPVVJORVktVEVNUExBVEUuUEhQKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRFQU0gTUVNQkVSIChURUFNLVRFTVBMQVRFLlBIUClcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRlYW0tdGVtcGxhdGVfX2hlYWRpbmd7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg5LjE4OHJlbSAtIDExOHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtbWVkaXVtKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cmVtO1xuICAgIH1cbn1cblxuLnRlYW0tbWVtYmVye1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjE4OHJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoIDg3MHB4KXtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG59XG5cbiAgICAvL1NFQ1RJT04gQkVISU5EIEZST05UIFNFQ1RJT05cbiAgICAudGVhbS1tZW1iZXJfX2NvbnRlbnR7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODcwcHgpe1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjcuMjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTclKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIGE6bm90KC5idG4pe1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggODcwcHgpe1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLml0ZW0tbW92ZWQgLnRlYW0tbWVtYmVyX19jb250ZW50e1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDEuM3MpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cblxuICAgIC8vRlJPTlQgU0VDVElPTlxuICAgIC50ZWFtLW1lbWJlcl9fZnJvbnR7XG4gICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAuYXJyb3d7XG4gICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgIH1cbiAgICAgICB9XG4gICAgfVxuICAgICAgICAudGVhbS1tZW1iZXJfX2ltYWdle1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG4gICAgICBcbiAgICAgICAgfVxuICAgICAgICAudGVhbS1tZW1iZXJfX2Zyb250e1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggODcwcHgpe1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50ZWFtLW1lbWJlcl9fYnRue1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICAgIC5hcnJvd3tcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYXJyb3c6OmFmdGVyLCAuYXJyb3c6OmJlZm9yZXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCA4NzBweCl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaXRlbS1tb3ZlZCAudGVhbS1tZW1iZXJfX2J0bl9fbmFtZSxcbiAgICAgICAgLml0ZW0tbW92ZWQgLnRlYW0tbWVtYmVyX19idG5fX3RpdGxlLFxuICAgICAgICAuaXRlbS1tb3ZlZCAuYnRuLXdyYXA6bm90KC5idG4tLXJldmVyc2VkKXtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMjVzKTtcbiAgICAgICAgfVxuICAgICAgICAudGVhbS1tZW1iZXIgLmJ0bi0tcmV2ZXJzZWR7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtLW1vdmVkIC5idG4tLXJldmVyc2Vke1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4yNXMpO1xuICAgICAgICB9XG5cbi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRFQU0gTUVNQkVSIChURUFNLVRFTVBMQVRFLlBIUClcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5BTUVOREFUSUVTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8vU2xpY2sgU2xpZGVyIGRvZXMgbm90IGxpa2UgZnJhY3Rpb25zIG9uIGRpc3BsYXkgZ3JpZCBzbyBnb3QgdG8gZG8gdGhlIGJlbG93LiBcbi5hbWVuaXRpZXMtY2Fyb3VzZWwgLmNvbnRhaW5lcntcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDY5LjYyNXJlbTtcbn1cblxuLmFtZW5pdGllcy1jYXJvdXNlbF9fY29udGFpbmVye1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG4uYW1lbml0aWVzLWNhcm91c2VsX190ZXh0LWNvbnRhaW5lcntcbiAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTtcbn1cblxuICAgIC5hbWVuaXR5X19pY29ue1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIFxuICAgICAgICA+ICp7XG4gICAgICAgICAgICBjb2xvcjogI0FFQkNCNjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zbGljay1jdXJyZW50e1xuXG4gICAgICAgIC5hbWVuaXR5X19pY29ue1xuICAgICAgICAgICAgPiAqe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4uYW1lbml0eSxcbi5hbWVuaXR5X19pY29ue1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuICAgIC5hbWVuaXR5X19pY29ue1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cbiAgICAuYW1lbml0eV9fdGV4dHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDE4LjVyZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5hbWVuaXR5X190ZXh0LmFjdGl2ZXtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuLmFtZW5pdGllcy1jYXJvdXNlbF9faW5kZXh7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX193aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICBtYXJnaW46IDAgMC41cmVtO1xuICAgICYuYWN0aXZle1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3doaXRlO1xuICAgIH1cbn1cblxuLmFtZW5pdGllcy1jYXJvdXNlbF9fY29udHJvbHMtY29udGFpbmVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzg5ODk4OTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg5ODk4OTtcbiAgICBwYWRkaW5nOiAxLjY4OHJlbSAwO1xufVxuICAgIC5hbWVuaXRpZXMtY2Fyb3VzZWxfX3ByZXZ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICB9XG4gICAgLmFtZW5pdGllcy1jYXJvdXNlbF9fbmV4dHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgfVxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQU1FTkRBVElFU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5cbi5wYWdlLXRlbXBsYXRlLWNvbnRhY3QtdGVtcGxhdGUgLnRlYW0tdGVtcGxhdGVfX2hlYWRpbmd7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuXG5cbi5wb3N0LXByZXZpZXdfX2NvbnRlbnR7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufSIsIi5ncmVjYXB0Y2hhLWJhZGdle1xuICAgIHotaW5kZXg6IDk5OSAhaW1wb3J0YW50O1xufSIsIi5mb3JtIC5jb250YWluZXIsXG4uZm9ybV9faGVhZGluZy1jb250YWluZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4gICAgLmZvcm0td3JhcCBwe1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLndwY2Y3LWZvcm17XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLW1lZGl1bSl7XG4gICAgICAgICAgICB3aWR0aDogNDEuMzc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCxcbiAgICAud3BjZjctZm9ybS1jb250cm9se1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgICAgIC5mb3JtX19oZWFkaW5ne1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41NjNyZW07XG4gICAgICAgIH1cblxuICAgIC53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcDpudGgtb2YtdHlwZSg2KSxcbiAgICAud3BjZjctZm9ybS1jb250cm9sLXdyYXA6bnRoLW9mLXR5cGUoMyksXG4gICAgLndwY2Y3LWZvcm0tY29udHJvbC13cmFwOm50aC1vZi10eXBlKDQpLFxuICAgIC53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcDpudGgtb2YtdHlwZSg1KXtcblxuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICB9XG4gICAgLndwY2Y3LWZvcm0tY29udHJvbC13cmFwOm50aC1vZi10eXBlKDMpLFxuICAgIC53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcDpudGgtb2YtdHlwZSg1KXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICAud3BjZjctZm9ybS1jb250cm9sLXdyYXA6bnRoLW9mLXR5cGUoNCksXG4gICAgLndwY2Y3LWZvcm0tY29udHJvbC13cmFwOm50aC1vZi10eXBlKDYpe1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cblxuLy9zdHlsaW5nXG4ud3BjZjctZm9ybS1jb250cm9sLXdyYXAgaW5wdXR7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9fZ3JleTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgZm9udC1zaXplOiAwLjgxM3JlbTtcbn1cbi53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCBzZWxlY3R7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9fZ3JleTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgZm9udC1zaXplOiAwLjgxM3JlbTtcbn1cbi53cGNmNy1zdWJtaXR7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG5cblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDEuNzVweDtcblx0Zm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xufVxuLmZvcm0td3JhcCAuYnRue1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG59XG4uYWpheC1sb2FkZXJ7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ud3BjZjctZmlsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDFweDtcbn1cbiAgICAuY3YtdXBsb2FkLWxhYmVse1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4uZGV2LWZvcm17XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07XG59XG5cblxuLmZvcm0tZGlzY2xhaW1lcntcbiAgICBmb250LXNpemU6IDAuOHJlbSAhaW1wb3J0YW50O1xufVxuXG4ud3BjZjctc3Bpbm5lcntcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLXByb3AtbmFtZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjVyZW07XG4gICAgbGVmdDogMDtcbn1cblxuaW5wdXQ6ZGlzYWJsZWR7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX193aGl0ZSAhaW1wb3J0YW50O1xufVxuXG5cbi5ncmVjYXB0Y2hhLWJhZGdle1xuICAgIGJvdHRvbTogN3JlbSAhaW1wb3J0YW50O1xufSJdfQ== */
