/*! 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.
 */
@import url("https://fonts.googleapis.com/css2?family=Castoro+Titling&family=Open+Sans:wght@300..800&display=swap");
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

/**
   * Render the `main` element consistently in IE.
   */
main {
  display: block;
}

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

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

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

/* Text-level semantics
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
  background-color: transparent;
}

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

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

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

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

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

sub {
  bottom: -0.25rem;
}

sup {
  top: -0.5rem;
}

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

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

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

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
  /* 1 */
  text-transform: none;
}

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

/**
   * Remove the inner border and padding in Firefox.
   */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

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

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

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

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

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
     ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
  display: block;
}

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

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

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

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

html {
  scroll-behavior: smooth;
  scroll-padding: 4rem;
  -webkit-tap-highlight-color: transparent;
}
@media (min-width: 1092px) {
  html {
    scroll-padding: 6rem;
  }
}

body {
  min-height: 100vh;
}
body.resize-animation-stopper * {
  transition: none !important;
}

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

ul {
  list-style: none;
}

hr {
  background-color: #dfdfdf;
  border: 0;
  height: 1px;
  margin: 1.5rem 0;
}

body {
  font-family: "Open Sans", sans-serif;
  color: #000;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: "Castoro Titling", sans-serif;
  font-weight: 400 !important;
}
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong {
  font-weight: 400 !important;
}

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

.page-title {
  font-size: 1.6rem;
  margin-bottom: 1.2rem;
}
@media (min-width: 768px) {
  .page-title {
    font-size: 1.9rem;
    margin-bottom: 2rem;
  }
}

.section-title,
.editor .section-title {
  text-align: center;
  margin-bottom: 1.5rem;
}
.section-title::after,
.editor .section-title::after {
  content: "";
  display: block;
  width: 250px;
  max-width: 100%;
  height: 1px;
  margin: 0.9rem auto 0;
  background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.3), transparent);
}
@media (min-width: 768px) {
  .section-title,
  .editor .section-title {
    font-size: 1.8rem;
    margin-bottom: 1.7rem;
  }
}

.editor {
  line-height: 1.5;
}
.editor > *:first-child {
  margin-top: 0 !important;
}
.editor > *:last-child {
  margin-bottom: 0 !important;
}
.editor h1,
.editor h2,
.editor h3,
.editor h4,
.editor h5,
.editor h6 {
  margin: 1.25rem 0 0.8rem 0;
  line-height: 1.3;
}
.editor p {
  margin-bottom: 1.2rem;
}
.editor a:not([class]) {
  font-weight: 600;
  word-break: break-word;
}
.editor b,
.editor strong {
  font-weight: 600;
}
.editor ol,
.editor ul {
  margin-left: 1.3rem;
  margin-bottom: 1.5rem;
}
.editor ol ol,
.editor ol ul,
.editor ul ol,
.editor ul ul {
  margin-bottom: 0;
}
.editor ol li::marker,
.editor ul li::marker {
  color: currentColor;
  font-size: 1.1rem;
}
.editor ul {
  list-style-type: disc;
}
.editor .wp-block-image figcaption {
  font-size: 0.875rem;
}
.editor pre.wp-block-code {
  border-left: 6px solid #313131;
  background-color: #f5f7f9;
  padding: 0.8em 0.6rem;
  margin-bottom: 1.2rem;
}
.editor .wp-block-pullquote {
  border-top: 4px solid rgb(59, 59, 59);
  border-bottom: 4px solid rgb(59, 59, 59);
  margin-bottom: 1.2rem;
}
.editor .wp-block-buttons {
  margin-bottom: 1.2rem;
}
.editor .wp-block-separator {
  border-color: #1f1f1f;
  background-color: #1f1f1f;
}
.editor table {
  margin-bottom: 1.2rem;
}
.editor table thead {
  border: none;
}
.editor table th {
  text-align: left;
}
.editor table * {
  border-color: rgb(199, 199, 199) !important;
}

ul.checkmarks {
  line-height: 1.5;
  margin-left: 0;
}
ul.checkmarks li {
  list-style-type: none;
  background-image: url(../../svg/checkmark.svg);
  background-repeat: no-repeat;
  background-position: 0 6px;
  background-repeat: no-repeat;
  padding-left: 21px;
}

:focus {
  outline: none;
}

body.using-keyboard :focus {
  outline: rgb(0, 0, 0) auto 2px;
}

.skip-link:focus {
  outline: rgb(0, 0, 0) auto 2px !important;
}

.anim {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.anim.in-view {
  opacity: 1;
  transform: translateY(0) scale(1);
}

@media (max-width: 767px) {
  .swiper-slide .anim,
  .swiper-slide.anim {
    transition-delay: 0s !important;
  }
}
.anim-fade {
  transform: none;
}

.anim-left {
  transform: translateX(-50px);
}

.anim-right {
  transform: translateX(50px);
}

.anim-scale {
  transform: scale(0.9);
}

.anim-d1 {
  transition-delay: 0.1s;
}

.anim-d2 {
  transition-delay: 0.2s;
}

.anim-d3 {
  transition-delay: 0.3s;
}

.anim-d4 {
  transition-delay: 0.4s;
}

.anim-d5 {
  transition-delay: 0.5s;
}

.anim-stagger > .anim:nth-child(1) {
  transition-delay: 0s;
}
.anim-stagger > .anim:nth-child(2) {
  transition-delay: 0.12s;
}
.anim-stagger > .anim:nth-child(3) {
  transition-delay: 0.24s;
}
.anim-stagger > .anim:nth-child(4) {
  transition-delay: 0.36s;
}
.anim-stagger > .anim:nth-child(5) {
  transition-delay: 0.48s;
}
.anim-stagger > .anim:nth-child(6) {
  transition-delay: 0.6s;
}
.anim-stagger > .anim:nth-child(7) {
  transition-delay: 0.72s;
}
.anim-stagger > .anim:nth-child(8) {
  transition-delay: 0.84s;
}
.anim-stagger > .anim:nth-child(9) {
  transition-delay: 0s;
}
.anim-stagger > .anim:nth-child(10) {
  transition-delay: 0.12s;
}
.anim-stagger > .anim:nth-child(11) {
  transition-delay: 0.24s;
}
.anim-stagger > .anim:nth-child(12) {
  transition-delay: 0.36s;
}
.anim-stagger > .anim:nth-child(13) {
  transition-delay: 0.48s;
}
.anim-stagger > .anim:nth-child(14) {
  transition-delay: 0.6s;
}
.anim-stagger > .anim:nth-child(15) {
  transition-delay: 0.72s;
}
.anim-stagger > .anim:nth-child(16) {
  transition-delay: 0.84s;
}
.anim-stagger > .anim:nth-child(17) {
  transition-delay: 0s;
}
.anim-stagger > .anim:nth-child(18) {
  transition-delay: 0.12s;
}
.anim-stagger > .anim:nth-child(19) {
  transition-delay: 0.24s;
}
.anim-stagger > .anim:nth-child(20) {
  transition-delay: 0.36s;
}
.anim-stagger > .anim:nth-child(21) {
  transition-delay: 0.48s;
}
.anim-stagger > .anim:nth-child(22) {
  transition-delay: 0.6s;
}
.anim-stagger > .anim:nth-child(23) {
  transition-delay: 0.72s;
}
.anim-stagger > .anim:nth-child(24) {
  transition-delay: 0.84s;
}
.anim-stagger > .anim:nth-child(25) {
  transition-delay: 0s;
}
.anim-stagger > .anim:nth-child(26) {
  transition-delay: 0.12s;
}
.anim-stagger > .anim:nth-child(27) {
  transition-delay: 0.24s;
}
.anim-stagger > .anim:nth-child(28) {
  transition-delay: 0.36s;
}
.anim-stagger > .anim:nth-child(29) {
  transition-delay: 0.48s;
}
.anim-stagger > .anim:nth-child(30) {
  transition-delay: 0.6s;
}
.anim-stagger > .anim:nth-child(31) {
  transition-delay: 0.72s;
}
.anim-stagger > .anim:nth-child(32) {
  transition-delay: 0.84s;
}
.anim-stagger > .anim:nth-child(33) {
  transition-delay: 0s;
}
.anim-stagger > .anim:nth-child(34) {
  transition-delay: 0.12s;
}
.anim-stagger > .anim:nth-child(35) {
  transition-delay: 0.24s;
}
.anim-stagger > .anim:nth-child(36) {
  transition-delay: 0.36s;
}
.anim-stagger > .anim:nth-child(37) {
  transition-delay: 0.48s;
}
.anim-stagger > .anim:nth-child(38) {
  transition-delay: 0.6s;
}
.anim-stagger > .anim:nth-child(39) {
  transition-delay: 0.72s;
}
.anim-stagger > .anim:nth-child(40) {
  transition-delay: 0.84s;
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 15px 15px;
  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:hover {
  opacity: 1;
}
.hamburger.is-active:hover {
  opacity: 1;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #fff;
}

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

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

/*
 * Squeeze
 */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease, background-color 0.3s;
}
.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0.3s;
}
.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease, background-color 0.3s;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.3s;
}

button,
.button-reset,
.button,
input[type=button],
.wp-block-button__link,
.woocommerce a.button,
.single_add_to_cart_button {
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: normal;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  -webkit-appearance: none;
}
button::-moz-focus-inner,
.button-reset::-moz-focus-inner,
.button::-moz-focus-inner,
input[type=button]::-moz-focus-inner,
.wp-block-button__link::-moz-focus-inner,
.woocommerce a.button::-moz-focus-inner,
.single_add_to_cart_button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.button,
input[type=button],
.wp-block-button__link,
.woocommerce a.button,
.single_add_to_cart_button {
  display: inline-block;
  text-decoration: none;
  background-color: #fff;
  color: #000;
  padding: 0.7rem 3.6rem;
  border-radius: 2rem;
  text-align: center;
  font-weight: 500;
  transition: background-color 0.2s;
  cursor: pointer;
}
.button:hover,
input[type=button]:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.single_add_to_cart_button:hover {
  background-color: #000;
  color: #fff;
}
.button.dark,
input[type=button].dark,
.wp-block-button__link.dark,
.woocommerce a.button.dark,
.single_add_to_cart_button.dark {
  background-color: #000;
  color: #fff;
}
.button.dark:hover,
input[type=button].dark:hover,
.wp-block-button__link.dark:hover,
.woocommerce a.button.dark:hover,
.single_add_to_cart_button.dark:hover {
  background-color: #fff;
  color: #000;
}
.button.borders,
input[type=button].borders,
.wp-block-button__link.borders,
.woocommerce a.button.borders,
.single_add_to_cart_button.borders {
  box-shadow: inset 0 0 0px 2px #F3EDE4;
  background-color: transparent;
  color: #000;
}
.button.borders:where(:hover, :focus),
input[type=button].borders:where(:hover, :focus),
.wp-block-button__link.borders:where(:hover, :focus),
.woocommerce a.button.borders:where(:hover, :focus),
.single_add_to_cart_button.borders:where(:hover, :focus) {
  background-color: #F3EDE4;
  color: #fff;
}
.button.arrow,
input[type=button].arrow,
.wp-block-button__link.arrow,
.woocommerce a.button.arrow,
.single_add_to_cart_button.arrow {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.button.arrow:after,
input[type=button].arrow:after,
.wp-block-button__link.arrow:after,
.woocommerce a.button.arrow:after,
.single_add_to_cart_button.arrow:after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 0.8rem;
  background-image: url(../../svg/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: right;
  background-size: contain;
  margin-top: 1px;
}
.button.phone:before, .button.email:before,
input[type=button].phone:before,
input[type=button].email:before,
.wp-block-button__link.phone:before,
.wp-block-button__link.email:before,
.woocommerce a.button.phone:before,
.woocommerce a.button.email:before,
.single_add_to_cart_button.phone:before,
.single_add_to_cart_button.email:before {
  content: "";
  display: inline-block;
  background-image: url(../../svg/phone.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 11px;
  margin-bottom: -2px;
}
.button.phone:before,
input[type=button].phone:before,
.wp-block-button__link.phone:before,
.woocommerce a.button.phone:before,
.single_add_to_cart_button.phone:before {
  background-image: url(../../svg/phone.svg);
  width: 12px;
  height: 12px;
}
.button.email:before,
input[type=button].email:before,
.wp-block-button__link.email:before,
.woocommerce a.button.email:before,
.single_add_to_cart_button.email:before {
  background-image: url(../../svg/email.svg);
  width: 17px;
  height: 14px;
}

.pagination {
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2rem;
  gap: 0.5rem;
}
.pagination .page-numbers {
  border: 2px solid #fff;
  border-radius: 50%;
  width: 2.2rem;
  height: 2.2rem;
  color: #fff;
  font-weight: 600;
  font-size: 1.0625rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.pagination .page-numbers:hover, .pagination .page-numbers.current {
  background-color: #fff;
  color: #101010;
}

.card-post {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  color: #fff;
}
.card-post .date {
  font-size: 0.9375rem;
  margin-bottom: 0.5rem;
  color: rgb(61, 61, 61);
  font-weight: 500;
}
.card-post .title {
  font-size: 1.2rem;
  margin-top: 0;
  margin-bottom: 0.7rem;
}
.card-post p {
  margin-bottom: 1.1rem;
}
.card-post .image {
  overflow: hidden;
}
@supports not (aspect-ratio: 1/1) {
  .card-post .image {
    height: 17rem;
  }
}
.card-post .image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/11;
  object-fit: cover;
  transition: all 0.4s;
}
.card-post .text {
  padding: 1rem 1.3rem 1.4rem;
  background: #F3EDE4;
}
.card-post:hover .image img {
  transform: scale(1.1);
}
.card-post:hover .button {
  background-color: rgb(236, 236, 236);
}
@media (min-width: 768px) {
  .card-post .title {
    font-size: 1.35rem;
  }
}
.card-post--dark, .card-post--light {
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 6px;
  height: 100%;
  color: #fff;
}
.card-post--dark .image, .card-post--light .image {
  display: none;
}
.card-post--dark .text, .card-post--light .text {
  background: transparent;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card-post--dark .text > p, .card-post--light .text > p {
  display: none;
}
.card-post--dark .title, .card-post--light .title {
  color: #fff;
  font-size: 1.15rem;
  margin-bottom: 0.8rem;
}
.card-post--dark .title a, .card-post--light .title a {
  color: inherit;
}
.card-post--dark .date, .card-post--light .date {
  color: #706F6F;
  margin-bottom: auto;
}
.card-post--dark .read-more,
.card-post--dark .button, .card-post--light .read-more,
.card-post--light .button {
  background: transparent;
  color: #fff;
  text-decoration: underline;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.5rem;
  padding: 0;
  border-radius: 0;
}
.card-post--dark .read-more::after,
.card-post--dark .button::after, .card-post--light .read-more::after,
.card-post--light .button::after {
  content: "";
  display: inline-block;
  width: 35px;
  height: 7px;
  background: url(../../svg/arrow-right-long-white.svg) no-repeat center/contain;
  transition: transform 0.2s;
}
.card-post--dark:hover .button, .card-post--light:hover .button {
  background: transparent;
}
.card-post--dark:hover .button::after, .card-post--light:hover .button::after {
  transform: translateX(5px);
}
.card-post--light {
  border-color: #ccc;
  color: inherit;
}
.card-post--light .title {
  color: #333;
}
.card-post--light .title a {
  color: #333;
}
.card-post--light .date {
  color: #474646;
}
.card-post--light .read-more,
.card-post--light .button {
  color: #3c3b3b;
}
.card-post--light .read-more::after,
.card-post--light .button::after {
  background-image: url(../../svg/arrow-right-long.svg);
}

.page-header-image {
  position: relative;
  height: 38vh;
  min-height: 250px;
  max-height: 550px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding-inline: 1rem;
}
.page-header-image .shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.45), transparent);
}
.page-header-image h1 {
  position: relative;
  font-size: 1.6rem;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.15);
  text-align: center;
  margin-top: 2.8rem;
}
@media (min-width: 768px) {
  .page-header-image {
    height: 42vh;
  }
  .page-header-image h1 {
    font-size: 2.5rem;
  }
}

.employee-image {
  position: relative;
  overflow: hidden;
  color: #fff;
}
.employee-image--primary {
  color: #fff;
}
.employee-image .bg-shape {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 0;
}
.employee-image img:not(.bg-shape) {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 349/400;
  object-fit: cover;
  object-position: top;
  display: block;
}

