@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-size: 15px;
  line-height: 1.4666666667;
  font-family: "Montserrat", sans-serif;
  color: #fff;
  font-weight: normal;
  font-style: normal;
  background: #000;
}
@media (max-width: 1199.98px) {
  body {
    font-size: 14px;
  }
}
@media (max-width: 609.98px) {
  body {
    font-size: 12px;
  }
}

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

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

ul {
  list-style: none;
}

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

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

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

.container {
  width: 100%;
  padding: 0 28px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .container {
    max-width: 100%;
    padding: 0 24px;
  }
}
.wrapper {
  min-height: 100%;
  width: 100%;
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.content__wrapper {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}
.content__wrapper > * {
  width: 100%;
}

.pd__header {
  padding-top: 85px;
}

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

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

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

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

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

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

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

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

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

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

.noscroll {
  overflow: hidden;
}

.nowrap {
  white-space: nowrap;
}

.loader {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  background: #000;
  opacity: 1;
  visibility: visible;
  transition: all 0.4s linear;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.loader.show {
  opacity: 1;
  visibility: visible;
}

.loader__logo {
  height: 70px;
}

.content__text > * {
  margin-bottom: 10px;
}
.content__text > *:first-child {
  margin-top: 0;
}
.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: #fff;
  line-height: 1.1;
  font-weight: 700;
}
.content__text h1 {
  font-size: 24px;
  margin: 20px 0;
}
.content__text h2 {
  font-size: 20px;
  margin: 15px 0;
}
.content__text h3 {
  font-size: 18px;
  margin: 15px 0;
}
.content__text h4 {
  font-size: 16px;
}
.content__text h5 {
  font-size: 14px;
}
.content__text ul,
.content__text ol {
  padding-left: 26px;
}
.content__text ol {
  list-style-type: none;
  counter-reset: num;
}
.content__text li {
  position: relative;
}
.content__text ul li:before {
  position: absolute;
  top: 0px;
  right: 100%;
  margin-right: 11px;
  color: #fff;
  font-size: 16px;
  content: "•";
}
.content__text ol li:before {
  content: counter(num) ".";
  counter-increment: num;
  display: inline-block;
  position: absolute;
  top: 0px;
  right: 100%;
  margin-right: 8px;
  text-align: right;
}
.content__text img {
  border-radius: 20px;
}
.section__head {
  margin-bottom: 30px;
}
.section__title {
  font-size: 36px;
  font-weight: 900;
  text-transform: uppercase;
  color: #FFFF00;
}
.section__title.fs--md {
  font-size: 30px;
}
.text--center .section__intro {
  margin-left: auto;
  margin-right: auto;
}
.section__buttons {
  margin-top: 68px;
  text-align: center;
}
.section__first {
  margin-top: 0 !important;
}
.section__mg {
  margin: 160px 0;
}
.section__pd {
  padding: 60px 0;
}
.section__pdb--md {
  padding-bottom: 100px;
}
.section__tab {
  display: none;
}
.section__tab.show {
  display: block;
}
@media (max-width: 1023.98px) {
  .section__head.hcols {
    flex-direction: column;
    gap: 20px;
  }
}
@media (max-width: 767.98px) {
  .section__title {
    font-size: 30px;
  }
  .section__pd {
    padding: 40px 0;
  }
  .section__pdb--md {
    padding-bottom: 60px;
  }
}
.text--center {
  text-align: center;
}

.text--white {
  color: white;
}

.text--accent {
  color: #FFFF00;
}

.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 {
  display: flex;
  align-items: center;
  gap: 24px;
}
.social__item {
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
}
.social__item img {
  height: 100%;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .social__item:hover img {
    transform: scale(1.2);
  }
}
.social .icon {
  width: 19px;
  height: 19px;
}

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

.pagination {
  display: flex;
  margin-top: 45px;
}
.pagination__list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 -5px;
}
.pagination .page-item {
  position: relative;
  color: #969696;
  font-size: 12px;
  padding: 2px 5px;
  transition: all 0.3s ease-in-out;
}
.pagination .page-item:hover {
  color: #fff;
}
.pagination .page-item.active {
  color: #fff;
}
.pagination .page-item .icon {
  width: 14px;
  height: 21px;
}
.pagination .page-first, .pagination .page-last {
  display: none;
}
.pagination .page-item-next, .pagination .page-item-prev {
  display: none;
  order: 5;
  margin-top: 5px;
  width: 60px;
  height: 40px;
  background: none;
  border: 3px solid rgba(255, 255, 255, 0.5);
}
.pagination .page-item-next .page-link, .pagination .page-item-prev .page-link {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination .page-item-next {
  margin-left: 5px;
}
@media (max-width: 1023.98px) {
  .pagination {
    margin-top: 80px;
    justify-content: center;
  }
  .pagination__list {
    justify-content: center;
  }
}

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

.swiper-pagination {
  display: flex;
}
.swiper-pagination-bullet {
  margin: 0 6px !important;
  width: 12px;
  height: 12px;
  border: 1px solid #737373;
  background: none;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-button {
  width: 22px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  margin: 0;
  color: #fff;
}
.swiper-button:after {
  display: none;
}
.swiper-button .icon {
  width: 100%;
  height: 100%;
}
@media (hover: hover) {
  .swiper-button:hover {
    color: #FFFF00;
  }
}
.swiper-button-nav {
  position: relative;
  display: flex;
  align-items: center;
}
.swiper-button-nav .swiper-pagination {
  position: static;
  width: auto;
  margin: 0 -6px;
}
@media (max-width: 767.98px) {
  .swiper-button {
    width: 16px;
    height: 28px;
  }
}

.swiper-scrollbar {
  background: none;
}

.mCSB_inside > .mCSB_container {
  margin-right: 0;
}

.mCSB_container {
  padding-right: 0;
  padding-left: 60px;
}

.mCS_no_scrollbar .mCSB_container {
  padding: 0;
}

.mCSB_scrollTools {
  left: 0;
  right: auto;
  width: 3px;
  background: #343434;
  padding: 0;
  border: none;
}
.mCSB_scrollTools .mCSB_draggerContainer {
  top: 0;
  bottom: 0;
}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 3px;
  background: #FFFF00;
}

/**************************************************************
forms
**************************************************************/
.input::-webkit-input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input::-o-input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input::-moz-input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input:-moz-input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input::-ms-input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input input-placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input::placeholder {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

.input:placeholder-shown {
  color: rgba(85, 85, 85, 0.6);
  opacity: 1;
}

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

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

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

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

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

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

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

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

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

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

input[type=text], input[type=tel], button {
  -webkit-appearance: none;
}

.input {
  width: 100%;
  height: 35px;
  line-height: 33px;
  font-family: "Montserrat", sans-serif;
}

textarea.input {
  line-height: normal;
  padding: 10px 15px;
  resize: none;
  height: 100px;
}

.btn {
  display: inline-block;
}

/**************************************************************
popup
**************************************************************/
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  display: none;
}
.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: #232730;
  opacity: 0.7;
}
.popup__container {
  position: relative;
  width: 100%;
  max-width: 510px;
  padding: 60px 30px 70px;
  background: #2B2D38;
  overflow: hidden;
  text-align: center;
}
.popup__close {
  position: absolute;
  right: 13px;
  top: 13px;
  width: 28px;
  height: 28px;
  background: url(../images/popup-close.svg) no-repeat center;
  cursor: pointer;
  z-index: 99;
}
.popup__head {
  margin-bottom: 30px;
}
.popup__title {
  font-weight: bold;
  font-size: 48px;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
}
.popup form {
  max-width: 360px;
  margin: 0 auto;
}
.popup form .btn {
  min-width: 280px;
}
.popup__iconthank {
  margin-bottom: 50px;
}
.popup-thank .popup__title {
  margin-bottom: 0;
}

