:root {
  --color-light: #ffffff;
  --color-dark: #202020;
  --color-primary: #202020;
  --color-secondary: #999999;
  --green: #DFFD99;
  --color-default: var(--color-dark);
}

:root {
  --container-big-width: 1720px;
  --container-width: 1670px;
  --container-large-width: 1540px;
  --container-medium-width: 1290px;
  --container-small-width: 1180px;
  --container-extra-small-width: 920px;
  --container-mini-width: 730px;
  --block-min-width: 480px;
  --block-min-height: 580px;
  --spacer-big: 30px;
  --spacer-large: 20px;
  --spacer-medium: 25px;
  --spacer-small: 20px;
  --spacer-extra-small: 10px;
  --transition-default: all 0.5s ease-in-out;
  --font-family: "Geist", sans-serif;
  --font-family-title: "Geist", sans-serif;
  --font-family-menu: "Geist", sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --font-size: 18px;
  --h1-font-size: clamp(38px, 8vw, 90px);
  --h1-font-weight: 700;
  --h1-margin-bottom: 10px;
  --h2-font-size: clamp(32px, 8vw, 60px);
  --h2-font-weight: 700;
  --h2-margin-bottom: 10px;
  --h3-font-size: clamp(28px, 8vw, 32px);
  --h3-font-weight: 700;
  --h3-margin-bottom: 10px;
  --h4-font-size: clamp(20px, 8vw, 24px);
  --h4-font-weight: 700;
  --h4-margin-bottom: 10px;
  --h5-font-size: 15px;
  --h5-font-weight: 700;
  --h5-margin-bottom: 10px;
  --h6-font-size: 12px;
  --h6-font-weight: 700;
  --h6-margin-bottom: 10px;
}