.employee-card {
  color: #252525;
}
.employee-card__link {
  display: block;
  transition: opacity 0.2s ease;
}
.employee-card__link:hover, .employee-card__link:focus {
  opacity: 0.85;
}
.employee-card .employee-image {
  margin-bottom: 1.9rem;
}
.employee-card .info {
  padding-bottom: 0.3rem;
}
.employee-card h3 {
  font-size: 1.3rem;
  color: #000;
  margin-bottom: 0.5rem;
}
.employee-card__name-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.employee-card__name-link:hover, .employee-card__name-link:focus {
  color: #555;
}
.employee-card .role {
  font-size: 0.875rem;
  color: #505050;
  margin-bottom: 1.1rem;
}
.employee-card .icon-text {
  font-size: 0.9375rem;
  color: #252525;
}
.employee-card .icon-text + .icon-text {
  margin-top: 0.7rem;
}

.employees-carousel {
  background-color: #F3EDE4;
  color: #252525;
  padding-block: 3.5rem;
  padding-left: 1.2rem;
  overflow: hidden;
}
.employees-carousel .content {
  max-width: 1300px;
  margin-inline: auto;
  padding-inline: 0;
}
.employees-carousel .section-title {
  color: #000;
  margin-bottom: 2.3rem;
}
.employees-carousel .swiper-container {
  position: relative;
}
.employees-carousel .swiper {
  min-width: 0;
}
.employees-carousel .swiper-slide {
  height: auto;
}
.employees-carousel .swiper-slide:nth-child(1) .anim {
  transition-delay: 0s;
}
.employees-carousel .swiper-slide:nth-child(2) .anim {
  transition-delay: 0.15s;
}
.employees-carousel .swiper-slide:nth-child(3) .anim {
  transition-delay: 0.3s;
}
.employees-carousel .swiper-slide:nth-child(4) .anim {
  transition-delay: 0.45s;
}
.employees-carousel .swiper-slide:nth-child(5) .anim {
  transition-delay: 0.6s;
}
.employees-carousel .navigation {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding-right: 1.2rem;
  margin-top: 1.5rem;
  user-select: none;
}
.employees-carousel .custom-swiper-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  background: #101010;
  border-radius: 50%;
  cursor: pointer;
  transition: opacity 0.3s;
}
.employees-carousel .custom-swiper-button img {
  width: 40%;
  filter: brightness(0) invert(1);
}
.employees-carousel .custom-swiper-button.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}
@media (min-width: 768px) {
  .employees-carousel {
    padding-block: 7rem;
    padding-left: 2rem;
  }
  .employees-carousel .section-title {
    margin-bottom: 3rem;
  }
  .employees-carousel .navigation {
    padding-right: 2rem;
    margin-top: 2.5rem;
  }
}
@media (min-width: 1200px) {
  .employees-carousel {
    padding-left: 5rem;
  }
  .employees-carousel .navigation {
    padding-right: 5rem;
  }
}
@media (min-width: 1600px) {
  .employees-carousel {
    padding-left: 10rem;
  }
  .employees-carousel .navigation {
    padding-right: 10rem;
  }
}

.image-text-grid {
  background-color: #312D26;
}
.image-text-grid .item {
  display: grid;
}
.image-text-grid .image {
  order: 0;
}
.image-text-grid .text {
  order: 1;
}
.image-text-grid .image {
  aspect-ratio: 16/10;
  background-size: cover;
  background-position: center;
}
.image-text-grid .text {
  padding: 2.5rem 1.2rem 3rem;
  color: #fff;
}
.image-text-grid .text h2 {
  color: #fff;
  font-size: 1.3rem;
  margin-bottom: 1rem;
}
.image-text-grid .text h2::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 400px;
  height: 1px;
  margin-top: 0.9rem;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.4), transparent);
}
.image-text-grid .text p {
  line-height: 1.6;
  margin-bottom: 1.2rem;
}
.image-text-grid .text .buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.5rem;
}
.image-text-grid .text .button {
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
  .image-text-grid .item {
    grid-template-columns: 1fr 1fr;
    min-height: 31rem;
  }
  .image-text-grid .image,
  .image-text-grid .text {
    order: initial;
  }
  .image-text-grid .image {
    aspect-ratio: auto;
  }
  .image-text-grid .text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 4rem 3rem;
  }
  .image-text-grid .text h2 {
    font-size: 1.6rem;
  }
  .image-text-grid .text p {
    font-size: 1.05rem;
  }
}
@media (min-width: 992px) {
  .image-text-grid .text {
    padding: 4rem 5rem;
  }
}

.references-section {
  background-color: #F3EDE4;
  padding: 3.5rem 1.2rem;
}
.references-section .content {
  max-width: 1200px;
  margin-inline: auto;
}
.references-section .section-title {
  text-align: center;
  margin-bottom: 2.5rem;
}
.references-section .section-title::after {
  display: none;
}
.references-section .references-grid {
  display: grid;
  gap: 1.5rem;
}
.references-section .reference-card {
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 2rem 2.5rem;
  display: flex;
  flex-direction: column;
}
.references-section .reference-card h3 {
  font-size: 1.25rem;
  line-height: 1.2;
  margin-bottom: 1rem;
  font-weight: normal;
}
.references-section .reference-card .date {
  font-size: 1rem;
  color: #474646;
  margin-bottom: 1.2rem;
}
.references-section .reference-card .excerpt {
  font-size: 0.85rem;
  line-height: 1.55;
  color: #706F6F;
  margin: 0 0 2rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.references-section .reference-card .read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  font-size: 1rem;
  text-decoration: underline;
  color: #3c3b3b;
  margin-top: auto;
}
.references-section .reference-card .read-more img {
  width: 32px;
}
.references-section--dark {
  background: linear-gradient(#0c0c0c, #151515);
  color: #fff;
}
.references-section--dark .section-title {
  color: #fff;
}
.references-section--dark .section-title::after {
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.2), transparent);
}
.references-section--dark .reference-card {
  border-color: rgba(255, 255, 255, 0.13);
}
.references-section--dark .reference-card h3,
.references-section--dark .reference-card h3 a {
  color: #fff;
}
.references-section--dark .reference-card .date {
  color: #706F6F;
}
.references-section--dark .reference-card .read-more {
  color: #fff;
}
.references-section--dark .reference-card .excerpt {
  color: #706F6F;
}
@media (min-width: 768px) {
  .references-section {
    padding: 5rem 2rem;
  }
  .references-section .references-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}

.site-header {
  position: fixed;
  top: 0;
  width: 100%;
  max-width: 1920px;
  z-index: 1000;
  background-color: transparent;
  transition: background-color 0.3s;
}
.site-header.scrolled {
  background-color: #fff;
}
.site-header.scrolled .content {
  border-image: none;
  border-bottom-color: transparent;
}
.site-header.scrolled .logo-container img {
  filter: brightness(0);
}
.site-header.scrolled .desktop-menu a {
  color: #000;
}
.site-header.scrolled .desktop-menu .sub-menu-toggle svg path {
  stroke: #000;
}
.site-header.scrolled .language-switcher {
  color: #000;
}
.site-header.scrolled .hamburger-inner,
.site-header.scrolled .hamburger-inner::before,
.site-header.scrolled .hamburger-inner::after {
  background-color: #000;
}
.site-header.scrolled .box-shadow {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.0745098039);
}
.site-header .content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  max-width: 1427px;
  margin-inline: auto;
  padding: 0 0 0 0.7rem;
  border-bottom: 1px solid transparent;
  border-image: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.25), transparent) 1;
  transition: border-image 0.3s, border-color 0.3s;
}
.site-header .logo-container {
  width: 10rem;
  flex-shrink: 0;
}
.site-header .logo-container a,
.site-header .logo-container img {
  display: block;
  width: 100%;
}
.site-header .logo-container img {
  transition: filter 0.3s;
}
@media (min-width: 310px) {
  .site-header .logo-container {
    width: 11rem;
  }
}
.site-header .desktop-menu {
  display: none;
}
.site-header .header-right {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  margin-left: auto;
}
.site-header .language-switcher {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #fff;
  font-size: 0.9375rem;
  transition: color 0.3s;
}
.site-header .language-switcher a {
  color: inherit;
  transition: opacity 0.2s;
}
.site-header .language-switcher a:hover {
  opacity: 0.7;
}
.site-header .language-switcher a.active {
  font-weight: 600;
}
.site-header .language-switcher .divider {
  opacity: 0.5;
}
.site-header .hamburger-box {
  display: block !important;
}
.site-header .hamburger-inner,
.site-header .hamburger-inner::before,
.site-header .hamburger-inner::after {
  background-color: #fff;
}
.site-header .mobile-menu {
  position: fixed;
  right: 0;
  height: 100%;
  width: 100%;
  max-width: 18rem;
  background: #0c0c0c;
  padding: 1rem 1.5rem 8rem;
  transform: translateX(100%);
  transition: transform 0.3s, visibility 0.3s;
  visibility: hidden;
  overflow: auto;
  color: #fff;
  z-index: -1;
}
.site-header .mobile-menu.show {
  transform: translateX(0);
  visibility: visible;
}
.site-header .mobile-menu .menu > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.site-header .mobile-menu li {
  position: relative;
  list-style: none;
}
.site-header .mobile-menu a {
  display: block;
  padding: 0.7rem 0;
  color: #fff;
  font-weight: 300;
  text-decoration: none;
}
.site-header .mobile-menu .sub-menu {
  display: none;
  padding-left: 1.2rem;
}
.site-header .mobile-menu .sub-menu a {
  font-size: 0.9375rem;
}
.site-header .mobile-menu .open > .sub-menu {
  display: block;
}
.site-header .mobile-menu .open > .sub-menu-toggle {
  transform: rotate(180deg);
}
.site-header .mobile-menu .sub-menu-toggle {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 0;
  cursor: pointer;
  background: none;
  position: absolute;
  top: 0;
  right: 0;
  transition: transform 0.2s;
}
.site-header .mobile-menu .sub-menu-toggle svg path {
  stroke: #fff;
}
.site-header .box-shadow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  transition: box-shadow 0.3s;
  z-index: -1;
}
@media (min-width: 1092px) {
  .site-header .content {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 0 2rem;
  }
  .site-header .logo-container {
    width: 16rem;
    justify-self: start;
  }
  .site-header .desktop-menu {
    display: block;
    justify-self: center;
  }
  .site-header .desktop-menu .menu {
    display: flex;
    gap: 0.2rem;
  }
  .site-header .desktop-menu li {
    position: relative;
    list-style: none;
  }
  .site-header .desktop-menu a {
    position: relative;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    font-family: "Castoro Titling", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    padding: 1.7rem 0.9rem 1.4rem;
    white-space: nowrap;
    transition: color 0.3s, opacity 0.2s;
  }
  .site-header .desktop-menu a:hover {
    opacity: 0.7;
  }
  .site-header .desktop-menu .menu-item-has-children > a {
    padding-right: 1.8rem;
  }
  .site-header .desktop-menu .sub-menu-toggle {
    position: absolute;
    right: 0;
    top: 0;
    width: 28px;
    height: 100%;
    display: grid;
    place-items: center;
    border: 0;
    background: none;
    cursor: pointer;
  }
  .site-header .desktop-menu .sub-menu-toggle svg path {
    stroke: #fff;
  }
  .site-header .desktop-menu .sub-menu {
    padding: 0;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.2s, opacity 0.2s, visibility 0.2s;
  }
  .site-header .desktop-menu .sub-menu li {
    position: relative;
    list-style: none;
  }
  .site-header .desktop-menu .sub-menu a {
    display: block;
    padding: 0.7rem 1.1rem;
    color: #000;
    font-family: "Open Sans", sans-serif;
    font-size: 0.9375rem;
    font-weight: 400;
    border-bottom: 1px solid #eee;
    white-space: nowrap;
  }
  .site-header .desktop-menu .sub-menu a:hover {
    opacity: 1;
    background: #f5f5f5;
  }
  .site-header .desktop-menu .sub-menu .menu-item-has-children > a {
    padding-right: 2.2rem;
  }
  .site-header .desktop-menu .sub-menu .sub-menu-toggle {
    width: 28px;
    height: 100%;
  }
  .site-header .desktop-menu .sub-menu .sub-menu-toggle svg path {
    stroke: #000;
  }
  .site-header .desktop-menu .sub-menu .sub-menu-toggle svg {
    transform: rotate(-90deg);
  }
  .site-header .desktop-menu .sub-menu.depth-0 {
    position: absolute;
    top: 100%;
    left: 0;
    display: grid;
    transform: translateY(10px);
  }
  .site-header .desktop-menu .sub-menu.depth-1 {
    position: absolute;
    top: 0;
    left: 100%;
    display: grid;
    transform: translateX(10px);
  }
  .site-header .desktop-menu .menu-item-has-children:hover > .sub-menu.depth-0 {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }
  .site-header .desktop-menu .sub-menu .menu-item-has-children:hover > .sub-menu.depth-1 {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
  .site-header .header-right {
    justify-self: end;
  }
  .site-header .hamburger {
    display: none;
  }
}

.admin-bar .site-header {
  margin-top: 2.875rem;
  position: fixed !important;
}
@media (min-width: 783px) {
  .admin-bar .site-header {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 600px) {
  #wpadminbar {
    position: fixed;
  }
}
.footer-banner {
  position: relative;
  min-height: 300px;
  display: flex;
  align-items: center;
  background: url(../../images/ceiling.jpg) 20%/cover no-repeat;
}
.footer-banner .shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.65) 47%, transparent);
}
.footer-banner .content {
  position: relative;
  max-width: 1300px;
  margin-inline: auto;
  padding: 3rem 1.2rem;
  color: #fff;
  width: 100%;
}
.footer-banner h2 {
  font-size: 1.6rem;
  margin-bottom: 1.5rem;
  max-width: 520px;
}
.footer-banner .jca-logo {
  width: 250px;
  max-width: 100%;
}
@media (min-width: 768px) {
  .footer-banner {
    min-height: 450px;
  }
  .footer-banner .content {
    padding: 4rem 2rem;
  }
  .footer-banner h2 {
    font-size: 2.1rem;
  }
  .footer-banner .jca-logo {
    width: 300px;
  }
}

.site-footer {
  background: linear-gradient(#0c0c0c, #151515);
  color: #fff;
  overflow: hidden;
}
.site-footer .top .content {
  max-width: 1100px;
  margin-inline: auto;
  padding: 3rem 1.2rem;
  text-align: center;
}
.site-footer .logo-container {
  margin-bottom: 2rem;
}
.site-footer .logo-container img {
  width: 280px;
  max-width: 100%;
  margin-inline: auto;
}
.site-footer .logo-container::after {
  content: "";
  display: block;
  width: 200px;
  max-width: 100%;
  height: 1px;
  margin: 1.5rem auto 0;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.3), transparent);
}
.site-footer .footer-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  margin-bottom: 2.5rem;
  text-align: left;
  padding-left: 1.4rem;
}
.site-footer .footer-nav a {
  font-family: "Castoro Titling", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.site-footer .footer-nav a:hover {
  opacity: 0.7;
}
.site-footer .offices {
  display: grid;
  gap: 2rem;
  text-align: left;
  margin-bottom: 2.5rem;
}
.site-footer .offices .office {
  border-left: 1px solid;
  border-image: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.3), transparent) 1;
  padding-left: 1.5rem;
}
.site-footer .offices .office h3 {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}
.site-footer .offices .office p {
  font-weight: 300;
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.5;
  margin: 0;
}
@media (min-width: 768px) {
  .site-footer .offices {
    grid-template-columns: 1fr 1fr 1fr;
    max-width: 750px;
    margin-inline: auto;
    margin-bottom: 2.5rem;
  }
}
.site-footer .social-icons {
  display: flex;
  justify-content: flex-start;
  gap: 0.6rem;
  padding-left: 1.4rem;
}
.site-footer .social-icons img {
  height: 30px;
  transition: filter 0.2s;
}
.site-footer .social-icons img:hover {
  filter: brightness(0.8);
}
.site-footer .newsletter-link {
  display: block;
  margin-top: 1.5rem;
  padding-left: 1.4rem;
  text-align: left;
  font-family: "Castoro Titling", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  opacity: 0.7;
}
.site-footer .newsletter-link:hover {
  opacity: 0.5;
}
.site-footer .bottom .content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  max-width: 1100px;
  margin-inline: auto;
  padding: 0.8rem 1.2rem 0.8rem 2.6rem;
}
.site-footer .bottom p,
.site-footer .bottom a {
  font-size: 0.8125rem;
  font-weight: 300;
  color: #7b7b7b;
  margin: 0;
  line-height: 1.7;
}
.site-footer .bottom a {
  text-decoration: underline;
}
@media (min-width: 768px) {
  .site-footer .logo-container {
    margin-bottom: 3.8rem;
  }
  .site-footer .top .content {
    padding: 4rem 2rem;
  }
  .site-footer .footer-nav {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem 2rem;
    text-align: center;
  }
  .site-footer .footer-nav {
    padding: 0;
  }
  .site-footer .footer-nav a {
    font-size: 1.05rem;
  }
  .site-footer .social-icons {
    justify-content: center;
    padding-left: 0;
  }
  .site-footer .newsletter-link {
    padding-left: 0;
    text-align: center;
  }
  .site-footer .bottom .content {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.2rem 3.3rem;
    padding: 0.8rem 2rem;
  }
}

