@charset "UTF-8";
* {
  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: "Play", sans-serif;
  font-size: 16px;
  line-height: 1.15;
  color: #050510;
  font-weight: normal;
  font-style: normal;
  background: #FFFFFF;
}
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: #050510;
  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: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 1249.98px) {
  .container {
    max-width: 980px;
  }
}
@media screen and (max-width: 1023.98px) {
  .container {
    max-width: 678px;
  }
}
@media screen and (max-width: 767.98px) {
  .container {
    max-width: 100%;
    padding: 0 16px;
  }
}
.wrapper {
  min-height: 100%;
  width: 100%;
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
}
.content__wrapper {
  flex: 1 0 auto;
}

.pd__header {
  margin-top: -150px;
}
@media (max-width: 1023.98px) {
  .pd__header {
    margin-top: -120px;
  }
}
@media (max-width: 767.98px) {
  .pd__header {
    margin-top: -90px;
  }
}

.no-display {
  display: none;
}

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

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

@media (max-width: 1249.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 (min-width: 1250px) {
  .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 (max-width: 1023.98px) {
  .wow {
    visibility: visible !important;
    -webkit-animation: none !important;
    animation: none !important;
  }
}
[data-fancybox] {
  cursor: pointer;
  display: inline-block;
}

.noscroll {
  overflow: hidden;
}

.nowrap {
  white-space: nowrap;
}

.content__text.mw {
  max-width: 800px;
}
.content__text > * {
  margin-bottom: 10px;
}
.content__text :first-child {
  margin-top: 0 !important;
}
.content__text :last-child {
  margin-bottom: 0 !important;
}
.content__text a {
  text-decoration: underline;
}
.content__text a:hover {
  text-decoration: none;
}
.content__text h1,
.content__text h2,
.content__text h3,
.content__text h4,
.content__text h5 {
  color: #050510;
  line-height: 1.1;
  font-weight: 600;
}
.content__text h1 {
  font-size: 36px;
  margin: 40px 0 30px;
}
.content__text h2 {
  font-size: 26px;
  margin: 30px 0 20px;
}
.content__text h3 {
  font-size: 20px;
  margin: 20px 0 20px;
}
.content__text h4 {
  font-size: 18px;
  margin: 20px 0 10px;
}
.content__text h5 {
  font-size: 16px;
  margin: 10px 0;
}
.content__text ul,
.content__text ol {
  padding-left: 25px;
}
.content__text ol {
  list-style-type: none;
  counter-reset: num;
}
.content__text li {
  list-style: disc;
  position: relative;
}
.content__text ul li:before {
  /*position: absolute;
  top: 4px;
  right: 100%;
  margin-right: 7px;
  color: $color-body;
  font-size: inherit;
  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;
}
code {
  display: block;
  white-space: pre-wrap;
  padding: 10px;
  margin: 0;
  line-height: 1.6;
  font-size: 14px;
  background-color: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 5px;
  color: black;
}

.section__head {
  margin-bottom: 30px;
}
.section__head.mb--md {
  margin-bottom: 40px;
}
.section__head.mb--mdl {
  margin-bottom: 50px;
}
.section__head.hcols {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.section__head.al-center {
  align-items: center;
}
.section__head.al-end {
  align-items: flex-end;
}
.section__head .swiper-nav {
  margin-top: 0;
}
.section__title {
  font-weight: 700;
  font-size: 36px;
  text-transform: uppercase;
}
.section__title.fs--sm {
  font-size: 24px;
}
.section__subtitle {
  margin-bottom: 10px;
  color: #315EA7;
  font-size: 20px;
  letter-spacing: 4px;
  text-transform: uppercase;
  font-weight: bold;
}
.section__intro {
  margin-top: 10px;
  max-width: 900px;
  font-size: 20px;
}
.section__intro.fs--md {
  font-size: 16px;
}
.text--center .section__intro {
  margin-left: auto;
  margin-right: auto;
}
.section__intro p + p {
  margin-top: 10px;
}
.section__intro h2 {
  font-weight: 700;
  font-size: 36px;
  text-transform: uppercase;
  margin: 10px 0;
}
.section__intro ul {
  margin: 10px;
}
.section__intro ul li {
  list-style: disc;
  margin-left: 16px;
}
.section__buttons {
  margin-top: 30px;
  text-align: center;
}
.section__first {
  margin-top: 0 !important;
}
.section__mg {
  margin: 100px 0;
}
.section__mgt {
  margin-top: 100px;
}
.section__mgb {
  margin-bottom: 100px;
}
.section__pd {
  padding: 80px 0;
}
.section__pd--md {
  padding: 60px 0;
}
.section__pdt {
  padding-top: 70px;
}
.section__lr {
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
}
.section__tab {
  display: none;
}
.section__tab.show {
  display: block;
}
@media (max-width: 1023.98px) {
  .section__head {
    text-align: left !important;
  }
  .section__head.mb--mdl {
    margin-bottom: 40px;
  }
  .section__head.hcols {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start !important;
  }
  .section__mg {
    margin: 80px 0;
  }
  .section__mgt {
    margin-top: 80px;
  }
  .section__mgb {
    margin-bottom: 80px;
  }
  .section__pd--md {
    padding: 45px 0;
  }
}
@media (max-width: 767.98px) {
  .section__head {
    margin-bottom: 20px;
  }
  .section__head.mb--mdl {
    margin-bottom: 40px;
  }
  .section__head + [class*=col-] {
    margin-top: 0 !important;
  }
  .section__title {
    font-size: 26px;
  }
  .section__title .fs--sm {
    font-size: 20px;
  }
  .section__subtitle {
    font-size: 16px;
  }
  .section__mg {
    margin: 40px 0;
  }
  .section__mg:last-child {
    margin-bottom: 86px;
  }
  .section__mgb {
    margin-bottom: 40px;
  }
  .section__mgb:last-child {
    margin-bottom: 86px;
  }
  .section__mgt {
    margin-top: 40px;
  }
  .section__pd {
    padding: 40px 0;
  }
}
@media (max-width: 360px) {
  .section__title {
    font-size: 22px;
  }
  .section__intro {
    font-size: 16px;
  }
}

.phead {
  margin-bottom: 50px;
  overflow: hidden;
}
.phead.mb--sm {
  margin-bottom: 20px;
}
.phead__title {
  font-size: 50px;
  font-weight: bold;
}
.phead__intro {
  font-size: 20px;
}
:not([class*=col]) .phead__intro {
  margin-top: 10px;
}
.phead__photo {
  margin-top: 50px;
}
.phead__photo img {
  width: 100%;
}
@media (max-width: 1023.98px) {
  .phead {
    margin-bottom: 40px;
  }
  :not([class*=col-md]) .phead__intro {
    margin-top: 10px;
  }
  .phead__photo {
    margin: 30px -100px 0;
  }
}
@media (max-width: 767.98px) {
  .phead [class*=col-] {
    margin: 0 !important;
  }
  .phead__title {
    font-size: 30px;
  }
  .phead__intro {
    margin-top: 10px;
  }
  .phead__photo {
    margin: 20px -16px 0;
  }
}

.title {
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
}
.title--md {
  font-size: 26px;
}
.title a {
  color: #050510;
  transition: all 0.3s ease-in-out;
}
.title a:hover {
  color: #315EA7;
}
@media (max-width: 767.98px) {
  .title {
    font-size: 20px;
    line-height: 1.45;
  }
}
.text {
  margin-top: 10px;
}

.text--center {
  text-align: center;
}
@media (max-width: 1023.98px) {
  .text--center.center-desctop {
    text-align: left;
  }
  .text--center-t {
    text-align: center;
  }
}

.text--white {
  color: white;
}

.text--opacity {
  opacity: 0.5;
}

.cols {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -12px;
}

[class*=col-] {
  flex: 0 0 auto;
  padding: 0 12px;
}

.col-1 {
  width: 100%;
}

.col-2 {
  width: 100%;
}

.col-3 {
  width: 100%;
}

.col-4 {
  width: 100%;
}

.col-5 {
  width: 100%;
}

.col-6 {
  width: 100%;
}

.col-7 {
  width: 100%;
}

.col-8 {
  width: 100%;
}

.col-9 {
  width: 100%;
}

.col-10 {
  width: 100%;
}

.col-11 {
  width: 100%;
}

.col-12 {
  width: 100%;
}

.mgl-1 {
  margin-left: 0;
}

.mgl-2 {
  margin-left: 0;
}

.mgl-3 {
  margin-left: 0;
}

.mgl-4 {
  margin-left: 0;
}

.mgl-5 {
  margin-left: 0;
}

.mgl-6 {
  margin-left: 0;
}

.mgl-7 {
  margin-left: 0;
}

.mgl-8 {
  margin-left: 0;
}

.mgl-9 {
  margin-left: 0;
}

.mgl-10 {
  margin-left: 0;
}

.mgl-11 {
  margin-left: 0;
}

.mgl-12 {
  margin-left: 0;
}

.col-mt {
  margin-top: 20px;
}
.col-mt--sm {
  margin-top: 10px;
}

@media (min-width: 768px) {
  .col-md-1 {
    width: 16.6666666667%;
  }
  .col-md-2 {
    width: 33.3333333333%;
  }
  .col-md-3 {
    width: 50%;
  }
  .col-md-4 {
    width: 66.6666666667%;
  }
  .col-md-5 {
    width: 83.3333333333%;
  }
  .col-md-6 {
    width: 100%;
  }
  .mgl-md-1 {
    margin-left: calc(16.6666666667% + 10px);
  }
  .mgl-md-2 {
    margin-left: calc(33.3333333333% + 10px);
  }
  .mgl-md-3 {
    margin-left: calc(50% + 10px);
  }
  .mgl-md-4 {
    margin-left: calc(66.6666666667% + 10px);
  }
  .mgl-md-5 {
    margin-left: calc(83.3333333333% + 10px);
  }
  .mgl-md-6 {
    margin-left: calc(100% + 10px);
  }
  .col-mt {
    margin-top: 30px;
  }
  .col-mt--sm {
    margin-top: 20px;
  }
}
@media (min-width: 1024px) {
  .col-1 {
    width: 8.3333333333%;
  }
  .col-2 {
    width: 16.6666666667%;
  }
  .col-3 {
    width: 25%;
  }
  .col-4 {
    width: 33.3333333333%;
  }
  .col-5 {
    width: 41.6666666667%;
  }
  .col-6 {
    width: 50%;
  }
  .col-7 {
    width: 58.3333333333%;
  }
  .col-8 {
    width: 66.6666666667%;
  }
  .col-9 {
    width: 75%;
  }
  .col-10 {
    width: 83.3333333333%;
  }
  .col-11 {
    width: 91.6666666667%;
  }
  .col-12 {
    width: 100%;
  }
  .mgl-1 {
    margin-left: calc(8.3333333333% + 8px);
  }
  .mgl-2 {
    margin-left: calc(16.6666666667% + 8px);
  }
  .mgl-3 {
    margin-left: calc(25% + 8px);
  }
  .mgl-4 {
    margin-left: calc(33.3333333333% + 8px);
  }
  .mgl-5 {
    margin-left: calc(41.6666666667% + 8px);
  }
  .mgl-6 {
    margin-left: calc(50% + 8px);
  }
  .mgl-7 {
    margin-left: calc(58.3333333333% + 8px);
  }
  .mgl-8 {
    margin-left: calc(66.6666666667% + 8px);
  }
  .mgl-9 {
    margin-left: calc(75% + 8px);
  }
  .mgl-10 {
    margin-left: calc(83.3333333333% + 8px);
  }
  .mgl-11 {
    margin-left: calc(91.6666666667% + 8px);
  }
  .mgl-12 {
    margin-left: calc(100% + 8px);
  }
  .col-mt {
    margin-top: 0px;
  }
}
@media (max-width: 1023.98px) {
  .cols {
    margin: 0 -15px;
  }
  [class*=col-] {
    padding: 0 15px;
  }
}
@media (max-width: 767.98px) {
  [class*=col-] + [class*=col-] {
    margin-top: 20px;
  }
}
.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: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease-in-out;
  background: #1F386C;
  color: #fff;
}
.social__item:hover {
  background: #315EA7;
}
.social .icon {
  width: 75%;
  height: 75%;
}
.social--md .social__item {
  width: 40px;
  height: 40px;
}
.social--nbg .social__item {
  background: none;
}
.social--nbg .social__item:hover {
  color: #FFFF7F;
}
.tags {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.tags__it {
  height: 40px;
  border-bottom: 1px solid #72727D;
  display: flex;
  align-items: center;
  padding: 0 20px;
  transition: color 0.3s ease-in-out;
  white-space: nowrap;
  color: #72727D;
}
.tags__it:hover:not(div) {
  color: #050510;
}
.tags__it.active {
  color: #050510;
  border-color: #050510;
  border-width: 2px;
}
@media (max-width: 1023.98px) {
  .tags {
    overflow: auto;
    flex-wrap: nowrap;
    margin: 0 -100px 30px;
    padding: 0 100px 5px;
  }
}
@media (max-width: 609.98px) {
  .tags__it {
    height: 36px;
    padding: 0 10px;
    font-size: 14px;
  }
}

.link {
  color: #315EA7;
  font-size: 16px;
  text-decoration: underline;
  transition: all 0.3s ease-in-out;
  display: inline-flex;
  align-items: center;
}
.link .icon {
  width: 20px;
  height: 20px;
  margin-left: 8px;
}
.link:hover {
  text-decoration: none;
}
.link.opened {
  color: #72727D;
}
.link__arrow {
  font-size: 24px;
  line-height: 1.4583333333;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, 0.5);
  transition: color 0.3s ease-in-out;
}
.link__arrow .icon {
  width: 24px;
  height: 24px;
}
.link__arrow:hover {
  color: #fff;
}
.link__arrow:hover .icon {
  transform: translateX(5px);
}
.link__toggle {
  margin-top: 10px;
}
.link__toggle .close_t {
  display: none;
}
.link__toggle.opened .open_t {
  display: none;
}
.link__toggle.opened .close_t {
  display: block;
}
@media (max-width: 767.98px) {
  .link__arrow {
    font-size: 16px;
  }
}
@media (max-width: 360px) {
  .link__arrow {
    font-size: 14px;
  }
}

.btn_more {
  width: 50px;
  height: 50px;
  background: #315EA7;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  left: 0;
  margin: 0;
  color: #fff;
  background: rgba(236, 235, 226, 0.4);
  backdrop-filter: blur(2.5px);
  z-index: 10;
  transition: background 0.3s ease-in-out;
}
.btn_more:hover, .item-hover:hover .btn_more {
  background: #FFFF7F;
  color: #050510;
}
.btn_more .icon {
  position: relative;
  z-index: 2;
  width: 35%;
}

.content__toggle {
  overflow: hidden;
  max-height: 76px;
  transition: all 0.3s ease-in-out;
}
/**************************************************************
.breadcrumbs
**************************************************************/
.breadcrumbs {
  margin-top: 20px;
  margin-bottom: 30px;
}
.breadcrumbs__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 0;
}
.breadcrumbs__item {
  color: #050510;
  font-size: 14px;
  display: flex;
  align-items: center;
}
.breadcrumbs__item:not(:last-child):after {
  margin: 0 10px;
  color: #72727D;
  content: "/";
}
.breadcrumbs__link {
  color: #72727D;
  transition: all 0.3s ease-in-out;
}
.breadcrumbs__link:hover {
  color: #315EA7;
}
@media (max-width: 767.98px) {
  .breadcrumbs {
    margin-bottom: 20px;
  }
}
/**************************************************************
.pagination
**************************************************************/
.pagination {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.pagination .page-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.pagination .page-item.disabled {
  display: none;
}
.pagination .page-link {
  background: none;
  min-width: 50px;
  height: 39px;
  color: #72727D;
  border: 1px solid #72727D;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}
.pagination .page-link:hover {
  border-color: #315EA7;
  color: #315EA7;
}
.pagination .active .page-link {
  background: #315EA7;
  border-color: #315EA7;
  color: #fff;
}
@media (max-width: 767.98px) {
  .pagination {
    justify-content: center;
  }
}
@media (max-width: 609.98px) {
  .pagination {
    margin-top: 30px;
  }
}

/**************************************************************
SVG ANIMATION
**************************************************************/
.item--svgh svg {
  transition: all 450ms cubic-bezier(0.3, 1.4, 0.85, 1.5);
}
.item--svgh svg * {
  transition: all 450ms cubic-bezier(0.3, 1.4, 0.85, 1);
}
.item--svgh .svg-coupon .p-1 {
  transform-origin: center center;
}
.item--svgh:hover .svg-analysis .p-1 {
  transform: translate(-10%, 10%);
}
.item--svgh:hover .svg-chart .p-1 {
  transform: scaleY(1.5);
  transform-origin: bottom;
}
.item--svgh:hover .svg-chart .p-2 {
  transform: scaleY(0.8);
  transform-origin: center;
}
.item--svgh:hover .svg-chart .p-3 {
  transform: scaleY(0.8) translateY(-6%);
  transform-origin: center;
}
.item--svgh:hover .svg-rect {
  transform: rotate(90deg);
}
.item--svgh:hover .svg-rocket {
  transform: rotate(45deg);
}
.item--svgh:hover .svg-image g {
  transform: translateX(20%) scale(0.8);
}
.item--svgh:hover .svg-coupon .p-1 {
  transform: rotate(180deg);
}

/**************************************************************
swiper
**************************************************************/
.swiper-slide {
  height: auto;
}

.swiper-pagination {
  display: flex;
}
.swiper-pagination-after {
  position: static;
  margin-top: 20px;
  justify-content: center;
}
.swiper-pagination-bullet {
  margin: 0 7px !important;
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.5);
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
.swiper-pagination-after .swiper-pagination-bullet {
  background: rgba(114, 114, 125, 0.3);
}
.swiper-pagination-bullet-active {
  background: #315EA7 !important;
}
.swiper-pagination-yellow .swiper-pagination-bullet-active {
  background: #FFFF7F !important;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
@media (max-width: 767.98px) {
  .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 6px !important;
  }
}

.swiper-button {
  width: 50px;
  height: 50px;
  background: #315EA7;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  left: 0;
  margin: 0;
  color: #050510;
  background: rgba(114, 114, 125, 0.3);
  backdrop-filter: blur(2.5px);
  z-index: 10;
  transition: background 0.3s ease-in-out;
  transform: translate(-50%, -50%);
}
.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 {
    background: #FFFF7F;
  }
}
.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;
}

/**************************************************************
swiper
**************************************************************/
.datepicker {
  width: 100%;
  font-family: "Play", sans-serif;
}
.datepicker__header {
  background: #315EA7;
}
.datepicker__wrapper {
  border-color: #315EA7;
}

/**************************************************************
forms
**************************************************************/
.input::-webkit-input-placeholder {
  color: #BBBBBB;
  opacity: 1;
}

.input::-o-input-placeholder {
  color: #BBBBBB;
  opacity: 1;
}

.input::-moz-input-placeholder {
  color: #BBBBBB;
  opacity: 1;
}

.input:-moz-input-placeholder {
  color: #BBBBBB;
  opacity: 1;
}

.input::-ms-input-placeholder {
  color: #BBBBBB;
  opacity: 1;
}

.input input-placeholder {
  color: #BBBBBB;
  opacity: 1;
}

.input::placeholder {
  color: #BBBBBB;
  opacity: 1;
}

.input:placeholder-shown {
  color: #BBBBBB;
  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;
}

.but,
input[type=submit] {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

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

.form__box {
  margin-bottom: 20px;
}
.form__box-toggle {
  display: none;
}
.form__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0 10px;
}
.form__cols.cols--sm-lg {
  grid-template-columns: 0.67fr 1.33fr;
}
.form__row {
  margin-bottom: 10px;
  min-width: 0px;
  position: relative;
}
.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;
  cursor: pointer;
  font-size: 12px;
}
.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: #315EA7;
  border-color: #315EA7;
}
.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: #315EA7;
  border-color: #315EA7;
}
@media (max-width: 1023.98px) {
  .form__cols.cols--sm-lg {
    grid-template-columns: 260px 1fr;
  }
}
@media (max-width: 767.98px) {
  .form__box {
    margin-bottom: 20px;
  }
  .form__box-toggle {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: none;
    border: none;
    outline: none;
    display: block;
  }
  .form__box-lt {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 16px;
  }
  .form__box-lt:after {
    width: 20px;
    height: 20px;
    background: url(../images/icons/drop.svg) no-repeat center center;
    transition: all 0.3s ease-in-out;
    content: "";
  }
  .form__box.opened .form__box-lt:after {
    transform: scale(1, -1);
    opacity: 0.5;
  }
  .form__box-body {
    overflow: hidden;
    opacity: 0;
    max-height: 0px;
    transition: all 0.3s ease-in-out;
  }
  .form__box.opened .form__box-body {
    opacity: 1;
  }
  .form__cols {
    display: block;
  }
  .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;
  background: none;
  border: 1px solid #BBBBBB;
  border-radius: 0 !important;
  font-family: "Play", sans-serif;
  font-size: 16px;
  color: #050510;
  transition: border-color 0.2s ease-in-out;
}
.input:focus {
  border-color: #315EA7;
  border-width: 2px;
  padding-left: 19px;
  padding-right: 19px;
}
.input.error, .input.is-invalid {
  border-color: #C30000;
  border-width: 2px;
  padding-left: 19px;
  padding-right: 19px;
  color: #C30000;
}
.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: #C30000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
}
[class*=col-] > .input__error {
  padding-left: 15px;
}
.input.error ~ .input__error {
  opacity: 1;
  visibility: visible;
}
.input--white {
  border-color: #fff;
  color: #fff;
}
.input--white::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.input--white::-o-input-placeholder {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.input--white::-moz-input-placeholder {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.input--white:-moz-input-placeholder {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.input--white::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.input--white input-placeholder {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.input--white::placeholder {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.input--white:placeholder-shown {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.input--white:focus {
  border-color: #FFFF7F;
}
.input--date {
  background-image: url(../images/icons/calendar.svg);
  background-position: right 20px center;
  background-repeat: no-repeat;
}
@media (max-width: 767.98px) {
  .input {
    height: 54px;
    font-size: 16px;
  }
}

textarea.input {
  line-height: normal;
  padding-top: 20px;
  padding-bottom: 20px;
  resize: none;
  height: 160px;
}
textarea.input.h--sm {
  height: 120px;
}
textarea.input.h--md {
  height: 200px;
}
textarea.input.h--lg {
  height: 240px;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 30px;
  height: 60px;
  border: none;
  background: #315EA7;
  font-weight: 700;
  font-size: 16px;
  color: #fff;
  font-family: "Play", sans-serif;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease-in-out;
}
@media (any-hover: hover) {
  .btn:hover {
    background: #5380C9;
  }
  .btn:active {
    background: #1F386C;
  }
}
.btn--dark {
  background: #1F386C;
}
@media (any-hover: hover) {
  .btn--dark:hover {
    background: #364F83;
  }
  .btn--dark:active {
    background: #1B2B4D;
  }
}
.btn--yellow {
  background: #FFFF7F;
  color: #050510;
}
@media (any-hover: hover) {
  .btn--yellow:hover {
    background: #FFFFA5;
  }
  .btn--yellow:active {
    background: #FFFF47;
  }
}
.btn--gray {
  background: #72727D;
}
@media (any-hover: hover) {
  .btn--gray:hover {
    background: #8E8E99;
  }
  .btn--gray:active {
    background: #4B4B56;
  }
}
.btn--white {
  background: #fff;
  color: #315EA7;
}
@media (any-hover: hover) {
  .btn--white:hover {
    background: #315EA7;
    color: #fff;
  }
}
.btn--bd {
  border: 2px solid #fff;
  background: none;
}
.btn--bd.btn--white {
  border-color: #315EA7;
  background: #fff;
}
@media (any-hover: hover) {
  .btn--bd:hover {
    border-color: #315EA7;
    background: #315EA7;
  }
  .btn--bd:active {
    background: #1F386C;
  }
}
.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;
}
@media (max-width: 767.98px) {
  .btn {
    min-width: 1px;
  }
}

.choices {
  text-align: left;
}
.choices[data-type*=select-one]:after {
  width: 22px;
  height: 22px;
  border: none;
  right: 20px;
  margin-top: -10px !important;
  background: url(../images/icons/drop.svg) no-repeat center center;
}
.choice--white .choices[data-type*=select-one]:after {
  background-image: url(../images/icons/drop-white.svg);
}
.choices.is-open[data-type*=select-one]:after {
  transform: scale(1, -1);
}
.choices__inner {
  height: 60px;
  padding: 0 20px;
  padding-bottom: 0 !important;
  background: none;
  border: 1px solid #BBBBBB;
  border-radius: 0 !important;
  font-family: "Play", sans-serif;
  font-size: 16px;
  color: #050510;
  display: flex;
  align-items: center;
}
.is-open .choices__inner {
  border-color: #315EA7;
  border-width: 2px;
}
.choice--white .choices__inner {
  border-color: #fff;
  color: #fff;
}
.choice--white .is-open .choices__inner {
  border-color: #FFFF7F;
}
.choices__placeholder {
  opacity: 1;
  color: #BBBBBB;
}
.choice--white .choices__placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.choices__list--single {
  padding: 0;
}
.choices__list--dropdown {
  border: none !important;
  border-radius: 0 !important;
  margin-top: 8px !important;
}
.choices__list--dropdown .choices__placeholder {
  display: none;
}
.choices__list--dropdown .choices__item {
  color: #050510;
  font-size: 16px !important;
  padding: 10px 20px !important;
}
.choices__list--dropdown .choices__item::after {
  display: none;
}
@media (max-width: 767.98px) {
  .choices__inner {
    height: 54px;
    font-size: 16px;
  }
}

.addfile {
  position: relative;
}
.addfile input {
  display: none;
}
.addfile__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 5px 20px;
  cursor: pointer;
  height: 60px;
  color: #fff;
  font-weight: 700;
  background: #72727D;
  transition: all 0.3s ease-in-out;
}
.addfile:hover .addfile__label {
  background: #315EA7;
}
.addfile__t {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.addfile__browse {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.addfile__browse .icon {
  width: 100%;
  height: 100%;
  transition: initial;
}
.addfile__preview {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 4px;
  color: #475569;
  font-size: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media (max-width: 767.98px) {
  .addfile__label {
    height: 54px;
    font-size: 16px;
  }
}

.btn-more {
  width: 100%;
  max-width: 570px;
  border: 2px solid #fff;
  background: none;
  margin-top: 40px;
}

/**************************************************************
popup
**************************************************************/
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  z-index: -100;
  transition: all 0.3s ease-in-out;
}
.popup.opened {
  z-index: 999999;
  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: #050510;
  opacity: 0.6;
}
.popup__container {
  position: relative;
  width: 100%;
  max-width: 892px;
  padding: 40px 50px 56px;
  background: #F2F2F2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup--callback .popup__container {
  padding: 0;
  max-width: 1200px;
}
.popup--thank .popup__container {
  text-align: center;
  max-width: 600px;
  min-height: 500px;
  padding: 80px 50px;
  background: #1F386C;
  color: #fff;
}
.popup__body {
  width: 100%;
}
.popup__close {
  position: absolute;
  left: 100%;
  top: 0;
  margin-left: 10px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  z-index: 99;
  color: #fff;
  display: flex;
}
.popup__close .icon {
  width: 100%;
  height: 100%;
}
.popup__close:hover {
  color: #315EA7;
}
.popup--blue .popup__close:hover {
  color: #315EA7;
}
.popup--thank .popup__close {
  left: auto;
  right: 30px;
  top: 30px;
}
.popup--thank .popup__close:hover {
  color: #FFFF7F;
}
.popup__head {
  margin-bottom: 30px;
}
.popup--thank .popup__head {
  margin-bottom: 0;
}
.popup__title {
  font-weight: bold;
  font-size: 36px;
  text-transform: uppercase;
}
.popup__intro {
  margin-top: 10px;
  font-size: 20px;
}
.popup--callback .callback__inner {
  margin: 0;
}
@media (max-width: 1329.98px) {
  .popup--callback .popup__container {
    max-width: 900px;
  }
}
@media (max-width: 1023.98px) {
  .popup__container {
    padding: 20px 30px 36px;
    max-width: 678px;
    margin-top: 50px;
  }
  .popup--thank .popup__container {
    max-width: 500px;
    min-height: 450px;
    padding: 30px;
  }
  .popup__close {
    left: auto;
    right: 0;
    top: -50px;
  }
}
@media (max-width: 609.98px) {
  .popup__container {
    padding: 20px 20px 36px;
  }
  .popup--thank .popup__container {
    min-height: 300px;
    padding: 40px 20px;
  }
  .popup--thank .popup__close {
    right: 10px;
    top: 10px;
  }
  .popup--thank .popup__close:hover {
    color: #FFFF7F;
  }
  .popup__title {
    font-size: 26px;
  }
  .popup__intro {
    font-size: 16px;
    margin-top: 10px;
  }
}

.cookie {
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  position: fixed;
  bottom: 60px;
  right: 50%;
  margin-right: -600px;
  z-index: 99;
}
.cookie.opened {
  opacity: 1;
  visibility: visible;
}
.cookie__inner {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(10px);
  border: 2px solid #fff;
  max-width: 610px;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 30px;
}
.cookie__inner a {
  color: #fff;
  text-decoration: underline;
}
.cookie__inner a:hover {
  text-decoration: none;
}
.cookie__buttons {
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: 10px;
}
.cookie__buttons .btn {
  min-width: 140px;
}
@media (min-width: 1024px) and (max-height: 650px) {
  .cookie {
    bottom: 30px;
  }
}
@media (min-width: 1024px) and (max-height: 550px) {
  .cookie {
    bottom: 25px;
  }
}
@media (max-width: 1249.98px) {
  .cookie {
    margin-right: -480px;
  }
}
@media (max-width: 1023.98px) {
  .cookie {
    left: 50%;
    right: auto;
    margin-right: 0;
    margin-left: -339px;
  }
}
@media (max-width: 767.98px) {
  .cookie {
    bottom: 16px;
    margin-left: 0;
    left: 0;
  }
  .cookie__inner {
    width: 100%;
    max-width: 340px;
    padding: 20px;
    flex-direction: column;
    gap: 12px;
  }
  .cookie__inner br {
    display: none;
  }
  .cookie__buttons .btn {
    min-width: 1px;
  }
}
@media (max-width: 360px) {
  .cookie__buttons {
    width: 100%;
  }
  .cookie__buttons .btn {
    width: 100%;
    padding: 0 15px;
  }
}

/**************************************************************
header
**************************************************************/
.header {
  position: relative;
  z-index: 99;
  background: #fff;
}
.header__fixed {
  z-index: 99;
}
.header__fixed.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}
.header__inner {
  display: flex;
  align-items: center;
  gap: 30px;
}
.header__top {
  background: #315EA7;
}
.header__top .header__inner {
  height: 40px;
  padding-top: 5px;
  padding-bottom: 5px;
}
.header__social .social__items {
  gap: 0;
}
.header__social .social__item {
  width: 24px;
  height: 24px;
}
.header__social .social__item .icon {
  width: 100%;
  height: 100%;
}
.header__contacts {
  display: flex;
  gap: 40px;
  margin-left: auto;
}
.header__contact {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #fff;
  font-size: 12px;
}
.header__contact-icon {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.5;
  transform: translateY(1px);
}
.header__cont {
  background: #fff;
}
.fixed .header__cont {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}
.header__cont .header__inner {
  padding-top: 20px;
  padding-bottom: 20px;
  transition: all 0.3s ease-in-out;
}
.header.fixed .header__cont .header__inner {
  padding-top: 8px;
  padding-bottom: 8px;
}
.header__logo {
  max-width: 220px;
}
.header__menu {
  margin: 0 auto;
}
.header__lang {
  position: relative;
  z-index: 5;
  width: 75px;
  font-size: 16px;
}
.header__lang-current {
  position: relative;
  height: 24px;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}
.header__lang-current::after {
  width: 24px;
  height: 24px;
  background: url(../images/icons/arrow-drop.svg) no-repeat center center;
  transition: all 0.3s ease-in-out;
  content: "";
}
.header__lang:hover .header__lang-current:after, .header__lang.opened .header__lang-current:after {
  transform: scale(1, -1);
}
.header__lang-icon {
  margin-right: 10px;
  width: 24px;
  height: 24px;
}
.header__lang-icon .icon {
  width: 100%;
  height: 100%;
}
.header__lang-open {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
  display: none;
}
.header__lang-drop {
  position: absolute;
  left: -10px;
  top: 100%;
  width: calc(100% + 20px);
  background: #fff;
  padding: 12px 10px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}
.header__lang-drop ul {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.header__lang-drop li {
  padding-left: 34px;
}
.header__lang-drop li.current {
  display: none;
}
.header__lang-drop li a {
  display: flex;
  align-items: center;
  color: #050510;
  transition: all 0.3s ease-in-out;
}
.header__lang-drop li a:hover {
  color: #315EA7;
}
.header__lang:hover .header__lang-drop, .header__lang.opened .header__lang-drop {
  opacity: 1;
  visibility: visible;
}
.header__call {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.header__call-link {
  color: #315EA7;
  font-size: 16px;
  font-weight: bold;
  transition: all 0.3s ease-in-out;
}
.header__call-link:hover {
  color: #1F386C;
}
.header__phone {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.1;
}
.header__burger {
  display: none;
}
@media (max-width: 1249.98px) {
  .header__logo {
    margin-right: auto;
  }
  .header__menu {
    display: none;
  }
  .header__burger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    background: none;
    cursor: pointer;
    outline: none;
  }
}
@media (max-width: 1023.98px) {
  .header__con .header__inner {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
@media (max-width: 1023.98px) {
  .header__inner {
    gap: 20px;
  }
  .header__contacts {
    display: none;
  }
  .header__logo {
    max-width: 170px;
  }
  .header__lang {
    position: absolute;
    top: -32px;
    right: 0;
    color: #fff;
  }
  .header__lang-current::after {
    background-image: url(../images/icons/arrow-drop-white.svg);
  }
  .header__lang-open {
    display: block;
  }
  .header__lang-drop {
    background: #315EA7;
  }
  .header__lang-drop li a {
    color: #fff;
  }
  .header__phone {
    font-size: 24px;
  }
  .header__call-link {
    font-size: 14px;
  }
}
@media (max-width: 767.98px) {
  .header__inner {
    flex-wrap: wrap;
    gap: 10px;
  }
  .header__logo {
    margin-right: auto;
  }
  .header__call-link {
    display: none;
  }
  .header__phone {
    overflow: hidden;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    font-size: 0px;
    text-indent: -100px;
    color: #315EA7;
    background: url(../images/icons/call.svg) no-repeat center center;
    background-color: #315EA7;
  }
  .header__action {
    width: 100%;
    margin-top: 10px;
    order: 5;
  }
  .header__action .btn {
    width: 100%;
  }
  .header.fixed .header__action {
    display: none;
  }
  .header__lang {
    right: 16px;
  }
}

.menu__list {
  display: flex;
  align-items: center;
  gap: 20px;
}
.menu__item {
  position: relative;
}
.menu__link {
  display: flex;
  align-items: center;
  gap: 0px;
  color: #050510;
  transition: background 0.3s ease-in-out;
}
.menu__link .icon {
  width: 20px;
  height: 20px;
}
.menu__item.active > .menu__link, .menu__item:hover .menu__link {
  color: #315EA7;
}
.menu__item:hover .menu__link .icon {
  transform: scale(1, -1);
}

.submenu {
  position: absolute;
  left: -20px;
  top: 100%;
  min-width: 280px;
  transition: all 0.3s ease-in-out;
  transform: translateY(5px);
  opacity: 0;
  visibility: hidden;
}
.submenu .submenu {
  left: 100%;
  top: -20px;
}
.menu__item:hover > .submenu, .submenu__item:hover .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
.submenu__list {
  background: #fff;
  padding: 20px;
}
.submenu__item {
  position: relative;
}
.submenu__item + .submenu__item {
  margin-top: 12px;
}
.submenu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #050510;
  white-space: nowrap;
  transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}
.submenu__link:hover {
  color: #315EA7;
}
.submenu__link .icon {
  width: 20px;
  height: 20px;
  transform: rotate(-90deg);
}
.submenu__link.active {
  color: #315EA7;
}

.navfix {
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 40px;
  width: 100%;
  height: calc(var(--vh) * 100 - 40px);
  background: #315EA7;
  z-index: -100;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  overflow: auto;
  margin: 0;
  padding-bottom: 40px;
  color: #fff;
}
.fixed .navfix {
  top: 0;
  height: calc(var(--vh) * 100);
}
.navfix.opened {
  z-index: 99999;
  opacity: 1;
  visibility: visible;
}
.navfix__box {
  width: 100%;
  max-width: 430px;
  height: calc(var(--vh) * 100);
  padding: 100px 66px 100px 40px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 5;
  background: #FFFFFF;
  overflow: auto;
  scrollbar-color: #315EA7 #E0EFFF;
  scrollbar-width: thin;
  transition: transform 0.3s ease-in-out;
  transform: translateX(100%);
}
.navfix.opened .navfix__box {
  transform: translateX(0%);
}
.navfix__head {
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: sticky;
  top: 0;
  z-index: 5;
}
.navfix__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background: none;
  cursor: pointer;
  outline: none;
  opacity: 0.5;
}
.navfix__menu {
  display: flex;
  gap: 30px;
}
.navfix__menu-col {
  flex: 1 0 0;
}
.navfix__menu-item + .navfix__menu-item {
  margin-top: 40px;
}
.navfix__menu-title {
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.navfix__menu-list li + li {
  margin-top: 10px;
}
.navfix__menu-list li a {
  color: rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease-in-out;
}
.navfix__menu-list li a:hover {
  color: #FFFF7F;
  font-weight: bold;
}
.navfix__menu-toggle {
  display: none;
}
.navfix__phone {
  color: #fff;
  font-size: 32px;
  font-weight: bold;
}
.navfix__call {
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
}
.navfix__call-link {
  color: #FFFF7F;
  font-weight: bold;
}
.navfix__call-action {
  margin-top: 20px;
}
@media (max-width: 767.98px) {
  .navfix__head {
    background: #315EA7;
  }
  .navfix__menu {
    display: block;
  }
  .navfix__menu .navfix__menu-item {
    display: block !important;
  }
  .navfix__menu-item {
    margin-top: 18px !important;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
  }
  .navfix__menu-col:first-child .navfix__menu-item:first-child {
    margin-top: 0 !important;
    padding-top: 0;
    border: none;
  }
  .navfix__menu-list {
    overflow: hidden;
    opacity: 0;
    max-height: 0px;
    transition: all 0.3s ease-in-out;
  }
  .navfix__menu-list ul {
    padding-top: 10px;
  }
  .navfix__menu-item.opened .navfix__menu-list {
    opacity: 1;
  }
  .navfix__menu-title {
    margin-bottom: 0;
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .navfix__menu-title::after {
    width: 20px;
    height: 20px;
    background: url(../images/icons/drop-white.svg) no-repeat center center;
    transition: all 0.3s ease-in-out;
    content: "";
  }
  .navfix__menu-item.opened .navfix__menu-title::after {
    transform: scale(1, -1);
    opacity: 0.5;
  }
  .navfix__menu-toggle {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: none;
    border: none;
    outline: none;
    display: block;
  }
}

/**************************************************************
footer
**************************************************************/
.footer {
  overflow: hidden;
  background: #F2F2F2;
}
.footer__inner {
  display: flex;
}
.footer__pdtb {
  padding-top: 40px;
  padding-bottom: 40px;
}
.footer__left {
  width: 284px;
  flex: 0 0 auto;
  padding-right: 24px;
  display: flex;
  flex-direction: column;
  font-size: 12px;
}
.footer__left-bottom {
  margin-top: auto;
  padding-top: 60px;
  opacity: 0.5;
  text-transform: uppercase;
}
.footer__logo {
  max-width: 220px;
}
.footer__desc {
  margin-top: 20px;
  max-width: 220px;
}
.footer__social {
  margin-top: 30px;
}
.footer__info {
  padding-left: 24px;
  flex: 1 0 0;
  position: relative;
  color: #fff;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
}
.footer__info::after {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 5000px;
  z-index: -1;
  background: #315EA7;
  content: "";
}
.footer__nav {
  flex: 1 0 0;
  padding-right: 24px;
  display: flex;
  gap: 24px;
}
.footer__nav-col {
  flex: 1 0 0;
}
.footer__nav-item + .footer__nav-item {
  margin-top: 40px;
}
.footer__nav-title {
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.footer__nav-list li + li {
  margin-top: 10px;
}
.footer__nav-list li a {
  color: rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease-in-out;
}
.footer__nav-list li a:hover {
  color: #FFFF7F;
  font-weight: bold;
}
.footer__nav-toggle {
  display: none;
}
.footer__contacts {
  width: 280px;
}
.footer__contacts-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer__contacts-items {
  margin-top: 40px;
}
.footer__contacts-item {
  display: flex;
  gap: 10px;
}
.footer__contacts-item + .footer__contacts-item {
  margin-top: 20px;
}
.footer__contacts-item__icon {
  opacity: 0.5;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  opacity: 0.5;
}
.footer__contacts-item__icon img {
  width: 100%;
}
.footer__contacts-item__val {
  min-height: 24px;
  display: flex;
  align-items: center;
}
.footer__bottom {
  width: 100%;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  text-transform: uppercase;
  margin-top: 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px;
}
.footer__bottom a {
  transition: all 0.3s;
  color: rgba(255, 255, 255, 0.5);
}
.footer__bottom a:hover {
  color: #fff;
}
@media (max-width: 1249.98px) {
  .footer__inner {
    display: block;
  }
  .footer__left {
    width: 100%;
    flex-direction: row;
    gap: 24px;
    padding-right: 0;
  }
  .footer__desc {
    width: 50%;
    max-width: 100%;
    margin-left: auto;
    margin-top: 0;
    padding-left: 12px;
  }
  .footer__social {
    margin-top: 20px;
  }
  .footer__info {
    padding-left: 0;
  }
  .footer__info::after {
    left: -500px;
  }
}
@media (max-width: 1023.98px) {
  .footer__left {
    padding-bottom: 46px;
  }
  .footer__info {
    gap: 24px;
    padding-top: 30px;
  }
  .footer__nav {
    flex-direction: column;
    gap: 40px;
    padding-right: 0;
  }
  .footer__contacts {
    flex: 1 0 0;
  }
  .footer__contacts-buttons {
    margin-top: 40px;
  }
  .footer__bottom {
    display: grid;
    grid-template-columns: repeat(3, auto);
  }
}
@media (max-width: 609.98px) {
  .footer__left {
    display: block;
    padding: 20px 0 26px;
  }
  .footer__desc {
    padding: 0;
    margin: 10px 0 0;
    width: 100%;
  }
  .footer__info {
    padding: 24px 0 20px;
    flex-direction: column;
    gap: 30px;
  }
  .footer__contacts {
    flex: 0 0 auto;
    width: 100%;
  }
  .footer__contacts-buttons {
    margin-top: 0;
  }
  .footer__contacts-items {
    margin-top: 30px;
  }
  .footer__nav {
    gap: 0;
  }
  .footer__nav .footer__nav-item {
    display: block !important;
  }
  .footer__nav-item {
    margin-top: 20px !important;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
  }
  .footer__nav-col:first-child .footer__nav-item:first-child {
    margin-top: 0 !important;
    padding-top: 0;
    border: none;
  }
  .footer__nav-list {
    overflow: hidden;
    opacity: 0;
    max-height: 0px;
    transition: all 0.3s ease-in-out;
  }
  .footer__nav-item.opened .footer__nav-list {
    opacity: 1;
  }
  .footer__nav-title {
    margin-bottom: 0;
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .footer__nav-title::after {
    width: 20px;
    height: 20px;
    background: url(../images/icons/drop-white.svg) no-repeat center center;
    transition: all 0.3s ease-in-out;
    content: "";
  }
  .footer__nav-item.opened .footer__nav-title::after {
    transform: scale(1, -1);
    opacity: 0.5;
  }
  .footer__nav-toggle {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: none;
    border: none;
    outline: none;
    display: block;
  }
  .footer__bottom {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
}

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

**************************************************************/
.hero__slider-nav {
  position: absolute;
  left: 0;
  bottom: 60px;
  width: 100%;
  z-index: 5;
}
.hero__slider .swiper-nav {
  justify-content: flex-start;
}
.hero__item {
  min-height: 580px;
  padding-top: 60px;
  padding-bottom: 120px;
  position: relative;
}
.hero__item::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 75%;
  height: 100%;
  background: linear-gradient(90deg, #F2F2F2 0%, rgba(242, 242, 242, 0) 100%);
  z-index: 2;
  content: "";
}
.hero__item-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.hero__item-inner {
  position: relative;
  z-index: 5;
  width: 49%;
}
.hero__item-title {
  font-size: 60px;
  font-weight: bold;
  text-transform: uppercase;
}
.hero__item-text {
  margin-top: 10px;
  font-size: 20px;
}
.hero__item-buttons {
  margin-top: 30px;
}
@media (max-width: 1023.98px) {
  .hero__slider-nav {
    display: none;
  }
  .hero__slider .swiper-pagination {
    position: absolute;
    bottom: 30px;
    width: 100%;
    justify-content: center;
  }
  .hero__item {
    height: 884px;
    padding: 50px 0 60px;
  }
  .hero__item::before {
    width: 100%;
    height: 80%;
    background: linear-gradient(180deg, #F2F2F2 0%, rgba(242, 242, 242, 0) 100%);
  }
  .hero__item-inner {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .hero__slider .swiper-pagination {
    bottom: 20px;
  }
  .hero__item {
    height: 585px;
    padding-top: 20px;
  }
  .hero__item-title {
    font-size: 44px;
  }
  .hero__item-buttons {
    margin-top: 20px;
  }
}
@media (max-width: 478.98px) {
  .hero__item-title {
    font-size: 30px;
  }
  .hero__item-buttons .btn {
    width: 100%;
  }
}

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

**************************************************************/
.services__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 3px;
}
.services__item {
  position: relative;
  overflow: hidden;
  background: #050510;
  height: 430px;
  color: #fff;
}
.services__item::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  z-index: 2;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
  content: "";
}
.services__item:hover::before {
  opacity: 1;
}
.services__item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.5;
}
.services__item-info {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 40px;
  z-index: 5;
}
.services__item-text {
  max-height: 0;
  opacity: 0;
  transition: max-height 0.7s ease, opacity 0.7s ease-in-out;
}
.services__item:hover .services__item-text {
  max-height: 200px;
  opacity: 1;
  transition: max-height 1s ease, opacity 0.7s ease-in-out;
}
.services__item-buttons {
  margin-top: 30px;
}
.services__item-mlink {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}
@media (max-width: 1023.98px) {
  .services {
    overflow: hidden;
  }
  .services__items {
    display: flex;
    gap: 8px;
    margin: 0 -100px;
    padding: 0 100px 5px;
    overflow: auto;
  }
  .services__item {
    width: 400px;
    flex: 0 0 auto;
  }
  .services__item-text {
    display: none;
  }
}
@media (max-width: 609.98px) {
  .services__item {
    width: 244px;
  }
  .services__item-info {
    padding: 30px;
  }
  .services__item-buttons {
    margin-top: 20px;
  }
}

@media (max-width: 767.98px) {
  .service__content {
    overflow: hidden;
  }
}

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

**************************************************************/
.m_about {
  background: #F2F2F2;
}
.m_about__head .btn {
  margin-top: 10px;
}
.m_about__ntitle {
  font-size: 100px;
  color: #BBB;
  font-weight: 700;
  text-transform: uppercase;
  text-align: right;
}
.m_about__numbers {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.m_about__number-val {
  font-size: 60px;
  font-weight: 700;
  color: #315EA7;
}
.m_about__number-text {
  font-size: 20px;
}
@media (max-width: 1249.98px) {
  .m_about__numbers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 40px 30px;
  }
  .m_about__buttons {
    display: flex;
    align-items: flex-end;
  }
}
@media (max-width: 1023.98px) {
  .m_about__ntitle {
    font-size: 90px;
    text-align: left;
  }
  .m_about__numbers {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 609.98px) {
  .m_about__ntitle {
    font-size: 60px;
  }
  .m_about__numbers {
    grid-gap: 30px 8px;
  }
  .m_about__number.w-100 {
    grid-column: span 2;
  }
  .m_about__number-val {
    font-size: 50px;
  }
  .m_about__buttons {
    grid-column: span 2;
  }
}

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

**************************************************************/
.callback {
  position: relative;
}
.callback__inner {
  position: relative;
  margin: 0 -100px;
  padding: 50px;
}
.callback__inner::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 52.5%;
  height: 100%;
  background: linear-gradient(90deg, rgba(5, 5, 16, 0.8) 0%, rgba(5, 5, 16, 0) 100%);
  content: "";
  z-index: 2;
}
.callback__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.callback__form {
  position: relative;
  z-index: 5;
  width: 500px;
  padding: 50px;
  border: 2px solid #fff;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  text-align: center;
  color: #fff;
}
.callback__form.w--all {
  width: 100%;
}
.callback__form-head {
  margin-bottom: 30px;
}
.callback__form-subtitle {
  margin-bottom: 10px;
  text-transform: uppercase;
  color: #FFFF7F;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 4px;
}
.callback__form-title {
  font-size: 26px;
  font-weight: bold;
}
.callback__form form {
  max-width: 810px;
  margin: 0 auto;
}
.callback__form-buttons {
  max-width: calc(50% - 5px) !important;
  width: 100%;
}
@media (max-width: 1329.98px) {
  .callback__inner {
    margin: 0 -60px;
    padding: 50px 60px;
  }
  .callback__inner::before {
    width: 100%;
  }
}
@media (max-width: 1023.98px) {
  .m_about + .callback {
    margin-top: 0;
  }
  .callback__form {
    width: 420px;
  }
}
@media (max-width: 767.98px) {
  .callback__inner {
    padding: 20px 16px;
    margin: 0 -16px;
  }
  .callback__inner::before {
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
  }
  .callback__form {
    width: 100%;
    padding: 30px 20px 40px;
  }
  .callback__form-subtitle {
    font-size: 16px;
    letter-spacing: 3.2px;
  }
  .callback__form-buttons {
    max-width: 100% !important;
  }
}

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

**************************************************************/
.partners {
  overflow: hidden;
}
.partners__carousel {
  overflow: initial;
}
.partners__item {
  height: 67px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.partners__item img {
  max-height: 100%;
}
@media (max-width: 1023.98px) {
  .partners__item {
    width: auto !important;
  }
}

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

**************************************************************/
.values__items {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 24px;
}
.values__item {
  grid-column: span 6;
  padding: 30px 30px 40px;
  background: #F2F2F2;
}
.values__item:nth-child(1) {
  grid-column: span 5;
}
.values__item:nth-child(2) {
  grid-column: span 3;
}
.values__item:nth-child(3) {
  grid-column: span 4;
}
.values__item-icon {
  width: 70px;
  height: 70px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.values__item-title {
  color: #315EA7;
}
@media (max-width: 1249.98px) {
  .values__item {
    padding: 20px 20px 34px;
  }
}
@media (max-width: 1023.98px) {
  .values {
    overflow: hidden;
  }
  .values__items {
    grid-gap: 30px;
    display: flex;
    gap: 30px;
    overflow: auto;
    margin: 0 -100px;
    padding: 0 100px 5px;
  }
  .values__item {
    flex: 0 0 auto;
    width: 442px;
  }
}
@media (max-width: 609.98px) {
  .values__items {
    grid-gap: 8px;
    gap: 8px;
  }
  .values__item {
    width: 244px;
  }
}

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

**************************************************************/
.calculate__inner {
  margin: 0 -50px;
  background: #F2F2F2;
  display: flex;
}
.calculate__box {
  padding: 50px;
}
.calculate__left {
  background: #FFFF7F;
  display: flex;
  flex-direction: column;
  width: 408px;
  flex: 0 0 auto;
  position: relative;
  overflow: hidden;
}
.calculate__left::after {
  position: absolute;
  right: -76px;
  bottom: -115px;
  width: 560px;
  height: 560px;
  background: url(../images/earth_globe.svg) no-repeat;
  content: "";
  opacity: 0.1;
}
.calculate__buttons {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.calculate__form {
  width: 100%;
}
@media (max-width: 1329.98px) {
  .calculate__inner {
    margin: 0;
  }
  .calculate__box {
    padding: 30px;
  }
}
@media (max-width: 1023.98px) {
  .calculate__inner {
    display: block;
  }
  .calculate__left {
    flex-direction: row;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
    padding: 40px 40px 40px 45px;
    min-height: 400px;
  }
  .calculate__left::after {
    bottom: -307px;
    right: -70px;
  }
  .calculate__buttons {
    margin-top: 0;
    width: 308px;
    flex: 0 0 auto;
  }
}
@media (max-width: 609.98px) {
  .calculate__left {
    padding: 20px 20px 88px;
    display: block;
  }
  .calculate__left::after {
    width: 370px;
    height: 370px;
    background-size: 100%;
    bottom: -95px;
    right: -80px;
  }
  .calculate__buttons {
    margin-top: 20px;
    width: 100%;
  }
}

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

**************************************************************/
.blog__items {
  gap: 50px 0;
}
.blog__item {
  position: relative;
}
.blog__item--wsm {
  width: 33.3333333333%;
}
.blog__item--wmdx {
  width: 41.6666666667%;
}
.blog__item--wmd {
  width: 50%;
}
.blog__item--wlg {
  width: 58.3333333333%;
}
.blog__item-photo {
  height: 400px;
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
}
.blog__item-photo.h--smx {
  height: 260px;
}
.blog__item-photo.h--sm {
  height: 300px;
}
.blog__item-photo.h--lg {
  height: 500px;
}
.blog__item-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.3s ease-in-out;
}
.blog__item:hover .blog__item-photo img {
  transform: scale(1.1);
}
.blog__item:hover .blog__item-title {
  color: #315EA7;
}
.blog__item-date {
  font-size: 14px;
  color: #72727D;
  margin-bottom: 20px;
}
.blog__item-tag {
  position: absolute;
  left: 20px;
  bottom: 20px;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  border: 1px solid #fff;
  padding: 12px 26px;
  font-size: 14px;
  color: #fff;
  z-index: 2;
}
.blog__item-mlink {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
@media (max-width: 1023.98px) {
  .blog__item-desc {
    -webkit-line-clamp: 4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
@media (max-width: 609.98px) {
  .blog__items {
    gap: 10px;
  }
  .blog__item {
    width: 100% !important;
  }
  .blog__item-photo {
    height: auto !important;
    padding-bottom: 80%;
  }
}

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

**************************************************************/
.blogd {
  font-size: 1.3rem;
}
.blogd__head {
  margin-bottom: 30px;
}
.blogd__date {
  font-size: 14px;
  margin-top: 20px;
  color: #72727D;
}
.blogd__photo {
  position: relative;
  height: 400px;
  margin-bottom: 20px;
}
.blogd__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.blogd__tag {
  position: absolute;
  left: 20px;
  bottom: 20px;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  border: 1px solid #fff;
  padding: 12px 26px;
  font-size: 14px;
  color: #fff;
  z-index: 2;
}
.blogd__prev {
  margin-top: 30px;
}
.blogd__cols {
  align-items: flex-start;
}
.blogd__aside-bg {
  background: #F2F2F2;
  padding: 40px 40px 66px;
}
.blogd__aside-title {
  font-size: 32px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 30px;
}
.blogd__item {
  position: relative;
}
.blogd__item + .blogd__item {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #72727D;
}
.blogd__item-date {
  margin-bottom: 20px;
  font-size: 14px;
  color: #72727D;
}
.blogd__item:hover .blogd__item-title {
  color: #315EA7;
}
.blogd__item-mlink {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
@media (max-width: 1023.98px) {
  .blogd__aside {
    margin-top: 80px;
  }
  .blogd__aside-bg {
    padding: 40px 40px 42px;
  }
}
@media (max-width: 609.98px) {
  .blogd__content {
    margin-top: 10px;
  }
  .blogd__photo {
    height: 240px;
  }
  .blogd__aside {
    margin-top: 40px !important;
  }
  .blogd__aside-bg {
    padding: 20px;
  }
  .blogd__aside-title {
    font-size: 26px;
  }
}

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

**************************************************************/
.faq__item {
  padding: 25px 30px;
  background: #F2F2F2;
}
.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;
  font-size: 20px;
  min-height: 50px;
  display: flex;
  align-items: center;
}
.faq__item.opened .faq__item-title {
  color: #315EA7;
  font-weight: 700;
  min-height: 0px;
}
.faq__item-plus {
  position: absolute;
  right: 0;
  top: 0;
  flex: 0 0 auto;
  width: 51px;
  height: 51px;
  background: rgba(187, 187, 187, 0.4);
  border-radius: 100%;
  color: #fff;
  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 {
  background: #315EA7;
}
.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: 140px;
  padding-top: 10px;
}
@media (max-width: 767.98px) {
  .faq__item {
    padding: 20px 20px 30px;
  }
  .faq__item + .faq__item {
    margin-top: 10px;
  }
  .faq__item-head {
    padding-right: 0;
  }
  .faq__item-title {
    min-height: 50px !important;
  }
  .faq__item-plus {
    position: static;
  }
  .faq__item-text {
    padding-right: 0;
    padding-top: 16px;
  }
}

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

**************************************************************/
.contacts {
  overflow: hidden;
}
.contacts__hbgmap {
  padding-top: 50px;
  min-height: 280px;
  position: relative;
  color: #fff;
  margin-bottom: 75px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.contacts__hbgmap::after {
  position: absolute;
  left: 50%;
  top: 0;
  width: 10000px;
  height: 600px;
  transform: translateX(-50%);
  background: #1B2B4D;
  content: "";
  z-index: -1;
}
.contacts__hbgmap .section__subtitle {
  color: #FFFF7F;
}
.contacts__hbgmap .contacts__head {
  width: 50%;
  min-height: 220px;
  position: relative;
  z-index: 5;
}
.contacts__hbgmap-map {
  position: absolute;
  top: -90px;
  left: 35px;
  right: 58px;
  height: 600px;
  overflow: hidden;
}
.contacts__hbgmap-pins {
  position: relative;
  height: 150px;
  margin-right: 130px;
}
.contacts__hbgmap-pin {
  position: absolute;
  z-index: 2;
}
.contacts__hbgmap-pin[data-pin="1"] {
  right: 180px;
  bottom: 85px;
}
.contacts__hbgmap-pin[data-pin="2"] {
  right: 90px;
  bottom: 70px;
}
.contacts__hbgmap-pin[data-pin="3"] {
  right: 0;
  bottom: 0;
}
.contacts__hbgmap-pin .border-pin {
  fill: #315EA7;
  transition: all 0.3s ease-in-out;
}
.contacts__hbgmap-pin.active .border-pin {
  fill: #FFFF7F;
}
.contacts__forminf {
  margin: 0 -50px;
  background: #F2F2F2;
  display: flex;
  position: relative;
  z-index: 5;
}
.contacts__forminf-item {
  padding: 50px;
}
.contacts__form {
  width: 100%;
}
.contacts__form-head {
  margin-bottom: 30px;
}
.contacts__form-title {
  font-size: 26px;
  font-weight: bold;
}
.contacts__form-submit {
  max-width: 600px;
}
.contacts__info {
  flex: 0 0 auto;
  width: 460px;
  background: #FFFF7F;
  display: flex;
  flex-direction: column;
}
.contacts__info-item + .contacts__info-item {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid rgba(5, 5, 16, 0.5);
}
.contacts__info-item__head {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
}
.contacts__info-item__head .icon {
  width: 20px;
  height: 21px;
}
.contacts__info-item.opened .contacts__info-item__head .icon {
  color: rgba(5, 5, 16, 0.5);
  transform: scale(1, -1);
}
.contacts__info-item__body {
  overflow: hidden;
  opacity: 0;
  max-height: 0px;
  transition: all 0.3s ease-in-out;
}
.contacts__info-item.opened .contacts__info-item__body {
  opacity: 1;
}
.contacts__info-item__row {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}
.contacts__info-item__icon {
  opacity: 0.5;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  opacity: 0.5;
}
.contacts__info-item__val {
  min-height: 24px;
  display: flex;
  align-items: center;
}
.contacts__info-social {
  margin-top: auto;
  padding-top: 30px;
}
@media (max-width: 1329.98px) {
  .contacts__forminf {
    margin: 0;
  }
}
@media (max-width: 1249.98px) {
  .contacts__hbgmap-map {
    top: -40px;
  }
  .contacts__forminf-item {
    padding: 30px;
  }
  .contacts__info {
    width: 400px;
  }
}
@media (max-width: 1023.98px) {
  .contacts__hbgmap .contacts__head {
    width: 58%;
  }
  .contacts__hbgmap-map {
    height: 655px;
    top: -55px;
    left: auto;
    right: -63px;
  }
  .contacts__hbgmap-map img {
    max-width: initial;
  }
  .contacts__hbgmap-pins {
    margin-right: 0;
  }
  .contacts__forminf {
    flex-direction: column-reverse;
  }
  .contacts__info {
    width: 100%;
    position: relative;
    padding-bottom: 40px;
  }
  .contacts__info-item {
    max-width: 265px;
  }
  .contacts__info-social {
    position: absolute;
    top: 0px;
    right: 30px;
  }
}
@media (max-width: 609.98px) {
  .contacts__hbgmap {
    padding-top: 20px;
    margin-bottom: 30px;
    flex-direction: column;
  }
  .contacts__hbgmap .contacts__head {
    width: 100%;
    margin-bottom: 20px;
    min-height: 1px;
  }
  .contacts__hbgmap-map {
    height: 570px;
    top: 30px;
    right: -54px;
  }
  .contacts__hbgmap-map img {
    max-width: initial;
  }
  .contacts__hbgmap-pins {
    margin-right: 0;
  }
  .contacts__forminf-item {
    padding: 20px;
  }
  .contacts__form-head {
    margin-bottom: 20px;
  }
  .contacts__info {
    width: 100%;
    position: relative;
  }
  .contacts__info-item {
    max-width: 100%;
  }
  .contacts__info-social {
    position: static;
    padding-top: 70px;
  }
}

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

**************************************************************/
.about__exp {
  background: #1F386C;
  color: #fff;
  margin-bottom: 50px;
  overflow: hidden;
}
.about__exp-val {
  font-size: 770px;
  line-height: 0.52;
  font-weight: bold;
  letter-spacing: -0.15em;
  transform: translate(-8%, -3%);
}
.about__exp-text {
  margin-top: 50px;
  font-size: 40px;
}
.about__numbers {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.about__number-val {
  font-size: 60px;
  font-weight: 700;
  color: #315EA7;
}
.about__number-text {
  font-size: 20px;
}
.about__content {
  margin-top: 60px;
}
@media (max-width: 1249.98px) {
  .about__exp-val {
    font-size: 600px;
  }
  .about__exp-text {
    font-size: 30px;
  }
}
@media (max-width: 1023.98px) {
  .about__exp {
    margin-bottom: 40px;
  }
  .about__exp-val {
    font-size: 480px;
  }
  .about__exp-text {
    margin-top: 40px;
    font-size: 24px;
  }
  .about__numbers {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-gap: 30px;
  }
  .about__content {
    margin-top: 40px;
  }
}
@media (max-width: 767.98px) {
  .about__exp {
    padding-bottom: 30px;
  }
  .about__exp-val {
    font-size: 430px;
    line-height: 0.65;
    transform: translate(0%, -10%);
    text-align: right;
  }
}
@media (max-width: 609.98px) {
  .about__numbers {
    grid-gap: 30px 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 30px 16px;
  }
  .about__number-val {
    font-size: 50px;
  }
}

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

**************************************************************/
.sert__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 24px;
}
.sert__head {
  grid-column: span 2;
}
.sert__item {
  position: relative;
  padding-bottom: 135%;
  border: 1px solid #BBBBBB;
  background: #050510;
}
.sert__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease-in-out;
}
.sert__item a::before {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  background: url(../images/icons/zoom.svg) no-repeat center center;
  background-color: rgba(236, 235, 226, 0.4);
  backdrop-filter: blur(2.5px);
  border-radius: 100%;
  z-index: 5;
  transition: all 0.3s ease-in-out;
  content: "";
}
@media (any-hover: hover) {
  .sert__item:hover img {
    opacity: 0.5;
  }
  .sert__item:hover a::before {
    width: 100px;
    height: 100px;
  }
}
@media (max-width: 1023.98px) {
  .sert__items {
    grid-gap: 30px;
    grid-template-columns: repeat(3, 1fr);
  }
  .sert__head {
    grid-column: span 3;
  }
}
@media (max-width: 767.98px) {
  .sert__items {
    grid-gap: 8px;
    display: flex;
    gap: 8px;
    margin: 0 -16px;
    padding: 0 16px 5px;
    overflow: auto;
  }
  .sert__item {
    flex: 0 0 auto;
    width: 244px;
    height: 344px;
    padding: 0;
  }
}

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

**************************************************************/
.vacancies__bg {
  background: #F2F2F2;
}
.vacancies__item {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}
.vacancies__item + .vacancies__item {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #72727D;
}
.vacancies__item-info {
  max-width: 690px;
}
.vacancies__item-buttons {
  width: 282px;
}
.vacancies__item-title {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 10px;
}
.vacancies__item-body p + ul {
  margin-top: -10px;
}
@media (max-width: 1023.98px) {
  .vacancies__item {
    flex-direction: column;
    gap: 20px;
  }
  .vacancies__item + .vacancies__item {
    margin-top: 40px;
    padding-top: 40px;
  }
  .vacancies__item-info {
    max-width: 100%;
  }
}
@media (max-width: 609.98px) {
  .vacancies__bg {
    padding-top: 20px;
  }
  .vacancies__item-buttons {
    width: 100%;
  }
}

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

**************************************************************/
.response__inner {
  margin: 0 -50px;
  background: #F2F2F2;
  display: flex;
  position: relative;
  z-index: 5;
}
.response__box {
  padding: 50px;
}
.response__form {
  width: 100%;
}
.response__form-head {
  margin-bottom: 20px;
}
.response__form-title {
  font-size: 26px;
  font-weight: bold;
}
.response__info {
  flex: 0 0 auto;
  width: 460px;
  background: #1F386C;
  display: flex;
  flex-direction: column;
  color: #fff;
  position: relative;
}
.response__info-head {
  margin-bottom: 30px;
}
.response__info-title {
  font-size: 26px;
  font-weight: 700;
  text-transform: uppercase;
}
.response__info-intro {
  margin-top: 10px;
  max-width: 305px;
}
.response__info-contact {
  display: flex;
  gap: 10px;
}
.response__info-contact + .response__info-contact {
  margin-top: 20px;
}
.response__info-contact__icon {
  opacity: 0.5;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  opacity: 0.5;
}
.response__info-contact__icon img {
  width: 100%;
}
.response__info-contact__val {
  min-height: 24px;
  display: flex;
  align-items: center;
}
.response__info-illustr {
  max-width: 206px;
  position: absolute;
  right: 30px;
  bottom: 30px;
}
@media (max-width: 1329.98px) {
  .response__inner {
    margin: 0;
  }
}
@media (max-width: 1249.98px) {
  .response__box {
    padding: 30px;
  }
  .response__info {
    width: 400px;
  }
}
@media (max-width: 1023.98px) {
  .response__inner {
    flex-direction: column;
  }
  .response__box {
    padding: 40px;
  }
  .response__info {
    width: 100%;
    position: relative;
    min-height: 340px;
  }
}
@media (max-width: 609.98px) {
  .response__box {
    padding: 20px;
  }
  .response__form-head {
    margin-bottom: 20px;
  }
  .response__info-head {
    margin-bottom: 20px;
  }
  .response__info-illustr {
    position: static;
    display: block;
    margin: 27px auto 0;
  }
}

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

**************************************************************/
.promo {
  background: #050510;
  position: relative;
  min-height: 300px;
  padding: 40px 0;
  display: flex;
  align-items: center;
  text-align: center;
  color: #fff;
}
.promo__img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
}
.promo__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.promo__inner {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.promo__intro {
  margin-top: 10px;
}
@media (max-width: 1023.98px) {
  .promo {
    min-height: 400px;
  }
}

@media (max-width: 767.98px) {
  .serice {
    overflow: hidden;
  }
}

/**************************************************************
aside
**************************************************************/
.aside__sticky {
  position: sticky;
  top: 80px;
}
.aside__nav + .aside__nav {
  margin-top: 40px;
}
.aside__nav-title {
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.aside__nav-list li + li {
  margin-top: 10px;
}
.aside__nav-list a {
  color: #72727D;
  transition: all 0.3s ease-in-out;
}
.aside__nav-list a:hover {
  color: #050510;
}
.aside__nav-list li.active a,
.aside__nav-list li.current a {
  color: #315EA7;
}
@media (max-width: 767.98px) {
  .aside {
    margin-bottom: 20px;
  }
  .aside__nav {
    margin: 0 -16px;
    padding: 0 16px;
    overflow: auto;
  }
  .aside__nav::-webkit-scrollbar {
    width: 0;
  }
  .aside__nav-list {
    display: flex;
  }
  .aside__nav-list:after {
    flex: 0 0 auto;
    width: 6px;
    display: flex;
    content: "";
  }
  .aside__nav-list li {
    padding: 0 !important;
    border: none !important;
    margin: 0 10px 0 0 !important;
  }
  .aside__nav-list a {
    padding: 0 12px;
    display: flex;
    align-items: center;
    white-space: nowrap;
  }
  .aside__fopen {
    margin-top: 20px;
  }
  .aside__nav + .aside__filters {
    margin-top: 20px;
  }
}

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

**************************************************************/
.advant__items {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 24px;
}
.advant__item {
  grid-column: span 6;
  padding: 30px 30px 40px;
  background: #F2F2F2;
  grid-column: span 4;
}
.advant__item:nth-child(1), .advant__item:nth-child(2) {
  grid-column: span 6;
}
.advant__item-icon {
  width: 60px;
  height: 60px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1249.98px) {
  .advant__item {
    padding: 20px 20px 34px;
  }
}
@media (max-width: 1023.98px) {
  .advant {
    overflow: hidden;
  }
  .advant__items {
    display: flex;
    grid-gap: 10px;
    gap: 10px;
    overflow: auto;
    margin: 0 -100px;
    padding: 0 100px 5px;
  }
  .service__content .advant__items {
    margin-left: 0;
    padding-left: 0;
  }
  .advant__item {
    flex: 0 0 auto;
    width: 230px;
    height: auto;
  }
}
@media (max-width: 609.98px) {
  .advant__items {
    margin: 0 -16px !important;
    padding: 0 16px 5px !important;
  }
  .advant__item-icon {
    width: 40px;
    height: 40px;
  }
}

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

**************************************************************/
.forwhat__carousel .swiper-nav {
  justify-content: flex-start;
  margin-top: 20px;
}
.forwhat__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 3px;
}
.forwhat__item {
  position: relative;
  overflow: hidden;
  background: #050510;
  height: 340px;
  color: #fff;
}
.forwhat__item::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  z-index: 2;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
  content: "";
}
.forwhat__item:hover::before {
  opacity: 1;
}
.forwhat__item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.5;
}
.forwhat__item-info {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 40px;
  z-index: 5;
}
.forwhat__item-text {
  max-height: 0;
  opacity: 0;
  transition: max-height 0.7s ease, opacity 0.7s ease-in-out;
}
.forwhat__item:hover .forwhat__item-text {
  max-height: 200px;
  opacity: 1;
  transition: max-height 1s ease, opacity 0.7s ease-in-out;
}
.forwhat__item-buttons {
  margin-top: 30px;
}
.forwhat__item-mlink {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}
@media (max-width: 1023.98px) {
  .forwhat__items {
    grid-template-columns: 1fr;
    grid-gap: 10px;
  }
  .forwhat__item {
    flex: 1 0 auto;
    height: 300px;
  }
  .forwhat__item-info {
    padding: 30px;
  }
  .forwhat__item-text {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .forwhat__carousel.swiper {
    overflow: initial;
  }
  .forwhat__items {
    overflow: auto;
    margin: 0 -16px;
    padding: 0 16px 5px;
    display: flex;
    gap: 3px;
    grid-gap: 3px;
  }
  .forwhat__item {
    width: 300px;
    height: 340px;
    flex: 0 0 auto;
  }
  .forwhat__item-text {
    display: none;
  }
}
@media (max-width: 609.98px) {
  .forwhat__item-buttons {
    margin-top: 20px;
  }
}

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

**************************************************************/
.contacts__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 24px;
}
.contacts__item {
  cursor: pointer;
  background: #F2F2F2;
  padding: 30px 60px 30px 30px;
  transition: all 0.3s ease-in-out;
}
.contacts__item.active {
  background: #315EA7;
  color: #fff;
}
.contacts__item-title {
  margin-bottom: 20px;
  font-weight: bold;
}
.contacts__item-row {
  display: flex;
  gap: 10px;
}
.contacts__item-row + .contacts__item-row {
  margin-top: 20px;
}
.contacts__item-row__icon {
  opacity: 0.5;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #BBBBBB;
}
.contacts__item-row__icon .icon {
  width: 100%;
  height: 100%;
}
.contacts__item-row__val {
  min-height: 24px;
  display: flex;
  align-items: center;
}
.contacts__item.active .contacts__item-row__icon {
  color: rgba(255, 255, 255, 0.6);
}
.contacts__map {
  margin-top: 30px;
  position: relative;
  height: 500px;
}
.contacts__map > * {
  width: 100%;
  height: 100%;
}
@media (max-width: 1023.98px) {
  .contacts__items {
    grid-template-columns: 1fr;
    grid-gap: 10px;
  }
  .contacts__item-rows {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 40px;
  }
  .contacts__item-row {
    margin: 0 !important;
  }
}
@media (max-width: 609.98px) {
  .contacts__item {
    padding: 20px;
  }
  .contacts__item-title {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  .contacts__item-title::after {
    width: 20px;
    height: 20px;
    background: url(../images/icons/drop.svg) no-repeat center center;
    content: "";
  }
  .contacts__item.active .contacts__item-title::after {
    transform: scale(1, -1);
    background-image: url(../images/icons/drop-white.svg);
    opacity: 0.5;
  }
  .contacts__item-rows {
    display: block;
    overflow: hidden;
    opacity: 0;
    max-height: 0px;
    transition: all 0.3s ease-in-out;
  }
  .contacts__item.active .contacts__item-rows {
    opacity: 1;
  }
  .contacts__item-row {
    margin-top: 20px !important;
  }
}

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

**************************************************************/
.error404 {
  min-height: calc(var(--vh) * 100 - var(--hHeader));
  display: flex;
  align-items: center;
  padding: 130px 0 46px;
}
.error404__img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.error404__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.error404__inner {
  max-width: 800px;
}
.error404__buttons {
  margin-top: 30px;
}
/**************************************************************

**************************************************************/
.photos__item {
  height: 340px;
  position: relative;
  overflow: hidden;
  background: #050510;
}
.photos__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s ease-in-out;
  opacity: 0.5;
}
.photos__item:hover img {
  transform: scale(1.1);
  opacity: 1;
}
@media (max-width: 767.98px) {
  .photos__carousel {
    overflow: initial;
  }
  .photos__item {
    padding-bottom: 60%;
    height: 300px;
  }
  .photos__item img {
    opacity: 1;
  }
}

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

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

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

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

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

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

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

**************************************************************/
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9yZXNldC5zY3NzIiwiaW5jL192YXJzLnNjc3MiLCJfY29tbW9uLnNjc3MiLCJjb21tb24vX2NvbnRlbnQuc2NzcyIsImNvbW1vbi9fc2VjdGlvbi5zY3NzIiwiY29tbW9uL19jb2xzLnNjc3MiLCJjb21tb24vX2VsZW1lbnRzLnNjc3MiLCJfbGlicy5zY3NzIiwiX2Zvcm1zLnNjc3MiLCJpbmMvX21peGlucy5zY3NzIiwiX3BvcHVwLnNjc3MiLCJfaGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19tZW51LnNjc3MiLCJjb21wb25lbnRzL19uYXZmaXguc2NzcyIsIl9mb290ZXIuc2NzcyIsInN0eWxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQTtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTtFQUNBLGFDN0JHO0VEOEJIO0VBQ0E7RUFDQSxPQzVCUztFRDZCVDtFQUNBO0VBQ0EsWUNqQ007O0FEc0NWO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0U7OztBQUdGO0VBQ0ksT0N2RFM7RUR3RFQ7RUFDQTtFQUFXOzs7QUU1RGY7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQSxXRENjO0VDQWQ7RUFBbUI7RUFDbkI7O0FBT0E7RUFYSjtJQVlTOzs7QUFFTDtFQWRKO0lBZVE7OztBQUVKO0VBakJKO0lBa0JRO0lBQ0E7OztBQVNSO0VBQ0k7RUFBa0I7RUFDbEI7RUFDQTtFQUNBO0VBQ0E7O0FBV0o7RUFDSTs7O0FBR0o7RUFDSTs7QUFFQTtFQUhKO0lBSVE7OztBQUVKO0VBTko7SUFPUTs7OztBQUlSO0VBQ0k7OztBQUlBO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUtSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FDaEpBO0VBQ0k7O0FBRUo7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFFSTs7QUFFQTtFQUNJOztBQUlSO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLSSxPRjFCSztFRTJCTDtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7QUFBQTtFQUVJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7QUFDSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFTSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBaUNSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3ZJQTtFQUNJOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQSxPSHRDSztFR3VDTDtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7O0FBS1o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFPSjtFQUNJOztBQUtKO0VBQ0k7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7O0FBU1I7RUFDSTtJQUNJOztFQUVBO0lBQ0k7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7O0VBTVI7SUFDSTs7RUFPSjtJQUNJOztFQUtKO0lBQ0k7O0VBS0E7SUFDSTs7O0FBT1o7RUFFSTtJQUNJOztFQUVBO0lBQ0k7O0VBR0o7SUFDSTs7RUFJUjtJQUNJOztFQUVBO0lBQ0k7O0VBSVI7SUFDSTs7RUFLSjtJQUNJOztFQUVBO0lBQ0k7O0VBUVI7SUFDSTs7RUFFQTtJQUNJOztFQUlSO0lBQ0k7O0VBS0o7SUFDSTs7O0FBTVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7Ozs7QUFLWjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQTdCSjtJQThCUTs7RUFFQTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTs7OztBQUtaO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSSxPSHJVSztFR3NVTDs7QUFFQTtFQUVJLE9IelVDOztBRytVVDtFQXJCSjtJQXNCUTtJQUNBOzs7QUFNUjtFQUNJOzs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7O0FBS1o7RUFDSTs7O0FBR0o7RUFDSTs7O0FDalhKO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQVFBO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURKO0VBQ0k7OztBQURK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QUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7QUFDQTtFQUNJOztBQUtaO0VBQ0k7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBOztFQUVKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBQ0E7SUFDSTs7O0FBS1o7RUFDSTtJQUNJOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJOztFQUNBO0lBQ0k7O0VBSVI7SUFDSTtJQUNBOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBQ0E7SUFDSTs7RUFFSjtJQUNJOztFQUlSO0lBQ0k7O0VBQ0E7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7RUFDQTtJQUNFO0lBQWE7SUFDYjtJQUNBO0lBQ0E7O0VBR047SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSVI7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7OztBQ25SWjs7QUFBQTtBQUtRO0VBQ0k7RUFDQTtFQUFTO0VBQ1Q7RUFDQTs7QUFFSjtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQVM7RUFDVDtFQUFZO0VBQ1o7RUFDQTtFQUNBOztBQUVKO0VOYko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBTVdJO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUlSO0VBRVE7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBOztFQUdSO0lB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RUFDQSxPZHAyREg7O0FjcTJERztFQUNJO0VBQWE7O0FBR3JCO0VBQ0k7RUFDQTtFQUNBOztBQUdSO0VBQ0k7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUlSO0VBQ0k7SUFDSTtJQUNBOztFQUdBO0lBQ0k7SUFDQTtJQUNBOztFQUVKO0lBQ0k7OztBQUlaO0VBQ0k7SUFDSTs7RUFDQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTtJQUFhO0lBQ2I7SUFDQTs7RUFHUjtJQUNJO0lBQ0E7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOzs7O0FBV2hCOztBQUFBO0FBR0E7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFBVztFQUNYO0VBQWE7O0FBQ2I7RU5qN0RKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QU1pN0RBO0VBQ0k7O0FBRUo7RUFDSTs7QUFnQlI7O0FBQUE7QUFLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLFlkMytESzs7QWN3L0RMO0VOaCtESjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RU02OURRO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUdSO0VBQ0k7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7O0VBQ0E7SUFDSTs7OztBQVdoQjs7QUFBQTtBQVVBOztBQUFBO0FBVUE7O0FBQUE7QUFVQTs7QUFBQTtBQVVBOztBQUFBO0FBVUE7O0FBQUE7QUFVQTs7QUFBQSIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJ1dGYtOFwiO1xyXG5cclxuXHJcbioge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBlbSwgaW1nLCBzdHJvbmcsIHN1Yiwgc3VwLCBiLCB1LCBpLCAgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCB0YWJsZSwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgZm9udC1zaXplOiAxMDAlO1xyXG59XHJcbmhlYWRlciwgbmF2LCBzZWN0aW9uLCBhcnRpY2xlLCBhc2lkZSwgZm9vdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuaHRtbCB7ICBcclxuICAgIGhlaWdodDoxMDAlOyBcclxufVxyXG5ib2R5IHsgIFxyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7IFxyXG4gICAgaGVpZ2h0OjEwMCU7IFxyXG4gICAgZm9udC1mYW1pbHk6ICRmb250OyBcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xyXG4gICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGJhY2tncm91bmQ6ICRiZy1ib2R5O1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICBcclxuICAgIH1cclxufVxyXG5ib2R5ICosXHJcbmJvZHkgKjpiZWZvcmUsXHJcbmJvZHkgKjphZnRlciB7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyBcclxufVxyXG5cclxuaW1nIHsgXHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG59XHJcblxyXG51bCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuYSB7IFxyXG4gICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBcclxuICAgIG1hcmdpbjogMDsgcGFkZGluZzogMDtcclxufVxyXG4iLCIkZm9udDogJ1BsYXknLCBzYW5zLXNlcmlmO1xyXG5cclxuJGJnLWJvZHk6ICNGRkZGRkY7XHJcblxyXG4kY29sb3ItYm9keTogIzA1MDUxMDtcclxuJGNvbG9yLWJsdWU6ICMzMTVFQTc7XHJcbiRjb2xvci1ibHVlLWRhcms6ICMxRjM4NkM7XHJcbiRjb2xvci1kYXJrLWJsdWU6ICMxQjJCNEQ7XHJcbiRjb2xvci15ZWxsb3c6ICNGRkZGN0Y7XHJcbiRjb2xvci1ncmF5OiAjQkJCQkJCO1xyXG4kY29sb3ItZGFyay1ncmF5OiAjNzI3MjdEO1xyXG4kY29sb3ItbGlnaHQtZ3JheTogI0YyRjJGMjtcclxuXHJcbiRjb2xvci1lcnJvcjogI0MzMDAwMDtcclxuXHJcbiR3aWR0aC1jb250YWluZXI6IDEyMDBweDtcclxuJHBkLWNvbnRhaW5lcjogMTZweDtcclxuJHBkLWNvbnRhaW5lci1zbXg6IDE1cHg7XHJcblxyXG4kbWQtZGVza3RvcC1sZzogMTY5OS45OHB4O1xyXG4kbWQtZGVza3RvcC1tZDogMTMyOS45OHB4O1xyXG4kbWQtZGVza3RvcDogMTI0OS45OHB4O1xyXG4kbWQtdGFibGV0OiAxMDIzLjk4cHg7XHJcbiRtZC10YWJsZXQtc206IDc2Ny45OHB4O1xyXG4kbWQtbW9iaWxlLWxnOiA2MDkuOThweDtcclxuJG1kLW1vYmlsZTogNDc4Ljk4cHg7XHJcbiRtZC1tb2JpbGUtc206IDM5OS45OHB4O1xyXG4kbWQtbW9iaWxlLXNteDogMzYwcHg7XHJcblxyXG4kaGVhZGVyLWg6IDEyMHB4O1xyXG4kaGVhZGVyLWgtdDogMTAwcHg7XHJcbiRoZWFkZXItaC1tOiA4MHB4OyIsIlxyXG4uY2xlYXIgeyBcclxuICAgIGNsZWFyOiBib3RoOyBcclxuICAgIGhlaWdodDogMDsgXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyBcclxuICAgIGZvbnQtc2l6ZTogMDtcclxufVxyXG4uY2xlYXJmaXg6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbn1cclxuLmNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogJHdpZHRoLWNvbnRhaW5lcjsgXHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcclxuICAgICAgICBcclxuICAgIH1cdFxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgIFxyXG4gICAgfVx0XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICBtYXgtd2lkdGg6IDk4MHB4O1xyXG4gICAgfVx0XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2NzhweDtcclxuICAgIH1cdFxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAwICRwZC1jb250YWluZXI7XHJcbiAgICB9XHRcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4ud3JhcHBlciB7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgIFxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgIHotaW5kZXg6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8vIHBhZGRpbmctdG9wOiAkaGVhZGVyLWg7XHJcbiAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAvLyBwYWRkaW5nLXRvcDogJGhlYWRlci1oLXQrMjBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgLy8gcGFkZGluZy10b3A6ICRoZWFkZXItaC1tKzEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250ZW50X193cmFwcGVyIHtcclxuICAgIGZsZXg6IDEgMCBhdXRvO1xyXG59XHJcblxyXG4ucGRfX2hlYWRlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMSooJGhlYWRlci1oKzMwcHgpO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTEqKCRoZWFkZXItaC10KzIwcHgpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMSooJGhlYWRlci1oLW0rMTBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uby1kaXNwbGF5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5oaWRlLWRlc2t0b3AtbGcge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLWxnKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5oaWRlLWRlc2t0b3AtbWQge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5oaWRlLWRlc2t0b3Age1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5oaWRlLXRhYmxldCB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4uaGlkZS10YWJsZXQtc20ge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLmhpZGUtbW9iaWxlLWxnIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi5zaG93LWRlc2t0b3Age1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC1kZXNrdG9wKyAwLjAycHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLnNob3ctdGFibGV0IHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQtdGFibGV0KyAwLjAycHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLnNob3ctdGFibGV0LXNtIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQtdGFibGV0LXNtKyAwLjAycHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLnNob3ctbW9iaWxlLWxnIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQtbW9iaWxlLWxnKyAwLjAycHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgLndvdyB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbltkYXRhLWZhbmN5Ym94XSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5ub3Njcm9sbCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubm93cmFwIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcblxyXG5cclxuQGltcG9ydCBcImNvbW1vbi9jb250ZW50XCI7XHJcbkBpbXBvcnQgXCJjb21tb24vc2VjdGlvblwiO1xyXG5AaW1wb3J0IFwiY29tbW9uL2NvbHNcIjtcclxuQGltcG9ydCBcImNvbW1vbi9lbGVtZW50c1wiOyIsIi5jb250ZW50X190ZXh0IHtcclxuICAgICYubXcge1xyXG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICB9XHJcbiAgICA+KiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICA6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG5cclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDEsXHJcbiAgICBoMixcclxuICAgIGgzLFxyXG4gICAgaDQsXHJcbiAgICBoNSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgIG1hcmdpbjogNDBweCAwIDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICBtYXJnaW46IDMwcHggMCAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBoNCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgaDUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICB1bCxcclxuICAgIG9sIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgb2wge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICBjb3VudGVyLXJlc2V0OiBudW07XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIGxpOmJlZm9yZSB7XHJcbiAgICAgICAgLypwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA0cHg7XHJcbiAgICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgICBjb250ZW50OiAn4oCiJzsqL1xyXG4gICAgfVxyXG5cclxuICAgIG9sIGxpOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogY291bnRlcihudW0pICcuJztcclxuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogbnVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHt9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICAvLyBoMSB7XHJcbiAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgICAvLyAgICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAvLyBoMiB7XHJcbiAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAvLyAgICAgbWFyZ2luOiAyNXB4IDA7XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAvLyBoMyB7XHJcbiAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAvLyAgICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIC8vIGg0IHtcclxuICAgICAgICAvLyAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIC8vICAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgLy8gaDUge1xyXG4gICAgICAgIC8vICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxufVxyXG5cclxuY29kZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbn0iLCIuc2VjdGlvbiB7XHJcbiAgICAmX19oZWFkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgICAgICAmLm1iLS1tZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm1iLS1tZGwge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5oY29scyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hbC1jZW50ZXIge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hbC1lbmQge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3dpcGVyLW5hdiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAmLmZzLS1zbSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc3VidGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcblxyXG4gICAgICAgICYuZnMtLW1kIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRleHQtLWNlbnRlciAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHArcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZmlyc3Qge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAmX19tZyB7XHJcbiAgICAgICAgbWFyZ2luOiAxMDBweCAwO1xyXG5cclxuICAgICAgICAmLS1tZCB7fVxyXG5cclxuICAgICAgICAmLS1zbSB7fVxyXG4gICAgfVxyXG5cclxuICAgICZfX21ndCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XHJcblxyXG4gICAgICAgICYtLXNtIHt9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbWdiIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19wZCB7XHJcbiAgICAgICAgcGFkZGluZzogODBweCAwO1xyXG5cclxuICAgICAgICAmLS1tZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fcGR0IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19sciB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RhYiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgJi5zaG93IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX3RpdGxlIHt9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICYubWItLW1kbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmhjb2xzIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX190aXRsZSB7fVxyXG5cclxuICAgICAgICAmX19tZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogODBweCAwO1xyXG5cclxuICAgICAgICAgICAgJi0tbWQge31cclxuXHJcbiAgICAgICAgICAgICYtLXNtIHt9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19tZ3Qge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG5cclxuICAgICAgICAgICAgJi0tc20ge31cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX21nYiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19wZCB7XHJcblxyXG4gICAgICAgICAgICAmLS1tZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0NXB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2J1dHRvbnMge31cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG5cclxuICAgICAgICAmX19oZWFkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgICAgICYubWItLW1kbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmK1tjbGFzcyo9Y29sLV0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuXHJcbiAgICAgICAgICAgIC5mcy0tc20ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2ludHJvIHt9XHJcblxyXG4gICAgICAgICZfX21nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDA7XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogODZweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tbWQge31cclxuXHJcbiAgICAgICAgICAgICYtLXNtIHt9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19tZ2Ige1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDg2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX21ndCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICAgICAgICAgICAmLS1zbSB7fVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fcGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19idXR0b25zIHt9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XHJcbiAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19pbnRybyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5waGVhZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAmLm1iLS1zbSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ludHJvIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgOm5vdChbY2xhc3MqPVwiY29sXCJdKSAmX19pbnRybyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19waG90byB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHJcbiAgICAgICAgOm5vdChbY2xhc3MqPVwiY29sLW1kXCJdKSAmX19pbnRybyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19waG90byB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAtMTAwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBbY2xhc3MqPVwiY29sLVwiXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19pbnRybyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19waG90byB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAtMSokcGQtY29udGFpbmVyIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgJi0tbWQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge31cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbGgoMjksIDIwKTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbXgpIHt9XHJcbn1cclxuXHJcbi50ZXh0IHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi50ZXh0LS1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJi5jZW50ZXItZGVzY3RvcCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGV4dC0td2hpdGUge1xyXG4gICAgY29sb3I6ICNmZmZmO1xyXG59XHJcblxyXG4udGV4dC0tb3BhY2l0eSB7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG4uY29scyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luOiAwIC0xMnB4O1xyXG59XHJcbltjbGFzcyo9J2NvbC0nXSB7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMTJweDtcclxufVxyXG5cdFxyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtY29sdW1ucy1tZDogNjtcclxuXHJcbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XHQgIFx0XHJcblxyXG4gICAgLmNvbC0jeyRpfSB7IFxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1x0XHRcclxuICAgIH1cdFxyXG5cclxufVxyXG5cclxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcdCAgXHRcclxuXHJcbiAgLm1nbC0jeyRpfSB7IFxyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcdFx0XHJcbiAgfVx0XHJcblxyXG59XHJcblxyXG4uY29sLW10IHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAmLS1zbSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6ICRtZC10YWJsZXQtc20rIDAuMDJweCkge1xyXG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucy1tZCB7XHQgIFx0XHJcblxyXG5cdCAgXHQuY29sLW1kLSN7JGl9IHsgXHJcblx0ICBcdFx0d2lkdGg6IGNhbGMoMTAwJSAvICRncmlkLWNvbHVtbnMtbWQgKiAkaSk7XHRcdFxyXG5cdCAgXHR9XHRcclxuXHJcblx0fVxyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucy1tZCB7XHQgIFx0XHJcblxyXG4gICAgICAgIC5tZ2wtbWQtI3skaX0geyBcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTAwJSAvICRncmlkLWNvbHVtbnMtbWQgKiAkaSArIDEwcHgpO1x0XHRcclxuICAgICAgICB9XHRcclxuXHJcbiAgfVxyXG5cclxuICAuY29sLW10IHtcclxuICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgJi0tc20ge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogJG1kLXRhYmxldCsgMC4wMnB4KSB7XHJcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcdCAgXHRcclxuXHJcblx0ICBcdC5jb2wtI3skaX0geyBcclxuXHQgIFx0XHR3aWR0aDogY2FsYygxMDAlIC8gJGdyaWQtY29sdW1ucyAqICRpKTtcdFx0XHJcblx0ICBcdH1cdFxyXG5cclxuXHR9XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcdCAgXHRcclxuXHJcbiAgICAgICAgLm1nbC0jeyRpfSB7IFxyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyggMTAwJSAvICRncmlkLWNvbHVtbnMgKiAkaSArIDhweCk7XHJcbiAgICAgICAgICAgXHRcclxuICAgICAgICB9XHRcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmNvbC1tdCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAuY29scyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC0xNXB4O1xyXG4gICAgfVxyXG4gICAgW2NsYXNzKj0nY29sLSddIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgIFtjbGFzcyo9J2NvbC0nXSB7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5pY29uIHtcclxuICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xyXG4gICAgZmlsbDogbm9uZTtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICYtLWZpbGwge1xyXG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBzdHJva2U6IGluaXRpYWw7XHJcbiAgICB9XHJcbiAgICBwYXRoIHtcclxuICAgICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zb2NpYWwge1xyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICB3aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWUtZGFyaztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmljb24ge1xyXG4gICAgICAgIHdpZHRoOiA3NSU7IGhlaWdodDogNzUlO1xyXG4gICAgfVxyXG4gICAgJi0tbWQgJl9faXRlbSB7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDtcclxuICAgIH1cclxuICAgICYtLW5iZyAmX19pdGVtIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXllbGxvdztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0gICBcclxuXHJcblxyXG5cclxuXHJcbi50YWdzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgJl9faXQge1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWRhcmstZ3JheTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstZ3JheTtcclxuICAgICAgICAmOmhvdmVyOm5vdChkaXYpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYm9keTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItYm9keTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgbWFyZ2luOiAwIC0xMDBweCAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTAwcHggNXB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAmX19pdCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmxpbmsge1xyXG4gICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5pY29uIHtcclxuICAgICAgICB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICAgICYub3BlbmVkIHtcclxuICAgICAgICBcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstZ3JheTtcclxuICAgIH1cclxuICAgICZfX2Fycm93IHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDM1LCAyNCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDlweDtcclxuICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwgMC41KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3RvZ2dsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAuY2xvc2VfdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9wZW5lZCAub3Blbl90IHtcclxuICAgICAgICAgICAgZGlzcGxheTpub25lXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub3BlbmVkIC5jbG9zZV90IHtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9ja1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fYXJyb3cge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XHJcbiAgICAgICAgJl9fYXJyb3cge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuX21vcmUge1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzYsIDIzNSwgMjI2LCAwLjQwKTtcclxuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyLjVweCk7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICY6aG92ZXIsXHJcbiAgICAuaXRlbS1ob3Zlcjpob3ZlciAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IteWVsbG93O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYm9keTtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIC5pY29uIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB3aWR0aDogMzUlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudF9fdG9nZ2xlIHtcclxuICAgIC8vID4gKiB7XHJcbiAgICAvLyAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIC8vIH1cclxuICAgIC8vICYgPiA6bnRoLWNoaWxkKDEpLFxyXG4gICAgLy8gJiA+IDpudGgtY2hpbGQoMikge1xyXG4gICAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLy8gfVxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG1heC1oZWlnaHQ6IDc2cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgIFxyXG4gICAgJi5vcGVuZWQgPiAqIHtcclxuICAgICAgICAvLyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy8gJi0tbW9iaWxlIHtcclxuICAgIC8vICAgICA+ICoge1xyXG4gICAgLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgIC8vID4gKiB7XHJcbiAgICAgICAgLy8gICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gJiA+IDpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgIC8vICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLmJyZWFkY3J1bWJzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uYnJlYWRjcnVtYnMge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgJl9fbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IDZweCAwO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYm9keTtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrLWdyYXk7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcvJztcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2xpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ncmF5O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi5wYWdpbmF0aW9uXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucGFnaW5hdGlvbiB7XHJcblxyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAxMHB4O1xyXG4gICAgLnBhZ2UtbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLnBhZ2UtaXRlbS5kaXNhYmxlZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5wYWdlLWxpbmsge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgbWluLXdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGhlaWdodDogMzlweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstZ3JheTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZGFyay1ncmF5O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWN0aXZlIC5wYWdlLWxpbmsge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TVkcgQU5JTUFUSU9OXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaXRlbS0tc3ZnaCB7XHJcbiAgICBzdmcge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCA0NTBtcyBjdWJpYy1iZXppZXIoMC4zLCAxLjQsIDAuODUsIDEuNSk7XHJcbiAgICAgICAgKiB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0NTBtcyBjdWJpYy1iZXppZXIoMC4zLCAxLjQsIDAuODUsIDEuMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc3ZnLWNvdXBvbiB7XHJcbiAgICAgICAgLnAtMSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLnN2Zy1hbmFseXNpcyB7XHJcbiAgICAgICAgICAgIC5wLTEge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwJSwgMTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3ZnLWNoYXJ0IHtcclxuICAgICAgICAgICAgLnAtMSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxLjUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wLTIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMC44KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucC0zIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuOCkgdHJhbnNsYXRlWSgtNiUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdmctcmVjdCB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgXHJcbiAgICAgICAgICAgIC5yLTEge1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN2Zy1yb2NrZXQge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdmctaW1hZ2Uge1xyXG4gICAgICAgICAgICBnIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHNjYWxlKDAuOCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN2Zy1jb3Vwb24ge1xyXG4gICAgICAgICAgICAucC0xIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5zd2lwZXJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5zd2lwZXIge31cclxuXHJcbi5zd2lwZXItc2xpZGUge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLnN3aXBlci1wYWdpbmF0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gICYtYWZ0ZXJ7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuICAmLWJ1bGxldCB7XHJcbiAgICBtYXJnaW46IDAgN3B4ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTBweDtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41MCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYWZ0ZXIgJiB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTE0LCAxMTQsIDEyNSwgMC4zMCk7XHJcbiAgICB9XHJcbiAgICAmLWFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24teWVsbG93ICYtYWN0aXZle1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3IteWVsbG93ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAmLWJ1bGxldCB7XHJcbiAgICAgIHdpZHRoOiA4cHg7IGhlaWdodDogOHB4O1xyXG4gICAgICBtYXJnaW46IDAgNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc3dpcGVyLWJ1dHRvbiB7XHJcbiAgd2lkdGg6IDUwcHg7XHJcbiAgaGVpZ2h0OiA1MHB4O1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGNvbG9yOiAkY29sb3ItYm9keTtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDExNCwgMTE0LCAxMjUsIDAuMzApO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyLjVweCk7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cclxuICAmLW5leHQge1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5pY29uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB3aWR0aDogMzUlO1xyXG4gIH1cclxuXHJcblxyXG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC8vIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG4gICAgICAvLyBjb2xvcjogI2ZmZjtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXllbGxvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLy8gcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLnN3aXBlci1mcmFjdGlvbiB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuLnN3aXBlci1wYWdpbmF0aW9uLXRvdGFsIHtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgb3BhY2l0eTogMC43O1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXJyZW50IHtcclxuICBmb250LXNpemU6IDMycHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbn1cclxuXHJcblxyXG4uc3dpcGVyLW5hdiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAzNXB4O1xyXG4gIGdhcDogMjBweDtcclxuICAuc3dpcGVyLWZyYWN0aW9uIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgfVxyXG4gIC5zd2lwZXItYnV0dG9uIHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICB0cmFuc2Zvcm06IGluaXRpYWw7XHJcbiAgfVxyXG59XHJcblxyXG4uc3dpcGVyLXNjcm9sbGJhciB7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5zd2lwZXJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5kYXRlcGlja2VyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LWZhbWlseTogJGZvbnQ7XHJcbiAgJl9faGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG4gIH1cclxuICAmX193cmFwcGVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgfVxyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbmZvcm1zXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5AaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlcignLmlucHV0JywgJGNvbG9yLWdyYXksIDEpO1xyXG5cclxuLmlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjogdHJhbnNwYXJlbnQ7IG9wYWNpdHk6IDA7fVxyXG4uaW5wdXQ6Zm9jdXM6Oi1vLWlucHV0LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XHJcbi5pbnB1dDpmb2N1czo6LW1vei1pbnB1dC1wbGFjZWhvbGRlciB7ICBjb2xvcjogdHJhbnNwYXJlbnQ7IG9wYWNpdHk6IDA7fVxyXG4uaW5wdXQ6Zm9jdXM6LW1vei1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XHJcbi5pbnB1dDpmb2N1czo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6IHRyYW5zcGFyZW50OyBvcGFjaXR5OiAwO31cclxuLmlucHV0OmZvY3VzOmlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjogdHJhbnNwYXJlbnQ7IG9wYWNpdHk6IDA7fVxyXG5cclxuaW5wdXRbcGxhY2Vob2xkZXJdICAgICAgICAgIHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO31cclxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgICAgIHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO30gXHJcbmlucHV0Oi1tb3otcGxhY2Vob2xkZXIgICAgICB7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt9IFxyXG5pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7fVxyXG5cclxuXHJcblxyXG4uYnV0LFxyXG5pbnB1dFt0eXBlPXN1Ym1pdF0ge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyk7XHJcbn1cclxuaW5wdXQsIGJ1dHRvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTt9XHJcblxyXG5cclxuLmZvcm0ge1xyXG4gICAgJl9fYm94IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICYtdG9nZ2xlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jb2xzIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICBncmlkLWdhcDogMCAxMHB4O1xyXG4gICAgICAgICYuY29scy0tc20tbGcge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDAuNjdmciAxLjMzZnI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcm93IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgICZfX2xhYmVsIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAmX19zdWJtaXQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19idG50ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgIG1heC13aWR0aDogMjUwcHg7ICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19wb2xpY3kge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1zcSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogMjFweDsgaGVpZ2h0OiAyMXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgIC8vIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmIDpjaGVja2VkICsgJi1zcSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvY2hlY2suc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fY2hlY2sge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtc3Ege1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICAvLyB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiA6Y2hlY2tlZCArICYtc3Ege1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2NoZWNrLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9fY29scyB7XHJcbiAgICAgICAgICAgICYuY29scy0tc20tbGcge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNjBweCAxZnI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2JveCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICYtdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbHQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgIGdhcDogMTZweDtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2Ryb3Auc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5vcGVuZWQgJi1sdDphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi1ib2R5IHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5vcGVuZWQgJi1ib2R5IHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fY29scyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcm93IHtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19wb2xpY3kge1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19zdWJtaXQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19idG50ZXh0IHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnB1dCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDsgY29sb3I6JGNvbG9yLWJvZHk7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLWluLW91dDtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxOXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE5cHg7XHJcbiAgICB9XHJcbiAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcclxuICAgICAgICAvLyBib3JkZXItY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgfVxyXG4gICAgJi5lcnJvciwgJi5pcy1pbnZhbGlkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1lcnJvcjtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE5cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTlweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWVycm9yO1xyXG4gICAgICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyKCcmJywgcmdiYSgxOTksIDU3LCA1NywgMC43KSwgMSk7XHJcbiAgICB9XHJcbiAgICAmX19lcnJvciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTAwJTsgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZXJyb3I7XHJcbiAgICAgICAgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gICAgICAgIFtjbGFzcyo9J2NvbC0nXSA+ICYge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5lcnJvciB+ICZfX2Vycm9yIHtcclxuICAgICAgICBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgJi0td2hpdGUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBAaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlcignJicsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSwgMSk7XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IteWVsbG93O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcclxuICAgICAgICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkY29sb3IteWVsbG93O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtLWRhdGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbnMvY2FsZW5kYXIuc3ZnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAyMHB4IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBoZWlnaHQ6IDU0cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG59XHJcbnRleHRhcmVhLmlucHV0IHtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgcmVzaXplOiBub25lO1xyXG4gICAgaGVpZ2h0OiAxNjBweDtcclxuICAgICYuaC0tc20ge1xyXG4gICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICB9XHJcbiAgICAmLmgtLW1kIHtcclxuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgfVxyXG4gICAgJi5oLS1sZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAyNDBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICBoZWlnaHQ6IDYwcHg7IFxyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICBAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcikge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNTM4MEM5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlLWRhcms7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0tZGFyayB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWUtZGFyaztcclxuICAgICAgICBAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzNjRGODM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzFCMkI0RDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtLXllbGxvdyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXllbGxvdztcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgQG1lZGlhIChhbnktaG92ZXI6aG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkE1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkZGNDc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1ncmF5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZGFyay1ncmF5O1xyXG4gICAgICAgIEBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzhFOEU5OTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNEI0QjU2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0td2hpdGUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIEBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtLWh3aGl0ZSB7XHJcbiAgICAgICAgLy8gQG1lZGlhIChhbnktaG92ZXI6aG92ZXIpIHtcclxuICAgICAgICAvLyAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgLy8gICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIC8vICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgJi0tYmQge1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAmLmJ0bi0td2hpdGUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZS1kYXJrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0tbWQge1xyXG4gICAgICAgIGhlaWdodDogNTZweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDI2cHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcclxuICAgIH1cclxuICAgICYtLW1pbncge1xyXG4gICAgICAgIG1pbi13aWR0aDogMjcwcHg7XHJcbiAgICB9XHJcbiAgICAmLS1taW53bWQge1xyXG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICB9XHJcbiAgICAmLS13YWxsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBtaW4td2lkdGg6IDFweDtcclxuICAgIH1cclxufVxyXG5cclxuLmNob2ljZXMge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICZbZGF0YS10eXBlKj1cInNlbGVjdC1vbmVcIl06YWZ0ZXIge1xyXG4gICAgICAgIHdpZHRoOiAyMnB4O2hlaWdodDogMjJweDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHggIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2Ryb3Auc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5jaG9pY2UtLXdoaXRlICZbZGF0YS10eXBlKj1cInNlbGVjdC1vbmVcIl06YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbnMvZHJvcC13aGl0ZS5zdmcpO1xyXG4gICAgfVxyXG4gICAgJi5pcy1vcGVuW2RhdGEtdHlwZSo9XCJzZWxlY3Qtb25lXCJdOmFmdGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuICAgIH1cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAuaXMtb3BlbiAmIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jaG9pY2UtLXdoaXRlICYge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2hvaWNlLS13aGl0ZSAuaXMtb3BlbiAmIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IteWVsbG93O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3BsYWNlaG9sZGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheTtcclxuICAgIH0gXHJcbiAgICAuY2hvaWNlLS13aGl0ZSAmX19wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcclxuICAgIH1cclxuICAgICZfX2xpc3QtLXNpbmdsZSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgICZfX2xpc3QtLWRyb3Bkb3duICB7XHJcbiAgICAgICAgLy8gYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsdWUgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMwKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcclxuICAgICAgICAvLyBiYWNrZ3JvdW5kOiAkY29sb3ItbGlnaHQtZ3JheSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAuY2hvaWNlLS13aGl0ZSAmIHtcclxuICAgICAgICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkY29sb3IteWVsbG93ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNob2ljZXNfX3BsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC5jaG9pY2VzX19pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNob2ljZS0td2hpdGUgJiAuY2hvaWNlc19faXRlbSB7XHJcbiAgICAgICAgICAgIC8vIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDU0cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uYWRkZmlsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICZfX2xhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZGFyay1ncmF5O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciAmX19sYWJlbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmX190IHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB9XHJcbiAgICAmX19icm93c2Uge1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3ByZXZpZXcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwOyB0b3A6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgIGNvbG9yOiAjNDc1NTY5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2xhYmVsIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1NHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmJ0bi1tb3Jle1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDU3MHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG59IiwiQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyKCRjbGFzcywgJGNvbG9yLCAkb3BhY2l0eTowLjYpIHtcclxuICAgICN7JGNsYXNzfTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306Oi1vLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9OjotbW96LWlucHV0LXBsYWNlaG9sZGVyeyBjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfTotbW96LWlucHV0LXBsYWNlaG9sZGVyeyAgY29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcnsgIGNvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9IGlucHV0LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9OjpwbGFjZWhvbGRlciB7Y29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306cGxhY2Vob2xkZXItc2hvd24ge2NvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcclxuICAgIC1tcy10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcclxuICAgIHRyYW5zZm9ybTogJHByb3BlcnR5O1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydHkpIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogICRwcm9wZXJ0eSBlYXNlLWluLW91dDtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogICRwcm9wZXJ0eSBlYXNlLWluLW91dDtcclxuICAgIC1vLXRyYW5zaXRpb246ICAkcHJvcGVydHkgZWFzZS1pbi1vdXQ7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogICRwcm9wZXJ0eSBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb246ICAkcHJvcGVydHkgZWFzZS1pbi1vdXQ7ICBcclxufVxyXG5cclxuQG1peGluIHBob3RvLWNvdmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcbkBtaXhpbiBhYnMtYWxsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7IHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuQG1peGluIGFicy1jZW50ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNTAlOyB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpXHJcbn1cclxuXHJcbkBmdW5jdGlvbiBsaCgkbGgsICRmcykge1xyXG4gICAgQHJldHVybiAje21hdGguZGl2KCRsaCwgJGZzKX07XHJcbn0iLCJcclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbnBvcHVwXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucG9wdXAge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgei1pbmRleDogLTEwMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgJi5vcGVuZWQge1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTtcclxuICAgICAgICBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAxNXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gICAgJl9fYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA4OTJweDtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDUwcHggNTZweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbGlnaHQtZ3JheTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLnBvcHVwLS1jYWxsYmFjayAmIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wb3B1cC0tdGhhbmsgJiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDgwcHggNTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWUtZGFyaztcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fYm9keSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDEwMCU7IHRvcDogMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB6LWluZGV4OiA5OTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBvcHVwLS1ibHVlICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wb3B1cC0tdGhhbmsgJiB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87IHJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICB0b3A6IDMwcHg7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci15ZWxsb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19oZWFkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIC5wb3B1cC0tdGhhbmsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gICAgJl9faW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJi0tY2FsbGJhY2sgLmNhbGxiYWNrX19pbm5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7XHJcbiAgICAgICAgJi0tY2FsbGJhY2sgJl9fY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweCAzNnB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY3OHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgICAgICAucG9wdXAtLXRoYW5rICYge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IC01MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDM2cHg7XHJcbiAgICAgICAgICAgIC5wb3B1cC0tdGhhbmsgJiB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgLnBvcHVwLS10aGFuayAmIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci15ZWxsb3c7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbnRybyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY29va2llIHtcclxuICAgIG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiA2MHB4OyByaWdodDogNTAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJHdpZHRoLWNvbnRhaW5lciAvIDIpO1xyXG4gICAgei1pbmRleDogOTk7XHJcblxyXG4gICAgJi5vcGVuZWQge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQwKTtcclxuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICAgICAgICBtYXgtd2lkdGg6IDYxMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgbWluLXdpZHRoOiAxNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ0bi0tYmc6aG92ZXIge1xyXG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjNUE1MzRFO1xyXG4gICAgICAgICAgICAvLyBib3JkZXItY29sb3I6ICM1QTUzNEU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC10YWJsZXQrMC4wMnB4KSBhbmQgKG1heC1oZWlnaHQ6IDY1MHB4KSB7XHJcbiAgICAgICAgYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC10YWJsZXQrMC4wMnB4KSBhbmQgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XHJcbiAgICAgICAgYm90dG9tOiAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIDk2MHB4IC8gMik7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIGxlZnQ6IDUwJTsgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogNjc4cHggLyAyKTtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBib3R0b206ICRwZC1jb250YWluZXI7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM0MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IDEycHg7XHJcbiAgICAgICAgICAgIGJyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnV0dG9ucyAuYnRuIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XHJcbiAgICAgICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbmhlYWRlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiA5OTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAmX19maXhlZCB7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgJi5maXhlZCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgei1pbmRleDogOTk5OTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX190b3Age1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJl9fdG9wICZfX2lubmVyIHtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG4gICAgJl9fc29jaWFsIHtcclxuICAgICAgICAuc29jaWFsX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNvY2lhbF9faXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jb250YWN0cyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbiAgICAmX19jb250YWN0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiA0cHg7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAmLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAmX19jb250IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIC5maXhlZCAmIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnQgJl9faW5uZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG4gICAgJi5maXhlZCAmX19jb250ICZfX2lubmVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgICB9XHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fbWVudSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAmX19sYW5nIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7IFxyXG4gICAgICAgICYtY3VycmVudCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9hcnJvdy1kcm9wLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgJi1jdXJyZW50OmFmdGVyLFxyXG4gICAgICAgICYub3BlbmVkICYtY3VycmVudDphZnRlciB7XHJcbiAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9wZW5lZCAmLWN1cnJlbnQge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vcGVuZWQgJi1jdXJyZW50IC5pY29uIHtcclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1vcGVuIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwOyB0b3A6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWRyb3Age1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xMHB4OyB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzRweDtcclxuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYgKyBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogMTRweDtcclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyICYtZHJvcCxcclxuICAgICAgICAmLm9wZW5lZCAmLWRyb3Age1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jYWxsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWRhcms7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19waG9uZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyOHB4OyBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2J1cmdlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19sb2dvIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tZW51IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19idXJnZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19jb24gJl9faW5uZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fY29udGFjdHMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19sb2dvIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbGFuZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtMzJweDsgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAmLWN1cnJlbnQ6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbnMvYXJyb3ctZHJvcC13aGl0ZS5zdmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtb3BlbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWRyb3Age1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19waG9uZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweCAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NhbGwtbGluayB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2xvZ28ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NhbGwge1xyXG4gICAgICAgICAgICAmLWxpbmsge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19waG9uZSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWluZGVudDogLTEwMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvY2FsbC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYWN0aW9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIG9yZGVyOiA1O1xyXG4gICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZml4ZWQgJl9fYWN0aW9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbGFuZyB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAkcGQtY29udGFpbmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL21lbnVcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvbmF2Zml4XCI7IiwiLm1lbnUge1xyXG4gICAgJl9fbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgICZfX2xpbmsge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2l0ZW0uYWN0aXZlID4gJl9fbGluayxcclxuICAgICZfX2l0ZW06aG92ZXIgJl9fbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgfVxyXG4gICAgJl9faXRlbTpob3ZlciAmX19saW5rIC5pY29uIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuICAgIH1cclxufVxyXG5cclxuLnN1Ym1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTIwcHg7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICBtaW4td2lkdGg6IDI4MHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcclxuICAgIG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICYgJiB7XHJcbiAgICAgICAgbGVmdDogMTAwJTsgdG9wOiAtMjBweDtcclxuICAgIH1cclxuICAgIC5tZW51X19pdGVtOmhvdmVyID4gJixcclxuICAgIC5zdWJtZW51X19pdGVtOmhvdmVyICYge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2xpbmsge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0LCBjb2xvciAgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICBjb2xvcjogIzMxNUVBNztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIubmF2Zml4IHtcclxuXHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgbGVmdDogMDsgdG9wOiA0MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7IGhlaWdodDogY2FsYyh2YXIoLS12aCkgKiAxMDAgLSA0MHB4KTtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG4gICAgei1pbmRleDogLTEwMDtcclxuICAgIG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246ICBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgbWFyZ2luOiAwOyAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgLmZpeGVkICYge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tdmgpICogMTAwKTtcclxuICAgIH1cclxuICAgICYub3BlbmVkIHtcclxuICAgICAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgICAgICBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgLy8gJl9fYmcge1xyXG4gICAgLy8gICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIC8vICAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgLy8gICAgIGxlZnQ6IDA7IHRvcDogMDtcclxuICAgIC8vICAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICAvLyAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgLy8gICAgIHotaW5kZXg6IDA7XHJcbiAgICAvLyB9XHJcbiAgICAmX19ib3gge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogNDMwcHg7IGhlaWdodDogY2FsYyh2YXIoLS12aCkgKiAxMDApO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDY2cHggMTAwcHggNDBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7IHRvcDogMDtcclxuICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1ib2R5O1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvOyBcclxuICAgICAgICBzY3JvbGxiYXItY29sb3I6ICRjb2xvci1ibHVlICNFMEVGRkY7XHJcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xyXG4gICAgICAgIHRyYW5zaXRpb246ICB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICB9XHJcbiAgICAmLm9wZW5lZCAmX19ib3gge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgICB9XHJcbiAgICAmX19oZWFkIHtcclxuICAgICAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgIH1cclxuICAgICZfX2Nsb3NlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB9XHJcbiBcclxuICAgIFxyXG4gICAgJl9fbWVudSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgJi1jb2wge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pdGVtIHtcclxuICAgICAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbGlzdCB7XHJcbiAgICAgICAgICAgIGxpICsgbGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3IteWVsbG93O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdG9nZ2xlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19waG9uZSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gICAgJl9fY2FsbCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgJi1saW5rIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci15ZWxsb3c7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWFjdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbWVudSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAmICYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1jb2w6Zmlyc3QtY2hpbGQgJi1pdGVtOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGlzdCB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtaXRlbS5vcGVuZWQgJi1saXN0IHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9kcm9wLXdoaXRlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWl0ZW0ub3BlbmVkICYtdGl0bGU6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbmZvb3RlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZvb3RlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyYXk7XHJcblx0Jl9faW5uZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICAmX19wZHRiIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgIH1cclxuICAgICZfX2xlZnQge1xyXG4gICAgICAgIHdpZHRoOiAyODRweDtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgJi1ib3R0b20ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fZGVzYyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fc29jaWFsIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAmX19pbmZvIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7IHRvcDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyB3aWR0aDogNTAwMHB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19uYXYge1xyXG4gICAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDI0cHg7XHJcbiAgICAgICAgJi1jb2wge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pdGVtIHtcclxuICAgICAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbGlzdCB7XHJcbiAgICAgICAgICAgIGxpICsgbGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3IteWVsbG93O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdG9nZ2xlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICB3aWR0aDogMjgwcHg7XHJcbiAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWl0ZW1zIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pdGVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZfX2ljb24ge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJl9fdmFsIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19ib3R0b20ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiAyNHB4O1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19sZWZ0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogMjRweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fZGVzYyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fc29jaWFsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTUwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9fbGVmdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0NnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgZ2FwOiAyNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbmF2IHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fY29udGFjdHMge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDAgMDtcclxuICAgICAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJl9fYm90dG9tIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgYXV0byk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAmX19sZWZ0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19kZXNjIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjRweCAwIDIwcHg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fY29udGFjdHMge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICYtYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fbmF2IHtcclxuICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgICAgICAmICYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1jb2w6Zmlyc3QtY2hpbGQgJi1pdGVtOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGlzdCB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtaXRlbS5vcGVuZWQgJi1saXN0IHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9kcm9wLXdoaXRlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWl0ZW0ub3BlbmVkICYtdGl0bGU6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2JvdHRvbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCBcImluYy9jb3JlXCI7XHJcblxyXG5AaW1wb3J0IFwiZm9udHNcIjtcclxuQGltcG9ydCBcInJlc2V0XCI7XHJcbkBpbXBvcnQgXCJjb21tb25cIjtcclxuQGltcG9ydCBcImxpYnNcIjtcclxuQGltcG9ydCBcImZvcm1zXCI7XHJcbkBpbXBvcnQgXCJwb3B1cFwiO1xyXG5AaW1wb3J0IFwiaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJmb290ZXJcIjtcclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmhlcm8ge1xyXG4gICAgJl9fc2xpZGVyIHtcclxuICAgICAgICAmLW5hdiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDsgYm90dG9tOiA2MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN3aXBlci1uYXYge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNTgwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7IHRvcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDc1JTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNGMkYyRjIgMCUsIHJnYmEoMjQyLCAyNDIsIDI0MiwgMC4wMCkgMTAwJSk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYmcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwaG90by1jb3ZlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pbm5lciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgICAgd2lkdGg6IDQ5JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19zbGlkZXIge1xyXG4gICAgICAgICAgICAmLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDg4NHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDAgNjBweDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDgwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGMkYyRjIgMCUsIHJnYmEoMjQyLCAyNDIsIDI0MiwgMC4wMCkgMTAwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1pbm5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fc2xpZGVyIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTg1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlKSB7XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtYnV0dG9ucyAuYnRuIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uc2VydmljZXMge1xyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICBncmlkLWdhcDogM3B4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJvZHk7XHJcbiAgICAgICAgaGVpZ2h0OiA0MzBweDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhYnMtYWxsO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzApO1xyXG4gICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgY29udGVudDogJydcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pbWcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwaG90by1jb3ZlcjtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41OztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pbmZvIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7IGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICAvLyBoeXBoZW5zOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuN3MgZWFzZSwgb3BhY2l0eSAwLjdzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyICYtdGV4dCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDFzIGVhc2UsIG9wYWNpdHkgMC43cyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1tbGluayB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFicy1hbGw7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMTAwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTAwcHggNXB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0NHB4O1xyXG4gICAgICAgICAgICAmLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5zZXJ2aWNlIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1fYWJvdXQge1xyXG4gICAgYmFja2dyb3VuZDogI0YyRjJGMjtcclxuICAgICZfX2hlYWQge1xyXG4gICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19udGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTAwcHg7IGNvbG9yOiAjQkJCO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICAgICZfX251bWJlcnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgIH1cclxuICAgICZfX251bWJlciB7XHJcbiAgICAgICAgJi12YWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX251bWJlcnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogNDBweCAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19idXR0b25zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9fbnRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA5MHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19udW1iZXJzIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX250aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbnVtYmVycyB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAzMHB4IDhweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbnVtYmVyIHtcclxuICAgICAgICAgICAgJi53LTEwMCB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtdmFsIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19idXR0b25zIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmNhbGxiYWNrIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAwIC0xMDBweDtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4O1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDsgdG9wOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogNTIuNSU7IGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDUsIDUsIDE2LCAwLjgwKSAwJSwgcmdiYSg1LCA1LCAxNiwgMC4wMCkgMTAwJSk7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2ltZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICB9XHJcbiAgICAmX19mb3JtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICB3aWR0aDogNTAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNTBweDtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMCk7XHJcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAmLnctLWFsbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWhlYWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXN1YnRpdGxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci15ZWxsb3c7IGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDVweCkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC02MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgLm1fYWJvdXQgKyAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fZm9ybSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAkcGQtY29udGFpbmVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEqJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2Zvcm0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4IDQwcHg7XHJcbiAgICAgICAgICAgICYtc3VidGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDMuMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnBhcnRuZXJzIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmX19jYXJvdXNlbCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBoZWlnaHQ6IDY3cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi52YWx1ZXMge1xyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDI0cHg7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA2O1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmF5O1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3MHB4OyBoZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAzNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAzMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEwMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwMHB4IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogNDQycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA4cHg7XHJcbiAgICAgICAgICAgIGdhcDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0NHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5jYWxjdWxhdGUge1xyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCAtNTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbGlnaHQtZ3JheTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgJl9fYm94IHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fbGVmdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXllbGxvdztcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgd2lkdGg6IDQwOHB4O1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogLTc2cHg7IGJvdHRvbTogLTExNXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNTYwcHg7IGhlaWdodDogNTYwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZWFydGhfZ2xvYmUuc3ZnKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Zvcm0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19ib3gge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbGVmdCB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweCA0MHB4IDQwcHggNDVweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTMwN3B4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC03MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMzA4cHg7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgJl9fbGVmdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCA4OHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM3MHB4OyBoZWlnaHQ6IDM3MHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAtOTVweDsgcmlnaHQ6IC04MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmJsb2cge1xyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogNTBweCAwO1xyXG4gICAgICAgIC8vIG1hcmdpbjogMCAtMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICAvLyBwYWRkaW5nOiAwIDEycHg7XHJcbiAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmLS13c20ge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLXdtZHgge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA1KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0td21kIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLS13bGcge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA3KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtcGhvdG8ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgICAgICAgICAmLmgtLXNteCB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaC0tc20ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmgtLW1kIHtcclxuICAgICAgICAgICAgICAgIC8vIGhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5oLS1sZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciAgJi1waG90byBpbWcge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgICYtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWRhdGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNzI3MjdEO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1kZXNjIHtcclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10YWcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDIwcHg7IGJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMwKTtcclxuICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDI2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbWxpbmsge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhYnMtYWxsO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAmLXBob3RvIHtcclxuICAgICAgICAgICAgICAgIC8vIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLWRlc2Mge1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiA0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICYtcGhvdG8ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogODAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uYmxvZ2Qge1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcblxyXG4gICAgJl9faGVhZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19kYXRlIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstZ3JheTtcclxuICAgIH1cclxuICAgICZfX3Bob3RvIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDUxJTtcclxuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXJcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX190YWcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAyMHB4OyBib3R0b206IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMwKTtcclxuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcclxuICAgICAgICBwYWRkaW5nOiAxMnB4IDI2cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogI2ZmZjtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgfVxyXG4gICAgJl9fcHJldiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb2xzIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIH1cclxuICAgICZfX2FzaWRlIHtcclxuICAgICAgICAmLWJnIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyYXk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggNDBweCA2NnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1kYXJrLWdyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZGF0ZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrLWdyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgICYtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZGVzYyB7XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbWxpbmsge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhYnMtYWxsO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2FzaWRlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgICAgICAgICAgJi1iZyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDQwcHggNDJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Bob3RvIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYXNpZGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICYtYmcge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZhcSB7XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgcGFkZGluZzogMjVweCAzMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmF5O1xyXG4gICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtaGVhZCB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm9wZW5lZCAmLXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXBsdXMge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwOyB0b3A6IDA7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogNTFweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE4NywgMTg3LCAxODcsIDAuNDApO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzNSU7IGhlaWdodDogMzUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm9wZW5lZCAmLXBsdXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1ib2R5IHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMHB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYub3BlbmVkICYtYm9keSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAzMHB4O1xyXG4gICAgICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtaGVhZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtcGx1cyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmNvbnRhY3RzIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmX19oYmdtYXAge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogNTAlOyB0b3A6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwMHB4OyBoZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLWJsdWU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlY3Rpb25fX3N1YnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci15ZWxsb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250YWN0c19faGVhZCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbWFwIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IC05MHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAzNXB4OyByaWdodDogNThweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MDBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1waW5zIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE1MHB4OyBtYXJnaW4tcmlnaHQ6IDEzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXBpbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgJltkYXRhLXBpbj1cIjFcIl0ge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE4MHB4OyBib3R0b206IDg1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJltkYXRhLXBpbj1cIjJcIl0ge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDkwcHg7IGJvdHRvbTogNzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmW2RhdGEtcGluPVwiM1wiXSB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDsgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ib3JkZXItcGluIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUgLmJvcmRlci1waW4ge1xyXG4gICAgICAgICAgICAgICAgZmlsbDogJGNvbG9yLXllbGxvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19mb3JtaW5mIHtcclxuICAgICAgICBtYXJnaW46IDAgLTUwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyYXk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAmLWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19mb3JtIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAmLWhlYWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1zdWJtaXQge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDQ2MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci15ZWxsb3c7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAmLWl0ZW0ge1xyXG4gICAgICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg1LCA1LCAxNiwgMC41KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmX19oZWFkIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiA0cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIxcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5vcGVuZWQgJl9faGVhZCB7XHJcbiAgICAgICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoNSwgNSwgMTYsIDAuNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJl9fYm9keSB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYub3BlbmVkICZfX2JvZHkge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmX19yb3cge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJl9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZfX3ZhbCB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtc29jaWFsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgICZfX2Zvcm1pbmYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9faGJnbWFwIHtcclxuICAgICAgICAgICAgJi1tYXAge1xyXG5cclxuICAgICAgICAgICAgICAgIHRvcDogLTQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fZm9ybWluZiB7XHJcbiAgICAgICAgICAgICYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2luZm8ge1xyXG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19oYmdtYXAge1xyXG4gICAgICAgICAgICAuY29udGFjdHNfX2hlYWQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDU4JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLW1hcCB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDY1NXB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtNTVweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTYzcHg7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtcGlucyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJl9fZm9ybWluZiB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICAmLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXNvY2lhbCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDBweDsgcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgJl9faGJnbWFwIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIC5jb250YWN0c19faGVhZCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1tYXAge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1NzBweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtNTRweDtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1waW5zIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmX19mb3JtaW5mIHtcclxuICAgICAgICAgICAgJi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fZm9ybS1oZWFkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1zb2NpYWwge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5hYm91dCB7XHJcblxyXG4gICAgJl9fZXhwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZS1kYXJrO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAmLXZhbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzcwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjUyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjE1ZW07XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC04JSwgLTMlKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19udW1iZXJzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICB9XHJcbiAgICAmX19udW1iZXIge1xyXG4gICAgICAgICYtdmFsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2V4cCB7XHJcbiAgICAgICAgICAgICYtdmFsIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9fZXhwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgJi12YWwge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0ODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19udW1iZXJzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICAmX19leHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgJi12YWwge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MzBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjY1O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC0xMCUpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX251bWJlcnMge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMzBweCAxNnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgZ2FwOiAzMHB4IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX251bWJlciB7XHJcbiAgICAgICAgICAgICYtdmFsIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uc2VydCB7XHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAyNHB4O1xyXG4gICAgfVxyXG4gICAgJl9faGVhZCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTM1JTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYm9keTtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwaG90by1jb3ZlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFicy1jZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDsgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy96b29tLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgMjM1LCAyMjYsIDAuNDApO1xyXG4gICAgICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIuNXB4KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAgICAgJjpob3ZlciBpbWcge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIgYTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDMwcHg7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9faXRlbXMge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0xKiRwZC1jb250YWluZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHBkLWNvbnRhaW5lciA1cHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNDRweDsgaGVpZ2h0OiAzNDRweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnZhY2FuY2llcyB7XHJcbiAgICAmX19iZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyYXk7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6IDI0cHg7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1kYXJrLWdyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaW5mbyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjkwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyODJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYm9keSB7XHJcbiAgICAgICAgICAgIHAgKyB1bCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2JnIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAmLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucmVzcG9uc2Uge1xyXG4gICAgXHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC01MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmF5O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICB9XHJcbiAgICAmX19ib3gge1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZm9ybSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgJi1oZWFkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19pbmZvIHtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICB3aWR0aDogNDYwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWUtZGFyaztcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICYtaGVhZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaW50cm8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWNvbnRhY3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJl9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmX192YWwge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaWxsdXN0ciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjA2cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7IGJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19ib3gge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19ib3gge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMzQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgIFxyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19ib3gge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19mb3JtLWhlYWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgJi1oZWFkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1pbGx1c3RyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjdweCBhdXRvIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnByb21vIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ib2R5O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWluLWhlaWdodDogMzAwcHg7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgJl9faW1nIHtcclxuICAgICAgICBAaW5jbHVkZSBhYnMtYWxsO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwaG90by1jb3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgIH1cclxuICAgICZfX3RpdGxlIHtcclxuICAgIFxyXG4gICAgfVxyXG4gICAgJl9faW50cm8ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnNlcmljZSB7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuYXNpZGVcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5hc2lkZSB7XHJcbiAgICAmX19zdGlja3kge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICAgICAgdG9wOiA4MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fbmF2IHtcclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1saXN0IHtcclxuICAgICAgICAgICAgbGkgKyBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrLWdyYXk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYm9keTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaS5hY3RpdmUgYSxcclxuICAgICAgICAgICAgbGkuY3VycmVudCBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAmX19uYXYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEqJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAkcGQtY29udGFpbmVyO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1saXN0IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHBkLWNvbnRhaW5lciAtIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fZm9wZW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19uYXYgKyAmX19maWx0ZXJzIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5hZHZhbnQge1xyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDI0cHg7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA2O1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmF5O1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMSksXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA2O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDsgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAzNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEwMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwMHB4IDVweDtcclxuICAgICAgICAgICAgLnNlcnZpY2VfX2NvbnRlbnQgJiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgJl9faXRlbXMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEqJHBkLWNvbnRhaW5lciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICRwZC1jb250YWluZXIgNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5mb3J3aGF0IHtcclxuICAgICZfX2Nhcm91c2VsIHtcclxuICAgICAgICAuc3dpcGVyLW5hdiB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAzcHg7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYm9keTtcclxuICAgICAgICBoZWlnaHQ6IDM0MHB4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFicy1hbGw7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMCk7XHJcbiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJ1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWltZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWluZm8ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDsgbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweDtcclxuICAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIC8vIGh5cGhlbnM6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC43cyBlYXNlLCBvcGFjaXR5IDAuN3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgJi10ZXh0IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMXMgZWFzZSwgb3BhY2l0eSAwLjdzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLW1saW5rIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWJzLWFsbDtcclxuICAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2Nhcm91c2VsLnN3aXBlciAuc3dpcGVyLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAvLyBoZWlnaHQ6IDYxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICAmLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fY2Fyb3VzZWwuc3dpcGVyIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMSokcGQtY29udGFpbmVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICRwZC1jb250YWluZXIgNXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IDNweDtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDNweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDsgaGVpZ2h0OiAzNDBweDtcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmNvbnRhY3RzIHtcclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDI0cHg7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyYXk7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCA2MHB4IDMwcHggMzBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXJvdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmX19pY29uIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXk7XHJcbiAgICAgICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmX192YWwge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZlICYtcm93X19pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42MCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fbWFwIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICYtcm93cyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMnB4IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1yb3cge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9kcm9wLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUgJi10aXRsZTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2Ryb3Atd2hpdGUuc3ZnKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXJvd3Mge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlICYtcm93cyB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtcm93IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZXJyb3I0MDQge1xyXG4gICAgLy8vLy8vLy8vLy9wb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLXZoKSAqIDEwMCAtIHZhcigtLWhIZWFkZXIpKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTMwcHggMCA0NnB4O1xyXG4gICAgJl9faW1nIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwOyBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICB9XHJcbiAgICAmX19idXR0b25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICZfX2ltZyB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucGhvdG9zIHtcclxuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBoZWlnaHQ6IDM0MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ib2R5O1xyXG4gICAgICAgIC8vICY6OmJlZm9yZSB7XHJcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIGFicy1hbGw7XHJcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMCk7XHJcbiAgICAgICAgLy8gICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcclxuICAgICAgICAvLyAgICAgei1pbmRleDogMjtcclxuICAgICAgICAvLyAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIC8vICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC8vICAgICBjb250ZW50OiAnJ1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyAmOmhvdmVyOjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwaG90by1jb3ZlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciBpbWcge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICAmX19jYXJvdXNlbCB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDYwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cclxuIl19 */