@media (min-width: 992px) {
  :root {
    --spacer-big: 30px;
  }
}
@media (min-width: 1681px) {
  :root {
    --spacer-big: 50px;
  }
}
@media (min-width: 992px) {
  :root {
    --spacer-large: 30px;
  }
}
@media (min-width: 1601px) {
  :root {
    --spacer-large: 40px;
  }
}
@media (min-width: 992px) {
  :root {
    --font-size: 20px;
  }
}
@-webkit-keyframes menu-show {
  0% {
    -webkit-transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes menu-show {
  0% {
    -moz-transform: translateY(0%);
  }
  100% {
    -moz-transform: translateY(0);
  }
}
@keyframes menu-show {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.animation {
  position: relative;
  overflow: hidden;
  width: 101%;
  display: flex !important;
  align-items: center;
  transform-origin: bottom left;
}

.animation .animated {
  line-height: 1.3;
}

@keyframes slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes bounceScroll {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.bounceScroll {
  display: inline-block;
  animation: bounceScroll 2s infinite;
}

.simpleFadeIn {
  opacity: 0;
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.simpleFadeIn.visible {
  opacity: 1;
}

.simpleFadeInLeft {
  opacity: 0;
  transform: translateX(-100vw);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.simpleFadeInLeft.visible {
  opacity: 1;
  transform: translateX(0);
}

.simpleFadeInRight {
  opacity: 0;
  transform: translateX(100vw);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.simpleFadeInRight.visible {
  opacity: 1;
  transform: translateX(0);
}

.animateTop {
  opacity: 0;
  transform: translateY(130px);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.animateTop.visible {
  opacity: 1;
  transform: translateY(0);
}

.animateRight {
  opacity: 0;
  transform: translate(-130px, 100px);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.animateRight.visible {
  opacity: 1;
  transform: translate(0);
}

html, body {
  margin: 0;
  padding: 0;
}

img {
  height: auto;
  width: 100%;
}

.object-cover {
  object-fit: cover;
}

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

a:hover {
  text-decoration: none;
}

* {
  box-sizing: border-box;
}

.h-full {
  height: 100%;
}

.hidden {
  display: none;
}

.overflow-visible {
  overflow: visible;
}

.overflow-x-scroll {
  overflow-x: scroll;
}

.overflow-hidden {
  overflow: hidden;
}

.border-bottom {
  border-bottom: 1px solid var(--color-dark);
}

.border-bottom.light-grey {
  border-bottom: 1px solid rgba(18, 18, 18, 0.1);
}

.border-radius {
  border-radius: 8px;
}

@media (min-width: 992px) {
  .border-radius.big {
    border-radius: 40px;
  }
}
.spacer {
  width: 100%;
}

.spacer.big {
  height: var(--spacer-big);
}

.spacer.large {
  height: var(--spacer-large);
}

.spacer.medium {
  height: var(--spacer-medium);
}

.spacer.small {
  height: var(--spacer-small);
}

.spacer.extra-small {
  height: var(--spacer-extra-small);
}

.container {
  width: 100%;
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
  box-sizing: border-box;
}

@media (min-width: 992px) {
  .container {
    padding: 0 20px;
  }
}
.container.fluid {
  max-width: unset;
  padding: 0;
}

.container.big {
  max-width: var(--container-big-width);
}

.container.large {
  max-width: var(--container-large-width);
}

.container.medium {
  max-width: var(--container-medium-width);
}

.container.small {
  max-width: var(--container-small-width);
}

.container.extra-small {
  max-width: var(--container-extra-small-width);
}

@media (min-width: 992px) {
  .container.mini {
    max-width: var(--container-mini-width);
  }
}
@media (min-width: 992px) {
  .container.min-width {
    max-width: var(--block-min-width);
  }
}
.container.relative {
  position: relative;
}

.container.floated-right {
  margin-left: auto;
  margin-right: 0;
}

@media (max-width: 991px) {
  .container.floated-right {
    padding: 0;
  }
}
.container.floated-left {
  margin-left: 0;
  margin-right: auto;
}

@media (max-width: 991px) {
  .container.floated-left {
    padding: 0;
  }
}
.p-relative {
  position: relative;
  z-index: 1;
}

.d-flex {
  display: flex;
}

.d-flex::after, .d-flex::before {
  display: none;
}

.d-flex.direction-column {
  flex-direction: column;
}

.d-flex.direction-row {
  flex-direction: row;
}

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

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

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

.d-flex.flex-wrap {
  flex-wrap: wrap;
}

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

@media (max-width: 991px) {
  .d-flex.justify-mobile-center {
    justify-content: center;
  }
}
.d-flex.justify-space-between {
  justify-content: space-between;
}

.d-flex.justify-space-evenly {
  justify-content: space-evenly;
}

.d-flex.justify-space-around {
  justify-content: space-around;
}

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

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

@media (min-width: 768px) {
  .d-flex.justify-desktop-end {
    justify-content: flex-end;
  }
}
.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

@media (min-width: 576px) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-none {
    display: none;
  }
}
@media (min-width: 768px) {
  .d-md-block {
    display: block !important;
  }
  .d-md-none {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-none {
    display: none;
  }
}
@media (min-width: 1601px) {
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-none {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-lg-inline-block {
    display: inline-block !important;
  }
}
.full-width {
  width: 100% !important;
  max-width: 100% !important;
}

.m-0 {
  margin: 0 !important;
}

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

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.bg-section {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bg-section.with-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

.bg-dark {
  background-color: var(--color-dark);
}

.bg-dark .h1, .bg-dark .h2, .bg-dark .h3, .bg-dark .h4, .bg-dark .h5, .bg-dark .h6, .bg-dark p, .bg-dark .p, .bg-dark a:not(.btn), .bg-dark ul, .bg-dark li, .bg-dark i, .bg-dark span, .bg-dark strong {
  color: var(--color-light);
}

.bg-dark a:not(.btn) {
  transition: var(--transition-default);
}

.bg-dark a:not(.btn):hover {
  color: var(--green);
  transition: var(--transition-default);
}

.bg-light {
  background-color: var(--color-light);
}

.bg-light .h1, .bg-light .h2, .bg-light .h3, .bg-light .h4, .bg-light .h5, .bg-light .h6, .bg-light p, .bg-light .p, .bg-light a:not(.btn), .bg-light ul, .bg-light li, .bg-light i, .bg-light span, .bg-light strong {
  color: var(--color-dark);
}

.grain {
  position: relative;
}

.grain:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,        <svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%'>            <filter id='grain'>            <feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/>            </filter>            <rect width='100%' height='100%' filter='url(%23grain)' opacity='0.20'/>        </svg>");
  background-size: cover;
  pointer-events: none;
  z-index: 1;
}

.color-dark:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-dark *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-dark);
}

.color-light:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-light *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-light);
}

.span-color span {
  color: var(--green);
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

@media (min-width: 992px) {
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
}
.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-6 {
  order: 6 !important;
}

@font-face {
  font-family: "Geist";
  src: url("../fonts/Geist-Regular.eot");
  src: url("../fonts/Geist-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Geist-Regular.woff2") format("woff2"), url("../fonts/Geist-Regular.woff") format("woff"), url("../fonts/Geist-Regular.ttf") format("truetype"), url("../fonts/Geist-Regular.svg#Geist-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("../fonts/Geist-Bold.eot");
  src: url("../fonts/Geist-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Geist-Bold.woff2") format("woff2"), url("../fonts/Geist-Bold.woff") format("woff"), url("../fonts/Geist-Bold.ttf") format("truetype"), url("../fonts/Geist-Bold.svg#Geist-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("../fonts/Geist-SemiBold.eot");
  src: url("../fonts/Geist-SemiBold.eot?#iefix") format("embedded-opentype"), url("../fonts/Geist-SemiBold.woff2") format("woff2"), url("../fonts/Geist-SemiBold.woff") format("woff"), url("../fonts/Geist-SemiBold.ttf") format("truetype"), url("../fonts/Geist-SemiBold.svg#Geist-SemiBold") format("svg");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("../fonts/Geist-Medium.eot");
  src: url("../fonts/Geist-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Geist-Medium.woff2") format("woff2"), url("../fonts/Geist-Medium.woff") format("woff"), url("../fonts/Geist-Medium.ttf") format("truetype"), url("../fonts/Geist-Medium.svg#Geist-Medium") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("../fonts/Geist-Light.eot");
  src: url("../fonts/Geist-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Geist-Light.woff2") format("woff2"), url("../fonts/Geist-Light.woff") format("woff"), url("../fonts/Geist-Light.ttf") format("truetype"), url("../fonts/Geist-Light.svg#Geist-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/JetBrainsMono-Regular.eot");
  src: url("../fonts/JetBrainsMono-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/JetBrainsMono-Regular.woff2") format("woff2"), url("../fonts/JetBrainsMono-Regular.woff") format("woff"), url("../fonts/JetBrainsMono-Regular.ttf") format("truetype"), url("../fonts/JetBrainsMono-Regular.svg#JetBrainsMono-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  font-weight: 400;
  line-height: 1.3;
  font-smooth: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.light {
  font-weight: 300;
}

body.regular {
  font-weight: 400;
}

body.medium {
  font-weight: 500;
}

body.semibold {
  font-weight: 600;
}

body.bold {
  font-weight: 700;
}

.inherit {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  display: inherit;
  font-family: inherit;
}

p, .p, strong, b, time, i {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 400;
  line-height: 1.5;
}

a {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 400;
  line-height: 1.5;
}

a:hover {
  color: var(--green);
}

ul {
  padding-inline-start: 25px;
}

ul, li {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.5;
}

strong, b, .strong {
  font-weight: 600;
}

.text-shadow {
  text-shadow: 1px 1px 0 var(--color-light);
}

.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-family-title);
  line-height: 1.1;
  display: block;
}

.h1 p, .h1 .p, .h1 ul, .h1 li, .h1 a, .h1 span, .h1 strong, .h1 .strong, .h1 b, .h1 time, .h1 i, .h2 p, .h2 .p, .h2 ul, .h2 li, .h2 a, .h2 span, .h2 strong, .h2 .strong, .h2 b, .h2 time, .h2 i, .h3 p, .h3 .p, .h3 ul, .h3 li, .h3 a, .h3 span, .h3 strong, .h3 .strong, .h3 b, .h3 time, .h3 i, .h4 p, .h4 .p, .h4 ul, .h4 li, .h4 a, .h4 span, .h4 strong, .h4 .strong, .h4 b, .h4 time, .h4 i, .h5 p, .h5 .p, .h5 ul, .h5 li, .h5 a, .h5 span, .h5 strong, .h5 .strong, .h5 b, .h5 time, .h5 i, .h6 p, .h6 .p, .h6 ul, .h6 li, .h6 a, .h6 span, .h6 strong, .h6 .strong, .h6 b, .h6 time, .h6 i {
  font-family: inherit;
  line-height: inherit;
  font-size: inherit;
  margin-bottom: inherit;
  margin-top: inherit;
}

.h1.p-style, .h2.p-style, .h3.p-style, .h4.p-style, .h5.p-style, .h6.p-style {
  font-family: var(--font-family);
}

.h1.light, .h2.light, .h3.light, .h4.light, .h5.light, .h6.light {
  font-weight: 300;
}

.h1.regular, .h2.regular, .h3.regular, .h4.regular, .h5.regular, .h6.regular {
  font-weight: 400;
}

.h1.medium, .h2.medium, .h3.medium, .h4.medium, .h5.medium, .h6.medium {
  font-weight: 500;
}

.h1.semibold, .h2.semibold, .h3.semibold, .h4.semibold, .h5.semibold, .h6.semibold {
  font-weight: 600;
}

.h1.bold, .h2.bold, .h3.bold, .h4.bold, .h5.bold, .h6.bold {
  font-weight: 700;
}

.h1.font-mono, .h2.font-mono, .h3.font-mono, .h4.font-mono, .h5.font-mono, .h6.font-mono {
  font-family: var(--font-mono);
}

.h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--h1-font-weight);
  margin-bottom: var(--h1-margin-bottom);
  margin-top: 0;
}

.h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--h2-font-weight);
  margin-bottom: var(--h2-margin-bottom);
  margin-top: 0;
}

.h3 {
  font-size: var(--h3-font-size);
  font-weight: var(--h3-font-weight);
  margin-bottom: var(--h3-margin-bottom);
  margin-top: 0;
}

.h4 {
  font-size: var(--h4-font-size);
  font-weight: var(--h4-font-weight);
  margin-bottom: var(--h4-margin-bottom);
  margin-top: 0;
}

.h5 {
  font-size: var(--h5-font-size);
  font-weight: var(--h5-font-weight);
  margin-bottom: var(--h5-margin-bottom);
  margin-top: 0;
}

.h6 {
  font-size: var(--h6-font-size);
  font-weight: var(--h6-font-weight);
  margin-bottom: var(--h6-margin-bottom);
  margin-top: 0;
}

.p h1, .p h2, .p h3, .p h4, .p h5, .p h6 {
  font-family: var(--font-family-title);
  line-height: 1.1;
  display: block;
}

.p h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--h1-font-weight);
  margin-bottom: var(--h1-margin-bottom);
  margin-top: 0;
}

.p h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--h2-font-weight);
  margin-bottom: var(--h2-margin-bottom);
  margin-top: 0;
}

.p h3 {
  font-size: var(--h3-font-size);
  font-weight: var(--h3-font-weight);
  margin-bottom: var(--h3-margin-bottom);
  margin-top: 0;
}

.p h4 {
  font-size: var(--h4-font-size);
  font-weight: var(--h4-font-weight);
  margin-bottom: var(--h4-margin-bottom);
  margin-top: 0;
}

.p h5 {
  font-size: var(--h5-font-size);
  font-weight: var(--h5-font-weight);
  margin-bottom: var(--h5-margin-bottom);
  margin-top: 0;
}

.p h6 {
  font-size: var(--h6-font-size);
  font-weight: var(--h6-font-weight);
  margin-bottom: var(--h6-margin-bottom);
  margin-top: 0;
}

.text-underline {
  text-decoration: underline;
}

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

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

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

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

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

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

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

.text-extralight {
  font-weight: 200;
}

.text-light {
  font-weight: 300;
}

.text-normal {
  font-weight: 400;
}

.text-semibold {
  font-weight: 500;
}

.text-bold {
  font-weight: 700;
}

.text-extra-bold {
  font-weight: 800;
}

.debug\:css {
  --debug-color: var(--color-default);
}

.debug\:css * {
  outline: 1px dashed var(--debug-color);
}

.debug\:css\:red {
  --debug-color: red;
}

.debug\:css\:red * {
  outline: 1px dashed var(--debug-color);
}

.animation-image-clip {
  background-color: hsla(0, 0%, 100%, 0.12);
}

.animation-image-clip .prod-image {
  display: flex;
  position: relative;
  overflow: hidden;
  transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
  clip-path: inset(100% 0 0 0);
}

.animation-image-clip .prod-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.block-grids {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 25px;
  gap: 25px;
}

@media (min-width: 992px) {
  .block-grids {
    grid-gap: 80px;
    gap: 80px;
  }
}
.block-grids.no-gap {
  grid-gap: 0;
  gap: 0;
}

.block-grids.small-gap {
  grid-gap: 20px;
  gap: 20px;
}

.block-grids.min-gap {
  grid-gap: 32px;
  gap: 32px;
}

@media (min-width: 992px) {
  .block-grids.columns-2 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.filter-block {
    grid-template-columns: 1fr 110px;
  }
}
.block-grids.columns-2.menu-block {
  grid-gap: 0 20px;
  gap: 0 20px;
  margin-top: -60px;
}

@media (min-width: 992px) {
  .block-grids.columns-2.menu-block {
    grid-template-columns: 1fr;
    margin-top: 0;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.menu-block {
    grid-template-columns: 1fr 0.8fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 576px) {
  .block-grids.columns-4 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.block-grids.columns-5 {
  grid-template-columns: 1fr;
}

@media (min-width: 576px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
.block-grids .grid {
  position: relative;
}

.block-grids.inverted .grid:first-child {
  order: 1;
}

@media (min-width: 992px) {
  .block-grids.inverted .grid:first-child {
    order: 2;
  }
}
.block-grids.inverted .grid:last-child {
  order: 2;
}

@media (min-width: 992px) {
  .block-grids.inverted .grid:last-child {
    order: 1;
  }
}
.block-grids.mobile-inverted .grid:first-child {
  order: 2;
}

@media (min-width: 992px) {
  .block-grids.mobile-inverted .grid:first-child {
    order: 1;
  }
}
.block-grids.mobile-inverted .grid:last-child {
  order: 1;
}

@media (min-width: 992px) {
  .block-grids.mobile-inverted .grid:last-child {
    order: 2;
  }
}
ul.breadcrumbs {
  padding: 10px 0;
  margin: 0;
  list-style: none;
  align-items: center;
  text-align: left;
  display: flex;
  justify-content: start;
  position: relative;
  z-index: 1;
  color: var(--color-dark);
}

ul.breadcrumbs li {
  padding-left: 5px;
  padding-right: 5px;
  color: var(--color-dark);
  display: inline-flex;
  font-size: 12px;
  margin-bottom: 0;
  align-items: center;
}

ul.breadcrumbs li:first-child {
  padding-left: 0;
}

ul.breadcrumbs li a {
  color: var(--color-dark);
  font-size: 12px;
  margin-bottom: 0;
}

ul.breadcrumbs li:after {
  content: ">";
  margin-left: 10px;
}

ul.breadcrumbs li:last-child::after {
  display: none;
}

ul.breadcrumbs.light {
  color: var(--color-light);
}

ul.breadcrumbs.light li {
  color: var(--color-light);
}

ul.breadcrumbs.light li a {
  color: var(--color-light);
}

.btn {
  --border-radius: 50px;
  --bg-color: var(--color-light);
  --text-color: var(--color-dark);
  --border-color: var(--color-dark);
  --bg-color-hover: var(--color-dark);
  --text-color-hover: var(--color-light);
  --border-color-hover: var(--color-dark);
  position: relative;
  font-family: var(--font-family);
  transition: var(--transition-default);
  text-decoration: none;
  cursor: pointer;
  outline: none;
  text-align: center;
  border-radius: var(--border-radius);
  line-height: 1;
  width: 100%;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 50px 16px 20px;
  border: solid 1px var(--border-color);
  background-color: var(--bg-color);
  color: var(--text-color);
}

@media (min-width: 576px) {
  .btn {
    width: auto;
  }
}
@media (min-width: 992px) {
  .btn {
    padding: 20px 60px 20px 30px;
  }
}
.btn::after {
  content: "";
  position: absolute;
  right: 30px;
  width: 15px;
  height: 17px;
  background-image: url("../img/icone/arrow-dark.svg");
  background-size: 15px 17px;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-flex;
  z-index: 0;
  vertical-align: middle;
  transition: var(--transition-default);
}

.btn:hover, .btn:focus, .btn:active, .btn:not(:disabled):active {
  color: var(--text-color-hover);
  background-color: var(--bg-color-hover);
  border-color: var(--border-color-hover);
}

.btn:hover::after, .btn:focus::after, .btn:active::after, .btn:not(:disabled):active::after {
  transition: var(--transition-default);
  right: 20px;
}

.btn.btn-dark {
  --bg-color: var(--color-dark);
  --text-color: var(--color-light);
  --border-color: var(--color-dark);
  --bg-color-hover: var(--color-light);
  --text-color-hover: var(--color-dark);
  --border-color-hover: var(--color-dark);
}

.btn.btn-light {
  --bg-color: var(--color-light);
  --text-color: var(--color-dark);
  --border-color: var(--color-light);
  --bg-color-hover: var(--green);
  --text-color-hover: var(--color-dark);
  --border-color-hover: var(--green);
}

.card {
  border-radius: 0;
  background-color: rgba(0, 0, 0, 0);
  padding: 30px 0;
  border-bottom: 1px solid #e4e5e6;
}

@media (min-width: 992px) {
  .card {
    padding: 60px 0;
  }
}
.card:last-child {
  margin-bottom: 20px;
}

.card.card-question-answer {
  cursor: pointer;
}

.card.card-question-answer .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.card.card-question-answer .title .h3 {
  padding-right: 10px;
}

.card.card-question-answer .title .indicator .minus {
  width: 26px;
  height: 28px;
  max-width: unset;
  transition: var(--transition-default);
  transform: rotate(0deg);
}

@media (min-width: 992px) {
  .card.card-question-answer .title .indicator .minus {
    width: 41px;
    height: 45px;
  }
}
.card.card-question-answer .title .indicator .minus path {
  fill: var(--color-light);
}

.card.card-question-answer .content {
  overflow: hidden;
  display: none;
}

@media (min-width: 1200px) {
  .card.card-question-answer .content {
    width: 80%;
  }
}
.card.card-question-answer .content p {
  padding: 10px 0px 0px;
}

.card.card-question-answer.active {
  border-bottom-color: var(--color-light);
}

.card.card-question-answer.active .title .indicator .minus {
  transition: var(--transition-default);
  transform: rotate(180deg);
}

.card.card-question-answer:hover {
  border-bottom-color: var(--green);
}

.card.card-question-answer:hover .title .indicator .minus {
  transition: var(--transition-default);
  transform: rotate(180deg);
}

.card.card-question-answer:hover .title .indicator .minus path {
  fill: var(--green);
}

.form-contatti {
  display: block;
}

.form-contatti .contact-form {
  width: 100%;
}

.form-contatti .contact-form .form-group {
  display: block;
  align-items: center;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 16px;
    gap: 16px;
    margin-bottom: 30px;
  }
}
.form-contatti .contact-form .form-group.bg-group {
  background-color: rgba(228, 229, 230, 0.12);
  border-radius: 8px;
  border: 2px solid rgba(0, 0, 0, 0);
  padding: 15px 10px 5px 10px;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group.bg-group {
    padding: 25px 20px 15px 20px;
  }
}
.form-contatti .contact-form .form-group.bg-group.active {
  border: 2px solid var(--green);
}

.form-contatti .contact-form .form-group:last-child {
  margin-bottom: 0px;
}

.form-contatti .contact-form .form-group.allegato-form {
  margin-top: 25px;
  margin-bottom: 25px;
}

.form-contatti .contact-form .form-group .form-input {
  flex: 1;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0px;
  width: 100%;
  position: relative;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group .form-input {
    width: auto;
  }
}
@media (max-width: 767px) {
  .form-contatti .contact-form .form-group .form-input:first-child {
    margin-bottom: 16px;
  }
}
.form-contatti .contact-form .form-group .form-input .title-form {
  color: var(--color-light);
  font-size: 15px;
  font-family: var(--font-mono);
  text-transform: uppercase;
  font-weight: 400;
  display: block;
}

.form-contatti .contact-form .form-group .form-input input[type=text], .form-contatti .contact-form .form-group .form-input input[type=number], .form-contatti .contact-form .form-group .form-input input[type=email], .form-contatti .contact-form .form-group .form-input input[type=password], .form-contatti .contact-form .form-group .form-input textarea {
  width: 100%;
  outline: none;
  border: none;
  border-radius: 0;
  padding: 10px 0;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0);
  color: var(--color-light);
  font-size: 18px;
  font-weight: 600;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group .form-input input[type=text], .form-contatti .contact-form .form-group .form-input input[type=number], .form-contatti .contact-form .form-group .form-input input[type=email], .form-contatti .contact-form .form-group .form-input input[type=password], .form-contatti .contact-form .form-group .form-input textarea {
    font-size: 22px;
  }
}
@media (min-width: 1441px) {
  .form-contatti .contact-form .form-group .form-input input[type=text], .form-contatti .contact-form .form-group .form-input input[type=number], .form-contatti .contact-form .form-group .form-input input[type=email], .form-contatti .contact-form .form-group .form-input input[type=password], .form-contatti .contact-form .form-group .form-input textarea {
    font-size: 24px;
  }
}
.form-contatti .contact-form .form-group .form-input input[type=text]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]::placeholder, .form-contatti .contact-form .form-group .form-input textarea::placeholder {
  color: #ccc;
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea::-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text].color-light::placeholder, .form-contatti .contact-form .form-group .form-input input[type=number].color-light::placeholder, .form-contatti .contact-form .form-group .form-input input[type=email].color-light::placeholder, .form-contatti .contact-form .form-group .form-input input[type=password].color-light::placeholder, .form-contatti .contact-form .form-group .form-input textarea.color-light::placeholder {
  color: var(--color-light);
  opacity: 0.8;
}

.form-contatti .contact-form .form-group .form-input input[type=text].color-light:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number].color-light:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email].color-light:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password].color-light:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea.color-light:-ms-input-placeholder {
  color: var(--color-light);
  opacity: 0.8;
}