aside.sidebar-single .sidebar-title {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  font-weight: 700;
}
aside.sidebar-single .grid {
  display: grid;
  gap: 1.8rem;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
aside.sidebar-single article {
  display: grid;
  gap: 0.9rem;
}
aside.sidebar-single .title {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
}
aside.sidebar-single .date {
  font-size: 0.875rem;
  color: #676767;
  margin: 0;
}
@media (min-width: 992px) {
  aside.sidebar-single .sidebar-title {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
  }
  aside.sidebar-single article {
    grid-template-columns: 8rem 1fr;
    gap: 1rem;
  }
  aside.sidebar-single .title {
    font-size: 0.9rem;
  }
}

form {
  position: relative;
}
form h2,
form h3 {
  font-weight: 600;
  color: #000;
  margin-bottom: 1rem;
}
form label {
  display: inline-block;
  font-size: 1rem;
  font-weight: 400;
  color: #000;
  margin-left: 0.2rem;
  margin-bottom: 0.6rem !important;
}
form .asterisk,
form .required {
  color: rgb(206, 17, 17);
  font-weight: 500;
}
form input[type=text],
form input[type=email],
form input[type=tel],
form input[type=password],
form textarea {
  width: 100%;
  display: block;
  padding: 7px !important;
  color: #000000;
  line-height: 1.15 !important;
  border: none;
  border-radius: 5px;
  background-color: #fff;
}
form input[type=text]:focus,
form input[type=email]:focus,
form input[type=tel]:focus,
form input[type=password]:focus,
form textarea:focus {
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.1019607843);
}
form textarea {
  height: 115px;
}
form select {
  width: 100%;
  border: 1px solid rgb(221, 221, 221);
  border-radius: 6px;
  display: block;
  padding: 6px 8px;
  box-shadow: none;
  color: #4d4d4d !important;
  background-color: transparent;
}

.wpcf7 form[data-status=submitting] .wpcf7-submit {
  pointer-events: none;
}
.wpcf7 input {
  accent-color: #e0d4c2;
}
.wpcf7 .wpcf7-list-item {
  margin: 0;
}
.wpcf7 .wpcf7-not-valid-tip {
  margin-top: 0.5rem;
  color: #e31c1c;
  font-weight: 500;
}
.wpcf7 .wpcf7-spinner {
  position: absolute !important;
  bottom: -1rem;
  left: 50%;
  transform: translateX(calc(-50% - 24px));
}
.wpcf7 .wpcf7-response-output {
  color: rgb(27, 27, 27) !important;
  border-color: rgb(27, 27, 27) !important;
}
.wpcf7 br {
  display: none;
}
.wpcf7 .wpcf7-radio,
.wpcf7 .wpcf7-checkbox {
  display: grid;
  gap: 0.2rem;
  margin-top: 0.4rem;
}
.wpcf7 .wpcf7-radio input,
.wpcf7 .wpcf7-checkbox input {
  margin-right: 0.3rem;
}

.form h2 {
  font-size: 1.1rem;
}
.form p {
  margin-bottom: 0;
}
.form .row {
  position: relative;
}
.form .row > div {
  margin-bottom: 1.4rem;
}
.form .full-width {
  grid-column: 1/-1;
}
@media (min-width: 576px) {
  .form .two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1.5rem;
  }
}
.form .radio-buttons {
  margin-bottom: 1rem;
}
.form .radio-buttons label {
  margin-bottom: 1rem;
}
.form .additional-info {
  display: block;
  font-size: 0.9375rem;
  font-style: italic;
  color: #3D3D3D;
  margin-top: 0.55rem;
  margin-bottom: 0.3rem;
}
.form .image-upload p {
  margin-bottom: 0.5rem;
}
.form .image-upload #mfcf7_zl_multifilecontainer {
  margin: 0;
}
.form .image-upload #mfcf7_zl_add_file {
  background-color: transparent !important;
  border: 2px dashed #e0d4c2;
  border-radius: 8px;
  background-color: transparent;
  color: #e0d4c2;
  margin-bottom: 0 !important;
  width: 100%;
}
.form .image-upload label {
  margin-bottom: 0 !important;
}
.form .hidden-fields {
  max-height: 0;
  overflow: hidden;
}

.home .hero {
  position: relative;
  height: 91vh;
  min-height: 500px;
  max-height: 911px;
  background: url(../../images/default-image.jpg);
  background-size: cover;
  background-position: 64% 50%;
  display: flex;
  align-items: center;
}
.home .hero .shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.1215686275), rgba(0, 0, 0, 0.4196078431));
}
.home .hero .content-wrapper {
  margin-inline: auto;
  max-width: 43rem;
  max-width: 88rem;
  width: 100%;
  padding: 0 1.2rem;
}
.home .hero .content {
  position: relative;
  color: #fff;
  max-width: 43rem;
  margin-top: 1.5rem;
}
.home .hero .hero-title {
  color: #fff;
  margin-bottom: 1.7rem;
}
.home .hero .hero-title h1 {
  margin-bottom: 0.3rem;
}
.home .hero .hero-title > :last-child {
  margin-bottom: 0;
}
.home .hero h1,
.home .hero h2,
.home .hero h3,
.home .hero h4,
.home .hero h5,
.home .hero h6 {
  color: #fff;
}
.home .hero .buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .home .hero .hero-title h1,
  .home .hero .hero-title h2 {
    font-size: 2.8rem;
  }
}

.home .text-section {
  background-color: #F3EDE4;
  text-align: center;
  margin: 1.5rem 1.2rem;
  padding-block: 3rem;
}
.home .text-section .content {
  max-width: 42rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
}
@media (min-width: 768px) {
  .home .text-section {
    margin: 2.5rem 2rem;
    padding-block: 4rem;
  }
  .home .text-section .content {
    padding-inline: 2rem;
  }
}

.home .main-services {
  display: grid;
  gap: 0;
  border-collapse: collapse;
  position: relative;
  overflow: hidden;
}
.home .main-services .service-box + .service-box {
  border-top: 21px solid #fff;
}
.home .main-services .service-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 300px;
  overflow: hidden;
  color: #fff;
}
.home .main-services .service-box .image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s ease;
}
.home .main-services .service-box:hover .image {
  transform: scale(1.05);
}
.home .main-services .service-box:hover .button {
  background-color: #000;
  color: #fff;
}
.home .main-services .service-box:hover .button.dark {
  background-color: #fff;
  color: #000;
}
.home .main-services .service-box .shade {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.28);
}
.home .main-services .service-box .text {
  position: relative;
  padding: 2rem 1.5rem;
  max-width: 32rem;
}
.home .main-services .service-box .text h2 {
  margin-bottom: 0.7rem;
}
.home .main-services .service-box .text p {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .home .main-services {
    grid-template-columns: 1fr 1fr;
  }
  .home .main-services .service-box + .service-box {
    border-top: none;
  }
  .home .main-services::before {
    content: "";
    position: absolute;
    top: -20px;
    bottom: -20px;
    left: 50%;
    width: 26px;
    background: #fff;
    z-index: 2;
    transform: translateX(-50%) rotate(-7deg);
  }
  .home .main-services .service-box {
    min-height: 500px;
  }
  .home .main-services .service-box .text {
    padding: 2.5rem;
  }
}

