/*
 0   -  600 : Phone 400/16 < 37.5em
 600 -  900 : Tablet 600/16 < 56.25em
 900 - 1200 : Tablet landscape 600/16 < 75em
1200 -      : Desktop 1200/16 > 75em

*/
:root {
  --vh100: calc(100vh);
  --vh100-once: calc(100vh);
  --scrollbar-width: 0;
  --header-height: 5.3125rem;
  --footer-height: 46.375rem;
  --top-row-height: 2.8125rem;
  --site-padding: 1.75rem;
  --gap-12-rem: 1.25rem;
  --col-12-rem: 6.0625rem;
  --col-12: 100% * 97 / 1384;
  --gap-12: 100% * 20 / 1384;
  --col-9: 100% * 97 / 1033;
  --gap-9: 100% * 20 / 1033;
  --col-8: 100% * 97 / 916;
  --gap-8: 100% * 20 / 916;
  --col-6: 100% * 97 / 682;
  --gap-6: 100% * 20 / 682;
  --col-4: 100% * 97 / 448;
  --gap-4: 100% * 20 / 448;
  --col-3: 100% * 97 / 331;
  --gap-3: 100% * 20 / 331;
  --col-6-m: 100% * 35 / 280;
  --gap-6-m: 100% * 14 / 280;
  --font-14: 0.875rem;
  --font-18: 1.125rem;
  --font-20: 1.25rem;
  --font-26: 1.625rem;
  --font-42: 2.625rem;
  --letter-spacing-1: 0.01em;
  --letter-spacing-2: 0.02em;
  --letter-spacing-3: 0.03em;
  --letter-spacing-4: 0.04em;
  --letter-spacing-5: 0.05em;
  --letter-spacing-10: 0.1em; }
  @media (max-width: 990px) {
    :root {
      --header-height: 3.5625rem;
      --footer-height: 100dvh;
      --site-padding: 1.25rem; } }
  @media (max-width: 600px) {
    :root {
      --font-14: 0.625rem;
      --font-20: 1.125rem;
      --font-26: 1rem;
      --font-18: 0.9375rem;
      --font-42: 1.25rem;
      --top-row-height: 2.5625rem; } }

/*! 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.2;
  -webkit-text-size-adjust: 100%; }

/* 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;
  height: 1px;
  width: 100%;
  border: none;
  overflow: visible; }

/**
 * 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;
  font-size: 1em; }

/* 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;
  text-decoration: underline;
  text-decoration: underline dotted; }

/**
 * 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;
  font-size: 1em; }

/**
 * 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;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  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;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

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

/**
 * 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;
  outline-offset: -2px; }

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

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

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

html {
  box-sizing: border-box; }

a,
a:visited {
  text-decoration: none;
  color: inherit; }

ul li {
  list-style-type: none; }

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: normal;
  margin: 0; }

button {
  background-color: transparent;
  outline: none;
  border: none;
  cursor: pointer; }

@font-face {
  font-family: 'CF ModGrotesk';
  src: url("../fonts/CFModGrotesk-SemiBold.woff2") format("woff2"), url("../fonts/CFModGrotesk-SemiBold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'CF ModGrotesk';
  src: url("../fonts/CFModGrotesk-Regular.woff2") format("woff2"), url("../fonts/CFModGrotesk-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

html {
  font-family: 'CF ModGrotesk';
  font-size: 16px; }
  html body {
    opacity: 0;
    transition: .2s ease-in-out;
    background-color: #FFFEF5; }
    html body.ready {
      opacity: 1; }
    html body .top-row-homepage {
      display: none; }
  html .site-main {
    min-height: calc(var(--vh100) - var(--header-height));
    background-color: #FFFEF5; }
    .home html .site-main {
      min-height: calc( var(--vh100)); }
  @media (hover: hover) {
    html a:hover {
      color: rgba(0, 0, 0, 0.3); } }

*::selection {
  color: #FFFEF5;
  background-color: #000; }

.italic {
  font-style: italic; }

.upper {
  text-transform: uppercase; }

.lower {
  text-transform: lowercase; }

.cap {
  text-transform: capitalize; }

.underline {
  text-decoration: underline; }

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

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

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

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

.m0-auto {
  margin: 0 auto; }

.flex {
  display: flex; }

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

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

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

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

.flex-col {
  display: flex;
  flex-direction: column; }

.flex-col-center {
  display: flex;
  flex-direction: column;
  align-items: center; }

.flex-col-between-center {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center; }

.flex-break {
  flex: 1 0 100%;
  height: 0; }

.grid {
  display: grid; }

.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-column-gap: var(--col-gap); }

.overlay-fadein {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  pointer-events: none;
  z-index: 0; }

.overlay-left {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  transform: translateX(-100%);
  transition: transform 0.3s ease-out;
  pointer-events: none;
  z-index: 5; }
  .overlay-left.transform-x0 {
    transform: translateX(0); }

@media only screen and (max-width: 62.5em) {
  .overlay-right {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateX(100%);
    transition: transform 0.3s ease-out;
    pointer-events: none;
    z-index: 5; } }

.overlay-fadein.show {
  opacity: 1;
  z-index: 10; }

.transform-x0 {
  transform: translateX(0); }

.transformed-y {
  transform: translateY(150px);
  transition: transform .7s ease-in-out, opacity .7s ease-in; }
  .transformed-y.unrevealed {
    transition: transform .7s ease-in-out, opacity .7s ease-in; }
  .transformed-y.transform-0 {
    transform: translateY(0); }

.sequential > div {
  transform: translateY(150px);
  opacity: 0;
  transition: transform .7s ease-in-out, opacity .7s ease-in; }
  .sequential > div.show.transform-0 {
    transform: translateY(0);
    opacity: 1; }

.events-none {
  pointer-events: none; }

.events-auto {
  pointer-events: auto; }

.overflowY-hidden {
  overflow-y: hidden; }

.events-none.overflowY-hidden {
  overflow-y: auto; }
  @media only screen and (max-width: 62.5em) {
    .events-none.overflowY-hidden {
      pointer-events: none;
      overflow: hidden; } }

.scroll-cont {
  overflow: unset;
  height: auto; }
  @media only screen and (min-width: 37.5em) {
    .scroll-cont {
      overflow: hidden;
      height: var(--vh100); } }
  @media only screen and (min-width: 62.5em) {
    .scroll-cont {
      overflow: hidden;
      width: 100%; } }

.scroll-inner {
  padding-right: var(--scrollbar-width);
  overflow-y: scroll;
  height: var(--vh100);
  display: flex;
  flex-direction: column;
  width: calc(100% + var(--scrollbar-width)); }

.scrollbar-measure {
  width: 100px;
  height: 100px;
  overflow: scroll;
  position: absolute;
  top: -9999px; }

.sticky {
  position: sticky; }

.hidden-title {
  opacity: 0;
  height: 0;
  margin: 0; }

.invisible {
  visibility: hidden; }

.nodisplay {
  display: none; }

.hidden {
  opacity: 0; }

.show {
  opacity: 1; }

.unrevealed {
  opacity: 0;
  transition: opacity .5s ease-in; }
  .unrevealed.show {
    opacity: 1; }

@media only screen and (max-width: 37.5em) {
  .mobile-hidden {
    display: none; } }

@media only screen and (max-width: 62.5em) {
  .tablet-hidden {
    display: none !important; } }

@media only screen and (max-width: 75em) {
  .tablet-land-hidden {
    display: none !important; } }

.mobile-only {
  display: none; }
  @media only screen and (max-width: 37.5em) {
    .mobile-only {
      display: block; } }

.tablet-only {
  display: none; }
  @media only screen and (max-width: 62.5em) {
    .tablet-only {
      display: block; } }

.tablet-land-only {
  display: none; }
  @media only screen and (max-width: 75em) {
    .tablet-land-only {
      display: block; } }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  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;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[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; }

.slick-slider.hover .city-multicard-cont {
  opacity: .5; }
  .slick-slider.hover .city-multicard-cont.over {
    opacity: 1; }

.slick-slide {
  outline: none;
  height: inherit; }

.slick-disabled {
  display: none !important; }

.slick-track {
  margin-left: calc(var(--main-pad-lr) - 1rem);
  display: flex; }

@media only screen and (max-width: 62.5em) {
  .slick-track {
    margin-left: calc(var(--main-pad-lr) - .8rem); } }

@media only screen and (max-width: 37.5em) {
  .slick-track {
    margin-left: unset; } }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 16px 14px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: #FFF; }

.hamburger-box {
  width: 20px;
  height: 15px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.5px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 20px;
    height: 1px;
    background-color: #FFF;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -7px; }
  .hamburger-inner::after {
    bottom: -7px; }

/*
   * 3DXY
   */
.hamburger--3dxy .hamburger-box {
  perspective: 40px; }

.hamburger--3dxy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg); }
  .hamburger--3dxy.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--3dxy.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg); }