.form-contatti .contact-form .form-group .form-input input[type=text].color-light::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number].color-light::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email].color-light::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password].color-light::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea.color-light::-ms-input-placeholder {
  color: var(--color-light);
  opacity: 0.8;
}

.form-contatti .contact-form .form-group .form-input input[type=number] {
  -moz-appearance: textfield;
}

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

.form-contatti .contact-form .form-group .form-input select {
  width: 100%;
  outline: none;
  border-bottom: 1px solid var(--color-dark);
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0;
  padding: 10px 0;
  background-color: rgba(0, 0, 0, 0);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-position: 97% center;
  background-repeat: no-repeat;
  background-image: url(../img/icone/select.png);
  box-sizing: border-box;
  color: var(--color-light);
  position: relative;
  z-index: 1;
  font-size: 18px;
  font-weight: 400;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group .form-input select {
    font-size: 22px;
  }
}
@media (min-width: 1441px) {
  .form-contatti .contact-form .form-group .form-input select {
    font-size: 35px;
  }
}
.form-contatti .contact-form .form-group .form-input select + .select-arrow {
  position: absolute;
  right: 15px;
  top: 12px;
  margin-bottom: 0;
}

.form-contatti .contact-form .form-group .form-input textarea {
  width: 100%;
  outline: none;
  font-family: var(--font-family-title);
}

.form-contatti .contact-form .form-group .form-input.privacy-container {
  display: flex;
  align-items: baseline;
  margin-bottom: 5px;
  position: relative;
}

.form-contatti .contact-form .form-group .form-input.privacy-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 15px;
  width: 15px;
  z-index: 2;
}

.form-contatti .contact-form .form-group .form-input.privacy-container .checkmark {
  position: absolute;
  top: 1px;
  left: 0;
  height: 20px;
  width: 20px;
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  border: 1px solid #999;
  border-radius: 5px;
  margin-bottom: 0;
}

.form-contatti .contact-form .form-group .form-input.privacy-container .checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 2px;
  top: 2px;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  background-color: var(--color-light);
}

.form-contatti .contact-form .form-group .form-input.privacy-container input:checked ~ .checkmark:after {
  display: block;
}

.form-contatti .contact-form .form-group .form-input.privacy-container label {
  font-size: 16px;
  color: var(--color-light);
  padding-left: 26px;
  cursor: pointer;
  text-transform: initial !important;
}

.form-contatti .contact-form .form-group .form-input.privacy-container label a {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-light);
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file [type=file] {
  display: none;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-files-list {
  width: 100%;
  display: block;
  color: var(--color-dark);
  font-style: italic;
  text-decoration: underline;
  font-size: 16px;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-files-list {
    position: absolute;
  }
}
.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
  --color-border: var(--color-dark);
  display: flex;
  align-items: center;
  border-radius: 0;
  border-bottom: 1px solid var(--color-dark);
  border-left: none;
  border-right: none;
  border-top: none;
  padding: 7px 0;
  color: var(--color-dark);
  cursor: pointer;
  overflow: hidden;
  position: relative;
  background-color: rgba(0, 0, 0, 0);
  font-size: 18px;
  font-weight: 400;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
    font-size: 22px;
  }
}
@media (min-width: 1441px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
    font-size: 35px;
  }
}
.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input svg {
  margin-right: 10px;
  flex-shrink: 0;
  fill: var(--color-default);
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input span {
  color: inherit;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  transition: var(--transition-default);
  opacity: 0.1;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input:hover::before {
  background-color: rgba(0, 0, 0, 0);
}

[data-form-toggle] {
  display: none;
}

[data-form-toggle].active {
  display: block;
}

#contattaci .address p {
  display: inline-block;
  padding-right: 80px;
}

.intro {
  min-height: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media (min-width: 992px) {
  .intro {
    min-height: 100vh;
    min-height: 100svh;
    height: 100vh;
    height: 100svh;
  }
}
.intro .intro-atf {
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.intro.grain-gradient {
  position: relative;
  width: 100%;
  height: 100vh;
  background: #202020;
  background: linear-gradient(180deg, rgb(32, 32, 32) 0%, rgba(0, 0, 0, 0.15) 20%, rgb(32, 32, 32) 100%);
  overflow: hidden;
}

@media (min-width: 1200px) {
  .intro.grain-gradient {
    background: #202020;
    background: linear-gradient(180deg, rgba(32, 32, 32, 0.15) 20%, rgb(32, 32, 32) 100%);
  }
}
.intro.grain-gradient:after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,            <svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%'>                <filter id='grain'>                <feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/>                </filter>                <rect width='100%' height='100%' filter='url(%23grain)' opacity='0.20'/>            </svg>");
  background-size: cover;
  pointer-events: none;
  z-index: 1;
}

.intro .go-to-down {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
  cursor: pointer;
}

@media (min-width: 992px) {
  .intro .go-to-down {
    bottom: 40px;
  }
}
.intro .go-to-down img {
  width: 28px;
}

@media (min-width: 992px) {
  .intro .go-to-down img {
    width: 42px;
  }
}
.swiper-container .non-swiper-slide {
  display: none !important;
}

.swiper-container .slider-opacity {
  width: 100%;
}

@media (min-width: 992px) {
  .swiper-container .slider-opacity {
    width: 60%;
    aspect-ratio: 16/9;
  }
}
@media (min-width: 1300px) {
  .swiper-container .slider-opacity {
    width: 50%;
  }
}
.swiper-container .slider-opacity .h-100 {
  height: 100%;
}

.swiper-container .slider-opacity, .swiper-container .slider-recensioni {
  background-color: hsla(0, 0%, 100%, 0.12);
  padding: 5px;
  border-radius: 44px;
  transition: all 0.3s ease-in-out;
  display: block;
}

.swiper-container .slider-opacity:hover, .swiper-container .slider-recensioni:hover {
  transition: all 0.3s ease-in-out;
  background-color: var(--green);
}

.swiper-container .slider-opacity:hover .change-color, .swiper-container .slider-recensioni:hover .change-color {
  color: var(--color-dark);
}

.swiper-container .slider-opacity .change-color, .swiper-container .slider-recensioni .change-color {
  color: var(--color-light);
}

.swiper-container .slider-opacity .desc, .swiper-container .slider-recensioni .desc {
  padding: 20px;
}

.swiper-container .slider-opacity .servizi-img, .swiper-container .slider-recensioni .servizi-img {
  aspect-ratio: 1/1.2;
  object-fit: cover;
  max-height: 500px;
}

@media (max-width: 991px) {
  .swiper-container .slider-opacity .servizi-img, .swiper-container .slider-recensioni .servizi-img {
    aspect-ratio: 3/2;
    border-radius: 40px;
  }
}
.swiper-container .button-slider {
  display: flex;
  justify-content: space-between;
  position: absolute;
  right: 0;
  top: 420px;
  width: 100%;
}

@media (min-width: 768px) {
  .swiper-container .button-slider {
    top: 420px;
  }
}
@media (min-width: 992px) {
  .swiper-container .button-slider {
    top: 195px;
    justify-content: flex-end;
    width: auto;
  }
}
.swiper-container .button-slider .button-prev {
  cursor: pointer;
  padding: 10px;
}

@media (max-width: 991px) {
  .swiper-container .button-slider .button-prev svg {
    width: 28px;
  }
}
.swiper-container .button-slider .button-next {
  cursor: pointer;
  padding: 10px;
}

@media (max-width: 991px) {
  .swiper-container .button-slider .button-next svg {
    width: 28px;
  }
}
.recensioni .slider-recensioni {
  aspect-ratio: 1/1;
  min-height: 500px;
}

.recensioni .slider-recensioni .padding-desc {
  height: 100%;
  padding: 10px;
}

@media (min-width: 992px) {
  .recensioni .slider-recensioni .padding-desc {
    padding: 30px;
  }
}
@media (min-width: 1300px) {
  .recensioni .slider-recensioni .padding-desc {
    padding: 60px;
  }
}
.recensioni .slider-recensioni .padding-desc .img-google {
  width: 40px;
  height: 40px;
}

.recensioni .slider-recensioni .padding-desc .rating {
  display: flex;
  justify-content: center;
  vertical-align: middle;
}

.recensioni .slider-recensioni .padding-desc .rating i {
  color: #ffb912;
  font-size: 17px;
  margin-bottom: 0;
}

.recensioni .slider-recensioni .padding-desc .rating p {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 0;
  margin-right: 10px;
}

.recensioni .slider-recensioni .padding-desc .rating p span {
  font-size: 11px;
  font-weight: 600;
}

.recensioni .button-slider {
  display: flex;
  justify-content: space-between;
  position: absolute;
  right: 0;
  top: 120px;
  width: 100%;
}

@media (min-width: 768px) {
  .recensioni .button-slider {
    top: 150px;
  }
}
@media (min-width: 992px) {
  .recensioni .button-slider {
    top: 150px;
  }
}
@media (min-width: 992px) {
  .recensioni .button-slider {
    justify-content: flex-end;
    top: 50px;
  }
}
.recensioni .button-slider .button-prev {
  cursor: pointer;
  padding: 10px;
}

@media (max-width: 991px) {
  .recensioni .button-slider .button-prev svg {
    width: 28px;
  }
}
.recensioni .button-slider .button-next {
  cursor: pointer;
  padding: 10px;
}

@media (max-width: 991px) {
  .recensioni .button-slider .button-next svg {
    width: 28px;
  }
}
.filters {
  border: 1px solid var(--color-light);
  border-radius: 50px;
  display: inline-block;
  padding: 5px;
  margin-bottom: 20px;
}

@media (max-width: 575px) {
  .filters {
    border-radius: 25px;
  }
}
.filters span {
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  padding: 14px 26px;
  cursor: pointer;
  display: inline-block;
  transition: var(--transition-default);
}

@media (max-width: 575px) {
  .filters span {
    width: 49%;
    padding: 14px;
    text-align: center;
  }
}
.filters span:hover, .filters span.active {
  transition: var(--transition-default);
  background-color: var(--color-light);
  color: var(--color-dark);
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9;
  padding: 0;
  background-color: rgba(0, 0, 0, 0);
  transition: all 0.5s ease-in-out;
  display: flex;
  align-items: center;
  height: 85px;
}

@media (min-width: 1200px) {
  header {
    height: 135px;
  }
}
header .header-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  height: 70px;
  padding: 0 5px;
  transition: all 0.5s ease-in-out;
  border-radius: 50px;
  background-color: rgba(32, 32, 32, 0);
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
}

@media (min-width: 1200px) {
  header .header-container {
    height: 100px;
    padding: 0 20px 0 5px;
    background-color: rgba(32, 32, 32, 0.4);
  }
}
header .header-container .logo-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  width: calc(100% - 65px);
  order: 1;
}