.home .secondary-services {
  position: relative;
  background-color: #F3EDE4;
  margin: 1.5rem 1.2rem;
  padding: 3rem 0 1.8rem;
  overflow: hidden;
}
.home .secondary-services::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../../images/abstract.jpg) center/cover no-repeat;
  opacity: 0.06;
}
.home .secondary-services .content {
  position: relative;
  max-width: 1300px;
  margin-inline: auto;
  padding-inline: 1.2rem;
  display: grid;
  gap: 1.3rem;
}
.home .secondary-services .heading h2 {
  font-size: 1.4rem;
}
.home .secondary-services .links a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 1.2rem;
  font-family: "Castoro Titling", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  text-transform: uppercase;
  border-bottom: 1px solid;
  border-image: linear-gradient(to right, rgba(0, 0, 0, 0.3), transparent) 1;
}
.home .secondary-services .links a:last-of-type() {
  border: none;
}
.home .secondary-services .links a.in-view {
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.home .secondary-services .links a.in-view:hover {
  opacity: 0.7;
  transition: opacity 0.2s;
}
.home .secondary-services .links a:hover img {
  transform: translateX(5px);
}
.home .secondary-services .links a img {
  width: 40px;
  flex-shrink: 0;
  transition: transform 0.2s;
}
@media (min-width: 768px) {
  .home .secondary-services {
    margin: 2.5rem 2rem;
    padding: 7rem 0;
  }
  .home .secondary-services .content {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
    padding-inline: 2rem;
  }
  .home .secondary-services .heading h2 {
    font-size: 2rem;
  }
  .home .secondary-services .links {
    margin-top: -1.1rem;
  }
  .home .secondary-services .links a {
    font-size: 1.35rem;
  }
}

.home .posts,
.page-template-page-asianajajat .posts,
.single-henkilosto .posts {
  background: linear-gradient(#0c0c0c, #151515);
  padding-block: 3.5rem;
  color: #fff;
  overflow: hidden;
}
.home .posts .section-title,
.page-template-page-asianajajat .posts .section-title,
.single-henkilosto .posts .section-title {
  color: #fff;
}
.home .posts .section-title::after,
.page-template-page-asianajajat .posts .section-title::after,
.single-henkilosto .posts .section-title::after {
  display: none;
}
.home .posts .content,
.page-template-page-asianajajat .posts .content,
.single-henkilosto .posts .content {
  max-width: 1300px;
  margin-inline: auto;
}
.home .posts .swiper-container,
.page-template-page-asianajajat .posts .swiper-container,
.single-henkilosto .posts .swiper-container {
  position: relative;
}
.home .posts .swiper,
.page-template-page-asianajajat .posts .swiper,
.single-henkilosto .posts .swiper {
  overflow: visible;
  padding-inline: 1.2rem;
}
.home .posts .swiper-slide,
.page-template-page-asianajajat .posts .swiper-slide,
.single-henkilosto .posts .swiper-slide {
  height: auto;
}
.home .posts .swiper-slide:nth-child(1) .anim,
.page-template-page-asianajajat .posts .swiper-slide:nth-child(1) .anim,
.single-henkilosto .posts .swiper-slide:nth-child(1) .anim {
  transition-delay: 0s;
}
.home .posts .swiper-slide:nth-child(2) .anim,
.page-template-page-asianajajat .posts .swiper-slide:nth-child(2) .anim,
.single-henkilosto .posts .swiper-slide:nth-child(2) .anim {
  transition-delay: 0.15s;
}
.home .posts .swiper-slide:nth-child(3) .anim,
.page-template-page-asianajajat .posts .swiper-slide:nth-child(3) .anim,
.single-henkilosto .posts .swiper-slide:nth-child(3) .anim {
  transition-delay: 0.3s;
}
.home .posts .swiper-slide:nth-child(4) .anim,
.page-template-page-asianajajat .posts .swiper-slide:nth-child(4) .anim,
.single-henkilosto .posts .swiper-slide:nth-child(4) .anim {
  transition-delay: 0.45s;
}
.home .posts .custom-swiper-button,
.page-template-page-asianajajat .posts .custom-swiper-button,
.single-henkilosto .posts .custom-swiper-button {
  display: none;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  transition: opacity 0.3s;
  z-index: 10;
}
.home .posts .custom-swiper-button img,
.page-template-page-asianajajat .posts .custom-swiper-button img,
.single-henkilosto .posts .custom-swiper-button img {
  width: 40%;
  filter: brightness(0) invert(1);
}
.home .posts .custom-swiper-button.prev,
.page-template-page-asianajajat .posts .custom-swiper-button.prev,
.single-henkilosto .posts .custom-swiper-button.prev {
  left: -60px;
}
.home .posts .custom-swiper-button.next,
.page-template-page-asianajajat .posts .custom-swiper-button.next,
.single-henkilosto .posts .custom-swiper-button.next {
  right: -60px;
}
.home .posts .custom-swiper-button.swiper-button-disabled,
.page-template-page-asianajajat .posts .custom-swiper-button.swiper-button-disabled,
.single-henkilosto .posts .custom-swiper-button.swiper-button-disabled {
  opacity: 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  .home .posts,
  .page-template-page-asianajajat .posts,
  .single-henkilosto .posts {
    padding-block: 7.1rem 8.7rem;
  }
  .home .posts .swiper,
  .page-template-page-asianajajat .posts .swiper,
  .single-henkilosto .posts .swiper {
    overflow: hidden;
    padding-inline: 0;
  }
  .home .posts .swiper-container,
  .page-template-page-asianajajat .posts .swiper-container,
  .single-henkilosto .posts .swiper-container {
    padding-inline: 3.9rem;
  }
  .home .posts .custom-swiper-button,
  .page-template-page-asianajajat .posts .custom-swiper-button,
  .single-henkilosto .posts .custom-swiper-button {
    display: flex;
  }
}

.page-template-default:not(.home) .container,
.error404 .container {
  max-width: 900px;
  margin-inline: auto;
  padding: 1.5rem 1.5rem 3rem;
  background: #fff;
}
@media (min-width: 576px) {
  .page-template-default:not(.home) .container,
  .error404 .container {
    padding: 2.5rem 2rem 4rem;
  }
}

.blog .site-content .blog-posts,
.archive .site-content .blog-posts {
  background: linear-gradient(#0c0c0c, #151515);
  padding-block: 3rem;
  color: #fff;
}
.blog .site-content .blog-posts .content,
.archive .site-content .blog-posts .content {
  max-width: 1300px;
  margin-inline: auto;
  padding-inline: 1.2rem;
}
.blog .site-content .blog-posts .posts-grid,
.archive .site-content .blog-posts .posts-grid {
  display: grid;
  gap: 1.2rem;
}
@media (min-width: 620px) {
  .blog .site-content .blog-posts .posts-grid,
  .archive .site-content .blog-posts .posts-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .blog .site-content .blog-posts,
  .archive .site-content .blog-posts {
    padding-block: 4rem;
  }
  .blog .site-content .blog-posts .content,
  .archive .site-content .blog-posts .content {
    padding-inline: 2rem;
  }
}
@media (min-width: 1000px) {
  .blog .site-content .blog-posts .posts-grid,
  .archive .site-content .blog-posts .posts-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}

.single-post .site-content,
.single-referenssi .site-content {
  background: linear-gradient(#0c0c0c, #151515);
}
.single-post .site-content .single-article,
.single-referenssi .site-content .single-article {
  color: #fff;
}
.single-post .site-content .single-article .content,
.single-referenssi .site-content .single-article .content {
  max-width: 800px;
  margin-inline: auto;
  padding: 2.5rem 1.2rem 2rem;
}
.single-post .site-content .single-article .title,
.single-referenssi .site-content .single-article .title {
  font-size: 1.4rem;
  margin-bottom: 0.6rem;
}
.single-post .site-content .single-article .date,
.single-referenssi .site-content .single-article .date {
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 2rem;
  font-weight: 500;
}
.single-post .site-content .single-article .editor,
.single-referenssi .site-content .single-article .editor {
  font-weight: 300;
  line-height: 1.8;
}
.single-post .site-content .single-article .editor h2,
.single-referenssi .site-content .single-article .editor h2 {
  font-size: 1.3rem;
  margin-top: 2rem;
  margin-bottom: 0.8rem;
}
.single-post .site-content .single-article .editor p,
.single-referenssi .site-content .single-article .editor p {
  margin-bottom: 1.2rem;
}
.single-post .site-content .single-article .border-gradient,
.single-referenssi .site-content .single-article .border-gradient {
  width: 250px;
  max-width: 100%;
  height: 2px;
  margin-top: 2.5rem;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.3), transparent);
}
.single-post .site-content .single-article .article-authors,
.single-referenssi .site-content .single-article .article-authors {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.single-post .site-content .single-article .article-authors__title,
.single-referenssi .site-content .single-article .article-authors__title {
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 1.5rem;
  color: #fff;
}
.single-post .site-content .single-article .article-authors__grid,
.single-referenssi .site-content .single-article .article-authors__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
.single-post .site-content .single-article .article-authors .employee-card,
.single-referenssi .site-content .single-article .article-authors .employee-card {
  color: #fff;
  max-width: 240px;
}
.single-post .site-content .single-article .article-authors .employee-card .employee-image,
.single-referenssi .site-content .single-article .article-authors .employee-card .employee-image {
  max-width: 240px;
}
.single-post .site-content .single-article .article-authors .employee-card h3,
.single-post .site-content .single-article .article-authors .employee-card .employee-card__name-link,
.single-referenssi .site-content .single-article .article-authors .employee-card h3,
.single-referenssi .site-content .single-article .article-authors .employee-card .employee-card__name-link {
  color: #fff;
}
.single-post .site-content .single-article .article-authors .employee-card .role,
.single-referenssi .site-content .single-article .article-authors .employee-card .role {
  color: rgba(255, 255, 255, 0.6);
}
.single-post .site-content .single-article .article-authors .employee-card .icon-text,
.single-referenssi .site-content .single-article .article-authors .employee-card .icon-text {
  color: rgba(255, 255, 255, 0.85);
}
.single-post .site-content .single-article .article-authors .employee-card .icon-text img,
.single-referenssi .site-content .single-article .article-authors .employee-card .icon-text img {
  filter: brightness(0) invert(1);
  flex-shrink: 0;
}
@media (min-width: 560px) {
  .single-post .site-content .single-article .article-authors__grid,
  .single-referenssi .site-content .single-article .article-authors__grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .single-post .site-content .single-article .article-authors__grid,
  .single-referenssi .site-content .single-article .article-authors__grid {
    grid-template-columns: repeat(3, minmax(0, 240px));
  }
}
@media (min-width: 768px) {
  .single-post .site-content .single-article .content,
  .single-referenssi .site-content .single-article .content {
    padding: 3.5rem 2rem 2.5rem;
  }
  .single-post .site-content .single-article .title,
  .single-referenssi .site-content .single-article .title {
    font-size: 2.2rem;
  }
  .single-post .site-content .single-article .editor h2,
  .single-referenssi .site-content .single-article .editor h2 {
    font-size: 1.5rem;
  }
}
.single-post .site-content .related-posts,
.single-referenssi .site-content .related-posts {
  padding-block: 3rem;
  color: #fff;
}
.single-post .site-content .related-posts .content,
.single-referenssi .site-content .related-posts .content {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 1.2rem;
}
.single-post .site-content .related-posts h2,
.single-referenssi .site-content .related-posts h2 {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}
.single-post .site-content .related-posts .posts-grid,
.single-referenssi .site-content .related-posts .posts-grid {
  display: grid;
  gap: 1.2rem;
}
.single-post .site-content .related-posts .show-all,
.single-referenssi .site-content .related-posts .show-all {
  text-align: center;
  margin-top: 2rem;
}
@media (min-width: 620px) {
  .single-post .site-content .related-posts .posts-grid,
  .single-referenssi .site-content .related-posts .posts-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
}
@media (min-width: 768px) {
  .single-post .site-content .related-posts,
  .single-referenssi .site-content .related-posts {
    padding-block: 4rem;
  }
  .single-post .site-content .related-posts h2,
  .single-referenssi .site-content .related-posts h2 {
    font-size: 1.6rem;
  }
  .single-post .site-content .related-posts .content,
  .single-referenssi .site-content .related-posts .content {
    padding-inline: 2rem;
  }
}

.single-referenssi .site-content .single-article .content {
  padding-bottom: 5rem;
}
@media (min-width: 768px) {
  .single-referenssi .site-content .single-article .content {
    padding-bottom: 6.5rem;
  }
}

.page-template-yhteystiedot .site-content .offices .content {
  max-width: 1100px;
  margin-inline: auto;
  padding: 2rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-template-yhteystiedot .site-content .offices .office-card {
  display: grid;
  grid-template-columns: 1fr;
}
.page-template-yhteystiedot .site-content .offices .office-card .image {
  aspect-ratio: 4/3;
  overflow: hidden;
}
.page-template-yhteystiedot .site-content .offices .office-card .image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-template-yhteystiedot .site-content .offices .office-card .info {
  background: #F3EDE4;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page-template-yhteystiedot .site-content .offices .office-card .info h2 {
  font-size: 1.6rem;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}
.page-template-yhteystiedot .site-content .offices .office-card .info .icon-text {
  margin-bottom: 0.4rem;
}
.page-template-yhteystiedot .site-content .offices .office-card .info .icon-text p {
  font-weight: 300;
  font-size: 0.9375rem;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .page-template-yhteystiedot .site-content .offices .content {
    padding: 3rem 2rem;
    gap: 2.5rem;
  }
  .page-template-yhteystiedot .site-content .offices .office-card {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
  .page-template-yhteystiedot .site-content .offices .office-card .image {
    aspect-ratio: auto;
    height: 380px;
    min-height: 0;
  }
  .page-template-yhteystiedot .site-content .offices .office-card .info {
    padding: 2.5rem 3rem;
    min-height: 380px;
  }
  .page-template-yhteystiedot .site-content .offices .office-card .info h2 {
    font-size: 2rem;
  }
}
.page-template-yhteystiedot .site-content .billing-info .content {
  max-width: 1100px;
  margin-inline: auto;
  padding: 0 1.2rem 3rem;
}
.page-template-yhteystiedot .site-content .billing-info .inner {
  background: #F3EDE4;
  padding: 2rem 1.5rem;
}
.page-template-yhteystiedot .site-content .billing-info h2 {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}
.page-template-yhteystiedot .site-content .billing-info .business-id {
  font-weight: 300;
  font-size: 0.9375rem;
  margin: 0 0 1.5rem;
}
.page-template-yhteystiedot .site-content .billing-info .billing-columns {
  display: grid;
  grid-template-columns: 1fr;
}
.page-template-yhteystiedot .site-content .billing-info .billing-columns .column {
  padding-bottom: 1rem;
}
.page-template-yhteystiedot .site-content .billing-info .billing-columns .column h3 {
  font-size: 1.1rem;
  font-weight: 400;
  padding-bottom: 0.7rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid transparent;
  border-image: linear-gradient(to right, rgba(0, 0, 0, 0.2), transparent) 1;
}
.page-template-yhteystiedot .site-content .billing-info .billing-columns .column .rows {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.page-template-yhteystiedot .site-content .billing-info .billing-columns .column .row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.2rem;
  font-size: 0.9375rem;
  font-weight: 300;
  line-height: 1.6;
}
.page-template-yhteystiedot .site-content .billing-info .billing-columns .column .row .label {
  white-space: nowrap;
}
@media (min-width: 768px) {
  .page-template-yhteystiedot .site-content .billing-info .content {
    padding: 0 2rem 4rem;
  }
  .page-template-yhteystiedot .site-content .billing-info .inner {
    padding: 2.5rem 3rem;
  }
  .page-template-yhteystiedot .site-content .billing-info h2 {
    font-size: 2rem;
  }
  .page-template-yhteystiedot .site-content .billing-info .business-id {
    margin-bottom: 2rem;
  }
  .page-template-yhteystiedot .site-content .billing-info .billing-columns {
    grid-template-columns: 1fr 1fr;
  }
  .page-template-yhteystiedot .site-content .billing-info .billing-columns .column {
    padding-bottom: 0;
  }
  .page-template-yhteystiedot .site-content .billing-info .billing-columns .column .row {
    grid-template-columns: auto 1fr;
    gap: 1.5rem;
  }
}

.page-template-page-asianajajat .employees-grid {
  max-width: 1300px;
  margin-inline: auto;
  padding: 3rem 1.2rem;
  display: grid;
  gap: 2.5rem 1.5rem;
}
@media (min-width: 768px) {
  .page-template-page-asianajajat .employees-grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 4rem 2rem;
    gap: 3.5rem 2rem;
  }
}
@media (min-width: 1200px) {
  .page-template-page-asianajajat .employees-grid {
    grid-template-columns: repeat(4, 1fr);
    padding: 5rem 2rem;
  }
}

.single-henkilosto .profile-section {
  background-color: #F3EDE4;
  padding: 2.5rem 1.2rem 3.5rem;
}
.single-henkilosto .profile-section .content {
  max-width: 1200px;
  margin-inline: auto;
}
.single-henkilosto .profile-section .profile-layout {
  display: grid;
  gap: 2.5rem;
}
.single-henkilosto .profile-section .profile-left .employee-image {
  margin-bottom: 2rem;
}
.single-henkilosto .profile-section .profile-left .profile-info h1 {
  font-size: 1.8rem;
  margin-bottom: 0.4rem;
}
.single-henkilosto .profile-section .profile-left .profile-info .role {
  font-size: 0.875rem;
  color: #505050;
  margin-bottom: 1.1rem;
}
.single-henkilosto .profile-section .profile-left .profile-info .icon-text {
  font-size: 0.9375rem;
}
.single-henkilosto .profile-section .profile-left .profile-info .icon-text + .icon-text {
  margin-top: 0.7rem;
}
.single-henkilosto .profile-section .profile-right .bio {
  margin-bottom: 2.5rem;
}
.single-henkilosto .profile-section .profile-right .bio p {
  line-height: 1.5;
  margin-bottom: 1rem;
}
.single-henkilosto .profile-section .profile-right .bio strong {
  font-weight: 500;
}
.single-henkilosto .profile-section .profile-right .career {
  margin-bottom: 2rem;
}
.single-henkilosto .profile-section .profile-right .career h2 {
  font-family: "Open Sans", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 1.2rem;
}
.single-henkilosto .profile-section .profile-right .career-items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.single-henkilosto .profile-section .profile-right .career-item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-style: italic;
}
.single-henkilosto .profile-section .profile-right .career-item .year {
  font-weight: 300;
  white-space: nowrap;
}
.single-henkilosto .profile-section .profile-right .career-item .description p {
  margin: 0;
  line-height: 1.4;
}
.single-henkilosto .profile-section .collapsible-sections {
  margin-top: 1rem;
}
.single-henkilosto .profile-section .collapsible {
  border-top: 1px solid #ccc;
}
.single-henkilosto .profile-section .collapsible:last-child {
  border-bottom: 1px solid #ccc;
}
.single-henkilosto .profile-section .collapsible .collapsible-toggle {
  font-family: "Open Sans", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  padding: 1rem 0;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.single-henkilosto .profile-section .collapsible .collapsible-toggle::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
  transition: transform 0.2s;
  flex-shrink: 0;
  margin-left: 1rem;
}
.single-henkilosto .profile-section .collapsible.open .collapsible-toggle::after {
  transform: rotate(-135deg);
}
.single-henkilosto .profile-section .collapsible .collapsible-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.single-henkilosto .profile-section .collapsible .collapsible-inner {
  padding-bottom: 1.2rem;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.single-henkilosto .profile-section .profile-layout::before {
  display: none;
}
@media (min-width: 768px) {
  .single-henkilosto .profile-section {
    padding: 3.5rem 2rem 5rem;
  }
  .single-henkilosto .profile-section .profile-layout {
    grid-template-columns: 380px 1fr;
    gap: 4rem;
    position: relative;
  }
  .single-henkilosto .profile-section .profile-layout::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(380px + 2rem);
    width: 1px;
    background: #ccc;
  }
  .single-henkilosto .profile-section .profile-right {
    padding-left: 2rem;
  }
}
@media (min-width: 1200px) {
  .single-henkilosto .profile-section .profile-layout {
    grid-template-columns: 440px 1fr;
    gap: 5rem;
  }
  .single-henkilosto .profile-section .profile-layout::before {
    left: calc(440px + 2.5rem);
  }
}

.single-henkilosto .posts--light {
  background: #F3EDE4;
  color: inherit;
  padding-block: 0.4rem 3.5rem;
}
.single-henkilosto .posts--light .section-title {
  color: inherit;
}
.single-henkilosto .posts--light .custom-swiper-button {
  border-color: rgba(0, 0, 0, 0.2);
}
.single-henkilosto .posts--light .custom-swiper-button img {
  filter: none;
}
@media (min-width: 768px) {
  .single-henkilosto .posts--light {
    padding-block: 1.8rem 6.7rem;
  }
}

.page-header-image--secondary .shade {
  background: rgba(49, 45, 38, 0.96);
}
.page-header-image--secondary h1::after {
  content: "";
  display: block;
  width: 250px;
  max-width: 100%;
  height: 1px;
  margin: 0.9rem auto 0;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.4), transparent);
}

.form-section {
  background-color: #F3EDE4;
  color: #252525;
  padding: 3.5rem 1.2rem;
}
.form-section .content {
  max-width: 56rem;
  margin-inline: auto;
}
.form-section .wpcf7 p {
  margin: 0;
}
.form-section .wpcf7 br {
  display: none;
}
.form-section .wpcf7 h2 {
  color: #000;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-family: "Castoro Titling", sans-serif;
  font-weight: 400;
  font-size: 1.3rem;
  margin: 0 0 0.8rem;
}
.form-section .wpcf7 h2 + p {
  margin-bottom: 2.5rem;
  line-height: 1.6;
  max-width: 50rem;
}
.form-section .grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.form-section .row {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.form-section .row > div {
  display: flex;
  flex-direction: column;
}
.form-section label {
  display: block;
  font-size: 0.9rem;
  color: #252525;
  margin-bottom: 0.35rem;
}
.form-section .asterisk {
  color: #AD2D2D;
}
.form-section input[type=text],
.form-section input[type=email],
.form-section input[type=tel],
.form-section input[type=url],
.form-section input[type=number],
.form-section textarea {
  width: 100%;
  background: #fff;
  border: none;
  outline: none;
  padding: 0.7rem 1rem;
  font-size: 1rem;
  color: #252525;
  font-family: inherit;
  border-radius: 0;
  transition: box-shadow 0.2s ease;
}
.form-section input[type=text]:focus,
.form-section input[type=email]:focus,
.form-section input[type=tel]:focus,
.form-section input[type=url]:focus,
.form-section input[type=number]:focus,
.form-section textarea:focus {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.12);
}
.form-section textarea {
  min-height: 8rem;
  resize: vertical;
}
.form-section .submit-wrap {
  margin-top: 0.8rem;
  text-align: right;
}
.form-section .submit-wrap input[type=submit],
.form-section .wpcf7-submit,
.form-section input.wpcf7-submit {
  display: inline-block;
  background: #000;
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 0.65rem 2rem;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.4;
  cursor: pointer;
  transition: background-color 0.2s ease;
  font-family: inherit;
  width: auto;
}
.form-section .submit-wrap input[type=submit]:hover, .form-section .submit-wrap input[type=submit]:focus,
.form-section .wpcf7-submit:hover,
.form-section .wpcf7-submit:focus,
.form-section input.wpcf7-submit:hover,
.form-section input.wpcf7-submit:focus {
  background: #2a2a2a;
  color: #fff;
}
.form-section .wpcf7-response-output {
  margin-top: 1.5rem;
  padding: 0.75rem 1rem;
  border-radius: 4px;
}
@media (min-width: 768px) {
  .form-section {
    padding: 5rem 2rem;
  }
  .form-section .grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
}

.palvelu-alasivu-page {
  background-color: #312D26;
}

.palvelu-alasivu {
  background-color: #312D26;
  color: #fff;
}
.palvelu-alasivu__layout {
  display: grid;
  gap: 2.5rem;
  max-width: 77rem;
  margin: 0 auto;
  padding: 3rem 1.2rem 4rem;
}
.palvelu-alasivu__content {
  min-width: 0;
}
.palvelu-alasivu__content h1,
.palvelu-alasivu__content h2,
.palvelu-alasivu__content h3,
.palvelu-alasivu__content h4,
.palvelu-alasivu__content h5,
.palvelu-alasivu__content h6 {
  color: #fff;
}
.palvelu-alasivu__content h2 {
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: 400;
  margin-top: 2.5rem;
  margin-bottom: 0.9rem;
}
.palvelu-alasivu__content p {
  line-height: 1.7;
  margin-bottom: 1rem;
}
.palvelu-alasivu__content a {
  color: #fff;
  text-decoration: underline;
}
.palvelu-alasivu__sidebar {
  align-self: start;
}
.palvelu-alasivu__sidebar .sidebar-title {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 1.05rem;
  font-weight: 400;
  margin-bottom: 1.5rem;
}
.palvelu-alasivu__sidebar .sibling-nav {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  align-items: flex-start;
}
.palvelu-alasivu__sidebar .sibling-link {
  display: inline-block;
  padding: 0.55rem 1.2rem;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  border-radius: 999px;
  font-size: 0.95rem;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.palvelu-alasivu__sidebar .sibling-link:hover, .palvelu-alasivu__sidebar .sibling-link:focus {
  background-color: #F3EDE4;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
@media (min-width: 768px) {
  .palvelu-alasivu__layout {
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 4rem;
    padding: 4rem 2rem 5rem;
  }
}
@media (min-width: 992px) {
  .palvelu-alasivu__layout {
    grid-template-columns: minmax(0, 1fr) 22rem;
    gap: 6rem;
  }
}

#page {
  max-width: 1920px;
  margin: 0 auto;
}

.hide {
  display: none;
}

.first-last-marginless > *:first-child {
  margin-top: 0 !important;
}
.first-last-marginless > *:last-child {
  margin-bottom: 0 !important;
}

.floating-button {
  position: fixed;
  display: grid;
  place-items: center;
  right: 15px;
  width: 48px;
  height: 48px;
  background-color: rgb(44, 44, 44);
  z-index: 10;
  box-shadow: 1px 1px 13px rgba(0, 0, 0, 0.2666666667);
  border-radius: 100%;
  border: 2px solid #F3EDE4;
}
.floating-button img {
  height: 54%;
}
.floating-button.whatsapp {
  bottom: 15px;
}
.floating-button.call {
  bottom: 74px;
}
.floating-button.call img {
  height: 36%;
}
@media (min-width: 1092px) {
  .floating-button.call {
    display: none;
  }
  .floating-button.whatsapp {
    width: 58px;
    height: 58px;
    bottom: 30px;
    right: 30px;
  }
}

.icon-text {
  display: grid;
  grid-template-columns: 14px auto;
  align-items: center;
  justify-content: start;
  gap: 0.7rem;
}
.icon-text.email img {
  height: 12px;
}
.icon-text.phone img {
  height: 14px;
}
.icon-text.address img {
  height: 17px;
}
.icon-text.opening-hours img {
  height: 12px;
}
.icon-text.facebook img {
  height: 16px;
}
.icon-text.linkedin img {
  height: 16px;
  margin-top: -3px;
}
.icon-text:hover {
  text-decoration: underline;
}
.icon-text > * {
  line-height: 1;
}

.global-link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
}

.scroll-to-top-button {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  bottom: 1rem;
  right: 1rem;
  height: 3rem;
  width: 3rem;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 0 9px rgba(0, 0, 0, 0.1607843137);
  visibility: hidden;
  opacity: 0;
  transition: all 0.15s;
  z-index: 1000;
}
@media (min-width: 576px) {
  .scroll-to-top-button {
    right: 2rem;
    bottom: 2rem;
  }
}
.scroll-to-top-button:hover {
  background-color: rgb(236, 236, 236);
  transform: scale(1.05);
}

.site-content {
  padding-top: 3.1875rem;
}
@media (min-width: 1092px) {
  .site-content {
    padding-top: 6rem;
  }
}

.full-width-embed-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%;
  border-radius: 0.5rem;
  /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}
