/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  min-width: 320px;
  transition: 0.21s top, 0.21s background-color, 0.21s opacity;
}
.menu.menu--up {
  top: -80px;
  opacity: 0;
}
.menu.menu--up, .menu.menu--down, .menu.menu--open {
  background-color: #fff;
}
.menu:has(.menu__top-list-item--has-children:hover) {
  background-color: #fff;
}
.menu__container {
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1200px) {
  .menu__container {
    position: relative;
  }
}
@media (min-width: 1201px) {
  .menu__container {
    max-width: 1736px;
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 1201px) and (min-width: 601px) {
  .menu__container {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media (max-width: 600px) {
  .menu__container {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.menu__wrapper {
  display: flex;
  padding-top: 29px;
  padding-bottom: 29px;
}
@media (min-width: 1201px) {
  .menu__wrapper {
    align-items: center;
    column-gap: 20px;
  }
}
.menu__top-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  width: 100%;
}
@media (min-width: 1201px) {
  .menu__top-list {
    column-gap: 22px;
  }
}
@media (max-width: 1200px) {
  .menu__top-list {
    column-gap: 10px;
  }
}
.menu__top-list--right {
  justify-content: flex-end;
}
.menu__top-list-item {
  margin-bottom: 0;
}
@media (min-width: 1201px) {
  .menu__top-list-item:not(.menu__top-list-item--burger) {
    display: inline-block;
  }
}
@media (max-width: 1200px) {
  .menu__wrapper .menu__top-list-item.menu__top-list-item:not(.menu__top-list-item--burger):not(.menu__top-list-item--lang) {
    display: none;
  }
}
.menu__top-list-item--lang {
  position: relative;
}
@media (min-width: 1201px) {
  .menu__top-list-item--lang {
    min-width: 58px;
  }
}
@media (max-width: 1200px) {
  .menu__top-list-item--lang {
    min-width: 45px;
  }
}
.menu__top-list-item--lang:not(:hover) {
  overflow: hidden;
}
body:has(.menu__top-list-item--has-children:hover) {
  overflow-y: hidden;
  width: calc(100vw - var(--scrollBar));
}
.menu:has(.menu__top-list-item--has-children:hover) {
  width: calc(100vw - var(--scrollBar));
}
.menu__top-list-link {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: 0.21s color;
  font-size: 1.25rem;
  line-height: 1.25;
  border: 2px solid;
  transition: 0.21s border-color;
}
@media (hover: hover) {
  .menu__top-list-item:not(.menu__top-list-item--active) .menu__top-list-link:not(:hover) {
    border-color: transparent;
  }
}
@media (hover: none) {
  .menu__top-list-link {
    border-color: transparent;
  }
}
.menu--white:not(.menu--down):not(.menu--open):not(:has(.menu__top-list-item--has-children:hover)) .menu__top-list-link {
  color: #fff;
}
.menu--white:has(.menu__top-list-item--has-children:hover) .menu__top-list-link, .menu--down .menu__top-list-link, .menu:not(.menu--white) .menu__top-list-link {
  color: #55565a;
}
@media (min-width: 1201px) {
  .menu__top-list-link {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (hover: hover) {
  .menu__top-list-item--has-children:hover .menu__top-list-link::after {
    transform: scaleY(-1);
  }
}
.menu__top-list-item--has-children .menu__top-list-link::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid;
  margin-left: 5px;
  transition: 0.21s transform;
}
.menu-mobile .menu__top-list-item--has-children .menu__top-list-link::after {
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 9px solid;
}
.menu-mobile .menu__top-list-item--has-children.menu__top-list-item--open .menu__top-list-link::after {
  transform: scaleY(-1);
}
.menu__top-list-link--burger {
  position: relative;
  width: 40px;
  height: 24px;
  cursor: pointer;
}
.menu__top-list-link--burger::before, .menu__top-list-link--burger::after {
  content: "";
  height: 2px;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 1px;
  transition: transform 0.21s;
}
.menu--white:not(.menu--open):not(.menu--down) .menu__top-list-link--burger::before, .menu--white:not(.menu--open):not(.menu--down) .menu__top-list-link--burger::after {
  background-color: #fff;
}
.menu--open .menu__top-list-link--burger::before, .menu--open .menu__top-list-link--burger::after, .menu:not(.menu--white) .menu__top-list-link--burger::before, .menu:not(.menu--white) .menu__top-list-link--burger::after, .menu--down .menu__top-list-link--burger::before, .menu--down .menu__top-list-link--burger::after {
  background-color: #55565a;
}
.menu:not(.menu--open) .menu__top-list-link--burger::before {
  transform: translate(-50%, -4px);
}
.menu:not(.menu--open) .menu__top-list-link--burger::after {
  transform: translate(-50%, 4px);
}
.menu--open .menu__top-list-link--burger::before {
  transform: translate(-50%, 0) rotate(45deg);
}
.menu--open .menu__top-list-link--burger::after {
  transform: translate(-50%, 0) rotate(-45deg);
}
@media (min-width: 1201px) {
  .menu__top-list-item--burger {
    display: none;
  }
}
@media (max-width: 1200px) {
  .menu__top-list-item--burger {
    display: flex;
    align-items: center;
  }
}
.menu__logo-link {
  display: block;
}
.menu:has(.menu__mobile--open) .menu__logo-link {
  display: none;
}
.menu__logo-link svg {
  display: block;
}
@media (min-width: 1201px) {
  .menu__logo-link svg {
    height: 28px;
    width: 140px;
  }
}
.menu__logo-link svg path {
  transition: 0.21s fill;
}
.menu--white:not(.menu--down):not(.menu--open):not(:has(.menu__top-list-item--has-children:hover)) .menu__logo-link svg path {
  fill: #fff;
}
.menu__logo-link--disabled {
  pointer-events: none;
  cursor: default;
}
@media (min-width: 1201px) {
  .menu__sub-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    margin-top: -30px;
    padding-top: 30px;
    transition: 0.21s visibility, 0.21s opacity;
  }
  .menu__top-list-item:not(:hover) > .menu__sub-menu {
    opacity: 0;
    visibility: hidden;
  }
  .menu__top-list-item:hover > .menu__sub-menu {
    visibility: visible;
    opacity: 1;
  }
}
.menu-mobile .menu__sub-menu {
  display: grid;
  transition: grid-template-rows 0.5s ease, margin-bottom 0.5s ease;
}
.menu-mobile .menu__top-list-item:not(.menu__top-list-item--open) > .menu__sub-menu {
  grid-template-rows: 0fr;
}
.menu-mobile .menu__top-list-item--open > .menu__sub-menu {
  grid-template-rows: 1fr;
}
@media (min-width: 1201px) {
  .menu__sub-menu-wrapper {
    background-color: #fff;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding-bottom: 88px;
    max-height: calc(100vh - 111px);
    max-height: calc(100dvh - 111px);
    overflow-y: auto;
  }
}
.menu-mobile .menu__sub-menu-wrapper {
  overflow: hidden;
}

.menu-lang {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  position: absolute;
  width: 100%;
  text-transform: uppercase;
  font-size: 1.25rem;
  line-height: 1.25;
}
.menu--white:not(.menu--down):not(.menu--open) .menu-lang {
  color: #fff;
}
.menu-lang__item {
  margin-bottom: 0;
  transition: 0.21s opacity;
}
.menu-lang:not(:hover) .menu-lang__item:not(.menu-lang__item--active) {
  opacity: 0;
}
.menu-lang__item--active {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.menu-lang__item--active::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid;
  margin-left: 5px;
  transition: 0.21s transform;
}
.menu-lang:hover .menu-lang__item--active::after {
  transform: scaleY(-1);
}
.menu--white:has(.menu__top-list-item--has-children:hover) .menu-lang__item--active {
  color: #55565a;
}
.menu-lang__link {
  display: block;
  text-decoration: none;
}
.menu-lang__item:not(.menu-lang__item--active) .menu-lang__link {
  color: #55565a;
}
@media (max-width: 1200px) {
  .menu-lang__item:not(.menu-lang__item--active) .menu-lang__link {
    padding-top: 14px;
    padding-bottom: 14px;
    padding-left: 20px;
    margin-left: -20px;
  }
}
.menu-lang:not(:hover) .menu-lang__item:not(.menu-lang__item--active) .menu-lang__link {
  display: none;
}
@media (min-width: 1201px) {
  .menu-lang__link {
    padding-top: 14px;
    padding-bottom: 14px;
    padding-left: 20px;
    margin-left: -20px;
  }
}
.menu-lang__item:not(.menu-lang__item--active) .menu-lang__link {
  background-color: #fff;
}

.menu-mobile {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100vw;
  min-width: 320px;
  height: 90vh;
  height: calc(100dvh - 86px);
  background-color: #fff;
  display: flex;
  flex-direction: column;
  overflow: auto;
  scrollbar-width: none;
  z-index: 1;
  transition: transform 0.25s cubic-bezier(0.104, 0.204, 0.492, 1), opacity 0.15s cubic-bezier(0.104, 0.204, 0.492, 1);
}
@media (min-width: 1201px) {
  .menu-mobile {
    display: none;
  }
}
@media (max-width: 1200px) {
  .menu-mobile {
    display: flex;
  }
}
.menu:not(.menu--open) .menu-mobile {
  transform: translateY(30px);
  opacity: 0;
  visibility: hidden;
}
.menu-mobile__list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  padding-top: 60px;
  padding-bottom: 60px;
}
.menu-mobile .menu__top-list-item .menu__top-list-link {
  display: flex;
  justify-content: center;
  text-align: center;
  color: #55565a;
}
@media (max-width: 1200px) and (min-width: 601px) {
  .menu-mobile .menu__top-list-item .menu__top-list-link {
    font-size: 2.5rem;
    line-height: 1.225;
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
@media (max-width: 600px) {
  .menu-mobile .menu__top-list-item .menu__top-list-link {
    font-size: 2rem;
    line-height: 1.25;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.menu-mobile .menu__sub-menu-container {
  max-width: initial;
  padding-left: initial;
  padding-right: initial;
}

.menu-yachts__brand-panels {
  list-style: none;
  padding-left: 0;
}
.menu-yachts__brand-title-wrapper {
  width: 100%;
}
@media (max-width: 1200px) {
  .menu-yachts__brand-title-wrapper {
    text-align: center;
  }
}
.menu-yachts__brand-title-link {
  font-size: 1.5rem;
  line-height: 1.2083333333;
  text-transform: uppercase;
  font-weight: 600;
}
@media (max-width: 1200px) {
  .menu-yachts__brand-title-link {
    display: none;
  }
}
@media (min-width: 1201px) {
  .menu-yachts__lines-wrapper {
    margin-top: 26px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .menu-yachts__lines-wrapper::after {
    content: "";
    display: block;
    width: 50%;
    aspect-ratio: 1.5677655678;
  }
}
@media (max-width: 1200px) {
  .menu-yachts__lines-wrapper {
    margin-top: 10px;
  }
}
.menu-yachts__lines {
  list-style: none;
  padding-left: 0;
}
@media (min-width: 1201px) {
  .menu-yachts__lines {
    width: 50%;
  }
}
.menu-yachts__line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0;
}
@media (min-width: 1201px) {
  .menu-yachts__line {
    justify-content: space-between;
    max-width: 370px;
  }
  .menu-yachts__line:not(:first-child) {
    margin-top: 18px;
  }
}
@media (max-width: 1200px) {
  .menu-yachts__line {
    justify-content: center;
  }
  .menu-yachts__line:not(:first-child) {
    border-top: 2px solid #c7c7c8;
  }
  .menu-yachts__line:last-child {
    border-bottom: 2px solid #c7c7c8;
  }
}
.menu-yachts__line-main {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: inherit;
  text-decoration: none;
}
@media (min-width: 1201px) {
  .menu-yachts__line-main {
    column-gap: 20px;
  }
}
@media (max-width: 1200px) {
  .menu-yachts__line-main {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 1200px) and (min-width: 601px) {
  .menu-yachts__line-main {
    column-gap: 43px;
  }
}
@media (max-width: 600px) {
  .menu-yachts__line-main {
    column-gap: 20px;
  }
}
.menu-yachts__line-image {
  width: 100%;
  max-width: 207px;
  aspect-ratio: 1.8157894737;
  height: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: #e6e6e6;
  width: 42.8985507246%;
}
@media (hover: hover) {
  .menu__top-list-item:not(:hover) .menu-yachts__brand-panel:not(.menu-yachts__brand-panel--scarab-jet-boats):not(.menu-yachts__brand-panel--poseidon) .menu-yachts__line-image {
    display: none;
  }
  .menu__top-list-item:hover .menu-yachts__brand-panel:not(.menu-yachts__brand-panel--scarab-jet-boats):not(.menu-yachts__brand-panel--poseidon) .menu-yachts__line-image {
    display: block;
  }
}
@media (hover: none) {
  .menu__top-list-item:not(.menu__top-list-item--open) .menu-yachts__brand-panel:not(.menu-yachts__brand-panel--scarab-jet-boats):not(.menu-yachts__brand-panel--poseidon) .menu-yachts__line-image {
    display: none;
  }
  .menu__top-list-item--open:hover .menu-yachts__brand-panel:not(.menu-yachts__brand-panel--scarab-jet-boats):not(.menu-yachts__brand-panel--poseidon) .menu-yachts__line-image {
    display: block;
  }
}
@media (min-width: 1201px) {
  .menu-yachts__brand-panel--scarab-jet-boats .menu-yachts__line-image, .menu-yachts__brand-panel--poseidon .menu-yachts__line-image {
    display: none;
  }
}
.menu-yachts__line-link {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  transition: color 0.21s;
}
.menu-mobile .menu-yachts__line--open .menu-yachts__line-link {
  color: #fff;
}
@media (min-width: 601px) {
  .menu-yachts__line-link {
    min-width: 122px;
    padding-left: 15px;
    padding-right: 19px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 1.5rem;
    line-height: 1.2916666667;
  }
}
@media (max-width: 600px) {
  .menu-yachts__line-link {
    font-size: 1rem;
    line-height: 1.25;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 17px;
  }
}
@media (hover: hover) {
  .menu-yachts__line:hover .menu-yachts__line-link {
    color: #fff;
  }
}
.menu-yachts__line-link::before, .menu-yachts__line-link::after {
  content: "";
  position: absolute;
  pointer-events: none;
  clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 50%, 100% 100%, 0 100%);
}
.menu-yachts__line-link::before {
  inset: 0;
  z-index: -2;
  transition: background-color 0.21s;
}
@media (hover: hover) {
  .menu-yachts__line:hover .menu-yachts__line-link::before {
    background-color: #0095d6;
  }
  .menu-yachts__line:not(:hover) .menu-yachts__line-link::before {
    background-color: #c7c7c8;
  }
}
@media (hover: none) {
  .menu-yachts__line--open .menu-yachts__line-link::before {
    background-color: #0095d6;
  }
  .menu-yachts__line:not(.menu-yachts__line--open) .menu-yachts__line-link::before {
    background-color: #c7c7c8;
  }
}
.menu-yachts__line-link::after {
  inset: 1px;
  z-index: -1;
  transition: background-color 0.21s;
}
@media (hover: hover) {
  .menu-yachts__line:hover .menu-yachts__line-link::after {
    background-color: #0095d6;
  }
  .menu-yachts__line:not(:hover) .menu-yachts__line-link::after {
    background-color: #fff;
  }
}
@media (hover: none) {
  .menu-yachts__line--open .menu-yachts__line-link::after {
    background-color: #0095d6;
  }
  .menu-yachts__line:not(.menu-yachts__line--open) .menu-yachts__line-link::after {
    background-color: #fff;
  }
}
.menu-mobile .menu-yachts__line--open .menu-yachts__line-link::after {
  background-color: #0095d6;
}
@media (min-width: 1201px) {
  .menu-yachts__brand-panel--scarab-jet-boats .menu-yachts__line-link, .menu-yachts__brand-panel--poseidon .menu-yachts__line-link {
    width: 100%;
  }
}
@media (min-width: 1201px) {
  .menu-yachts__yachts-wrapper {
    position: absolute;
    right: 0;
    top: 0;
    min-height: 100%;
    width: calc(100% - 122px - 43px - 207px);
    transition: 0.21s opacity, 0.21s z-index;
  }
  .menu-yachts__line:not(:hover) .menu-yachts__yachts-wrapper {
    opacity: 0;
    z-index: -1;
  }
  .menu-yachts__line:hover .menu-yachts__yachts-wrapper {
    opacity: 1;
    z-index: 10;
  }
}
@media (max-width: 1200px) {
  .menu-yachts__yachts-wrapper {
    width: 100%;
  }
}
.menu-mobile .menu-yachts__yachts-wrapper {
  display: grid;
  transition: grid-template-rows 0.5s ease, margin-bottom 0.5s ease;
}
.menu-mobile .menu-yachts__line:not(.menu-yachts__line--open) > .menu-yachts__yachts-wrapper {
  grid-template-rows: 0fr;
}
.menu-mobile .menu-yachts__line--open > .menu-yachts__yachts-wrapper {
  grid-template-rows: 1fr;
}
.menu-yachts__yachts {
  list-style: none;
  padding-left: 0;
}
@media (min-width: 1201px) {
  .menu-yachts__yachts {
    padding-top: 42px;
  }
}
.menu-mobile .menu-yachts__yachts {
  overflow: hidden;
}
@media (min-width: 1201px) {
  .menu-yachts__yacht {
    margin-bottom: 0;
  }
  .menu-yachts__yacht:not(:first-child) {
    margin-top: 14px;
  }
}
@media (max-width: 1200px) {
  .menu-yachts__yacht {
    text-align: center;
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
.menu-yachts__yacht-link {
  color: #55565a;
  text-transform: uppercase;
  text-decoration: none;
  transition: 0.21s opacity;
  display: inline-block;
}
@media (min-width: 1501px) {
  .menu-yachts__yacht-link {
    padding-left: 90px;
    width: 34.1538461538%;
  }
}
@media (max-width: 1500px) and (min-width: 1201px) {
  .menu-yachts__yacht-link {
    padding-left: 9.0909090909%;
    width: 31.2121212121%;
  }
}
@media (min-width: 1201px) {
  .menu-yachts__yacht-link {
    padding-right: 20px;
    font-size: 1.5rem;
    line-height: 1.4583333333;
  }
}
@media (max-width: 1200px) {
  .menu-yachts__yacht-link {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 1200px) and (min-width: 601px) {
  .menu-yachts__yacht-link {
    font-size: 2.5rem;
    line-height: 1.425;
  }
}
@media (max-width: 600px) {
  .menu-yachts__yacht-link {
    font-size: 2rem;
    line-height: 1.4375;
  }
}
.menu-yachts__yacht:not(:hover) .menu-yachts__yacht-link {
  opacity: 0.4;
}
@media (min-width: 1201px) {
  .menu-yachts__yacht-hover {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    transition: 0.21s opacity, 0.21s z-index;
  }
}
@media (min-width: 1201px) and (min-width: 1501px) {
  .menu-yachts__yacht-hover {
    width: 65.8461538462%;
  }
}
@media (min-width: 1201px) and (max-width: 1500px) and (min-width: 1201px) {
  .menu-yachts__yacht-hover {
    width: 68.7878787879%;
  }
}
@media (min-width: 1201px) {
  .menu-yachts__yacht:not(:hover) .menu-yachts__yacht-hover {
    opacity: 0;
    z-index: -1;
  }
  .menu-yachts__yacht:hover .menu-yachts__yacht-hover {
    opacity: 1;
    z-index: 10;
  }
}
.menu-yachts__brand-tabs {
  display: flex;
  list-style: none;
  padding-left: 0;
}
@media (min-width: 1201px) {
  .menu-yachts__brand-tabs {
    border-bottom: 1px solid #c7c7c8;
    align-items: flex-end;
    width: max-content;
    column-gap: 35px;
    max-width: 100%;
    margin: 0 0 35px;
  }
}
@media (max-width: 1200px) {
  .menu-yachts__brand-tabs {
    padding-left: 15px;
    padding-right: 15px;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 14px;
  }
}
.menu-yachts__brand-tab-item {
  margin-bottom: 0;
}
@media (min-width: 1201px) {
  .menu-yachts__brand-tab {
    position: relative;
    display: block;
    padding-inline: 0;
    padding-top: 0;
    padding-bottom: 10px;
    border: none;
    border-radius: 0;
    background: transparent;
    text-transform: uppercase;
    cursor: pointer;
    font-weight: 600;
    white-space: nowrap;
    font-size: 1.5rem;
    line-height: 1.2083333333;
    transition: 0.21s color;
  }
}
@media (max-width: 1200px) {
  .menu-yachts__brand-tab {
    border: 1px solid;
    padding-inline: 7px;
    padding-top: 3px;
    padding-bottom: 3px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.8125rem;
    line-height: 1.4615384615;
  }
  .menu-yachts__brand-tab:not(.menu-yachts__brand-tab--active) {
    background-color: transparent;
    border-color: transparent;
    color: #0095d6;
  }
}
@media (min-width: 1201px) {
  .menu-yachts__brand-tab:not(.menu-yachts__brand-tab--active) {
    color: #c7c7c8;
  }
}
@media (min-width: 1201px) {
  .menu-yachts__brand-tab::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    transition: 0.21s background-color;
  }
}
@media (min-width: 1201px) {
  .menu-yachts__brand-tab:not(.menu-yachts__brand-tab--active)::after {
    background-color: transparent;
  }
}
@media (min-width: 1201px) {
  .menu-yachts__brand-tab--active::after {
    background-color: #55565a;
  }
}
@media (max-width: 1200px) {
  .menu-yachts__brand-tab--active {
    background-color: #0095d6;
    border-color: #0095d6;
    color: #fff;
  }
}
@media (min-width: 1201px) {
  .menu-yachts__brand-tab:focus-visible {
    outline: 1px solid #55565a;
    outline-offset: 5px;
  }
}
.menu-yachts__brand-panel {
  margin-bottom: 0;
}
.menu-yachts__brand-panel[hidden] {
  display: none !important;
}

.menu-yacht-card {
  text-decoration: none;
  color: #55565a;
}
@media (max-width: 1200px) {
  .menu-yacht-card {
    text-align: center;
    padding-top: 10px;
    display: block;
    padding-left: 15px;
    padding-right: 15px;
  }
}
.menu-yacht-card__image-wrapper {
  height: calc(100% - 36px - 29px);
  max-height: 468px;
  width: 100%;
  position: relative;
}
@media (max-width: 1200px) {
  .menu-yacht-card__image-wrapper {
    display: none;
  }
}
.menu-yacht-card__image-text {
  position: absolute;
  left: 0px;
  bottom: 0px;
  width: 100%;
  max-width: 586px;
  color: #fff;
  padding-left: 33px;
  padding-right: 33px;
  padding-bottom: 33px;
}
.menu-yacht-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background-color: #e6e6e6;
}
@media (min-width: 1200px) {
  .menu__top-list-item:not(:hover) .menu-yacht-card__image {
    display: none;
  }
  .menu__top-list-item:hover .menu-yacht-card__image {
    display: block;
  }
}
.menu-yacht-card__bottom {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.25rem;
  line-height: 1.45;
}
@media (min-width: 1201px) {
  .menu-yacht-card__bottom {
    margin-top: 36px;
    justify-content: space-between;
  }
}
@media (max-width: 1200px) {
  .menu-yacht-card__bottom {
    justify-content: center;
  }
}
.menu-yacht-card__price {
  color: #0095d6;
}
@media (max-width: 1200px) {
  .menu-yacht-card__price-wrapper {
    padding-left: 14px;
    padding-right: 13px;
  }
}
@media (max-width: 1200px) {
  .menu-yacht-card__specs {
    padding-left: 14px;
    padding-right: 13px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl92YXJpYWJsZXMuc2NzcyIsIm1lbnUuc2NzcyIsIl9mdW5jdGlvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQTZDQTtBQUtBO0FBSUE7QUFzQkE7QUFVQTtBQXRGQTtBQTZDQTtBQUtBO0FBSUE7QUFzQkE7QUFVQTtBQXRGQTtBQTZDQTtBQUtBO0FBSUE7QUFzQkE7QUFVQTtBQXRGQTtBQTZDQTtBQUtBO0FBSUE7QUFzQkE7QUFVQTtBQ2hGQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUdJLGtCRElBOztBQ0RKO0VBQ0k7O0FBS0o7RUFDSTtFQUNBOztBQUVBO0VBSko7SUFLUTs7O0FBSUo7RUFUSjtJQVVRO0lBQ0E7SUFDQTs7O0FBR0o7RUFmSjtJQWdCUSxjRGtCZ0I7SUNqQmhCLGVEaUJnQjs7O0FDZHBCO0VBcEJKO0lBcUJRLGNEZ0JlO0lDZmYsZURlZTs7O0FDUHZCO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBTEo7SUFNUTtJQUNBOzs7QUFVUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVJKO0lBU1E7OztBQUdKO0VBWko7SUFhUTs7O0FBTVI7RUFDSTs7QUFNSjtFQUNJOztBQUdJO0VBREo7SUFFUTs7O0FBS0o7RUFESjtJQUVROzs7QUFPWjtFQUVJOztBQUdBO0VBTEo7SUFNUTs7O0FBR0o7RUFUSjtJQVVROzs7QUFHSjtFQUNJOztBQU9KO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQVFSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUN0Sko7RUFDQTtFRHVKSTtFQUNBOztBQUVBO0VBQ0k7SUFDSTs7O0FBSVI7RUFmSjtJQWdCUTs7O0FBSUo7RUFDSSxPRHhKSjs7QUM0SkE7RUFHSSxPRHJMQzs7QUN5TEw7RUFoQ0o7SUFpQ1E7SUFDQTtJQUVBO0lBQ0E7OztBQUdKO0VBRVE7SUFDSTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNB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Ii8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiRmb250LXNpemUtYmFzZTogMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kbGluZS1oZWlnaHQtYmFzZTogMS44O1xuJGZvbnQtc2l6ZS1tYWluOiAxNjtcbiRjb2xvci1iYXNlOiAjNTU1NjVhO1xuJGJhY2tncm91bmQtYmFzZS1jb2xvcjogI2Y3ZjdmNztcblxuJHByb2R1Y3QtZ3JheS1jb2xvcjogI2U2ZTZlNjtcblxuJHJlZDogI2U2MzgxNjtcblxuXG4kZXJyb3I6ICRyZWQ7XG4kc3VjY2VzczogIzI4YTc0NTtcblxuXG4kZm9ybS1ib3JkZXItcmFkaXVzOiAzMnB4O1xuXG4kZ3JheS0xOiAjNjU2NTY1O1xuJGdyYXktMjogI2M3YzdjODtcbiRncmF5LTM6ICM5ZDlkOWQ7XG4kZ3JheS00OiAjYTZhN2E5O1xuXG5cbiRibHVlLTE6ICMwMDk1ZDY7XG5cbiR3aGl0ZTogI2ZmZjtcblxuXG5cblxuXG4kYmFja2dyb3VuZC1iYXNlLWNvbG9yOiAjZjlmOWY5O1xuLy8kYmx1ZS0xOiAjMDA3N0FCO1xuLy8kZ3JheS00OiAjNkM2RDZFO1xuLy8kcmVkOiAjQ0YzMjE0O1xuXG4kY29udHJhc3QtYmx1ZS0xOiAjMDA3N0FCO1xuJGNvbnRyYXN0LWdyYXktMzogIzZFNkU2RTtcbiRjb250cmFzdC1ncmF5LTQ6ICM2QzZENkU7XG4kY29udHJhc3QtcmVkOiAjQ0YzMjE0O1xuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsXG5pbmxpbmUtZmxleCAhZGVmYXVsdDtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuJG1haW4tY29udGFpbmVyLW1heC13aWRodDogMTY3MnB4O1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kbWVkaWEteHhsOiAxOTIwcHg7IC8vIGZ1bGwgaGRcbiRtZWRpYS14bDogMTUwMHB4OyAvLyBsYXB0b3AgPFxuJG1lZGlhLW1kOiAxMjAwcHg7IC8vIHRhYmxldCA8XG4kbWVkaWEtc206IDYwMHB4OyAvLyBtb2JpbGUgPFxuXG4kZm9udC1tZWRpYS14eGw6IDE5MjBweDsgLy8gZnVsbCBoZFxuJGZvbnQtbWVkaWEteGw6IDE0MjBweDsgLy8gbGFwdG9wIDxcbiRmb250LW1lZGlhLW1kOiA3NjhweDsgLy8gdGFibGV0IDxcbiRmb250LW1lZGlhLXNtOiAzNzVweDsgLy8gbW9iaWxlIDxcblxuJGNvbnRhaW5lci1wYWRkaW5nLXh4bC1sLXI6IDMycHg7XG4kY29udGFpbmVyLXBhZGRpbmcteGwtbC1yOiAzMnB4O1xuJGNvbnRhaW5lci1wYWRkaW5nLW1kLWwtcjogMzJweDtcbiRjb250YWluZXItcGFkZGluZy1zbS1sLXI6IDE1cHg7XG5cbiRjb250YWluZXIteHhsOiAkbWFpbi1jb250YWluZXItbWF4LXdpZGh0ICsgJGNvbnRhaW5lci1wYWRkaW5nLXh4bC1sLXIgKiAyO1xuJGNvbnRhaW5lci14bDogJG1lZGlhLXhsIC0gJGNvbnRhaW5lci1wYWRkaW5nLXhsLWwtciAqIDI7XG4kY29udGFpbmVyLW1kOiAkbWVkaWEtbWQgLSAkY29udGFpbmVyLXBhZGRpbmctbWQtbC1yICogMjtcbiRjb250YWluZXItc206ICRtZWRpYS1zbSAtICRjb250YWluZXItcGFkZGluZy1zbS1sLXIgKiAyO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4vLyDQlNCw0L3QvdGL0LUg0LTQu9GPINCx0LvQvtC60LAg0LPQsNC70LXRgNC10LlcblxuJGdhbGxlcnlOYXZCdXR0b25XaWR0aDogMTYwcHg7XG4kZ2FsbGVyeUl0ZW1QYWRkaW5nOiAyMnB4O1xuJGdhbGxlcnlXaWR0aEFiczogMTQ2OHB4O1xuJGdhbGxlcnlXaWR0aEltZ0hvcjogNzEycHg7XG4kZ2FsbGVyeVdpZHRoSW1nVmVyOiAzMzRweDtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiIsIkBpbXBvcnQgXCJib290c3RyYXAtZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwLXZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImZvbnQtc3R5bGVcIjtcblxuLm1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA1MDtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgIHRyYW5zaXRpb246IDAuMjFzIHRvcCwgMC4yMXMgYmFja2dyb3VuZC1jb2xvciwgMC4yMXMgb3BhY2l0eTtcblxuICAgICYubWVudS0tdXAge1xuICAgICAgICB0b3A6IC04MHB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICYubWVudS0tdXAsXG4gICAgJi5tZW51LS1kb3duLFxuICAgICYubWVudS0tb3BlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmOmhhcygubWVudV9fdG9wLWxpc3QtaXRlbS0taGFzLWNoaWxkcmVuOmhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAvLyAubWVudV9fY29udGFpbmVyXG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAoJGNvbnRhaW5lci14eGwpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAoJGNvbnRhaW5lci1wYWRkaW5nLXh4bC1sLXIgLyAyKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICgkY29udGFpbmVyLXBhZGRpbmcteHhsLWwtciAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCArIDFweCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYS1zbSArIDFweCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmcteHhsLWwtcjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14eGwtbC1yO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1zbSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctc20tbC1yO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLXNtLWwtcjtcbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAvLyAubWVudV9fd3JhcHBlclxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyOXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjlweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLm1lbnVfX3RvcC1saXN0XG5cbiAgICAmX190b3AtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkge1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5tZW51X190b3AtbGlzdC0tcmlnaHRcblxuICAgICZfX3RvcC1saXN0LS1yaWdodCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG5cbiAgICAvLyAubWVudV9fdG9wLWxpc3QtaXRlbVxuXG4gICAgJl9fdG9wLWxpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJjpub3QoLm1lbnVfX3RvcC1saXN0LWl0ZW0tLWJ1cmdlcikge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51X193cmFwcGVyICYubWVudV9fdG9wLWxpc3QtaXRlbTpub3QoLm1lbnVfX3RvcC1saXN0LWl0ZW0tLWJ1cmdlcik6bm90KC5tZW51X190b3AtbGlzdC1pdGVtLS1sYW5nKSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5tZW51X190b3AtbGlzdC1pdGVtLS1sYW5nXG5cbiAgICAmX190b3AtbGlzdC1pdGVtLS1sYW5nIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDU4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQ1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubWVudV9fdG9wLWxpc3QtaXRlbS0taGFzLWNoaWxkcmVuXG5cbiAgICAmX190b3AtbGlzdC1pdGVtLS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICBib2R5OmhhcygmOmhvdmVyKSB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXNjcm9sbEJhcikpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnU6aGFzKCY6aG92ZXIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tc2Nyb2xsQmFyKSk7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy8gLm1lbnVfX3RvcC1saXN0LWxpbmtcblxuICAgICZfX3RvcC1saXN0LWxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjIxcyBjb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgRlNMKDIwLCAyNSk7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgICAgICB0cmFuc2l0aW9uOiAuMjFzIGJvcmRlci1jb2xvcjtcblxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgLm1lbnVfX3RvcC1saXN0LWl0ZW06bm90KC5tZW51X190b3AtbGlzdC1pdGVtLS1hY3RpdmUpICY6bm90KDpob3Zlcikge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cblxuICAgICAgICAubWVudS0td2hpdGU6bm90KC5tZW51LS1kb3duKTpub3QoLm1lbnUtLW9wZW4pOm5vdCg6aGFzKC5tZW51X190b3AtbGlzdC1pdGVtLS1oYXMtY2hpbGRyZW46aG92ZXIpKSAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5tZW51LS13aGl0ZTpoYXMoLm1lbnVfX3RvcC1saXN0LWl0ZW0tLWhhcy1jaGlsZHJlbjpob3ZlcikgJixcbiAgICAgICAgLm1lbnUtLWRvd24gJixcbiAgICAgICAgLm1lbnU6bm90KC5tZW51LS13aGl0ZSkgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJhc2U7XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG5cbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgLm1lbnVfX3RvcC1saXN0LWl0ZW0tLWhhcy1jaGlsZHJlbjpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5tZW51X190b3AtbGlzdC1pdGVtLS1oYXMtY2hpbGRyZW4gJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjFzIHRyYW5zZm9ybTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLm1lbnUtbW9iaWxlIC5tZW51X190b3AtbGlzdC1pdGVtLS1oYXMtY2hpbGRyZW4gJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogOXB4IHNvbGlkO1xuICAgICAgICB9XG5cblxuICAgICAgICAubWVudS1tb2JpbGUgLm1lbnVfX3RvcC1saXN0LWl0ZW0tLWhhcy1jaGlsZHJlbi5tZW51X190b3AtbGlzdC1pdGVtLS1vcGVuICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gLm1lbnVfX3RvcC1saXN0LWxpbmstLWJ1cmdlclxuXG4gICAgJl9fdG9wLWxpc3QtbGluay0tYnVyZ2VyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjIxcztcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLm1lbnUtLXdoaXRlOm5vdCgubWVudS0tb3Blbik6bm90KC5tZW51LS1kb3duKSAmIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LS1vcGVuICYsXG4gICAgICAgIC5tZW51Om5vdCgubWVudS0td2hpdGUpICYsXG4gICAgICAgIC5tZW51LS1kb3duICYge1xuICAgICAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVudTpub3QoLm1lbnUtLW9wZW4pICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51Om5vdCgubWVudS0tb3BlbikgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LS1vcGVuICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtLW9wZW4gJjo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubWVudV9fdG9wLWxpc3QtaXRlbS0tYnVyZ2VyXG5cbiAgICAmX190b3AtbGlzdC1pdGVtLS1idXJnZXIge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblxuICAgICAgICB9XG5cblxuICAgIH1cblxuICAgIC8vIC5tZW51X19sb2dvLWxpbmtcblxuICAgICZfX2xvZ28tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIC5tZW51OmhhcygubWVudV9fbW9iaWxlLS1vcGVuKSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSB7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yMXMgZmlsbDtcblxuICAgICAgICAgICAgICAgIC5tZW51LS13aGl0ZTpub3QoLm1lbnUtLWRvd24pOm5vdCgubWVudS0tb3Blbik6bm90KDpoYXMoLm1lbnVfX3RvcC1saXN0LWl0ZW0tLWhhcy1jaGlsZHJlbjpob3ZlcikpICYge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5tZW51X19sb2dvLWxpbmstLWRpc2FibGVkXG5cbiAgICAmX19sb2dvLWxpbmstLWRpc2FibGVkIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cblxuICAgIC8vIC5tZW51X19zdWItbWVudVxuXG4gICAgJl9fc3ViLW1lbnUge1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjIxcyB2aXNpYmlsaXR5LCAwLjIxcyBvcGFjaXR5O1xuXG4gICAgICAgICAgICAubWVudV9fdG9wLWxpc3QtaXRlbTpub3QoOmhvdmVyKSA+ICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudV9fdG9wLWxpc3QtaXRlbTpob3ZlciA+ICYge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtc20gKyAxcHgpIHtcblxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1zbSkge1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtbW9iaWxlICYge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtcm93cyAuNXMgZWFzZSwgbWFyZ2luLWJvdHRvbSAuNXMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LW1vYmlsZSAubWVudV9fdG9wLWxpc3QtaXRlbTpub3QoLm1lbnVfX3RvcC1saXN0LWl0ZW0tLW9wZW4pID4gJiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LW1vYmlsZSAubWVudV9fdG9wLWxpc3QtaXRlbS0tb3BlbiA+ICYge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIC5tZW51X19zdWItbWVudS13cmFwcGVyXG5cbiAgICAmX19zdWItbWVudS13cmFwcGVyIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogODhweDtcblxuICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDExMXB4KTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gMTExcHgpO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LW1vYmlsZSAmIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLm1lbnUtbGFuZyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cblxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBGU0woMjAsIDI1KTtcblxuICAgIC5tZW51LS13aGl0ZTpub3QoLm1lbnUtLWRvd24pOm5vdCgubWVudS0tb3BlbikgJiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLy8gLm1lbnUtbGFuZ19faXRlbVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRyYW5zaXRpb246IC4yMXMgb3BhY2l0eTtcblxuICAgICAgICAubWVudS1sYW5nOm5vdCg6aG92ZXIpICY6bm90KC5tZW51LWxhbmdfX2l0ZW0tLWFjdGl2ZSkge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5tZW51LWxhbmdfX2l0ZW0tLWFjdGl2ZVxuXG4gICAgJl9faXRlbS0tYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjIxcyB0cmFuc2Zvcm07XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1sYW5nOmhvdmVyICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LS13aGl0ZTpoYXMoLm1lbnVfX3RvcC1saXN0LWl0ZW0tLWhhcy1jaGlsZHJlbjpob3ZlcikgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubWVudS1sYW5nX19saW5rXG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAubWVudS1sYW5nX19pdGVtOm5vdCgubWVudS1sYW5nX19pdGVtLS1hY3RpdmUpICYge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1iYXNlO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWxhbmc6bm90KDpob3ZlcikgLm1lbnUtbGFuZ19faXRlbTpub3QoLm1lbnUtbGFuZ19faXRlbS0tYWN0aXZlKSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICB9XG5cblxuICAgICAgICAubWVudS1sYW5nX19pdGVtOm5vdCgubWVudS1sYW5nX19pdGVtLS1hY3RpdmUpICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudS1tb2JpbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICBoZWlnaHQ6IDkwdmg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDg2cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgei1pbmRleDogMTtcblxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMC4xMDQsIDAuMjA0LCAwLjQ5MiwgMSksXG4gICAgb3BhY2l0eSAwLjE1cyBjdWJpYy1iZXppZXIoMC4xMDQsIDAuMjA0LCAwLjQ5MiwgMSk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5tZW51Om5vdCgubWVudS0tb3BlbikgJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC8vIC5tZW51LW1vYmlsZV9fbGlzdFxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIH1cblxuXG4gICAgLm1lbnVfX3RvcC1saXN0LWl0ZW0gLm1lbnVfX3RvcC1saXN0LWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmFzZTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXNtICsgMXB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBGU0woNDAsIDQ5KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBGU0woMzIsIDQwKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudV9fc3ViLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxufVxuXG4ubWVudS15YWNodHMge1xuXG4gICAgLy8gLm1lbnUteWFjaHRzX19icmFuZC1wYW5lbHNcblxuICAgICZfX2JyYW5kLXBhbmVscyB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cblxuICAgIC8vIC5tZW51LXlhY2h0c19fYnJhbmQtdGl0bGUtd3JhcHBlclxuXG4gICAgJl9fYnJhbmQtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5tZW51LXlhY2h0c19fYnJhbmQtdGl0bGUtbGlua1xuXG4gICAgJl9fYnJhbmQtdGl0bGUtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIEZTTCgyNCwgMjkpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIC5tZW51LXlhY2h0c19fbGluZXMtd3JhcHBlclxuXG4gICAgJl9fbGluZXMtd3JhcHBlciB7XG5cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNnB4O1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAoODU2LzU0Nik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG5cblxuICAgIH1cblxuICAgIC8vIC5tZW51LXlhY2h0c19fbGluZXNcblxuICAgICZfX2xpbmVzIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIC5tZW51LXlhY2h0c19fbGluZVxuXG4gICAgJl9fbGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM3MHB4O1xuXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkZ3JheS0yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZ3JheS0yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgIH1cblxuICAgIC8vIC5tZW51LXlhY2h0c19fbGluZS1tYWluXG5cbiAgICAmX19saW5lLW1haW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgLy8gZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYS1zbSArIDFweCkge1xuICAgICAgICAgICAgY29sdW1uLWdhcDogNDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtc20pIHtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubWVudS15YWNodHNfX2xpbmUtaW1hZ2VcblxuICAgICZfX2xpbmUtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMDdweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAoMjA3cHgvMTE0cHgpO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtZ3JheS1jb2xvcjtcblxuICAgICAgICB3aWR0aDogKDE0OHB4IC8gKDM3NXB4IC0gMTVweCAtIDE1cHgpICogMTAwJSk7XG5cblxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgLm1lbnVfX3RvcC1saXN0LWl0ZW06bm90KDpob3ZlcikgLm1lbnUteWFjaHRzX19icmFuZC1wYW5lbDpub3QoLm1lbnUteWFjaHRzX19icmFuZC1wYW5lbC0tc2NhcmFiLWpldC1ib2F0cyk6bm90KC5tZW51LXlhY2h0c19fYnJhbmQtcGFuZWwtLXBvc2VpZG9uKSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudV9fdG9wLWxpc3QtaXRlbTpob3ZlciAubWVudS15YWNodHNfX2JyYW5kLXBhbmVsOm5vdCgubWVudS15YWNodHNfX2JyYW5kLXBhbmVsLS1zY2FyYWItamV0LWJvYXRzKTpub3QoLm1lbnUteWFjaHRzX19icmFuZC1wYW5lbC0tcG9zZWlkb24pICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgICAgICAgICAgLm1lbnVfX3RvcC1saXN0LWl0ZW06bm90KC5tZW51X190b3AtbGlzdC1pdGVtLS1vcGVuKSAubWVudS15YWNodHNfX2JyYW5kLXBhbmVsOm5vdCgubWVudS15YWNodHNfX2JyYW5kLXBhbmVsLS1zY2FyYWItamV0LWJvYXRzKTpub3QoLm1lbnUteWFjaHRzX19icmFuZC1wYW5lbC0tcG9zZWlkb24pICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZW51X190b3AtbGlzdC1pdGVtLS1vcGVuOmhvdmVyIC5tZW51LXlhY2h0c19fYnJhbmQtcGFuZWw6bm90KC5tZW51LXlhY2h0c19fYnJhbmQtcGFuZWwtLXNjYXJhYi1qZXQtYm9hdHMpOm5vdCgubWVudS15YWNodHNfX2JyYW5kLXBhbmVsLS1wb3NlaWRvbikgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS15YWNodHNfX2JyYW5kLXBhbmVsLS1zY2FyYWItamV0LWJvYXRzICYsXG4gICAgICAgIC5tZW51LXlhY2h0c19fYnJhbmQtcGFuZWwtLXBvc2VpZG9uICYge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubWVudS15YWNodHNfX2xpbmUtbGlua1xuXG4gICAgJl9fbGluZS1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjIxcztcblxuICAgICAgICAubWVudS1tb2JpbGUgLm1lbnUteWFjaHRzX19saW5lLS1vcGVuICYge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXNtICsgMXB4KSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMnB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTlweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBGU0woMjQsIDMxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIEZTTCgxNiwgMjApO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgIC5tZW51LXlhY2h0c19fbGluZTpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCBjYWxjKDEwMCUgLSAxMHB4KSA1MCUsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMjFzO1xuXG4gICAgICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgICAgIC5tZW51LXlhY2h0c19fbGluZTpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubWVudS15YWNodHNfX2xpbmU6bm90KDpob3ZlcikgJiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAgICAgICAgICAgLm1lbnUteWFjaHRzX19saW5lLS1vcGVuICYge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tZW51LXlhY2h0c19fbGluZTpub3QoLm1lbnUteWFjaHRzX19saW5lLS1vcGVuKSAmIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBpbnNldDogMXB4O1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4yMXM7XG5cblxuICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAubWVudS15YWNodHNfX2xpbmU6aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLTE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1lbnUteWFjaHRzX19saW5lOm5vdCg6aG92ZXIpICYge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgICAgICAgICAgICAgIC5tZW51LXlhY2h0c19fbGluZS0tb3BlbiAmIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubWVudS15YWNodHNfX2xpbmU6bm90KC5tZW51LXlhY2h0c19fbGluZS0tb3BlbikgJiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudS1tb2JpbGUgLm1lbnUteWFjaHRzX19saW5lLS1vcGVuICYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS15YWNodHNfX2JyYW5kLXBhbmVsLS1zY2FyYWItamV0LWJvYXRzICYsXG4gICAgICAgIC5tZW51LXlhY2h0c19fYnJhbmQtcGFuZWwtLXBvc2VpZG9uICYge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8ubWVudS1tb2JpbGUgLm1lbnUteWFjaHRzX19saW5lLS1vcGVuICYge1xuICAgICAgICAvLyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xO1xuICAgICAgICAvLyAgICBib3JkZXItY29sb3I6ICRibHVlLTE7XG4gICAgICAgIC8vICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC8vfVxuICAgICAgICAvL1xuICAgICAgICAvLy5tZW51LW1vYmlsZSAubWVudS15YWNodHNfX2xpbmUtLW9wZW4gJjo6YWZ0ZXIge1xuICAgICAgICAvLyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC8vICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyMicgaGVpZ2h0PSc0NScgdmlld0JveD0nMCAwIDEyMiA0NScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTAgMEgxMjJMMTEyIDIyLjVMMTIyIDQ1SDBWMFonIGZpbGw9JyUyMzAwOTVENicvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgICAgICAgLy99XG5cbiAgICB9XG5cbiAgICAvLyAubWVudS15YWNodHNfX3lhY2h0cy13cmFwcGVyXG5cbiAgICAmX195YWNodHMtd3JhcHBlciB7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMnB4IC0gNDNweCAtIDIwN3B4KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4yMXMgb3BhY2l0eSwgLjIxcyB6LWluZGV4O1xuXG4gICAgICAgICAgICAubWVudS15YWNodHNfX2xpbmU6bm90KDpob3ZlcikgJiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1lbnUteWFjaHRzX19saW5lOmhvdmVyICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLm1lbnUtbW9iaWxlICYge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtcm93cyAuNXMgZWFzZSwgbWFyZ2luLWJvdHRvbSAuNXMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LW1vYmlsZSAubWVudS15YWNodHNfX2xpbmU6bm90KC5tZW51LXlhY2h0c19fbGluZS0tb3BlbikgPiAmIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMGZyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtbW9iaWxlIC5tZW51LXlhY2h0c19fbGluZS0tb3BlbiA+ICYge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIC5tZW51LXlhY2h0c19feWFjaHRzXG5cbiAgICAmX195YWNodHMge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDQycHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1tb2JpbGUgJiB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLm1lbnUteWFjaHRzX195YWNodFxuXG4gICAgJl9feWFjaHQge1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gLm1lbnUteWFjaHRzX195YWNodC1saW5rXG5cbiAgICAmX195YWNodC1saW5rIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1iYXNlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogLjIxcyBvcGFjaXR5O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXhsICsgMXB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDkwcHg7XG4gICAgICAgICAgICB3aWR0aDogKDQ0NHB4IC8gMTMwMHB4ICogMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXhsKSBhbmQgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICg5MHB4IC8gOTkwcHggKiAxMDAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAoMzA5cHggLyA5OTBweCAqIDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIEZTTCgyNCwgMzUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYS1zbSArIDFweCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgRlNMKDQwLCA1Nyk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBGU0woMzIsIDQ2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LXlhY2h0c19feWFjaHQ6bm90KDpob3ZlcikgJiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gLm1lbnUteWFjaHRzX195YWNodC1ob3ZlclxuXG4gICAgJl9feWFjaHQtaG92ZXIge1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjIxcyBvcGFjaXR5LCAuMjFzIHotaW5kZXg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEteGwgKyAxcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogKDg1NnB4IC8gMTMwMHB4ICogMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEteGwpIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogKDY4MXB4IC8gOTkwcHggKiAxMDAlKTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAubWVudS15YWNodHNfX3lhY2h0Om5vdCg6aG92ZXIpICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZW51LXlhY2h0c19feWFjaHQ6aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLm1lbnUteWFjaHRzX19icmFuZC10YWJzXG5cbiAgICAmX19icmFuZC10YWJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS0yO1xuXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAzNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAxMHB4O1xuICAgICAgICAgICAgcm93LWdhcDogMTRweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gLm1lbnUteWFjaHRzX19icmFuZC10YWItaXRlbVxuXG4gICAgJl9fYnJhbmQtdGFiLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIC5tZW51LXlhY2h0c19fYnJhbmQtdGFiXG5cbiAgICAmX19icmFuZC10YWIge1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgQGluY2x1ZGUgRlNMKDI0LCAyOSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMjFzIGNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogN3B4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIEZTTCgxMywgMTkpO1xuXG4gICAgICAgICAgICAmOm5vdCgubWVudS15YWNodHNfX2JyYW5kLXRhYi0tYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgJjpub3QoLm1lbnUteWFjaHRzX19icmFuZC10YWItLWFjdGl2ZSkge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS0yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4yMXMgYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KCYtLWFjdGl2ZSkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLm1lbnUteWFjaHRzX19icmFuZC10YWItLWFjdGl2ZVxuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtMTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZS0xO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgJGNvbG9yLWJhc2U7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5tZW51LXlhY2h0c19fYnJhbmQtcGFuZWxcblxuICAgICZfX2JyYW5kLXBhbmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmW2hpZGRlbl0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudS15YWNodC1jYXJkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRjb2xvci1iYXNlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIH1cblxuICAgIC8vIC5tZW51LXlhY2h0LWNhcmRfX2ltYWdlLXdyYXBwZXJcblxuICAgICZfX2ltYWdlLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDM2cHggLSAyOXB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogNDY4cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5tZW51LXlhY2h0LWNhcmRfX2ltYWdlLXRleHRcblxuICAgICZfX2ltYWdlLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6ICg1MjBweCArIDMzcHggKyAzM3B4KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzM3B4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzM3B4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzNweDtcbiAgICB9XG5cbiAgICAvLyAubWVudS15YWNodC1jYXJkX19pbWFnZVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWdyYXktY29sb3I7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCkge1xuICAgICAgICAgICAgLm1lbnVfX3RvcC1saXN0LWl0ZW06bm90KDpob3ZlcikgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1lbnVfX3RvcC1saXN0LWl0ZW06aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubWVudS15YWNodC1jYXJkX19ib3R0b21cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgRlNMKDIwLCAyOSk7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzZweDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLm1lbnUteWFjaHQtY2FyZF9fcHJpY2VcblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgY29sb3I6ICRibHVlLTE7XG4gICAgfVxuXG4gICAgLy8gLm1lbnUteWFjaHQtY2FyZF9fcHJpY2Utd3JhcHBlclxuXG4gICAgJl9fcHJpY2Utd3JhcHBlciB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTRweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEzcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubWVudS15YWNodC1jYXJkX19zcGVjc1xuXG4gICAgJl9fc3BlY3Mge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxM3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi8vINCf0LXRgNC10LLQvtC00LjRgtGMINGA0LDQt9C80LXRgCDQuNC3INC/0LjQutGB0LXQu9C10Lkg0LIgcmVtINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQsdCw0LfQvtCy0L7Qs9C+INGA0LDRidC80LXRgNCwINGI0YDQuNGE0YLQvtCyINCyINCx0YDQsNGD0LfQtdGA0LVcbkBmdW5jdGlvbiByZW1GUygkZm9udC1zaXplKSB7XG4gICAgJGZvbnQtc2l6ZS1weDogJGZvbnQtc2l6ZSAqIDFweDtcbiAgICAkZm9udC1zaXplLW1haW4tcHg6ICRmb250LXNpemUtbWFpbiAqIDFweDtcbiAgICBAcmV0dXJuICgkZm9udC1zaXplLXB4LyRmb250LXNpemUtbWFpbi1weCkgKiAxcmVtO1xufVxuXG4vLyDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRgNCw0LfQvNC10YDRiyDRiNGA0LjRhNGC0LAg0Lgg0LLRi9GB0L7RgtGLINGI0YDQuNGE0YLQsFxuLy8gQGluY2x1ZGUgRlNMKDIwLCAzMik7XG5AbWl4aW4gRlNMKCRmb250LXNpemUsICRmb250LWxpbmUtaGVpZ2h0KSB7XG4gICAgZm9udC1zaXplOiByZW1GUygkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogKCRmb250LWxpbmUtaGVpZ2h0LyRmb250LXNpemUpO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXNtICsgMXB4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtc20pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgfVxufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXNtICsgMXB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtc20pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgfVxufVxuXG5AbWl4aW4gbWFyZ2luLXRvcC1ib3R0b20oKSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luLXRvcCgpO1xuICAgIEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oKTtcbn1cblxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gICAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gXCJudW1iZXJcIiBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICAgICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbnVtYmVyO1xufVxuXG5AZnVuY3Rpb24gY2FsY0ZsdWlkRm9udFNpemUoJHctbWF4LCAkdy1taW4sICRmLW1heCwgJGYtbWluLCAkdW5pdHM6IHB4KSB7XG4gICAgJGYtbWluOiBzdHJpcC11bml0KCRmLW1pbik7XG4gICAgJGYtbWF4OiBzdHJpcC11bml0KCRmLW1heCk7XG4gICAgJHctbWluOiBzdHJpcC11bml0KCR3LW1pbik7XG4gICAgJHctbWF4OiBzdHJpcC11bml0KCR3LW1heCk7XG5cbiAgICAkazogKCRmLW1heCAtICRmLW1pbikvICgkdy1tYXggLSAkdy1taW4pO1xuICAgICRiOiAkZi1taW4gLSAkayAqICR3LW1pbjtcblxuICAgICRiOiAkYiArICR1bml0cztcblxuICAgIEByZXR1cm4gY2FsYygjeyRrfSAqIDEwMHZ3ICsgI3skYn0pO1xufVxuXG4vL1xuXG5AbWl4aW4gbWVkaWFfZm9udF9zaXplX3dpZHRoX192MihcbiAgICAkbWVkaWFfbWF4LFxuICAgICRtZWRpYV9taW4sXG4gICAgJGZvbnRfbmFtZV9tYXgsXG4gICAgJGZvbnRfbmFtZV9taW4sXG4gICAgJGlzX21lZGlhX21pblxuKSB7XG4gICAgJG1lZGlhX21heDogc3RyaXAtdW5pdCgkbWVkaWFfbWF4KTtcbiAgICAkbWVkaWFfbWluOiBzdHJpcC11bml0KCRtZWRpYV9taW4pO1xuICAgICRmb250X25hbWVfbWF4OiBzdHJpcC11bml0KCRmb250X25hbWVfbWF4KTtcbiAgICAkZm9udF9uYW1lX21pbjogc3RyaXAtdW5pdCgkZm9udF9uYW1lX21pbik7XG5cbiAgICAkazogKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9taW4pLyAoJG1lZGlhX21heCAtICRtZWRpYV9taW4pO1xuICAgICRiOiAkZm9udF9uYW1lX21pbiAtICRrICogJG1lZGlhX21pbjtcblxuICAgICRiOiAkYiAvICRmb250LXNpemUtbWFpbiAqIDFyZW07XG5cbiAgICAkbWVkaWFfbWF4X3B4OiAkbWVkaWFfbWF4ICogMXB4O1xuXG4gICAgQGlmICRpc19tZWRpYV9taW4gPT0gMSB7XG4gICAgICAgICRtZWRpYV9taW5fcHg6ICRtZWRpYV9taW4gKiAxcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYV9tYXhfcHgpIGFuZCAobWluLXdpZHRoOiAkbWVkaWFfbWluX3B4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMoI3ska30gKiAxMDB2dyArICN7JGJ9KTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhX21heF9weCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKCN7JGt9ICogMTAwdncgKyAjeyRifSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEBpbmNsdWRlIG1lZGlhX2ZvbnRfc2l6ZV93aWR0aCg5MDAsIDMyMCwgODAsIDU4LCAwKTtcbkBtaXhpbiBtZWRpYV9mb250X3NpemVfd2lkdGgoXG4gICAgJG1lZGlhX21heCxcbiAgICAkbWVkaWFfbWluLFxuICAgICRmb250X25hbWVfbWF4LFxuICAgICRmb250X25hbWVfbWluLFxuICAgICRpc19taW5fbWVkaWFcbikge1xuICAgICRyYXpuOiAkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfbWluO1xuXG4gICAgQGZvciAkZm9udF9uYW1lX2kgZnJvbSAxIHRocm91Z2ggJHJhem4ge1xuICAgICAgICAkbWVkaWE6ICRtZWRpYV9tYXgvJGZvbnRfbmFtZV9tYXg7XG5cbiAgICAgICAgJG1lZGlhX2NvZWY6ICgkbWVkaWFfbWF4IC0gJG1lZGlhX21pbikgL1xuICAgICAgICAgICAgKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9taW4pO1xuXG4gICAgICAgIEBpZiAkaXNfbWluX21lZGlhID09IDEge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICgkbWVkaWFfbWF4IC0gKCgkZm9udF9uYW1lX2kgLSAxKSAqICRtZWRpYV9jb2VmKSkgKiAxcHgpIGFuZCAobWluLXdpZHRoOiAkbWVkaWFfbWluICogMXB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9pKSAvICRmb250LXNpemUtbWFpbikgKlxuICAgICAgICAgICAgICAgICAgICAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRmb250X21heF9tZWRpYTogJG1lZGlhX21heCAtXG4gICAgICAgICAgICAgICAgZmxvb3IoKCRmb250X25hbWVfaSAtIDEpICogJG1lZGlhX2NvZWYpICpcbiAgICAgICAgICAgICAgICAxcHg7XG5cbiAgICAgICAgICAgICRmb250X21pbl9tZWRpYTogJG1lZGlhX21heCAtXG4gICAgICAgICAgICAgICAgZmxvb3IoKCRmb250X25hbWVfaSkgKiAkbWVkaWFfY29lZikgKlxuICAgICAgICAgICAgICAgIDFweDtcblxuICAgICAgICAgICAgQGlmICRmb250X21pbl9tZWRpYSA+ICRtZWRpYV9taW4ge1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZm9udF9tYXhfbWVkaWEpIGFuZCAobWluLXdpZHRoOiAoJGZvbnRfbWluX21lZGlhICsgMXB4KSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX2kpIC8gJGZvbnQtc2l6ZS1tYWluXG4gICAgICAgICAgICAgICAgICAgICAgICApICogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGZvbnRfbWF4X21lZGlhKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfaSkgLyAkZm9udC1zaXplLW1haW5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgKiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX3dpZHRoKDkwMCwgMzIwLCA4MCwgNTgsIDApO1xuLy8gQG1peGluIG1lZGlhX2ZvbnRfc2l6ZV93aWR0aChcbi8vICAgICAkbWVkaWFfbWF4LFxuLy8gICAgICRtZWRpYV9taW4sXG4vLyAgICAgJGZvbnRfbmFtZV9tYXgsXG4vLyAgICAgJGZvbnRfbmFtZV9taW4sXG4vLyAgICAgJGlzX21pbl9tZWRpYVxuLy8gKSB7XG4vLyAgICAgJHJhem46ICRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9taW47XG5cbi8vICAgICBAZm9yICRmb250X25hbWVfaSBmcm9tIDEgdGhyb3VnaCAkcmF6biB7XG4vLyAgICAgICAgICRtZWRpYTogJG1lZGlhX21heC8kZm9udF9uYW1lX21heDtcblxuLy8gICAgICAgICAkbWVkaWFfY29lZjogKCRtZWRpYV9tYXggLSAkbWVkaWFfbWluKSAvXG4vLyAgICAgICAgICAgICAoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX21pbik7XG5cbi8vICAgICAgICAgQGlmICRpc19taW5fbWVkaWEgPT0gMSB7XG4vLyAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogKCRtZWRpYV9tYXggLSAoKCRmb250X25hbWVfaSAtIDEpICogJG1lZGlhX2NvZWYpKSAqIDFweCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYV9taW4gKiAxcHgpIHtcbi8vICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX2kpIC8gJGZvbnQtc2l6ZS1tYWluKSAqXG4vLyAgICAgICAgICAgICAgICAgICAgIDFyZW07XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH0gQGVsc2Uge1xuLy8gICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICgkbWVkaWFfbWF4IC0gKCgkZm9udF9uYW1lX2kgLSAxKSAqICRtZWRpYV9jb2VmKSkgKiAxcHgpIHtcbi8vICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX2kpIC8gJGZvbnQtc2l6ZS1tYWluKSAqXG4vLyAgICAgICAgICAgICAgICAgICAgIDFyZW07XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG5cbi8vIEBpbmNsdWRlIG1lZGlhX2ZvbnRfc2l6ZV9oZWlnaHQoOTAwLCAzMjAsIDgwLCA1OCwgMCk7XG5AbWl4aW4gbWVkaWFfZm9udF9zaXplX2hlaWdodChcbiAgICAkbWVkaWFfbWF4LFxuICAgICRtZWRpYV9taW4sXG4gICAgJGZvbnRfc2l6ZV9tYXgsXG4gICAgJGZvbnRfc2l6ZV9taW4sXG4gICAgJGlzX21pbl9tZWRpYVxuKSB7XG4gICAgJHJhem46ICRmb250X3NpemVfbWF4IC0gJGZvbnRfc2l6ZV9taW47XG5cbiAgICBAZm9yICRmb250X3NpemVfaSBmcm9tIDEgdGhyb3VnaCAkcmF6biB7XG4gICAgICAgICRtZWRpYTogJG1lZGlhX21heC8kZm9udF9zaXplX21heDtcblxuICAgICAgICAkbWVkaWFfY29lZjogKCRtZWRpYV9tYXggLSAkbWVkaWFfbWluKSAvXG4gICAgICAgICAgICAoJGZvbnRfc2l6ZV9tYXggLSAkZm9udF9zaXplX21pbik7XG5cbiAgICAgICAgQGlmICRpc19taW5fbWVkaWEgPT0gMSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6ICgkbWVkaWFfbWF4IC0gKCgkZm9udF9zaXplX2kgLSAxKSAqICRtZWRpYV9jb2VmKSkgKiAxcHgpIGFuZCAobWluLWhlaWdodDogJG1lZGlhX21pbiAqIDFweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCgkZm9udF9zaXplX21heCAtICRmb250X25hbWVfaSkgLyAkZm9udC1zaXplLW1haW4pICpcbiAgICAgICAgICAgICAgICAgICAgMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6ICgkbWVkaWFfbWF4IC0gKCgkZm9udF9zaXplX2kgLSAxKSAqICRtZWRpYV9jb2VmKSkgKiAxcHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgoJGZvbnRfc2l6ZV9tYXggLSAkZm9udF9zaXplX2kpIC8gJGZvbnQtc2l6ZS1tYWluKSAqXG4gICAgICAgICAgICAgICAgICAgIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbWVkaWEtYnJlYWtwb2ludHMpIHtcbiAgICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgICBAaWYgJG1pbiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBzbGlja0RvdHMoKSB7XG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAoJG1lZGlhLXhsKzEpKSB7XG4gICAgICAgICAgICBib3R0b206IDY1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXhsKSBhbmQgKG1pbi13aWR0aDogKCRtZWRpYS1tZCsxKSkge1xuICAgICAgICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkgYW5kIChtaW4td2lkdGg6ICgkbWVkaWEtc20rMSkpIHtcbiAgICAgICAgICAgIGJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtc20pIHtcbiAgICAgICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDcuNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjVweDtcblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjFzIGJhY2tncm91bmQtY29sb3IsIDAuMjFzIHdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAwLjIxcyBoZWlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5zbGljay1hY3RpdmUpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHNsaWNrQmlnQXJyb3dzKCkge1xuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBoZWlnaHQ6IDY1cHg7XG5cbiAgICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEteHhsICsgMXB4KSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEteHhsKSBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXhsICsgMXB4KSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEteGwpIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXh4bCArIDFweCkge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXh4bCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYS14bCArIDFweCkge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXhsKSB7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8vINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIENTUy3QstGL0YDQsNC20LXQvdC40LUg0LLQuNC00LBcbi8vLyBtaW4oY2FsYygoMTAwdncgLSBjb250YWluZXIgLSBuYXYgLSBpdGVtcyAtIHNjcm9sbGJhcikgKiAod2lkdGhYIC8gdG90YWxXaWR0aCkpLCB3aWR0aFgpXG5AZnVuY3Rpb24gZmx1aWQtbWF4KCR3aWR0aFhweCkge1xuICAgICR1bml0bGVzc1g6ICR3aWR0aFhweCAgICAgICAgICAvIDFweDtcbiAgICAkdW5pdGxlc3NUb3RhbDogJGdhbGxlcnlXaWR0aEFicyAgIC8gMXB4O1xuXG4gICAgLy8g0JLRi9Cx0LjRgNCw0LXQvCDQvdGD0LbQvdGD0Y4g0YTRg9C90LrRhtC40Y46INC10YHQu9C4INC+0YLRgNC40YbQsNGC0LXQu9GM0L3QvtC1IOKAlCBtYXgsINC40L3QsNGH0LUgbWluXG4gICAgJGZuOiBpZigkdW5pdGxlc3NYIDwgMCwgXCJtYXhcIiwgXCJtaW5cIik7XG5cbiAgICBAcmV0dXJuIHVucXVvdGUoXG4gICAgICAgICAgICAgICAgICAgIFwiI3skZm59KGNhbGMoKDEwMHZ3IC0gI3skY29udGFpbmVyLXBhZGRpbmcteHhsLWwtciAqIDJ9IC0gI3skZ2FsbGVyeU5hdkJ1dHRvbldpZHRofSAtICN7JGdhbGxlcnlJdGVtUGFkZGluZyAqIDJ9IC0gdmFyKC0tc2Nyb2xsQmFyKSkgKiAoI3skdW5pdGxlc3NYfSAvICN7JHVuaXRsZXNzVG90YWx9KSksICN7JHdpZHRoWHB4fSlcIlxuICAgICk7XG5cbn1cbiJdLCJmaWxlIjoibWVudS5jc3MifQ== */