.site-header {
  background-color: #FFFEF5;
  color: #000;
  height: var(--header-height);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 var(--site-padding);
  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  z-index: 10; }
  .home .site-header {
    background: none;
    color: #FFFEF5; }
    .home .site-header .mobile-menu-btn svg rect {
      fill: #FFFEF5; }
    .home .site-header.top-row-image {
      top: var(--top-row-height); }
  body:not(.home) .site-header .logo svg path {
    fill: #000; }
  .site-header .site-branding {
    height: 29px; }
    @media (max-width: 600px) {
      .site-header .site-branding {
        height: 17.81px; } }
    .site-header .site-branding a {
      height: 29px;
      display: inline-block; }
      @media (max-width: 600px) {
        .site-header .site-branding a {
          height: 17.81px; }
          .site-header .site-branding a svg {
            width: 215px;
            height: auto; } }
  .site-header .main-navigation-cnt {
    width: calc(6 * var(--col-12) + 5 * var(--gap-12)); }
    @media (max-width: 990px) {
      .site-header .main-navigation-cnt {
        opacity: 0;
        pointer-events: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        z-index: -1;
        transition: opacity .2s ease-in-out; }
        .home .top-row-image .site-header .main-navigation-cnt {
          top: var(--top-row-height); } }
    @media (max-width: 990px) {
      .site-header .main-navigation-cnt .main-navigation {
        height: 178px;
        background: #e0dcd1;
        padding: 0 var(--site-padding) 1.5rem; }
        .site-header .main-navigation-cnt .main-navigation .menu-menu-1-container {
          height: 100%; } }
    .site-header .main-navigation-cnt .main-navigation .menu {
      display: flex;
      font-size: var(--font-26);
      letter-spacing: .03em;
      line-height: 1.2;
      justify-content: space-between;
      margin-top: .5625rem; }
      @media (max-width: 990px) {
        .site-header .main-navigation-cnt .main-navigation .menu {
          height: 100%;
          align-items: flex-end;
          margin-top: 0; } }
  .site-header .mobile-menu-btn {
    display: none;
    height: 17px; }
    @media (max-width: 990px) {
      .site-header .mobile-menu-btn {
        display: block;
        height: 20px; }
        .site-header .mobile-menu-btn svg {
          width: 20px;
          height: 20px; } }
  .site-header.mobile-menu-open .main-navigation-cnt {
    opacity: 1;
    pointer-events: auto;
    background-color: rgba(0, 0, 0, 0.5); }
  .site-header.mobile-menu-open .mobile-menu-btn svg {
    transform: rotate(45deg); }
  .home .site-header.mobile-menu-open {
    color: #000; }
    .home .site-header.mobile-menu-open .mobile-menu-btn svg rect {
      fill: #000; }
    .home .site-header.mobile-menu-open .logo svg path {
      fill: #000; }

.site-footer {
  background: #6A6464;
  height: var(--footer-height);
  position: relative;
  padding: 50px var(--site-padding) 36px;
  display: flex;
  flex-flow: column;
  justify-content: space-between; }
  @media (max-width: 990px) {
    .site-footer {
      height: calc( var(--footer-height) - var(--header-height)); } }
  .site-footer .top-row {
    display: flex;
    width: calc(6 * var(--col-12) + 5 * var(--gap-12));
    margin-left: auto; }
    @media (max-width: 990px) {
      .site-footer .top-row {
        width: calc(4 * var(--col-6-m) + 3 * var(--gap-12));
        flex-flow: column;
        gap: 2.24rem; } }
    .site-footer .top-row .contact-cnt {
      width: calc(2 * var(--col-6) + 2 * var(--gap-6));
      margin-right: calc(1 * var(--col-6) + 1 * var(--gap-6)); }
      @media (max-width: 990px) {
        .site-footer .top-row .contact-cnt {
          width: 100%;
          margin-right: 0; } }
      .site-footer .top-row .contact-cnt .title {
        font-size: var(--font-14);
        text-transform: uppercase;
        letter-spacing: var(--letter-spacing-10);
        color: #C0B9B9;
        margin-bottom: 10px; }
      .site-footer .top-row .contact-cnt a {
        font-size: var(--font-18);
        color: #FFFEF5;
        letter-spacing: var(--letter-spacing-3); }
        @media (hover: hover) {
          .site-footer .top-row .contact-cnt a:hover {
            color: rgba(0, 0, 0, 0.3); } }
    .site-footer .top-row .follow-cnt {
      width: calc(3 * var(--col-6) + 2 * var(--gap-6)); }
      @media (max-width: 990px) {
        .site-footer .top-row .follow-cnt {
          width: 100%; } }
      .site-footer .top-row .follow-cnt .title {
        font-size: var(--font-14);
        text-transform: uppercase;
        letter-spacing: var(--letter-spacing-10);
        color: #C0B9B9;
        margin-bottom: 10px; }
      .site-footer .top-row .follow-cnt .links-cnt {
        display: flex;
        width: 100%;
        font-size: var(--font-18);
        letter-spacing: var(--letter-spacing-3);
        color: #FFFEF5;
        gap: calc(1 * var(--gap-3)); }
        @media (max-width: 990px) {
          .site-footer .top-row .follow-cnt .links-cnt {
            flex-flow: column;
            gap: 4px; } }
        .site-footer .top-row .follow-cnt .links-cnt .link-cnt {
          width: calc(1 * var(--col-3));
          text-align: center; }
          @media (max-width: 990px) {
            .site-footer .top-row .follow-cnt .links-cnt .link-cnt {
              text-align: left; } }
          .site-footer .top-row .follow-cnt .links-cnt .link-cnt:nth-child(3n + 1) {
            text-align: left; }
          .site-footer .top-row .follow-cnt .links-cnt .link-cnt:nth-child(3n) {
            text-align: right; }
            @media (max-width: 990px) {
              .site-footer .top-row .follow-cnt .links-cnt .link-cnt:nth-child(3n) {
                text-align: left; } }
  .site-footer .bottom-row {
    display: flex;
    color: #FFFEF5;
    font-size: var(--font-14);
    letter-spacing: var(--letter-spacing-10);
    text-transform: uppercase;
    line-height: 1.2; }
    @media (max-width: 990px) {
      .site-footer .bottom-row {
        width: calc(4 * var(--col-6-m) + 3 * var(--gap-12));
        flex-flow: column;
        margin-left: auto; } }
    .site-footer .bottom-row .copy-cnt {
      margin-right: 37px; }
      @media (max-width: 990px) {
        .site-footer .bottom-row .copy-cnt {
          margin-right: 0; } }
    @media (max-width: 990px) {
      .site-footer .bottom-row .privacy-cnt {
        margin-bottom: 2.5rem; } }
    .site-footer .bottom-row .made-cnt {
      margin-left: auto; }
      @media (max-width: 990px) {
        .site-footer .bottom-row .made-cnt {
          margin-left: 0; } }
  .site-footer .footer-logo-cnt {
    position: absolute;
    right: var(--site-padding);
    left: var(--site-padding);
    bottom: 84px; }
    @media (max-width: 990px) {
      .site-footer .footer-logo-cnt {
        display: none; } }
    .site-footer .footer-logo-cnt svg {
      width: 100%;
      height: auto; }
  .site-footer .footer-logo-mobile {
    display: none;
    position: absolute;
    bottom: 34px;
    top: 53px; }
    @media (max-width: 990px) {
      .site-footer .footer-logo-mobile {
        display: block; } }
    .site-footer .footer-logo-mobile svg {
      height: 100%;
      width: auto; }

.home {
  overflow: hidden; }
  .home .site-footer {
    display: none; }
  .home .top-row-homepage {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--top-row-height);
    z-index: 1;
    background: white;
    display: flex;
    align-items: center;
    padding: 0 var(--site-padding);
    justify-content: center; }
    .home .top-row-homepage img {
      width: 154px;
      height: auto;
      display: block; }
      @media (max-width: 600px) {
        .home .top-row-homepage img {
          width: 140px; } }
  .home .top-row-image .home-main .video-cnt {
    height: calc( var(--vh100) - var(--top-row-height));
    margin-top: var(--top-row-height);
    --video-cover-height: calc(var(--vh100) - var(--top-row-height)); }

.home-main .video-cnt {
  position: relative;
  height: var(--vh100);
  overflow: hidden;
  --video-cover-height: var(--vh100); }
  .home-main .video-cnt .self-video {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .home-main .video-cnt .home-video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none; }
    .home-main .video-cnt .home-video-background iframe {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100vw;
      height: 56.25vw;
      min-height: 100%;
      min-width: calc(var(--video-cover-height) * 16 / 9);
      border: 0;
      display: block;
      transform: translate(-50%, -50%) scale(1.02); }
    .home-main .video-cnt .home-video-background.portrait iframe {
      width: 100vw;
      height: 177.78vw;
      min-height: 100%;
      min-width: calc(var(--video-cover-height) * 9 / 16); }

.home-main .background-image-cnt {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: var(--vh100); }
  @media (max-width: 600px) {
    .home-main .background-image-cnt {
      height: var(vh100-once); } }
  .home-main .background-image-cnt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block; }

.home-main .quote-cnt {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 44px;
  color: #FFFEF5;
  font-size: 34px;
  text-align: center;
  letter-spacing: .03em;
  line-height: 1.2; }
  @media (max-width: 600px) {
    .home-main .quote-cnt {
      font-size: 1.25rem;
      bottom: 1.125rem; } }

.about-main {
  margin-top: var(--header-height); }
  .about-main .hero-text-cnt {
    padding: 21.3rem var(--site-padding) 2.6rem;
    font-size: var(--font-42);
    line-height: 1.2;
    letter-spacing: var(--letter-spacing-2); }
    @media (max-width: 600px) {
      .about-main .hero-text-cnt {
        padding-top: 11.7rem; } }
    .about-main .hero-text-cnt p {
      width: calc( 11 * var(--col-12) + 10 * var(--gap-12)); }
  .about-main .top-banner-cnt img {
    width: 100%;
    display: block;
    height: 100%;
    aspect-ratio: 1440 / 810;
    object-fit: cover; }
  .about-main .main-text-cnt {
    padding: 10.5rem var(--site-padding);
    font-size: var(--font-20);
    line-height: 1.2;
    letter-spacing: var(--letter-spacing-2); }
    @media (max-width: 600px) {
      .about-main .main-text-cnt {
        padding-top: 4.7rem;
        padding-bottom: 4.7rem; } }
    .about-main .main-text-cnt p {
      width: calc(6 * var(--col-12) + 5 * var(--gap-12));
      margin-left: auto; }
      @media (max-width: 600px) {
        .about-main .main-text-cnt p {
          width: 100%; } }
  .about-main .bottom-banner-cnt {
    position: relative; }
    .about-main .bottom-banner-cnt img {
      width: 100%;
      display: block;
      height: 100%;
      aspect-ratio: 1440 / 810;
      object-fit: cover; }
      @media (max-width: 600px) {
        .about-main .bottom-banner-cnt img {
          aspect-ratio: 320 / 500; } }
    .about-main .bottom-banner-cnt .banner-text {
      position: absolute;
      left: var(--site-padding);
      right: var(--site-padding);
      bottom: 3.17rem;
      color: #FFFEF5;
      font-size: var(--font-42);
      line-height: 1.2;
      letter-spacing: var(--letter-spacing-2); }
  .about-main .philosophy-outer-cnt {
    background: #E0DCD1; }
    .about-main .philosophy-outer-cnt .philosophy-title-cnt {
      text-align: center;
      padding: 11.45rem var(--site-padding) 11.45rem; }
      @media (max-width: 600px) {
        .about-main .philosophy-outer-cnt .philosophy-title-cnt {
          padding-top: 4.7rem;
          padding-bottom: 2.6rem; } }
      .about-main .philosophy-outer-cnt .philosophy-title-cnt .title {
        color: #757575;
        font-size: var(--font-26);
        line-height: 1.2;
        letter-spacing: var(--letter-spacing-3); }
      .about-main .philosophy-outer-cnt .philosophy-title-cnt .caption {
        font-size: var(--font-42);
        line-height: 1.2;
        letter-spacing: var(--letter-spacing-2); }
    .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt {
      position: sticky;
      top: var(--header-height);
      z-index: 1;
      background: #E0DCD1;
      padding: 58px var(--site-padding) 145px;
      display: flex;
      justify-content: space-between; }
      @media (max-width: 600px) {
        .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt {
          position: relative;
          top: unset;
          flex-flow: column-reverse;
          gap: 27px;
          padding-bottom: 0.8rem; } }
      .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt .left {
        width: calc(6 * var(--col-12) + 5 * var(--gap-12)); }
        @media (max-width: 600px) {
          .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt .left {
            width: 100%; } }
        .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt .left .text-cnt .title {
          font-size: var(--font-26);
          font-weight: 600;
          letter-spacing: var(--letter-spacing-5);
          margin-bottom: 1rem; }
        .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt .left .text-cnt .text {
          font-size: var(--font-20);
          line-height: 1.2;
          letter-spacing: var(--letter-spacing-2); }
      .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt .right {
        width: calc(4 * var(--col-12) + 3 * var(--gap-12)); }
        @media (max-width: 600px) {
          .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt .right {
            width: 100%; } }
        .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt .right img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          aspect-ratio: 446 / 600;
          display: block; }
      .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt:nth-child(2n) {
        flex-flow: row-reverse; }
        @media (max-width: 600px) {
          .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt:nth-child(2n) {
            flex-flow: column-reverse; } }
      .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt {
        display: block;
        background: #FFFEF5;
        padding-top: 5.3rem;
        padding-bottom: 9.9rem; }
        @media (max-width: 600px) {
          .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt {
            padding-top: 4.8rem;
            padding-bottom: 4.2rem; } }
        .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .title-cnt {
          text-align: center;
          font-size: var(--font-26);
          line-height: 1.2;
          letter-spacing: var(--letter-spacing-3);
          margin-bottom: 5rem; }
          @media (max-width: 600px) {
            .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .title-cnt {
              margin-bottom: 4.5rem; } }
        .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .team-banner-cnt {
          margin-bottom: 4.5rem; }
          .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .team-banner-cnt img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            aspect-ratio: 1384 / 923; }
        .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .members-cnt {
          width: calc(9 * var(--col-12) + 8 * var(--gap-12));
          margin-left: auto;
          display: flex;
          flex-flow: wrap;
          gap: calc(1 * var(--gap-9)); }
          @media (max-width: 600px) {
            .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .members-cnt {
              width: 100%;
              gap: .5rem; } }
          .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .members-cnt .member-cnt {
            width: calc(3 * var(--col-9) + 2 * var(--gap-9));
            margin-bottom: 4.6rem; }
            @media (max-width: 600px) {
              .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .members-cnt .member-cnt {
                width: calc(50% - 4px);
                margin-bottom: 2.4rem; } }
            .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .members-cnt .member-cnt .name-position {
              margin-bottom: 1rem; }
              .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .members-cnt .member-cnt .name-position .name {
                font-size: var(--font-18);
                line-height: 1.2;
                letter-spacing: var(--letter-spacing-3);
                font-weight: 600;
                margin-bottom: .3rem; }
              .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .members-cnt .member-cnt .name-position .position {
                font-size: var(--font-18);
                line-height: 1.2;
                letter-spacing: var(--letter-spacing-4);
                color: #757575; }
            .about-main .philosophy-outer-cnt .philosophy-main-cnt .sticky-content-cnt.our-collective-main-cnt .members-cnt .member-cnt .description-cnt {
              font-size: var(--font-18);
              line-height: 1.2;
              letter-spacing: var(--letter-spacing-3);
              color: #757575; }

.contact-main {
  margin-top: var(--header-height);
  padding: 21.55rem var(--site-padding) 12.2rem; }
  @media (max-width: 600px) {
    .contact-main {
      padding-top: 11.7rem;
      padding-bottom: 5rem; } }
  .contact-main .main-content {
    width: calc(9 * var(--col-12) + 8 * var(--gap-12)); }
    @media (max-width: 990px) {
      .contact-main .main-content {
        width: 100%; } }
    .contact-main .main-content p {
      font-size: var(--font-42);
      line-height: 1.2;
      letter-spacing: var(--letter-spacing-2);
      padding-bottom: 6.5rem; }
      @media (max-width: 600px) {
        .contact-main .main-content p {
          padding-bottom: 3.1rem; } }
  .contact-main .contact-info-main-cnt {
    padding-bottom: 8.2rem;
    width: calc(8 * var(--col-12) + 7 * var(--gap-12));
    margin-left: auto;
    display: flex;
    flex-flow: wrap;
    gap: 4.125rem calc(1 * var(--gap-8)); }
    @media (max-width: 990px) {
      .contact-main .contact-info-main-cnt {
        width: 100%; } }
    @media (max-width: 600px) {
      .contact-main .contact-info-main-cnt {
        padding-bottom: 4.6rem;
        gap: 2rem; } }
    .contact-main .contact-info-main-cnt .info-cnt {
      width: calc(4 * var(--col-8) + 3 * var(--gap-8)); }
      @media (max-width: 600px) {
        .contact-main .contact-info-main-cnt .info-cnt {
          width: 100%; } }
      .contact-main .contact-info-main-cnt .info-cnt .title {
        font-size: var(--font-18);
        letter-spacing: var(--letter-spacing-3);
        line-height: 1.2;
        color: #757575;
        margin-bottom: 0.3rem; }
      .contact-main .contact-info-main-cnt .info-cnt .text-info {
        font-size: var(--font-26);
        line-height: 1.2;
        letter-spacing: var(--letter-spacing-3);
        margin-right: calc(1 * var(--col-4) + 1 * var(--gap-4)); }
  .contact-main .banner-cnt {
    width: calc(8 * var(--col-12) + 7 * var(--gap-12));
    margin-left: auto; }
    @media (max-width: 990px) {
      .contact-main .banner-cnt {
        width: 100%; } }
    .contact-main .banner-cnt img {
      width: 100%;
      height: auto;
      display: block; }

.error404 .site-main {
  margin-top: var(--header-height);
  padding: 3rem var(--site-padding) 0; }
  .error404 .site-main h1 {
    font-size: var(--font-42);
    line-height: 1.2;
    letter-spacing: var(--letter-spacing-2); }
  .error404 .site-main p {
    font-size: var(--font-20);
    line-height: 1.2;
    letter-spacing: var(--letter-spacing-2); }

.archive-main {
  margin-top: var(--header-height);
  padding: 21.9rem var(--site-padding) 16.4rem; }
  @media (max-width: 600px) {
    .archive-main {
      padding-top: 11.55rem;
      padding-bottom: 7.9rem; } }
  .archive-main .filters-cnt .filters-list {
    display: flex;
    gap: 0 1.7rem;
    flex-flow: wrap;
    margin-bottom: 1.68rem; }
    @media (max-width: 600px) {
      .archive-main .filters-cnt .filters-list {
        gap: 0 1.0625rem;
        margin-right: 2rem;
        margin-bottom: 1.125rem; } }
    .archive-main .filters-cnt .filters-list .filter {
      font-size: var(--font-42);
      line-height: 1.2;
      letter-spacing: var(--letter-spacing-2);
      cursor: pointer;
      color: rgba(0, 0, 0, 0.3);
      margin-bottom: 1.12rem; }
      @media (max-width: 600px) {
        .archive-main .filters-cnt .filters-list .filter {
          margin-bottom: 5px; } }
      .archive-main .filters-cnt .filters-list .filter.active {
        color: #000; }
      @media (hover: hover) {
        .archive-main .filters-cnt .filters-list .filter:hover {
          color: #000; } }
  .archive-main .projects-main-cnt {
    display: flex;
    flex-flow: wrap;
    gap: 0 calc(1 * var(--gap-12));
    transition: opacity .3s ease; }
    .archive-main .projects-main-cnt.fade-out {
      opacity: 0; }
    .archive-main .projects-main-cnt .project-cnt {
      width: calc(3 * var(--col-12) + 2 * var(--gap-12));
      margin-bottom: 5.25rem; }
      @media (max-width: 990px) {
        .archive-main .projects-main-cnt .project-cnt {
          width: calc(6 * var(--col-12) + 5 * var(--gap-12)); } }
      @media (max-width: 600px) {
        .archive-main .projects-main-cnt .project-cnt {
          width: 100%;
          margin-bottom: 3rem; } }
      .archive-main .projects-main-cnt .project-cnt.show {
        display: block; }
      .archive-main .projects-main-cnt .project-cnt.hide {
        display: none; }
      .archive-main .projects-main-cnt .project-cnt .img-cnt img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        aspect-ratio: 331/496; }
      @media (hover: hover) {
        .archive-main .projects-main-cnt .project-cnt:hover .img-cnt .inner img {
          visibility: hidden; } }
  @media (hover: hover) and (max-width: 990px) {
    .archive-main .projects-main-cnt .project-cnt:hover .img-cnt .inner img {
      visibility: visible; } }
      @media (hover: hover) {
        .archive-main .projects-main-cnt .project-cnt:hover a {
          color: #000; } }
      .archive-main .projects-main-cnt .project-cnt .title {
        margin-top: 1.2rem;
        margin-bottom: .1rem;
        font-size: var(--font-18);
        line-height: 1.2;
        letter-spacing: var(--letter-spacing-3); }
      .archive-main .projects-main-cnt .project-cnt .category {
        color: #757575;
        font-size: var(--font-18);
        line-height: 1.2;
        letter-spacing: var(--letter-spacing-3); }

.single-projects .site-main {
  background-color: transparent; }

.single-projects .site-header {
  background-color: #001F34;
  transition: background-color .2s ease-in-out, color .2s ease-in-out;
  color: #FFFEF5; }
  .single-projects .site-header .mobile-menu-btn svg rect {
    fill: #FFFEF5; }
  .single-projects .site-header.mobile-menu-open {
    color: #000; }
    .single-projects .site-header.mobile-menu-open .mobile-menu-btn svg rect {
      fill: #000; }
    .single-projects .site-header.mobile-menu-open .logo svg path {
      fill: #000 !important; }

.single-projects .logo svg path {
  fill: #FFFEF5 !important; }

.single-projects.after-hero-section {
  background-color: #FFFEF5 !important; }
  .single-projects.after-hero-section .site-header {
    background-color: #FFFEF5 !important;
    color: #000; }
    .single-projects.after-hero-section .site-header .mobile-menu-btn svg rect {
      fill: #000; }
  .single-projects.after-hero-section .logo svg path {
    fill: #000 !important; }

.single-main {
  padding-top: var(--header-height);
  transition: background-color .2s ease-in-out; }
  .single-main .hero-section {
    padding-top: 16.8rem;
    padding-left: var(--site-padding);
    padding-right: var(--site-padding);
    padding-bottom: 7.9rem; }
    @media (max-width: 600px) {
      .single-main .hero-section {
        padding-top: 11.7rem;
        padding-bottom: 4.2rem; } }
    .single-main .hero-section .title-cnt {
      font-size: var(--font-42);
      line-height: 1.2;
      color: #FFF;
      opacity: .5;
      margin-bottom: 2.2rem; }
      @media (max-width: 600px) {
        .single-main .hero-section .title-cnt {
          margin-bottom: 1rem; } }
    .single-main .hero-section .text-info-cnt {
      font-size: var(--font-42);
      line-height: 1.2;
      letter-spacing: var(--letter-spacing-2);
      color: #FFF;
      width: calc(11 * var(--col-12) + 11 * var(--gap-12));
      margin-bottom: 3.5rem; }
      @media (max-width: 600px) {
        .single-main .hero-section .text-info-cnt {
          width: 100%;
          margin-bottom: 3.2rem; } }
    .single-main .hero-section .projects-info-main-cnt {
      color: #FFF;
      display: flex;
      flex-flow: wrap;
      gap: calc(1 * var(--gap-12));
      margin-bottom: 7.9rem; }
      @media (max-width: 600px) {
        .single-main .hero-section .projects-info-main-cnt {
          flex-flow: wrap;
          gap: 17px calc(1 * var(--gap-6-m));
          margin-bottom: 3.5rem; } }
      .single-main .hero-section .projects-info-main-cnt .info-cnt {
        color: #FFF;
        font-size: var(--font-14);
        text-transform: uppercase;
        width: calc(3 * var(--col-12) + 2 * var(--gap-12)); }
        @media (max-width: 600px) {
          .single-main .hero-section .projects-info-main-cnt .info-cnt {
            width: calc(3 * var(--col-6-m) + 2 * var(--gap-6-m)); } }
        .single-main .hero-section .projects-info-main-cnt .info-cnt .title {
          opacity: .5;
          text-transform: uppercase;
          letter-spacing: .1em;
          line-height: 1.2;
          margin-bottom: .2rem; }
        .single-main .hero-section .projects-info-main-cnt .info-cnt .value {
          line-height: 1.2;
          letter-spacing: var(--letter-spacing-10); }
    .single-main .hero-section .hero-banner-cnt {
      width: calc(6 * var(--col-12) + 5 * var(--gap-12));
      margin: 0 auto; }
      @media (max-width: 600px) {
        .single-main .hero-section .hero-banner-cnt {
          width: 100%; } }
      .single-main .hero-section .hero-banner-cnt .img-cnt img {
        width: 100%;
        height: auto;
        display: block; }
      .single-main .hero-section .hero-banner-cnt .hero-caption {
        color: #FFF;
        margin-top: 1rem;
        margin-right: calc(1 * var(--col-6) + 1 * var(--gap-6));
        font-size: 1rem;
        letter-spacing: var(--letter-spacing-3);
        line-height: 1.1875rem; }
        @media (max-width: 600px) {
          .single-main .hero-section .hero-banner-cnt .hero-caption {
            font-size: .6875rem; } }
  .single-main .projects-main-content {
    padding: 4.5rem var(--site-padding);
    background-color: #FFFEF5; }
    @media (max-width: 600px) {
      .single-main .projects-main-content {
        padding-top: 3.5rem;
        padding-bottom: 3.2rem; } }
    .single-main .projects-main-content .img-cnt img {
      display: block;
      width: 100%;
      height: auto; }
    .single-main .projects-main-content .img-cnt .image-caption {
      font-size: 1rem;
      letter-spacing: var(--letter-spacing-3);
      line-height: 1.1875rem;
      margin-right: calc(3 * var(--col-12) + 3 * var(--gap-12));
      color: #4D4D4D; }
      .single-main .projects-main-content .img-cnt .image-caption.caption-with-image {
        margin-top: 0.75rem; }
      @media (max-width: 600px) {
        .single-main .projects-main-content .img-cnt .image-caption {
          margin-right: 0;
          font-size: .6875rem; } }
    .single-main .projects-main-content .img-cnt.half-width {
      width: calc(6 * var(--col-12) + 5 * var(--gap-12));
      margin: 0 auto; }
      @media (max-width: 600px) {
        .single-main .projects-main-content .img-cnt.half-width {
          width: 100%; } }
      .single-main .projects-main-content .img-cnt.half-width .image-caption {
        margin-right: calc(1 * var(--col-6) + 1 * var(--gap-6)); }
        @media (max-width: 600px) {
          .single-main .projects-main-content .img-cnt.half-width .image-caption {
            margin-right: 0; } }
    .single-main .projects-main-content .img-cnt.vimeo .vimeo-video iframe {
      width: 100%;
      height: 100%;
      aspect-ratio: 16 / 9; }
    .single-main .projects-main-content .img-cnt.vimeo .vimeo-video.portrait {
      width: 100%; }
      .single-main .projects-main-content .img-cnt.vimeo .vimeo-video.portrait iframe {
        width: 100%;
        aspect-ratio: var(--video-aspect-ratio, 9/16); }
    .single-main .projects-main-content .text-info {
      margin-right: calc(1 * var(--col-6) + 1 * var(--gap-6));
      font-size: var(--font-20);
      line-height: 1.2;
      letter-spacing: var(--letter-spacing-2); }
      @media (max-width: 600px) {
        .single-main .projects-main-content .text-info {
          margin-right: 0; } }
      .single-main .projects-main-content .text-info h2 {
        font-size: var(--font-26);
        letter-spacing: var(--letter-spacing-5);
        line-height: 1.2;
        margin-bottom: 1.08rem; }
    .single-main .projects-main-content .full-width-row {
      margin-bottom: 3.1rem; }
      @media (max-width: 600px) {
        .single-main .projects-main-content .full-width-row {
          margin-bottom: 1.5rem; } }
    .single-main .projects-main-content .two-col-row {
      display: flex;
      gap: 0 calc(1 * var(--gap-12));
      margin-bottom: 3.1rem; }
      @media (max-width: 600px) {
        .single-main .projects-main-content .two-col-row {
          flex-flow: column;
          margin-bottom: 1.5rem; } }
      .single-main .projects-main-content .two-col-row .img-cnt .image-caption {
        margin-right: calc(1 * var(--col-6) + 1 * var(--gap-6)); }
        .single-main .projects-main-content .two-col-row .img-cnt .image-caption.caption-with-image {
          margin-top: 0.75rem; }
        @media (max-width: 600px) {
          .single-main .projects-main-content .two-col-row .img-cnt .image-caption {
            margin-right: 0; } }
      .single-main .projects-main-content .two-col-row .left-row {
        width: calc(6 * var(--col-12) + 5 * var(--gap-12)); }
        @media (max-width: 600px) {
          .single-main .projects-main-content .two-col-row .left-row {
            width: 100%;
            margin-bottom: .8rem; } }
      .single-main .projects-main-content .two-col-row .right-row {
        width: calc(6 * var(--col-12) + 5 * var(--gap-12)); }
        @media (max-width: 600px) {
          .single-main .projects-main-content .two-col-row .right-row {
            width: 100%;
            margin-bottom: .8rem; } }
        .single-main .projects-main-content .two-col-row .right-row .right-col-full .text-info {
          margin-left: calc(1 * var(--col-6) + 1 * var(--gap-6));
          margin-right: 0; }
          @media (max-width: 600px) {
            .single-main .projects-main-content .two-col-row .right-row .right-col-full .text-info {
              margin-left: 0; } }
      .single-main .projects-main-content .two-col-row .left-col-split, .single-main .projects-main-content .two-col-row .right-col-split {
        display: flex;
        gap: 0 calc(1 * var(--gap-6)); }
        @media (max-width: 600px) {
          .single-main .projects-main-content .two-col-row .left-col-split, .single-main .projects-main-content .two-col-row .right-col-split {
            flex-flow: column;
            gap: 0; } }
        .single-main .projects-main-content .two-col-row .left-col-split .left-col-split-left, .single-main .projects-main-content .two-col-row .left-col-split .right-col-split-left, .single-main .projects-main-content .two-col-row .right-col-split .left-col-split-left, .single-main .projects-main-content .two-col-row .right-col-split .right-col-split-left {
          width: calc(3 * var(--col-6) + 2 * var(--gap-6)); }
          @media (max-width: 600px) {
            .single-main .projects-main-content .two-col-row .left-col-split .left-col-split-left, .single-main .projects-main-content .two-col-row .left-col-split .right-col-split-left, .single-main .projects-main-content .two-col-row .right-col-split .left-col-split-left, .single-main .projects-main-content .two-col-row .right-col-split .right-col-split-left {
              width: 100%;
              margin-bottom: .8rem; } }
          .single-main .projects-main-content .two-col-row .left-col-split .left-col-split-left .text-info, .single-main .projects-main-content .two-col-row .left-col-split .right-col-split-left .text-info, .single-main .projects-main-content .two-col-row .right-col-split .left-col-split-left .text-info, .single-main .projects-main-content .two-col-row .right-col-split .right-col-split-left .text-info {
            margin-right: 0;
            font-size: 1rem;
            letter-spacing: var(--letter-spacing-3);
            line-height: 1.1875rem;
            color: #4D4D4D; }
        .single-main .projects-main-content .two-col-row .left-col-split .left-col-split-right, .single-main .projects-main-content .two-col-row .left-col-split .right-col-split-right, .single-main .projects-main-content .two-col-row .right-col-split .left-col-split-right, .single-main .projects-main-content .two-col-row .right-col-split .right-col-split-right {
          width: calc(3 * var(--col-6) + 2 * var(--gap-6)); }
          @media (max-width: 600px) {
            .single-main .projects-main-content .two-col-row .left-col-split .left-col-split-right, .single-main .projects-main-content .two-col-row .left-col-split .right-col-split-right, .single-main .projects-main-content .two-col-row .right-col-split .left-col-split-right, .single-main .projects-main-content .two-col-row .right-col-split .right-col-split-right {
              width: 100%; } }
          .single-main .projects-main-content .two-col-row .left-col-split .left-col-split-right .text-info, .single-main .projects-main-content .two-col-row .left-col-split .right-col-split-right .text-info, .single-main .projects-main-content .two-col-row .right-col-split .left-col-split-right .text-info, .single-main .projects-main-content .two-col-row .right-col-split .right-col-split-right .text-info {
            margin-right: 0;
            font-size: 1rem;
            letter-spacing: var(--letter-spacing-3);
            line-height: 1.1875rem;
            color: #4D4D4D; }
    .single-main .projects-main-content .three-col-row {
      display: flex;
      gap: 0 calc(1 * var(--gap-12));
      margin-bottom: 3.1rem; }
      @media (max-width: 600px) {
        .single-main .projects-main-content .three-col-row {
          flex-flow: column;
          margin-bottom: 1.5rem;
          gap: .8rem; } }
      .single-main .projects-main-content .three-col-row .left-col {
        width: calc(4 * var(--col-12) + 3 * var(--gap-12)); }
        @media (max-width: 600px) {
          .single-main .projects-main-content .three-col-row .left-col {
            width: 100%; } }
      .single-main .projects-main-content .three-col-row .middle-col {
        width: calc(4 * var(--col-12) + 3 * var(--gap-12)); }
        @media (max-width: 600px) {
          .single-main .projects-main-content .three-col-row .middle-col {
            width: 100%; } }
      .single-main .projects-main-content .three-col-row .right-col {
        width: calc(4 * var(--col-12) + 3 * var(--gap-12)); }
        @media (max-width: 600px) {
          .single-main .projects-main-content .three-col-row .right-col {
            width: 100%; } }
  .single-main .gredits-cnt {
    padding: 0 var(--site-padding);
    padding-bottom: 6.9rem;
    background-color: #FFFEF5; }
    @media (max-width: 600px) {
      .single-main .gredits-cnt {
        padding-bottom: 3rem; } }
    .single-main .gredits-cnt .gredits-inner {
      width: calc(6 * var(--col-12) + 5 * var(--gap-12));
      margin-left: auto; }
      @media (max-width: 600px) {
        .single-main .gredits-cnt .gredits-inner {
          width: 100%; } }
      .single-main .gredits-cnt .gredits-inner .title-cnt {
        font-size: var(--font-26);
        line-height: 1.2;
        letter-spacing: var(--letter-spacing-5);
        font-weight: 600;
        margin-bottom: 4.3rem; }
        @media (max-width: 600px) {
          .single-main .gredits-cnt .gredits-inner .title-cnt {
            margin-bottom: 3.3rem; } }
      .single-main .gredits-cnt .gredits-inner .gredits-content-cnt {
        display: flex;
        flex-flow: wrap;
        gap: calc(1 * var(--gap-6)); }
        @media (max-width: 600px) {
          .single-main .gredits-cnt .gredits-inner .gredits-content-cnt {
            gap: 0; } }
        .single-main .gredits-cnt .gredits-inner .gredits-content-cnt .gredit-cnt {
          width: calc(3 * var(--col-6) + 2 * var(--gap-6));
          margin-bottom: 1.5rem; }
          @media (max-width: 600px) {
            .single-main .gredits-cnt .gredits-inner .gredits-content-cnt .gredit-cnt {
              width: 100%;
              margin-bottom: 1rem; } }
          .single-main .gredits-cnt .gredits-inner .gredits-content-cnt .gredit-cnt .title {
            font-size: var(--font-14);
            text-transform: uppercase;
            letter-spacing: var(--letter-spacing-10);
            line-height: 1.2;
            color: #757575; }
          .single-main .gredits-cnt .gredits-inner .gredits-content-cnt .gredit-cnt .value {
            font-size: 1rem;
            line-height: 1.1875rem;
            letter-spacing: var(--letter-spacing-3); }
            @media (max-width: 600px) {
              .single-main .gredits-cnt .gredits-inner .gredits-content-cnt .gredit-cnt .value {
                font-size: 0.625rem; } }
  .single-main .related-main-cnt {
    background: #E0DCD1;
    padding: 0 var(--site-padding);
    padding-top: 3.5rem;
    padding-bottom: 3.5rem; }
    @media (max-width: 600px) {
      .single-main .related-main-cnt {
        padding-top: 4.8rem;
        padding-bottom: 4.7rem; } }
    .single-main .related-main-cnt .title-cnt {
      font-size: var(--font-26);
      line-height: 1.2;
      letter-spacing: var(--letter-spacing-5);
      font-weight: 600;
      text-transform: uppercase;
      text-align: center;
      margin-bottom: 3.1rem; }
      @media (max-width: 600px) {
        .single-main .related-main-cnt .title-cnt {
          width: calc(4 * var(--col-6-m) + 3 * var(--gap-6-m));
          font-size: 1rem;
          margin-left: auto;
          margin-right: auto;
          margin-bottom: 2.1rem; } }
    .single-main .related-main-cnt .related-cnt {
      display: flex;
      justify-content: center;
      gap: calc( 1 * var(--gap-12)); }
      @media (max-width: 600px) {
        .single-main .related-main-cnt .related-cnt {
          flex-flow: column;
          width: calc(4 * var(--col-6-m) + 3 * var(--gap-6-m));
          margin-left: auto;
          margin-right: auto;
          gap: 32px 0; } }
    .single-main .related-main-cnt .project-cnt {
      width: calc(3 * var(--col-12) + 2 * var(--gap-12)); }
      @media (max-width: 600px) {
        .single-main .related-main-cnt .project-cnt {
          width: 100%; } }
      .single-main .related-main-cnt .project-cnt .img-cnt img {
        width: 100%;
        height: 100%;
        display: block;
        aspect-ratio: 331 / 496; }
      .single-main .related-main-cnt .project-cnt .title {
        margin-top: 1.2rem;
        margin-bottom: .1rem;
        font-size: var(--font-18);
        line-height: 1.2;
        letter-spacing: var(--letter-spacing-3); }
      .single-main .related-main-cnt .project-cnt .category {
        color: #757575;
        font-size: var(--font-18);
        line-height: 1.2;
        letter-spacing: var(--letter-spacing-3); }
      .single-main .related-main-cnt .project-cnt:hover .img-cnt .inner img {
        visibility: hidden; }
      .single-main .related-main-cnt .project-cnt:hover a {
        color: #000; }

/** cookie-consent **/
.bisquite-consent {
  font-family: 'CF ModGrotesk';
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  background: #FFF;
  text-align: left;
  color: #000;
  font-weight: 500;
  opacity: 0;
  pointer-events: none;
  z-index: 100;
  opacity: 1;
  pointer-events: auto;
  justify-content: flex-start;
  width: 239px;
  right: var(--site-padding);
  bottom: 28px;
  padding: 11px;
  border: 1px solid #000; }
  .bisquite-consent .close-cnt {
    display: flex;
    justify-content: flex-end; }
    .bisquite-consent .close-cnt .close-btn {
      border: none;
      font-size: 12px;
      line-height: 1.2;
      letter-spacing: .1em;
      padding: 0; }
      @media (max-width: 600px) {
        .bisquite-consent .close-cnt .close-btn {
          justify-content: flex-end;
          font-size: 10px; } }
      @media (hover: hover) {
        .bisquite-consent .close-cnt .close-btn:hover {
          background: #FFF;
          color: #000; } }
  .bisquite-consent h3 {
    display: none; }
  .bisquite-consent p {
    margin: 15px 0 20px;
    color: #000;
    font-size: 0.75rem;
    font-family: 'CF ModGrotesk';
    line-height: 1.2;
    letter-spacing: .1em;
    margin-bottom: 0; }
    @media (max-width: 600px) {
      .bisquite-consent p {
        font-size: 10px; } }
  .bisquite-consent button {
    white-space: nowrap;
    display: flex;
    align-items: center;
    min-width: unset;
    text-transform: uppercase;
    color: #000;
    font-weight: 400;
    padding: 5px 13px 4px;
    border: 1px solid #000;
    height: auto;
    justify-content: center;
    border-radius: 0;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .1em; }
    .bisquite-consent button.btn-success {
      background: #000;
      color: #FFF; }
      .bisquite-consent button.btn-success svg path {
        stroke: #FFF; }
      .bisquite-consent button.btn-success svg line {
        stroke: #FFF; }
    @media (hover: hover) {
      .bisquite-consent button:hover {
        background: #000;
        color: #FFF; }
        .bisquite-consent button:hover svg path {
          stroke: #FFF; }
        .bisquite-consent button:hover svg line {
          stroke: #FFF; } }
    .bisquite-consent button svg {
      margin-right: .6rem;
      display: none; }
  .bisquite-consent a.privacy-lnk {
    text-decoration: underline;
    display: block;
    color: #757575;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0.1em;
    margin-top: 2px; }
    @media (max-width: 600px) {
      .bisquite-consent a.privacy-lnk {
        font-size: 10px; } }
  .bisquite-consent a:not(.privacy-lnk) {
    display: inline-block;
    margin-left: 1.125rem; }
  .bisquite-consent input[type=checkbox] {
    display: none;
    position: relative;
    padding: 0;
    opacity: 0;
    border: #B5B5B5; }
    .bisquite-consent input[type=checkbox].nodisplay {
      display: none; }
    .bisquite-consent input[type=checkbox]:checked + label:before {
      background: #000;
      border: double #FFF; }
    .bisquite-consent input[type=checkbox]:disabled {
      display: none;
      border-color: rgba(0, 0, 0, 0.5); }
      .bisquite-consent input[type=checkbox]:disabled:after {
        background: rgba(0, 0, 0, 0.5); }
  .bisquite-consent label {
    position: relative;
    padding-left: 19px;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .1em;
    color: #000;
    text-transform: uppercase; }
    .bisquite-consent label::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 13px;
      height: 13px;
      border: 1.3px solid #B5B5B5;
      pointer-events: none;
      transition: background-color 0.5s var(--ease-cubic-out); }
    .bisquite-consent label.disabled {
      color: rgba(0, 0, 0, 0.6); }
  .bisquite-consent .bisquite-consent-btns {
    margin-top: 17px;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    gap: 4px; }
  .bisquite-consent .bisquite-consent-options {
    display: flex;
    justify-content: flex-start;
    margin-top: 17px;
    gap: 1rem; }
    .bisquite-consent .bisquite-consent-options .consent-label {
      font-size: 12px;
      list-style: 1.2;
      letter-spacing: .1em; }
      font
.bisquite-consent .bisquite-consent-options .consent-label:first-child {
        margin-right: 1rem; }
      .bisquite-consent .bisquite-consent-options .consent-label + label {
        margin-left: 1.3rem; }
  @media (max-width: 990px) {
    .bisquite-consent {
      bottom: 6rem; } }
  @media (max-width: 600px) {
    .bisquite-consent {
      display: block;
      align-items: flex-start;
      max-width: 100%;
      width: auto;
      margin: 0 auto;
      padding: 10px;
      bottom: 3.2rem;
      left: var(--site-padding); }
      .bisquite-consent button {
        flex: 1 0 auto;
        font-size: 9px; }
      .bisquite-consent .bisquite-consent-options {
        margin-top: 17px;
        flex-flow: row; }
        .bisquite-consent .bisquite-consent-options .consent-label {
          width: auto;
          text-transform: uppercase;
          margin-bottom: 0;
          font-size: 10px; }
          .bisquite-consent .bisquite-consent-options .consent-label + label {
            margin-left: 0; }
          .bisquite-consent .bisquite-consent-options .consent-label:before {
            width: 11px;
            height: 11px; }
      .bisquite-consent .bisquite-consent-btns {
        flex-flow: wrap;
        margin-top: .75rem;
        gap: .4rem;
        font-size: 9px; }
        .bisquite-consent .bisquite-consent-btns button:first-child {
          width: calc(50% - 10px); }
        .bisquite-consent .bisquite-consent-btns button:nth-child(2) {
          width: calc(50% - 10px); } }

/** end cookie-consent **/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YXN0eWxlLmNzcyIsInNvdXJjZXMiOlsibWV0YXN0eWxlLnNjc3MiLCJhYnN0cmFjdHMvX21peGlucy5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImJhc2UvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fbW9kdWxlcy5zY3NzIiwiYmFzZS9fdXRpbGl0aWVzLnNjc3MiLCJjb21wb25lbnRzL3NsaWNrL19zbGljay5zY3NzIiwiY29tcG9uZW50cy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2NzcyIsImNvbXBvbmVudHMvaGFtYnVyZ2Vycy9fYmFzZS5zY3NzIiwiY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL18zZHh5LnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fZnJvbnQtcGFnZS5zY3NzIiwibGF5b3V0L19hYm91dC5zY3NzIiwibGF5b3V0L19jb250YWN0LnNjc3MiLCJsYXlvdXQvX3BvbGljeS5zY3NzIiwibGF5b3V0L19lcnJvci5zY3NzIiwibGF5b3V0L19hcmNoaXZlLnNjc3MiLCJsYXlvdXQvX3NpbmdsZS5zY3NzIiwibGF5b3V0L19jb29raWUtY29uc2VudC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ2Fic3RyYWN0cy9taXhpbnMnO1xuQGltcG9ydCAnYWJzdHJhY3RzL3ZhcmlhYmxlcyc7XG5cbi8vQkFTRVxuQGltcG9ydCAnYmFzZS9ub3JtYWxpemUnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Jhc2UvYmFzZSc7XG5AaW1wb3J0ICdiYXNlL21vZHVsZXMnO1xuXG4vL1VUSUxTXG5AaW1wb3J0ICdiYXNlL3V0aWxpdGllcyc7XG5cbi8vQ09NUE9ORU5UU1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGljay9zbGljayc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hhbWJ1cmdlcnMvaGFtYnVyZ2Vycyc7XG4vLyBAaW1wb3J0IFwiY29tcG9uZW50cy9oYW1idXJnZXJzL2Jhc2VcIjtcbi8vIEBpbXBvcnQgXCJjb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvM2R4eVwiO1xuXG4vL0xBWU9VVFxuQGltcG9ydCAnbGF5b3V0L2hlYWRlcic7XG5AaW1wb3J0ICdsYXlvdXQvZm9vdGVyJztcbkBpbXBvcnQgJ2xheW91dC9mcm9udC1wYWdlJztcbkBpbXBvcnQgJ2xheW91dC9hYm91dCc7XG5AaW1wb3J0ICdsYXlvdXQvY29udGFjdCc7XG5AaW1wb3J0ICdsYXlvdXQvcG9saWN5JztcbkBpbXBvcnQgJ2xheW91dC9lcnJvcic7XG5AaW1wb3J0ICdsYXlvdXQvYXJjaGl2ZSc7XG5AaW1wb3J0ICdsYXlvdXQvc2luZ2xlJztcbkBpbXBvcnQgJ2xheW91dC9jb29raWUtY29uc2VudCc7XG4iLCIvLyBNRURJQSBRVUVSWSBNQU5BR0VSXG4vKlxuIDAgICAtICA2MDAgOiBQaG9uZSA0MDAvMTYgPCAzNy41ZW1cbiA2MDAgLSAgOTAwIDogVGFibGV0IDYwMC8xNiA8IDU2LjI1ZW1cbiA5MDAgLSAxMjAwIDogVGFibGV0IGxhbmRzY2FwZSA2MDAvMTYgPCA3NWVtXG4xMjAwIC0gICAgICA6IERlc2t0b3AgMTIwMC8xNiA+IDc1ZW1cblxuKi9cblxuQG1peGluIG1pbigkYnJlYWtwb2ludCkge1xuICAgIEBpZiAkYnJlYWtwb2ludD09NDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09NjAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT04MDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMTAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09MTIwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTEzMDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xNjAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vbWF4IChkZXNrdG9wIGZpcnN0KVxuQG1peGluIG1heCgkYnJlYWtwb2ludCkge1xuICAgIEBpZiAkYnJlYWtwb2ludD09NDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09NjAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT1tb2JpbGUge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTcwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNzVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTgwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTkwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpZiAkYnJlYWtwb2ludD09OTAwbGFuZCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTYuMjVlbSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIEBpZiAkYnJlYWtwb2ludD09dGFibGV0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMTAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OC43NWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09MTIwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PXRhYmxhbmQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMzAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09MTQwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODcuNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09MTYwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xODAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9iZXR3ZWVuIChzcGVjaWFsIG9jY2FzaW9ucylcbkBtaXhpbiBiZXR3ZWVuKCRicG1pbiwgJGJwbWF4KSB7XG4gICAgQGlmICRicG1pbj09NjAwIGFuZCAkYnBtYXg9PTgwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJwbWluPT02MDAgYW5kICRicG1heD09OTAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIGFuZCAobWF4LXdpZHRoOiA1Ni4yNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnBtaW49PTYwMCBhbmQgJGJwbWF4PT0xMDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIGFuZCAobWF4LXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicG1pbj09ODAwIGFuZCAkYnBtYXg9PTEwMDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIGFuZCAobWF4LXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL3dpZHRoICYgaGVpZ2h0IHF1ZXJpZXNcbkBtaXhpbiBtaW5XbWF4SCgkd21pbiwgJGhtYXgpIHtcbiAgICBAaWYgJHdtaW49PTEwMDAgYW5kICRobWF4ID09IDgwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuNWVtKSBhbmQgKG1heC1oZWlnaHQ6IDUwZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGFuZHNjYXBlKCRobWF4KSB7XG4gICAgQGlmICRobWF4PT02MDAge1xuICAgICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6IDM3LjVlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSAge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQG1peGluIGZvci1zbWFsbC1tb2JpbGUge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNTFweCkgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gZm9yLW1vYmlsZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBmb3ItbW9iaWxlLWxhbmRzY2FwZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGZvci10YWJsZXQtcG9ydHJhaXQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTBweCkgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gZm9yLXRhYmxldC1sYW5kc2NhcGUge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGZvci1kZXNrdG9wIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTgwMHB4KSB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBmb3ItYmlnLWRlc2t0b3Age1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxODAxcHgpIHsgQGNvbnRlbnQ7IH1cbn1cbiIsIi8vUk9PVCBWQVJJQUJMRVNcbjpyb290IHtcbiAgICAtLXZoMTAwOiBjYWxjKDEwMHZoKTtcbiAgICAtLXZoMTAwLW9uY2U6IGNhbGMoMTAwdmgpO1xuICAgIC0tc2Nyb2xsYmFyLXdpZHRoOiAwO1xuXG4gICAgLS1oZWFkZXItaGVpZ2h0OiA1LjMxMjVyZW07IC8vODVweFxuICAgIC0tZm9vdGVyLWhlaWdodDogNDYuMzc1cmVtOyAvLzc0MnB4XG5cbiAgICAtLXRvcC1yb3ctaGVpZ2h0OiAyLjgxMjVyZW07IC8vNDVweFxuXG4gICAgLS1zaXRlLXBhZGRpbmc6IDEuNzVyZW07IC8vMjhweFxuXG4gICAgLS1nYXAtMTItcmVtOiAxLjI1cmVtOyAvLzIwcHhcbiAgICAtLWNvbC0xMi1yZW06IDYuMDYyNXJlbTsgLy85N3B4XG5cbiAgICAtLWNvbC0xMjogMTAwJSAqIDk3IC8gMTM4NDtcbiAgICAtLWdhcC0xMjogMTAwJSAqIDIwIC8gMTM4NDtcblxuICAgIC0tY29sLTk6IDEwMCUgKiA5NyAvIDEwMzM7XG4gICAgLS1nYXAtOTogMTAwJSAqIDIwIC8gMTAzMztcblxuICAgIC0tY29sLTg6IDEwMCUgKiA5NyAvIDkxNjtcbiAgICAtLWdhcC04OiAxMDAlICogMjAgLyA5MTY7XG5cbiAgICAtLWNvbC02OiAxMDAlICogOTcgLyA2ODI7XG4gICAgLS1nYXAtNjogMTAwJSAqIDIwIC8gNjgyO1xuXG4gICAgLS1jb2wtNDogMTAwJSAqIDk3IC8gNDQ4O1xuICAgIC0tZ2FwLTQ6IDEwMCUgKiAyMCAvIDQ0ODtcblxuICAgIC0tY29sLTM6IDEwMCUgKiA5NyAvIDMzMTtcbiAgICAtLWdhcC0zOiAxMDAlICogMjAgLyAzMzE7XG5cbiAgICAvL21vYmlsZVxuICAgIC0tY29sLTYtbTogMTAwJSAqIDM1IC8gMjgwO1xuICAgIC0tZ2FwLTYtbTogMTAwJSAqIDE0IC8gMjgwO1xuICAgIFxuXG4gICAgLS1mb250LTE0OiAwLjg3NXJlbTtcbiAgICAtLWZvbnQtMTg6IDEuMTI1cmVtO1xuICAgIC0tZm9udC0yMDogMS4yNXJlbTtcbiAgICAtLWZvbnQtMjY6IDEuNjI1cmVtO1xuICAgIC0tZm9udC00MjogMi42MjVyZW07XG5cbiAgICAtLWxldHRlci1zcGFjaW5nLTE6IDAuMDFlbTtcbiAgICAtLWxldHRlci1zcGFjaW5nLTI6IDAuMDJlbTtcbiAgICAtLWxldHRlci1zcGFjaW5nLTM6IDAuMDNlbTtcbiAgICAtLWxldHRlci1zcGFjaW5nLTQ6IDAuMDRlbTtcbiAgICAtLWxldHRlci1zcGFjaW5nLTU6IDAuMDVlbTtcbiAgICAtLWxldHRlci1zcGFjaW5nLTEwOiAwLjFlbTtcblxuICAgIEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQge1xuICAgICAgICAtLWhlYWRlci1oZWlnaHQ6IDMuNTYyNXJlbTsgLy81N3B4XG4gICAgICAgIC0tZm9vdGVyLWhlaWdodDogMTAwZHZoO1xuXG4gICAgICAgIC0tc2l0ZS1wYWRkaW5nOiAxLjI1cmVtOyAvLzIwcHhcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcbiAgICAgICAgLS1mb250LTE0OiAwLjYyNXJlbTsgLy8xMHB4XG4gICAgICAgIC0tZm9udC0yMDogMS4xMjVyZW07IC8vMThweFxuICAgICAgICAtLWZvbnQtMjY6IDFyZW07IC8vMTZweFxuICAgICAgICAtLWZvbnQtMTg6IDAuOTM3NXJlbTsgLy8xNXB4XG4gICAgICAgIC0tZm9udC00MjogMS4yNXJlbTsgLy8yMHB4XG4gICAgICAgIC0tdG9wLXJvdy1oZWlnaHQ6IDIuNTYyNXJlbTsgLy80MXB4XG4gICAgfVxuXG59XG5cblxuLy9DT0xPUlNcbiRncmV5XzE6ICM3NTc1NzU7XG4kZ3JleV8yOiAjQzBCOUI5O1xuJGZvb3Rlcl9jb2xvcjogIzZBNjQ2NDtcbiRibGFjazogIzAwMDtcbiR3aGl0ZTogI0ZGRjtcbiRvZmZfd2hpdGU6ICNGRkZFRjU7XG4kb3JhbmdlOiAjRkZCNDcwO1xuJHNhZ2U6ICM2QTc2NjA7XG4kZGFya19ibHVlX29jZWFuOiAjMDAxRjM0O1xuJHBvd2Rlcl9CbHVlOiAjQzREMUU0O1xuJGxpZ2h0X2Jyb3duOiAjQjQ5ODgwO1xuJGRlZXBfbmF2eV9ibHVlOiAjMEMyNDM1O1xuJGRlZXBfcmVkOiAgIzhFMkEwQTtcbiRwYXN0ZWxfYmx1ZTogIzg5QjJGMDtcbiRzYW5kOiAjQ0I5Rjg1O1xuJGRhcmtfZ3JheWlzaF9vcmFuZ2U6ICNBMTk2OTI7XG4kZ3JheV9wdXJwbGU6ICNDMEJGQzQ7XG4kYnJvd25fZ3JheWlzaF9waW5rOiAjOTI3NTZBO1xuJGhvdmVyX2NvbG9yOiAjODk4MTgxO1xuJGNhcHRpb25fY29sb3I6ICM0RDRENEQ7XG4kYm9yZGVyLWNvbG9yOiAjMDAwOyIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbi8qIFNlY3Rpb25zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPSdidXR0b24nXSxcblt0eXBlPSdyZXNldCddLFxuW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPSdidXR0b24nXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPSdyZXNldCddOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9J3N1Ym1pdCddOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9J2J1dHRvbiddOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9J3Jlc2V0J106LW1vei1mb2N1c3JpbmcsXG5bdHlwZT0nc3VibWl0J106LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICpcdFx0YGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9J3NlYXJjaCddIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy9DVVNUT00gTk9STUFMSVpFXG4qLFxuKjo6YWZ0ZXIsXG4qOjpiZWZvcmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmEsXG5hOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxudWwgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi8vIC8vIFRZUE9HUkFQSFlcbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAnTWFicnkgUHJvJztcbi8vICAgICBzcmM6IHVybCguLi9mb250cy9NYWJyeVByby1SZWd1bGFyLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICAgIHVybCguLi9mb250cy9NYWJyeVByby1SZWd1bGFyLndvZmYpIGZvcm1hdCgnd29mZicpO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbi8vIH1cblxuXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ01hYnJ5IFBybyc7XG4vLyAgICAgc3JjOiB1cmwoLi4vZm9udHMvTWFicnlQcm8tQm9sZC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgICB1cmwoLi4vZm9udHMvTWFicnlQcm8tQm9sZC53b2ZmKSBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbi8vICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4vLyB9XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAnQ0YgR2FyYW1vbmQnO1xuLy8gICAgIC8vIHNyYzogdXJsKC4uL2ZvbnRzL0NGR2FyYW1vbmQtUmVndWxhci53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgIC8vICAgICB1cmwoLi4vZm9udHMvQ0ZHYXJhbW9uZC1SZWd1bGFyLndvZmYpIGZvcm1hdCgnd29mZicpO1xuLy8gICAgIHNyYzogdXJsKC4uL2ZvbnRzL0NGLUdhcmFtb25kLVJnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICAgIHVybCguLi9mb250cy9DRi1HYXJhbW9uZC1SZy53b2ZmKSBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4vLyB9XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAnQ0YgTW9kR3JvdGVzayc7XG4vLyAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3N1YnNldC1DRk1vZEdyb3Rlc2stQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbi8vICAgICAgICAgdXJsKCcuLi9mb250cy9zdWJzZXQtQ0ZNb2RHcm90ZXNrLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4vLyB9XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAnQ0YgTW9kR3JvdGVzayc7XG4vLyAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3N1YnNldC1DRk1vZEdyb3Rlc2stTWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgICB1cmwoJy4uL2ZvbnRzL3N1YnNldC1DRk1vZEdyb3Rlc2stTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBmb250LXdlaWdodDogNTAwO1xuLy8gICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4vLyB9XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAnQ0YgTW9kR3JvdGVzayc7XG4vLyAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3N1YnNldC1DRk1vZEdyb3Rlc2stUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbi8vICAgICAgICAgdXJsKCcuLi9mb250cy9zdWJzZXQtQ0ZNb2RHcm90ZXNrLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbi8vIH1cblxuLy8vLy8vL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NGIE1vZEdyb3Rlc2snO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DRk1vZEdyb3Rlc2stU2VtaUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvQ0ZNb2RHcm90ZXNrLVNlbWlCb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NGIE1vZEdyb3Rlc2snO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DRk1vZEdyb3Rlc2stUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DRk1vZEdyb3Rlc2stUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuIiwiaHRtbCB7XHJcbiAgICBmb250LWZhbWlseTogJ0NGIE1vZEdyb3Rlc2snO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgXHJcbiAgICBib2R5IHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmX3doaXRlO1xyXG5cclxuICAgICAgICAmLnJlYWR5IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50b3Atcm93LWhvbWVwYWdlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtbWFpbiB7XHJcbiAgICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS12aDEwMCkgLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZl93aGl0ZTtcclxuXHJcbiAgICAgICAgLmhvbWUgJiB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoIHZhcigtLXZoMTAwKSApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEoaG92ZXI6aG92ZXIpIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuKiB7XHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICAgIGNvbG9yOiAkb2ZmX3doaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgIH1cclxufSIsIiIsIi8vVVRJTElUSUVTXG4vL3RleHQgb3B0aW9uc1xuLml0YWxpYyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udXBwZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5sb3dlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLmNhcCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi51bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5cbi8vbGF5b3V0IG9wdGlvbnNcbi5tMC1hdXRvIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8gLmhhbGYtcGFnZSB7XG4vLyAgICAgQGluY2x1ZGUgbWluKDEwMDApIHtcbi8vICAgICAgICAgd2lkdGg6IGNhbGMoNTAlKTtcbi8vICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgICAgICB0b3A6IDEuNHJlbTtcbi8vICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAvLyByaWdodDogJG1haW4tcGFkZGluZy1MUi1tO1xuLy8gICAgIH1cbi8vIH1cblxuLmZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LWNlbnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1iZXR3ZWVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmZsZXgtYmV0d2Vlbi1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LWNlbnRlci1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtY29sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbGV4LWNvbC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1jb2wtYmV0d2Vlbi1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtYnJlYWsge1xuICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgIGhlaWdodDogMDtcbn1cblxuLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG59XG5cbi5ncmlkLTEyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tY29sLWdhcCk7XG59XG5cbi8vb3ZlcmxheXNcbi5vdmVybGF5LWZhZGVpbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMCA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi5vdmVybGF5LWxlZnQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7IC8vJGhlYWRlci1oZWlnaHQtc207XG4gICAgbGVmdDogMDtcbiAgICAvLyByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi50cmFuc2Zvcm0teDAge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5cbi5vdmVybGF5LXJpZ2h0IHtcblxuICAgIEBpbmNsdWRlIG1heCgxMDAwKSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwOyAvLyRoZWFkZXItaGVpZ2h0LXNtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG59XG5cbi5vdmVybGF5LWZhZGVpbi5zaG93IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4udHJhbnNmb3JtLXgwIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi50cmFuc2Zvcm1lZC15IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwcHgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuN3MgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjdzIGVhc2UtaW47XG4gICAgXG4gICAgJi51bnJldmVhbGVkIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC43cyBlYXNlLWluLW91dCwgb3BhY2l0eSAuN3MgZWFzZS1pbjtcbiAgICB9XG4gICAgJi50cmFuc2Zvcm0tMCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi5zZXF1ZW50aWFsID4gZGl2IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC43cyBlYXNlLWluLW91dCwgb3BhY2l0eSAuN3MgZWFzZS1pbjtcblxuICAgICYuc2hvdy50cmFuc2Zvcm0tMCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5ldmVudHMge1xuICAgICYtbm9uZSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICYtYXV0byB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbn1cblxuLm92ZXJmbG93WS1oaWRkZW4ge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLmV2ZW50cy1ub25lLm92ZXJmbG93WS1oaWRkZW4ge1xuICAgIC8vIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBtYXgoMTAwMCkge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbi8vc2Nyb2xsc1xuLnNjcm9sbCB7XG4gICAgJi1jb250IHtcbiAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtaW4oNjAwKSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS12aDEwMCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtaW4oMTAwMCkge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNjcm9sbGJhci13aWR0aCk7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS12aDEwMCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1zY3JvbGxiYXItd2lkdGgpKTtcbiAgICB9XG59XG5cbi5zY3JvbGxiYXItbWVhc3VyZSB7XG5cdHdpZHRoOiAxMDBweDtcblx0aGVpZ2h0OiAxMDBweDtcblx0b3ZlcmZsb3c6IHNjcm9sbDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC05OTk5cHg7XG59XG5cbi5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgLy8gdG9wOiAkaGVhZGVyLWhlaWdodC1sO1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgIC8vIEBpbmNsdWRlIG1heCg2MDApIHtcbiAgICAvLyAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgIC8vIH1cbn1cblxuXG4vL3Zpc2liaWxpdHlcbi5oaWRkZW4tdGl0bGUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubm9kaXNwbGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uc2hvdyB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnVucmV2ZWFsZWQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbjtcblxuICAgICYuc2hvdyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vL21lZGlhIHF1ZXJpZWQgc3R5bGVzXG4ubW9iaWxlLWhpZGRlbiB7XG4gICAgQGluY2x1ZGUgbWF4KDYwMCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnRhYmxldC1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIG1heCgxMDAwKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi50YWJsZXQtbGFuZC1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIG1heCgxMjAwKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5tb2JpbGUtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1heCg2MDApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4udGFibGV0LW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTAwMCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4udGFibGV0LWxhbmQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn0iLCIvL1NMSUNLIENTUyBmaWxlXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXJcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWxpc3RcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uc2xpY2stbGlzdDpmb2N1c1xue1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG4uc2xpY2stbGlzdC5kcmFnZ2luZ1xue1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7XG59XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdFxue1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFja1xue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5zbGljay10cmFjazpiZWZvcmUsXG4uc2xpY2stdHJhY2s6YWZ0ZXJcbntcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIGNvbnRlbnQ6ICcnO1xufVxuLnNsaWNrLXRyYWNrOmFmdGVyXG57XG4gICAgY2xlYXI6IGJvdGg7XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2tcbntcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xufVxuW2Rpcj0ncnRsJ10gLnNsaWNrLXNsaWRlXG57XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuLnNsaWNrLXNsaWRlIGltZ1xue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nXG57XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWdcbntcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGVcbntcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZVxue1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGVcbntcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGhlaWdodDogYXV0bztcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG5cbi8vU0xJQ0sgT1ZFUlJJREVTXG4uc2xpY2sge1xuICAgIFxuICAgICYtc2xpZGVyLmhvdmVyIC5jaXR5LW11bHRpY2FyZC1jb250IHtcbiAgICAgICAgb3BhY2l0eTogLjU7XG5cbiAgICAgICAgJi5vdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi1zbGlkZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmLWRpc2FibGVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAmLXRyYWNrIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tbWFpbi1wYWQtbHIpIC0gMXJlbSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KHRhYmxldCkge1xuICAgICAgICAmLXRyYWNrIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLW1haW4tcGFkLWxyKSAtIC44cmVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heChtb2JpbGUpIHtcbiAgICAgICAgJi10cmFjayB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG4gKiBIYW1idXJnZXJzXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcbiAqIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbiAqL1xuXG4vLyBTZXR0aW5nc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItcGFkZGluZy14ICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXBhZGRpbmcteSAgICAgICAgICAgOiAxNnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgIDogMjBweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICA6IDFweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAgICAgICA6IDZweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cyA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICA6IDAuNyAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWxheWVyLWNvbG9yICA6ICRoYW1idXJnZXItbGF5ZXItY29sb3IgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1vcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgIWRlZmF1bHQ7XG5cblxuLy8gVG8gdXNlIENTUyBmaWx0ZXJzIGFzIHRoZSBob3ZlciBlZmZlY3QgaW5zdGVhZCBvZiBvcGFjaXR5LFxuLy8gc2V0ICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciBhcyB0cnVlIGFuZFxuLy8gY2hhbmdlIHRoZSB2YWx1ZSBvZiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciBhY2NvcmRpbmdseS5cbiRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAgICAgICA6IG9wYWNpdHkoNTAlKSAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgIWRlZmF1bHQ7XG5cbi8vIFR5cGVzIChSZW1vdmUgb3IgY29tbWVudCBvdXQgd2hhdCB5b3UgZG9u4oCZdCBuZWVkKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItdHlwZXM6IChcbiAgM2R4LFxuICAzZHgtcixcbiAgM2R5LFxuICAzZHktcixcbiAgM2R4eSxcbiAgM2R4eS1yLFxuICBhcnJvdyxcbiAgYXJyb3ctcixcbiAgYXJyb3dhbHQsXG4gIGFycm93YWx0LXIsXG4gIGFycm93dHVybixcbiAgYXJyb3d0dXJuLXIsXG4gIGJvcmluZyxcbiAgY29sbGFwc2UsXG4gIGNvbGxhcHNlLXIsXG4gIGVsYXN0aWMsXG4gIGVsYXN0aWMtcixcbiAgZW1waGF0aWMsXG4gIGVtcGhhdGljLXIsXG4gIG1pbnVzLFxuICBzbGlkZXIsXG4gIHNsaWRlci1yLFxuICBzcGluLFxuICBzcGluLXIsXG4gIHNwcmluZyxcbiAgc3ByaW5nLXIsXG4gIHN0YW5kLFxuICBzdGFuZC1yLFxuICBzcXVlZXplLFxuICB2b3J0ZXgsXG4gIHZvcnRleC1yXG4pICFkZWZhdWx0O1xuXG4vLyBCYXNlIEhhbWJ1cmdlciAoV2UgbmVlZCB0aGlzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgXCJiYXNlXCI7XG5cbi8vIEhhbWJ1cmdlciB0eXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEBpbXBvcnQgXCJ0eXBlcy8zZHhcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy8zZHgtclwiO1xuLy8gQGltcG9ydCBcInR5cGVzLzNkeVwiO1xuLy8gQGltcG9ydCBcInR5cGVzLzNkeS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4eVwiO1xuLy8gQGltcG9ydCBcInR5cGVzLzNkeHktclwiO1xuLy8gQGltcG9ydCBcInR5cGVzL2Fycm93XCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3ctclwiO1xuLy8gQGltcG9ydCBcInR5cGVzL2Fycm93YWx0XCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3dhbHQtclwiO1xuLy8gQGltcG9ydCBcInR5cGVzL2Fycm93dHVyblwiO1xuLy8gQGltcG9ydCBcInR5cGVzL2Fycm93dHVybi1yXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvYm9yaW5nXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvY29sbGFwc2VcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZS1yXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvZWxhc3RpY1wiO1xuLy8gQGltcG9ydCBcInR5cGVzL2VsYXN0aWMtclwiO1xuLy8gQGltcG9ydCBcInR5cGVzL2VtcGhhdGljXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvZW1waGF0aWMtclwiO1xuLy8gQGltcG9ydCBcInR5cGVzL21pbnVzXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvc2xpZGVyXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvc2xpZGVyLXJcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zcGluXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvc3Bpbi1yXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvc3ByaW5nXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvc3ByaW5nLXJcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zdGFuZFwiO1xuLy8gQGltcG9ydCBcInR5cGVzL3N0YW5kLXJcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zcXVlZXplXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvdm9ydGV4XCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvdm9ydGV4LXJcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvb2tpbmcgdXAgYWRkaXRpb25hbCB0eXBlczpcbi8vXG4vLyBUaGUgU2FzcyBmb3IgZWFjaCBoYW1idXJnZXIgdHlwZSBzaG91bGQgYmUgbmVzdGVkXG4vLyBpbnNpZGUgYW4gQGlmIGRpcmVjdGl2ZSB0byBjaGVjayB3aGV0aGVyIG9yIG5vdFxuLy8gaXQgZXhpc3RzIGluICRoYW1idXJnZXItdHlwZXMgc28gb25seSB0aGUgQ1NTIGZvclxuLy8gaW5jbHVkZWQgdHlwZXMgYXJlIGdlbmVyYXRlZC5cbi8vXG4vLyBlLmcuIGhhbWJ1cmdlcnMvdHlwZXMvX25ldy10eXBlLnNjc3Ncbi8vXG4vLyBAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgbmV3LXR5cGUpIHtcbi8vICAgLmhhbWJ1cmdlci0tbmV3LXR5cGUge1xuLy8gICAgIC4uLlxuLy8gICB9XG4vLyB9XG4iLCIvLyBIYW1idXJnZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogJGhhbWJ1cmdlci1wYWRkaW5nLXkgJGhhbWJ1cmdlci1wYWRkaW5nLXg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG5cbiAgLy8gTm9ybWFsaXplICg8YnV0dG9uPilcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gIC8vICY6aG92ZXIge1xuICAvLyAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XG4gIC8vICAgICBmaWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xuICAvLyAgIH1cbiAgLy8gICBAZWxzZSB7XG4gIC8vICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIC8vICY6aG92ZXIge1xuICAgIC8vICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcbiAgICAvLyAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1maWx0ZXI7XG4gICAgLy8gICB9XG4gICAgLy8gICBAZWxzZSB7XG4gICAgLy8gICAgIG9wYWNpdHk6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lcixcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5oYW1idXJnZXItYm94IHtcbiAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAzICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gLTI7XG5cbiAgJixcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB9XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYm90dG9tOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHh5KSB7XG4gIC8qXG4gICAqIDNEWFlcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeHkge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgxODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zaXRlLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmX3doaXRlO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG5cclxuICAgIC5ob21lICYge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRvZmZfd2hpdGU7XHJcblxyXG4gICAgICAgIC5tb2JpbGUtbWVudS1idG4ge1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgcmVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJG9mZl93aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi50b3Atcm93LWltYWdlIHtcclxuICAgICAgICAgICAgdG9wOiB2YXIoLS10b3Atcm93LWhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJvZHk6bm90KC5ob21lKSAmIHtcclxuICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBwYXRoIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtYnJhbmRpbmcge1xyXG4gICAgICAgIGhlaWdodDogMjlweDtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNy44MXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjlweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3LjgxcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tYWluLW5hdmlnYXRpb24tY250IHtcclxuICAgICAgICB3aWR0aDogY2FsYyg2ICogdmFyKC0tY29sLTEyKSArIDUgKiB2YXIoLS1nYXAtMTIpKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgICAgIC5ob21lIC50b3Atcm93LWltYWdlICYge1xyXG4gICAgICAgICAgICAgICAgdG9wOiB2YXIoLS10b3Atcm93LWhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTc4cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTBkY2QxO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zaXRlLXBhZGRpbmcpIDEuNXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAubWVudS1tZW51LTEtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5tZW51IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMjYpO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wM2VtO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC41NjI1cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubW9iaWxlLW1lbnUtYnRuIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGhlaWdodDogMTdweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5tb2JpbGUtbWVudS1vcGVuIHtcclxuXHJcbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbi1jbnQge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIC5tb2JpbGUtbWVudS1idG4ge1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaG9tZSAmIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuXHJcbiAgICAgICAgICAgIC5tb2JpbGUtbWVudS1idG4ge1xyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICByZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn0iLCIuc2l0ZS1mb290ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGZvb3Rlcl9jb2xvcjtcclxuICAgIGhlaWdodDogdmFyKC0tZm9vdGVyLWhlaWdodCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA1MHB4IHZhcigtLXNpdGUtcGFkZGluZykgMzZweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICBAaW5jbHVkZSBmb3ItdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICBoZWlnaHQ6IGNhbGMoIHZhcigtLWZvb3Rlci1oZWlnaHQpIC0gdmFyKC0taGVhZGVyLWhlaWdodCkgKTtcclxuICAgIH1cclxuXHJcbiAgICAudG9wLXJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB3aWR0aDogY2FsYyg2ICogdmFyKC0tY29sLTEyKSArIDUgKiB2YXIoLS1nYXAtMTIpKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQgKiB2YXIoLS1jb2wtNi1tKSArIDMgKiB2YXIoLS1nYXAtMTIpKTtcclxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogMi4yNHJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250YWN0LWNudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDIgKiB2YXIoLS1jb2wtNikgKyAyICogdmFyKC0tZ2FwLTYpKTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEgKiB2YXIoLS1jb2wtNikgKyAxICogdmFyKC0tZ2FwLTYpKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMTQpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0xMCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXlfMjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTE4KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkb2ZmX3doaXRlO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTMpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEoaG92ZXI6aG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb2xsb3ctY250IHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMyAqIHZhcigtLWNvbC02KSArIDIgKiB2YXIoLS1nYXAtNikpO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0xNCk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTEwKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleV8yO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmxpbmtzLWNudCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMTgpO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTMpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRvZmZfd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBnYXA6IGNhbGMoMSAqIHZhcigtLWdhcC0zKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiA0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmxpbmstY250IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxICogdmFyKC0tY29sLTMpKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbiArIDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ib3R0b20tcm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGNvbG9yOiAkb2ZmX3doaXRlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0xNCk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTEwKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYyg0ICogdmFyKC0tY29sLTYtbSkgKyAzICogdmFyKC0tZ2FwLTEyKSk7XHJcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb3B5LWNudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzdweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucHJpdmFjeS1jbnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1hZGUtY250IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXItbG9nby1jbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgICAgICBsZWZ0OiB2YXIoLS1zaXRlLXBhZGRpbmcpO1xyXG4gICAgICAgIGJvdHRvbTogODRweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyLWxvZ28tbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDM0cHg7XHJcbiAgICAgICAgdG9wOiA1M3B4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5ob21lIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBcclxuICAgIC5zaXRlLWZvb3RlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAudG9wLXJvdy1ob21lcGFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0tdG9wLXJvdy1oZWlnaHQpO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1NHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRvcC1yb3ctaW1hZ2Uge1xyXG4gICAgICAgIC5ob21lLW1haW4ge1xyXG4gICAgICAgICAgICAudmlkZW8tY250IHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggdmFyKC0tdmgxMDApIC0gdmFyKC0tdG9wLXJvdy1oZWlnaHQpKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXRvcC1yb3ctaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIC0tdmlkZW8tY292ZXItaGVpZ2h0OiBjYWxjKHZhcigtLXZoMTAwKSAtIHZhcigtLXRvcC1yb3ctaGVpZ2h0KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ob21lLW1haW4ge1xyXG4gICAgLnZpZGVvLWNudCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0tdmgxMDApO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgLS12aWRlby1jb3Zlci1oZWlnaHQ6IHZhcigtLXZoMTAwKTsgLy8gYWN0dWFsIHZpc2libGUgaGVpZ2h0IG9mIHRoaXMgY29udGFpbmVyOyBrZXB0IGluIHN5bmMgd2l0aCB0aGUgdG9wLXJvdy1iYXIgb2Zmc2V0IGJlbG93XHJcblxyXG4gICAgICAgIC5zZWxmLXZpZGVvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaG9tZS12aWRlby1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1Ni4yNXZ3OyAvLyAxNjo5XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXZpZGVvLWNvdmVyLWhlaWdodCkgKiAxNiAvIDkpOyAvLyAxNjo5LCBtYXRjaGVzIHRoZSBjb250YWluZXIncyByZWFsIGhlaWdodCBzbyBtb2JpbGUgdG9vbGJhciBzaG93L2hpZGUgKGFuZCB0aGUgdG9wLXJvdyBiYXIpIGRvbid0IGNyZWF0ZSBhIHdpZHRoIGdhcFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjAyKTsgLy8gb3ZlcnNjYW4gdG8gaGlkZSBzdWJwaXhlbC9yb3VuZGluZyBlZGdlIGdhcHNcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gYmFja2dyb3VuZF92aW1lb192aWRlb19tb2JpbGUgaXMgYSBwb3J0cmFpdC1zaGFwZWQgdmlkZW86IGNvdmVyIHdpdGggYSA5OjE2IGJveCBpbnN0ZWFkIG9mIDE2OjksXHJcbiAgICAgICAgICAgIC8vIG90aGVyd2lzZSBWaW1lbyBsZXR0ZXJib3hlcyB0aGUgcG9ydHJhaXQgdmlkZW8gaW5zaWRlIGEgbGFuZHNjYXBlLXNoYXBlZCBib3hcclxuICAgICAgICAgICAgJi5wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3Ny43OHZ3OyAvLyA5OjE2XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGNhbGModmFyKC0tdmlkZW8tY292ZXItaGVpZ2h0KSAqIDkgLyAxNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJhY2tncm91bmQtaW1hZ2UtY250IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0tdmgxMDApO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiB2YXIodmgxMDAtb25jZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5xdW90ZS1jbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogNDRweDtcclxuICAgICAgICBjb2xvcjogJG9mZl93aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IDM0cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDNlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgICAgICAgICBib3R0b206IDEuMTI1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5hYm91dC1tYWluIHtcclxuICAgIG1hcmdpbi10b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xyXG5cclxuICAgIC5oZXJvLXRleHQtY250IHtcclxuICAgICAgICBwYWRkaW5nOiAyMS4zcmVtIHZhcigtLXNpdGUtcGFkZGluZykgMi42cmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC00Mik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTEuN3JlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMTEgKiB2YXIoLS1jb2wtMTIpICsgMTAgKiB2YXIoLS1nYXAtMTIpICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50b3AtYmFubmVyLWNudCB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTQ0MCAvIDgxMDtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tYWluLXRleHQtY250IHtcclxuICAgICAgICBwYWRkaW5nOiAxMC41cmVtIHZhcigtLXNpdGUtcGFkZGluZyk7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTIwKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0yKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0LjdyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0LjdyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNiAqIHZhcigtLWNvbC0xMikgKyA1ICogdmFyKC0tZ2FwLTEyKSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYm90dG9tLWJhbm5lci1jbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTQ0MCAvIDgxMDtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMzIwIC8gNTAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmFubmVyLXRleHQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IHZhcigtLXNpdGUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiB2YXIoLS1zaXRlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBib3R0b206IDMuMTdyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmX3doaXRlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtNDIpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAucGhpbG9zb3BoeS1vdXRlci1jbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNFMERDRDE7XHJcblxyXG4gICAgICAgIC5waGlsb3NvcGh5LXRpdGxlLWNudCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMTEuNDVyZW0gdmFyKC0tc2l0ZS1wYWRkaW5nKSAxMS40NXJlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDQuN3JlbTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjZyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzc1NzU3NTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0yNik7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtNDIpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnBoaWxvc29waHktbWFpbi1jbnQge1xyXG4gICAgICAgICAgICAuc3RpY2t5LWNvbnRlbnQtY250IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICAgICAgICAgICAgICB0b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFMERDRDE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1OHB4IHZhcigtLXNpdGUtcGFkZGluZykgMTQ1cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAyN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmxlZnQge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDYgKiB2YXIoLS1jb2wtMTIpICsgNSAqIHZhcigtLWdhcC0xMikpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAudGV4dC1jbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTI2KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMjApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAucmlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQgKiB2YXIoLS1jb2wtMTIpICsgMyAqIHZhcigtLWdhcC0xMikpO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDQ0NiAvIDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAmLm91ci1jb2xsZWN0aXZlLW1haW4tY250IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmX3doaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1LjNyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDkuOXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0LjhyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0LjJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAudGl0bGUtY250IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMjYpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnRlYW0tYmFubmVyLWNudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxMzg0IC8gOTIzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubWVtYmVycy1jbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg5ICogdmFyKC0tY29sLTEyKSArIDggKiB2YXIoLS1nYXAtMTIpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiBjYWxjKDEgKiB2YXIoLS1nYXAtOSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAuNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1lbWJlci1jbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMyAqIHZhcigtLWNvbC05KSArIDIgKiB2YXIoLS1nYXAtOSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC42cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA0cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubmFtZS1wb3NpdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm5hbWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMTgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC4zcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBvc2l0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTE4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXlfMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uLWNudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTE4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXlfMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5jb250YWN0LW1haW4ge1xyXG4gICAgbWFyZ2luLXRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XHJcbiAgICBwYWRkaW5nOiAyMS41NXJlbSB2YXIoLS1zaXRlLXBhZGRpbmcpIDEyLjJyZW07XHJcbiAgICAgICAgXHJcbiAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTEuN3JlbTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAubWFpbi1jb250ZW50IHtcclxuICAgICAgICB3aWR0aDogY2FsYyg5ICogdmFyKC0tY29sLTEyKSArIDggKiB2YXIoLS1nYXAtMTIpKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC00Mik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0yKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDYuNXJlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMuMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29udGFjdC1pbmZvLW1haW4tY250IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOC4ycmVtO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDggKiB2YXIoLS1jb2wtMTIpICsgNyAqIHZhcigtLWdhcC0xMikpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgICAgIGdhcDogNC4xMjVyZW0gY2FsYygxICogdmFyKC0tZ2FwLTgpKTtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBmb3ItdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQuNnJlbTtcclxuICAgICAgICAgICAgZ2FwOiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuaW5mby1jbnQge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYyg0ICogdmFyKC0tY29sLTgpICsgMyAqIHZhcigtLWdhcC04KSk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTE4KTtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0zKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXlfMTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRleHQtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMjYpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0zKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxICogdmFyKC0tY29sLTQpICsgMSAqIHZhcigtLWdhcC00KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5iYW5uZXItY250IHtcclxuICAgICAgICB3aWR0aDogY2FsYyg4ICogdmFyKC0tY29sLTEyKSArIDcgKiB2YXIoLS1nYXAtMTIpKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBmb3ItdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIiLCIuZXJyb3I0MDQge1xyXG4gICAgLnNpdGUtbWFpbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XHJcbiAgICAgICAgcGFkZGluZzogM3JlbSB2YXIoLS1zaXRlLXBhZGRpbmcpIDA7XHJcblxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTQyKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0yMCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuYXJjaGl2ZS1tYWluIHtcclxuICAgIG1hcmdpbi10b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xyXG4gICAgcGFkZGluZzogMjEuOXJlbSB2YXIoLS1zaXRlLXBhZGRpbmcpIDE2LjRyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDExLjU1cmVtO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3LjlyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmZpbHRlcnMtY250IHtcclxuICAgICAgICAuZmlsdGVycy1saXN0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZ2FwOiAwIDEuN3JlbTtcclxuICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjY4cmVtO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDAgMS4wNjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5maWx0ZXIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTQyKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMik7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjMpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4xMnJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShob3Zlcjpob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHJvamVjdHMtbWFpbi1jbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgICAgIGdhcDogMCBjYWxjKDEgKiB2YXIoLS1nYXAtMTIpKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xyXG5cclxuICAgICAgICAmLmZhZGUtb3V0IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcm9qZWN0LWNudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMgKiB2YXIoLS1jb2wtMTIpICsgMiAqIHZhcigtLWdhcC0xMikpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1LjI1cmVtO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg2ICogdmFyKC0tY29sLTEyKSArIDUgKiB2YXIoLS1nYXAtMTIpKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuc2hvdyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5oaWRlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pbWctY250IHtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMzMxLzQ5NjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhKGhvdmVyOmhvdmVyKSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAuaW1nLWNudCAuaW5uZXIgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjFyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMTgpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0zKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNhdGVnb3J5IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleV8xO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTE4KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuc2luZ2xlLXByb2plY3RzIHtcclxuXHJcbiAgICAuc2l0ZS1tYWluIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZS1oZWFkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrX2JsdWVfb2NlYW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQsIGNvbG9yIC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgICBjb2xvcjogJG9mZl93aGl0ZTtcclxuXHJcbiAgICAgICAgLm1vYmlsZS1tZW51LWJ0biB7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICByZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkb2ZmX3doaXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm1vYmlsZS1tZW51LW9wZW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICAgICAgICAgLm1vYmlsZS1tZW51LWJ0biB7XHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlY3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYmxhY2shaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ28ge1xyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHBhdGgge1xyXG4gICAgICAgICAgICAgICAgZmlsbDogJG9mZl93aGl0ZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hZnRlci1oZXJvLXNlY3Rpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmZfd2hpdGUhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAuc2l0ZS1oZWFkZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmX3doaXRlIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5tb2JpbGUtbWVudS1idG4ge1xyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICByZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgcGF0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJsYWNrIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNpbmdsZS1tYWluIHtcclxuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgIC5oZXJvLXNlY3Rpb24ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNi44cmVtO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zaXRlLXBhZGRpbmcpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3LjlyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTEuN3JlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQuMnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50aXRsZS1jbnQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtNDIpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4ycmVtO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGV4dC1pbmZvLWNudCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC00Mik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0yKTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTEgKiB2YXIoLS1jb2wtMTIpICsgMTEgKiB2YXIoLS1nYXAtMTIpKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuMnJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByb2plY3RzLWluZm8tbWFpbi1jbnQge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogY2FsYygxICogdmFyKC0tZ2FwLTEyKSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcuOXJlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxN3B4IGNhbGMoMSAqIHZhcigtLWdhcC02LW0pKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuNXJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmluZm8tY250IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMTQpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMgKiB2YXIoLS1jb2wtMTIpICsgMiAqIHZhcigtLWdhcC0xMikpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygzICogdmFyKC0tY29sLTYtbSkgKyAyICogdmFyKC0tZ2FwLTYtbSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC4ycmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMTApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGVyby1iYW5uZXItY250IHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNiAqIHZhcigtLWNvbC0xMikgKyA1ICogdmFyKC0tZ2FwLTEyKSk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmltZy1jbnQge1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5oZXJvLWNhcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMSAqIHZhcigtLWNvbC02KSArIDEgKiB2YXIoLS1nYXAtNikpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTMpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC42ODc1cmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAucHJvamVjdHMtbWFpbi1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiA0LjVyZW0gdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmX3doaXRlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMuNXJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMuMnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbWctY250IHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pbWFnZS1jYXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0zKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMyAqIHZhcigtLWNvbC0xMikgKyAzICogdmFyKC0tZ2FwLTEyKSk7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wOiAwLjc1cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjYXB0aW9uX2NvbG9yO1xyXG5cclxuICAgICAgICAgICAgICAgICYuY2FwdGlvbi13aXRoLWltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC42ODc1cmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmhhbGYtd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNiAqIHZhcigtLWNvbC0xMikgKyA1ICogdmFyKC0tZ2FwLTEyKSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuaW1hZ2UtY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEgKiB2YXIoLS1jb2wtNikgKyAxICogdmFyKC0tZ2FwLTYpKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi52aW1lbyB7XHJcbiAgICAgICAgICAgICAgICAudmltZW8tdmlkZW8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiB2YXIoLS12aWRlby1hc3BlY3QtcmF0aW8sIDkgLyAxNik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXh0LWluZm8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMSAqIHZhcigtLWNvbC02KSArIDEgKiB2YXIoLS1nYXAtNikpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMjApO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMik7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTI2KTtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy01KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjA4cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZnVsbC13aWR0aC1yb3cge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjFyZW07XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIC50d28tY29sLXJvdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogMCBjYWxjKDEgKiB2YXIoLS1nYXAtMTIpKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xcmVtO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLmltZy1jbnQge1xyXG4gICAgICAgICAgICAgICAgLmltYWdlLWNhcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxICogdmFyKC0tY29sLTYpICsgMSAqIHZhcigtLWdhcC02KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogMC43NXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5jYXB0aW9uLXdpdGgtaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5sZWZ0LXJvdyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg2ICogdmFyKC0tY29sLTEyKSArIDUgKiB2YXIoLS1nYXAtMTIpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuOHJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgIC5yaWdodC1yb3cge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNiAqIHZhcigtLWNvbC0xMikgKyA1ICogdmFyKC0tZ2FwLTEyKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjhyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnJpZ2h0LWNvbC1mdWxsIHtcclxuICAgICAgICAgICAgICAgICAgICAudGV4dC1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMSAqIHZhcigtLWNvbC02KSArIDEgKiB2YXIoLS1nYXAtNikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubGVmdC1jb2wtc3BsaXQsIC5yaWdodC1jb2wtc3BsaXQgIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDAgY2FsYygxICogdmFyKC0tZ2FwLTYpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmxlZnQtY29sLXNwbGl0LWxlZnQsIC5yaWdodC1jb2wtc3BsaXQtbGVmdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMyAqIHZhcigtLWNvbC02KSArIDIgKiB2YXIoLS1nYXAtNikpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC44cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnRleHQtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNhcHRpb25fY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5sZWZ0LWNvbC1zcGxpdC1yaWdodCwgLnJpZ2h0LWNvbC1zcGxpdC1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMyAqIHZhcigtLWNvbC02KSArIDIgKiB2YXIoLS1nYXAtNikpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAudGV4dC1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy0zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjYXB0aW9uX2NvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRocmVlLWNvbC1yb3cge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IDAgY2FsYygxICogdmFyKC0tZ2FwLTEyKSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuMXJlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAgICAgICAgICAgICBnYXA6IC44cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubGVmdC1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNCAqIHZhcigtLWNvbC0xMikgKyAzICogdmFyKC0tZ2FwLTEyKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5taWRkbGUtY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQgKiB2YXIoLS1jb2wtMTIpICsgMyAqIHZhcigtLWdhcC0xMikpO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucmlnaHQtY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQgKiB2YXIoLS1jb2wtMTIpICsgMyAqIHZhcigtLWdhcC0xMikpO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ncmVkaXRzLWNudCB7XHJcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zaXRlLXBhZGRpbmcpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2LjlyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZl93aGl0ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmdyZWRpdHMtaW5uZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYyg2ICogdmFyKC0tY29sLTEyKSArIDUgKiB2YXIoLS1nYXAtMTIpKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudGl0bGUtY250IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0yNik7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuM3JlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjNyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5ncmVkaXRzLWNvbnRlbnQtY250IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICBnYXA6IGNhbGMoMSAqIHZhcigtLWdhcC02KSk7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5ncmVkaXQtY250IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygzICogdmFyKC0tY29sLTYpICsgMiAqIHZhcigtLWdhcC02KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMTQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMTApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXlfMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTMpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yZWxhdGVkLW1haW4tY250IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjRTBEQ0QxO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMy41cmVtO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjVyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNC44cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNC43cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRpdGxlLWNudCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0yNik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy01KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjFyZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQgKiB2YXIoLS1jb2wtNi1tKSArIDMgKiB2YXIoLS1nYXAtNi1tKSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJlbGF0ZWQtY250IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogY2FsYyggMSAqIHZhcigtLWdhcC0xMikgKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg0ICogdmFyKC0tY29sLTYtbSkgKyAzICogdmFyKC0tZ2FwLTYtbSkpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBnYXA6IDMycHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByb2plY3QtY250IHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMyAqIHZhcigtLWNvbC0xMikgKyAyICogdmFyKC0tZ2FwLTEyKSk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaW1nLWNudCB7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDMzMSAvIDQ5NjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC4xcmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTE4KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctMyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jYXRlZ29yeSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXlfMTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0xOCk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLTMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5pbWctY250IC5pbm5lciBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyoqIGNvb2tpZS1jb25zZW50ICoqL1xuXG4uYmlzcXVpdGUtY29uc2VudCB7XG5cdGZvbnQtZmFtaWx5OiAnQ0YgTW9kR3JvdGVzayc7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdC8vIG1pbi1oZWlnaHQ6IDIxMXB4O1xuXHQvLyBwYWRkaW5nOiAxLjI1cmVtIDNyZW0gMS41cmVtO1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdC8vIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRvcGFjaXR5OiAwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ei1pbmRleDogMTAwO1xuXHQvLyBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0b3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAvLyByaWdodDogMDtcbiAgICAvLyBib3R0b206IDA7XG4gICAgLy8gd2lkdGg6IDQzJTtcbiAgICAvLyBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAvLyBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cdC8vIG9wYWNpdHk6IDE7XG4gICAgLy8gcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgd2lkdGg6IDIzOXB4O1xuICAgIHJpZ2h0OiB2YXIoLS1zaXRlLXBhZGRpbmcpO1xuICAgIGJvdHRvbTogMjhweDtcbiAgICBwYWRkaW5nOiAxMXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcblxuXHQuY2xvc2UtY250IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuICAgIFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuXHRcdC5jbG9zZS1idG4ge1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAuMWVtO1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0QGluY2x1ZGUgZm9yLW1vYmlsZSB7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0QG1lZGlhKGhvdmVyOmhvdmVyKSB7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0aDMge1xuXHRcdC8vIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgXHQvLyBjb2xvcjogJGJsYWNrO1xuICAgIFx0Ly8gbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBcdC8vIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0cCB7XG5cdFx0Ly8gbGluZS1oZWlnaHQ6IDEuMztcblx0XHRtYXJnaW46IDE1cHggMCAyMHB4O1xuXHRcdC8vIG1heC13aWR0aDogMzUwcHg7XG5cdFx0Ly8gZm9udC1zaXplOiAxcmVtO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0Zm9udC1zaXplOiAwLjc1cmVtO1xuXHRcdGZvbnQtZmFtaWx5OiAnQ0YgTW9kR3JvdGVzayc7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0QGluY2x1ZGUgZm9yLW1vYmlsZSB7XG5cdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0fVxuXHR9XG5cblx0YnV0dG9uIHtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHQvLyBmb250LXNpemU6IDAuODc1cmVtO1xuXHRcdG1pbi13aWR0aDogdW5zZXQ7XG5cdFx0Ly8gZm9udC13ZWlnaHQ6IDYwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRwYWRkaW5nOiA1cHggMTNweCA0cHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblx0XHQvLyBib3JkZXItcmFkaXVzOiAxLjVyZW07XG5cdFx0Ly8gbGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBcdGJvcmRlci1yYWRpdXM6IDA7XG4gICAgXHRmb250LXNpemU6IDExcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblxuXHRcdCYuYnRuLXN1Y2Nlc3Mge1xuXHRcdFx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0cGF0aCB7XG5cdFx0XHRcdFx0c3Ryb2tlOiAkd2hpdGU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsaW5lIHtcblx0XHRcdFx0XHRzdHJva2U6ICR3aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAbWVkaWEoaG92ZXI6aG92ZXIpIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cblx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRwYXRoIHtcblx0XHRcdFx0XHRcdHN0cm9rZTogJHdoaXRlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGxpbmUge1xuXHRcdFx0XHRcdFx0c3Ryb2tlOiAkd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0c3ZnIHtcbiAgICBcdFx0bWFyZ2luLXJpZ2h0OiAuNnJlbTtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Ji5wcml2YWN5LWxuayB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y29sb3I6ICM3NTc1NzU7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHRcdFx0bWFyZ2luLXRvcDogMnB4O1xuXG5cdFx0XHRAaW5jbHVkZSBmb3ItbW9iaWxlIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGE6bm90KC5wcml2YWN5LWxuaykge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tbGVmdDogMS4xMjVyZW07XG5cdH1cblxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZzogMDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGJvcmRlcjogI0I1QjVCNTtcblxuXHRcdCYubm9kaXNwbGF5IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCsgbGFiZWwge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0Ly8gYm9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRibGFjaztcblx0XHRcdFx0XHRib3JkZXI6IGRvdWJsZSAkd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gJjo6YWZ0ZXIge1xuXHRcdFx0XHQvLyBcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdC8vIH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmRpc2FibGVkIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRib3JkZXItY29sb3I6IHJnYmEoYmxhY2ssIC41KTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoYmxhY2ssIC41KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRsYWJlbCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC8vIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcblx0XHRwYWRkaW5nLWxlZnQ6IDE5cHg7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xZW07XG5cdFx0Y29sb3I6ICRibGFjaztcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAxM3B4O1xuXHRcdFx0aGVpZ2h0OiAxM3B4O1xuXHRcdFx0Ym9yZGVyOiAxLjNweCBzb2xpZCAjQjVCNUI1O1xuXHRcdFx0Ly8gYm9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC41cyB2YXIoLS1lYXNlLWN1YmljLW91dCk7XG5cdFx0fVxuXG5cdFx0Ji5kaXNhYmxlZCB7XG5cdFx0XHRjb2xvcjogcmdiYShibGFjaywgLjYpO1xuXHRcdH1cblx0fVxuXG5cdC5iaXNxdWl0ZS1jb25zZW50LWJ0bnMge1xuXHRcdG1hcmdpbi10b3A6IDE3cHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWZsb3c6IGNvbHVtbjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0Z2FwOiA0cHg7XG5cblx0fVxuXG5cdC5iaXNxdWl0ZS1jb25zZW50LW9wdGlvbnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdG1hcmdpbi10b3A6IDE3cHg7XG5cdFx0Z2FwOiAxcmVtO1xuXG5cdFx0LmNvbnNlbnQtbGFiZWwge1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0bGlzdC1zdHlsZTogMS4yO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4xZW07XG5cdFx0XHRmb250XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0XHR9XG5cblx0XHRcdCsgbGFiZWwge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMS4zcmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQge1xuXHRcdC8vIGJvdHRvbTogMTE1cHg7XG5cdFx0Ly8gd2lkdGg6IDgwJTtcblx0XHRib3R0b206IDZyZW07XG5cdFx0XG5cblx0XHRsYWJlbCB7XG5cdFx0XHQvLyAmOjpiZWZvcmUge1xuXHRcdFx0Ly8gXHR0b3A6IC0ycHg7XG5cdFx0XHQvLyB9XG5cblx0XHRcdC8vICY6OmFmdGVyIHtcblx0XHRcdC8vIFx0dG9wOiAwO1xuXHRcdFx0Ly8gfVxuXHRcdH1cblx0fVxuXG5cblx0QGluY2x1ZGUgZm9yLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Ym90dG9tOiAzLjJyZW07XG5cdFx0bGVmdDogdmFyKC0tc2l0ZS1wYWRkaW5nKTtcblx0XHQvLyB3aWR0aDogMjkwcHg7XG5cdFx0Ly8gaGVpZ2h0OiAzODRweDtcblx0XHQvLyBwYWRkaW5nOiAyNXB4IDE1cHggMTVweDtcblx0XHQvLyBsZWZ0OiA1MCU7XG5cdFx0Ly8gcmlnaHQ6IHVuc2V0O1xuXHRcdC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHQvLyB3aWR0aDogMTAwJTtcblx0XHRcdGZsZXg6IDEgMCBhdXRvO1xuXHRcdFx0Ly8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRmb250LXNpemU6IDlweDtcblx0XHR9XG5cblx0XHQuYmlzcXVpdGUtY29uc2VudC1vcHRpb25zIHtcblx0XHRcdG1hcmdpbi10b3A6IDE3cHg7XG4gICAgXHRcdGZsZXgtZmxvdzogcm93O1xuXG5cdFx0XHQuY29uc2VudC1sYWJlbCB7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuICAgIFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcbiAgICBcdFx0XHRmb250LXNpemU6IDEwcHg7XG5cblx0XHRcdFx0KyBsYWJlbCB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHQvLyB0b3A6IDNweDtcblx0XHRcdFx0XHR3aWR0aDogMTFweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDExcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYmlzcXVpdGUtY29uc2VudC1idG5zIHtcblx0XHRcdGZsZXgtZmxvdzogd3JhcDtcblx0XHRcdC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRtYXJnaW4tdG9wOiAuNzVyZW07XG5cdFx0XHRnYXA6IC40cmVtO1xuXHRcdFx0Zm9udC1zaXplOiA5cHg7XG5cdFx0XHRcblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cbn1cblxuLyoqIGVuZCBjb29raWUtY29uc2VudCAqKi8iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFDQ0E7Ozs7OztFQU1FO0FDTkYsQUFBQSxLQUFLLENBQUM7RUFDRixPQUFPLENBQUEsWUFBQztFQUNSLFlBQVksQ0FBQSxZQUFDO0VBQ2IsaUJBQWlCLENBQUEsRUFBQztFQUVsQixlQUFlLENBQUEsVUFBQztFQUNoQixlQUFlLENBQUEsVUFBQztFQUVoQixnQkFBZ0IsQ0FBQSxVQUFDO0VBRWpCLGNBQWMsQ0FBQSxRQUFDO0VBRWYsWUFB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 */