.full-width-embed-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.map {
  display: flex;
}
.map .wpgmza-preloader {
  display: none !important;
}

.noscroll {
  overflow: hidden;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImFic3RyYWN0cy9fdmFyaWFibGVzLnNjc3MiLCJiYXNlL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJiYXNlL19hbmltYXRpb25zLnNjc3MiLCJsaWJyYXJpZXMvaGFtYnVyZ2Vycy9oYW1idXJnZXJzLnNjc3MiLCJsaWJyYXJpZXMvaGFtYnVyZ2Vycy9fYmFzZS5zY3NzIiwibGlicmFyaWVzL2hhbWJ1cmdlcnMvdHlwZXMvX3NxdWVlemUuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtcG9zdC5zY3NzIiwiY29tcG9uZW50cy9fcGFnZS1oZWFkZXItaW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2VtcGxveWVlLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19lbXBsb3llZS1jYXJkLnNjc3MiLCJjb21wb25lbnRzL19lbXBsb3llZXMtY2Fyb3VzZWwuc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLXRleHQtZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fcmVmZXJlbmNlcy1zZWN0aW9uLnNjc3MiLCJsYXlvdXRzL19oZWFkZXIuc2NzcyIsImxheW91dHMvX2Zvb3Rlci5zY3NzIiwibGF5b3V0cy9fc2lkZWJhci1zaW5nbGUuc2NzcyIsImxheW91dHMvX2Zvcm1zLnNjc3MiLCJ2aWV3cy9fZnJvbnQtcGFnZS5zY3NzIiwidmlld3MvX3BhZ2Uuc2NzcyIsInZpZXdzL19ibG9nLnNjc3MiLCJ2aWV3cy9fc2luZ2xlLXBvc3Quc2NzcyIsInZpZXdzL195aHRleXN0aWVkb3Quc2NzcyIsInZpZXdzL19hc2lhbmFqYWphdC5zY3NzIiwidmlld3MvX3NpbmdsZS1oZW5raWxvc3RvLnNjc3MiLCJ2aWV3cy9fcGFsdmVsdXNpdnUuc2NzcyIsInZpZXdzL19wYWx2ZWx1LWFsYXNpdnUuc2NzcyIsIl9nbG9iYWwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUVBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQ0xRO0FEVVA7RUFDRztFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBRUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBRUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FFN1ZKO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FDZ0RBO0VEbkRGO0lBTUk7Ozs7QUFJSjtFQUNFOztBQUVBO0VBRUU7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUR2Q0Y7RUFDRTtFQUNBLE9HS2lCOzs7QUhGbkI7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7QUVGQTtFRkFGO0lBS0k7SUFDQTs7OztBQUlKO0FBQUE7RUFFRTtFQUNBOztBQUVBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUV0QkY7RUZVRjtBQUFBO0lBZ0JJO0lBQ0E7Ozs7QUFNSjtFQUNFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0FBQUE7RUFFRTs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUVFOztBQUdGO0FBQUE7RUFDRTtFQUNBOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQU1OO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FJNUtKO0VBQ0k7OztBQUlKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQ01KO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBTVI7RUFDSTtBQUFBO0lBRUk7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUtBO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQVVBO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7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QUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7O0FBTVo7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0FBQUE7RUFFSTs7QUFFQTtBQUFBO0VBQ0k7OztBQzVKaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBVk1OO0VVL0JGO0lBNkJROztFQUVBO0lBQ0k7Ozs7QUNoQ1o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUN6QlI7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFFSTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFFSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7O0FDakRaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0k7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlaNUNLO0VZNkNMO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBYmhDVjtFYS9CRjtJQW9FUTtJQUNBOztFQUVBO0lBQ0k7O0VBR0o7SUFDSTtJQUNBOzs7QWJoQ1Y7RWE3Q0Y7SUFrRlE7O0VBRUE7SUFDSTs7O0FiMUJWO0VhM0RGO0lBMEZROztFQUVBO0lBQ0k7Ozs7QUM3Rlo7RUFDSSxrQmJJYzs7QWFGZDtFQUNJOztBQUlKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBZHhCVjtFYzZCTTtJQUNJO0lBQ0E7O0VBSUo7QUFBQTtJQUVJOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7O0VBR0o7SUFDSTs7O0FkakRkO0VjdURNO0lBQ0k7Ozs7QUM5Rlo7RUFDSSxrQmRHWTtFY0ZaOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBTVo7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOztBQUVBO0FBQUE7RUFFSTs7QUFHSjtFQUNJLE9kckZHOztBY3dGUDtFQUNJOztBQUdKO0VBQ0k7O0FmdEVkO0VlL0JGO0lBMkdROztFQUVBO0lBQ0k7SUFDQTs7OztBQy9HWjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtBQUFBO0VBRUU7RUFDQTs7QUFHRjtFQUNFOztBaEJWSjtFZ0JEQTtJQWVJOzs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FoQmhKRjtFZ0JzSkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUlKO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUlKO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBOztFQUtKO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTs7RUFNTjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSUY7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUlGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUlKO0lBQ0U7O0VBR0Y7SUFDRTs7OztBQU1OO0VBQ0U7RUFDQTs7QUFFQTtFQUpGO0lBS0k7Ozs7QUFJSjtFQUNFO0lBQ0U7OztBQ3ZYSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBakJDTjtFaUIvQkY7SUFrQ1E7O0VBRUE7SUFDSTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7Ozs7QUFLWjtFQUNJO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWpCaEdkO0VpQjBFRTtJQTJCUTtJQUNBO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFD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QTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBN0J6R0Y7RTZCMEZGO0lBa0JRO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBS1I7RUFDSTs7QTdCckZGO0U2Qm9GRjtJQUlROzs7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1I7RUFDSTs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJIiwiZmlsZSI6ImJ1bmRsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXHJcblxyXG4vKiBEb2N1bWVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cclxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXHJcbiAqL1xyXG5cclxuIGh0bWwge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKiBTZWN0aW9uc1xyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cclxuICAgICAqL1xyXG4gIFxyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgICAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxyXG4gICAgICovXHJcbiAgXHJcbiAgbWFpbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXHJcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxyXG4gICAgICovXHJcbiAgXHJcbiAgaDEge1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcclxuICB9XHJcbiAgXHJcbiAgLyogR3JvdXBpbmcgY29udGVudFxyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuICAgICAqL1xyXG4gIFxyXG4gIGhyIHtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXHJcbiAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cclxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICAgICAqL1xyXG4gIFxyXG4gIHByZSB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICAgIGZvbnQtc2l6ZTogMXJlbTsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICAgICAqL1xyXG4gIFxyXG4gIGEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cclxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAgICAgKi9cclxuICBcclxuICBhYmJyW3RpdGxlXSB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICAgICAqL1xyXG4gIFxyXG4gIGIsXHJcbiAgc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICAgICAqL1xyXG4gIFxyXG4gIGNvZGUsXHJcbiAga2JkLFxyXG4gIHNhbXAge1xyXG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXHJcbiAgICBmb250LXNpemU6IDFyZW07IC8qIDIgKi9cclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgICAqL1xyXG4gIFxyXG4gIHNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxyXG4gICAgICogYWxsIGJyb3dzZXJzLlxyXG4gICAgICovXHJcbiAgXHJcbiAgc3ViLFxyXG4gIHN1cCB7XHJcbiAgICBmb250LXNpemU6IDc1JTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIH1cclxuICBcclxuICBzdWIge1xyXG4gICAgYm90dG9tOiAtMC4yNXJlbTtcclxuICB9XHJcbiAgXHJcbiAgc3VwIHtcclxuICAgIHRvcDogLTAuNXJlbTtcclxuICB9XHJcbiAgXHJcbiAgLyogRW1iZWRkZWQgY29udGVudFxyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXHJcbiAgICAgKi9cclxuICBcclxuICBpbWcge1xyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gIH1cclxuICBcclxuICAvKiBGb3Jtc1xyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxyXG4gICAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIGlucHV0LFxyXG4gIG9wdGdyb3VwLFxyXG4gIHNlbGVjdCxcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xyXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAgICAgKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gICAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIGlucHV0IHtcclxuICAgIC8qIDEgKi9cclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gICAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIHNlbGVjdCB7XHJcbiAgICAvKiAxICovXHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICAgKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gICAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIFt0eXBlPSdidXR0b24nXSxcclxuICBbdHlwZT0ncmVzZXQnXSxcclxuICBbdHlwZT0nc3VibWl0J10ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICAgICAqL1xyXG4gIFxyXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuICBbdHlwZT0nYnV0dG9uJ106Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgW3R5cGU9J3Jlc2V0J106Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgW3R5cGU9J3N1Ym1pdCddOjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxyXG4gICAgICovXHJcbiAgXHJcbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPSdidXR0b24nXTotbW96LWZvY3VzcmluZyxcclxuICBbdHlwZT0ncmVzZXQnXTotbW96LWZvY3VzcmluZyxcclxuICBbdHlwZT0nc3VibWl0J106LW1vei1mb2N1c3Jpbmcge1xyXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgICAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICAgICAqL1xyXG4gIFxyXG4gIGZpZWxkc2V0IHtcclxuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVyZW07XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cclxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAgICovXHJcbiAgXHJcbiAgbGVnZW5kIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXHJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXHJcbiAgICBwYWRkaW5nOiAwOyAvKiAzICovXHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICAgICAqL1xyXG4gIFxyXG4gIHByb2dyZXNzIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cclxuICAgICAqL1xyXG4gIFxyXG4gIHRleHRhcmVhIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxyXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gICAgICovXHJcbiAgXHJcbiAgW3R5cGU9J2NoZWNrYm94J10sXHJcbiAgW3R5cGU9J3JhZGlvJ10ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cclxuICAgICAqL1xyXG4gIFxyXG4gIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuICBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxyXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAgICAgKi9cclxuICBcclxuICBbdHlwZT0nc2VhcmNoJ10ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxyXG4gICAgICovXHJcbiAgXHJcbiAgW3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gICAgICovXHJcbiAgXHJcbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xyXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKiBJbnRlcmFjdGl2ZVxyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICAgICAqL1xyXG4gIFxyXG4gIGRldGFpbHMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIFxyXG4gIC8qXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICAgKi9cclxuICBcclxuICBzdW1tYXJ5IHtcclxuICAgIGRpc3BsYXk6IGxpc3QtaXRyZW07XHJcbiAgfVxyXG4gIFxyXG4gIC8qIE1pc2NcclxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyoqXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXHJcbiAgICAgKi9cclxuICBcclxuICB0ZW1wbGF0ZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gICAgICovXHJcbiAgXHJcbiAgW2hpZGRlbl0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9IiwiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Q2FzdG9ybytUaXRsaW5nJmZhbWlseT1PcGVuK1NhbnM6d2dodEAzMDAuLjgwMCZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbmJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICBjb2xvcjogJGNvbG9yLXR5cG9ncmFwaHk7XHJcbn1cclxuXHJcbmEge1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtZmFtaWx5OiAnQ2FzdG9ybyBUaXRsaW5nJywgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XHJcblxyXG4gIHN0cm9uZyB7XHJcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4udGV4dC1jZW50ZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnBhZ2UtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbWQge1xyXG4gICAgZm9udC1zaXplOiAxLjlyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gIH1cclxufVxyXG5cclxuLnNlY3Rpb24tdGl0bGUsXHJcbi5lZGl0b3IgLnNlY3Rpb24tdGl0bGUge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMjUwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIG1hcmdpbjogMC45cmVtIGF1dG8gMDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4zKSwgdHJhbnNwYXJlbnQpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWQge1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxLjdyZW07XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRGVmYXVsdCB0ZXh0IHN0eWxlc1xyXG4uZWRpdG9yIHtcclxuICBsaW5lLWhlaWdodDogMS41O1xyXG5cclxuICA+KjpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA+KjpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIG1hcmdpbjogMS4yNXJlbSAwIC44cmVtIDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XHJcbiAgfVxyXG5cclxuICBhOm5vdChbY2xhc3NdKSB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICB9XHJcblxyXG4gIGIsXHJcbiAgc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgfVxyXG5cclxuICBvbCxcclxuICB1bCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMS4zcmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cclxuICAgIG9sLFxyXG4gICAgdWwge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGxpOjptYXJrZXIge1xyXG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuICB9XHJcblxyXG4gIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHtcclxuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcclxuICB9XHJcblxyXG4gIHByZS53cC1ibG9jay1jb2RlIHtcclxuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgIzMxMzEzMTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjk7XHJcbiAgICBwYWRkaW5nOiAwLjhlbSAwLjZyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XHJcbiAgfVxyXG5cclxuICAud3AtYmxvY2stcHVsbHF1b3RlIHtcclxuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCByZ2IoNTksIDU5LCA1OSk7XHJcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgcmdiKDU5LCA1OSwgNTkpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xyXG4gIH1cclxuXHJcbiAgLndwLWJsb2NrLWJ1dHRvbnMge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xyXG4gIH1cclxuXHJcbiAgLndwLWJsb2NrLXNlcGFyYXRvciB7XHJcbiAgICBib3JkZXItY29sb3I6ICMxZjFmMWY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWYxZjFmO1xyXG4gIH1cclxuXHJcbiAgdGFibGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xyXG5cclxuICAgIHRoZWFkIHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHRoIHtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAqIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2IoMTk5LCAxOTksIDE5OSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEN1c3RvbSBidWxsZXRzXHJcbnVsLmNoZWNrbWFya3Mge1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcblxyXG4gIGxpIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9zdmcvY2hlY2ttYXJrLnN2Zyk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA2cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMXB4O1xyXG4gIH1cclxufSIsIiosXHJcbio6OmJlZm9yZSxcclxuKjo6YWZ0ZXIge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG4gIHNjcm9sbC1wYWRkaW5nOiA0cmVtO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gIEBpbmNsdWRlIHJ3ZCgkYnJlYWtwb2ludC1kZXNrdG9wLWhlYWRlcikge1xyXG4gICAgc2Nyb2xsLXBhZGRpbmc6IDZyZW07XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5IHtcclxuICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgJi5yZXNpemUtYW5pbWF0aW9uLXN0b3BwZXIgKiB7XHJcbiAgICAvL2FuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuaW1nIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG51bCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuaHIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIG1hcmdpbjogMS41cmVtIDA7XHJcbn0iLCIvLyBTbWFsbCB0YWJsZXRzIGFuZCBsYXJnZSBzbWFydHBob25lcyAobGFuZHNjYXBlIHZpZXcpXHJcbiRzY3JlZW4tc20tbWluOiA1NzZweDtcclxuXHJcbi8vIFNtYWxsIHRhYmxldHMgKHBvcnRyYWl0IHZpZXcpXHJcbiRzY3JlZW4tbWQtbWluOiA3NjhweDtcclxuXHJcbi8vIFRhYmxldHMgYW5kIHNtYWxsIGRlc2t0b3BzXHJcbiRzY3JlZW4tbGctbWluOiA5OTJweDtcclxuXHJcbi8vIExhcmdlIHRhYmxldHMgYW5kIGRlc2t0b3BzXHJcbiRzY3JlZW4teGwtbWluOiAxMjAwcHg7XHJcblxyXG4vLyBMYXJnZSBkZXNrdG9wc1xyXG4kc2NyZWVuLXh4bC1taW46IDE1MDBweDtcclxuXHJcbi8vIE1heCB3aWR0aCBtZWRpYSBxdWVyeSBmb3Igc21hbGwgZGV2aWNlc1xyXG5AbWl4aW4gc20tbWF4IHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogI3skc2NyZWVuLXNtLW1pbn0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gU21hbGwgZGV2aWNlc1xyXG5AbWl4aW4gc20ge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAjeyRzY3JlZW4tc20tbWlufSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpdW0gZGV2aWNlc1xyXG5AbWl4aW4gbWQge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAjeyRzY3JlZW4tbWQtbWlufSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBMYXJnZSBkZXZpY2VzXHJcbkBtaXhpbiBsZyB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHNjcmVlbi1sZy1taW59KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEV4dHJhIGxhcmdlIGRldmljZXNcclxuQG1peGluIHhsIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogI3skc2NyZWVuLXhsLW1pbn0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gRXh0cmEgZXh0cmEgbGFyZ2UgZGV2aWNlc1xyXG5AbWl4aW4geHhsIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogI3skc2NyZWVuLXh4bC1taW59KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEN1c3RvbSBkZXZpY2VzXHJcbkBtaXhpbiByd2QoJHNjcmVlbikge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuKydweCcpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XHJcbiAgQGlmIHR5cGUtb2YoJG51bWJlcik9PSdudW1iZXInYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XHJcbiAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG51bWJlcjtcclxufSIsIi8vIEJyZWFrcG9pbnRzXHJcbiRicmVha3BvaW50LWRlc2t0b3AtaGVhZGVyOiAxMDkyOyAvLyBNdXN0IGJlIHNhbWUgaW4gbmF2aWdhdGlvbi5qc1xyXG5cclxuLy8gQ29sb3JzXHJcbiRjb2xvci1wcmltYXJ5OiAjRjNFREU0O1xyXG4kY29sb3Itc2Vjb25kYXJ5OiAjMzEyRDI2O1xyXG4kY29sb3ItcHJpbWFyeS1kYXJrOiAjZTBkNGMyO1xyXG4kY29sb3ItZGFyazogIzEwMTAxMDtcclxuJGNvbG9yLWRhcmstbGlnaHQ6ICM3MDZGNkY7XHJcbiRjb2xvci10eXBvZ3JhcGh5OiAjMDAwO1xyXG5cclxuJGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbiRib3JkZXI6IDFweCBzb2xpZCByZ2IoMjIxLCAyMjEsIDIyMSk7XHJcblxyXG4kYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTsiLCIvLyBSZW1vdmUgb3V0bGluaW5nIGlmIHVzaW5nIG90aGVyIGlucHV0IGRldmljZSB0aGFuIGtleWJvYXJkXHJcbjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4vLyBBZGQgb3V0bGluaW5nIGlmIHVzaW5nIGtleWJvYXJkXHJcbmJvZHkudXNpbmcta2V5Ym9hcmQgOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IHJnYigwLCAwLCAwKSBhdXRvIDJweDtcclxufVxyXG5cclxuLnNraXAtbGluazpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiByZ2IoMCwgMCwgMCkgYXV0byAycHggIWltcG9ydGFudDtcclxufSIsIi8vIFNjcm9sbC10cmlnZ2VyZWQgYW5pbWF0aW9uc1xuLy8gVXNhZ2U6IGFkZCAuYW5pbSBjbGFzcyArIG9wdGlvbmFsIHZhcmlhbnQgY2xhc3MgdG8gYW55IGVsZW1lbnRcbi8vXG4vLyBWYXJpYW50czpcbi8vICAgLmFuaW0gICAgICAgICAgICAtIGZhZGUgdXAgKGRlZmF1bHQpXG4vLyAgIC5hbmltLWZhZGUgICAgICAgLSBmYWRlIGluIG9ubHkgKG5vIG1vdmVtZW50KVxuLy8gICAuYW5pbS1sZWZ0ICAgICAgIC0gZmFkZSBpbiBmcm9tIGxlZnRcbi8vICAgLmFuaW0tcmlnaHQgICAgICAtIGZhZGUgaW4gZnJvbSByaWdodFxuLy8gICAuYW5pbS1zY2FsZSAgICAgIC0gZmFkZSBpbiB3aXRoIHNjYWxlXG4vL1xuLy8gRGVsYXlzIChjb21iaW5lIHdpdGggYW55IHZhcmlhbnQpOlxuLy8gICAuYW5pbS1kMSAgICAgICAgIC0gMC4xcyBkZWxheVxuLy8gICAuYW5pbS1kMiAgICAgICAgIC0gMC4ycyBkZWxheVxuLy8gICAuYW5pbS1kMyAgICAgICAgIC0gMC4zcyBkZWxheVxuLy8gICAuYW5pbS1kNCAgICAgICAgIC0gMC40cyBkZWxheVxuLy8gICAuYW5pbS1kNSAgICAgICAgIC0gMC41cyBkZWxheVxuXG4uYW5pbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuOHMgZWFzZSwgdHJhbnNmb3JtIC44cyBlYXNlO1xuXG4gICAgJi5pbi12aWV3IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLy8gTW9iaWlsaXNzYSBzbGlkZXJlaWRlbiBzdGFnZ2VyLXZpaXZlIHBvaXMg4oCUIHlrc2l0dMOkaW5lbiBzbGlkZSBrZXJyYWxsYWFuXG4vLyBuw6R5dHRpIGphbmt5Omx0w6QgbW9iaWlsaXNzYS4gRGVza3RvcGlsbGEgc3RhZ2dlciB0b2ltaWkgbm9ybWFhbGlzdGkuXG5AbWVkaWEgKG1heC13aWR0aDogI3skc2NyZWVuLW1kLW1pbiAtIDFweH0pIHtcbiAgICAuc3dpcGVyLXNsaWRlIC5hbmltLFxuICAgIC5zd2lwZXItc2xpZGUuYW5pbSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uYW5pbS1mYWRlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5hbmltLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7XG59XG5cbi5hbmltLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7XG59XG5cbi5hbmltLXNjYWxlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG59XG5cbi8vIERlbGF5IG1vZGlmaWVyc1xuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA1IHtcbiAgICAuYW5pbS1kI3skaX0ge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAjeyRpICogMC4xfXM7XG4gICAgfVxufVxuXG4vLyBTdGFnZ2VyIGNoaWxkcmVuOiBhZGQgLmFuaW0tc3RhZ2dlciB0byBwYXJlbnQsXG4vLyAuYW5pbSB0byBlYWNoIGNoaWxkIOKAlCBhdXRvLWRlbGF5cyBieSBjaGlsZCBpbmRleC5cbi8vIEvDpHl0ZXTDpMOkbiBtb2R1bG8gOCAta2llcnRvYSwgam90dGEgcGl0a8OkdGtpbiBsaXN0YXQgZWl2w6R0IGrDpMOkIHZpaXZlZXR0w6Rcbi8vIGphIHZpaW1laXN0ZW4ga29ydHRpZW4gdmlpdmUgcHlzeXkgbWFsdGlsbGlzZW5hLlxuLmFuaW0tc3RhZ2dlciA+IC5hbmltIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDQwIHtcbiAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICN7KCgkaSAtIDEpICUgOCkgKiAwLjEyfXM7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG5cbi8vIFNldHRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci1wYWRkaW5nLXggOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1wYWRkaW5nLXkgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci13aWR0aCA6IDMycHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodCA6IDJweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItc3BhY2luZyA6IDhweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgOiAjZmZmICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzIDogMXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5IDogMSAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWxheWVyLWNvbG9yIDogJGhhbWJ1cmdlci1sYXllci1jb2xvciAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAhZGVmYXVsdDtcblxuLy8gVG8gdXNlIENTUyBmaWx0ZXJzIGFzIHRoZSBob3ZlciBlZmZlY3QgaW5zdGVhZCBvZiBvcGFjaXR5LFxuLy8gc2V0ICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciBhcyB0cnVlIGFuZFxuLy8gY2hhbmdlIHRoZSB2YWx1ZSBvZiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciBhY2NvcmRpbmdseS5cbiRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA6IGZhbHNlICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgOiBvcGFjaXR5KDUwJSkgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1maWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyICFkZWZhdWx0O1xuXG4vLyBUeXBlcyAoUmVtb3ZlIG9yIGNvbW1lbnQgb3V0IHdoYXQgeW91IGRvbuKAmXQgbmVlZClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXR5cGVzOiAoc3F1ZWV6ZSkgIWRlZmF1bHQ7XG5cbi8vIEJhc2UgSGFtYnVyZ2VyIChXZSBuZWVkIHRoaXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcImJhc2VcIjtcblxuLy8gSGFtYnVyZ2VyIHR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInR5cGVzLzNkeFwiO1xuQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4eS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvdy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9ib3JpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvbWludXNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXItclwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmctclwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xuQGltcG9ydCBcInR5cGVzL3NxdWVlemVcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXgtclwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29va2luZyB1cCBhZGRpdGlvbmFsIHR5cGVzOlxuLy9cbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcbi8vIGluc2lkZSBhbiBAaWYgZGlyZWN0aXZlIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90XG4vLyBpdCBleGlzdHMgaW4gJGhhbWJ1cmdlci10eXBlcyBzbyBvbmx5IHRoZSBDU1MgZm9yXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxuLy9cbi8vIGUuZy4gaGFtYnVyZ2Vycy90eXBlcy9fbmV3LXR5cGUuc2Nzc1xuLy9cbi8vIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBuZXctdHlwZSkge1xuLy8gICAuaGFtYnVyZ2VyLS1uZXctdHlwZSB7XG4vLyAgICAgLi4uXG4vLyAgIH1cbi8vIH0iLCIvLyBIYW1idXJnZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogJGhhbWJ1cmdlci1wYWRkaW5nLXkgJGhhbWJ1cmdlci1wYWRkaW5nLXg7XG4gIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuICAvLyBOb3JtYWxpemUgKDxidXR0b24+KVxuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJjpob3ZlciB7XG4gICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlcj09dHJ1ZSB7XG4gICAgICBmaWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyPT10cnVlIHtcbiAgICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1maWx0ZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyLFxuICAgIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDMgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAtMjtcblxuICAmLFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItbGF5ZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3I7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXMsIC4zcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG59IiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNxdWVlemUpIHtcbiAgLypcbiAgICogU3F1ZWV6ZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjA3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xMnMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjA3NXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuM3M7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4zcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4wNzVzIDAuMTJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuM3M7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuM3M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL01vT3gvOTEzNzI5NVxyXG5idXR0b24sXHJcbi5idXR0b24tcmVzZXQge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBpbmhlcml0O1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGluaGVyaXQ7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcblxyXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idXR0b24sXHJcbmlucHV0W3R5cGU9YnV0dG9uXSxcclxuLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcclxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLFxyXG4uc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiB7XHJcbiAgICBAZXh0ZW5kIC5idXR0b24tcmVzZXQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgY29sb3I6ICRjb2xvci10eXBvZ3JhcGh5O1xyXG4gICAgcGFkZGluZzogMC43cmVtIDMuNnJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi5kYXJrIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYm9yZGVycyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDBweCAycHggJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcblxyXG4gICAgICAgICY6d2hlcmUoOmhvdmVyLCA6Zm9jdXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFycm93IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDFyZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogLjhyZW07XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9zdmcvYXJyb3ctcmlnaHQuc3ZnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnBob25lLFxyXG4gICAgJi5lbWFpbCB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vc3ZnL3Bob25lLnN2Zyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDExcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucGhvbmU6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vc3ZnL3Bob25lLnN2Zyk7XHJcbiAgICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYuZW1haWw6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vc3ZnL2VtYWlsLnN2Zyk7XHJcbiAgICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgfVxyXG59IiwiIC5wYWdpbmF0aW9uIHtcclxuICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgZGlzcGxheTogZmxleDtcclxuICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICAgICBnYXA6IC41cmVtO1xyXG5cclxuICAgICAucGFnZS1udW1iZXJzIHtcclxuICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICB3aWR0aDogMi4ycmVtO1xyXG4gICAgICAgICBoZWlnaHQ6IDIuMnJlbTtcclxuICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xyXG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAmLmN1cnJlbnQge1xyXG4gICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuICAgICAgICAgfVxyXG4gICAgIH1cclxuXHJcbiB9IiwiLmNhcmQtcG9zdCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAuZGF0ZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAuOTM3NXJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxuICAgICAgICBjb2xvcjogcmdiKDYxLCA2MSwgNjEpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEgLyAxKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTdyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2LzExO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS4zcmVtIDEuNHJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzNiwgMjM2LCAyMzYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZCB7XHJcblxyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2hhcmVkIGNhcmQgdmFyaWFudCBiYXNlIChubyBpbWFnZSwgdGV4dC1vbmx5IGJvcmRlcmVkIGNhcmQpXHJcbiAgICAmLS1kYXJrLFxyXG4gICAgJi0tbGlnaHQge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMyk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC44cmVtO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRhdGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstbGlnaHQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmVhZC1tb3JlLFxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAuN3JlbTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG5cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL3N2Zy9hcnJvdy1yaWdodC1sb25nLXdoaXRlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIC5idXR0b24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIExpZ2h0IHZhcmlhbnQgb3ZlcnJpZGVzXHJcbiAgICAmLS1saWdodCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG5cclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogIzMzMztcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kYXRlIHtcclxuICAgICAgICAgICAgY29sb3I6ICM0NzQ2NDY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmVhZC1tb3JlLFxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICBjb2xvcjogIzNjM2IzYjtcclxuXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9zdmcvYXJyb3ctcmlnaHQtbG9uZy5zdmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnBhZ2UtaGVhZGVyLWltYWdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMzh2aDtcclxuICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgbWF4LWhlaWdodDogNTUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nLWlubGluZTogMXJlbTtcclxuXHJcbiAgICAuc2hhZGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBpbnNldDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC40NSksIHRyYW5zcGFyZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMi44cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1kIHtcclxuICAgICAgICBoZWlnaHQ6IDQydmg7XHJcblxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmVtcGxveWVlLWltYWdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAmLS1wcmltYXJ5IHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICAuYmctc2hhcGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMDtcclxuICAgIH1cclxuXHJcbiAgICBpbWc6bm90KC5iZy1zaGFwZSkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogMzQ5IC8gNDAwO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbiIsIi5lbXBsb3llZS1jYXJkIHtcclxuICAgIGNvbG9yOiAjMjUyNTI1O1xyXG5cclxuICAgICZfX2xpbmsge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2U7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC44NTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmVtcGxveWVlLWltYWdlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjlyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmluZm8ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbmFtZS1saW5rIHtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjJzIGVhc2U7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucm9sZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xyXG4gICAgICAgIGNvbG9yOiAjNTA1MDUwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbi10ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IC45Mzc1cmVtO1xyXG4gICAgICAgIGNvbG9yOiAjMjUyNTI1O1xyXG5cclxuICAgICAgICArLmljb24tdGV4dCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC43cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuZW1wbG95ZWVzLWNhcm91c2VsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGM0VERTQ7XHJcbiAgICBjb2xvcjogIzI1MjUyNTtcclxuICAgIHBhZGRpbmctYmxvY2s6IDMuNXJlbTtcclxuICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcclxuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4zcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5zd2lwZXItY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnN3aXBlciB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5zd2lwZXItc2xpZGUge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA1IHtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIC5hbmltIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICN7KCRpIC0gMSkgKiAwLjE1fXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmlnYXRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBnYXA6IC41cmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMnJlbTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmN1c3RvbS1zd2lwZXItYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDQ2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1kIHtcclxuICAgICAgICBwYWRkaW5nLWJsb2NrOiA3cmVtO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcclxuXHJcbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hdmlnYXRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHhsIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07XHJcblxyXG4gICAgICAgIC5uYXZpZ2F0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcndkKDE2MDApIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcmVtO1xyXG5cclxuICAgICAgICAubmF2aWdhdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5pbWFnZS10ZXh0LWdyaWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuXHJcbiAgICAuaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBNb2JpaWxpc3NhIGt1dmEgYWluYSBlbm5lbiB0ZWtzdGnDpCAoZ3JpZGluIERPTS1qw6RyamVzdHlrc2VzdMOkIHJpaXBwdW1hdHRhKVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBvcmRlcjogMDtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dCB7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gMTA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjJyZW0gM3JlbTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcblxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSwgdHJhbnNwYXJlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogLjZyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgLml0ZW0ge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMxcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRGVza3RvcGlsbGEga8OkeXRldMOkw6RuIERPTS1qw6RyamVzdHlzdMOkIGVsaSB2dW9yb3R0ZWxldmlhIGt1dmlhXHJcbiAgICAgICAgLmltYWdlLFxyXG4gICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgb3JkZXI6IGluaXRpYWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAzcmVtO1xyXG5cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjA1cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGxnIHtcclxuICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIucmVmZXJlbmNlcy1zZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgcGFkZGluZzogMy41cmVtIDEuMnJlbTtcclxuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucmVmZXJlbmNlcy1ncmlkIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdhcDogMS41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWZlcmVuY2UtY2FyZCB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgcGFkZGluZzogMnJlbSAyLjVyZW07XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kYXRlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogIzQ3NDY0NjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmV4Y2VycHQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC44NXJlbTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNzA2RjZGO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAycmVtO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xyXG4gICAgICAgICAgICBsaW5lLWNsYW1wOiAzO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IC41cmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICBjb2xvcjogIzNjM2IzYjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBEYXJrIHZhcmlhbnRcclxuICAgICYtLWRhcmsge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMGMwYzBjLCAjMTUxNTE1KTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgdHJhbnNwYXJlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmVmZXJlbmNlLWNhcmQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMyk7XHJcblxyXG4gICAgICAgICAgICBoMyxcclxuICAgICAgICAgICAgaDMgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRhdGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrLWxpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZXhjZXJwdCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzcwNkY2RjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgcGFkZGluZzogNXJlbSAycmVtO1xyXG5cclxuICAgICAgICAucmVmZXJlbmNlcy1ncmlkIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICAgICAgZ2FwOiAxLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5zaXRlLWhlYWRlciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDE5MjBweDtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzO1xyXG5cclxuICAvLyBTY3JvbGxlZCAvIG5vbi1oZXJvIHN0YXRlXHJcbiAgJi5zY3JvbGxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgYm9yZGVyLWltYWdlOiBub25lO1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAubG9nby1jb250YWluZXIgaW1nIHtcclxuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXNrdG9wLW1lbnUgYSB7XHJcbiAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXNrdG9wLW1lbnUgLnN1Yi1tZW51LXRvZ2dsZSBzdmcgcGF0aCB7XHJcbiAgICAgIHN0cm9rZTogIzAwMDtcclxuICAgIH1cclxuXHJcbiAgICAubGFuZ3VhZ2Utc3dpdGNoZXIge1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgIH1cclxuXHJcbiAgICAuaGFtYnVyZ2VyLWlubmVyLFxyXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxyXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5ib3gtc2hhZG93IHtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggIzAwMDAwMDEzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWF4LXdpZHRoOiAxNDI3cHg7XHJcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMCAwIDAgLjdyZW07XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSksIHRyYW5zcGFyZW50KSAxO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWltYWdlIC4zcywgYm9yZGVyLWNvbG9yIC4zcztcclxuICB9XHJcblxyXG4gIC5sb2dvLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTByZW07XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICBhLFxyXG4gICAgaW1nIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHRyYW5zaXRpb246IGZpbHRlciAuM3M7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcndkKDMxMCkge1xyXG4gICAgICB3aWR0aDogMTFyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGVza3RvcC1tZW51IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuaGVhZGVyLXJpZ2h0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAuMnJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLmxhbmd1YWdlLXN3aXRjaGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAuNHJlbTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAuOTM3NXJlbTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcztcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRpdmlkZXIge1xyXG4gICAgICBvcGFjaXR5OiAuNTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5oYW1idXJnZXItYm94IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuaGFtYnVyZ2VyLWlubmVyLFxyXG4gIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcclxuICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIH1cclxuXHJcbiAgLy8gTW9iaWxlIG1lbnVcclxuICAubW9iaWxlLW1lbnUge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMThyZW07XHJcbiAgICBiYWNrZ3JvdW5kOiAjMGMwYzBjO1xyXG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW0gOHJlbTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MsIHZpc2liaWxpdHkgLjNzO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICYuc2hvdyB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAubWVudT5saSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAuN3JlbSAwO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdWItbWVudSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAuOTM3NXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vcGVuPi5zdWItbWVudSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5vcGVuPi5zdWItbWVudS10b2dnbGUge1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdWItbWVudS10b2dnbGUge1xyXG4gICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG4gICAgICB3aWR0aDogNDBweDtcclxuICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xyXG5cclxuICAgICAgc3ZnIHBhdGgge1xyXG4gICAgICAgIHN0cm9rZTogI2ZmZjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJveC1zaGFkb3cge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjNzO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgfVxyXG5cclxuICAvLyBEZXNrdG9wXHJcbiAgQGluY2x1ZGUgcndkKCRicmVha3BvaW50LWRlc2t0b3AtaGVhZGVyKSB7XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDFmcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogMCAycmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5sb2dvLWNvbnRhaW5lciB7XHJcbiAgICAgIHdpZHRoOiAxNnJlbTtcclxuICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcclxuICAgIH1cclxuXHJcbiAgICAuZGVza3RvcC1tZW51IHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xyXG5cclxuICAgICAgLm1lbnUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiAuMnJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBmb250LWZhbWlseTogJ0Nhc3Rvcm8gVGl0bGluZycsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgcGFkZGluZzogMS43cmVtIC45cmVtIDEuNHJlbTtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcywgb3BhY2l0eSAuMnM7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbj5hIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjhyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdWItbWVudS10b2dnbGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgIHN2ZyBwYXRoIHtcclxuICAgICAgICAgIHN0cm9rZTogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMsIG9wYWNpdHkgLjJzLCB2aXNpYmlsaXR5IC4ycztcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwYWRkaW5nOiAuN3JlbSAxLjFyZW07XHJcbiAgICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XHJcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gU2lzw6Rra8OkaXNldCBzdWItbWVudXQ6IG9tYSB0b2dnbGUgb2lrZWFsbGEsIGvDpMOkbm5ldHR5IDkwwrBcclxuICAgICAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbj5hIHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuMnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdWItbWVudS10b2dnbGUge1xyXG4gICAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgc3ZnIHBhdGgge1xyXG4gICAgICAgICAgICBzdHJva2U6ICMwMDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEVuc2ltbcOkaW5lbiB0YXNvIChoZXRpIHRvcC1saW5raW4gYWxsYSlcclxuICAgICAgLnN1Yi1tZW51LmRlcHRoLTAge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gVG9pbmVuIHRhc28gKHRvcC1saW5raW4gYWxpdmFsaWtvbiB2aWVyZXNzw6QpXHJcbiAgICAgIC5zdWItbWVudS5kZXB0aC0xIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEhvdmVyIHJldmVhbCBtb2xlbW1pbGxhIHRhc29pbGxhXHJcbiAgICAgIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyPi5zdWItbWVudS5kZXB0aC0wIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc3ViLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXI+LnN1Yi1tZW51LmRlcHRoLTEge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLXJpZ2h0IHtcclxuICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmhhbWJ1cmdlciB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBZG1pbiBiYXJcclxuLmFkbWluLWJhciAuc2l0ZS1oZWFkZXIge1xyXG4gIG1hcmdpbi10b3A6IDIuODc1cmVtO1xyXG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogNzgzcHgpIHtcclxuICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICN3cGFkbWluYmFyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICB9XHJcbn0iLCIuZm9vdGVyLWJhbm5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9jZWlsaW5nLmpwZykgMjAlIC8gY292ZXIgbm8tcmVwZWF0O1xyXG5cclxuICAgIC5zaGFkZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGluc2V0OiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjY1KSA0NyUsIHRyYW5zcGFyZW50KTtcclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1heC13aWR0aDogMTMwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogM3JlbSAxLjJyZW07XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICAgICAgICBtYXgtd2lkdGg6IDUyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5qY2EtbG9nbyB7XHJcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDUwcHg7XHJcblxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIuMXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5qY2EtbG9nbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWZvb3RlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzBjMGMwYywgIzE1MTUxNSk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgLnRvcCB7XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExMDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogM3JlbSAxLjJyZW07XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ28tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMjgwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMS41cmVtIGF1dG8gMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLCB0cmFuc3BhcmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXItbmF2IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZ2FwOiAuOHJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNHJlbTtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQ2FzdG9ybyBUaXRsaW5nJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAub2ZmaWNlcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBnYXA6IDJyZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcblxyXG4gICAgICAgIC5vZmZpY2Uge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksIHRyYW5zcGFyZW50KSAxO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcclxuXHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC45Mzc1cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42OCk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNvY2lhbC1pY29ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZ2FwOiAuNnJlbTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNHJlbTtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjJzO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoLjgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAubmV3c2xldHRlci1saW5rIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjRyZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBmb250LWZhbWlseTogJ0Nhc3Rvcm8gVGl0bGluZycsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG4gICAgICAgIG9wYWNpdHk6IC43O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ib3R0b20ge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGdhcDogLjJyZW07XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTEwMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAuOHJlbSAxLjJyZW0gLjhyZW0gMi42cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCxcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgY29sb3I6ICM3YjdiN2I7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWQge1xyXG5cclxuICAgICAgICAubG9nby1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjhyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudG9wIC5jb250ZW50IHtcclxuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvb3Rlci1uYXYge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDFyZW0gMnJlbTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvb3Rlci1uYXYge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMDVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zb2NpYWwtaWNvbnMge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5ld3NsZXR0ZXItbGluayB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJvdHRvbSAuY29udGVudCB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogLjJyZW0gMy4zcmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAuOHJlbSAycmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsImFzaWRlLnNpZGViYXItc2luZ2xlIHtcclxuXHJcbiAgICAuc2lkZWJhci10aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5ncmlkIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdhcDogMS44cmVtO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xyXG4gICAgfVxyXG5cclxuICAgIGFydGljbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ2FwOiAuOXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2Uge31cclxuXHJcbiAgICAudGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcclxuICAgICAgICBjb2xvcjogIzY3Njc2NztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbGcge1xyXG5cclxuICAgICAgICAuc2lkZWJhci10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhcnRpY2xlIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4cmVtIDFmcjtcclxuICAgICAgICAgICAgZ2FwOiAxcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IiwiLy8gR2VuZXJhbCBmb3JtIHN0eWxlc1xyXG5mb3JtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBoMixcclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMC4ycmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5hc3RlcmlzayxcclxuICAgIC5yZXF1aXJlZCB7XHJcbiAgICAgICAgY29sb3I6IHJnYigyMDYsIDE3LCAxNyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10sXHJcbiAgICBpbnB1dFt0eXBlPSdlbWFpbCddLFxyXG4gICAgaW5wdXRbdHlwZT0ndGVsJ10sXHJcbiAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDdweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIC8vYm94LXNoYWRvdzogMCAzcHggNi41cHggMCByZ2JhKDAsIDAsIDAsIC4wNSk7XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTJweCAjMDAwMDAwMWE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgICBoZWlnaHQ6IDExNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiA2cHggOHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICM0ZDRkNGQgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gd3BjZjcgc3R5bGluZ3NcclxuXHJcbi53cGNmNyB7XHJcblxyXG4gICAgZm9ybVtkYXRhLXN0YXR1cz1cInN1Ym1pdHRpbmdcIl0gLndwY2Y3LXN1Ym1pdCB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICAgIGFjY2VudC1jb2xvcjogJGNvbG9yLXByaW1hcnktZGFyaztcclxuICAgIH1cclxuXHJcbiAgICAud3BjZjctbGlzdC1pdGVtIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLndwY2Y3LW5vdC12YWxpZC10aXAge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAgICAgICBjb2xvcjogI2UzMWMxYztcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC53cGNmNy1zcGlubmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgICBib3R0b206IC0xcmVtO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNTAlIC0gMjRweCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xyXG4gICAgICAgIGNvbG9yOiByZ2IoMjcsIDI3LCAyNykgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItY29sb3I6IHJnYigyNywgMjcsIDI3KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGJyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC53cGNmNy1yYWRpbyxcclxuICAgIC53cGNmNy1jaGVja2JveCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBnYXA6IC4ycmVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC40cmVtO1xyXG5cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjNyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDdXN0b20gbGF5b3V0cyBldGNcclxuXHJcbi5mb3JtIHtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAucm93IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgID5kaXYge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjRyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mdWxsLXdpZHRoIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xyXG4gICAgfVxyXG5cclxuICAgIC50d28tY29sdW1ucyB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHNtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAxLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yYWRpby1idXR0b25zIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hZGRpdGlvbmFsLWluZm8ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGNvbG9yOiAjM0QzRDNEO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC41NXJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAuM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtdXBsb2FkIHtcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgI21mY2Y3X3psX211bHRpZmlsZWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICNtZmNmN196bF9hZGRfZmlsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAkY29sb3ItcHJpbWFyeS1kYXJrO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGFyaztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGlkZGVuLWZpZWxkcyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG59IiwiLmhvbWUgLmhlcm8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiA5MXZoO1xyXG4gICAgbWluLWhlaWdodDogNTAwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA5MTFweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZGVmYXVsdC1pbWFnZS5qcGcpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDY0JSA1MCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAuc2hhZGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBpbnNldDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzAwMDAwMDFmLCAjMDAwMDAwNmIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0M3JlbTtcclxuICAgICAgICBtYXgtd2lkdGg6IDg4cmVtO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMS4ycmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0M3JlbTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmhlcm8tdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuN3JlbTtcclxuXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuM3JlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMSxcclxuICAgIGgyLFxyXG4gICAgaDMsXHJcbiAgICBoNCxcclxuICAgIGg1LFxyXG4gICAgaDYge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IC41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1kIHtcclxuXHJcbiAgICAgICAgLmhlcm8tdGl0bGUgaDEsXHJcbiAgICAgICAgLmhlcm8tdGl0bGUgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ob21lIC50ZXh0LXNlY3Rpb24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDEuNXJlbSAxLjJyZW07XHJcbiAgICBwYWRkaW5nLWJsb2NrOiAzcmVtO1xyXG5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQycmVtO1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDEuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgbWFyZ2luOiAyLjVyZW0gMnJlbTtcclxuICAgICAgICBwYWRkaW5nLWJsb2NrOiA0cmVtO1xyXG5cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmhvbWUgLm1haW4tc2VydmljZXMge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogMDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIC5zZXJ2aWNlLWJveCsuc2VydmljZS1ib3gge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDIxcHggc29saWQgI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZS1ib3gge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBlYXNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciAuaW1hZ2Uge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciAuYnV0dG9uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIC5idXR0b24uZGFyayB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNoYWRlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBpbnNldDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDEuNXJlbTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMnJlbTtcclxuXHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC43cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG5cclxuICAgICAgICAuc2VydmljZS1ib3grLnNlcnZpY2UtYm94IHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTIwcHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoLTdkZWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNlcnZpY2UtYm94IHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XHJcblxyXG4gICAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyLjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ob21lIC5zZWNvbmRhcnktc2VydmljZXMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICBtYXJnaW46IDEuNXJlbSAxLjJyZW07XHJcbiAgICBwYWRkaW5nOiAzcmVtIDAgMS44cmVtO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBpbnNldDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2Fic3RyYWN0LmpwZykgY2VudGVyIC8gY292ZXIgbm8tcmVwZWF0O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMDY7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEzMDBweDtcclxuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAxLjJyZW07XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBnYXA6IDEuM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGluZyBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmxpbmtzIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZy1ibG9jazogMS4ycmVtO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnQ2FzdG9ybyBUaXRsaW5nJywgc2Fucy1zZXJpZjtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcclxuICAgICAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjMpLCB0cmFuc3BhcmVudCkgMTtcclxuXHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaW4tdmlldyB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjhzIGVhc2UsIHRyYW5zZm9ybSAuOHMgZWFzZTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciBpbWcge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgIG1hcmdpbjogMi41cmVtIDJyZW07XHJcbiAgICAgICAgcGFkZGluZzogN3JlbSAwO1xyXG5cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICAgICAgZ2FwOiA0cmVtO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlYWRpbmcgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGlua3Mge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMS4xcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxpbmtzIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMzVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaG9tZSAucG9zdHMsXHJcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtYXNpYW5hamFqYXQgLnBvc3RzLFxyXG4uc2luZ2xlLWhlbmtpbG9zdG8gLnBvc3RzIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMGMwYzBjLCAjMTUxNTE1KTtcclxuICAgIHBhZGRpbmctYmxvY2s6IDMuNXJlbTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIG1heC13aWR0aDogMTMwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnN3aXBlci1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAuc3dpcGVyIHtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICBwYWRkaW5nLWlubGluZTogMS4ycmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5zd2lwZXItc2xpZGUge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA0IHtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIC5hbmltIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICN7KCRpIC0gMSkgKiAwLjE1fXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN1c3RvbS1zd2lwZXItYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDQ2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnByZXYge1xyXG4gICAgICAgICAgICBsZWZ0OiAtNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubmV4dCB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgcGFkZGluZy1ibG9jazogNy4xcmVtIDguN3JlbTtcclxuXHJcbiAgICAgICAgLnN3aXBlciB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN3aXBlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMy45cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmN1c3RvbS1zd2lwZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEVtcGxveWVlIGNhcm91c2VsIHN0eWxlcyBub3cgaW4gX2VtcGxveWVlcy1jYXJvdXNlbC5zY3NzIGNvbXBvbmVudCIsIi5wYWdlLXRlbXBsYXRlLWRlZmF1bHQ6bm90KC5ob21lKSxcclxuLmVycm9yNDA0IHtcclxuXHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDkwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDEuNXJlbSAzcmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgc20ge1xyXG4gICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMnJlbSA0cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iLCIuYmxvZyAuc2l0ZS1jb250ZW50LFxyXG4uYXJjaGl2ZSAuc2l0ZS1jb250ZW50IHtcclxuXHJcbiAgICAuYmxvZy1wb3N0cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMwYzBjMGMsICMxNTE1MTUpO1xyXG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDNyZW07XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAxLjJyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucG9zdHMtZ3JpZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdhcDogMS4ycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgcndkKDYyMCkge1xyXG4gICAgICAgICAgICAucG9zdHMtZ3JpZCB7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1kIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogNHJlbTtcclxuXHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSByd2QoMTAwMCkge1xyXG4gICAgICAgICAgICAucG9zdHMtZ3JpZCB7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxLjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLnNpbmdsZS1wb3N0IC5zaXRlLWNvbnRlbnQsXHJcbi5zaW5nbGUtcmVmZXJlbnNzaSAuc2l0ZS1jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMGMwYzBjLCAjMTUxNTE1KTtcclxuXHJcbiAgICAuc2luZ2xlLWFydGljbGUge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjJyZW0gMnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kYXRlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuOTM3NXJlbTtcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5lZGl0b3Ige1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44O1xyXG5cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjhyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYm9yZGVyLWdyYWRpZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSwgdHJhbnNwYXJlbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFydGljbGUtYXV0aG9ycyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcclxuXHJcbiAgICAgICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDJyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5lbXBsb3llZS1jYXJkIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAuZW1wbG95ZWUtaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaDMsXHJcbiAgICAgICAgICAgICAgICAuZW1wbG95ZWUtY2FyZF9fbmFtZS1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAucm9sZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuaWNvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSByd2QoNTYwKSB7XHJcbiAgICAgICAgICAgICAgICAmX19ncmlkIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1kIHtcclxuICAgICAgICAgICAgICAgICZfX2dyaWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAyNDBweCkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMuNXJlbSAycmVtIDIuNXJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZWRpdG9yIGgyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yZWxhdGVkLXBvc3RzIHtcclxuICAgICAgICBwYWRkaW5nLWJsb2NrOiAzcmVtO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAxLjJyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucG9zdHMtZ3JpZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdhcDogMS4ycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNob3ctYWxsIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgcndkKDYyMCkge1xyXG4gICAgICAgICAgICAucG9zdHMtZ3JpZCB7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEuNXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiA0cmVtO1xyXG5cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBSZWZlcmVuc3NpbiBzaW5nbGU6IGVuZW1tw6RuIHBhZGRpbmctYm90dG9taWEga29za2EgYm9yZGVyLWdyYWRpZW50IG9uIHBvaXN0ZXR0dVxyXG4uc2luZ2xlLXJlZmVyZW5zc2kgLnNpdGUtY29udGVudCAuc2luZ2xlLWFydGljbGUgLmNvbnRlbnQge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2LjVyZW07XHJcbiAgICB9XHJcbn0iLCIucGFnZS10ZW1wbGF0ZS15aHRleXN0aWVkb3QgLnNpdGUtY29udGVudCB7XHJcblxyXG4gICAgLm9mZmljZXMge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMS4ycmVtO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IDJyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAub2ZmaWNlLWNhcmQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDQvMztcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pbmZvIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuaWNvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNHJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gMnJlbTtcclxuICAgICAgICAgICAgICAgIGdhcDogMi41cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAub2ZmaWNlLWNhcmQge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xyXG5cclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMi41cmVtIDNyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzgwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmlsbGluZy1pbmZvIHtcclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTEwMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuMnJlbSAzcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmlubmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnVzaW5lc3MtaWQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC45Mzc1cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjVyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmlsbGluZy1jb2x1bW5zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblxyXG4gICAgICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAuN3JlbTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjIpLCB0cmFuc3BhcmVudCkgMTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAucm93cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogLjVyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IC4ycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW0gNHJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmlubmVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIuNXJlbSAzcmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5idXNpbmVzcy1pZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuYmlsbGluZy1jb2x1bW5zIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuXHJcbiAgICAgICAgICAgICAgICAuY29sdW1uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogMS41cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIucGFnZS10ZW1wbGF0ZS1wYWdlLWFzaWFuYWphamF0IC5lbXBsb3llZXMtZ3JpZCB7XHJcbiAgICBtYXgtd2lkdGg6IDEzMDBweDtcclxuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAzcmVtIDEuMnJlbTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6IDIuNXJlbSAxLjVyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbWQge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICAgICAgcGFkZGluZzogNHJlbSAycmVtO1xyXG4gICAgICAgIGdhcDogMy41cmVtIDJyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgeGwge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICAgICAgcGFkZGluZzogNXJlbSAycmVtO1xyXG4gICAgfVxyXG59XHJcbiIsIi5zaW5nbGUtaGVua2lsb3N0byAucHJvZmlsZS1zZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgcGFkZGluZzogMi41cmVtIDEuMnJlbSAzLjVyZW07XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2ZpbGUtbGF5b3V0IHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdhcDogMi41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIExlZnQgY29sdW1uOiBwaG90byArIGluZm9cclxuICAgIC5wcm9maWxlLWxlZnQge1xyXG4gICAgICAgIC5lbXBsb3llZS1pbWFnZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucHJvZmlsZS1pbmZvIHtcclxuICAgICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNHJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnJvbGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM1MDUwNTA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjFyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pY29uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOTM3NXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICArLmljb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLjdyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmlnaHQgY29sdW1uOiBiaW8gKyBjYXJlZXIgKyBjb2xsYXBzaWJsZXNcclxuICAgIC5wcm9maWxlLXJpZ2h0IHtcclxuICAgICAgICAuYmlvIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYXJlZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FyZWVyLWl0ZW1zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiAxcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcmVlci1pdGVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMjBweCAxZnI7XHJcbiAgICAgICAgICAgIGdhcDogLjVyZW07XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHJcbiAgICAgICAgICAgIC55ZWFyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24gcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbGxhcHNpYmxlIHNlY3Rpb25zXHJcbiAgICAuY29sbGFwc2libGUtc2VjdGlvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbGxhcHNpYmxlIHtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29sbGFwc2libGUtdG9nZ2xlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMzMzO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMzM7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xyXG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5vcGVuIC5jb2xsYXBzaWJsZS10b2dnbGU6OmFmdGVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29sbGFwc2libGUtY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjNzIGVhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29sbGFwc2libGUtaW5uZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC45Mzc1cmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBWZXJ0aWNhbCBkZWNvcmF0aXZlIGxpbmUgKGRlc2t0b3ApXHJcbiAgICAucHJvZmlsZS1sYXlvdXQ6OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgcGFkZGluZzogMy41cmVtIDJyZW0gNXJlbTtcclxuXHJcbiAgICAgICAgLnByb2ZpbGUtbGF5b3V0IHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzODBweCAxZnI7XHJcbiAgICAgICAgICAgIGdhcDogNHJlbTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDM4MHB4ICsgMnJlbSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2NjYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByb2ZpbGUtcmlnaHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHhsIHtcclxuICAgICAgICAucHJvZmlsZS1sYXlvdXQge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ0MHB4IDFmcjtcclxuICAgICAgICAgICAgZ2FwOiA1cmVtO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoNDQwcHggKyAyLjVyZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBMaWdodCBjYXJvdXNlbCB2YXJpYW50XHJcbi5zaW5nbGUtaGVua2lsb3N0byAucG9zdHMtLWxpZ2h0IHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICBwYWRkaW5nLWJsb2NrOiAwLjRyZW0gMy41cmVtO1xyXG5cclxuICAgIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLXN3aXBlci1idXR0b24ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1kIHtcclxuICAgICAgICBwYWRkaW5nLWJsb2NrOiAxLjhyZW0gNi43cmVtO1xyXG4gICAgfVxyXG59IiwiLy8gUGFnZSBoZWFkZXIgdmFyaWFudDogc2Vjb25kYXJ5IChncmVlbmlzaCBzaGFkZSlcclxuLnBhZ2UtaGVhZGVyLWltYWdlLS1zZWNvbmRhcnkge1xyXG4gICAgLnNoYWRlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci1zZWNvbmRhcnksIDAuOTYpO1xyXG4gICAgfVxyXG5cclxuICAgIGgxIHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAuOXJlbSBhdXRvIDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSwgdHJhbnNwYXJlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gRm9ybSBzZWN0aW9uXHJcbi5mb3JtLXNlY3Rpb24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRURFNDtcclxuICAgIGNvbG9yOiAjMjUyNTI1O1xyXG4gICAgcGFkZGluZzogMy41cmVtIDEuMnJlbTtcclxuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1NnJlbTtcclxuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlc2V0b2kgd3BhdXRvcGluIGxpc8Okw6Rtw6R0IHAtbWFyZ2luYWFsaXQgbG9tYWtrZWVuIHNpc8OkbGzDpFxyXG4gICAgLndwY2Y3IHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAud3BjZjcgYnIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLndwY2Y3IGgyIHtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiQ2FzdG9ybyBUaXRsaW5nXCIsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICBtYXJnaW46IDAgMCAuOHJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJbnRyby1wYXJhZ3JhZmkgKGgyOm4gasOkbGtlZW4pXHJcbiAgICAud3BjZjcgaDIgKyBwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5ncmlkIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIGdhcDogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAucm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAxcmVtO1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgICAgIGNvbG9yOiAjMjUyNTI1O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC4zNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuYXN0ZXJpc2sge1xyXG4gICAgICAgIGNvbG9yOiAjQUQyRDJEO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogLjdyZW0gMXJlbTtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgY29sb3I6ICMyNTI1MjU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycyBlYXNlO1xyXG5cclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgLjEyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDhyZW07XHJcbiAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcclxuICAgIH1cclxuXHJcbiAgICAuc3VibWl0LXdyYXAge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC44cmVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE9oaXRldGFhbiAuYnV0dG9uLWx1b2thbiB0eXlsaXQgc3VibWl0LXBhaW5pa2tlZXNzYVxyXG4gICAgLnN1Ym1pdC13cmFwIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXHJcbiAgICAud3BjZjctc3VibWl0LFxyXG4gICAgaW5wdXQud3BjZjctc3VibWl0IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XHJcbiAgICAgICAgcGFkZGluZzogLjY1cmVtIDJyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAuOTVyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmEyYTJhO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IC43NXJlbSAxcmVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZCB7XHJcbiAgICAgICAgcGFkZGluZzogNXJlbSAycmVtO1xyXG5cclxuICAgICAgICAuZ3JpZCB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICAgICAgZ2FwOiAyLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5wYWx2ZWx1LWFsYXNpdnUtcGFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMkQyNjtcbn1cblxuLnBhbHZlbHUtYWxhc2l2dSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMkQyNjtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICZfX2xheW91dCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogMi41cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDc3cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogM3JlbSAxLjJyZW0gNHJlbTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAgIGgxLFxuICAgICAgICBoMixcbiAgICAgICAgaDMsXG4gICAgICAgIGg0LFxuICAgICAgICBoNSxcbiAgICAgICAgaDYge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjlyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2lkZWJhciB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuXG4gICAgICAgIC5zaWRlYmFyLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMDVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpYmxpbmctbmF2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAuNnJlbTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpYmxpbmctbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNTVyZW0gMS4ycmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdHlwb2dyYXBoeTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAuOTVyZW07XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLCBib3gtc2hhZG93IC4ycyBlYXNlO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgLjE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kIHtcbiAgICAgICAgJl9fbGF5b3V0IHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgMjByZW07XG4gICAgICAgICAgICBnYXA6IDRyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiA0cmVtIDJyZW0gNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGxnIHtcbiAgICAgICAgJl9fbGF5b3V0IHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgMjJyZW07XG4gICAgICAgICAgICBnYXA6IDZyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiI3BhZ2Uge1xyXG4gICAgbWF4LXdpZHRoOiAxOTIwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmhpZGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmZpcnN0LWxhc3QtbWFyZ2lubGVzcyB7XHJcbiAgICA+KjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgID4qOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmZsb2F0aW5nLWJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgd2lkdGg6IDQ4cHg7XHJcbiAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDQsIDQ0LCA0NCk7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIGJveC1zaGFkb3c6IDFweCAxcHggMTNweCAjMDAwMDAwNDQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDU0JTtcclxuICAgIH1cclxuXHJcbiAgICAmLndoYXRzYXBwIHtcclxuICAgICAgICBib3R0b206IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jYWxsIHtcclxuICAgICAgICBib3R0b206IDc0cHg7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzYlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSByd2QoJGJyZWFrcG9pbnQtZGVza3RvcC1oZWFkZXIpIHtcclxuICAgICAgICAmLmNhbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi53aGF0c2FwcCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1OHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDU4cHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaWNvbi10ZXh0IHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE0cHggYXV0bztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xyXG4gICAgZ2FwOiAuN3JlbTtcclxuXHJcbiAgICAmLmVtYWlsIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYucGhvbmUgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hZGRyZXNzIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgfVxyXG5cclxuICAgICYub3BlbmluZy1ob3VycyBpbWcge1xyXG4gICAgICAgIGhlaWdodDogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmZhY2Vib29rIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYubGlua2VkaW4gaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICA+KiB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uZ2xvYmFsLWxpbmsge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5zY3JvbGwtdG8tdG9wLWJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm90dG9tOiAxcmVtO1xyXG4gICAgcmlnaHQ6IDFyZW07XHJcbiAgICBoZWlnaHQ6IDNyZW07XHJcbiAgICB3aWR0aDogM3JlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgOXB4ICMwMDAwMDAyOTtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG5cclxuICAgIEBpbmNsdWRlIHNtIHtcclxuICAgICAgICByaWdodDogMnJlbTtcclxuICAgICAgICBib3R0b206IDJyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzNiwgMjM2LCAyMzYpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFByZXZlbnQgaGVhZGVyIENMU1xyXG4uc2l0ZS1jb250ZW50IHtcclxuICAgIHBhZGRpbmctdG9wOiAzLjE4NzVyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgcndkKCRicmVha3BvaW50LWRlc2t0b3AtaGVhZGVyKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDZyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEZ1bGwgd2lkdGggeW91dHViZSB2aWRlb3MgbWFpbnRhaW5pbmcgYXNwZWN0IHJhdGlvXHJcbi5mdWxsLXdpZHRoLWVtYmVkLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogLjVyZW07XHJcbiAgICAvKiAxNjo5IEFzcGVjdCBSYXRpbyAoZGl2aWRlIDkgYnkgMTYgPSAwLjU2MjUpICovXHJcblxyXG4gICAgaWZyYW1lIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gV1AgR29vZ2xlIE1hcHMgcGx1Z2luXHJcbi5tYXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAud3BnbXphLXByZWxvYWRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubm9zY3JvbGwge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufSJdfQ== */
