@charset "UTF-8";
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy/Gilroy-Regular.eot");
  src: local("Gilroy Regular"), local("Gilroy-Regular"), url("../fonts/Gilroy/Gilroy-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy/Gilroy-Regular.woff2") format("woff2"), url("../fonts/Gilroy/Gilroy-Regular.woff") format("woff"), url("../fonts/Gilroy/Gilroy-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy/Gilroy-Bold.eot");
  src: local("Gilroy Bold"), local("Gilroy-Bold"), url("../fonts/Gilroy/Gilroy-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy/Gilroy-Bold.woff2") format("woff2"), url("../fonts/Gilroy/Gilroy-Bold.woff") format("woff"), url("../fonts/Gilroy/Gilroy-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy/Gilroy-Light.eot");
  src: local("Gilroy Light"), local("Gilroy-Light"), url("../fonts/Gilroy/Gilroy-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy/Gilroy-Light.woff2") format("woff2"), url("../fonts/Gilroy/Gilroy-Light.woff") format("woff"), url("../fonts/Gilroy/Gilroy-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy/Gilroy-Semibold.eot");
  src: local("Gilroy Semibold"), local("Gilroy-Semibold"), url("../fonts/Gilroy/Gilroy-Semibold.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy/Gilroy-Semibold.woff2") format("woff2"), url("../fonts/Gilroy/Gilroy-Semibold.woff") format("woff"), url("../fonts/Gilroy/Gilroy-Semibold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy/Gilroy-Medium.eot");
  src: local("Gilroy Medium"), local("Gilroy-Medium"), url("../fonts/Gilroy/Gilroy-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy/Gilroy-Medium.woff2") format("woff2"), url("../fonts/Gilroy/Gilroy-Medium.woff") format("woff"), url("../fonts/Gilroy/Gilroy-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy/Gilroy-RegularItalic.eot");
  src: local("Gilroy Regular Italic"), local("Gilroy-RegularItalic"), url("../fonts/Gilroy/Gilroy-RegularItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy/Gilroy-RegularItalic.woff2") format("woff2"), url("../fonts/Gilroy/Gilroy-RegularItalic.woff") format("woff"), url("../fonts/Gilroy/Gilroy-RegularItalic.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy/Gilroy-BoldItalic.eot");
  src: local("Gilroy Bold Italic"), local("Gilroy-BoldItalic"), url("../fonts/Gilroy/Gilroy-BoldItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Gilroy/Gilroy-BoldItalic.woff2") format("woff2"), url("../fonts/Gilroy/Gilroy-BoldItalic.woff") format("woff"), url("../fonts/Gilroy/Gilroy-BoldItalic.ttf") format("truetype");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "PP Pangram Sans";
  src: url("../fonts/PPPangramSans/PPPangramSans-Light.woff2") format("woff2"), url("../fonts/PPPangramSans/PPPangramSans-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PP Pangram Sans";
  src: url("../fonts/PPPangramSans/PPPangramSans-CompactRegular.woff2") format("woff2"), url("../fonts/PPPangramSans/PPPangramSans-CompactRegular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
* {
  margin: 0;
  padding: 0;
  outline: none;
}

html, body, div, span, h1, h2, h3, h4, h5, h6, p, em, img, strong, sub, sup, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, table, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 100%;
}

header, nav, section, article, aside, footer {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

html {
  height: 100%;
}

body {
  position: relative;
  height: 100%;
  font-family: "Gilroy", sans-serif;
  color: #090A0C;
  font-size: 18px;
  line-height: 1.5;
  font-weight: normal;
  font-style: normal;
  background: #FFF;
}
@media (max-width: 1399.98px) {
  body {
    font-size: 15px;
  }
}
@media (max-width: 1023.98px) {
  body {
    font-size: 14px;
  }
}

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

img {
  border: none;
  max-width: 100%;
  vertical-align: bottom;
}

ul {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  margin: 0;
  padding: 0;
}

.clear {
  clear: both;
  height: 0;
  overflow: hidden;
  font-size: 0;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.container {
  width: 100%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 1399.98px) {
  .container {
    max-width: 1140px;
  }
}
@media screen and (max-width: 1199.98px) {
  .container {
    max-width: 984px;
  }
}
@media screen and (max-width: 1023.98px) {
  .container {
    max-width: 728px;
  }
}
@media screen and (max-width: 767.98px) {
  .container {
    max-width: 100%;
    padding: 0 20px;
  }
}
@media screen and (max-width: 359.98px) {
  .container {
    padding: 0 15px;
  }
}

.wrapper {
  min-height: 100%;
  width: 100%;
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  padding-top: var(--hHeader);
}

.content__wrapper {
  flex: 1 0 auto;
}

.pd__header {
  padding-top: var(--hHeader);
  margin-top: calc(-1 * var(--hHeader));
}

@media (max-width: 1699.98px) {
  .hide-desktop-lg {
    display: none !important;
  }
}

@media (max-width: 1399.98px) {
  .hide-desktop-md {
    display: none !important;
  }
}

@media (max-width: 1199.98px) {
  .hide-desktop {
    display: none !important;
  }
}

@media (max-width: 1023.98px) {
  .hide-tablet {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  .hide-tablet-sm {
    display: none !important;
  }
}

@media (max-width: 609.98px) {
  .hide-mobile-lg {
    display: none !important;
  }
}

@media (max-width: 359.98px) {
  .hide-mobile-smx {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .show-desktop {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .show-tablet {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .show-tablet-sm {
    display: none !important;
  }
}

@media (min-width: 610px) {
  .show-mobile-lg {
    display: none !important;
  }
}

@media (min-width: 360px) {
  .show-mobile-smx {
    display: none !important;
  }
}

.noscroll {
  overflow: hidden;
}

.nowrap {
  white-space: nowrap;
}

.no-display {
  display: none;
}

.content__text > * {
  margin-bottom: 20px;
}
.content__text > *:last-child {
  margin-bottom: 0 !important;
}
.content__text a {
  text-decoration: underline;
}
.content__text a:hover {
  text-decoration: none;
}
.content__text b {
  font-weight: 600;
}
.content__text h1, .content__text h2, .content__text h3, .content__text h4, .content__text h5 {
  color: #090A0C;
  line-height: 1.3;
}
.content__text h1 {
  font-size: 80px;
}
.content__text h2 {
  font-size: 48px;
}
.content__text h3 {
  font-size: 24px;
}
.content__text h4 {
  font-size: 20px;
}
.content__text h5 {
  font-size: 18px;
}
.content__text ul,
.content__text ol {
  padding-left: 20px;
}
.content__text ol {
  list-style-type: none;
  counter-reset: num;
}
.content__text li {
  position: relative;
  margin-bottom: 10px;
}
.content__text li:last-child {
  margin-bottom: 0 !important;
}
.content__text ul li:before {
  position: absolute;
  top: 0px;
  right: 100%;
  margin-right: 11px;
  color: #090A0C;
  font-size: 16px;
  content: "•";
}
.content__text ol li:before {
  content: counter(num) ".";
  counter-increment: num;
  display: inline-block;
  position: absolute;
  top: 0px;
  right: 100%;
  margin-right: 8px;
  text-align: right;
}
.content__text img {
  border-radius: 20px;
}
@media (max-width: 1399.98px) {
  .content__text h1 {
    font-size: 64px;
  }
  .content__text h2 {
    font-size: 36px;
  }
  .content__text h3 {
    font-size: 18px;
  }
  .content__text h4 {
    font-size: 16px;
  }
  .content__text h5 {
    font-size: 15px;
  }
}
@media (max-width: 1023.98px) {
  .content__text > * {
    margin-bottom: 10px;
  }
  .content__text h1 {
    font-size: 28px;
  }
  .content__text h2 {
    font-size: 28px;
  }
  .content__text h3 {
    font-size: 18px;
  }
  .content__text h4 {
    font-size: 15px;
  }
  .content__text h5 {
    font-size: 14px;
  }
  .content__text li {
    margin-bottom: 5px;
  }
}
@media (max-width: 767.98px) {
  .content__text h3 {
    font-size: 16px;
  }
}

.section__head {
  margin-bottom: 30px;
}
.section__head.hcols, .section__head-cols {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.section__head-cols {
  margin-top: 30px;
}
.section__head.al-center {
  align-items: center;
}
.section__head.al-end {
  align-items: flex-end;
}
.section__head.mb--sm {
  margin-bottom: 20px;
}
.section__head.mb0 {
  margin-bottom: 0 !important;
}
.section__head .swiper-nav {
  margin-top: 0;
}
.section__head.hcols .swiper-nav {
  padding-top: 5px;
}
.section__title {
  font-size: 48px;
  font-family: "PP Pangram Sans";
  font-weight: 300;
  line-height: 1.3;
}
.section__intro {
  margin-top: 30px;
}
.section__intro.mw {
  max-width: 640px;
}
.section__intro.mt--lg {
  margin-top: 50px;
}
.section__intro.mt--md {
  margin-top: 20px;
}
.section__intro.mt--sm {
  margin-top: 10px;
}
.section__intro.mb--sm {
  margin-bottom: 8px;
}
.section__intro:first-child {
  margin-top: 0 !important;
}
.text--center .section__intro {
  margin-left: auto;
  margin-right: auto;
}
.section__buttons {
  margin-top: 50px;
  text-align: center;
}
.section__buttons.mt--md {
  margin-top: 30px;
}
.section__first {
  margin-top: 0 !important;
}
.section__mg {
  margin: 150px 0;
}
.section__mg--md {
  margin: 100px 0;
}
.section__mg--sm {
  margin: 50px 0;
}
.section__mgb {
  margin-bottom: 150px;
}
.section__mgb--md {
  margin-bottom: 100px;
}
.section__mgb--sm {
  margin-bottom: 50px;
}
.section__pd {
  padding: 130px 0;
}
.section__pdt {
  padding-top: 70px;
}
.section__bg {
  background: #F7F8FC;
  padding: 90px 0 90px;
}
.section__tab {
  display: none;
}
.section__tab.show {
  display: block;
}
@media (max-width: 1399.98px) {
  .section__title {
    font-size: 40px;
  }
  .section__mg {
    margin: 100px 0;
  }
  .section__bg {
    padding: 100px 0;
  }
}
@media (max-width: 1199.98px) {
  .section__title {
    font-size: 36px;
  }
  .section__intro.mt--lg {
    margin-top: 50px;
  }
}
@media (max-width: 1023.98px) {
  .section__head {
    margin-bottom: 20px;
  }
  .section__head-cols {
    margin-top: 20px;
  }
  .section__title {
    font-size: 28px;
  }
  .section__intro {
    margin-top: 20px;
  }
  .section__intro.mw {
    max-width: 540px;
  }
  .section__mg {
    margin: 80px 0;
  }
  .section__mg--md {
    margin: 80px 0;
  }
  .section__mg--sm {
    margin: 50px 0;
  }
  .section__bg {
    padding: 40px 0;
  }
  .section__buttons {
    margin-top: 35px;
  }
}
@media (max-width: 767.98px) {
  .section__head {
    text-align: left !important;
  }
  .section__title * {
    color: #090A0C !important;
  }
  .section__mg {
    margin: 40px 0;
  }
  .section__mg--md {
    margin: 40px 0;
  }
  .section__mg--sm {
    margin: 40px 0;
  }
  .section__buttons {
    margin-top: 20px;
  }
}
.title {
  font-size: 24px;
  line-height: 1.3;
}
@media (max-width: 1399.98px) {
  .title {
    font-size: 18px;
  }
}
@media (max-width: 767.98px) {
  .title {
    font-size: 21px;
  }
}

.text {
  margin-top: 10px;
}
.text--center {
  text-align: center;
}

.text--white {
  color: white;
}

.text--violet {
  color: #413A7D;
}

.icon {
  stroke: currentColor;
  fill: none;
  color: inherit;
  font-size: inherit;
  transition: all 0.3s ease-in-out;
  flex: 0 0 auto;
}
.icon--fill {
  fill: currentColor;
  stroke: initial;
}
.icon path {
  stroke: currentColor;
  color: inherit;
  font-size: inherit;
  transition: all 0.3s ease-in-out;
}

.social__items {
  display: flex;
  align-items: center;
  gap: 10px;
}
.social__item {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
  color: #fff !important;
  background: #383B4B;
  border-radius: 100px;
}
.social__item:hover {
  background: #20AD96;
}
.social__item .icon {
  width: 100%;
  height: 100%;
}
@media (max-width: 1023.98px) {
  .social__items {
    gap: 8px;
  }
  .social__item {
    width: 30px;
    height: 30px;
  }
}

.link {
  font-size: 20px;
  line-height: 1.35;
  font-weight: 700;
  transition: all 0.3s ease-in-out;
  display: inline-flex;
  align-items: center;
}
.link .icon {
  width: 20px;
  height: 20px;
  margin-left: 8px;
}
.link__more .close_t {
  display: none;
}
.link__more.opened .open_t {
  display: none;
}
.link__more.opened .close_t {
  display: block;
}
@media (max-width: 1199.98px) {
  .link {
    font-size: 16px;
  }
}

/**************************************************************
.breadcrumbs
**************************************************************/
.breadcrumbs {
  margin: 10px 0 50px;
}
.breadcrumbs__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
}
.breadcrumbs__item {
  font-size: 18px;
  display: flex;
  align-items: center;
}
.breadcrumbs__item:not(:last-child):after {
  margin: 0 10px;
  color: #ABADB8;
  content: "/";
}
.breadcrumbs__link {
  color: #ABADB8;
  transition: all 0.3s ease-in-out;
}
.breadcrumbs__link:hover {
  color: #20AD96;
}
@media (max-width: 1199.98px) {
  .breadcrumbs__item {
    font-size: 15px;
  }
}
@media (max-width: 1023.98px) {
  .breadcrumbs {
    margin: 0 0 20px;
  }
}
@media (max-width: 767.98px) {
  .breadcrumbs {
    margin-top: 8px;
  }
}

/**************************************************************
.pagination
**************************************************************/
.pagination {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.pagination .page-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}
.pagination .page-link {
  background: none;
  width: 24px;
  height: 24px;
  color: #090A0C;
  font-size: 14px;
  font-weight: 600;
  padding: 0 5px;
  border-radius: 4px;
  background: #F7F8FC;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}
.pagination .page-link:hover {
  color: #fff !important;
  background: #20AD96;
}
.pagination .page-link .icon {
  width: 100%;
}
.pagination .active .page-link {
  background: #20AD96;
  border-color: #20AD96;
  color: #fff !important;
}
.pagination .page-next .page-link, .pagination .page-prev .page-link {
  color: #413A7D;
  padding: 0 !important;
}
.pagination .page-last, .pagination .page-first {
  display: none;
}
@media (max-width: 767.98px) {
  .pagination {
    justify-content: center;
  }
}
@media (max-width: 609.98px) {
  .pagination {
    margin-top: 30px;
  }
}

/**************************************************************
.smile
**************************************************************/
@keyframes a0_do {
  0% {
    stroke-dashoffset: 553.95px;
  }
  42.28% {
    stroke-dashoffset: 0px;
  }
  100% {
    stroke-dashoffset: 0px;
  }
}
@keyframes a1_t {
  0% {
    transform: translate(193.35px, 11.99px) rotate(180deg) translate(179.29px, -2.07px);
  }
  40.2% {
    transform: translate(193.35px, 11.99px) rotate(0deg) translate(179.29px, -2.07px);
  }
  46.36% {
    transform: translate(193.35px, -21.01px) rotate(0deg) translate(179.29px, -2.07px);
  }
  100% {
    transform: translate(193.35px, -21.01px) rotate(0deg) translate(179.29px, -2.07px);
  }
}
/**************************************************************
swiper
**************************************************************/
.swiper-slide {
  height: auto;
}

.swiper-pagination {
  display: flex;
}
.swiper-pagination-after {
  position: static;
  margin-top: 28px;
  justify-content: center;
}
.swiper-pagination-bullet {
  margin: 0 7px !important;
  width: 10px;
  height: 10px;
  background: #E1E2E8;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
.swiper-pagination-after .swiper-pagination-bullet {
  background: #E1E2E8;
}
.swiper-pagination-bullet-active {
  background: #413A7D !important;
}
.swiper-pagination-yellow .swiper-pagination-bullet-active {
  background: #FEC84B !important;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
@media (max-width: 609.98px) {
  .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 2px !important;
  }
}

.swiper-button {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  left: 0;
  margin: 0;
  color: #090A0C;
  z-index: 10;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease-in-out;
}
.swiper-button-next {
  left: auto;
  right: 0;
  transform: translate(50%, -50%);
}
.swiper-button:after {
  display: none;
}
.swiper-button .icon {
  position: relative;
  z-index: 2;
  width: 35%;
}
@media (any-hover: hover) {
  .swiper-button:hover {
    color: #fff;
    background: #413A7D;
  }
}
.swiper-button.swiper-button-disabled {
  cursor: default;
  opacity: 1;
}

.swiper-fraction {
  text-align: center;
  display: flex;
  align-items: baseline;
  white-space: nowrap;
}

.swiper-pagination-total {
  font-size: 16px;
  opacity: 0.7;
}

.swiper-pagination-current {
  font-size: 32px;
  font-weight: bold;
  margin-right: 6px;
}

.swiper-nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 35px;
  gap: 20px;
}
.swiper-nav .swiper-fraction {
  width: auto;
}
.swiper-nav .swiper-button {
  position: static;
  transform: initial;
}

.swiper-scrollbar {
  background: none;
}

@media (max-width: 1399.98px) {
  .swiper-button {
    width: 42px;
    height: 42px;
  }
}
@media (max-width: 609.98px) {
  .swiper-nav {
    gap: 8px;
  }
  .swiper-button {
    width: 36px;
    height: 36px;
  }
}
/**************************************************************
forms
**************************************************************/
.input::-webkit-input-placeholder {
  color: rgb(173, 173, 173);
  opacity: 1;
}

.input::-o-input-placeholder {
  color: rgb(173, 173, 173);
  opacity: 1;
}

.input::-moz-input-placeholder {
  color: rgb(173, 173, 173);
  opacity: 1;
}

.input:-moz-input-placeholder {
  color: rgb(173, 173, 173);
  opacity: 1;
}

.input::-ms-input-placeholder {
  color: rgb(173, 173, 173);
  opacity: 1;
}

.input input-placeholder {
  color: rgb(173, 173, 173);
  opacity: 1;
}

.input::placeholder {
  color: rgb(173, 173, 173);
  opacity: 1;
}

.input:placeholder-shown {
  color: rgb(173, 173, 173);
  opacity: 1;
}

.input:focus::-webkit-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus::-o-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus::-moz-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus:-moz-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus::-ms-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus:input-placeholder {
  color: transparent;
  opacity: 0;
}

input[placeholder] {
  text-overflow: ellipsis;
}

input::-moz-placeholder {
  text-overflow: ellipsis;
}

input:-moz-placeholder {
  text-overflow: ellipsis;
}

input:-ms-input-placeholder {
  text-overflow: ellipsis;
}

input, button {
  -webkit-appearance: none;
}

.form__head {
  margin-bottom: 20px;
}
.form__intro {
  margin-top: 10px;
}
.form__intro.fs--sm {
  font-size: 15px;
}
.form__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0 12px;
}
.form__row {
  margin-bottom: 10px;
  min-width: 0px;
  position: relative;
  display: flex;
  flex-direction: column;
}
.form__label {
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: bold;
  position: relative;
}
.form__submit {
  margin-top: 20px;
}
.form__btntext {
  display: flex;
  align-items: center;
  gap: 10px;
}
.form__btntext > div {
  max-width: 250px;
}
.form__policy {
  text-align: left;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}
.form__policy input {
  display: none;
}
.form__policy-t {
  padding-top: 2px;
}
.form__policy-sq {
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
  cursor: pointer;
  border: 1px solid #fff;
}
.form__policy :checked + .form__policy-sq {
  background: url(../images/icons/check.svg) no-repeat center center;
  background-color: #413A7D;
  border-color: #413A7D;
}
.form__policy a {
  color: inherit;
  text-decoration: underline;
}
.form__policy a:hover {
  text-decoration: none;
}
.form__check {
  text-align: left;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.form__check + .form__check {
  margin-top: 10px;
}
.form__check input {
  display: none;
}
.form__check-t {
  padding-top: 2px;
}
.form__check-sq {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  cursor: pointer;
  border: 1px solid #fff;
}
.form__check :checked + .form__check-sq {
  background: url(../images/icons/check.svg) no-repeat center center;
  background-color: #413A7D;
  border-color: #413A7D;
}
@media (max-width: 1023.98px) {
  .form__cols {
    grid-template-columns: 1fr;
  }
  .form__row {
    margin-bottom: 5px;
  }
  .form__policy {
    font-size: 10px;
  }
}
@media (max-width: 767.98px) {
  .form__submit {
    margin-top: 20px;
  }
  .form__btntext {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 20px;
  }
  .form__btntext .btn {
    width: 100%;
    min-width: 1px;
  }
}

.input {
  width: 100%;
  height: 60px;
  padding: 0 20px;
  border: 1px solid #D6E4E2;
  border-radius: 6px;
  background: #fff;
  font-family: "Gilroy", sans-serif;
  font-size: 16px;
  color: #090A0C;
  transition: border-color 0.2s ease-in-out;
}
.input:focus {
  border-color: #308376;
}
.input.error, .input.is-invalid {
  border-color: #EF7489;
}
.input.error::-webkit-input-placeholder, .input.is-invalid::-webkit-input-placeholder {
  color: rgba(199, 57, 57, 0.7);
  opacity: 1;
}
.input.error::-o-input-placeholder, .input.is-invalid::-o-input-placeholder {
  color: rgba(199, 57, 57, 0.7);
  opacity: 1;
}
.input.error::-moz-input-placeholder, .input.is-invalid::-moz-input-placeholder {
  color: rgba(199, 57, 57, 0.7);
  opacity: 1;
}
.input.error:-moz-input-placeholder, .input.is-invalid:-moz-input-placeholder {
  color: rgba(199, 57, 57, 0.7);
  opacity: 1;
}
.input.error::-ms-input-placeholder, .input.is-invalid::-ms-input-placeholder {
  color: rgba(199, 57, 57, 0.7);
  opacity: 1;
}
.input.error input-placeholder, .input.is-invalid input-placeholder {
  color: rgba(199, 57, 57, 0.7);
  opacity: 1;
}
.input.error::placeholder, .input.is-invalid::placeholder {
  color: rgba(199, 57, 57, 0.7);
  opacity: 1;
}
.input.error:placeholder-shown, .input.is-invalid:placeholder-shown {
  color: rgba(199, 57, 57, 0.7);
  opacity: 1;
}
.input__error {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 4px;
  font-size: 14px;
  color: #EF7489;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
}
[class*=col-] > .input__error {
  padding-left: 15px;
}
.input.error ~ .input__error {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 1023.98px) {
  .input {
    height: 55px;
    font-size: 16px;
  }
}

textarea.input {
  line-height: normal;
  padding-top: 20px;
  padding-bottom: 20px;
  resize: none;
  height: 130px;
}
textarea.input.h--sm {
  height: 120px;
}
textarea.input.h--md {
  height: 200px;
}
textarea.input.h--lg {
  height: 240px;
}
@media (max-width: 1023.98px) {
  textarea.input {
    height: 120px;
  }
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 45px;
  height: 55px;
  min-width: 228px;
  border: 2px solid #20AD96;
  border-radius: 8px;
  background: #20AD96;
  font-weight: 500;
  font-size: 16px;
  color: #fff;
  font-family: "Gilroy", sans-serif;
  text-align: center;
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease-in-out;
}
@media (any-hover: hover) {
  .btn:hover {
    background: #12816F;
    border-color: #12816F;
  }
}
.btn--orange {
  background: #FEC84B;
  border-color: #FEC84B;
  color: #090A0C;
}
.btn--bd {
  background: none;
  color: #090A0C;
}
@media (any-hover: hover) {
  .btn--bd:hover {
    color: #fff;
    background: #20AD96;
    border-color: #20AD96;
  }
}
.btn--inp {
  height: 60px;
}
.btn--md {
  height: 56px;
  padding: 0 26px;
  min-width: 120px;
}
.btn--minw {
  min-width: 270px;
}
.btn--minwmd {
  min-width: 300px;
}
.btn--wall {
  width: 100%;
  padding: 0 20px;
  min-width: 1px;
}
@media (max-width: 1023.98px) {
  .btn {
    height: 55px;
    font-size: 16px;
    padding: 0 20px;
  }
}
@media (max-width: 478.98px) {
  .btn--wall-mob {
    width: 100%;
    padding: 0 20px;
    max-width: 480px;
  }
}

.choices {
  text-align: left;
}
.choices[data-type*=select-one]:after {
  width: 24px;
  height: 24px;
  border: none;
  right: 18px;
  margin-top: -12px !important;
  background: url(../images/icons/drop.svg) no-repeat center center;
  transition: all 0.3s ease-in-out;
}
.choices.is-open[data-type*=select-one]:after {
  transform: scale(1, -1);
}
.choices__inner {
  height: 60px;
  min-height: 1px;
  padding: 0 20px;
  padding-bottom: 0 !important;
  border: 1px solid #D6E4E2;
  border-radius: 6px !important;
  background: #fff;
  font-family: "Gilroy", sans-serif;
  font-size: 16px;
  color: #090A0C;
  display: flex;
  align-items: center;
}
.is-open .choices__inner {
  border-color: #20AD96;
}
.choices__placeholder {
  opacity: 1;
  color: #ABADB8;
}
.choice--white .choices__placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.choices__list--single {
  padding: 0;
}
.choices__list--dropdown {
  border: 1px solid #20AD96 !important;
  border-radius: 6px !important;
  margin: 6px 0 !important;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  opacity: 0;
}
.choices__list--dropdown.is-active {
  opacity: 1;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.choices__list--dropdown .choices__placeholder {
  display: none;
}
.choices__list--dropdown .choices__item {
  color: #090A0C;
  font-size: 16px !important;
  padding: 10px 20px !important;
}
.choices__list--dropdown .choices__item::after {
  display: none;
}
.choices__list--dropdown .choices__item.is-highlighted {
  background: #E5F3F1 !important;
}
@media (max-width: 1023.98px) {
  .choices__inner {
    height: 55px;
    font-size: 16px;
  }
}

/**************************************************************
popup
**************************************************************/
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  z-index: 9999;
  transition: all 0.3s ease-in-out;
}
.popup.opened {
  opacity: 1;
  visibility: visible;
}
.popup__content {
  width: 100%;
  min-height: 100%;
  overflow: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 15px;
  position: relative;
  z-index: 1;
}
.popup__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(56, 61, 72, 0.6);
  backdrop-filter: blur(2px);
}
.popup__container {
  position: relative;
  width: 100%;
  max-width: 660px;
  padding: 50px;
  background: #E5F3F1;
  border-radius: 20px;
}
.popup--lg .popup__container {
  max-width: 1248px;
}
.popup__close {
  position: absolute;
  right: 30px;
  top: 30px;
  width: 28px;
  height: 28px;
  cursor: pointer;
  z-index: 99;
  color: #ABADB8;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup__close:hover {
  color: #090A0C;
}
.popup__close .icon {
  width: 50%;
  height: 50%;
}
.popup__head {
  margin-bottom: 20px;
  max-width: 560px;
}
.popup__head.mb--md {
  margin-bottom: 30px;
}
.popup__head.text--center {
  margin-left: auto;
  margin-right: auto;
}
.popup__title {
  font-size: 48px;
  font-family: "PP Pangram Sans";
  font-weight: 300;
  line-height: 1.3;
}
.popup__intro {
  margin-top: 30px;
}
.popup__iconthank {
  max-width: 390px;
  margin: -55px auto 0;
}
.popup__iconthank svg {
  width: 100%;
  height: auto;
}
.popup-thank .popup__container {
  padding-top: 90px;
  padding-bottom: 35px;
  text-align: center;
}
@media (max-width: 1199.98px) {
  .popup__title {
    font-size: 36px;
  }
}
@media (max-width: 1023.98px) {
  .popup__container {
    padding: 30px;
    max-width: 480px !important;
  }
  .popup__close {
    top: 20px;
    right: 20px;
  }
  .popup__title {
    font-size: 28px;
  }
  .popup__intro {
    margin-top: 20px;
  }
  .popup__iconthank {
    max-width: 300px;
    margin-top: -40px;
  }
  .popup-thank .popup__container {
    padding-top: 50px;
  }
}
@media (max-width: 478.98px) {
  .popup__container {
    padding: 24px 20px 30px;
  }
  .popup__close {
    top: 10px;
    right: 10px;
  }
  .popup__intro {
    margin-top: 10px;
  }
}

/**************************************************************
header
**************************************************************/
.header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 999;
}
.home .header {
  animation: header-home 1.5s ease-in-out;
}
@keyframes header-home {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  height: 100px;
  padding: 10px 0;
}
.header__burger {
  display: none;
}
.header__call {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  z-index: 2;
}
.header__call-open {
  display: none;
}
.header__call-icon {
  width: 40px;
  height: 40px;
  border-radius: 100px;
  background: #FEC84B;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header__call-icon img {
  max-width: 16px;
  max-height: 16px;
}
.header__call-info {
  position: relative;
}
.header__call-t {
  font-size: 14px;
}
.header__call-phone {
  color: #413A7D;
  font-weight: 600;
  font-size: 18px;
  display: flex;
  align-items: center;
  gap: 3px;
}
.header__call-phone .icon {
  width: 24px;
  height: 24px;
}
.header__call-mphones {
  position: absolute;
  right: -10px;
  top: -10px;
  z-index: -1;
  width: calc(100% + 70px);
  padding: 60px 10px 16px 60px;
  background: #fff;
  box-shadow: 4px 4px 8px 0px rgba(65, 58, 125, 0.05);
  border-radius: 20px;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
.header__call:hover .header__call-mphones {
  opacity: 1;
  visibility: visible;
}
.header__call-mphones .header__call-phone {
  margin-top: 4px;
}
@media (max-width: 1199.98px) {
  .header__logo {
    max-width: 230px;
  }
}
@media (max-width: 1023.98px) {
  .header__inner {
    height: 80px;
  }
  .header__logo {
    max-width: 230px;
  }
  .header__call {
    position: relative;
    margin-left: auto;
    margin-right: 20px;
  }
  .header__call-open {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    border: none;
    background: none;
    outline: none;
    display: block;
  }
  .header__call-info {
    position: absolute;
    right: 0;
    top: 0;
    background: #fff;
    box-shadow: 4px 4px 8px 0px rgba(65, 58, 125, 0.05);
    border-radius: 20px;
    padding: 20px;
    transition: all 0.3s ease-in-out;
    opacity: 0;
    visibility: hidden;
    z-index: 10;
  }
  .header__call-info.opened {
    opacity: 1;
    visibility: visible;
  }
  .header__call-t {
    color: #20AD96;
    white-space: nowrap;
    margin-bottom: 4px;
  }
  .header__call-phone {
    font-weight: 400;
    white-space: nowrap;
  }
  .header__call-phone .icon {
    display: none;
  }
  .header__call-mphones {
    opacity: 1;
    visibility: visible;
    position: static;
    padding: 0;
    background: none;
    box-shadow: none;
    width: auto;
  }
  .header__menu {
    display: none;
  }
  .header__burger {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: none;
    cursor: pointer;
    outline: none;
  }
}
@media (max-width: 767.98px) {
  .header__inner {
    height: 50px;
  }
  .header__inner .btn {
    flex: 0 0 auto;
    height: 40px;
    font-size: 14px;
    padding: 0 12px;
    min-width: 50px;
  }
  .header__inner .btn img {
    max-width: 16px;
  }
  .header__logo {
    max-width: 170px;
  }
  .header__call {
    display: none;
  }
}

.menu__list {
  display: flex;
  align-items: center;
  gap: 30px;
}
.menu__item {
  position: relative;
}
.menu__link {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #090A0C;
  font-size: 16px;
  transition: background 0.3s ease-in-out;
}
.menu__link:after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transform: scaleX(0);
  transform-origin: right;
  content: "";
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  border-bottom: 1px solid #20AD96;
}
.menu__link .icon {
  width: 25px;
  height: 25px;
}
.menu__item.active > .menu__link:after, .menu__item:hover .menu__link:after {
  transform-origin: left;
  transform: scaleX(1);
}
@media (max-width: 1199.98px) {
  .menu__list {
    gap: 20px;
  }
  .menu__link {
    font-size: 14px;
  }
}

.submenu {
  position: absolute;
  left: 0px;
  top: 100%;
  padding-top: 5px;
  min-width: 200px;
  transition: all 0.3s ease-in-out;
  transform: translateY(5px);
  opacity: 0;
  visibility: hidden;
}
.submenu .submenu {
  left: 100%;
  top: -15px;
  margin-left: 10px;
}
.menu__item:hover > .submenu, .submenu__item:hover .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
.submenu__list {
  border-radius: 20px;
  background: #FFF;
  box-shadow: -4px 4px 8px 0px rgba(65, 58, 125, 0.05);
  backdrop-filter: blur(10px);
  padding: 10px;
}
.submenu__item {
  position: relative;
}
.submenu__link {
  padding: 10px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #090A0C;
  white-space: nowrap;
  transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}
.submenu__link .icon {
  width: 18px;
  height: 18px;
  color: #ABADB8;
}
.submenu__item:hover > .submenu__link {
  background: #F7F8FC;
}
.submenu__item:hover > .submenu__link .icon {
  transform: rotate(-90deg);
}

.navfix {
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: calc(var(--vh) * 100);
  z-index: -100;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  overflow: auto;
  margin: 0;
  color: #fff;
}
.navfix.opened {
  z-index: 99999;
  opacity: 1;
  visibility: visible;
}
.navfix__bg {
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(7.5px);
  z-index: 0;
}
.navfix__box {
  width: 100%;
  max-width: 400px;
  height: calc(var(--vh) * 100);
  padding: 20px 20px 20px 30px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 5;
  border-radius: 20px 0px 0px 20px;
  background: #FFF;
  box-shadow: -4px 4px 8px 0px rgba(65, 58, 125, 0.05);
  backdrop-filter: blur(10px);
  overflow: auto;
  transition: transform 0.3s ease-in-out;
  transform: translateX(100%);
}
.navfix.opened .navfix__box {
  transform: translateX(0%);
}
.navfix__head {
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  z-index: 5;
  margin-bottom: 20px;
}
.navfix__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  border: none;
  background: none;
  cursor: pointer;
  outline: none;
}
.navfix__menu li {
  position: relative;
  z-index: 1;
}
.navfix__menu li a {
  font-size: 18px;
  color: #090A0C;
  position: relative;
  display: block;
  padding: 10px;
}
.navfix__menu ul ul {
  overflow: hidden;
  opacity: 0;
  max-height: 0px;
  transition: all 0.3s ease-in-out;
}
.navfix__menu ul ul.opened {
  opacity: 1;
}
.navfix__menu ul ul li {
  padding-left: 20px;
}
.navfix__menu ul ul li + li {
  margin-top: 12px;
}
.navfix__menu ul ul a {
  padding: 0;
}
.navfix__menu ul ul ul li {
  padding-left: 10px;
  margin-top: 12px;
}
.navfix__menu ul ul ul a {
  font-size: 15px;
}
.navfix__menu-toggle {
  background: none;
  border: none;
  outline: none;
  position: absolute;
  top: 5px;
  right: 10px;
  z-index: 5;
  color: #ABADB8;
  width: 30px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}
.navfix__menu-toggle.active {
  transform: scale(1, -1);
}
.navfix__menu-toggle .icon {
  width: 20px;
  height: 20px;
}
ul ul .navfix__menu-toggle {
  top: 0;
  height: 27px;
}
.navfix__phone {
  color: #413A7D;
  font-size: 18px;
  margin-top: 10px;
  display: block;
}
.navfix__call {
  padding-left: 10px;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
}
.navfix__call-link {
  color: #20AD96;
  display: inline-block;
  margin-top: 10px;
  font-size: 16px;
}
@media (max-width: 609.98px) {
  .navfix__box {
    max-width: 330px;
  }
  .navfix__menu li a {
    font-size: 16px;
  }
}

/**************************************************************
footer
**************************************************************/
.footer {
  position: relative;
  padding: 36px 0 20px;
  background: #E5F3F1;
  font-size: 16px;
  color: #383B4B;
}
.footer__head {
  margin-bottom: 20px;
}
.footer__intro {
  margin-top: 10px;
  font-size: 14px;
}
.footer__inner {
  display: flex;
  justify-content: space-between;
  gap: 65px;
}
.footer__col li + li {
  margin-top: 10px;
}
.footer__col li a {
  transition: all 0.3s ease-in-out;
}
.footer__col li a:hover {
  color: #20AD96;
}
.footer__ctitle {
  margin-bottom: 10px;
  font-weight: 600;
}
.footer__social {
  margin-top: 54px;
}
.footer__nav li a {
  font-weight: 600;
}
.footer__nav li .active {
  font-weight: 600;
  color: #20ad96;
}
.footer__menu {
  flex: 1 0 0;
}
.footer__menu ul {
  margin-bottom: 8px;
}
.footer__contacts {
  flex: 0 0 auto;
  width: 275px;
}
.footer__contacts-linkmap {
  font-size: 12px;
  font-weight: 300;
  display: inline-block;
  border-bottom: 1px solid inherit;
}
.footer__contacts ul {
  margin-bottom: 20px;
}
.footer__contacts ul:last-child {
  margin-bottom: 0;
}
.footer__bottom {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  font-size: 10px;
  color: rgba(9, 10, 12, 0.5);
}
.footer__bottom a {
  transition: all 0.3s ease-in-out;
}
.footer__bottom a:hover {
  color: #090A0C;
}
.footer__sname {
  text-transform: uppercase;
  flex: 0 0 auto;
  width: 275px;
}
@media (max-width: 1399.98px) {
  .footer__inner {
    gap: 30px;
  }
}
@media (max-width: 1199.98px) {
  .footer {
    font-size: 14px;
  }
  .footer__contacts {
    width: 230px;
  }
  .footer__sname {
    width: 230px;
  }
}
@media (max-width: 1023.98px) {
  .footer {
    font-size: 12px;
  }
  .footer__head {
    margin-bottom: 0;
  }
  .footer__intro {
    font-size: 12px;
  }
  .footer__inner {
    flex-wrap: wrap;
    gap: 20px;
  }
  .footer__colnav {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .footer__nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
  }
  .footer__nav li {
    margin: 0 !important;
  }
  .footer__social {
    margin: 0;
    width: 165px;
  }
  .footer__contacts {
    width: 165px;
  }
  .footer__bottom {
    font-size: 9px;
  }
  .footer__sname {
    width: 165px;
  }
}
@media (max-width: 767.98px) {
  .footer__head {
    margin-bottom: 10px;
  }
  .footer__col li + li {
    margin-top: 4px;
  }
  .footer__ctitle {
    margin-bottom: 10px;
    font-size: 13px;
  }
  .footer__nav {
    width: 100%;
    max-width: 480px;
  }
  .footer__nav ul {
    display: block;
  }
  .footer__nav li {
    position: relative;
    z-index: 1;
  }
  .footer__nav li a {
    font-weight: normal;
    position: relative;
    display: block;
    padding: 10px 0;
  }
  .footer__nav ul ul {
    overflow: hidden;
    opacity: 0;
    max-height: 0px;
    transition: all 0.3s ease-in-out;
  }
  .footer__nav ul ul.opened {
    opacity: 1;
  }
  .footer__nav ul ul li {
    padding-left: 10px;
  }
  .footer__nav ul ul li + li {
    margin-top: 12px !important;
  }
  .footer__nav ul ul a {
    padding: 0;
  }
  .footer__nav ul ul ul li {
    padding-left: 10px;
    margin-top: 12px !important;
  }
  .footer__nav-toggle {
    background: none;
    border: none;
    outline: none;
    position: absolute;
    top: 0px;
    right: 10px;
    z-index: 5;
    color: #ABADB8;
    width: 30px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
  }
  .footer__nav-toggle.active {
    transform: scale(1, -1);
  }
  .footer__nav-toggle .icon {
    width: 20px;
    height: 20px;
  }
  ul ul .footer__nav-toggle {
    top: 0;
    height: 27px;
  }
  .footer__contacts {
    flex: 1 0 0;
  }
  .footer__contacts-linkmap {
    font-size: 13px;
  }
  .footer__contacts li {
    font-size: 13px;
  }
  .footer__contacts li + li {
    margin-top: 12px;
  }
  .footer__social {
    margin-top: 6px;
  }
  .footer__bottom {
    margin-top: 22px;
    gap: 10px 20px;
    flex-wrap: wrap;
    justify-content: flex-start;
    font-size: 12px;
  }
  .footer__sname {
    width: auto;
  }
}
@media (max-width: 478.98px) {
  .footer {
    font-size: 13px;
  }
}
@media (max-width: 359.98px) {
  .footer__intro {
    font-size: 10px;
  }
  .footer__nav ul {
    gap: 8px 14px;
  }
}

/**************************************************************

**************************************************************/
.hero {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding-bottom: 100px;
}
.hero + * {
  margin-top: 0 !important;
}
.hero::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/hero/bg.svg) no-repeat top center;
  max-height: 80%;
  content: "";
  z-index: -1;
}
.hero__inner {
  padding-top: 30px;
}
.hero__title {
  text-align: center;
  font-size: 80px;
  font-family: "PP Pangram Sans";
  font-weight: 300;
  line-height: 1.3;
  animation: hero-title 1.5s ease-in-out;
}
.hero__intro {
  position: relative;
  max-width: 240px;
  margin-left: 50px;
  animation: hero-intro 1.5s ease-in-out;
}
.hero__intro::before {
  width: 44px;
  height: 44px;
  position: absolute;
  left: 45px;
  bottom: 100%;
  margin-bottom: 43px;
  background: url(../images/icons/smile.svg) no-repeat;
  background-size: 100%;
  content: "";
  animation: hero-intro-smile 1.5s ease-in-out;
}
.hero__photos {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.hero__photos::after {
  width: 44px;
  height: 44px;
  position: absolute;
  left: 100%;
  bottom: 30%;
  margin-left: 37px;
  background: url(../images/icons/smile-2.svg) no-repeat;
  background-size: 100%;
  content: "";
}
.hero__photos-col {
  margin: 0 10px;
  flex: 0 0 auto;
  width: calc((100% - 80px) / 5);
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  transition: all 1s;
  z-index: 5;
}
.animate-start .hero__photos-col.col--lg {
  width: 0;
  margin: 0;
  z-index: 0;
}
.hero__photos-img {
  border-radius: 20px;
  padding-bottom: 100%;
  overflow: hidden;
  position: relative;
  box-shadow: 8px 8px 16px 0px rgba(40, 49, 70, 0.2);
}
.hero__photos-img.img--sm {
  padding-bottom: 50%;
}
.hero__photos-img.img--lg {
  box-shadow: none;
  padding-bottom: 200%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(255, 255, 255, 0.2) 81.94%, rgba(255, 201, 76, 0.2) 100%), #FEC84B;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.animate-start .hero__photos-img.img--lg {
  background: none;
}
.hero__photos-img.img--1 {
  animation: hero-img-1 1.5s ease-in-out;
}
.hero__photos-img.img--2 {
  animation: hero-img-2 1.5s ease-in-out;
}
.hero__photos-img.img--3 {
  animation: hero-img-3 1.5s ease-in-out;
}
.hero__photos-img.img--4 {
  animation: hero-img-4 1.5s ease-in-out;
}
.hero__photos-img.img--5 {
  animation: hero-img-5 1.5s ease-in-out;
}
.hero__photos-img.img--6 {
  animation: hero-img-6 1.5s ease-in-out;
}
.hero__photos-img.img--7 {
  animation: hero-img-7 1.5s ease-in-out;
}
.hero__photos-img__wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 5%;
}
.hero__photos-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.hero__bear {
  width: 192px;
  height: auto;
}
.hero__bear.fixed {
  position: absolute;
  z-index: 2;
  transition: all 1s;
}
.hero__bear > * {
  width: 100%;
  height: auto;
}
.hero__callback {
  position: absolute;
  right: 32px;
  top: 0;
  background: none;
  border: none;
  display: flex;
  cursor: pointer;
  outline: none;
  animation: hero-callback 1.5s ease-in-out;
  max-width: 160px;
}
.hero__callback-wrap {
  position: relative;
  transform: translateY(-55%);
  background: #FEC84B;
  border-radius: 100%;
  padding: 16px;
}
.hero__callback-wrap > img {
  animation: circle_anim 6s infinite linear;
}
.hero__callback-arrow {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30%;
  height: 30%;
  border-radius: 100%;
  border: 2px solid #FFF;
  color: #FFF;
  transition: all 0.3s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero__callback-arrow .icon {
  width: 45%;
}
.hero__callback-wrap:hover .hero__callback-arrow {
  transform: translate(-50%, -50%) scale(1.15);
}
@keyframes circle_anim {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}
@keyframes hero-title {
  0% {
    opacity: 0;
    transform: translateY(-40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes hero-intro {
  0% {
    opacity: 0;
    transform: translate(-500px, -20px);
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes hero-intro-smile {
  0% {
    opacity: 0;
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes hero-callback {
  0% {
    opacity: 0;
    transform: translate(500px, -20px);
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes hero-img-1 {
  0% {
    opacity: 0;
    transform: scale(1.25) translate(-1000px, 0%);
  }
  to {
    opacity: 1;
    transform: scale(1) translate(0, 0);
  }
}
@keyframes hero-img-2 {
  0% {
    opacity: 0;
    transform: scale(1.25) translate(-1000px, -150%);
  }
  to {
    opacity: 1;
    transform: scale(1) translate(0, 0);
  }
}
@keyframes hero-img-3 {
  0% {
    opacity: 0;
    transform: scale(1.25) translate(-1000px, 100%);
  }
  to {
    opacity: 1;
    transform: scale(1) translate(0, 0);
  }
}
@keyframes hero-img-4 {
  0% {
    opacity: 0;
    transform: scale(1.25) translate(0, 1000px);
  }
  to {
    opacity: 1;
    transform: scale(1) translate(0, 0);
  }
}
@keyframes hero-img-5 {
  0% {
    opacity: 0;
    transform: scale(1.25) translate(1000px, -150%);
  }
  to {
    opacity: 1;
    transform: scale(1) translate(0, 0);
  }
}
@keyframes hero-img-6 {
  0% {
    opacity: 0;
    transform: scale(1.25) translate(1000px, 100%);
  }
  to {
    opacity: 1;
    transform: scale(1) translate(0, 0);
  }
}
@keyframes hero-img-7 {
  0% {
    opacity: 0;
    transform: translate(1000px, 0%);
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@media (min-width: 1200px) and (max-height: 850px) {
  .hero__inner {
    padding-top: 0;
  }
  .hero__photos {
    margin-top: -30px;
  }
}
@media (max-width: 1399.98px) {
  .hero {
    padding-bottom: 100px;
  }
  .hero::after {
    background-position: bottom center;
  }
  .hero__title {
    font-size: 64px;
  }
  .hero__intro::before {
    margin-bottom: 3px;
  }
}
@media (max-width: 1199.98px) {
  .hero__intro {
    margin-left: 0;
    font-size: 16px;
  }
  .hero__intro::before {
    left: 11px;
    margin-bottom: 2px;
  }
  .hero__photos::after {
    bottom: 0;
    left: auto;
    right: 0;
  }
  .hero__callback {
    width: 120px;
  }
  .hero__callback-wrap {
    transform: translateY(-85%);
  }
  .hero__bear {
    width: 150px;
  }
}
@media (max-width: 1023.98px) {
  .hero {
    padding-bottom: 80px;
  }
  .hero::after {
    background-image: url(../images/hero/bg-tablet.svg);
    background-size: cover;
  }
  .hero__title {
    font-size: 48px;
  }
  .hero__intro::before {
    width: 30px;
    height: 30px;
  }
  .hero__photos {
    margin-top: 10px;
  }
  .hero__photos::after {
    width: 30px;
    height: 30px;
  }
  .hero__photos-col {
    gap: 16px;
    width: calc((100% - 64px) / 5);
    margin: 0 8px;
  }
  .hero__callback {
    right: 10px;
  }
  .hero__bear {
    width: 90%;
  }
}
@media (max-width: 767.98px) {
  .hero {
    padding-bottom: 40px;
  }
  .hero__title {
    font-size: 36px;
  }
  .hero__title .nn {
    display: block;
    margin-top: 10px;
  }
  .hero__intro {
    display: none;
  }
  .hero__callback {
    display: none;
  }
  .hero__photos {
    margin-top: 40px;
  }
  .hero__photos-col {
    gap: 10px;
    margin: 0 5px;
  }
}
@media (max-width: 609.98px) {
  .hero::after {
    height: 420px;
    background-size: initial;
  }
  .hero__inner {
    margin: 0 -10px;
  }
  .hero__photos {
    margin: 40px 0px 0;
    gap: 10px;
  }
  .hero__photos::after {
    display: none;
  }
  .hero__photos-col {
    width: auto;
    flex: 1 0 0;
    margin: 0;
  }
  .hero__photos .col--lg {
    flex: 0 0 auto;
    width: 38%;
  }
}
@media (max-width: 478.98px) {
  .hero__title {
    font-size: 28px;
  }
}
@media (max-width: 359.98px) {
  .hero__title {
    font-size: 24px;
  }
}

/**************************************************************
Направления работы
**************************************************************/
.areasw__inner {
  padding: 28px 40px 36px;
  margin: 0 -40px;
  background: #F7F8FC;
  border-radius: 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 20px;
  position: relative;
  z-index: 5;
}
.areasw__item {
  padding: 25px 25px 40px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: all 0.3s ease-in-out;
}
.areasw__item:hover {
  background: #E5F3F1;
}
.areasw__item-icon {
  flex: 0 0 auto;
  width: 70px;
  height: 70px;
  border-radius: 10px;
  background: #fff;
  position: relative;
  transition: all 0.3s ease-in-out;
}
.areasw__item-icon img {
  position: absolute;
  right: -5px;
  bottom: -5px;
  max-height: 100%;
}
.areasw__item:hover .areasw__item-icon {
  background: rgba(255, 255, 255, 0.5);
}
.areasw__item-info {
  min-height: 120px;
}
@media (max-width: 1399.98px) {
  .areasw__inner {
    margin: 0 -20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1199.98px) {
  .areasw__item {
    padding: 20px;
  }
  .areasw__item-icon {
    width: 52px;
    height: 52px;
  }
  .areasw__item-icon img {
    bottom: -4px;
    right: -4px;
  }
}
@media (max-width: 1023.98px) {
  .areasw__inner {
    padding: 20px;
    grid-template-columns: 1fr 1fr;
    margin: 0;
  }
  .areasw__item {
    min-height: 150px;
    flex-direction: row;
    gap: 24px;
  }
  .areasw__item-info {
    min-height: 1px;
  }
}
@media (max-width: 767.98px) {
  .areasw__item {
    padding: 10px;
    min-height: 100px;
    gap: 10px;
  }
  .areasw__item-icon {
    width: 38px;
    height: 38px;
  }
  .areasw__item-icon img {
    max-width: 32px;
    right: -3px;
    bottom: -3px;
  }
}
@media (max-width: 609.98px) {
  .areasw__inner {
    grid-template-columns: 1fr;
    grid-gap: 22px;
  }
  .areasw__item {
    min-height: 1px;
  }
}

/**************************************************************

**************************************************************/
.mabout__inner {
  max-width: 1162px;
  margin: 0 auto;
  display: flex;
  gap: 60px;
}
.mabout__photo {
  width: 46%;
  padding-bottom: 46%;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  z-index: 5;
}
.mabout__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.mabout__info {
  flex: 1 0 0;
}
.mabout__text-vv {
  color: #413A7D;
}
.mabout__text > * + * {
  margin-top: 20px;
}
.mabout__buttons {
  margin-top: 30px;
}
@media (max-width: 1399.98px) {
  .mabout__inner {
    gap: 40px;
  }
  .mabout__text-vv {
    font-size: 16px;
  }
}
@media (max-width: 1023.98px) {
  .mabout__inner {
    gap: 20px;
    align-items: center;
  }
  .mabout__photo {
    width: 49%;
    padding-bottom: 49%;
  }
  .mabout__text > * + * {
    margin-top: 10px;
  }
  .mabout__buttons {
    margin-top: 20px;
  }
}
@media (max-width: 609.98px) {
  .mabout__inner {
    flex-direction: column;
    gap: 30px;
  }
  .mabout__photo {
    width: 80%;
    padding-bottom: 60%;
  }
  .mabout__text .section__head {
    display: block !important;
  }
  .mabout__text-vv {
    font-size: 14px;
  }
  .mabout__text > * + * {
    margin-top: 16px;
  }
}
@media (max-width: 478.98px) {
  .mabout__photo {
    width: 100%;
    padding-bottom: 100%;
  }
  .mabout__buttons .btn {
    width: 100%;
  }
}

/**************************************************************
Почему выбирают нас?
**************************************************************/
.whyme__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 20px;
}
.whyme__item {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 40px;
  background: #F7F8FC;
  border-radius: 10px;
}
.whyme__item.item--nobg {
  background: none;
  padding: 0;
}
.whyme__item-head {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  min-height: 60px;
}
.whyme__item-icon {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #fff;
  position: relative;
}
.whyme__item-icon img {
  position: absolute;
  right: -6px;
  bottom: -2px;
  max-width: 90%;
}
.whyme__item-info {
  margin-top: auto;
}
.whyme__item-smile {
  padding: 0 10px 54px;
}
.whyme__item-smile > * {
  width: 100%;
  height: auto;
}
.whyme__item-buttons {
  margin-top: 30px;
}
@media (max-width: 1199.98px) {
  .whyme__item {
    gap: 13px;
    padding: 20px;
  }
  .whyme__item-head {
    min-height: 1px;
  }
  .whyme__item-icon {
    width: 20px;
    height: 20px;
  }
  .whyme__item-icon img {
    right: -4px;
  }
}
@media (max-width: 1023.98px) {
  .whyme__items {
    grid-template-columns: 1fr 1fr;
  }
  .whyme__item {
    min-height: 354px;
  }
  .whyme__item.item--btn {
    order: 10;
    padding: 0 20px;
  }
  .whyme__item.item--smile {
    align-items: center;
    justify-content: center;
  }
  .whyme__item.item--smile .whyme__item-info {
    margin: 0;
  }
  .whyme__item-smile {
    padding: 0 0 15px;
    max-width: 240px;
  }
  .whyme__item-buttons {
    margin-top: 20px;
  }
}
@media (max-width: 609.98px) {
  .whyme {
    overflow: hidden;
  }
  .whyme__carousel {
    overflow: initial;
  }
  .whyme__items {
    display: flex;
    grid-gap: 0;
  }
  .whyme__item {
    gap: 30px;
    min-height: 1px;
  }
  .whyme__item.item--btn {
    margin-top: 20px;
    padding: 0;
  }
  .whyme__item-buttons {
    margin-top: 10px;
  }
}
@media (max-width: 478.98px) {
  .whyme__item-buttons .btn {
    width: 100%;
  }
}

/**************************************************************

**************************************************************/
.services {
  overflow: hidden;
}
.services__pdlr {
  max-width: 1080px;
  margin: 0 auto;
}
.services__options {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  overflow: hidden;
  margin: 0 -10px;
  width: auto;
  height: 440px;
}
.services__option {
  position: relative;
  overflow: hidden;
  flex: 0 0 auto;
  min-width: 90px;
  width: auto;
  margin: 0 10px;
  background: #20AD96;
  background-size: auto 120%;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
}
.services__option.active {
  flex-grow: 10000;
  transform: scale(1);
  max-width: 640px;
  border-radius: 20px;
  background-size: auto 100%;
}
.services__option:not(.active) {
  flex-grow: 1;
  border-radius: 40px;
}
.services__option-cont {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 20px 0 20px 17px;
  z-index: 2;
  transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
}
.services__option-cont::after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 10px);
  height: calc(100% + 4px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 64.24%);
  backdrop-filter: blur(2px);
  content: "";
  z-index: -1;
}
.services__option.active .services__option-cont {
  padding-left: 40px;
  padding-right: 40px;
}
.services__option-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  padding: 5px;
  border-radius: 100%;
  background-color: white;
}
.services__option-info {
  position: relative;
  left: 20px;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95), opacity 0.5s ease-out;
}
.services__option.active .services__option-info {
  left: 0;
  opacity: 1;
}
.services__option-title {
  font-weight: bold;
}
@media (max-width: 1199.98px) {
  .services__options {
    height: 400px;
  }
  .services__option {
    min-width: 80px;
  }
  .services__option-icon {
    width: 50px;
    height: 50px;
  }
  .services__option.active .services__option-cont {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1023.98px) {
  .services__options {
    margin: 0 -5px;
  }
  .services__option {
    margin: 0 5px;
  }
}
@media (max-width: 767.98px) {
  .services__options {
    margin: 0;
    overflow: initial;
    height: 250px;
  }
  .services__option {
    margin: 0;
    flex: 0 0 auto !important;
    border-radius: 20px !important;
    max-width: initial !important;
    background-size: cover;
  }
  .services__option-cont {
    padding: 15px !important;
  }
  .services__option-icon {
    width: 40px;
    height: 40px;
  }
  .services__option-info {
    left: 0 !important;
    opacity: 1 !important;
  }
}
.services__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 20px;
}
.services__head {
  display: flex;
  align-items: flex-end;
}
.services__head .section__intro {
  max-width: 400px;
}
.services__item {
  padding: 40px;
  border-radius: 10px;
  background: #F7F8FC;
  transition: all 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
}
.services__item.item--smile {
  background: #E5F3F1;
  padding-top: 20px;
}
.services__item.item--smile > img {
  margin: -10px auto 10px;
  max-width: 80%;
}
.services__item:hover {
  background: #E5F3F1;
}
.services__item-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 10px;
}
.services__item-icon {
  margin-right: 4px;
  flex: 0 0 auto;
  width: 60px;
  height: 60px;
  border-radius: 10px;
  background: #fff;
  position: relative;
  transition: all 0.3s ease-in-out;
}
.services__item-icon img {
  position: absolute;
  right: -4px;
  bottom: -4px;
  max-height: 85%;
  max-width: 85%;
}
.services__item:hover .services__item-icon {
  background: rgba(255, 255, 255, 0.5);
}
.services__item-list {
  margin-bottom: auto;
}
.services__item-list li + li {
  margin-top: 10px;
}
.services__item-list a {
  transition: all 0.3s ease-in-out;
}
.services__item-list a:hover {
  color: #20AD96;
}
.services__item-mlink {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  color: #ABADB8;
  font-weight: 500;
  transition: all 0.3s ease-in-out;
}
.services__item-mlink:hover {
  color: #20AD96;
}
.services__item-mlink__arrow {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 100%;
  transition: all 0.3s ease-in-out;
}
.services__item-mlink__arrow .icon {
  width: 45%;
}
.services__item-mlink:hover .services__item-mlink__arrow {
  border-color: #20AD96;
}
.services__item-buttons {
  margin-top: 20px;
}
@media (max-width: 1199.98px) {
  .services__item {
    padding: 20px;
  }
  .services__item-icon {
    width: 42px;
    height: 42px;
  }
  .services__item-mlink {
    justify-content: flex-end;
  }
  .services__item-buttons {
    margin-top: 10px;
  }
}
@media (max-width: 1023.98px) {
  .services__head .section__intro {
    font-size: 18px;
    margin-top: 30px;
  }
  .services__items {
    grid-template-columns: 1fr 1fr;
    grid-gap: 40px;
    max-width: 668px;
    margin: 0 auto;
  }
}
@media (max-width: 767.98px) {
  .services__items {
    grid-gap: 20px;
  }
}
@media (max-width: 609.98px) {
  .services__head .section__head {
    margin-bottom: 0;
  }
  .services__head .section__intro {
    font-size: 15px;
    margin-top: 20px;
  }
  .services__items {
    grid-template-columns: 1fr;
  }
  .services__item.item--smile {
    text-align: center;
  }
}

.dservices__cols {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 0 20px;
}
.dservices__photo {
  grid-row: span 2;
}
.dservices__photo-wrap {
  width: 420px;
  height: 420px;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  flex: 0 0 auto;
}
.dservices__photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.dservices__tags {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.dservices__tag {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  border-radius: 50px;
  background: #F7F8FC;
  transition: all 0.3s ease-in-out;
}
.dservices__tag:hover {
  background: #E5F3F1;
}
.dservices__tag-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}
.dservices__tag-icon img {
  max-height: 24px;
}
.dservices__content {
  margin-top: 30px;
  padding: 40px;
  border-radius: 20px;
  background: #F7F8FC;
}
.dservices__content.content--v-list p, .dservices__content .content--v-list p {
  max-width: 70%;
}
.dservices__content.content--v-list li, .dservices__content .content--v-list li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
  break-inside: avoid-column;
}
.dservices__content.content--v-cols, .dservices__content .content--v-cols {
  column-count: 2;
  column-gap: 20px;
}
.dservices__content > * + * {
  margin-top: 30px;
}
.dservices__bottom {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
}
.dservices__bottom-text {
  max-width: 860px;
}
@media (max-width: 1399.98px) {
  .dservices__photo-wrap {
    width: 320px;
    height: 320px;
  }
  .dservices__tags {
    margin-top: 20px;
  }
}
@media (max-width: 1199.98px) {
  .dservices__content {
    padding: 20px;
  }
}
@media (max-width: 1023.98px) {
  .dservices__photo {
    grid-row: initial;
  }
  .dservices__photo-wrap {
    width: 280px;
    height: 280px;
  }
  .dservices__tags {
    grid-column: span 2;
  }
  .dservices__tag {
    padding: 10px 20px;
    font-size: 15px;
  }
  .dservices__tag-icon {
    width: 16px;
    height: 16px;
  }
  .dservices__content p {
    max-width: 100% !important;
  }
  .dservices__content ul, .dservices__content ol {
    column-count: initial !important;
  }
  .dservices__content.content--v-cols, .dservices__content .content--v-cols {
    column-count: initial !important;
  }
  .dservices__content > * + * {
    margin-top: 20px;
  }
}
@media (max-width: 767.98px) {
  .dservices__cols {
    display: block;
  }
  .dservices__photo {
    margin-top: 20px;
    max-width: 480px;
  }
  .dservices__photo-wrap {
    width: 100%;
    height: auto;
    padding-bottom: 100%;
  }
  .dservices__tags {
    grid-column: initial;
    gap: 10px;
  }
  .dservices__tag {
    padding: 10px;
    font-size: 13px;
  }
  .dservices__tag-icon {
    width: 12px;
    height: 12px;
  }
  .dservices__content {
    margin: 40px -20px 0;
  }
  .dservices__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .dservices__bottom-buttons {
    width: 100%;
  }
}
@media (max-width: 359.98px) {
  .dservices__content {
    margin-left: -15px;
    margin-right: -15px;
  }
}

/**************************************************************
Наши специалисты
**************************************************************/
.team {
  overflow: hidden;
}
.team__mw {
  max-width: 1200px;
  margin: 0 auto;
}
.team__header {
  margin-bottom: 40px;
  display: flex;
  align-items: flex-end;
  gap: 20px;
}
.team__head {
  padding-bottom: 20px;
}
.team__hcard {
  width: 62%;
  flex: 0 0 auto;
}
.team__carousel {
  margin: 0 -15px 0px;
  padding: 0 15px 15px;
}
.team__carousel.carousel--main {
  overflow: initial;
}
.team__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 60px;
}
.team__item {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all 0.3s ease-in-out;
}
.team__item.item--lg {
  flex: 0 0 auto;
  flex-direction: row-reverse;
  align-items: flex-end;
  gap: 60px;
}
.team__item:hover {
  box-shadow: 8px 8px 8px 0px rgba(170, 185, 183, 0.2);
  background: #fff;
}
.team__item-photo {
  position: relative;
  padding-bottom: 100%;
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}
.team__item-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.team__item.item--lg .team__item-photo {
  width: 48%;
  padding-bottom: 48%;
}
.team__item:hover .team__item-photo {
  border-radius: 0;
}
.team__item-info {
  padding: 20px;
  flex: 1 0 0;
  transition: all 0.3s ease-in-out;
}
.team__item-text {
  margin-top: 20px;
}
.team__item-mlink {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #ABADB8;
  font-weight: 500;
  transition: all 0.3s ease-in-out;
}
.team__item-mlink:hover {
  color: #20AD96;
}
.team__item-mlink__arrow {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 100%;
  transition: all 0.3s ease-in-out;
}
.team__item-mlink__arrow .icon {
  width: 45%;
}
.team__item-mlink:hover .team__item-mlink__arrow {
  border-color: #20AD96;
}
@media (max-width: 1199.98px) {
  .team__hcard {
    width: 58%;
  }
  .team__items {
    grid-gap: 30PX;
  }
  .team__item.item--lg {
    gap: 10px;
  }
  .team__item.item--lg .team__item-photo {
    width: 51%;
    padding-bottom: 51%;
  }
}
@media (max-width: 1023.98px) {
  .team__mw {
    max-width: 630px;
  }
  .team__header {
    margin-bottom: 20px;
  }
  .team__head {
    padding: 0;
  }
  .team__items {
    grid-template-columns: 1fr 1fr;
  }
  .team__carousel {
    overflow: initial;
  }
  .team__carousel .swiper-pagination {
    margin-top: 8px;
  }
  .team__carousel .swiper-slide {
    width: 300px !important;
  }
}
@media (max-width: 609.98px) {
  .team__items {
    grid-template-columns: 1fr;
    grid-gap: 20px;
    max-width: 480px;
    margin: 0 auto;
  }
}
@media (max-width: 359.98px) {
  .team__carousel .swiper-slide {
    width: 280px !important;
  }
}

.dteam__cols {
  display: flex;
  gap: 80px;
}
.dteam__cont {
  margin-top: 50px;
}
.dteam__photo {
  flex: 0 0 auto;
  width: 420px;
  height: 500px;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}
.dteam__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.dteam__info {
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.dteam__props {
  margin-top: 20px;
  max-width: 630px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 10px 20px;
}
.dteam__props-col {
  max-width: 250px;
}
.dteam__prop + .dteam__prop {
  margin-top: 10px;
}
.dteam__prop-label {
  margin-bottom: 5px;
  color: #ABADB8;
}
.dteam__prop li + li {
  margin-top: 5px;
}
.dteam__buttons {
  padding-top: 30px;
}
.dteam__text {
  column-count: 2;
  column-gap: 20px;
}
@media (max-width: 1399.98px) {
  .dteam__cols {
    gap: 30px;
  }
  .dteam__props {
    max-width: 500px;
    margin-top: 40px;
  }
  .dteam__buttons {
    margin-top: auto;
  }
}
@media (max-width: 1023.98px) {
  .dteam__cols {
    gap: 20px;
    align-items: flex-start;
  }
  .dteam__photo {
    width: 350px;
    height: 420px;
  }
  .dteam__props {
    margin-top: 20px;
    flex-direction: column;
    gap: 20px;
  }
  .dteam__props-col {
    max-width: 100%;
  }
  .dteam__props-col.col--first {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
  }
  .dteam__prop {
    margin: 0 !important;
  }
  .dteam__prop-label {
    margin-bottom: 8px;
  }
  .dteam__prop li + li {
    margin-top: 8px;
  }
  .dteam__buttons {
    padding-top: 20px;
  }
  .dteam__cont {
    margin-top: 20px;
  }
  .dteam__text {
    column-count: 1;
  }
}
@media (max-width: 767.98px) {
  .dteam__cols {
    flex-direction: column;
    gap: 10px;
  }
  .dteam__info {
    width: 100%;
  }
  .dteam__props {
    margin-top: 10px;
    gap: 10px;
  }
  .dteam__props-col.col--first {
    grid-gap: 10px 20px;
  }
  .dteam__prop {
    margin: 0 !important;
  }
  .dteam__prop-label {
    margin-bottom: 4px;
  }
  .dteam__prop li + li {
    margin-top: 4px;
  }
  .dteam__info .dteam__buttons {
    display: block !important;
    width: 100%;
  }
}
@media (max-width: 478.98px) {
  .dteam__photo {
    width: 300px;
    height: 356px;
  }
}

/**************************************************************

**************************************************************/
.callback__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px;
}
.callback__cols {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.callback__photo {
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  padding-bottom: 100%;
}
.callback__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.callback__form {
  padding: 40px;
  position: relative;
  z-index: 2;
}
.callback__form::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background: #E5F3F1;
  z-index: -1;
  content: "";
}
.callback__form.form--sm {
  width: 420px;
  flex: 0 0 auto;
  padding: 30px;
}
.callback__bear {
  position: absolute;
  top: 30%;
  right: 20px;
  width: 250px;
  z-index: -1;
  transition: all 0.5s;
}
.callback__bear.active {
  transform: translate(60%, -30%);
}
.callback__bear svg {
  transform: rotate(40deg);
  width: 100%;
  height: auto;
}
@media (max-width: 1699.98px) {
  .callback__bear {
    top: 0;
    right: 30%;
  }
  .callback__bear.active {
    transform: translate(0, -40%);
  }
  .callback__bear svg {
    transform: initial;
  }
}
@media (max-width: 1199.98px) {
  .callback__form {
    padding: 30px;
  }
  .callback__form .section__head {
    margin-bottom: 20px;
  }
  .callback__form .section__intro {
    margin-top: 0;
  }
  .callback__form .btn + .section__intro {
    margin-top: 20px;
  }
  .callback__form.form--sm {
    width: 380px;
    padding: 20px;
  }
  .callback__bear {
    width: 200px;
    right: 20px;
  }
}
@media (max-width: 1023.98px) {
  .callback__form {
    padding: 20px;
  }
  .callback__form .section__head {
    margin-bottom: 10px;
  }
  .callback__form .btn + .section__intro {
    margin-top: 10px;
  }
  .callback__form.form--sm {
    width: 350px;
    padding: 20px;
  }
  .callback__bear {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .callback__inner {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin: 0 auto;
  }
  .callback__cols {
    flex-direction: column;
    align-items: center;
  }
  .callback__form.form--sm {
    width: auto;
    max-width: 480px;
    margin: 0 -20px;
  }
}
@media (max-width: 478.98px) {
  .callback .section__head {
    text-align: left;
  }
}
@media (max-width: 359.98px) {
  .callback__form.form--sm {
    margin: 0 -15px;
  }
}

/**************************************************************

**************************************************************/
.ask__inner {
  padding: 50px 65px;
  background: #E5F3F1;
  border-radius: 20px;
}
.ask__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0 12px;
}
.ask .form__policy {
  color: #ABADB8;
}
@media (max-width: 1199.98px) {
  .ask__inner {
    margin: 0 -20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1023.98px) {
  .ask {
    margin-bottom: 0 !important;
  }
  .ask .container {
    max-width: 100% !important;
    padding: 0 !important;
  }
  .ask__inner {
    margin: 0 !important;
    padding: 40px 20px;
    border-radius: 20px 20px 0 0;
  }
}
@media (max-width: 767.98px) {
  .ask__cols {
    display: block;
    max-width: 480px;
    margin: 0 auto;
  }
}

/**************************************************************
Отзывы 
**************************************************************/
.reviews {
  position: relative;
}
.reviews__inner {
  background: #F7F8FC;
  border-radius: 10px;
  padding: 90px 40px 40px;
  margin: 0 -40px;
  position: relative;
}
@media (min-width: 1700px) {
  .reviews__inner.inner--wall {
    padding-left: 30px;
    padding-right: 30px;
    margin: 0 0 0 30px;
    border-radius: 10px;
  }
}
.reviews__inner::before {
  width: 100px;
  height: 80px;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-30%, -25%);
  background: url(../images/icons/quotes.svg) no-repeat;
  background-size: 100%;
  content: "";
}
.reviews__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px;
}
.reviews__item {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  background: #FFF;
  padding: 20px;
  position: relative;
}
.reviews__item.h-all {
  height: 100%;
}
.reviews__item.item--answer {
  margin: 12px 0 0 30px;
  background: #F8FFFE;
}
.reviews__item.item--answer::before {
  position: absolute;
  top: 0;
  left: -30px;
  width: 24px;
  height: 24px;
  background: url(../images/icons/reply.svg) no-repeat center;
  background-size: 100%;
  content: "";
}
.reviews__item-text {
  display: -webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.reviews__item:not(.h-all) .reviews__item-text {
  -webkit-line-clamp: 3;
}
.reviews__item-lmore {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}
.reviews__item-lmore .icon {
  width: 13px;
  height: 13px;
}
.reviews__item-top {
  margin-bottom: auto;
  display: flex;
  align-items: center;
  gap: 15px;
  padding-bottom: 30px;
}
.reviews__item-bottom {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 15px;
  padding-top: 30px;
}
.reviews__item-photo {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  border-radius: 100%;
  overflow: hidden;
  position: relative;
}
.reviews__item-photo.w--lg {
  width: 50px;
  border-radius: 0;
}
.reviews__item-photo:not(.w--lg) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.reviews__item-name {
  flex: 1 0 0;
}
.reviews__item-name.light {
  font-weight: 300;
}
.reviews__item-date {
  font-size: 14px;
  color: #ABADB8;
}
.reviews__masonry {
  margin: 0 -20px -20px;
}
.reviews__masonry-item {
  width: 50%;
  padding: 0 10px 20px;
}
@media (max-width: 1699.98px) {
  .reviews__inner {
    padding-left: 30px;
    padding-right: 30px;
    margin: 0 0 0 30px;
    border-radius: 20px;
  }
}
@media (max-width: 1399.98px) {
  .reviews__inner {
    padding: 70px 30px 36px;
    margin: 0 0 0 20px;
  }
  .reviews__inner::before {
    width: 70px;
    height: 55px;
    transform: initial;
    left: -18px;
    top: -11px;
  }
}
@media (max-width: 1023.98px) {
  .reviews__inner {
    padding: 40px 20px;
    margin: 0;
  }
  .reviews__inner::before {
    width: 54px;
    height: 43px;
  }
  .reviews__masonry {
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media (max-width: 767.98px) {
  .reviews__inner.inner--wall {
    background: none;
    padding: 0 !important;
    margin: 0 !important;
  }
  .reviews__inner.inner--wall::before {
    display: none;
  }
  .reviews__inner.inner--wall .reviews__item {
    background: #F7F8FC;
  }
  .reviews__masonry {
    margin: 0 0 -20px;
  }
  .reviews__masonry-item {
    width: 100%;
    padding: 0 0 20px;
  }
}
@media (max-width: 609.98px) {
  .reviews__inner {
    margin: 0 -20px;
    padding-bottom: 46px;
  }
  .reviews__inner::before {
    width: 38px;
    height: 30px;
    left: 0;
    top: -15px;
  }
  .reviews__nav {
    position: absolute;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 359.98px) {
  .reviews__inner {
    margin: 0 -15px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 30px;
  }
}

/**************************************************************
Мы в соцсетях
**************************************************************/
.wesocial__photos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 20px;
}
.wesocial__head {
  grid-column: span 2;
}
.wesocial__intro {
  max-width: 380px;
}
.wesocial__buttons {
  margin-top: 20px;
}
.wesocial__insta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 330px;
  border-radius: 100px;
  background: #F7F8FC;
  padding: 10px 20px 10px 10px;
  transition: all 0.3s ease-in-out;
}
.wesocial__insta:hover {
  background: #E5F3F1;
}
.wesocial__insta-icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  background: #090A0C;
  border-radius: 100%;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wesocial__photo {
  padding-bottom: 100%;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.wesocial__photo img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.wesocial__smile {
  display: flex;
  align-items: flex-end;
}
@media (max-width: 1023.98px) {
  .wesocial .section__head {
    margin-bottom: 10px;
  }
  .wesocial__photos {
    grid-gap: 10px;
  }
  .wesocial__buttons {
    margin-top: 16px;
  }
  .wesocial__insta {
    min-width: 300px;
  }
}
@media (max-width: 767.98px) {
  .wesocial__photos {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
  }
  .wesocial__head {
    grid-column: span 3;
  }
}
@media (max-width: 478.98px) {
  .wesocial__photos {
    grid-template-columns: repeat(2, 1fr);
  }
  .wesocial__head {
    grid-column: span 2;
  }
  .wesocial__insta {
    width: 100%;
  }
}

/**************************************************************

**************************************************************/
.faq__items {
  max-width: 1000px;
  margin: 0 auto;
}
.faq__item {
  padding: 20px 40px;
  background: #F7F8FC;
  border-radius: 10px;
  transition: all 0.3s ease-in-out;
}
.faq__item.opened {
  background: #E5F3F1;
  padding-top: 40px;
  padding-bottom: 40px;
}
.faq__item + .faq__item {
  margin-top: 20px;
}
.faq__item-head {
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  padding-right: 140px;
  position: relative;
}
.faq__item-title {
  transition: all 0.3s ease-in-out;
  min-height: 60px;
  display: flex;
  align-items: center;
}
.faq__item.opened .faq__item-title {
  min-height: 0px;
}
.faq__item-plus {
  position: absolute;
  right: 0;
  top: 0;
  flex: 0 0 auto;
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 100%;
  color: #413A7D;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease-in-out;
  transform: rotate(90deg);
}
.faq__item-plus .icon {
  width: 35%;
  height: 35%;
}
.faq__item.opened .faq__item-plus .icon {
  transform: scale(-1, 1);
}
.faq__item-body {
  overflow: hidden;
  opacity: 0;
  max-height: 0px;
  transition: all 0.3s ease-in-out;
}
.faq__item.opened .faq__item-body {
  opacity: 1;
}
.faq__item-text {
  padding-right: 80px;
  padding-top: 20px;
}
@media (max-width: 1399.98px) {
  .faq__item {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
@media (max-width: 767.98px) {
  .faq__item {
    padding: 20px !important;
  }
  .faq__item + .faq__item {
    margin-top: 10px;
  }
  .faq__item-head {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .faq__item-title {
    min-height: 30px;
    font-size: 15px;
  }
  .faq__item-plus {
    width: 30px;
    height: 30px;
    position: static;
  }
  .faq__item-text {
    padding: 16px 0 0;
  }
}

/**************************************************************

**************************************************************/
.ordform__inner {
  position: relative;
  border-radius: 10px;
  margin: 0 auto;
  width: 100%;
  max-width: 1600px;
  background: #20AD96;
  color: #fff;
}
.ordform__form {
  max-width: 490px;
  margin-left: 110px;
  padding: 60px 0;
}
.ordform__form form {
  max-width: 430px;
}
.ordform__title {
  font-weight: normal;
}
.ordform__img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50%;
  height: 100%;
}
.ordform__img-cbg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.ordform__img-cbg::before {
  width: 600px;
  height: 600px;
  position: absolute;
  right: 0;
  bottom: -75px;
  border-radius: 601px;
  background: #CFFFF7;
  filter: blur(100px);
  opacity: 0.4;
  content: "";
}
.ordform__img img {
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: 110%;
  z-index: 2;
}
.ordform__img svg {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translate(-50%, 0%);
  max-width: 110%;
  height: 110%;
  z-index: 2;
  width: 100%;
}
@media (max-width: 1699.98px) {
  .ordform__img img {
    max-width: 100%;
  }
}
@media (max-width: 1199.98px) {
  .ordform__form {
    padding: 40px 0;
    margin-left: 20px;
    max-width: 430px;
  }
  .ordform__img {
    width: calc(100% - 430px);
  }
  .ordform__img-cbg::before {
    width: 460px;
    height: 460px;
    bottom: 50%;
    transform: translateY(50%);
  }
  .ordform__img img {
    right: 0;
    left: auto;
  }
}
@media (max-width: 1023.98px) {
  .ordform__form {
    padding: 40px 0 17px;
    margin: 0;
    max-width: 360px;
  }
  .ordform__form form {
    max-width: 320px;
  }
  .ordform__title {
    font-size: 40px;
  }
  .ordform .section__intro {
    max-width: 320px;
  }
  .ordform__img {
    right: -20px;
    height: calc(100% + 30px);
    width: calc(100% - 360px);
  }
  .ordform__img-cbg::before {
    width: 340px;
    height: 340px;
  }
  .ordform__img-wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .ordform__img img {
    right: auto;
    left: 0;
    max-width: 110%;
    max-height: 100%;
  }
  .ordform__img svg {
    width: 90%;
  }
}
@media (max-width: 767.98px) {
  .ordform__inner {
    border-radius: 10px 10px 0 0;
    overflow: hidden;
  }
  .ordform__form {
    padding: 40px 0;
    max-width: 480px;
  }
  .ordform__form form {
    max-width: 480px;
  }
  .ordform__title {
    font-size: 28px;
  }
  .ordform__img {
    position: relative;
    right: auto;
    height: auto;
    margin: 0 -20px;
    width: calc(100% + 40px);
    display: flex;
    justify-content: center;
  }
  .ordform__img-wrap {
    overflow: initial;
    max-width: 400px;
    margin: 0 auto;
    position: static;
  }
  .ordform__img img {
    width: 110%;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .ordform__img svg {
    position: relative;
    transform: translateX(-50%);
    width: 60%;
  }
}
@media (max-width: 359.98px) {
  .ordform__img {
    margin: 0 -20px;
    width: calc(100% + 40px);
  }
}

/**************************************************************

**************************************************************/
.about__photo {
  margin: 0 -50px 50px;
  padding-bottom: 48%;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}
.about__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.about__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.about__cont {
  padding-left: 60px;
  padding-top: 15px;
}
.about__props {
  border-radius: 20px;
  padding: 40px;
  background: #F7F8FC;
  display: flex;
}
.about__prop {
  padding: 0 20px;
  min-width: 180px;
}
.about__prop + .about__prop {
  border-left: 1px solid #BFC2D3;
}
.about__prop-numb {
  font-size: 48px;
  font-family: "PP Pangram Sans";
  font-weight: 300;
  line-height: 1.3;
}
.about__prop-text {
  margin-top: 6px;
}
@media (max-width: 1399.98px) {
  .about__photo {
    margin: 0 0 20px;
    padding-bottom: 45%;
  }
  .about__prop {
    min-width: 130px;
    padding: 0 10px;
  }
  .about__prop-numb {
    font-size: 36px;
  }
}
@media (max-width: 1199.98px) {
  .about__cont {
    padding: 5px 0 0;
  }
}
@media (max-width: 1023.98px) {
  .about__cols {
    grid-template-columns: 1fr;
  }
  .about__props {
    max-width: 480px;
    padding: 20px;
  }
  .about__prop {
    min-width: 130px;
    padding: 0 10px;
  }
  .about__prop-numb {
    font-size: 28px;
  }
  .about__prop-text {
    font-size: 15px;
  }
}
@media (max-width: 609.98px) {
  .about__photo {
    border-radius: 10px;
  }
  .about__props {
    background: none;
    flex-direction: column;
    padding: 0;
    gap: 10px;
  }
  .about__prop {
    border-radius: 20px;
    padding: 10px 20px 10px 30px;
    background: #F7F8FC;
    border: none !important;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .about__prop-numb {
    transform: translateY(-3px);
  }
}

/**************************************************************

**************************************************************/
.photos__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 20px;
}
.photos__item {
  border-radius: 10px;
  padding-bottom: 100%;
  position: relative;
  overflow: hidden;
  grid-auto-flow: dense;
}
.photos__item.item--h-2 {
  grid-row: span 2;
}
.photos__item.item--w-2 {
  grid-column: span 2;
  padding-bottom: 50%;
}
.photos__item.item--w-2.item--h-2 {
  padding-bottom: 100%;
}
.photos__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 1199.98px) {
  .photos__items {
    grid-gap: 10px;
  }
}
@media (max-width: 767.98px) {
  .photos__items {
    grid-template-columns: 1fr 1fr;
  }
  .photos__item.item--last-mob {
    order: 10;
  }
}

/**************************************************************

**************************************************************/
.store__cinfo {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  margin-bottom: 30px;
}
.store__text {
  max-width: 860px;
}
.store__action {
  padding: 0 40px 20px 0;
}
.store__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 20px;
}
.store__item {
  position: relative;
  padding: 20px 20px 40px;
  border-radius: 20px;
  background: #F7F8FC;
  text-align: center;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .store__item:hover {
    background: #E5F3F1;
  }
}
.store__item-photo {
  padding-bottom: 100%;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  position: relative;
  margin-bottom: 20px;
}
.store__item-photo img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: 100%;
}
.store__item-info {
  position: relative;
}
.store__item-buttons {
  position: absolute;
  top: 100%;
  left: -20px;
  right: -20px;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  background: #E5F3F1;
  border-radius: 0 0 20px 20px;
}
.store__item:hover .store__item-buttons {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 1199.98px) {
  .store__text {
    max-width: 660px;
  }
  .store__action {
    padding: 0;
  }
  .store__items {
    grid-gap: 17px;
  }
  .store__item {
    padding: 15px 15px 30px;
  }
  .store__item-photo {
    margin-bottom: 15px;
  }
  .store__item-title {
    font-size: 14px;
  }
  .store__item-buttons {
    padding: 15px;
    left: -15px;
    right: -15px;
  }
}
@media (max-width: 1023.98px) {
  .store__items {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
  }
  .store__scroll .store__item:nth-child(4) {
    display: none;
  }
  .store__item {
    padding: 15px;
    display: flex;
    flex-direction: column;
  }
  .store__item-info {
    flex: 1 0 0;
    display: flex;
    flex-direction: column;
  }
  .store__item-buttons {
    background: none !important;
    opacity: 1;
    visibility: visible;
    position: static;
    padding: 15px 0 0;
    margin-top: auto;
  }
}
@media (max-width: 767.98px) {
  .store {
    overflow: hidden;
  }
  .store__cinfo {
    margin-bottom: 20px;
  }
  .store__scroll {
    display: flex;
    gap: 20px;
    overflow: auto;
    margin: 0 -20px;
    padding: 0 20px;
  }
  .store__scroll .store__item {
    flex: 0 0 auto;
    width: 230px;
  }
  .store__item {
    display: flex !important;
  }
}

/**************************************************************

**************************************************************/
.prices__mw {
  max-width: 1200px;
  margin: 0 auto;
}
.prices__item + .prices__item {
  margin-top: 20px;
}
.prices__item-head {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  position: relative;
  padding: 20px 40px;
  background: #F7F8FC;
  border-radius: 20px;
  transition: all 0.3s ease-in-out;
}
.prices__item.opened .prices__item-head {
  background: #E5F3F1;
}
.prices__item-plus {
  flex: 0 0 auto;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  color: #090A0C;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease-in-out;
  transform: rotate(90deg);
}
.prices__item-plus .icon {
  width: 35%;
  height: 35%;
}
.prices__item.opened .prices__item-plus {
  background: #fff;
}
.prices__item.opened .prices__item-plus .icon {
  transform: scale(-1, 1);
}
.prices__item-body {
  overflow: hidden;
  opacity: 0;
  max-height: 0px;
  transition: all 0.3s ease-in-out;
}
.prices__item.opened .prices__item-body {
  opacity: 1;
}
.prices__item-content {
  padding-top: 20px;
}
.prices__row {
  border-radius: 20px;
  background: #F7F8FC;
  padding: 12px 30px;
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.prices__row + .prices__row {
  margin-top: 15px;
}
.prices__row-val {
  text-align: right;
}
.prices__rhead {
  padding-top: 22px;
  padding-bottom: 22px;
  background: #E5F3F1;
}
@media (max-width: 1399.98px) {
  .prices__item + .prices__item {
    margin-top: 10px;
  }
  .prices__item-head {
    padding: 10px 10px 10px 40px;
  }
  .prices__item-plus {
    width: 40px;
    height: 40px;
    background: #fff;
  }
  .prices__item-content {
    padding-top: 10px;
  }
}
@media (max-width: 1199.98px) {
  .prices__row + .prices__row {
    margin-top: 10px;
  }
}
@media (max-width: 767.98px) {
  .prices__row {
    padding: 12px;
    gap: 20px;
  }
  .prices__item + .prices__item {
    margin-top: 20px;
  }
  .prices__item-head {
    min-height: 60px;
    padding: 12px;
  }
  .prices__item-plus {
    width: 24px;
    height: 24px;
  }
}

/**************************************************************

**************************************************************/
.warning__inner {
  max-width: 1400px;
  margin: 0 auto;
  border-radius: 30px;
  overflow: hidden;
  position: relative;
  background: #F7F8FC;
  display: flex;
}
.warning__photo {
  width: 53%;
  flex: 0 0 auto;
  min-height: 565px;
  position: relative;
}
.warning__photo::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(270deg, #F7F8FC 0.13%, rgba(217, 217, 217, 0) 30%);
  z-index: 2;
  content: "";
}
.warning__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.warning__info {
  padding: 60px 40px 40px 84px;
  flex: 1 0 0;
}
.warning__text {
  margin-top: 20px;
}
.warning__text > * + * {
  margin-top: 10px;
}
.warning__phone {
  font-weight: 300;
  font-size: 16px;
  line-height: normal;
}
.warning__buttons {
  margin-top: 45px;
}
@media (max-width: 1399.98px) {
  .warning__inner {
    border-radius: 20px;
  }
}
@media (max-width: 1199.98px) {
  .warning__photo {
    min-height: 545px;
    width: 50%;
  }
  .warning__info {
    padding-left: 30px;
  }
}
@media (max-width: 1023.98px) {
  .warning__photo {
    min-height: 400px;
    width: 50%;
  }
  .warning__info {
    padding: 30px 20px 20px;
  }
  .warning__text {
    margin-top: 10px;
  }
  .warning__buttons {
    margin-top: 20px;
  }
}
@media (max-width: 609.98px) {
  .warning__inner {
    flex-direction: column;
  }
  .warning__photo {
    width: 100%;
    height: 454px;
  }
  .warning__photo::before {
    background: linear-gradient(0deg, #F7F8FC 0.13%, rgba(217, 217, 217, 0) 30%);
  }
  .warning__info {
    padding: 20px;
  }
}

/**************************************************************

**************************************************************/
.contacts__cols {
  display: flex;
  gap: 20px;
}
.contacts__info {
  flex: 0 0 auto;
  width: 41%;
  border-radius: 20px;
  background: #F7F8FC;
  padding: 40px;
}
.contacts__item + .contacts__item {
  margin-top: 24px;
}
.contacts__item-head {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.contacts__item-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contacts__item-icon img {
  max-width: 70%;
  max-height: 70%;
}
.contacts__item-val {
  padding-left: 50px;
}
.contacts__item-val + .contacts__item-val {
  margin-top: 10px;
}
.contacts__item-val a {
  transition: all 0.3s ease-in-out;
}
.contacts__item-val a:hover {
  color: #20AD96;
}
.contacts__map {
  flex: 1 0 0;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  padding-bottom: 30%;
}
.contacts__map > * {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 1199.98px) {
  .contacts__info {
    padding: 30px;
  }
  .contacts__item-head {
    margin-bottom: 3px;
  }
  .contacts__item-icon {
    width: 36px;
    height: 36px;
  }
}
@media (max-width: 1023.98px) {
  .contacts__cols {
    flex-direction: column;
  }
  .contacts__info {
    padding: 20px;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
  }
  .contacts__item {
    margin: 0 !important;
  }
  .contacts__item-val {
    padding-left: 46px;
  }
  .contacts__map {
    padding-bottom: 68%;
  }
}
@media (max-width: 609.98px) {
  .contacts__cols {
    margin: 0 -20px;
  }
  .contacts__info {
    grid-template-columns: 1fr;
  }
  .contacts__map {
    padding-bottom: 90%;
  }
}
@media (max-width: 359.98px) {
  .contacts__cols {
    margin: 0 -15px;
  }
}

/**************************************************************

**************************************************************/
/**************************************************************

**************************************************************/
.error404 .container {
  position: static;
}
.error404__img {
  position: absolute;
  bottom: 75px;
  top: 0;
  left: 20px;
  right: 20px;
  border-radius: 20px;
  overflow: hidden;
  z-index: -1;
}
.error404__img::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(217, 217, 217, 0.1);
  content: "";
  z-index: 2;
}
.error404__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.error404__inner {
  margin: 0 auto;
  max-width: 1540px;
  min-height: calc(var(--vh) * 100 - var(--hHeader));
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  padding-bottom: 105px;
  z-index: 1;
}
.error404__numb {
  font-size: 200px;
  font-weight: 800;
  line-height: 1;
}
.error404__text {
  max-width: 750px;
  margin: 0 auto;
  font-size: 24px;
}
.error404__buttons {
  margin-top: 20px;
}
@media (max-width: 1699.98px) {
  .error404__inner {
    padding-bottom: 40px;
  }
  .error404__img {
    bottom: 20px;
  }
  .error404__numb {
    font-size: 120px;
  }
  .error404__text {
    max-width: 500px;
    font-size: 18px;
  }
}
@media (max-width: 1023.98px) {
  .error404__inner {
    padding-bottom: 105px;
  }
  .error404__img {
    bottom: 75px;
  }
}
@media (max-width: 609.98px) {
  .error404__inner {
    min-height: 1px;
    padding-bottom: 20px;
    padding-top: 20px;
  }
  .error404__img {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    top: auto;
    padding-bottom: 57%;
    margin-bottom: 30px;
  }
  .error404__numb {
    font-size: 80px;
  }
  .error404__text {
    margin-top: 25px;
  }
  .error404__buttons {
    margin-top: 10px;
  }
}

/**************************************************************

**************************************************************/
.sert__inner {
  margin-left: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}
.sert__head {
  flex: 0 0 auto;
  width: 33%;
}
.sert__carousel {
  flex: 1 0 0;
  min-width: 1px;
}
.sert__item-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sert__item-wrap img {
  max-height: 300px;
}
@media (max-width: 1199.98px) {
  .sert__inner {
    margin-left: 0;
  }
}
@media (max-width: 1023.98px) {
  .sert__inner {
    display: block;
  }
  .sert__head {
    margin-bottom: 20px;
    width: 100%;
  }
}
@media (max-width: 609.98px) {
  .sert__carousel {
    margin: 0 -20px;
    padding: 0 20px;
  }
}

/**************************************************************

**************************************************************/
/**************************************************************

**************************************************************/
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9mb250cy5zY3NzIiwiX3Jlc2V0LnNjc3MiLCJpbmMvX3ZhcnMuc2NzcyIsIl9jb21tb24uc2NzcyIsImNvbW1vbi9fY29udGVudC5zY3NzIiwiY29tbW9uL19zZWN0aW9uLnNjc3MiLCJjb21tb24vX2VsZW1lbnRzLnNjc3MiLCJfbGlicy5zY3NzIiwiX2Zvcm1zLnNjc3MiLCJpbmMvX21peGlucy5zY3NzIiwiX3BvcHVwLnNjc3MiLCJfaGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19tZW51LnNjc3MiLCJjb21wb25lbnRzL19uYXZmaXguc2NzcyIsIl9mb290ZXIuc2NzcyIsInN0eWxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBS0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBS0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUNwR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQSxhQzFCRztFRDJCSCxPQ3BCUztFRHFCVDtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlDN0JNOztBRDhCTjtFQVZKO0lBV1E7OztBQUVKO0VBYko7SUFjUTs7OztBQUdSO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0U7OztBQUdGO0VBQ0k7RUFDQTtFQUNB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XG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnR2lscm95JztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9HaWxyb3kvR2lscm95LVJlZ3VsYXIuZW90Jyk7XHJcbiAgICBzcmM6IGxvY2FsKCdHaWxyb3kgUmVndWxhcicpLCBsb2NhbCgnR2lscm95LVJlZ3VsYXInKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktUmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnR2lscm95JztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9HaWxyb3kvR2lscm95LUJvbGQuZW90Jyk7XHJcbiAgICBzcmM6IGxvY2FsKCdHaWxyb3kgQm9sZCcpLCBsb2NhbCgnR2lscm95LUJvbGQnKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ0dpbHJveSc7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1MaWdodC5lb3QnKTtcclxuICAgIHNyYzogbG9jYWwoJ0dpbHJveSBMaWdodCcpLCBsb2NhbCgnR2lscm95LUxpZ2h0JyksXHJcbiAgICAgICAgdXJsKCcuLi9mb250cy9HaWxyb3kvR2lscm95LUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgdXJsKCcuLi9mb250cy9HaWxyb3kvR2lscm95LUxpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgdXJsKCcuLi9mb250cy9HaWxyb3kvR2lscm95LUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdHaWxyb3knO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktU2VtaWJvbGQuZW90Jyk7XHJcbiAgICBzcmM6IGxvY2FsKCdHaWxyb3kgU2VtaWJvbGQnKSwgbG9jYWwoJ0dpbHJveS1TZW1pYm9sZCcpLFxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1TZW1pYm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1TZW1pYm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktU2VtaWJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1TZW1pYm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnR2lscm95JztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9HaWxyb3kvR2lscm95LU1lZGl1bS5lb3QnKTtcclxuICAgIHNyYzogbG9jYWwoJ0dpbHJveSBNZWRpdW0nKSwgbG9jYWwoJ0dpbHJveS1NZWRpdW0nKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktTWVkaXVtLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgdXJsKCcuLi9mb250cy9HaWxyb3kvR2lscm95LU1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktTWVkaXVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdHaWxyb3knO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktUmVndWxhckl0YWxpYy5lb3QnKTtcclxuICAgIHNyYzogbG9jYWwoJ0dpbHJveSBSZWd1bGFyIEl0YWxpYycpLCBsb2NhbCgnR2lscm95LVJlZ3VsYXJJdGFsaWMnKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktUmVndWxhckl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1SZWd1bGFySXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvR2lscm95L0dpbHJveS1SZWd1bGFySXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktUmVndWxhckl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnR2lscm95JztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9HaWxyb3kvR2lscm95LUJvbGRJdGFsaWMuZW90Jyk7XHJcbiAgICBzcmM6IGxvY2FsKCdHaWxyb3kgQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ0dpbHJveS1Cb2xkSXRhbGljJyksXHJcbiAgICAgICAgdXJsKCcuLi9mb250cy9HaWxyb3kvR2lscm95LUJvbGRJdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktQm9sZEl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dpbHJveS9HaWxyb3ktQm9sZEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgdXJsKCcuLi9mb250cy9HaWxyb3kvR2lscm95LUJvbGRJdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnUFAgUGFuZ3JhbSBTYW5zJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9QUFBhbmdyYW1TYW5zL1BQUGFuZ3JhbVNhbnMtTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICAgICAgdXJsKCcuLi9mb250cy9QUFBhbmdyYW1TYW5zL1BQUGFuZ3JhbVNhbnMtTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnUFAgUGFuZ3JhbSBTYW5zJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9QUFBhbmdyYW1TYW5zL1BQUGFuZ3JhbVNhbnMtQ29tcGFjdFJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICAgICAgdXJsKCcuLi9mb250cy9QUFBhbmdyYW1TYW5zL1BQUGFuZ3JhbVNhbnMtQ29tcGFjdFJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxufSIsIioge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBlbSwgaW1nLCBzdHJvbmcsIHN1Yiwgc3VwLCBiLCB1LCBpLCAgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCB0YWJsZSwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgZm9udC1zaXplOiAxMDAlO1xyXG59XHJcbmhlYWRlciwgbmF2LCBzZWN0aW9uLCBhcnRpY2xlLCBhc2lkZSwgZm9vdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuaHRtbCB7ICBcclxuICAgIGhlaWdodDoxMDAlOyBcclxufVxyXG5ib2R5IHsgIFxyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7IFxyXG4gICAgaGVpZ2h0OjEwMCU7IFxyXG4gICAgZm9udC1mYW1pbHk6ICRmb250OyBcclxuICAgIGNvbG9yOiAkY29sb3ItYm9keTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgYmFja2dyb3VuZDogJGJnLWJvZHk7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxufVxyXG5ib2R5ICosXHJcbmJvZHkgKjpiZWZvcmUsXHJcbmJvZHkgKjphZnRlciB7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyBcclxufVxyXG5cclxuaW1nIHsgXHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG59XHJcblxyXG51bCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuYSB7IFxyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxyXG4gICAgbWFyZ2luOiAwOyBwYWRkaW5nOiAwO1xyXG59XHJcbiIsIiRmb250OiAnR2lscm95Jywgc2Fucy1zZXJpZjtcclxuJGZvbnQtcGFuZ3JhbTogJ1BQIFBhbmdyYW0gU2Fucyc7XHJcblxyXG4kYmctYm9keTogI0ZGRjtcclxuLy8kYmctZ3JheS1saWdodDogI0Y4RkFGQztcclxuJGJnLWdyYXktbGlnaHQ6ICNGN0Y4RkM7XHJcblxyXG4kY29sb3ItYm9keTogIzA5MEEwQztcclxuJGNvbG9yLXZpb2xldDogIzQxM0E3RDtcclxuJGNvbG9yLWdyZWVuOiAjMjBBRDk2O1xyXG4kY29sb3ItZ3JlZW4taG92ZXI6ICMxMjgxNkY7XHJcbiRjb2xvci1saWdodC1ncmVlbjogI0U1RjNGMTtcclxuJGNvbG9yLXllbGxvdzogI0ZFQzg0QjtcclxuJGNvbG9yLWdyYXk6ICNBQkFEQjg7XHJcbiRjb2xvci1saWdodC1ncmF5OiAjRjdGOEZDO1xyXG4kY29sb3ItZXJyb3I6ICNFRjc0ODk7XHJcblxyXG5cclxuXHJcbiR3aWR0aC1jb250YWluZXI6IDEzMDBweDtcclxuJHBkLWNvbnRhaW5lcjogMjBweDtcclxuJHBkLWNvbnRhaW5lci1zbXg6IDE1cHg7XHJcblxyXG4kbWQtZGVza3RvcC1sZzogMTY5OS45OHB4O1xyXG4kbWQtZGVza3RvcC1tZDogMTM5OS45OHB4O1xyXG4kbWQtZGVza3RvcDogMTE5OS45OHB4O1xyXG4kbWQtdGFibGV0OiAxMDIzLjk4cHg7XHJcbiRtZC10YWJsZXQtc206IDc2Ny45OHB4O1xyXG4kbWQtbW9iaWxlLWxnOiA2MDkuOThweDtcclxuJG1kLW1vYmlsZTogNDc4Ljk4cHg7XHJcbiRtZC1tb2JpbGUtc206IDM5OS45OHB4O1xyXG4kbWQtbW9iaWxlLXNteDogMzU5Ljk4cHg7XHJcblxyXG4kaGVhZGVyLWg6IDEwMHB4O1xyXG4kaGVhZGVyLWgtdDogODBweDtcclxuJGhlYWRlci1oLW06IDUwcHg7IiwiXHJcbi5jbGVhciB7IFxyXG4gICAgY2xlYXI6IGJvdGg7IFxyXG4gICAgaGVpZ2h0OiAwOyBcclxuICAgIG92ZXJmbG93OiBoaWRkZW47IFxyXG4gICAgZm9udC1zaXplOiAwO1xyXG59XHJcbi5jbGVhcmZpeDphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxufVxyXG4uY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAkd2lkdGgtY29udGFpbmVyOyBcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xyXG4gICAgICAgXHJcbiAgICB9XHRcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMTQwcHg7XHJcbiAgICB9XHRcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgIG1heC13aWR0aDogOTg0cHg7XHJcbiAgICB9XHRcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDcyOHB4O1xyXG4gICAgfVx0XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgJHBkLWNvbnRhaW5lcjtcclxuICAgIH1cdFxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbXgpIHtcclxuICAgICAgICBwYWRkaW5nOiAwICRwZC1jb250YWluZXItc214O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi53cmFwcGVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyAgXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgei1pbmRleDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgcGFkZGluZy10b3A6IHZhcigtLWhIZWFkZXIpO1xyXG59XHJcblxyXG4uY29udGVudF9fd3JhcHBlciB7XHJcbiAgICBmbGV4OiAxIDAgYXV0bztcclxufVxyXG5cclxuLnBkX19oZWFkZXIge1xyXG4gICAgcGFkZGluZy10b3A6IHZhcigtLWhIZWFkZXIpO1xyXG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLWhIZWFkZXIpKTtcclxufVxyXG5cclxuXHJcblxyXG4uaGlkZS1kZXNrdG9wLWxnIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4uaGlkZS1kZXNrdG9wLW1kIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4uaGlkZS1kZXNrdG9wIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4uaGlkZS10YWJsZXQge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLmhpZGUtdGFibGV0LXNtIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5oaWRlLW1vYmlsZS1sZyB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4uaGlkZS1tb2JpbGUtc214IHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNteCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4uc2hvdy1kZXNrdG9wIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQtZGVza3RvcCsgMC4wMnB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5zaG93LXRhYmxldCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kLXRhYmxldCsgMC4wMnB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5zaG93LXRhYmxldC1zbSB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kLXRhYmxldC1zbSsgMC4wMnB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5zaG93LW1vYmlsZS1sZyB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kLW1vYmlsZS1sZysgMC4wMnB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5zaG93LW1vYmlsZS1zbXgge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC1tb2JpbGUtc214KyAwLjAycHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ub3Njcm9sbCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubm93cmFwIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuLm5vLWRpc3BsYXkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG5cclxuQGltcG9ydCBcImNvbW1vbi9jb250ZW50XCI7XHJcbkBpbXBvcnQgXCJjb21tb24vc2VjdGlvblwiO1xyXG5AaW1wb3J0IFwiY29tbW9uL2VsZW1lbnRzXCI7IiwiXHJcbi5jb250ZW50X190ZXh0IHtcclxuXHJcbiAgICA+ICoge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDgwcHg7XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIH1cclxuICAgIGg0IHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICBoNSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG4gICAgdWwsXHJcbiAgICBvbCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIH1cclxuICAgIG9sIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IFxyXG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IG51bTtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdWwgbGk6YmVmb3JlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDBweDtcclxuICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTFweDsgXHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYm9keTtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBjb250ZW50OiAn4oCiJztcclxuICAgIH1cclxuICAgIG9sIGxpOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobnVtKSAnLic7IFxyXG4gICAgICBjb3VudGVyLWluY3JlbWVudDogbnVtO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHRcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDBweDtcclxuICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyBcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7ICAgICAgICAgICAgXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDY0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLnNlY3Rpb24ge1xyXG4gICAgJl9faGVhZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAmLmhjb2xzLFxyXG4gICAgICAgICYtY29scyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWNvbHMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFsLWNlbnRlciB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWwtZW5kIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1iLS1zbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWIwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpcGVyLW5hdiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGNvbHMgLnN3aXBlci1uYXYge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXBhbmdyYW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgICYuZnMtLXNtIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgJi5tdyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXQtLWxnIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tdC0tbWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm10LS1zbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWItLXNtIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGV4dC0tY2VudGVyICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICYubXQtLW1kIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19maXJzdCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJl9fbWcge1xyXG4gICAgICAgIG1hcmdpbjogMTUwcHggMDtcclxuICAgICAgICAmLS1tZCB7XHJcbiAgICAgICAgICBtYXJnaW46IDEwMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLXNtIHtcclxuICAgICAgICAgICBtYXJnaW46IDUwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19tZ2Ige1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xyXG4gICAgICAgICYtLW1kIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLXNtIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDEzMHB4IDA7XHJcbiAgICB9XHJcbiAgICAmX19wZHQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fYmcge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1ncmF5LWxpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6IDkwcHggMCA5MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fdGFiIHtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgJi5zaG93IHtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTAwcHggMDtcclxuICAgICAgICB9IFxyXG4gICAgICAgICZfX2JnIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW50cm8ge1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYubXQtLWxnIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgXHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICYuaGNvbHMge1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIC8vIGdhcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWNvbHMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2ludHJvIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgICAgXHJcbiAgICAgICAgICAgICYubXcge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1NDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogODBweCAwO1xyXG4gICAgICAgICAgICAmLS1tZCB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiA4MHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi0tc20ge1xyXG4gICAgICAgICAgICAgICBtYXJnaW46IDUwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgJl9fYmcge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICBcclxuICAgICAgICAmX19oZWFkIHtcclxuICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgKiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMDtcclxuICAgICAgICAgICAgJi0tbWQge1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogNDBweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtLXNtIHtcclxuICAgICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlKSB7XHJcbiAgICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7ICAgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDsgICBcclxuICAgIH1cclxufVxyXG4udGV4dCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi50ZXh0LS1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi50ZXh0LS13aGl0ZSB7XHJcbiAgICBjb2xvcjogI2ZmZmY7XHJcbn1cclxuLnRleHQtLXZpb2xldCB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXZpb2xldDtcclxufSIsIi5pY29uIHtcclxuICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xyXG4gICAgZmlsbDogbm9uZTtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICYtLWZpbGwge1xyXG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBzdHJva2U6IGluaXRpYWw7XHJcbiAgICB9XHJcbiAgICBwYXRoIHtcclxuICAgICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uc29jaWFsIHtcclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMzgzQjRCO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSAgIFxyXG5cclxuXHJcblxyXG5cclxuLy8gLnJhdGluZyB7XHJcbi8vIFx0bWFyZ2luOiAwIGF1dG87XHJcbi8vIFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbi8vICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbi8vICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbi8vICAgICBtYXJnaW46IDAgLTJweDtcclxuLy8gICAgIHNwYW4ge1xyXG4vLyAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgICAgICB0b3A6IC0xcHg7XHJcbi8vICAgICAgICAgd2lkdGg6IDE5cHg7IGhlaWdodDogMThweDtcclxuLy8gICAgICAgICBtYXJnaW46IDAgMnB4O1xyXG4vLyAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvc3Rhci5zdmcpIG5vLXJlcGVhdDtcclxuLy8gICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgJi5hY3RpdmUge1xyXG4vLyAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3N0YXItYWN0aXZlLnN2Zykgbm8tcmVwZWF0O1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuXHJcblxyXG5cclxuLmxpbmsge1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiBsaCgyNywgMjApO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLmljb24ge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgXHJcbiAgICB9XHJcbiAgICAmX19tb3JlIHtcclxuICAgICAgICAuY2xvc2VfdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9wZW5lZCAub3Blbl90IHtcclxuICAgICAgICAgICAgZGlzcGxheTpub25lXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub3BlbmVkIC5jbG9zZV90IHtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9ja1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweFxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAuY29udGVudF9fdG9nZ2xlIHtcclxuLy8gICAgID4gKiB7XHJcbi8vICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuLy8gICAgIH1cclxuLy8gICAgICYgPiA6bnRoLWNoaWxkKDEpLFxyXG4vLyAgICAgJiA+IDpudGgtY2hpbGQoMikge1xyXG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgfVxyXG4vLyAgICAgJi5vcGVuZWQgPiAqIHtcclxuLy8gICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4vLyAgICAgfVxyXG4vLyAgICAgJi0tbW9iaWxlIHtcclxuLy8gICAgICAgICA+ICoge1xyXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4vLyAgICAgICAgID4gKiB7XHJcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICAgICAgJiA+IDpudGgtY2hpbGQoMSkge1xyXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLmJyZWFkY3J1bWJzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uYnJlYWRjcnVtYnMge1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgNTBweDtcclxuXHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5O1xyXG4gICAgICAgICAgICBjb250ZW50OiAnLyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmX19saW5rIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcblxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLnBhZ2luYXRpb25cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5wYWdpbmF0aW9uIHtcclxuXHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGdhcDogMTZweDtcclxuICAgIC5wYWdlLWxpc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMTZweDtcclxuICAgIH1cclxuICAgIC5wYWdlLWl0ZW0uZGlzYWJsZWQge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAucGFnZS1saW5rIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1ncmF5LWxpZ2h0O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY3RpdmUgLnBhZ2UtbGluayB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAucGFnZS1pdGVtLmRpc2FibGVkIHtcclxuICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLnBhZ2UtaXRlbS5kaXNhYmxlZCAucGFnZS1saW5rIHtcclxuICAgICAgICAvLyBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgIFxyXG4gICAgfVxyXG4gICAgLnBhZ2UtbmV4dCAucGFnZS1saW5rLCAucGFnZS1wcmV2IC5wYWdlLWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdmlvbGV0O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5wYWdlLW5leHQgLmljb24ge1xyXG4gICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpO1xyXG4gICAgfVxyXG4gICAgLnBhZ2UtcHJldiAuaWNvbiB7XHJcbiAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpO1xyXG4gICAgfVxyXG4gICAgLnBhZ2UtbGFzdCwgLnBhZ2UtZmlyc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLnNtaWxlXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGEwX2RvIHsgMCUgeyBzdHJva2UtZGFzaG9mZnNldDogNTUzLjk1cHg7IH0gNDIuMjglIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDBweDsgfSAxMDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDBweDsgfSB9XHJcbkBrZXlmcmFtZXMgYTFfdCB7IDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTkzLjM1cHgsMTEuOTlweCkgcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDE3OS4yOXB4LC0yLjA3cHgpOyB9IDQwLjIlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTkzLjM1cHgsMTEuOTlweCkgcm90YXRlKDBkZWcpIHRyYW5zbGF0ZSgxNzkuMjlweCwtMi4wN3B4KTsgfSA0Ni4zNiUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxOTMuMzVweCwtMjEuMDFweCkgcm90YXRlKDBkZWcpIHRyYW5zbGF0ZSgxNzkuMjlweCwtMi4wN3B4KTsgfSAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTkzLjM1cHgsLTIxLjAxcHgpIHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGUoMTc5LjI5cHgsLTIuMDdweCk7IH0gfSIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5zd2lwZXJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5zd2lwZXIge31cclxuXHJcbi5zd2lwZXItc2xpZGUge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLnN3aXBlci1wYWdpbmF0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gICYtYWZ0ZXJ7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgbWFyZ2luLXRvcDogMjhweDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuICAmLWJ1bGxldCB7XHJcbiAgICBtYXJnaW46IDAgN3B4ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTBweDtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIGJhY2tncm91bmQ6ICNFMUUyRTg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYWZ0ZXIgJiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNFMUUyRTg7XHJcbiAgICB9XHJcbiAgICAmLWFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci12aW9sZXQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zd2lwZXItcGFnaW5hdGlvbi15ZWxsb3cgJi1hY3RpdmV7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci15ZWxsb3cgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICYtYnVsbGV0IHtcclxuICAgICAgd2lkdGg6IDhweDsgaGVpZ2h0OiA4cHg7XHJcbiAgICAgIG1hcmdpbjogMCAycHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zd2lwZXItYnV0dG9uIHtcclxuICB3aWR0aDogNjBweDtcclxuICBoZWlnaHQ6IDYwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICYtbmV4dCB7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xyXG4gIH1cclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmljb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHdpZHRoOiAzNSU7XHJcbiAgfVxyXG5cclxuXHJcbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci12aW9sZXQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC8vIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5zd2lwZXItZnJhY3Rpb24ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi10b3RhbCB7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIG9wYWNpdHk6IDAuNztcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VycmVudCB7XHJcbiAgZm9udC1zaXplOiAzMnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIG1hcmdpbi1yaWdodDogNnB4O1xyXG59XHJcblxyXG5cclxuLnN3aXBlci1uYXYge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogMzVweDtcclxuICBnYXA6IDIwcHg7XHJcbiAgLnN3aXBlci1mcmFjdGlvbiB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxuICAuc3dpcGVyLWJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgdHJhbnNmb3JtOiBpbml0aWFsO1xyXG4gIH1cclxufVxyXG5cclxuLnN3aXBlci1zY3JvbGxiYXIge1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gIC5zd2lwZXItYnV0dG9uIHtcclxuICAgIHdpZHRoOiA0MnB4OyBoZWlnaHQ6IDQycHg7XHJcbiAgfVxyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgLnN3aXBlci1uYXYge1xyXG4gICAgZ2FwOiA4cHg7XHJcbiAgfVxyXG4gIC5zd2lwZXItYnV0dG9uIHtcclxuICAgIHdpZHRoOiAzNnB4OyBoZWlnaHQ6IDM2cHg7XHJcbiAgfVxyXG59XHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5mb3Jtc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIoJy5pbnB1dCcsIHJnYmEoMTczLCAxNzMsIDE3MywgMSksIDEpO1xyXG5cclxuLmlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjogdHJhbnNwYXJlbnQ7IG9wYWNpdHk6IDA7fVxyXG4uaW5wdXQ6Zm9jdXM6Oi1vLWlucHV0LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XHJcbi5pbnB1dDpmb2N1czo6LW1vei1pbnB1dC1wbGFjZWhvbGRlciB7ICBjb2xvcjogdHJhbnNwYXJlbnQ7IG9wYWNpdHk6IDA7fVxyXG4uaW5wdXQ6Zm9jdXM6LW1vei1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XHJcbi5pbnB1dDpmb2N1czo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6IHRyYW5zcGFyZW50OyBvcGFjaXR5OiAwO31cclxuLmlucHV0OmZvY3VzOmlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjogdHJhbnNwYXJlbnQ7IG9wYWNpdHk6IDA7fVxyXG5cclxuaW5wdXRbcGxhY2Vob2xkZXJdICAgICAgICAgIHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO31cclxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgICAgIHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO30gXHJcbmlucHV0Oi1tb3otcGxhY2Vob2xkZXIgICAgICB7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt9IFxyXG5pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7fVxyXG5cclxuXHJcbmlucHV0LCBidXR0b24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7fVxyXG5cclxuXHJcbi5mb3JtIHtcclxuICAgICZfX2hlYWQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19pbnRybyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAmLmZzLS1zbSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jb2xzIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICBncmlkLWdhcDogMCAxMnB4O1xyXG4gICAgfVxyXG4gICAgJl9fcm93IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbiAgICAmX19sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgJl9fc3VibWl0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fYnRudGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4OyAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcG9saWN5IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgLy8gY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtc3Ege1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IDIxcHg7IGhlaWdodDogMjFweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICAvLyB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiA6Y2hlY2tlZCArICYtc3Ege1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2NoZWNrLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci12aW9sZXQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXZpb2xldDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jaGVjayB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1zcSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgIC8vIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmIDpjaGVja2VkICsgJi1zcSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvY2hlY2suc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXZpb2xldDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItdmlvbGV0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9fY29scyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19yb3cge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3BvbGljeSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgIFxyXG4gICAgICAgICZfX3JvdyB7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcG9saWN5IHtcclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fc3VibWl0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnRudGV4dCB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaW5wdXQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDZFNEUyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICMzMDgzNzY7XHJcbiAgICB9XHJcbiAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcclxuICAgICAgICAvLyBib3JkZXItY29sb3I6ICRjb2xvci12aW9sZXQ7XHJcbiAgICB9XHJcbiAgICAmLmVycm9yLCAmLmlzLWludmFsaWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWVycm9yO1xyXG4gICAgICAgIC8vIGNvbG9yOiAkY29sb3ItZXJyb3I7XHJcbiAgICAgICAgQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIoJyYnLCByZ2JhKDE5OSwgNTcsIDU3LCAwLjcpLCAxKTtcclxuICAgIH1cclxuICAgICZfX2Vycm9yIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxMDAlOyBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1lcnJvcjtcclxuICAgICAgICBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgICAgICAgW2NsYXNzKj0nY29sLSddID4gJiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmVycm9yIH4gJl9fZXJyb3Ige1xyXG4gICAgICAgIG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIGhlaWdodDogNTVweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbn1cclxudGV4dGFyZWEuaW5wdXQge1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICByZXNpemU6IG5vbmU7XHJcbiAgICBoZWlnaHQ6IDEzMHB4O1xyXG4gICAgJi5oLS1zbSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIH1cclxuICAgICYuaC0tbWQge1xyXG4gICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICB9XHJcbiAgICAmLmgtLWxnIHtcclxuICAgICAgICBoZWlnaHQ6IDI0MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMCA0NXB4O1xyXG4gICAgaGVpZ2h0OiA1NXB4OyBcclxuICAgIG1pbi13aWR0aDogMjI4cHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICAgIEBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbi1ob3ZlcjtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ3JlZW4taG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0tb3JhbmdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IteWVsbG93O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXllbGxvdztcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7XHJcbiAgICB9XHJcbiAgICAmLS1iZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgQG1lZGlhIChhbnktaG92ZXI6aG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0taW5wIHtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICB9XHJcbiAgICAmLS1tZCB7XHJcbiAgICAgICAgaGVpZ2h0OiA1NnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjZweDtcclxuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xyXG4gICAgfVxyXG4gICAgJi0tbWludyB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyNzBweDtcclxuICAgIH1cclxuICAgICYtLW1pbndtZCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcclxuICAgIH1cclxuICAgICYtLXdhbGwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICBtaW4td2lkdGg6IDFweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIC8vICY6bm90KC5idG4tLW5vcm1hbCkge1xyXG4gICAgICAgIC8vICAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAvLyAgICAgbWluLXdpZHRoOiAyMDBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZSkge1xyXG4gICAgICAgICYtLXdhbGwtbW9iIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jaG9pY2VzIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAmW2RhdGEtdHlwZSo9XCJzZWxlY3Qtb25lXCJdOmFmdGVyIHtcclxuICAgICAgICB3aWR0aDogMjRweDtoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIHJpZ2h0OiAxOHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9kcm9wLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbiAgICAmLmlzLW9wZW5bZGF0YS10eXBlKj1cInNlbGVjdC1vbmVcIl06YWZ0ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xyXG4gICAgfVxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Q2RTRFMjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAkY29sb3ItYm9keTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLmlzLW9wZW4gJiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3BsYWNlaG9sZGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheTtcclxuICAgIH0gXHJcbiAgICAuY2hvaWNlLS13aGl0ZSAmX19wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcclxuICAgIH1cclxuICAgICZfX2xpc3QtLXNpbmdsZSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgICZfX2xpc3QtLWRyb3Bkb3duICB7XHJcbiAgICAgICAgLy8gYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXZpb2xldCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmVlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogNnB4IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0LCB2aXNpYmlsaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzApICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmF5ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC5jaG9pY2UtLXdoaXRlICYge1xyXG4gICAgICAgICAgICAvLyBib3JkZXItY29sb3I6ICRjb2xvci15ZWxsb3cgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2hvaWNlc19fcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgLmNob2ljZXNfX2l0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmlzLWhpZ2hsaWdodGVkIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmVlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jaG9pY2UtLXdoaXRlICYgLmNob2ljZXNfX2l0ZW0ge1xyXG4gICAgICAgICAgICAvLyBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbkBtaXhpbiBpbnB1dC1wbGFjZWhvbGRlcigkY2xhc3MsICRjb2xvciwgJG9wYWNpdHk6MC42KSB7XHJcbiAgICAjeyRjbGFzc306Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge2NvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9Ojotby1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfTo6LW1vei1pbnB1dC1wbGFjZWhvbGRlcnsgY29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306LW1vei1pbnB1dC1wbGFjZWhvbGRlcnsgIGNvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9OjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7ICBjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfSBpbnB1dC1wbGFjZWhvbGRlciB7ICBjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfTo6cGxhY2Vob2xkZXIge2NvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9OnBsYWNlaG9sZGVyLXNob3duIHtjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxufVxyXG5cclxuXHJcbkBtaXhpbiBhYnMtYWxsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7IHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuQG1peGluIGFicy1jZW50ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNTAlOyB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpXHJcbn1cclxuXHJcbkBtaXhpbiBwaG90by1jb3ZlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGxoKCRsaCwgJGZzKSB7XHJcbiAgICBAcmV0dXJuICN7bWF0aC5kaXYoJGxoLCAkZnMpfTtcclxufSIsIlxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxucG9wdXBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5wb3B1cCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7IGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAmLm9wZW5lZCB7XHJcbiAgICAgICAgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTVweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgICZfX2JnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDYxLCA3MiwgMC42MCk7XHJcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XHJcbiAgICB9XHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA2NjBweDtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmVlbjtcclxuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC5wb3B1cC0tbGcgJiB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTI0OHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2Nsb3NlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDMwcHg7IHRvcDogMzBweDtcclxuICAgICAgICB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB6LWluZGV4OiA5OTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTsgaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faGVhZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDU2MHB4O1xyXG4gICAgICAgICYubWItLW1kIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi50ZXh0LS1jZW50ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXBhbmdyYW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgfVxyXG4gICAgJl9faW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbiBcclxuICAgICZfX2ljb250aGFuayB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzOTBweDtcclxuICAgICAgICBtYXJnaW46IC01NXB4IGF1dG8gMCA7XHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLXRoYW5rICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDkwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2Nsb3NlIHtcclxuICAgICAgICAgICAgdG9wOiAyMHB4OyByaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2ludHJvIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faWNvbnRoYW5rIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGhhbmsgJl9fY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUpIHtcclxuICAgICAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNHB4IDIwcHggMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fY2xvc2Uge1xyXG4gICAgICAgICAgICB0b3A6IDEwcHg7IHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbnRybyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuaGVhZGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7IHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gICAgLmhvbWUgJiB7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBoZWFkZXItaG9tZSAxLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyBoZWFkZXItaG9tZSB7XHJcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XHJcbiAgICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIH1cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItaDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICB9XHJcbiAgICAmX19idXJnZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmX19jYWxsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICYtb3BlbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IteWVsbG93O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pbmZvIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtcGhvbmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXZpb2xldDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDNweDtcclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLW1waG9uZXMge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTBweDsgdG9wOiAtMTBweDtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA3MHB4KTtcclxuICAgICAgICAgICAgcGFkZGluZzogNjBweCAxMHB4IDE2cHggNjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogNHB4IDRweCA4cHggMHB4IHJnYmEoNjUsIDU4LCAxMjUsIDAuMDUpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyICYtbXBob25lcyB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbXBob25lcyAmLXBob25lIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19sb2dvIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLWgtdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbG9nbyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX21lbnUge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBub25lXHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NhbGwge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBub25lXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgJi1vcGVuIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFicy1hbGw7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7IHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiA0cHggNHB4IDhweCAwcHggcmdiYSg2NSwgNTgsIDEyNSwgMC4wNSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgICAgICAmLm9wZW5lZCB7ICBcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtdCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXBob25lIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1tcGhvbmVzIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tZW51IHtcclxuICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmVcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnVyZ2VyIHtcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLWgtbTtcclxuICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNTBweDtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2xvZ28ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jYWxsIHtcclxuICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmVcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL21lbnVcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvbmF2Zml4XCI7IiwiLm1lbnUge1xyXG4gICAgJl9fbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgICZfX2xpbmsge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7IGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDsgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiAwOyBcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTs7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pdGVtLmFjdGl2ZSA+ICZfX2xpbmssXHJcbiAgICAmX19pdGVtOmhvdmVyICZfX2xpbmsge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJl9faXRlbTpob3ZlciAmX19saW5rIC5pY29uIHtcclxuICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2xpc3Qge1xyXG4gICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2xpbmsge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnN1Ym1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgIG1pbi13aWR0aDogMjAwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xyXG4gICAgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgJiAmIHtcclxuICAgICAgICBsZWZ0OiAxMDAlOyB0b3A6IC0xNXB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLm1lbnVfX2l0ZW06aG92ZXIgPiAmLFxyXG4gICAgLnN1Ym1lbnVfX2l0ZW06aG92ZXIgJiB7XHJcbiAgICAgICAgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIH1cclxuICAgICZfX2xpc3Qge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcclxuICAgICAgICBib3gtc2hhZG93OiAtNHB4IDRweCA4cHggMHB4IHJnYmEoNjUsIDU4LCAxMjUsIDAuMDUpO1xyXG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgJl9fbGluayB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0LCBjb2xvciAgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLy8gY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheTtcclxuICAgICAgICAgICAgLy8gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1Ym1lbnVfX2l0ZW06aG92ZXIgPiAmX19saW5rIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmctZ3JheS1saWdodDtcclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLm5hdmZpeCB7XHJcblxyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICAgIGxlZnQ6IDA7IHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGNhbGModmFyKC0tdmgpICogMTAwKTtcclxuICAgIHotaW5kZXg6IC0xMDA7XHJcbiAgICBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiAgYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIG1hcmdpbjogMDsgXHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgICYub3BlbmVkIHtcclxuICAgICAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgICAgICBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgJl9fYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgICAgIGxlZnQ6IDA7IHRvcDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTtcclxuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNy41cHgpO1xyXG4gICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICB9XHJcbiAgICAmX19ib3gge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7IGhlaWdodDogY2FsYyh2YXIoLS12aCkgKiAxMDApO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDMwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwOyB0b3A6IDA7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDBweCAwcHggMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAgI0ZGRjtcclxuICAgICAgICBib3gtc2hhZG93OiAtNHB4IDRweCA4cHggMHB4IHJnYmEoNjUsIDU4LCAxMjUsIDAuMDUpO1xyXG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bzsgXHJcbiAgICAgICAgdHJhbnNpdGlvbjogIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIH1cclxuICAgICYub3BlbmVkICZfX2JveCB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICAgIH1cclxuICAgICZfX2hlYWQge1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAvLyBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAvLyBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgIC8vIHRvcDogMDtcclxuICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG4gXHJcbiAgICBcclxuICAgICZfX21lbnUge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAmICsgbGkge1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIGEge1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAvLyBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZDogJGJnLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwgdWwge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAmLm9wZW5lZCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSArIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDVweDsgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheTtcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7IGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIHVsICYge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3Bob25lIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXZpb2xldDtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICZfX2NhbGwge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAmLWxpbmsge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAmX19ib3gge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMzMHB4O1xyXG4gICAgICAgIH0gICAgXHJcbiAgICAgICAgJl9fbWVudSB7XHJcbiAgICAgICAgICAgIGxpIGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn0iLCJcclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbmZvb3RlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZvb3RlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyB6LWluZGV4OiA5O1xyXG4gICAgcGFkZGluZzogMzZweCAwIDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbGlnaHQtZ3JlZW47XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogIzM4M0I0QjtcclxuICAgICZfX2hlYWQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19pbnRybyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGdhcDogNjVweDtcclxuICAgIH1cclxuICAgICZfX2NvbCB7ICAgICAgICBcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICYgKyBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fY3RpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbiAgICAmX19jb2xuYXYge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJl9fc29jaWFsIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1NHB4O1xyXG4gICAgfVxyXG4gICAgJl9fbmF2IHtcclxuICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkgLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMjBhZDk2O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX21lbnUge1xyXG4gICAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICB3aWR0aDogMjc1cHg7XHJcbiAgICAgICAgJi1saW5rbWFwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2JvdHRvbSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoOSwgMTAsIDEyLCAwLjUpO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19zbmFtZSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICB3aWR0aDogMjc1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19zbmFtZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAmX19oZWFkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW50cm8ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jb2xuYXYge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19uYXYge1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3NvY2lhbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDE2NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jb250YWN0cyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNjVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYm90dG9tIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3NuYW1lIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NvbCB7XHJcbiAgICAgICAgICAgIGxpICsgbGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2N0aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbmF2IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDgwcHg7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAmICsgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICRiZy1ncmF5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIHVsIHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAmLm9wZW5lZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsaSArIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDBweDsgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7IGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdWwgdWwgJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjdweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jb250YWN0cyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgICAgICAgICAmLWxpbmttYXAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgJiArIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3NvY2lhbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYm90dG9tIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3NuYW1lIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUpIHtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgJl9fYm90dG9tIHtcclxuICAgICAgICAgICAgLy8gZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XHJcbiAgICAgICAgJl9faW50cm8ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19uYXYgdWwge1xyXG4gICAgICAgICAgICBnYXA6IDhweCAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiaW5jL2NvcmVcIjtcclxuXHJcbkBpbXBvcnQgXCJmb250c1wiO1xyXG5AaW1wb3J0IFwicmVzZXRcIjtcclxuQGltcG9ydCBcImNvbW1vblwiO1xyXG5AaW1wb3J0IFwibGlic1wiO1xyXG5AaW1wb3J0IFwiZm9ybXNcIjtcclxuQGltcG9ydCBcInBvcHVwXCI7XHJcbkBpbXBvcnQgXCJoZWFkZXJcIjtcclxuQGltcG9ydCBcImZvb3RlclwiO1xyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaGVybyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgXHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcbiAgICAmICsgKiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGFicy1hbGw7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9oZXJvL2JnLnN2Zykgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDgwJTtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgIH1cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgIH1cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiA4MHB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wYW5ncmFtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICBhbmltYXRpb246IGhlcm8tdGl0bGUgMS41cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuICAgICZfX2ludHJvIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcclxuICAgICAgICBhbmltYXRpb246IGhlcm8taW50cm8gMS41cyBlYXNlLWluLW91dDtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICB3aWR0aDogNDRweDsgaGVpZ2h0OiA0NHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDQ1cHg7IGJvdHRvbTogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDNweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9zbWlsZS5zdmcpIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBoZXJvLWludHJvLXNtaWxlIDEuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcGhvdG9zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQ0cHg7IGhlaWdodDogNDRweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAxMDAlOyBib3R0b206IDMwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM3cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvc21pbGUtMi5zdmcpIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1jb2wge1xyXG4gICAgICAgICAgICAvLyBmbGV4OiAxIDAgMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUgLSA0ICogMjBweCkgLyA1KTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxcztcclxuICAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgICAgLmFuaW1hdGUtc3RhcnQgJi5jb2wtLWxnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDhweCA4cHggMTZweCAwcHggcmdiYSg0MCwgNDksIDcwLCAwLjIwKTtcclxuICAgICAgICAgICAgJi5pbWctLXNtIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pbWctLWxnIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjAwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMCkgODEuOTQlLCByZ2JhKDI1NSwgMjAxLCA3NiwgMC4yMCkgMTAwJSksICNGRUM4NEI7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gc3ZnIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXgtaGVpZ2h0OiA5MCU7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgYWJzLWNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXJnaW4tbGVmdDogMiU7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XHJcbiAgICAgICAgICAgICAgICAuYW5pbWF0ZS1zdGFydCAmIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW1nLS0xIHtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogaGVyby1pbWctMSAxLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW1nLS0yIHtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogaGVyby1pbWctMiAxLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW1nLS0zIHtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogaGVyby1pbWctMyAxLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW1nLS00IHtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogaGVyby1pbWctNCAxLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW1nLS01IHtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogaGVyby1pbWctNSAxLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW1nLS02IHtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogaGVyby1pbWctNiAxLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW1nLS03IHtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogaGVyby1pbWctNyAxLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZfX3dyYXAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzLWFsbDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwaG90by1jb3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2JlYXIge1xyXG4gICAgICAgIHdpZHRoOiAxOTJweDsgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICYuZml4ZWQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxcztcclxuICAgICAgICB9XHJcbiAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jYWxsYmFjayB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAzMnB4OyB0b3A6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBhbmltYXRpb246IGhlcm8tY2FsbGJhY2sgMS41cyBlYXNlLWluLW91dDtcclxuICAgICAgICBtYXgtd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgICYtd3JhcCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01NSUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IteWVsbG93O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IGNpcmNsZV9hbmltIDZzIGluZmluaXRlIGxpbmVhcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWFycm93IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWJzLWNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTsgaGVpZ2h0OiAzMCU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkY7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi13cmFwOmhvdmVyICYtYXJyb3cge1xyXG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIC8vIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjE1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzIGNpcmNsZV9hbmltIHtcclxuICAgICAgICAwJSB7XHJcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgMTAwJSB7XHJcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xyXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIEBrZXlmcmFtZXMgaGVyby10aXRsZSB7XHJcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpOyB9XHJcbiAgICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgaGVyby1pbnRybyB7XHJcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAwcHgsIC0yMHB4KTsgfVxyXG4gICAgICAgIHRvIHsgIG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzIGhlcm8taW50cm8tc21pbGUge1xyXG4gICAgICAgIDAlIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgICAgIDYwJSB7ICBvcGFjaXR5OiAwOyB9XHJcbiAgICAgICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgaGVyby1jYWxsYmFjayB7XHJcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MDBweCwgLTIwcHgpOyB9XHJcbiAgICAgICAgdG8geyAgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgaGVyby1pbWctMSB7XHJcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpIHRyYW5zbGF0ZSgtMTAwMHB4LCAwJSk7IH1cclxuICAgICAgICB0byB7ICBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLCAwKTsgfVxyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyBoZXJvLWltZy0yIHtcclxuICAgICAgICAwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMS4yNSkgdHJhbnNsYXRlKC0xMDAwcHgsIC0xNTAlKTsgfVxyXG4gICAgICAgIHRvIHsgIG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlKDAsIDApOyB9XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzIGhlcm8taW1nLTMge1xyXG4gICAgICAgIDAlIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KSB0cmFuc2xhdGUoLTEwMDBweCwgMTAwJSk7IH1cclxuICAgICAgICB0byB7ICBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLCAwKTsgfVxyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyBoZXJvLWltZy00IHtcclxuICAgICAgICAwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMS4yNSkgdHJhbnNsYXRlKDAsIDEwMDBweCk7IH1cclxuICAgICAgICB0byB7ICBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLCAwKTsgfVxyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyBoZXJvLWltZy01IHtcclxuICAgICAgICAwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMS4yNSkgdHJhbnNsYXRlKDEwMDBweCwgLTE1MCUpOyB9XHJcbiAgICAgICAgdG8geyAgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUoMCwgMCk7IH1cclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgaGVyby1pbWctNiB7XHJcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpIHRyYW5zbGF0ZSgxMDAwcHgsIDEwMCUpOyB9XHJcbiAgICAgICAgdG8geyAgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUoMCwgMCk7IH1cclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgaGVyby1pbWctNyB7XHJcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAwcHgsIDAlKTsgfVxyXG4gICAgICAgIHRvIHsgIG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC1kZXNrdG9wKzAuMDJweCkgYW5kIChtYXgtaGVpZ2h0OiA4NTBweCkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Bob3RvcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA2NHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbnRybzo6YmVmb3JlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW50cm8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTFweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19waG90b3Mge1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvOyByaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jYWxsYmFjayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgICAgICAgJi13cmFwIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtODUlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19iZWFyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2hlcm8vYmctdGFibGV0LnN2Zyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0OHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbnRybyB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcGhvdG9zIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgLy8gZ2FwOiAxNnB4O1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtY29sIHtcclxuICAgICAgICAgICAgICAgIGdhcDogMTZweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAoMTAwJSAtIDQgKiAxNnB4KSAvIDUpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jYWxsYmFjayB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19iZWFyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgICAgICAubm4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2ludHJvIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fY2FsbGJhY2sge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19waG90b3Mge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICAvLyBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgICYtY29sIHtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcGhvdG9zIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDBweCAwO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29sLS1sZyB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzOCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZSkge1xyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbXgpIHtcclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxu0J3QsNC/0YDQsNCy0LvQtdC90LjRjyDRgNCw0LHQvtGC0YtcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5hcmVhc3cge1xyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDI4cHggNDBweCAzNnB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAtNDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmctZ3JheS1saWdodDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcclxuICAgICAgICBncmlkLWdhcDogMjBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMjVweCA0MHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWljb24ge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IDcwcHg7IGhlaWdodDogNzBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtNXB4OyBib3R0b206IC01cHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgJi1pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWluZm8ge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgJi1pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MnB4OyBoZWlnaHQ6IDUycHg7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTRweDsgcmlnaHQ6IC00cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiAyNHB4O1xyXG4gICAgICAgICAgICAmLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgJi1pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzOHB4OyBoZWlnaHQ6IDM4cHg7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzJweDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogLTNweDsgYm90dG9tOiAtM3B4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMjJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5tYWJvdXQge1xyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTE2MnB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA2MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fcGhvdG8ge1xyXG4gICAgICAgIHdpZHRoOiA0NiU7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQ2JTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXJcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pbmZvIHtcclxuICAgICAgICBmbGV4OiAxIDAgMDtcclxuICAgIH1cclxuICAgICZfX3RleHQge1xyXG4gICAgICAgICYtdnYge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXZpb2xldDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiAqICsgKiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX190ZXh0LXZ2IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7ICAgICAgICBcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9ICAgIFxyXG4gICAgICAgICZfX3Bob3RvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQ5JTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQ5JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fdGV4dCB7XHJcbiAgICAgICAgICAgID4gKiArICoge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19idXR0b25zIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Bob3RvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDYwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fdGV4dCB7XHJcbiAgICAgICAgICAgIC5zZWN0aW9uX19oZWFkIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi12diB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiAqICsgKiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUpIHtcclxuICAgICAgICAmX19waG90byB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbtCf0L7Rh9C10LzRgyDQstGL0LHQuNGA0LDRjtGCINC90LDRgT9cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi53aHltZSB7XHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1ncmF5LWxpZ2h0O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgJi5pdGVtLS1ub2JnIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1oZWFkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogMjZweDsgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtNnB4OyBib3R0b206IC0ycHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWluZm8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXNtaWxlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDU0cHg7XHJcbiAgICAgICAgICAgID4gKiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBnYXA6IDEzcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICYtaGVhZCB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1NHB4O1xyXG4gICAgICAgICAgICAmLml0ZW0tLWJ0biB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pdGVtLS1zbWlsZSB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pdGVtLS1zbWlsZSAmLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtc21pbGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICZfX2Nhcm91c2VsIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgJi5pdGVtLS1idG4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZSkge1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAmLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5zZXJ2aWNlcyB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJl9fcGRsciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDgwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmX19vcHRpb25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBtYXJnaW46IDAgLTEwcHg7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgLy8gbWluLXdpZHRoOiA2MDBweDtcclxuICAgICAgICAvLyBtYXgtd2lkdGg6IDkwMHB4O1xyXG4gICAgICAgIC8vIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XHJcblxyXG4gICAgICAgIGhlaWdodDogNDQwcHg7XHJcbiAgICB9XHJcbiAgICAmX19vcHRpb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIG1pbi13aWR0aDogOTBweDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAvL2JvcmRlcjowcHggc29saWQgLS1kZWZhdWx0Q29sb3I7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTIwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICB0cmFuc2l0aW9uOiAuNXMgY3ViaWMtYmV6aWVyKDAuMDUsIDAuNjEsIDAuNDEsIDAuOTUpO1xyXG5cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDEwMDAwO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY0MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcclxuICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KC5hY3RpdmUpIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1jb250IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwOyBcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAxN3B4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuNXMgY3ViaWMtYmV6aWVyKDAuMDUsIDAuNjEsIDAuNDEsIDAuOTUpO1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnMtY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA0cHgpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYwKSA2NC4yNCUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZlICYtY29udCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi1pY29uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogNTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pbmZvIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBsZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGN1YmljLWJlemllcigwLjA1LCAwLjYxLCAwLjQxLCAwLjk1KSwgb3BhY2l0eSAwLjVzIGVhc2Utb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSAmLWluZm8ge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgIFxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9fb3B0aW9ucyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX29wdGlvbiB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogODBweDtcclxuICAgICAgICAgICAgJi1pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUgJi1jb250IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX29wdGlvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fb3B0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX29wdGlvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19vcHRpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgICYtY29udCB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWljb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1pbmZvIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19oZWFkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAuc2VjdGlvbl9faW50cm8ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmctZ3JheS1saWdodDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgJi5pdGVtLS1zbWlsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmVlbjtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogLTEwcHggYXV0byAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmVlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1oZWFkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pY29uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDsgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC00cHg7IGJvdHRvbTogLTRweDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDg1JTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgJi1pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWxpc3Qge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgICAgICBsaSArIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1tbGluayB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJl9fYXJyb3cge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7IGhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciAmX19hcnJvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgJi1pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MnB4OyBoZWlnaHQ6IDQycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1tbGluayB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19oZWFkIHtcclxuICAgICAgICAgICAgLnNlY3Rpb25fX2ludHJvIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbXMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA0MHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY2OHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAmX19oZWFkIHtcclxuICAgICAgICAgICAgLnNlY3Rpb25fX2hlYWQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2VjdGlvbl9faW50cm8ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAmLml0ZW0tLXNtaWxlIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kc2VydmljZXMge1xyXG4gICAgJl9fY29scyB7XHJcbiAgICAgICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBnYXA6IDIwcHg7XHJcbiAgICAgICAgLy8gYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcclxuICAgICAgICBncmlkLWdhcDogMCAyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fcGhvdG8ge1xyXG4gICAgICAgIGdyaWQtcm93OiBzcGFuIDI7XHJcbiAgICAgICAgJi13cmFwIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQyMHB4OyBoZWlnaHQ6IDQyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX190YWdzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyOHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgIH1cclxuICAgICZfX3RhZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmctZ3JheS1saWdodDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWljb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJnLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgJi5jb250ZW50LS12LWxpc3QsIC5jb250ZW50LS12LWxpc3Qge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsLCBvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyBjb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgICAgICAgICAgICAvLyBjb2x1bW4tZ2FwOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICAgICAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb250ZW50LS12LWNvbHMsIC5jb250ZW50LS12LWNvbHMge1xyXG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gKiArICoge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2JvdHRvbSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgICZfX3Bob3RvLXdyYXAge1xyXG4gICAgICAgICAgICB3aWR0aDogMzIwcHg7IGhlaWdodDogMzIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RhZ3Mge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9fcGhvdG8ge1xyXG4gICAgICAgICAgICBncmlkLXJvdzogaW5pdGlhbDtcclxuICAgICAgICAgICAgJi13cmFwIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX190YWdzIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fdGFnIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsLCBvbCB7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IGluaXRpYWwgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmNvbnRlbnQtLXYtY29scywgLmNvbnRlbnQtLXYtY29scyB7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IGluaXRpYWwgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+ICogKyAqIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2NvbHMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcGhvdG8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICAgICAgICAmLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RhZ3Mge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogaW5pdGlhbDtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX190YWcge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTJweDsgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggLTIwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYm90dG9tIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICYtYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNteCkge1xyXG4gICAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEqJHBkLWNvbnRhaW5lci1zbXg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTEqJHBkLWNvbnRhaW5lci1zbXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbtCd0LDRiNC4INGB0L/QtdGG0LjQsNC70LjRgdGC0YtcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi50ZWFtIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmX19tdyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmX19oZWFkZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9faGVhZCB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19oY2FyZCB7XHJcbiAgICAgICAgd2lkdGg6IDYyJTtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIH1cclxuICAgICZfX2Nhcm91c2VsIHtcclxuICAgICAgICBtYXJnaW46IDAgLTE1cHggMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xyXG4gICAgICAgICYuY2Fyb3VzZWwtLW1haW4ge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaW5pdGlhbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgICAgIGdyaWQtZ2FwOiA2MHB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICYuaXRlbS0tbGcge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGdhcDogNjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDhweCA4cHggOHB4IDBweCByZ2JhKDE3MCwgMTg1LCAxODMsIDAuMjApO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXBob3RvIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwaG90by1jb3ZlclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXRlbS0tbGcgJi1waG90byB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0OCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0OCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgJi1waG90byB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaW5mbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1tbGluayB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJl9fYXJyb3cge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7IGhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciAmX19hcnJvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9faGNhcmQge1xyXG4gICAgICAgICAgICB3aWR0aDogNTglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAzMFBYO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgJi5pdGVtLS1sZ3tcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLml0ZW0tLWxnICYtcGhvdG8ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUxJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX213IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faGVhZGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jYXJvdXNlbCB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xyXG4gICAgICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zd2lwZXItc2xpZGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbXgpIHtcclxuICAgICAgICAmX19jYXJvdXNlbCB7XHJcbiAgICAgICAgICAgIC5zd2lwZXItc2xpZGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uZHRlYW0ge1xyXG4gICAgJl9fY29scyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDgwcHg7XHJcbiAgICB9XHJcbiAgICAmX19jb250IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fcGhvdG8ge1xyXG4gICAgICAgIGZsZXg6ICAwIDAgYXV0bztcclxuICAgICAgICB3aWR0aDogNDIwcHg7IGhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwaG90by1jb3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pbmZvIHtcclxuICAgICAgICBmbGV4OiAxIDAgMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmX19wcm9wcyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDYzMHB4OyB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICAmLWNvbCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcHJvcCB7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpICsgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICB9XHJcbiAgICAmX190ZXh0IHtcclxuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgICAgY29sdW1uLWdhcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgICAmX19jb2xzIHtcclxuICAgICAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Byb3BzIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19jb2xzIHtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcGhvdG8ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzUwcHg7IGhlaWdodDogNDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Byb3BzIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICAmLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1jb2wuY29sLS1maXJzdCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcHJvcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSArIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19idXR0b25zIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NvbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX190ZXh0IHtcclxuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fY29scyB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19wcm9wcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgJi1jb2wuY29sLS1maXJzdCB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Byb3Age1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgJi1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGkgKyBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW5mbyAmX19idXR0b25zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUpIHtcclxuICAgICAgICAmX19waG90byB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDsgaGVpZ2h0OiAzNTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmNhbGxiYWNrIHtcclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICBncmlkLWdhcDogMjBweDtcclxuICAgIH1cclxuICAgICZfX2NvbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fcGhvdG8ge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fZm9ybSB7XHJcbiAgICAgICAgcGFkZGluZzogNDBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFicy1hbGw7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmVlbjtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmZvcm0tLXNtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQyMHB4O1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19iZWFyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAzMCU7IHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDYwJSwtMzAlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDBkZWcpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcclxuICAgICAgICBcclxuICAgICAgICAmX19iZWFyIHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMzAlO1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNDAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBpbml0aWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9fZm9ybSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgICAgIC5zZWN0aW9uX19oZWFkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlY3Rpb25fX2ludHJvIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJ0biArIC5zZWN0aW9uX19pbnRybyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZm9ybS0tc20ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM4MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19iZWFyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2Zvcm0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAuc2VjdGlvbl9faGVhZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5idG4gKyAuc2VjdGlvbl9faW50cm8ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmZvcm0tLXNtIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzNTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYmVhciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fY29scyB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2Zvcm0geyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLmZvcm0tLXNtIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlKSB7XHJcbiAgICAgICAgLnNlY3Rpb25fX2hlYWQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNteCkgeyAgICAgICAgXHJcbiAgICAgICAgJl9fZm9ybSB7XHJcbiAgICAgICAgICAgICYuZm9ybS0tc20ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIC0xKiRwZC1jb250YWluZXItc214O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uYXNrIHtcclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDY1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyZWVuO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19jb2xzIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICBncmlkLWdhcDogMCAxMnB4O1xyXG4gICAgfVxyXG4gICAgLmZvcm1fX3BvbGljeSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0yMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweCAyMHB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2NvbHMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG7QntGC0LfRi9Cy0YsgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucmV2aWV3cyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJnLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiA5MHB4IDQwcHggNDBweDtcclxuICAgICAgICBtYXJnaW46IDAgLTQwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQtZGVza3RvcC1sZyswLjAycHgpIHtcclxuICAgICAgICAgICAgJi5pbm5lci0td2FsbCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7IGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwOyB0b3A6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zMCUsIC0yNSUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3F1b3Rlcy5zdmcpIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICYuaC1hbGwge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXRlbS0tYW5zd2VyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDAgMCAzMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjhGRkZFO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwOyBsZWZ0OiAtMzBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3JlcGx5LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDg7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCguaC1hbGwpICYtdGV4dCB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1sbW9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDZweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTNweDsgaGVpZ2h0OiAxM3B4OyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRvcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYm90dG9tIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1waG90byB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICYudy0tbGcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KC53LS1sZykgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1uYW1lIHtcclxuICAgICAgICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgICAgICAgICYubGlnaHQge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWRhdGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICZfX21hc29ucnkgIHtcclxuICAgICAgICBtYXJnaW46IDAgLTIwcHggLTIwcHg7XHJcbiAgICAgICAgJi1pdGVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLWxnKSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMzBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDcwcHggMzBweCAzNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzBweDsgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTE4cHg7IHRvcDogLTExcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1NHB4OyBoZWlnaHQ6IDQzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbWFzb25yeSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2lubmVyLmlubmVyLS13YWxsIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJldmlld3NfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJnLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbWFzb25yeSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIC0yMHB4O1xyXG4gICAgICAgICAgICAmLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0xKiRwZC1jb250YWluZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0NnB4O1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM4cHg7IGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7IHRvcDogLTE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbmF2IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDVweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEqJHBkLWNvbnRhaW5lci1zbXg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBkLWNvbnRhaW5lci1zbXg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwZC1jb250YWluZXItc214O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxu0JzRiyDQsiDRgdC+0YbRgdC10YLRj9GFXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ud2Vzb2NpYWwge1xyXG4gICAgJl9fcGhvdG9zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19oZWFkIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xyXG4gICAgfVxyXG4gICAgJl9faW50cm8ge1xyXG4gICAgICAgIG1heC13aWR0aDogMzgwcHg7XHJcbiAgICB9XHJcbiAgICAmX19idXR0b25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9faW5zdGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMzMwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyYXk7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMTBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWljb24ge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3Bob3RvIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFicy1hbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fc21pbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAuc2VjdGlvbl9faGVhZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Bob3RvcyB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19idXR0b25zIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW5zdGEge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fcGhvdG9zIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlKSB7XHJcbiAgICAgICAgJl9fcGhvdG9zIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2luc3RhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZhcSB7XHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICBcclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbGlnaHQtZ3JheTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICYub3BlbmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyZWVuO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtaGVhZCB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub3BlbmVkICYtdGl0bGUge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXBsdXMge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwOyB0b3A6IDA7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXZpb2xldDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzNSU7IGhlaWdodDogMzUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm9wZW5lZCAmLXBsdXMge1xyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWJvZHkge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5vcGVuZWQgJi1ib2R5IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtaGVhZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtcGx1cyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5vcmRmb3JtIHtcclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDE2MDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgICAmX19mb3JtIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMTBweDtcclxuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcbiAgICAmX19pbWcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDsgYm90dG9tOiAwO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICYtY2JnIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWJzLWFsbDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA2MDBweDsgaGVpZ2h0OiA2MDBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwOyBib3R0b206IC03NXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNjAxcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjQ0ZGRkY3O1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKDEwMHB4KTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDsgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDExMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xyXG4gICAgICAgICZfX2ltZyB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19mb3JtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweCAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDMwcHgpO1xyXG4gICAgICAgICAgICAmLWNiZzo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0NjBweDsgaGVpZ2h0OiA0NjBweDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9fZm9ybSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMCAxN3B4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XHJcbiAgICAgICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlY3Rpb25fX2ludHJvIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW1nIHtcclxuICAgICAgICAgICAgcmlnaHQ6IC0yMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDMwcHgpO1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDAlIC0gMjgwcHgpO1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzYwcHgpO1xyXG4gICAgICAgICAgICAmLWNiZzo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzNDBweDsgaGVpZ2h0OiAzNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzLWFsbDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTEwJTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDtcclxuICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19mb3JtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweCAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2ltZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMSokcGQtY29udGFpbmVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIqJHBkLWNvbnRhaW5lcik7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAmLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTEwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDgwJTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IC00MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJl9faW1nIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMSokcGQtY29udGFpbmVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIqJHBkLWNvbnRhaW5lcik7XHJcbiAgICAgICAgICAgICAgICAmLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5hYm91dCB7XHJcbiAgICAmX19waG90byB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC01MHB4IDUwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQ4JTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgIH1cclxuICAgICZfX2hlYWQge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJl9fY29udCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgJl9fcHJvcHMge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmctZ3JheS1saWdodDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgJl9fcHJvcCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMTgwcHg7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCRkMyRDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbnVtYiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXBhbmdyYW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7ICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgICAmX19waG90byB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0NSU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Byb3Age1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICYtbnVtYiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19jb250IHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2NvbHMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcHJvcHMge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19wcm9wIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICAmLW51bWIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX3Bob3RvIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcHJvcHMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Byb3Age1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCAzMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmctZ3JheS1saWdodDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgJi1udW1iIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucGhvdG9zIHtcclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcclxuICAgICAgICAmLml0ZW0tLWgtMiB7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiBzcGFuIDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXRlbS0tdy0yIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pdGVtLS13LTIuaXRlbS0taC0yIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICYuaXRlbS0tbGFzdC1tb2Ige1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnN0b3JlIHtcclxuICAgICZfX2NpbmZvIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbiAgICAmX190ZXh0IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDg2MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fYWN0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDQwcHggMjBweCAwO1xyXG4gICAgfVxyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcclxuICAgICAgICBncmlkLWdhcDogMjBweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggNDBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1ncmF5LWxpZ2h0O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmVlbjtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXBob3RvIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFicy1jZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaW5mbyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0yMHB4OyByaWdodDogLTIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmVlbjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDIwcHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciAmLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX190ZXh0IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYWN0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbXMge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMTdweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAzMHB4O1xyXG4gICAgICAgICAgICAmLXBob3RvIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTVweDsgcmlnaHQ6IC0xNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19zY3JvbGwgJl9faXRlbTpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgJi1pbmZvIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICZfX2NpbmZvIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fc2Nyb2xsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0xKiRwZC1jb250YWluZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICB9ICBcclxuICAgICAgICAmX19zY3JvbGwgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogMjMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnByaWNlcyB7XHJcbiAgICAmX19tdyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWhlYWQge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyYXk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9wZW5lZCAmLWhlYWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbGlnaHQtZ3JlZW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXBsdXMge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgLy8gYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1JTsgaGVpZ2h0OiAzNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYub3BlbmVkICYtcGx1cyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWJvZHkge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5vcGVuZWQgJi1ib2R5IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3JvdyB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmctZ3JheS1saWdodDtcclxuICAgICAgICBwYWRkaW5nOiAxMnB4IDMwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi12YWwge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19yaGVhZCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDIycHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyZWVuO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1oZWFkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1wbHVzIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX3JvdyB7XHJcbiAgICAgICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX3JvdyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWhlYWQge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1wbHVzIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ud2FybmluZyB7XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmctZ3JheS1saWdodDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJl9fcGhvdG8ge1xyXG4gICAgICAgIHdpZHRoOiA1MyU7XHJcbiAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgbWluLWhlaWdodDogNTY1cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFicy1hbGw7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsICRiZy1ncmF5LWxpZ2h0IDAuMTMlLCByZ2JhKDIxNywgMjE3LCAyMTcsIDApIDMwJSk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2luZm8ge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA2MHB4IDQwcHggNDBweCA4NHB4O1xyXG4gICAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgfVxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICA+ICogKyAqIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19waG9uZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIH1cclxuICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX3Bob3RvIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNTQ1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2luZm8ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19waG90byB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RleHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19idXR0b25zIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcGhvdG8ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0NTRweDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAkYmctZ3JheS1saWdodCAwLjEzJSwgcmdiYSgyMTcsIDIxNywgMjE3LCAwKSAzMCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2luZm8ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5jb250YWN0cyB7XHJcbiAgICAmX19jb2xzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgIH1cclxuICAgICZfX2luZm8ge1xyXG4gICAgICAgIGZsZXg6ICAwIDAgYXV0bztcclxuICAgICAgICB3aWR0aDogNDElO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJnLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgcGFkZGluZzogNDBweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1oZWFkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdmFsIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX21hcCB7XHJcbiAgICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzAlO1xyXG4gICAgICAgID4gKiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFicy1hbGxcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAmLWhlYWQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19jb2xzIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICYtdmFsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tYXAge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgJl9fY29scyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tYXAge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNteCkge1xyXG4gICAgICAgICZfX2NvbHMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEqJHBkLWNvbnRhaW5lci1zbXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZXJyb3I0MDQge1xyXG4gICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIH1cclxuICAgICZfX2ltZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogNzVweDsgdG9wOiAwOyBcclxuICAgICAgICBsZWZ0OiAyMHB4OyByaWdodDogMjBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWJzLWFsbDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMTcsIDIxNywgMjE3LCAwLjEwKTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6IDE1NDBweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLXZoKSAqIDEwMCAtIHZhcigtLWhIZWFkZXIpKTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICBcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTA1cHg7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgICZfX251bWIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjAwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgICZfX3RleHQge1xyXG4gICAgICAgIG1heC13aWR0aDogNzUwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgfVxyXG4gICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbWcge1xyXG4gICAgICAgICAgICBib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX251bWIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX190ZXh0IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2ltZyB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogNzVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbWcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87IHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBib3R0b206IGF1dG87IHRvcDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDU3JTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbnVtYiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogODBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fdGV4dCB7XHJcbiAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5zZXJ0IHtcclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGdhcDogMjVweDtcclxuICAgIH1cclxuICAgICZfX2hlYWQge1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICB9XHJcbiAgICAmX19jYXJvdXNlbCB7XHJcbiAgICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICAmLXdyYXAge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgJl9fY2Fyb3VzZWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEqJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAkcGQtY29udGFpbmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcblxyXG4iXX0= */