/**************************************************************
header
**************************************************************/
.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}
.header__inner {
  height: 85px;
  padding: 10px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.header__logo {
  max-width: 150px;
  max-height: 50px;
  display: flex;
}
.header__logo img {
  max-height: 100%;
}
.header__burger {
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: none;
  background: none;
  outline: none;
  z-index: 5;
  cursor: pointer;
}
.header__burger img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease-in-out;
}
.header__burger .img-active {
  opacity: 0;
}
.header__burger.active img {
  opacity: 0;
}
.header__burger.active .img-active {
  opacity: 1;
}

.navfix {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(var(--vh) * 100);
  background: #000;
  z-index: 0;
  margin: 0;
  overflow: auto;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.navfix.opened {
  opacity: 1;
  visibility: visible;
}
.navfix__inner {
  height: calc(var(--vh) * 100);
  display: flex;
  flex-direction: column;
  padding: 115px 95px 60px;
}
.navfix__menu {
  margin-bottom: 60px;
}
.navfix__menu li + li {
  margin-top: 27px;
}
.navfix__menu li a {
  font-size: 30px;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
}
.navfix__menu li a:hover {
  color: #FFFF00;
}
.navfix__contacts {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
}
.navfix__contact {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  transition: all 0.3s ease-in-out;
  font-size: 15px;
}
.navfix__contact:hover {
  color: #FFFF00;
}
.navfix__contact img {
  width: 15px;
  flex: 0 0 auto;
}
.navfix__copy {
  margin-top: 60px;
  font-size: 10px;
  opacity: 0.5;
}
@media (min-width: 1024px) and (max-height: 600px) {
  .navfix__inner {
    padding-top: 60px;
  }
  .navfix__menu {
    margin-bottom: 40px;
  }
  .navfix__menu li + li {
    margin-top: 17px;
  }
  .navfix__copy {
    margin-top: 40px;
  }
}
@media (max-width: 1199.98px) {
  .navfix__inner {
    padding-left: 30px;
    padding-right: 30px;
  }
  .navfix__menu li a {
    font-size: 24px;
  }
}
@media (max-width: 1023.98px) {
  .navfix__inner {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .navfix__menu {
    margin-top: 45px;
  }
}
@media (max-width: 609.98px) {
  .navfix__inner {
    padding-bottom: 30px;
  }
  .navfix__menu li + li {
    margin-top: 20px;
  }
  .navfix__menu li a {
    font-size: 20px;
  }
  .navfix__copy {
    margin-top: 20px;
  }
}

/**************************************************************
footer
**************************************************************/
.footer {
  background: #171717;
  padding: 100px 0 40px;
  font-size: 10px;
}
.footer__inner {
  display: flex;
  justify-content: space-between;
  gap: 50px;
}
.footer__info {
  flex: 0 0 auto;
  width: 350px;
}
.footer__logo {
  flex: 0 0 auto;
  width: 250px;
}
.footer__logo img {
  width: 100%;
}
.footer__contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
}
.footer__contact {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  transition: all 0.3s ease-in-out;
  font-size: 15px;
}
.footer__contact:hover {
  color: #FFFF00;
}
.footer__contact img {
  width: 15px;
  flex: 0 0 auto;
}
.footer__menu {
  margin-top: 35px;
}
.footer__menu li + li {
  margin-top: 15px;
}
.footer__menu li a {
  opacity: 0.5;
  transition: all 0.3s ease-in-out;
}
.footer__menu li a:hover {
  opacity: 1;
}
.footer__bottom {
  margin-top: 65px;
}
@media (max-width: 767.98px) {
  .footer {
    padding: 40px 0 25px;
  }
  .footer__info {
    width: 100%;
  }
  .footer__logo {
    display: none;
  }
  .footer__contacts {
    gap: 10px;
  }
  .footer__bottom {
    margin-top: 40px;
  }
}

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

**************************************************************/
.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  overflow: hidden;
}
.hero::after {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 165px;
  width: 100%;
  background: #000;
  content: "";
}
.hero__info {
  padding: 200px 150px 250px 175px;
  background: #fff;
  color: black;
}
.hero__name {
  position: relative;
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
}
.hero__name b {
  font-size: 52px;
  font-weight: 900;
}
.hero__name::before {
  position: absolute;
  left: -40px;
  top: 0;
  height: 100%;
  width: 5px;
  background: #FFFF00;
  content: "";
}
.hero__text {
  max-width: 350px;
  max-width: 400px;
  margin-top: 27px;
  text-wrap: balance;
}
.hero__text li {
  position: relative;
  padding-left: 20px;
}
.hero__text li:before {
  position: absolute;
  top: 0px;
  left: 0;
  font-size: 1.5em;
  line-height: 0.9;
  content: "•";
}
.hero__photo {
  position: relative;
  background: #FFFF00;
  min-height: 755px;
}
.hero__photo img {
  position: absolute;
  max-width: 80%;
  left: 50%;
  top: 60px;
  transform: translateX(-50%);
  z-index: 10;
}
.hero__iscroll {
  position: absolute;
  left: 50%;
  bottom: 70px;
  transform: translateX(-50%);
  z-index: 10;
}
@media (max-width: 1199.98px) {
  .hero__info {
    padding-left: 80px;
    padding-right: 50px;
  }
}
@media (max-width: 1023.98px) {
  .hero {
    display: block;
  }
  .hero::after {
    display: none;
  }
  .hero__info {
    padding: 130px 30px 40px 80px;
  }
  .hero__text {
    max-width: 100%;
  }
  .hero__photo {
    min-height: 800px;
    background: #fff;
  }
  .hero__photo::after {
    position: absolute;
    right: 0;
    top: 0;
    width: 130%;
    height: 100%;
    background: #FFFF00;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    content: "";
  }
  .hero__photo img {
    top: 0;
    max-width: 75%;
  }
}
@media (max-width: 609.98px) {
  .hero__info {
    padding: 130px 24px 10px;
  }
  .hero__name {
    font-size: 23px;
  }
  .hero__name b {
    font-size: 37px;
  }
  .hero__name::before {
    display: none;
  }
  .hero__text {
    margin-top: 14px;
  }
  .hero__photo {
    min-height: 500px;
  }
  .hero__iscroll {
    bottom: 40px;
  }
}

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