@media (min-width: 1200px) {
  header .header-container .logo-container {
    width: 90px;
  }
}
header .header-container .logo-container a {
  display: block;
}

header .header-container .logo-container a::after {
  content: none;
}

header .header-container .logo-container a .logo-dark {
  display: none;
}

header .header-container .logo-container a .logo-light {
  display: block;
}

header .header-container .logo-container a img {
  transition: all 0.5s ease-in-out;
  vertical-align: middle;
  height: 100%;
  width: 65px;
}

@media (min-width: 1200px) {
  header .header-container .logo-container a img {
    width: 90px;
  }
}
header .header-container nav.menu-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 65px;
  order: 3;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container {
    align-items: flex-end;
    width: calc(100% - 90px);
  }
}
header .header-container nav.menu-container ul.menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  transition: var(--transition-default);
  text-align: center;
  align-items: center;
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transform: translateX(100vw);
    margin-top: 77px;
    background-color: #1e1e1e;
    backdrop-filter: blur(10px);
    height: calc(100vh - 85px);
    border-radius: 20px;
  }
}
@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu:after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,                        <svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%'>                            <filter id='grain'>                            <feTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='3' stitchTiles='stitch'/>                            </filter>                            <rect width='100%' height='100%' filter='url(%23grain)' opacity='0.15'/>                        </svg>");
    background-size: cover;
    pointer-events: none;
    z-index: 1;
    border-radius: 20px;
  }
}
header .header-container nav.menu-container ul.menu li {
  padding: 0 30px;
  margin-bottom: 0;
  text-align: center;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li {
    padding: 0 20px;
  }
}
@media (min-width: 1400px) {
  header .header-container nav.menu-container ul.menu li {
    padding: 0 26px;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu > a {
  position: relative;
  display: block;
  text-decoration: none;
  color: var(--color-dark);
  padding: 10px 0;
  margin-bottom: 0;
  cursor: pointer;
  transition: var(--transition-default);
  font-weight: 600;
  font-family: var(--font-family-title);
  font-size: 18px;
  white-space: nowrap;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu > a {
    padding: 15px 0;
    display: inline-block;
    font-size: 20px;
    color: var(--color-light);
  }
}
header .header-container nav.menu-container ul.menu li.link-menu > a.active {
  text-decoration: underline;
}

header .header-container nav.menu-container ul.menu li.link-menu .btn-light {
  color: var(--color-dark);
  font-size: 16px;
  padding: 20px 60px 20px 30px;
}

header .header-container nav.menu-container ul.menu li.link-menu .btn-light:hover, header .header-container nav.menu-container ul.menu li.link-menu .btn-light:focus, header .header-container nav.menu-container ul.menu li.link-menu .btn-light:active {
  color: var(--color-dark);
}

header .header-container nav.menu-container ul.menu li.link-menu:last-child {
  padding-right: 5px;
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu {
  position: relative;
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu {
    position: relative;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -20px;
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg {
  transition: var(--transition-default);
  transform: rotate(0deg);
  transform-origin: center;
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg path {
  fill: var(--color-light);
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container {
  padding: 15px 20px;
  border-radius: 0;
  position: fixed;
  left: 0;
  transition: var(--transition-default);
  width: 100vw;
  height: 100vh;
  background: var(--color-light);
  opacity: 0;
  visibility: hidden;
  top: 100px;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container {
    top: 124px;
  }
}
@media (min-width: 1441px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container {
    top: 154px;
  }
}
@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container {
    position: fixed;
    max-width: unset;
    left: 100%;
    top: 0;
    opacity: 1;
    visibility: visible;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    padding: 0 20px 40px;
    margin-top: 0;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container.open-submenu {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container.open-submenu {
    z-index: 1;
    left: 0;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .back-arrow {
  display: none;
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .back-arrow {
    position: absolute;
    right: 0;
    left: 5px;
    margin-bottom: 0;
    width: calc(100% - 10px);
    font-size: 16px;
    display: block;
    top: 10px;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .title-submenu {
  text-align: center;
  font-size: 30px;
  font-weight: 500;
  margin-top: 0;
  margin-bottom: 8px;
}

@media (min-width: 992px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .title-submenu {
    font-size: 30px;
  }
}
@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .title-submenu {
    text-align: left;
  }
}
@media (min-width: 1441px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .title-submenu {
    font-size: 65px;
  }
}
@media (min-width: 1681px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .title-submenu {
    font-size: 65px;
  }
}
@media (min-width: 1881px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .title-submenu {
    font-size: 85px;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu {
  list-style: none;
  padding: 0;
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li {
  text-align: left;
  padding: 7px 0;
  transition: var(--transition-default);
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li {
    padding: 7px 0;
  }
}
@media (min-width: 1341px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li {
    padding: 14px 0;
  }
}
@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li.btn-link {
    border-top: none;
    border-bottom: none;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li a {
  text-transform: initial;
  padding: 0;
  color: var(--color-dark);
  font-weight: 400;
  margin-bottom: 10px;
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li a {
    font-size: 18px;
    padding: 0;
    text-align: center;
  }
}
@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li a {
    font-size: 16px;
  }
}
@media (min-width: 1441px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li a {
    font-size: 20px;
  }
}
@media (min-width: 1681px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li a {
    font-size: 35px;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li:hover {
  transition: var(--transition-default);
  border-top: 1px solid var(--color-dark);
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li:hover a {
  color: var(--green);
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .img-container {
  display: none;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .img-container {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .img-container .img-menu {
  max-width: 367px;
  aspect-ratio: 4/3;
  object-fit: cover;
  opacity: 1;
  visibility: visible;
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .img-container .img-menu.hide {
  opacity: 0;
  visibility: hidden;
}

header .header-container nav.menu-container ul.menu li.link-menu.mobile {
  display: block;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu.mobile {
    display: none;
  }
}
header .header-container nav.menu-container .hamburger {
  position: relative;
  width: 35px;
  height: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  box-sizing: content-box;
  padding: 15px;
  cursor: pointer;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container .hamburger {
    display: none;
  }
}
header .header-container nav.menu-container .hamburger::before, header .header-container nav.menu-container .hamburger::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--color-light);
  transition: var(--transition-default);
}

header .header-container .lang-container {
  display: none;
  flex-direction: row;
  align-items: center;
  position: relative;
  width: 70px;
  order: 2;
  justify-content: center;
  z-index: 2;
}

@media (min-width: 1200px) {
  header .header-container .lang-container {
    display: flex;
    order: 4;
    width: 80px;
  }
}
header .header-container .lang-container .link-cta.desktop {
  display: none;
}

@media (min-width: 1200px) {
  header .header-container .lang-container .link-cta.desktop {
    display: block;
  }
}
header .header-container .lang-container .language-menu-container {
  position: relative;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
}

header .header-container .lang-container .language-menu-container .selected-language {
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  z-index: 2;
}

header .header-container .lang-container .language-menu-container .selected-language i {
  margin: 0;
  position: absolute;
  right: -14px;
  font-size: 10px;
  top: 8px;
  color: var(--color-light);
}

header .header-container .lang-container .language-menu-container .selected-language img {
  vertical-align: middle;
}

header .header-container .lang-container .language-menu-container .language-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: rgba(0, 0, 0, 0);
  transition: var(--transition-default);
  list-style: none;
  padding: 0;
  opacity: 0;
  transform: translateY(-20px);
  pointer-events: none;
}

header .header-container .lang-container .language-menu-container .language-menu li a {
  margin: 0;
}

header .header-container .lang-container .language-menu-container .language-menu li.hide {
  display: none;
}

header.light-header {
  background-color: var(--color-light);
}

header.light-header .header-container {
  border-bottom: 1px solid rgba(36, 45, 49, 0);
}

header.light-header .header-container .logo-container a .logo-dark {
  display: block;
}

header.light-header .header-container .logo-container a .logo-light {
  display: none;
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu a {
  color: var(--color-dark);
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg path {
  fill: var(--color-dark);
}

header.light-header .header-container nav.menu-container .hamburger::before, header.light-header .header-container nav.menu-container .hamburger::after {
  background-color: var(--color-dark);
}

header.light-header .header-container .lang-container .language-menu-container .selected-language i {
  color: var(--light-dark);
}

body {
  transition: var(--transition-default);
}

body.menu-open header {
  transition: all 0.5s ease-in-out;
}

body.menu-open header .header-container {
  background-color: rgba(32, 32, 32, 0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

@media (min-width: 1200px) {
  body.menu-open header .header-container {
    background-color: rgba(32, 32, 32, 0.3);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}
body.menu-open header .header-container .logo-container a .logo-dark {
  display: block;
}

body.menu-open header .header-container .logo-container a .logo-light {
  display: none;
}

body.menu-open header nav.menu-container ul.menu {
  transform: translateX(0);
}

body.menu-open header nav.menu-container ul.menu li.link-menu a {
  color: var(--color-light);
}

body.menu-open header nav.menu-container ul.menu li.link-menu a.active {
  text-decoration: underline;
}

body.menu-open header nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg path {
  fill: var(--color-dark);
}

body.menu-open header nav.menu-container .hamburger::before {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(6px) rotate(45deg);
  background-color: var(--color-light);
}

@media (max-width: 991px) {
  body.menu-open header nav.menu-container .hamburger::before {
    transform: translateY(7px) rotate(45deg);
  }
}
body.menu-open header nav.menu-container .hamburger::after {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(-8px) rotate(-45deg);
  background-color: var(--color-light);
}

body.sticky-header header {
  transition: all 0.5s ease-in-out;
}

body.sticky-header header .header-container {
  transition: all 0.5s ease-in-out;
  background-color: rgba(32, 32, 32, 0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

@media (min-width: 1200px) {
  body.sticky-header header .header-container {
    background-color: rgba(32, 32, 32, 0.3);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}
body.sticky-header header .header-container .logo-container a .logo-dark {
  display: block;
}

body.sticky-header header .header-container .logo-container a .logo-light {
  display: none;
}

body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg path {
  fill: var(--color-dark);
}

body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container {
  top: 80px;
}

@media (min-width: 1200px) {
  body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container {
    top: 80px;
  }
}
@media (min-width: 1400px) {
  body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container {
    top: 80px;
  }
}
body.sticky-header header .header-container nav.menu-container .hamburger::before {
  background-color: var(--color-light);
}

body.sticky-header header .header-container nav.menu-container .hamburger::after {
  background-color: var(--color-light);
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light {
  color: var(--color-light);
  border: 1px solid var(--color-dark);
  background-color: var(--color-dark);
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light .text {
  color: var(--color-light);
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light .arrow:before {
  background-image: url("../img/icone/arrow-light.svg");
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:hover, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:focus, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:active, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:not(:disabled):active {
  transition: var(--transition-default);
  border: 1px solid var(--color-dark);
  background-color: var(--color-light);
  color: var(--color-dark);
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:hover .text, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:focus .text, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:active .text, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:not(:disabled):active .text {
  color: var(--color-dark);
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:hover .arrow:before, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:focus .arrow:before, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:active .arrow:before, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:not(:disabled):active .arrow:before {
  background-image: url("../img/icone/arrow-dark.svg");
}

body.sticky-header header .header-container .lang-container .language-menu-container .selected-language i {
  color: var(--color-dark);
}

body.language-menu-open header .header-container .lang-container .language-menu-container .language-menu {
  opacity: 1;
  transform: translateY(0px);
  pointer-events: auto;
}

body.language-menu-open header .header-container .lang-container .language-menu-container .selected-language i {
  color: var(--color-dark);
}

body.sub-menu-open header {
  background-color: var(--color-light);
}

body.sub-menu-open header .header-container .logo-container a .logo-dark {
  display: block;
}

body.sub-menu-open header .header-container .logo-container a .logo-light {
  display: none;
}

body.sub-menu-open header nav.menu-container ul.menu li.link-menu a {
  color: var(--color-dark);
}

body.sub-menu-open header nav.menu-container ul.menu li.link-menu a.active {
  text-decoration: underline;
}

body.sub-menu-open header nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg {
  transition: var(--transition-default);
  transform: rotate(-180deg);
  transform-origin: center;
}

body.sub-menu-open header nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg path {
  fill: var(--color-dark);
}

body.sub-menu-open header nav.menu-container .hamburger::before {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(6px) rotate(45deg);
  background-color: var(--color-dark);
}

@media (max-width: 991px) {
  body.sub-menu-open header nav.menu-container .hamburger::before {
    transform: translateY(7px) rotate(45deg);
  }
}
body.sub-menu-open header nav.menu-container .hamburger::after {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(-8px) rotate(-45deg);
  background-color: var(--color-dark);
}

.whatsapp-fixed {
  position: fixed;
  bottom: 5px;
  right: 10px;
  z-index: 2;
  width: 58px;
}

@media (min-width: 992px) {
  .whatsapp-fixed {
    display: none;
  }
}
.whatsapp-fixed::after {
  content: none;
}

footer {
  position: relative;
}

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

footer .copyright p {
  display: inline-block;
}

footer .copyright p a {
  display: inline-block;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9fY29sb3JzLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwiYWJzdHJhY3RzL19hbmltYXRpb25zLnNjc3MiLCJiYXNlL19iYXNlLnNjc3MiLCJiYXNlL2ZvbnRzL19mb250cy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL19ibG9jay1ncmlkcy5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19pbnRyby5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFFQTs7O0FDRUo7RUFJSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFLQTtFQVFBO0VBUUE7RUFDQTtFQUNBO0VBS0E7RUFLQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBUUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUEvREE7RUFwQko7SUFxQlE7OztBQUVKO0VBdkJKO0lBd0JROzs7QUFJSjtFQTVCSjtJQTZCUTs7O0FBRUo7RUEvQko7SUFnQ1E7OztBQXVCSjtFQXZESjtJQXdEUTs7O0FDbkVSO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFFRTtJQUtFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtFQUVBOzs7QUFNRjtFQUNFO0VBQ0E7OztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQ3BISjtFQUVJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJOzs7QUFHSTtFQURKO0lBRVE7OztBQVFaO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQU9SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0E7RUFESjtJQUVROzs7QUFLSjtFQURKO0lBRVE7OztBQUdSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFJUjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTs7O0FBS1o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFFQTtFQUVJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHQTtFQURKO0lBRVE7OztBQUdSO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUlBO0VBREo7SUFFUTs7O0FBS1o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFLUjtFQUNJO0lBQ0k7OztBQU9SO0VBQ0k7RUFDQTs7O0FBS0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTs7O0FBRUE7RUFFSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFLWjtFQUNJOzs7QUFFQTtFQUVJOzs7QUFLUjtFQUNJOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU9BO0VBQ0E7RUFDQTs7O0FBU0o7RUFDSTs7O0FBTUo7RUFDSTs7O0FBS0o7RUFDSTs7O0FBSVI7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtJQUNJOztFQUVKO0lBQ0k7OztBQUdSO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQ2xjSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUMzREo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7OztBQU1KO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQU1KO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQU1KO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQ3RSSjtFQUNJOzs7QUFMQTtFQUNJOzs7QUFRSjtFQUNJOzs7QUFWSjtFQUNJOzs7QUFnQlI7RUFDSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUNoQ1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFOSjtJQU9RO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUlBO0VBREo7SUFFUTs7O0FBSUE7RUFESjtJQUVROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1RO0lBQ0E7OztBQUdKO0VBVko7SUFXUTs7O0FBTVI7RUFESjtJQUVROzs7QUFHSjtFQUxKO0lBTVE7OztBQUdKO0VBVEo7SUFVUTs7O0FBS0o7RUFESjtJQUVROzs7QUFHSjtFQUxKO0lBTVE7OztBQUlSO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBR0o7RUFQSjtJQVFROzs7QUFHSjtFQVhKO0lBWVE7OztBQUlSO0VBQ0k7OztBQUtJO0VBQ0k7OztBQUNBO0VBRko7SUFHTzs7O0FBSVA7RUFDSTs7O0FBQ0E7RUFGSjtJQUdROzs7QUFRUjtFQUNJOzs7QUFDQTtFQUZKO0lBR087OztBQUlQO0VBQ0k7OztBQUNBO0VBRko7SUFHUTs7O0FDL0hwQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUVJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFJQTtFQUNJOzs7QUFLWjtFQUNJOzs7QUFDQTtFQUNJOzs7QUFDQTtFQUNJOzs7QUNqRGhCO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFFQTtFQWpDSjtJQWtDUTs7O0FBR0o7RUFyQ0o7SUFzQ1E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBSUk7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FDeEZSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBTko7SUFPUTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVBKO0lBUVE7SUFDQTs7O0FBR0o7RUFDSTs7O0FBS2hCO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFHSjtFQUNJOzs7QUFHUjtFQUNJOzs7QUFJUTtFQUNJO0VBQ0E7OztBQU9oQjtFQUNJOzs7QUFJUTtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7OztBQ2pGNUI7RUFDSTs7O0FBRUE7RUFFSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQU5KO0lBT1E7OztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUko7SUFTUTs7O0FBSUE7RUFESjtJQUVROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFLSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFoQko7SUFpQlE7OztBQUdKO0VBcEJKO0lBcUJROzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFJQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFLWjtFQVNJOzs7QUFQQTtFQUVJO0VBQ0E7OztBQU9SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQXZCSjtJQXdCUTs7O0FBR0o7RUEzQko7SUE0QlE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBTVI7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUko7SUFTUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFsQko7SUFtQlE7OztBQUdKO0VBdEJKO0lBdUJROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQzNTeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRHlTd0I7RUFDQTs7O0FBSUE7RUFDSTs7O0FBVWhDO0VBQ0k7OztBQUVBO0VBQ0k7OztBQU1BO0VBQ0k7RUFDQTs7O0FFMVVaO0VBQ0k7RUFDQTtFQUNBO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQVJKO0lBU1E7SUFDQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7SUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQU9BO0VBQ0E7RUFDQTs7O0FBUVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVBKO0lBUVE7OztBQUdKO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FDMUVaO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTtJQUNBOzs7QUFHSjtFQVJKO0lBU1E7OztBQUdKO0VBQ0k7OztBQUlSO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1RO0lBQ0E7OztBQWVaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7OztBQUdKO0VBWko7SUFhUTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0k7RUFESjtJQUVROzs7QUFLWjtFQUNJO0VBQ0E7OztBQUdJO0VBREo7SUFFUTs7O0FBUWhCO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7OztBQUdKO0VBUko7SUFTUTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBT3BCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7OztBQUdKO0VBWko7SUFhUTs7O0FBSUo7RUFqQko7SUFrQlE7SUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSTtFQURKO0lBRVE7OztBQUtaO0VBQ0k7RUFDQTs7O0FBR0k7RUFESjtJQUVROzs7QUFRcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVBKO0lBUVE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVEo7SUFVUTtJQUNBO0lBQ0E7OztBQUdKO0VBRUk7RUFDQTtFQUNBOzs7QUM1T1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQWJKO0lBY1E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQWRKO0lBZVE7SUFDQTtJQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFSSjtJQVNROzs7QUFHSjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQU5KO0lBT1E7OztBQU1oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFSSjtJQVNRO0lBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVEo7SUFVUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJQTtFQURKO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFPQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTs7O0FBR0o7RUFUSjtJQVVROzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFkSjtJQWVRO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0E7RUFHSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBOzs7QUFFQTtFQWZKO0lBZ0JROzs7QUFHSjtFQW5CSjtJQW9CUTs7O0FBR0o7RUF2Qko7SUF3QlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTtJQUNBOzs7QUFJUjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVBKO0lBUVE7OztBQUdKO0VBWEo7SUFZUTs7O0FBR0o7RUFmSjtJQWdCUTs7O0FBR0o7RUFuQko7SUFvQlE7OztBQUdKO0VBdkJKO0lBd0JROzs7QUFJUjtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUxKO0lBTVE7OztBQUdKO0VBVEo7SUFVUTs7O0FBSUE7RUFESjtJQUVRO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFQSjtJQVFRO0lBQ0E7SUFDQTs7O0FBR0o7RUFiSjtJQWNROzs7QUFHSjtFQWpCSjtJQWtCUTs7O0FBR0o7RUFyQko7SUFzQlE7OztBQUtSO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTs7O0FBT2hCO0VBQ0k7OztBQUNBO0VBRko7SUFHUTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFPcEI7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFPcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBWEo7SUFZUTs7O0FBR0o7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFWSjtJQVdRO0lBQ0E7SUFDQTs7O0FBSUE7RUFDSTs7O0FBQ0E7RUFGSjtJQUdROzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFReEI7RUFDSTs7O0FBRUE7RUFDSTs7O0FBSVE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBU0k7RUFDSTs7O0FBT1k7RUFDSTs7O0FBVzVCO0VBRUk7OztBQVFBO0VBQ0k7OztBQVM1QjtFQUNJOzs7QUFFSTtFQUNHOzs7QUFFQztFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1RO0lBQ0E7SUFDQTs7O0FBS0k7RUFDSTs7O0FBR0o7RUFDSTs7O0FBT1o7RUFDSTs7O0FBS1E7RUFDSTs7O0FBR0E7RUFDSTs7O0FBU1E7RUFDSTs7O0FBVzVCO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUEo7SUFRUTs7O0FBR1I7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBUWhCO0VBQ0k7OztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBTko7SUFPUTtJQUNBO0lBQ0E7OztBQUtJO0VBQ0k7OztBQUdKO0VBQ0k7OztBQXVCb0I7RUFDSTs7O0FBTWhCO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBR0o7RUFQSjtJQVFROzs7QUFTcEI7RUFDSTs7O0FBRUo7RUFDSTs7O0FBU0E7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUlBO0VBQ0k7OztBQUlSO0VBSUk7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUlBO0VBQ0k7OztBQVdoQjtFQUNJOzs7QUFjUjtFQUNJO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTs7O0FBVXhCO0VBQ0k7OztBQUtZO0VBQ0k7OztBQUdKO0VBQ0k7OztBQVlBO0VBQ0k7OztBQUdBO0VBQ0k7OztBQU9JO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFXNUI7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFQSjtJQVFROzs7QUFHUjtFQUVJO0VBQ0E7RUFDQTtFQUNBOzs7QUFReEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVBKO0lBUU87OztBQUdIO0VBQ0k7OztBQy80QlI7RUFDSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUVBO0VBQ0kiLCJmaWxlIjoibWFpbi5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOnJvb3Qge1xuICAgIC0tY29sb3ItbGlnaHQ6ICNmZmZmZmY7XG4gICAgLS1jb2xvci1kYXJrOiAjMjAyMDIwOyAvLyBjb2xvcmUgZGVmYXVsdCB0ZXN0aVxuXG4gICAgLS1jb2xvci1wcmltYXJ5OiAjMjAyMDIwO1xuICAgIC0tY29sb3Itc2Vjb25kYXJ5OiAjOTk5OTk5O1xuXG4gICAgLS1ncmVlbjogI0RGRkQ5OTtcblxuICAgIC0tY29sb3ItZGVmYXVsdDogdmFyKC0tY29sb3ItZGFyayk7IC8vQ29sb3JlIGRlZmF1bHQgZGVsIHRlc3RvXG59IiwiLyoqXG4qXG4qIFZhcmlhYmlsaSBnbG9iYWxpIHByb2dldHRvXG4qIFxuKiAwMSAtIENPTlRFTklUT1JJXG4qIDAyIC0gU0VQQVJBVE9SSVxuKiAwMyAtIFRSQU5TSVpJT05JXG4qIDA0IC0gRk9OVFNcbipcbiovXG5cbjpyb290IHtcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDEgLSBDT05URU5JVE9SSVxuICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAtLWNvbnRhaW5lci1iaWctd2lkdGg6IDE3MjBweDsgLy9Db250YWluZXIgbWFzc2ltb1xuICAgIC0tY29udGFpbmVyLXdpZHRoOiAxNjcwcHg7IC8vQ29udGFpbmVyIHByaW5jaXBhbGUgeFxuICAgIC0tY29udGFpbmVyLWxhcmdlLXdpZHRoOiAxNTQwcHg7IC8vQ29udGFpbmVyIHByaW5jaXBhbGUgeFxuICAgIC0tY29udGFpbmVyLW1lZGl1bS13aWR0aDogMTI5MHB4OyAvL0NvbnRhaW5lciBtZWRpbyB4XG4gICAgLS1jb250YWluZXItc21hbGwtd2lkdGg6IDExODBweDsgLy9Db250YWluZXIgbWVkaW8geFxuICAgIFxuICAgIC0tY29udGFpbmVyLWV4dHJhLXNtYWxsLXdpZHRoOiA5MjBweDtcbiAgICAtLWNvbnRhaW5lci1taW5pLXdpZHRoOiA3MzBweDtcbiAgICBcbiAgICAtLWJsb2NrLW1pbi13aWR0aDogNDgwcHg7XG4gICAgLS1ibG9jay1taW4taGVpZ2h0OiA1ODBweDsgLy9BbHRlenphIG1pbmltYSBibG9jY2hpIGltbWFnaW5lL3Rlc3RvXG5cbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDIgLSBTRVBBUkFUT1JJXG4gICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgIC0tc3BhY2VyLWJpZzogMzBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLS1zcGFjZXItYmlnOiAzMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTY4MXB4KSB7XG4gICAgICAgIC0tc3BhY2VyLWJpZzogNTBweDtcbiAgICB9XG5cbiAgICAtLXNwYWNlci1sYXJnZTogMjBweDsgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC0tc3BhY2VyLWxhcmdlOiAzMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMXB4KSB7XG4gICAgICAgIC0tc3BhY2VyLWxhcmdlOiA0MHB4O1xuICAgIH1cblxuICAgIC0tc3BhY2VyLW1lZGl1bTogMjVweDtcbiAgICAtLXNwYWNlci1zbWFsbDogMjBweDtcbiAgICAtLXNwYWNlci1leHRyYS1zbWFsbDogMTBweDtcbiAgICBcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDMgLSBUUkFOU0laSU9OSVxuICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAtLXRyYW5zaXRpb24tZGVmYXVsdDogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgXG4gICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAqIDA0IC0gRk9OVFNcbiAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICAgLS1mb250LWZhbWlseTogJ0dlaXN0Jywgc2Fucy1zZXJpZjtcbiAgICAtLWZvbnQtZmFtaWx5LXRpdGxlOiAnR2Vpc3QnLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1mYW1pbHktbWVudTogJ0dlaXN0Jywgc2Fucy1zZXJpZjtcblxuICAgIC0tZm9udC1tb25vOiAnSmV0QnJhaW5zIE1vbm8nLCBtb25vc3BhY2U7XG4gICAgXG4gICAgLS1mb250LXNpemU6IDE4cHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAtLWZvbnQtc2l6ZTogMjBweDtcblxuICAgIH1cblxuXG4gICAgLS1oMS1mb250LXNpemU6IGNsYW1wKDM4cHgsIDh2dywgOTBweCk7XG4gICAgLS1oMS1mb250LXdlaWdodDogNzAwO1xuICAgIC0taDEtbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBcbiAgICAtLWgyLWZvbnQtc2l6ZTogY2xhbXAoMzJweCwgOHZ3LCA2MHB4KTtcbiAgICAtLWgyLWZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgLS1oMi1tYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIFxuICAgIC0taDMtZm9udC1zaXplOiBjbGFtcCgyOHB4LCA4dncsIDMycHgpO1xuICAgIC0taDMtZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAtLWgzLW1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAtLWg0LWZvbnQtc2l6ZTogY2xhbXAoMjBweCwgOHZ3LCAyNHB4KTtcbiAgICAtLWg0LWZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgLS1oNC1tYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIFxuICAgIC0taDUtZm9udC1zaXplOiAxNXB4O1xuICAgIC0taDUtZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAtLWg1LW1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAtLWg2LWZvbnQtc2l6ZTogMTJweDtcbiAgICAtLWg2LWZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgLS1oNi1tYXJnaW4tYm90dG9tOiAxMHB4OyAgIFxuXG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIG1lbnUtc2hvdyB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBtZW51LXNob3cge1xuICAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1lbnUtc2hvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmFuaW1hdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMSU7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG5cbiAgLmFuaW1hdGVkIHtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtdXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlU2Nyb2xsIHtcblxuICAwJSxcbiAgMjAlLFxuICA1MCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xuICB9XG59XG5cbi5ib3VuY2VTY3JvbGwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIEFzc2ljdXJhdGkgY2hlIGwnZWxlbWVudG8gc2lhIHZpc2liaWxlIGUgaW5saW5lICovXG4gIGFuaW1hdGlvbjogYm91bmNlU2Nyb2xsIDJzIGluZmluaXRlO1xufVxuXG5cblxuLyogSW5pdGlhbCBzdGF0ZSBmb3IgdGhlIGVsZW1lbnRzICovXG4uc2ltcGxlRmFkZUluIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKSwgdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuXG4gICYudmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uc2ltcGxlRmFkZUluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwdncpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApLCB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG5cbiAgJi52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uc2ltcGxlRmFkZUluUmlnaHQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwdncpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApLCB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG5cbiAgJi52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uYW5pbWF0ZVRvcCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMzBweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCksIHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcblxuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5hbmltYXRlUmlnaHQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTMwcHgsIDEwMHB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKSwgdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuXG4gICYudmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgfVxufVxuXG5cblxuXG4iLCIvKipcbipcbiogU3RpbGkgYmFzZSBnZW5lcmljaSBwZXIgb2duaSB0aXBvIGRpIHRlbXBsYXRlXG4qIFxuKiAwMSAtIFNFUEFSQVRPUklcbiogMDIgLSBDT05URU5JVE9SSVxuKiAwMyAtIFdJRFRIXG4qIDA0IC0gTUFSR0lOXG4qIDA1IC0gUEFERElOR1xuKiAwNiAtIEJBQ0tHUk9VTkRcbiogMDcgLSBDT0xPUlNcbipcbiovXG5cbmh0bWwsXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgICAgXG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ub2JqZWN0LWNvdmVyIHtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuYSB7IFxuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4qIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaC1mdWxsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVyZmxvdy12aXNpYmxlIHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG5cbi5vdmVyZmxvdy14LXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xufVxuXG4ub3ZlcmZsb3ctaGlkZGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYm9yZGVyLWJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWRhcmspO1xuXG4gICAgJi5saWdodC1ncmV5IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTgsIDE4LCAxOCwgLjEwKTtcbiAgICB9XG59XG5cbi5ib3JkZXItcmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAmLmJpZyB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwMSAtIFNFUEFSQVRPUklcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zcGFjZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIFxuICAgICYuYmlnIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjZXItYmlnKTtcbiAgICB9XG4gICAgXG4gICAgJi5sYXJnZSB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLWxhcmdlKTtcbiAgICB9XG4gICAgJi5tZWRpdW0ge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNwYWNlci1tZWRpdW0pO1xuICAgIH1cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjZXItc21hbGwpO1xuICAgIH1cbiAgICAmLmV4dHJhLXNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjZXItZXh0cmEtc21hbGwpO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDIgLSBDT05URU5JVE9SSVxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuICAgIFxuICAgICYuZmx1aWQge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBcbiAgICAmLmJpZyB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLWJpZy13aWR0aCk7XG4gICAgfVxuICAgICYubGFyZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1sYXJnZS13aWR0aCk7XG4gICAgfVxuICAgICYubWVkaXVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWVkaXVtLXdpZHRoKTtcbiAgICB9XG4gICAgJi5zbWFsbCB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXNtYWxsLXdpZHRoKTtcbiAgICB9XG4gICAgJi5leHRyYS1zbWFsbCB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLWV4dHJhLXNtYWxsLXdpZHRoKTtcbiAgICB9XG4gICAgJi5taW5pIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLW1pbmktd2lkdGgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYubWluLXdpZHRoIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tYmxvY2stbWluLXdpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbiAgICAmLmZsb2F0ZWQtcmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDo5OTFweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmZsb2F0ZWQtbGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjk5MXB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucC1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5kLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJi5kaXJlY3Rpb24tY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgJi5kaXJlY3Rpb24tcm93IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmLmFsaWduLXN0YXJ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICYuYWxpZ24tZW5kIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAmLmZsZXgtd3JhcCB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LWNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAmLmp1c3RpZnktbW9iaWxlLWNlbnRlciB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5qdXN0aWZ5LXNwYWNlLWJldHdlZW4ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgICYuanVzdGlmeS1zcGFjZS1ldmVubHkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LXNwYWNlLWFyb3VuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cbiAgICAmLmp1c3RpZnktc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICYuanVzdGlmeS1lbmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICYuanVzdGlmeS1kZXNrdG9wLWVuZCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmQtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgLmQtc20tYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC1zbS1ub25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kLW1kLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmQtbWQtbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZC1sZy1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5kLWxnLW5vbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmQteGwtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC14bC1ub25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAxcHgpIHtcbiAgICAuZC14eGwtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC14eGwtbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5kLWxnLWlubGluZS1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDMgLSBXSURUSFxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNCAtIE1BUkdJTlxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm0tMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4ubWItMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLm1sLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG4ubXItMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA1IC0gUEFERElOR1xuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnAtMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNiAtIEJBQ0tHUk9VTkRcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5iZy1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBcbiAgICAmLndpdGgtb3ZlcmxheSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgMCUsIC4yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJnLWRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIFxuICAgIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYsXG4gICAgcCwgLnAsIGE6bm90KC5idG4pLCB1bCwgbGksIGksIHNwYW4sIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgfVxuXG4gICAgYTpub3QoLmJ0bikge1xuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JlZW4pO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJnLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgXG4gICAgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNixcbiAgICBwLCAucCwgYTpub3QoLmJ0biksIHVsLCBsaSwgaSwgc3Bhbiwgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIH1cblxufVxuXG4uZ3JhaW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCxcXFxuICAgICAgICA8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJSc+XFxcbiAgICAgICAgICAgIDxmaWx0ZXIgaWQ9J2dyYWluJz5cXFxuICAgICAgICAgICAgPGZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9JzAuOScgbnVtT2N0YXZlcz0nNCcgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPlxcXG4gICAgICAgICAgICA8L2ZpbHRlcj5cXFxuICAgICAgICAgICAgPHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoJTIzZ3JhaW4pJyBvcGFjaXR5PScwLjIwJy8+XFxcbiAgICAgICAgPC9zdmc+XCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA3IC0gQ09MT1JTXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29sb3ItZGFyayxcbi5jb2xvci1kYXJrICoge1xuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIH1cbn1cblxuLmNvbG9yLWxpZ2h0LFxuLmNvbG9yLWxpZ2h0ICoge1xuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICB9XG59XG5cbi5zcGFuLWNvbG9yIHtcbiAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuKTtcbiAgICB9XG59XG5cbi5vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbn1cbi5vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbn1cblxuQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAub3JkZXItbGctMSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICAub3JkZXItbGctMiB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cbn1cbi5vcmRlci0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xufVxuLm9yZGVyLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG59XG4ub3JkZXItNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbn1cbi5vcmRlci02IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9HZWlzdC1SZWd1bGFyLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9HZWlzdC1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2Vpc3QtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9HZWlzdC1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9HZWlzdC1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9HZWlzdC1SZWd1bGFyLnN2ZyNHZWlzdC1SZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9HZWlzdC1Cb2xkLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9HZWlzdC1Cb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2Vpc3QtQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9HZWlzdC1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9HZWlzdC1Cb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9HZWlzdC1Cb2xkLnN2ZyNHZWlzdC1Cb2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dlaXN0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvR2Vpc3QtU2VtaUJvbGQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0dlaXN0LVNlbWlCb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2Vpc3QtU2VtaUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2Vpc3QtU2VtaUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dlaXN0LVNlbWlCb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9HZWlzdC1TZW1pQm9sZC5zdmcjR2Vpc3QtU2VtaUJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHZWlzdCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0dlaXN0LU1lZGl1bS5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvR2Vpc3QtTWVkaXVtLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2Vpc3QtTWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dlaXN0LU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2Vpc3QtTWVkaXVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9HZWlzdC1NZWRpdW0uc3ZnI0dlaXN0LU1lZGl1bScpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dlaXN0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvR2Vpc3QtTGlnaHQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0dlaXN0LUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2Vpc3QtTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2Vpc3QtTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dlaXN0LUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9HZWlzdC1MaWdodC5zdmcjR2Vpc3QtTGlnaHQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdKZXRCcmFpbnMgTW9ubyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0pldEJyYWluc01vbm8tUmVndWxhci5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvSmV0QnJhaW5zTW9uby1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvSmV0QnJhaW5zTW9uby1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0pldEJyYWluc01vbm8tUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvSmV0QnJhaW5zTW9uby1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9KZXRCcmFpbnNNb25vLVJlZ3VsYXIuc3ZnI0pldEJyYWluc01vbm8tUmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4iLCIvKipcbipcbiogU3RpbGkgcmVsYXRpdmkgYWkgZm9udFxuKiBcbiogMDEgLSBIRUFESU5HXG4qIDAyIC0gQUxJR05NRU5UXG4qIDAzIC0gVFJBTlNGT1JNXG4qIDA0IC0gV0VJR0hUXG4qIDA1IC0gT0NDSElFTExPXG4qIDA2IC0gTElORSBIRUlHSFRcbipcbiovXG5cbi8vIEltcG9ydCBhbGwgZm9udHNcbkBpbXBvcnQgXCJmb250cy9mb250c1wiO1xuXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgZm9udC1zbW9vdGg6IGF1dG87IC8qIG8gYW50aWFsaWFzZWQgKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLyogUGVyIFdlYktpdCAqL1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8qIFBlciBtYWNPUyAqL1xuXG4gICAgJi5saWdodCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgJi5yZWd1bGFyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAmLm1lZGl1bSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgJi5zZW1pYm9sZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgJi5ib2xkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG59XG5cbi5pbmhlcml0IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxucCwgLnAsIHN0cm9uZywgYiwgdGltZSwgaSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuXG5hIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7XG4gICAgfVxufVxuXG51bCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDI1cHg7XG59XG5cbnVsLCBsaSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbnN0cm9uZywgYiwgLnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRleHQtc2hhZG93IHtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHZhcigtLWNvbG9yLWxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDEgLSBIRUFESU5HXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktdGl0bGUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBwLCAucCwgdWwsIGxpLCBhLCBzcGFuLCBzdHJvbmcsIC5zdHJvbmcsIGIsIHRpbWUsIGkge1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLXRvcDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmLnAtc3R5bGUge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIH1cblxuICAgICYubGlnaHQge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgICYucmVndWxhciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgJi5tZWRpdW0ge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgICYuc2VtaWJvbGQge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgICYuYm9sZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJi5mb250LW1vbm8ge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICB9XG59XG5cbi5oMSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMS1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMS1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDEtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oMiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMi1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMi1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDItbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oMyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMy1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMy1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDMtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oNCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oNC1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNC1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDQtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oNSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oNS1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNS1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDUtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oNiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oNi1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNi1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDYtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnAge1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktdGl0bGUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taDEtZm9udC1zaXplKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWgxLWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDEtbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oMi1mb250LXNpemUpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0taDItZm9udC13ZWlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMi1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMy1mb250LXdlaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWgzLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taDQtZm9udC1zaXplKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWg0LWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDQtbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oNS1mb250LXNpemUpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0taDUtZm9udC13ZWlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oNS1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgaDYge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNi1mb250LXdlaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg2LW1hcmdpbi1ib3R0b20pO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuLnRleHQtdW5kZXJsaW5lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDIgLSBBTElHTk1FTlRcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi50ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDAzIC0gVFJBTlNGT1JNXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC11cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4udGV4dC1sb3dlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG4udGV4dC1jYXBpdGFsaXplIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDQgLSBXRUlHSFRcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LWV4dHJhbGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG59XG4udGV4dC1saWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi50ZXh0LW5vcm1hbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi50ZXh0LXNlbWlib2xkIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuLnRleHQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi50ZXh0LWV4dHJhLWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA1IC0gT0NDSElFTExPXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA2IC0gREVDT1JBVElPTlxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIiwiQG1peGluIGRlYnVnLWNzcygkY29sb3IpIHtcbiAgICAqIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRhc2hlZCAkY29sb3I7XG4gICAgfVxufVxuLmRlYnVnXFw6Y3NzIHtcbiAgICAtLWRlYnVnLWNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcblxuICAgIEBpbmNsdWRlIGRlYnVnLWNzcyh2YXIoLS1kZWJ1Zy1jb2xvcikpO1xuXG4gICAgJlxcOnJlZCB7XG4gICAgICAgIC0tZGVidWctY29sb3I6IHJlZDtcblxuICAgICAgICBAaW5jbHVkZSBkZWJ1Zy1jc3ModmFyKC0tZGVidWctY29sb3IpKTtcbiAgICB9XG59XG5cblxuLmFuaW1hdGlvbi1pbWFnZS1jbGlwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMik7XG5cbiAgICAucHJvZC1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC44cyBjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpO1xuICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDEwMCUgMCAwIDApO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC44cyBjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5ibG9jay1ncmlkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLWdhcDogMjVweDtcbiAgICBnYXA6IDI1cHg7XG4gICAgXG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZ3JpZC1nYXA6IDgwcHg7XG4gICAgICAgIGdhcDogODBweDtcbiAgICB9XG4gICAgXG4gICAgJi5uby1nYXAge1xuICAgICAgICBncmlkLWdhcDogMDtcbiAgICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgICYuc21hbGwtZ2FwIHtcbiAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICB9XG5cbiAgICAmLm1pbi1nYXAge1xuICAgICAgICBncmlkLWdhcDogMzJweDtcbiAgICAgICAgZ2FwOiAzMnB4O1xuICAgIH1cbiAgICBcbiAgICAmLmNvbHVtbnMtMiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5maWx0ZXItYmxvY2sge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1lbnUtYmxvY2sge1xuICAgICAgICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgICAgICAgIGdhcDogMCAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTYwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAuOGZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuY29sdW1ucy0zIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5jb2x1bW5zLTQge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5jb2x1bW5zLTUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZ3JpZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmLmludmVydGVkIHtcbiAgICAgICAgLmdyaWQge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5tb2JpbGUtaW52ZXJ0ZWQge1xuICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJ1bC5icmVhZGNydW1icyB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIFxuICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAvL21hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5saWdodCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5idG4ge1xuICAgIC0tYm9yZGVyLXJhZGl1czogNTBweDtcblxuICAgIC0tYmctY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICBcbiAgICAtLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAtLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAtLWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3ItZGFyayk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE2cHggNTBweCAxNnB4IDIwcHg7XG5cbiAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDYwcHggMjBweCAzMHB4O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25lL2Fycm93LWRhcmsuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWhvdmVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvci1ob3Zlcik7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5idG4tZGFyayB7XG4gICAgICAgIC0tYmctY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIFxuICAgICAgICAtLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIC0tdGV4dC1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgIC0tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9XG5cbiAgICAmLmJ0bi1saWdodCB7XG4gICAgICAgIC0tYmctY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgLS10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICBcbiAgICAgICAgLS1iZy1jb2xvci1ob3ZlcjogdmFyKC0tZ3JlZW4pO1xuICAgICAgICAtLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAtLWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tZ3JlZW4pO1xuICAgIH1cbn0iLCIuY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNEU1RTY7XG4gICAgXG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgcGFkZGluZzogNjBweCAwO1xuICAgIH1cbiAgICBcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICYuY2FyZC1xdWVzdGlvbi1hbnN3ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIFxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIC5oMyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIC5taW51cyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwcHggMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAuaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgLm1pbnVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWdyZWVuKTtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAuaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgLm1pbnVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1ncmVlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZm9ybS1jb250YXR0aSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuY29udGFjdC1mb3JtIHtcbiAgICAgICAgLy9tYXgtd2lkdGg6IDkxMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBncmlkLWdhcDogMTZweDtcbiAgICAgICAgICAgICAgICBnYXA6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5iZy1ncm91cCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjgsIDIyOSwgMjMwLCAwLjEyKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4IDVweCAxMHB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4IDE1cHggMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZWVuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFsbGVnYXRvLWZvcm0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0taW5wdXQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnRpdGxlLWZvcm0ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxNDQxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjY2NjO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjY2NjO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2NjY2NjYztcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmNvbG9yLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgICAgICAgICAgICAgICAgIC8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xuICAgICAgICAgICAgICAgICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgICAgICAgICAgICAgICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8qIEZpcmVmb3ggKi9cbiAgICAgICAgICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk3JSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvbmUvc2VsZWN0LnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmKy5zZWxlY3QtYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXRpdGxlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnByaXZhY3ktY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNoZWNrbWFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDlweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig5cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6Y2hlY2tlZH4uY2hlY2ttYXJrOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHNldWRvLWlucHV0LWZpbGUge1xuICAgICAgICAgICAgICAgICAgICBbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wc2V1ZG8tZmlsZXMtbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnBzZXVkby1idXR0b24taW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgLS1jb2xvci1ib3JkZXI6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDE0NDFweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlX2Z1bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2RhdGEtZm9ybS10b2dnbGVdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbiNjb250YXR0YWNpIHtcbiAgICAuYWRkcmVzcyB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWl4aW4gYWJzb2x1dGVfZnVsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbn1cbkBtaXhpbiBkX2ZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5AbWl4aW4gYXNwZWN0X3JhdGlvKCRsYXJnaGV6emEsICRhbHRlenphKSB7XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206ICgoMTAwICogJGFsdGV6emEpIC8gJGxhcmdoZXp6YSkgKiAxJTtcbn1cblxuQG1peGluIHZlcnRpY2FsQWxpZ24oJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuXHRwb3NpdGlvbjogICRwb3NpdGlvbjtcblx0dG9wOiAgICAgICA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIGhvcml6b250YWxBbGlnbigkcG9zaXRpb246IHJlbGF0aXZlKSB7XG5cdHBvc2l0aW9uOiAgJHBvc2l0aW9uO1xuXHRsZWZ0OiAgICAgIDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcblx0cG9zaXRpb246ICAkcG9zaXRpb247XG5cdHRvcDogICAgICAgNTAlO1xuXHRsZWZ0OiAgICAgIDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59IiwiLmludHJvIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGhlaWdodDogMTAwc3ZoO1xuICAgIH1cblxuICAgIC5pbnRyby1hdGYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgICYuZ3JhaW4tZ3JhZGllbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjAyMDIwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDMyLCAzMiwgMzIsIDEpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTUpIDIwJSwgcmdiYSgzMiwgMzIsIDMyLCAxKSAxMDAlKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMzIsIDMyLCAzMiwgLjE1KSAyMCUsIHJnYmEoMzIsIDMyLCAzMiwgMSkgMTAwJSk7XG5cbiAgICAgICAgfVxuICAgXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsXFxcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJz5cXFxuICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9J2dyYWluJz5cXFxuICAgICAgICAgICAgICAgIDxmZVR1cmJ1bGVuY2UgdHlwZT0nZnJhY3RhbE5vaXNlJyBiYXNlRnJlcXVlbmN5PScwLjknIG51bU9jdGF2ZXM9JzQnIHN0aXRjaFRpbGVzPSdzdGl0Y2gnLz5cXFxuICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxcXG4gICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoJTIzZ3JhaW4pJyBvcGFjaXR5PScwLjIwJy8+XFxcbiAgICAgICAgICAgIDwvc3ZnPlwiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXRmLXRleHQge1xuICAgICAgIFxuICAgIH1cblxuICAgIC5nby10by1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5zd2lwZXItY29udGFpbmVyIHtcbiAgICAubm9uLXN3aXBlci1zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2xpZGVyLW9wYWNpdHkge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgICAgICAgfSAgIFxuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmgtMTAwIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZXItb3BhY2l0eSxcbiAgICAuc2xpZGVyLXJlY2Vuc2lvbmkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMik7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czo0NHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbik7XG5cbiAgICAgICAgICAgIC5jaGFuZ2UtY29sb3Ige1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGFuZ2UtY29sb3Ige1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Vydml6aS1pbWcge1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzEuMjtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAzLzI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogJi5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgIC5jaGFuZ2UtY29sb3Ige1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAqL1xuICAgIH1cblxuICAgIC5idXR0b24tc2xpZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDQyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgdG9wOiA0MjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICB0b3A6IDE5NXB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi1wcmV2IHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4cHhcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLW5leHQge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjhweFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlY2Vuc2lvbmkge1xuICAgIC5zbGlkZXItcmVjZW5zaW9uaSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgICAgICAgXG4gICAgICAgIC5wYWRkaW5nLWRlc2Mge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1nLWdvb2dsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmF0aW5nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkI5MTI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1zbGlkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMTIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIHRvcDogMTUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICB0b3A6IDE1MHB4XG4gICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgdG9wOiA1MHB4XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLXByZXYge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjhweFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24tbmV4dCB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5maWx0ZXJzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBAbWVkaWEobWF4LXdpZHRoOiA1NzVweCkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMjZweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICB9XG4gICAgfVxufSIsImhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDk7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA4NXB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBoZWlnaHQ6IDEzNXB4O1xuICAgIH1cbiAgICBcbiAgICBcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDMyLCAzMiwgMCk7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwKTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMCk7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMzIsIDMyLCAuNCk7XG4gICAgICAgIH1cblxuICAgICAgICBcbiAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG4gICAgICAgICAgICBvcmRlcjogMTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgbmF2Lm1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDkwcHgpO1xuICAgICAgICAgICAgICAgIC8vd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdWwubWVudSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDB2dyk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDc3cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODVweCk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsXFxcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJz5cXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9J2dyYWluJz5cXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZVR1cmJ1bGVuY2UgdHlwZT0nZnJhY3RhbE5vaXNlJyBiYXNlRnJlcXVlbmN5PScwLjUnIG51bU9jdGF2ZXM9JzMnIHN0aXRjaFRpbGVzPSdzdGl0Y2gnLz5cXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoJTIzZ3JhaW4pJyBvcGFjaXR5PScwLjE1Jy8+XFxcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyNnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5saW5rLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgPmEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXRpdGxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuYnRuLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNjBweCAyMHB4IDMwcHg7XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLm1lZ2FtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhW2RhdGEtb3Blbi1zdWJtZW51XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wbHVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJtZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vei1pbmRleDogLTEwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTU0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYub3Blbi1zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5iYWNrLWFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aXRsZS1zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDFweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTY4MXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA2NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTg4MXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA4NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTM0MXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJ0bi1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjgxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1kYXJrKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pbWctY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaW1nLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzY3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiA0LzM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmstY3RhIHtcbiAgICAgICAgICAgICAgICAmLmRlc2t0b3Age1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC5zZWxlY3RlZC1sYW5ndWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGFuZ3VhZ2UtbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYubGlnaHQtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICBcbiAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzYsIDQ1LCA0OSwgMCk7XG5cbiAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLWRhcmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgXG4gICAgICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHVsLm1lbnUgeyAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYubGluay1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspOyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm1lZ2FtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVtkYXRhLW9wZW4tc3VibWVudV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBsdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFuZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIC5zZWxlY3RlZC1sYW5ndWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbGlnaHQtZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkge1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgJi5tZW51LW9wZW4ge1xuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgXG4gICAgICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMzIsIDMyLCAuOSk7XG4gICAgICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDMyLCAzMiwgLjMpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHVsLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5saW5rLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm1lZ2FtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVtkYXRhLW9wZW4tc3VibWVudV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBsdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYW5pbWF0aW9uLW5hbWU6IGhhbWJ1cmdlcl90b2dnbGVfYmVmb3JlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYW5pbWF0aW9uLW5hbWU6IGhhbWJ1cmdlcl90b2dnbGVfYWZ0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLnN0aWNreS1oZWFkZXIge1xuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMzIsIDMyLCAuOSk7XG4gICAgICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDMyLCAzMiwgLjMpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbmF2Lm1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdWwubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubGluay1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubWVnYW1lbnUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhW2RhdGEtb3Blbi1zdWJtZW51XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBsdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJtZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA4MHB4O1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sYW5nLWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICAgICAgLmxpbmstY3RhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmJ0bi1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uZS9hcnJvdy1saWdodC5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uZS9hcnJvdy1kYXJrLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zZWxlY3RlZC1sYW5ndWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxhbmd1YWdlLW1lbnUtb3BlbiB7XG4gICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLmxhbmctY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2VsZWN0ZWQtbGFuZ3VhZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zdWItbWVudS1vcGVuIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHVsLm1lbnUge1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICYubGluay1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm1lZ2FtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVtkYXRhLW9wZW4tc3VibWVudV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBsdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYW5pbWF0aW9uLW5hbWU6IGhhbWJ1cmdlcl90b2dnbGVfYmVmb3JlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9hbmltYXRpb24tbmFtZTogaGFtYnVyZ2VyX3RvZ2dsZV9hZnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53aGF0c2FwcC1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogNXB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDU4cHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG59IiwiZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSJdfQ== */