**************************************************************/
.about {
  background: #000;
  min-height: 100vh;
  padding: 100px 0;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}
.about__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.about__info {
  padding: 60px 150px 0;
  border-right: 1px solid rgba(255, 255, 0, 0.2);
}
.about__info.mw {
  padding-left: 100px;
  padding-right: 100px;
}
.about__text {
  max-width: 350px;
  max-width: 550px;
}
.about__text > * + * {
  margin-top: 8px;
}
.about__text a {
  text-decoration: underline;
}
.about__text a:hover {
  text-decoration: none;
}
.about__buttons {
  margin-top: 20px;
}
.about__right {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 100px;
}
.about__right.pos-top {
  align-items: flex-start;
  padding-top: 145px;
}
.about__logo {
  position: relative;
  z-index: 5;
}
.about__logo .logo-1, .about__logo .logo-2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) {
  .about__logo:hover .logo-1 {
    transform: translateY(-30%);
  }
  .about__logo:hover .logo-2 {
    transform: translateY(30%);
  }
}
@media (max-width: 1699.98px) {
  .about__info {
    padding-left: 100px;
    padding-right: 100px;
  }
  .about__info.mw {
    padding-left: 50px;
    padding-right: 50px;
  }
}
@media (max-width: 1199.98px) {
  .about__info {
    padding-left: 0px !important;
    padding-right: 50px !important;
  }
}
@media (max-width: 1023.98px) {
  .about__cols {
    grid-template-columns: 1fr;
  }
  .about__info {
    padding: 0;
    border: none;
  }
  .about__text {
    max-width: 100%;
  }
  .about__right {
    padding: 0;
    order: -1;
    margin-bottom: 96px;
  }
  .about__right.pos-top {
    padding-top: 40px;
  }
  .about__right .logo-1, .about__right .logo-2 {
    opacity: 0;
  }
}
@media (max-width: 609.98px) {
  .about {
    padding: 70px 0;
  }
}

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

**************************************************************/
.project {
  position: relative;
  z-index: 2;
}
.project__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.project__item {
  text-align: center;
  color: #000;
  padding: 100px 150px 80px;
  background: rgb(255, 255, 0);
  transition: all 0.3s ease-in-out;
}
.project__item:nth-child(4n-2), .project__item:nth-child(4n-1) {
  background: #E6E600;
}
.project__item-letter {
  font-size: 450px;
  line-height: 0.8;
  font-weight: 900;
  margin-bottom: 30px;
}
.project__item-logo {
  padding-bottom: 100%;
  position: relative;
  margin-bottom: 30px;
}
.project__item-logo img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: 100%;
  transition: all 0.3s ease-in-out;
}
.project__item-logo .logo-hover {
  opacity: 0;
}
.project__item-title {
  font-size: 24px;
  font-weight: 500;
}
@media (hover: hover) {
  .project__item:hover {
    background: #000;
    color: #fff;
  }
  .project__item:hover img {
    opacity: 0;
  }
  .project__item:hover .logo-hover {
    opacity: 1;
  }
}
@media (max-width: 1023.98px) {
  .project__item {
    padding: 50px 50px;
  }
  .project__item-logo {
    max-width: 250px;
    margin: 0 auto 20px;
  }
}
@media (max-width: 767.98px) {
  .project__items {
    grid-template-columns: 1fr;
  }
  .project__item {
    background: #FFFF00 !important;
  }
  .project__item:nth-child(2n) {
    background: #E6E600 !important;
  }
}
@media (max-width: 609.98px) {
  .project__item {
    padding: 30px;
  }
  .project__item-title {
    font-size: 18px;
  }
}

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

**************************************************************/
.smi {
  padding-left: 30px;
  padding-right: 30px;
}
.smi--first {
  padding-top: 180px;
  padding-bottom: 120px;
}
.smi__cols {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.smi__scroll {
  max-height: 470px;
  max-width: 450px;
  width: 100%;
}
.smi__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 16px;
}
.smi__item {
  display: block;
  transition: all 0.3s ease-in-out;
  color: #fff;
  font-size: 12px;
  padding-right: 30px;
  position: relative;
}
.smi__item + .smi__item {
  margin-top: 15px;
}
.smi__items .smi__item {
  margin: 0;
}
.smi__item::before {
  position: absolute;
  right: 0;
  top: 3px;
  width: 20px;
  height: 12px;
  background: url(../images/icons/link.svg) no-repeat;
  background-size: 100%;
  content: "";
}
.smi__item-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.smi__item-date {
  flex: 0 0 auto;
  margin-top: 8px;
  opacity: 0.5;
  white-space: nowrap;
}
.smi__item-title {
  text-wrap: balance;
  transition: all 0.3s ease-in-out;
}
.smi__item-descr {
  margin-top: 20px;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (hover: hover) {
  .smi__item:hover {
    color: #FFFF00;
  }
}
.smi__right {
  width: 50%;
  display: flex;
  justify-content: center;
  position: relative;
}
.smi--first .smi__right::after {
  position: absolute;
  bottom: -120px;
  top: -180px;
  left: 0;
  right: -60px;
  background: #FFFF00;
  z-index: -1;
  content: "";
}
.smi__brands {
  width: 100%;
  max-width: 450px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.smi__ibrand {
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.smi__ibrand img {
  max-width: 170px;
  max-height: 70px;
}
@media (max-width: 1199.98px) {
  .smi {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 1023.98px) {
  .smi.smi--first {
    min-height: calc(var(--vh) * 100);
    padding: 180px 0 40px;
  }
  .smi.smi--first::after {
    height: calc(100% - 100px);
  }
  .smi__cols {
    flex-direction: column;
  }
  .smi__right {
    width: 100%;
    margin-top: 50px;
  }
  .smi--first .smi__right::after {
    display: none;
  }
  .smi__brands {
    max-width: 100%;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 609.98px) {
  .smi.smi--first {
    padding-top: 130px;
  }
  .smi__scroll {
    max-height: 2000px;
  }
  .smi__scroll .mCSB_container {
    padding: 0;
  }
  .smi__items {
    grid-template-columns: 1fr;
  }
  .smi__item {
    display: flex;
    gap: 15px;
    padding-right: 50px;
    line-height: 18px;
  }
  .smi__item-title {
    flex: 1 0 0;
  }
  .smi__item-date {
    font-size: 10px;
    margin-top: 0;
  }
  .smi__scroll .smi__item {
    display: none;
  }
  .smi__scroll .smi__item:nth-child(1), .smi__scroll .smi__item:nth-child(2), .smi__scroll .smi__item:nth-child(3), .smi__scroll .smi__item:nth-child(4), .smi__scroll .smi__item:nth-child(5), .smi__scroll .smi__item:nth-child(6), .smi__scroll .smi__item:nth-child(7) {
    display: flex;
  }
  .smi__brands {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 0 15px;
  }
  .smi__ibrand img {
    max-width: 140px;
    max-height: 50px;
  }
}

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

**************************************************************/
.gallery__carousel .swiper-button-prev {
  left: 30px;
}
.gallery__carousel .swiper-button-next {
  right: 30px;
}
.gallery__item {
  position: relative;
  overflow: hidden;
  padding-bottom: 50%;
}
.gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  object-position: top;
}
@media (max-width: 767.98px) {
  .gallery__item {
    padding-bottom: 100%;
  }
}

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

**************************************************************/
.contacts {
  position: relative;
}
.contacts__inner {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 150px;
}
.contacts__logo {
  flex: 0 0 auto;
  width: 250px;
}
.contacts__logo img {
  width: 100%;
}
.contacts__contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
}
.contacts__contact {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.3s ease-in-out;
  font-size: 15px;
}
.contacts__contact:hover {
  color: #FFFF00;
}
.contacts__contact img {
  width: 15px;
  flex: 0 0 auto;
}
.contacts__menu {
  text-align: right;
  font-size: 12px;
}
.contacts__menu li + li {
  margin-top: 10px;
}
.contacts__menu li a {
  opacity: 0.5;
  transition: all 0.3s ease-in-out;
}
.contacts__menu li a:hover {
  opacity: 1;
}
.contacts__copy {
  position: absolute;
  left: 30px;
  bottom: 40px;
  font-size: 10px;
}
@media (max-width: 1023.98px) {
  .contacts__inner {
    flex-direction: column;
    gap: 60px;
  }
  .contacts__contacts {
    order: -1;
    align-items: center;
    gap: 7px;
  }
  .contacts__contact img {
    display: none;
  }
  .contacts__menu {
    display: none;
  }
  .contacts__logo {
    position: relative;
    margin: 100px 0;
    width: 100%;
    max-width: 360px;
  }
  .contacts__logo .logo-1, .contacts__logo .logo-2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
    transition: all 0.3s ease-in-out;
  }
  .contacts__logo .logo-1 {
    transform: translateY(-30%);
  }
  .contacts__logo .logo-2 {
    transform: translateY(30%);
  }
}
@media (max-width: 609.98px) {
  .contacts__inner {
    gap: 40px;
  }
}

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

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

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

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

**************************************************************/
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9yZXNldC5zY3NzIiwiaW5jL192YXJzLnNjc3MiLCJfY29tbW9uLnNjc3MiLCJjb21tb24vX2NvbnRlbnQuc2NzcyIsImNvbW1vbi9fc2VjdGlvbi5zY3NzIiwiY29tbW9uL19lbGVtZW50cy5zY3NzIiwiaW5jL19taXhpbnMuc2NzcyIsIl9saWJzLnNjc3MiLCJfZm9ybXMuc2NzcyIsIl9wb3B1cC5zY3NzIiwiX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fbmF2Zml4LnNjc3MiLCJfZm9vdGVyLnNjc3MiLCJzdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYUM1Qkc7RUQ2QkgsT0N2QlM7RUR3QlQ7RUFDQTtFQUNBLFlDN0JNOztBRDhCTjtFQVZKO0lBV1E7OztBQUVKO0VBYko7SUFjUTs7OztBQUdSO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0U7OztBQUdGO0VBQ0k7RUFDQTtFQUNBO0VBQVc7OztBRTVEZjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUVBO0VBQ0E7RUFBbUI7RUFDbkI7O0FBYUE7RUFsQko7SUFtQlE7SUFDQTs7O0FBU1I7RUFDSTtFQUFrQjtFQUNsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOzs7QUFJUjtFQUNJLGFEbENPOzs7QUN3Q1A7RUFESjtJQUVROzs7O0FBSUo7RUFESjtJQUVROzs7O0FBSUo7RUFESjtJQUVROzs7O0FBSUo7RUFESjtJQUVROzs7O0FBSUo7RUFESjtJQUVROzs7O0FBSUo7RUFESjtJQUVROzs7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QUFBO0FBUUE7O0FBQUE7QUFRQTs7QUFBQSIsImZpbGUiOiJzdHlsZXMubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIioge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGVtLCBpbWcsIHN0cm9uZywgc3ViLCBzdXAsIGIsIHUsIGksICBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIHRhYmxlLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDEwMCU7XG59XG5oZWFkZXIsIG5hdiwgc2VjdGlvbiwgYXJ0aWNsZSwgYXNpZGUsIGZvb3RlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5odG1sIHsgIFxuICAgIGhlaWdodDoxMDAlOyBcbn1cbmJvZHkgeyAgXG4gICAgcG9zaXRpb246cmVsYXRpdmU7IFxuICAgIGhlaWdodDoxMDAlOyBcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IGxoKDIyLCAxNSk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250OyBcbiAgICBjb2xvcjogJGNvbG9yLWJvZHk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgYmFja2dyb3VuZDogJGJnLWJvZHk7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbn1cbmJvZHkgKixcbmJvZHkgKjpiZWZvcmUsXG5ib2R5ICo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgXG59XG5cbmltZyB7IFxuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxudWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5hIHsgXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBcbiAgICBtYXJnaW46IDA7IHBhZGRpbmc6IDA7XG59XG4iLCIkZm9udDogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1ha29ueTogJ0FLT05ZJztcclxuXHJcbiRiZy1ib2R5OiAjMDAwO1xyXG4kYmctZ3JheS1saWdodDogI0Y4RkFGQztcclxuXHJcbiRjb2xvci1ib2R5OiAjZmZmO1xyXG4kY29sb3ItYWNjZW50OiAjRkZGRjAwO1xyXG4kY29sb3ItdGV4dDogIzU3N0M4NztcclxuXHJcblxyXG5cclxuJHdpZHRoLWNvbnRhaW5lcjogMTEwMHB4O1xyXG4kcGQtY29udGFpbmVyOiAyNHB4O1xyXG4kcGQtY29udGFpbmVyLXNteDogMTVweDtcclxuXHJcbiRtZC1kZXNrdG9wLWxnOiAxNjk5Ljk4cHg7XHJcbiRtZC1kZXNrdG9wLW1kOiAxMzM5Ljk4cHg7XHJcbiRtZC1kZXNrdG9wOiAxMTk5Ljk4cHg7XHJcbiRtZC10YWJsZXQ6IDEwMjMuOThweDtcclxuJG1kLXRhYmxldC1zbTogNzY3Ljk4cHg7XHJcbiRtZC1tb2JpbGUtbGc6IDYwOS45OHB4O1xyXG4kbWQtbW9iaWxlOiA0NzguOThweDtcclxuJG1kLW1vYmlsZS1zbTogMzk5Ljk4cHg7XHJcbiRtZC1tb2JpbGUtc214OiAzNjBweDtcclxuXHJcbiRoZWFkZXItaDogODVweDtcclxuJGhlYWRlci1oLXQ6IDEzMHB4O1xyXG4kaGVhZGVyLWgtbTogMTMwcHg7IiwiXG4uY2xlYXIgeyBcbiAgICBjbGVhcjogYm90aDsgXG4gICAgaGVpZ2h0OiAwOyBcbiAgICBvdmVyZmxvdzogaGlkZGVuOyBcbiAgICBmb250LXNpemU6IDA7XG59XG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG59XG4uY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBtYXgtd2lkdGg6ICR3aWR0aC1jb250YWluZXI7IFxuICAgIHBhZGRpbmc6IDAgMjhweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xuICAgICAgICAvLyBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICB9XHRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xuICAgICAgICAvLyBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICB9XHRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xuICAgICAgICAvLyAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICB9XHRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XG4gICAgICAgIC8vIG1heC13aWR0aDogNzEwcHg7XG4gICAgfVx0XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgJHBkLWNvbnRhaW5lcjtcbiAgICB9XHRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XG4gICAgICAgIFxuICAgIH1cbn1cblxuXG5cbi53cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgIFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgei1pbmRleDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbnRlbnRfX3dyYXBwZXIge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICA+ICoge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5wZF9faGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1oO1xufVxuXG5cblxuLmhpZGUtZGVza3RvcC1sZyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLWxnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uaGlkZS1kZXNrdG9wLW1kIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5oaWRlLWRlc2t0b3Age1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmhpZGUtdGFibGV0IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmhpZGUtdGFibGV0LXNtIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmhpZGUtbW9iaWxlLWxnIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLnNob3ctZGVza3RvcCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC1kZXNrdG9wKyAwLjAycHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5zaG93LXRhYmxldCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC10YWJsZXQrIDAuMDJweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLnNob3ctdGFibGV0LXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kLXRhYmxldC1zbSsgMC4wMnB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uc2hvdy1tb2JpbGUtbGcge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQtbW9iaWxlLWxnKyAwLjAycHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubG9hZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIGJhY2tncm91bmQ6ICRiZy1ib2R5O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubG9hZGVyLnNob3cge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5sb2FkZXJfX2xvZ28ge1xuICAgIGhlaWdodDogNzBweFxufVxuXG5cblxuQGltcG9ydCBcImNvbW1vbi9jb250ZW50XCI7XG5AaW1wb3J0IFwiY29tbW9uL3NlY3Rpb25cIjtcbkBpbXBvcnQgXCJjb21tb24vZWxlbWVudHNcIjsiLCJcclxuLmNvbnRlbnRfX3RleHQge1xyXG4gICAgPiAqIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYm9keTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICB9XHJcbiAgICBoNCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgaDUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuICAgIHVsLFxyXG4gICAgb2wge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XHJcbiAgICB9XHJcbiAgICBvbCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyBcclxuICAgICAgICBjb3VudGVyLXJlc2V0OiBudW07XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgdWwgbGk6YmVmb3JlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDBweDtcclxuICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTFweDsgXHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYm9keTtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBjb250ZW50OiAn4oCiJztcclxuICAgIH1cclxuICAgIG9sIGxpOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobnVtKSAnLic7IFxyXG4gICAgICBjb3VudGVyLWluY3JlbWVudDogbnVtO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHRcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDBweDtcclxuICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyBcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgIFxyXG4gICAgfVxyXG59XHJcbiIsIlxyXG4uc2VjdGlvbiB7XHJcbiAgICAmX19oZWFkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XHJcbiAgICAgICAgJi5mcy0tbWQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW50cm8ge1xyXG4gICAgICAgIFxyXG4gICAgICAgIC50ZXh0LS1jZW50ZXIgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNjhweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmX19maXJzdCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJl9fbWcge1xyXG4gICAgICAgIG1hcmdpbjogMTYwcHggMDtcclxuICAgICAgICAmLS1tZCB7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tc20ge1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX21ndCB7XHJcbiAgICAgICAgJi0tc20ge1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDYwcHggMDtcclxuICAgIH1cclxuICAgICZfX3BkYiB7XHJcbiAgICAgICAgJi0tbWQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fdGFiIHtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgJi5zaG93IHtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgXHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgIFxyXG4gICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi5oY29scyB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19idXR0b25zIHtcclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgIFxyXG4gICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3BkYiB7XHJcbiAgICAgICAgICAgICYtLW1kIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4udGl0bGUge1xyXG4gICAgXHJcbn1cclxuLnRleHQge1xyXG4gICBcclxufVxyXG5cclxuLnRleHQtLWNlbnRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLnRleHQtLXdoaXRlIHtcclxuICAgIGNvbG9yOiAjZmZmZjtcclxufVxyXG4udGV4dC0tYWNjZW50IHtcclxuICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xyXG59IiwiLmljb24ge1xuICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgIGZpbGw6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICYtLWZpbGwge1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHN0cm9rZTogaW5pdGlhbDtcbiAgICB9XG4gICAgcGF0aCB7XG4gICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB9XG59XG5cbi5zb2NpYWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDI0cHg7XG4gICAgJl9faXRlbSB7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICY6aG92ZXIgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmljb24ge1xuICAgICAgICB3aWR0aDogMTlweDsgaGVpZ2h0OiAxOXB4O1xuICAgIH1cbn0gICBcblxuXG5cblxuXG5cbi8vIC5yYXRpbmcge1xuLy8gXHRtYXJnaW46IDAgYXV0bztcbi8vIFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG4vLyAgICAgZmxleC13cmFwOiB3cmFwO1xuLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbi8vICAgICBtYXJnaW46IDAgLTJweDtcbi8vICAgICBzcGFuIHtcbi8vICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICAgICB0b3A6IC0xcHg7XG4vLyAgICAgICAgIHdpZHRoOiAxOXB4OyBoZWlnaHQ6IDE4cHg7XG4vLyAgICAgICAgIG1hcmdpbjogMCAycHg7XG4vLyAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvc3Rhci5zdmcpIG5vLXJlcGVhdDtcbi8vICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuLy8gICAgICAgICAmLmFjdGl2ZSB7XG4vLyAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3N0YXItYWN0aXZlLnN2Zykgbm8tcmVwZWF0O1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuLy8gfVxuXG5cblxuXG4ubGluayB7XG5cbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IGxoKDI3LCAyMCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC5pY29uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgXG4gICAgfVxuICAgICZfX21vcmUge1xuICAgICAgICAuY2xvc2VfdCB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmVcbiAgICAgICAgfVxuICAgICAgICAmLm9wZW5lZCAub3Blbl90IHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZVxuICAgICAgICB9XG4gICAgICAgICYub3BlbmVkIC5jbG9zZV90IHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2tcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4XG4gICAgfVxufVxuXG4vLyAuY29udGVudF9fdG9nZ2xlIHtcbi8vICAgICA+ICoge1xuLy8gICAgICAgICBkaXNwbGF5OiBub25lO1xuLy8gICAgIH1cbi8vICAgICAmID4gOm50aC1jaGlsZCgxKSxcbi8vICAgICAmID4gOm50aC1jaGlsZCgyKSB7XG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgIH1cbi8vICAgICAmLm9wZW5lZCA+ICoge1xuLy8gICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuLy8gICAgIH1cbi8vICAgICAmLS1tb2JpbGUge1xuLy8gICAgICAgICA+ICoge1xuLy8gICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcbi8vICAgICAgICAgPiAqIHtcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbi8vICAgICAgICAgfVxuLy8gICAgICAgICAmID4gOm50aC1jaGlsZCgxKSB7XG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuLy8gfVxuXG5cblxuLnBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICAmX19saXN0IHtcbiAgICAgICAgLy8gd2lkdGg6IDE0MHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiA3cHg7XG4gICAgICAgIG1hcmdpbjogMCAtNXB4O1xuICAgIH1cbiAgICAucGFnZS1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogIzk2OTY5NjsgZm9udC1zaXplOiAxMnB4OyAgICBcbiAgICAgICAgcGFkZGluZzogMnB4IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAvLyBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGFnZS1maXJzdCwgLnBhZ2UtbGFzdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5wYWdlLWl0ZW0tbmV4dCwgLnBhZ2UtaXRlbS1wcmV2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFicy1hbGw7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdlLWl0ZW0tbmV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZSkge1xuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbSkge1xuXG59IiwiQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyKCRjbGFzcywgJGNvbG9yLCAkb3BhY2l0eTowLjYpIHtcclxuICAgICN7JGNsYXNzfTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306Oi1vLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9OjotbW96LWlucHV0LXBsYWNlaG9sZGVyeyBjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfTotbW96LWlucHV0LXBsYWNlaG9sZGVyeyAgY29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcnsgIGNvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9IGlucHV0LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9OjpwbGFjZWhvbGRlciB7Y29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306cGxhY2Vob2xkZXItc2hvd24ge2NvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG59XHJcblxyXG5cclxuQG1peGluIGFicy1hbGwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDsgdG9wOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcclxufVxyXG5AbWl4aW4gYWJzLWNlbnRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA1MCU7IHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSlcclxufVxyXG5cclxuQG1peGluIHBob3RvLWNvdmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gbGgoJGxoLCAkZnMpIHtcclxuICAgIEByZXR1cm4gI3ttYXRoLmRpdigkbGgsICRmcyl9O1xyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5zd2lwZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnN3aXBlciB7XG5cbn1cbi5zd2lwZXItc2xpZGUge1xuICAgIGhlaWdodDogYXV0bztcbn1cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gICYtYnVsbGV0IHtcbiAgICBtYXJnaW46IDAgNnB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEycHg7IGhlaWdodDogMTJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzM3MzczO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICAmLWFjdGl2ZSB7XG4gICAgIFxuICAgIH1cbiAgfVxuICAmLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi5zd2lwZXItYnV0dG9uIHtcbiAgICB3aWR0aDogMjJweDsgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuaWNvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtbmF2IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiAwIC02cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuICAgICAgd2lkdGg6IDE2cHg7IGhlaWdodDogMjhweDtcbiAgICB9XG59XG4uc3dpcGVyLXNjcm9sbGJhciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgO1xufVxuXG5cblxuXG4ubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4ubUNTQl9jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG59XG4ubUNTX25vX3Njcm9sbGJhciAubUNTQl9jb250YWluZXIge1xuICBwYWRkaW5nOiAwO1xufVxuLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBsZWZ0OiAwOyByaWdodDogYXV0bztcbiAgd2lkdGg6IDNweDtcbiAgYmFja2dyb3VuZDogIzM0MzQzNDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgICB0b3A6IDA7IGJvdHRvbTogMDtcbiAgfVxuICAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgICB3aWR0aDogM3B4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQ7XG4gIH1cbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmZvcm1zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyKCcuaW5wdXQnLCByZ2JhKDg1LCA4NSwgODUsIDAuNiksIDEpO1xuXG4uaW5wdXQ6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge2NvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XG4uaW5wdXQ6Zm9jdXM6Oi1vLWlucHV0LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XG4uaW5wdXQ6Zm9jdXM6Oi1tb3otaW5wdXQtcGxhY2Vob2xkZXIgeyAgY29sb3I6IHRyYW5zcGFyZW50OyBvcGFjaXR5OiAwO31cbi5pbnB1dDpmb2N1czotbW96LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6IHRyYW5zcGFyZW50OyBvcGFjaXR5OiAwO31cbi5pbnB1dDpmb2N1czo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6IHRyYW5zcGFyZW50OyBvcGFjaXR5OiAwO31cbi5pbnB1dDpmb2N1czppbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6IHRyYW5zcGFyZW50OyBvcGFjaXR5OiAwO31cblxuaW5wdXRbcGxhY2Vob2xkZXJdICAgICAgICAgIHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO31cbmlucHV0OjotbW96LXBsYWNlaG9sZGVyICAgICB7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt9IFxuaW5wdXQ6LW1vei1wbGFjZWhvbGRlciAgICAgIHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO30gXG5pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7fVxuXG5cblxuXG5pbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPXRlbF0sIGJ1dHRvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTt9XG5cblxuXG4uaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzVweDsgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250O1xufVxudGV4dGFyZWEuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMHB4O1xufVxuXG5cbi5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn0iLCJcclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbnBvcHVwXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucG9wdXAge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTVweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgICZfX2JnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMyMzI3MzA7XHJcbiAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgfVxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogNTEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNjBweCAzMHB4IDcwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzJCMkQzODtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAxM3B4OyB0b3A6IDEzcHg7XHJcbiAgICAgICAgd2lkdGg6IDI4cHg7IGhlaWdodDogMjhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BvcHVwLWNsb3NlLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICB9XHJcbiAgICAmX19oZWFkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDhweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcclxuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQ7XHJcbiAgICB9XHJcbiAgICBmb3JtIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDI4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2ljb250aGFuayB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICAgICYtdGhhbmsgJl9fdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbmhlYWRlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7IGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItaDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICB9XHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2J1cmdlciB7XHJcbiAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhYnMtY2VudGVyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltZy1hY3RpdmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWctYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2Zml4JzsiLCIubmF2Zml4IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDsgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGNhbGModmFyKC0tdmgpICogMTAwKTtcclxuICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICB6LWluZGV4OiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgJi5vcGVuZWQge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoKSAqIDEwMCk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHBhZGRpbmc6IDExNXB4IDk1cHggNjBweDtcclxuICAgIH1cclxuICAgICZfX21lbnUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAmICsgbGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjdweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICB9XHJcbiAgICAmX19jb250YWN0IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fY29weSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQtdGFibGV0KzAuMDJweCkgYW5kIChtYXgtaGVpZ2h0OiA2MDBweCkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX21lbnUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAmICsgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE3cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fY29weSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX21lbnUge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhICAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tZW51IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX21lbnUge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAmICsgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NvcHkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuZm9vdGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZm9vdGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICMxNzE3MTc7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAwIDQwcHg7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDM1MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fbG9nbyB7XHJcbiAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZ2FwOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgJl9fY29udGFjdCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX21lbnUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAmICsgbGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2JvdHRvbSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNjVweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCAyNXB4O1xyXG4gICAgICAgICZfX2luZm8ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbG9nbyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19ib3R0b20ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiaW5jL2NvcmVcIjtcclxuXHJcbkBpbXBvcnQgXCJmb250c1wiO1xyXG5AaW1wb3J0IFwicmVzZXRcIjtcclxuQGltcG9ydCBcImNvbW1vblwiO1xyXG5AaW1wb3J0IFwibGlic1wiO1xyXG5AaW1wb3J0IFwiZm9ybXNcIjtcclxuQGltcG9ydCBcInBvcHVwXCI7XHJcbkBpbXBvcnQgXCJoZWFkZXJcIjtcclxuQGltcG9ydCBcImZvb3RlclwiO1xyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaGVybyB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDsgYm90dG9tOiAwO1xyXG4gICAgICAgIGhlaWdodDogMTY1cHg7IHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICB9XHJcbiAgICAmX19pbmZvIHtcclxuICAgICAgICBwYWRkaW5nOiAyMDBweCAxNTBweCAyNTBweCAxNzVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgIH1cclxuICAgICZfX25hbWUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250LXNpemU6IDMycHg7IFxyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgYiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAtNDBweDsgdG9wOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IHdpZHRoOiA1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQ7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3RleHQge1xyXG4gICAgICAgIG1heC13aWR0aDogMzUwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyN3B4O1xyXG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAn4oCiJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3Bob3RvIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWFjY2VudDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA3NTVweDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7IHRvcDogNjBweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19pc2Nyb2xsIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlOyBib3R0b206IDcwcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faW5mbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEzMHB4IDMwcHggNDBweCA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX190ZXh0IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19waG90byB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDgwMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDsgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEzMCU7IGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMTAwJSAwLCAwJSAxMDAlLCAxMDAlIDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTMwcHggJHBkLWNvbnRhaW5lciAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19uYW1lIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xyXG4gICAgICAgICAgICBiIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzdweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX190ZXh0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcGhvdG8ge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXNjcm9sbCB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5hYm91dCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgJl9fY29scyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICB9XHJcbiAgICAmX19pbmZvIHtcclxuICAgICAgICBwYWRkaW5nOiA2MHB4IDE1MHB4IDA7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDAsMC4yKTtcclxuICAgICAgICAmLm13IHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDU1MHB4O1xyXG4gICAgICAgID4gKiArICoge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19idXR0b25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fcmlnaHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XHJcbiAgICAgICAgJi5wb3MtdG9wIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAubG9nby0xLCAubG9nby0yIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmxvZ28tMSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMCUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxvZ28tMiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwJSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgICYubXcge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2luZm8ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19jb2xzIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2luZm8ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RleHQge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3JpZ2h0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgb3JkZXI6IC0xO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xyXG4gICAgICAgICAgICAmLnBvcy10b3Age1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ28tMSwgLmxvZ28tMiAge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgcGFkZGluZzogNzBweCAwO1xyXG5cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnByb2plY3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICBwYWRkaW5nOiAxMDBweCAxNTBweCA4MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwwLDEpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDRuLTIpLCAmOm50aC1jaGlsZCg0bi0xKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFNkU2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbGV0dGVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0NTBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1sb2dvIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFicy1jZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ28taG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5sb2dvLWhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNTBweCA1MHB4O1xyXG4gICAgICAgICAgICAmLWxvZ28ge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYWNjZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRTZFNjAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uc21pIHtcclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAmLS1maXJzdCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE4MHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcclxuICAgIH1cclxuICAgICZfX2NvbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgIH1cclxuICAgICZfX3Njcm9sbCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDcwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICBncmlkLWdhcDogMTZweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zbWlfX2l0ZW1zICYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7IHRvcDogM3B4O1xyXG4gICAgICAgICAgICB3aWR0aDogMjBweDsgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2xpbmsuc3ZnKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdG9wIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZGF0ZSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZGVzY3Ige1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3JpZ2h0IHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7ICAgIFxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAuc21pLS1maXJzdCAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAtMTIwcHg7IHRvcDogLTE4MHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAwOyByaWdodDogLTYwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQ7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19icmFuZHMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgZ2FwOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgJl9faWJyYW5kIHtcclxuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5zbWktLWZpcnN0IHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS12aCkgKiAxMDApO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxODBweCAwIDQwcHg7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTAwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgJl9fY29scyB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3JpZ2h0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgICAgIC5zbWktLWZpcnN0ICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYnJhbmRzIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5zbWktLWZpcnN0IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXItaC1tO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19zY3JvbGwge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XHJcbiAgICBcclxuICAgICAgICAgICAgLm1DU0JfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbXMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1kYXRlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNtaV9fc2Nyb2xsICYge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc21pX19zY3JvbGwgJjpudGgtY2hpbGQoMSksXHJcbiAgICAgICAgICAgIC5zbWlfX3Njcm9sbCAmOm50aC1jaGlsZCgyKSxcclxuICAgICAgICAgICAgLnNtaV9fc2Nyb2xsICY6bnRoLWNoaWxkKDMpLFxyXG4gICAgICAgICAgICAuc21pX19zY3JvbGwgJjpudGgtY2hpbGQoNCksXHJcbiAgICAgICAgICAgIC5zbWlfX3Njcm9sbCAmOm50aC1jaGlsZCg1KSxcclxuICAgICAgICAgICAgLnNtaV9fc2Nyb2xsICY6bnRoLWNoaWxkKDYpLFxyXG4gICAgICAgICAgICAuc21pX19zY3JvbGwgJjpudGgtY2hpbGQoNykge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmX19icmFuZHMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMCAxNXB4O1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pYnJhbmQge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5nYWxsZXJ5IHtcclxuICAgICZfX2Nhcm91c2VsIHtcclxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcclxuICAgICAgICAgICAgbGVmdDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN3aXBlci1idXR0b24tbmV4dCB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmNvbnRhY3RzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDE1MHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fY29udGFjdHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICB9XHJcbiAgICAmX19jb250YWN0IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fbWVudSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgJiArIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jb3B5IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMzBweDsgYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jb250YWN0cyB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiA3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NvbnRhY3Qge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tZW51IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbG9nbyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMDBweCAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcclxuICAgICAgICAgICAgLmxvZ28tMSwgLmxvZ28tMiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgICAgICAubG9nby0xIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzAlKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgLmxvZ28tMiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAlKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2lubmVyIHtcclxuICAgICAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4iXX0= */
