/* Color Variables */
.c-gold, .content-link__title span, .product-gallery__title span, .product-story__name {
  color: #fff;
}

@media (min-width: 1025px) {
  .c-gold, .content-link__title span, .product-gallery__title span, .product-story__name {
    background: linear-gradient(to right, #7e7e7e 0, #fff 20%, #797979 100%);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

.c-blue, .stab-content__caption {
  color: #002355;
}

@media (min-width: 1025px) {
  .c-blue, .stab-content__caption {
    background: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

/* Font Variables */
/* Media Queries Breakpoints */
/* Media Queries Breakpoints */
/* Layout sizes */
.arrow-right-blue, .product-pins__slider .custom-slider__controls .arrow-button:after {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.172 12.927L.438 25.3 7.51 12.927.44.67l17.733 12.257z' fill='%23002355'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.arrow-right-orange, .product-tabs__title-mob:after {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.172 12.927L.438 25.3 7.51 12.927.44.67l17.733 12.257z' fill='%23B18749'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.arrow-right-white {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.172 12.927L.438 25.3 7.51 12.927.44.67l17.733 12.257z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.icon-empty {
  height: 55px;
  width: 55px;
  min-width: 55px;
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.23.478l17.156 17.155M18.386.478L1.231 17.633' stroke='%23000' stroke-opacity='.5'/%3E%3C/svg%3E");
  background-color: #ededed;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  overflow: hidden;
}

/* Header */
@media (min-width: 1024px) {
  .site-header {
    transform: translateY(-15px);
  }
  .site-header:before {
    height: 65px;
  }
}

@media (min-width: 1441px) {
  .site-header {
    transform: translateY(-25px);
  }
  .site-header:before {
    height: 85px;
  }
}

@media (min-width: 1024px) {
  .site-header__logo .logo-img {
    clip: rect(0, 62px, 44px, 0);
    transform: scale(0.5) translateX(-64px);
  }
}

@media (min-width: 1024px) {
  .site-header__logo {
    transform: translateX(-107px);
  }
}

.content-link {
  color: #fff;
  display: flex;
  align-items: center;
  padding: 5vh 0;
  position: relative;
  overflow: hidden;
}

@media (min-width: 768px) {
  .content-link {
    background: url(../jpg/bg-cta.jpg) 50% 100% repeat-x #002355;
    background-size: cover;
  }
}

@media (max-width: 767px) {
  .content-link {
    background-color: #002355;
  }
}

@media (min-width: 1024px) {
  .content-link {
    padding: 15vh 0;
  }
}

@media (min-width: 1441px) {
  .content-link {
    min-height: 793px;
  }
}

.content-link__inner {
  position: relative;
  z-index: 2;
}

@media (min-width: 768px) {
  .content-link__inner {
    max-width: 45%;
  }
}

.content-link__title {
  margin-bottom: 25px;
}

.content-link__title span {
  font-weight: 700;
}

.content-link__txt {
  margin-bottom: 25px;
}

.content-link__txt ul {
  margin: 20px 0 0;
}

.content-link__txt li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 15px;
}

.content-link__txt li:before {
  content: '';
  height: 7px;
  width: 7px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 12px;
  background-color: #fff;
}

.content-link__img {
  position: absolute;
  object-fit: cover;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .content-link__img {
    display: none;
  }
}

/* Animation */
@media (min-width: 1025px) {
  .content-link__title,
  .content-link__txt,
  .content-link__btn {
    opacity: 0;
    transform: translateY(20vh);
  }
  .is-animated .content-link__title, .is-animated
  .content-link__txt, .is-animated
  .content-link__btn {
    animation-name: from-bottom;
    animation-duration: 2s;
    animation-fill-mode: forwards;
  }
  .content-link__img {
    transform: scale(1.2);
  }
  .is-animated .content-link__img {
    animation-name: bg-zoom;
    animation-duration: 1s;
    animation-fill-mode: forwards;
  }
  .content-link__title {
    animation-delay: .1s;
  }
  .content-link__txt {
    animation-delay: .3s;
  }
  .content-link__btn {
    animation-delay: .5s;
  }
}

@keyframes bg-zoom {
  from {
    transform: scale(1.2);
  }
  to {
    transform: scale(1);
  }
}

.product-gallery {
  text-align: center;
  background-color: #002355;
  color: #fff;
  padding: 5vh 0;
  position: relative;
  top: -1px;
}

@media (min-width: 1024px) {
  .product-gallery {
    padding: 15vh 0;
  }
}

.product-gallery__title {
  margin-bottom: 60px;
}

.product-gallery__title span {
  font-weight: 700;
}

.product-gallery__slider {
  height: 300px;
}

@media (min-width: 768px) {
  .product-gallery__slider {
    height: 350px;
  }
}

@media (min-width: 1024px) {
  .product-gallery__slider {
    height: 500px;
  }
}

@media (min-width: 1440px) {
  .product-gallery__slider {
    height: 670px;
  }
}

.product-gallery__slider img {
  max-height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.product-gallery__slider .swiper-slide__category {
  opacity: 0 !important;
}

.product-gallery__slider .swiper-slide__category.swiper-slide-active {
  opacity: 1 !important;
}

.product-gallery__slide {
  align-items: center;
  display: flex;
  justify-content: center;
}

.product-gallery__tab .is-open .product-gallery__slider {
  animation: tab-appear__bottom .3s linear 1 forwards;
}

.product-gallery__thumbs {
  text-align: center;
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  text-transform: uppercase;
  font-size: 1.8rem;
}

.img-gallery .product-gallery__thumbs {
  margin: 25px auto 0;
}

@media (min-width: 1024px) {
  .product-gallery__thumbs {
    letter-spacing: 0.1em;
  }
}

.product-gallery__thumbs-item {
  cursor: pointer;
  position: relative;
  flex: 1;
}

.product-gallery__thumbs-item a, .product-gallery__thumbs-item .-title {
  padding: 10px 0;
  border-top: 5px solid #819195;
  display: block;
  color: #819195;
  transition: all .3s;
}

.product-gallery__thumbs-item a:before, .product-gallery__thumbs-item .-title:before {
  content: '';
  height: 5px;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-image: linear-gradient(to right, #7e7e7e 0, #fff 20%, #797979 100%);
  transition: all .3s;
  transform: scaleX(0);
}

.product-gallery__thumbs-item a:hover, .product-gallery__thumbs-item .-title:hover {
  color: #fff;
}

.product-gallery__thumbs-item .is-selected,
.product-gallery__thumbs-item.swiper-slide-thumb-active .-title {
  color: #fff;
}

.product-gallery__thumbs-item .is-selected:before,
.product-gallery__thumbs-item.swiper-slide-thumb-active .-title:before {
  transform: scaleX(1);
}

.product-gallery .inner-gallery__pagination {
  display: none;
}

.product-gallery__arrows {
  z-index: 11;
  width: 50px;
}

.product-gallery__arrows .inner-gallery__arrow {
  display: none;
}

.product-gallery__arrows .inner-gallery__arrow.swiper-button-disabled {
  display: none !important;
}

.product-gallery__arrows .outer-gallery__arrow {
  z-index: 0;
}

.product-gallery__arrows .swiper-button-next {
  position: absolute !important;
  bottom: 60px;
  top: auto;
}

.product-gallery__arrows .swiper-button-prev {
  position: absolute !important;
  bottom: 0;
  top: auto;
}

.product-gallery .inner-frame {
  transition: opacity .3s, max-width .3s;
}

.gallery-options-copy {
  font-size: 2rem;
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: .3em;
  font-weight: 700;
  background: linear-gradient(to right, #7e7e7e 0, #fff 20%, #797979 100%);
  background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.img-gallery__controls .swiper-pagination-current {
  color: white;
}

.img-gallery__controls .swiper-pagination-total {
  color: rgba(255, 255, 255, 0.5);
}

.img-gallery__controls.slide0-active .gallery0-arrow {
  display: flex;
}

.img-gallery__controls.slide0-active .-pagination0 {
  display: block;
}

.img-gallery__controls.slide0-active .gallery211-arrow {
  display: flex;
}

.img-gallery__controls.slide0-active .-pagination211 {
  display: block;
}

.img-gallery__controls.slide0-active .gallery311-arrow {
  display: flex;
}

.img-gallery__controls.slide0-active .-pagination311 {
  display: block;
}

.img-gallery__controls.slide0-active .gallery411-arrow {
  display: flex;
}

.img-gallery__controls.slide0-active .-pagination411 {
  display: block;
}

.img-gallery__controls.slide1-active .gallery1-arrow {
  display: flex;
}

.img-gallery__controls.slide1-active .-pagination1 {
  display: block;
}

.img-gallery__controls.slide1-active .gallery212-arrow {
  display: flex;
}

.img-gallery__controls.slide1-active .-pagination212 {
  display: block;
}

.img-gallery__controls.slide1-active .gallery312-arrow {
  display: flex;
}

.img-gallery__controls.slide1-active .-pagination312 {
  display: block;
}

.img-gallery__controls.slide1-active .gallery412-arrow {
  display: flex;
}

.img-gallery__controls.slide1-active .-pagination412 {
  display: block;
}

.img-gallery__controls.slide2-active .gallery2-arrow {
  display: flex;
}

.img-gallery__controls.slide2-active .-pagination2 {
  display: block;
}

.img-gallery__controls.slide2-active .gallery213-arrow {
  display: flex;
}

.img-gallery__controls.slide2-active .-pagination213 {
  display: block;
}

.img-gallery__controls.slide2-active .gallery313-arrow {
  display: flex;
}

.img-gallery__controls.slide2-active .-pagination313 {
  display: block;
}

.img-gallery__controls.slide2-active .gallery413-arrow {
  display: flex;
}

.img-gallery__controls.slide2-active .-pagination413 {
  display: block;
}

.img-gallery__controls.slide3-active .gallery3-arrow {
  display: flex;
}

.img-gallery__controls.slide3-active .-pagination3 {
  display: block;
}

.img-gallery__controls.slide3-active .gallery214-arrow {
  display: flex;
}

.img-gallery__controls.slide3-active .-pagination214 {
  display: block;
}

.img-gallery__controls.slide3-active .gallery314-arrow {
  display: flex;
}

.img-gallery__controls.slide3-active .-pagination314 {
  display: block;
}

.img-gallery__controls.slide3-active .gallery414-arrow {
  display: flex;
}

.img-gallery__controls.slide3-active .-pagination414 {
  display: block;
}

/* Animation */
@media (min-width: 1025px) {
  .product-gallery__title,
  .product-gallery__title span,
  .accordion-tabs,
  .gallery-options-copy {
    opacity: 0;
    transform: translateY(20vh);
  }
  .is-animated .product-gallery__title, .is-animated
  .product-gallery__title span, .is-animated
  .accordion-tabs, .is-animated
  .gallery-options-copy {
    animation-name: from-bottom;
    animation-duration: 1s;
    animation-fill-mode: forwards;
  }
  .product-gallery__title .product-gallery__title,
  .product-gallery__title span .product-gallery__title,
  .accordion-tabs .product-gallery__title,
  .gallery-options-copy .product-gallery__title {
    animation-delay: .1s;
  }
  .product-gallery__title .product-gallery__title span,
  .product-gallery__title span .product-gallery__title span,
  .accordion-tabs .product-gallery__title span,
  .gallery-options-copy .product-gallery__title span {
    animation-delay: .3s;
  }
  .product-gallery__title .accordion-tabs,
  .product-gallery__title span .accordion-tabs,
  .accordion-tabs .accordion-tabs,
  .gallery-options-copy .accordion-tabs {
    animation-delay: .5s;
  }
}

.comparison-block {
  background-color: #002355;
  background-size: 100%;
  background-position: 50% -50%;
}

@media (max-width: 1024px) {
  .comparison-block {
    background-image: none !important;
  }
}

.comparison-block .section-title {
  text-align: center;
  margin-bottom: 1em;
}

.comparison-block__inner {
  width: 83%;
  max-width: 1200px;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .comparison-block__inner {
    width: 100%;
  }
}

.comparison-block__title {
  font-family: "Frutiger LT Std", sans-serif;
  font-weight: 400;
  font-size: 3rem;
  line-height: 1.1;
  text-align: center;
  letter-spacing: 0.1em;
  color: #fff;
  padding: 3rem;
  flex: 2 1 10%;
}

@media (max-width: 1024px) {
  .comparison-block__title {
    font-size: 18px;
    padding: 15px 0.5rem;
  }
}

.comparison-block__title-row {
  display: flex;
  justify-content: space-between;
}

.comparison-block__title--label {
  flex: 1;
  padding: 3rem;
}

@media (max-width: 1024px) {
  .comparison-block__title--label {
    flex: initial;
    padding: 0;
  }
}

.comparison-block__title--label:last-child {
  display: none;
}

.comparison-block__table {
  border-top: 5px solid #143462;
}

@media (min-width: 1025px) {
  .comparison-block__table {
    background: rgba(3, 26, 32, 0.6);
  }
}

.comparison-block__table--row {
  display: flex;
  justify-content: space-between;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.3;
  text-align: center;
  letter-spacing: 0.1em;
  color: #fff;
  border-bottom: 1px solid rgba(24, 73, 130, 0.3);
}

@media (max-width: 1024px) {
  .comparison-block__table--row {
    flex-wrap: wrap;
    font-size: 14px;
    position: relative;
  }
  .comparison-block__table--row:before {
    content: '';
    background-color: rgba(24, 73, 130, 0.3);
    position: absolute;
    z-index: 1;
    top: 26px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 1px;
    height: calc(73% - 26px);
  }
}

.comparison-block__table--item {
  flex: 2 1 10%;
  padding: 3rem;
}

@media (max-width: 1024px) {
  .comparison-block__table--item {
    width: 50%;
    flex: initial;
    order: 2;
    padding: 1rem;
    font-size: 15px;
  }
}

.comparison-block__table--item span {
  color: #184982;
}

.comparison-block__table--label {
  flex: 1;
  padding: 3rem;
  background-color: #143462;
}

@media (max-width: 1024px) {
  .comparison-block__table--label {
    width: 100%;
    flex: initial;
    order: 1;
    padding: 0.6rem 1rem;
    background-color: #041D24;
  }
}

.product-tabs__wrap {
  padding: 5vh 0;
}

@media (min-width: 1025px) {
  .product-tabs__wrap {
    padding: 15vh 0;
  }
}

.product-tabs__tabs {
  margin-bottom: 50px;
}

.product-tabs__tabs li a:hover, .product-tabs__tabs li a:focus, .product-tabs__tabs li a:focus-within {
  outline: none;
}

.product-tabs__title-mob {
  text-transform: uppercase;
  font-size: 16px;
  letter-spacing: 1px;
  font-weight: 700;
  padding-left: 0 !important;
  padding-bottom: 5px;
  border-bottom: 1px solid #B18749;
  margin-bottom: 15px;
  position: relative;
}

.is-open .product-tabs__title-mob {
  color: #B18749;
}

.product-tabs__title-mob:after {
  content: '';
  position: absolute;
  right: 0;
  height: 15px;
  width: 15px;
  background-size: 12px;
  transform: translate(0, -50%) rotate(90deg);
  top: 50%;
}

.is-open .product-tabs__title-mob:after {
  transform: translate(0, -50%) rotate(-90deg);
}

.product-pins__wrap {
  display: flex;
  align-items: center;
}

@media (max-width: 767px) {
  .product-pins__wrap {
    flex-direction: column-reverse;
    padding-top: 20px;
  }
  .product-pins__wrap .swiper-container {
    display: flex;
    flex-direction: column-reverse;
  }
  .product-pins__wrap .swiper-container .custom-slider__controls {
    margin-bottom: 10px;
  }
}

.product-pins__labels {
  display: flex;
  gap: 20px;
  margin-bottom: 15px;
}

.product-pins__labels p {
  flex: 0 1 150px;
  margin: 0;
  text-align: center;
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 1.2;
  font-weight: 600;
}

@media (max-width: 767px) {
  .product-pins__labels p {
    flex: 0 1 140px;
    letter-spacing: 0;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .product-pins__slider {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .product-pins__slider {
    max-width: 300px;
  }
  .product-pins__slider .swiper-slide {
    max-width: 300px;
  }
}

@media (min-width: 769px) {
  .product-pins__slider {
    width: 345px;
  }
}

@media (min-width: 1024px) and (max-width: 1440px) {
  .product-pins__slider {
    width: 500px;
  }
}

.product-pins__slider .swiper-wrapper {
  align-items: flex-end;
}

.product-pins__slider-controls {
  border-top: 1px solid #CCD3D4;
  padding-top: 10px;
}

.product-pins__slider .swiper-pagination-current {
  color: #002355;
}

.product-pins__inner {
  width: 100%;
}

.product-pins__images {
  display: flex;
  gap: 20px;
}

.product-pins__images .product-pins__img {
  height: 150px;
  width: 150px;
}

@media (max-width: 767px) {
  .product-pins__images .product-pins__img {
    height: 140px;
    width: 140px;
  }
}

.product-pins__img {
  margin-bottom: 15px;
  overflow: hidden;
  height: 220px;
  width: 220px;
  border-radius: 50%;
  border: 2px solid #002355;
}

@media (min-width: 1024px) and (max-width: 1440px) {
  .product-pins__img {
    height: 150px;
    width: 150px;
  }
}

.product-pins__img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.product-pins__title {
  text-transform: uppercase;
  color: #002355;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 15px;
  letter-spacing: .1em;
}

.product-pins__txt {
  margin-bottom: 25px;
}

@media (min-width: 1024px) and (max-width: 1440px) {
  .product-pins__txt {
    font-size: 14px;
  }
}

.product-pins__pins {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

@media (max-width: 767px) {
  .product-pins__pins {
    margin-bottom: 20px;
  }
}

@media (min-width: 768px) {
  .product-pins__pins {
    padding-left: 30px;
  }
}

.product-pins__pins .swiper-wrapper {
  transform: none !important;
}

.product-pins__pins .swiper-container {
  position: absolute;
  height: 100%;
  width: 100%;
}

.swiper-wrapper .product-pins__dot {
  position: absolute;
  height: 12px !important;
  width: 12px !important;
  transition: none;
  margin: 0 !important;
  border-radius: 50%;
  background: #000;
  color: #fff;
  overflow: hidden;
  background: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
  font-size: 0;
}

@media (min-width: 768px) {
  .swiper-wrapper .product-pins__dot {
    height: 28px !important;
    width: 28px !important;
  }
}

.swiper-wrapper .product-pins__dot:focus, .swiper-wrapper .product-pins__dot:active {
  outline: none;
}

.swiper-wrapper .product-pins__dot:before {
  content: '';
  height: 200%;
  width: 100%;
  left: -100%;
  top: -100%;
  position: absolute;
}

.swiper-wrapper .product-pins__dot > span {
  position: absolute;
  left: 2px;
  top: 2px;
  right: 2px;
  bottom: 2px;
  background-color: #fff;
  border-radius: 50%;
  transition: all .1s;
  pointer-events: none;
}

@media (min-width: 768px) {
  .swiper-wrapper .product-pins__dot > span:after, .swiper-wrapper .product-pins__dot > span:before {
    content: '';
    background: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
    position: absolute;
    left: 50%;
    top: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
    z-index: 2;
    transition: all .3s;
  }
}

.swiper-wrapper .product-pins__dot > span:before {
  width: 2px;
  height: 13px;
}

.swiper-wrapper .product-pins__dot > span:after {
  height: 2px;
  width: 13px;
}

.swiper-wrapper .product-pins__dot:hover, .swiper-wrapper .product-pins__dot.swiper-slide-thumb-active, .swiper-wrapper .product-pins__dot.swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-wrapper .product-pins__dot:hover > span, .swiper-wrapper .product-pins__dot.swiper-slide-thumb-active > span, .swiper-wrapper .product-pins__dot.swiper-pagination-bullet-active > span {
  background: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
}

.swiper-wrapper .product-pins__dot:hover > span:after, .swiper-wrapper .product-pins__dot:hover > span:before, .swiper-wrapper .product-pins__dot.swiper-slide-thumb-active > span:after, .swiper-wrapper .product-pins__dot.swiper-slide-thumb-active > span:before, .swiper-wrapper .product-pins__dot.swiper-pagination-bullet-active > span:after, .swiper-wrapper .product-pins__dot.swiper-pagination-bullet-active > span:before {
  background: #fff;
}

.swiper-wrapper .product-pins__dot.swiper-slide-thumb-active:before, .swiper-wrapper .product-pins__dot.swiper-pagination-bullet-active:before {
  opacity: 0;
}

#section2.tabs-panel .hero-features__title {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 3.5rem;
}

#section2.tabs-panel .inner-frame + .inner-frame {
  margin-top: 60px;
}

.stab-content__wrap {
  letter-spacing: 0.05em;
  opacity: 0;
  transform: translateX(-40px);
  transition: all .3s;
}

@media (min-width: 1024px) {
  .stab-content__wrap {
    display: flex;
    justify-content: center;
  }
}

@media (min-width: 1024px) and (max-width: 1439px) {
  .stab-content__wrap {
    padding: 0 70px;
  }
}

@media (min-width: 1441px) {
  .stab-content__wrap {
    letter-spacing: 0.1em;
  }
}

.is-open .stab-content__wrap {
  animation: from-top 1s forwards;
}

.stab-content__wrap.dimensions-list {
  flex-wrap: wrap;
}

@media (min-width: 1440px) {
  .stab-content__wrap.dimensions-list .stab-content__col {
    flex: 1 1 calc(25% - 70px);
    max-width: calc(50% - 70px);
  }
}

@media (min-width: 1024px) and (max-width: 1439px) {
  .stab-content__wrap.dimensions-list .stab-content__col {
    flex: 0 1 calc(50% - 40px);
  }
}

.stab-content__wrap.specifications-list .stab-content__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}

@media (min-width: 1024px) {
  .stab-content__wrap.specifications-list .stab-content__logo {
    align-items: center;
    height: 72px;
  }
}

@media (max-width: 1023px) {
  .stab-content__wrap.specifications-list .stab-content__logo {
    margin-top: 50px;
  }
}

.stab-content__wrap.specifications-list .stab-content__logo > img {
  max-width: 240px;
  max-height: 72px;
}

@media (min-width: 1024px) {
  .stab-content__wrap.one-column {
    margin-top: 40px;
  }
  .stab-content__wrap.one-column .stab-content__col {
    max-width: 50%;
    padding: 0 20px;
  }
}

@media (min-width: 1440px) {
  .stab-content__wrap.one-column .stab-content__col {
    padding: 0 35px;
  }
}

.stab-content__img {
  text-align: center;
  margin-bottom: 60px;
}

@media (min-width: 1024px) and (max-width: 1439px) {
  .stab-content__img {
    padding: 0 70px;
  }
}

@media (min-width: 1024px) {
  .stab-content__col {
    flex: 1;
    margin: 0 20px;
  }
}

@media (min-width: 1440px) {
  .stab-content__col {
    margin: 0 35px;
  }
}

.stab-content__caption {
  font-size: 2rem;
  text-transform: uppercase;
  font-weight: 700;
  padding-bottom: 15px;
  border-bottom: 1px solid #002355;
  margin-bottom: 15px;
}

.stab-content__table {
  width: 100%;
  font-size: 14px;
  margin-bottom: 15px;
}

.stab-content__table td {
  padding: 5px 0;
  vertical-align: top;
}

.stab-content__table td:first-child {
  font-weight: 700;
}

.stab-content__table td:last-child {
  text-align: right;
  white-space: nowrap;
}

.stab-content__table td small {
  line-height: 1.2;
  display: block;
  padding-top: 10px;
}

/* Animation */
@media (min-width: 1025px) {
  .tabs-round__item,
  .product-pins__slider,
  .product-pins__pins,
  .product-filter,
  .hero-features__item {
    opacity: 0;
    transform: translateY(20vh);
  }
  .is-animated .tabs-round__item, .is-animated
  .product-pins__slider, .is-animated
  .product-pins__pins, .is-animated
  .product-filter, .is-animated
  .hero-features__item {
    animation-name: from-bottom;
    animation-duration: 1s;
    animation-fill-mode: forwards;
  }
  .tabs-round__item:nth-child(1) {
    animation-delay: .1s;
  }
  .tabs-round__item:nth-child(2) {
    animation-delay: .3s;
  }
  .tabs-round__item:nth-child(3) {
    animation-delay: .5s;
  }
  .tabs-round__item:nth-child(4) {
    animation-delay: .7s;
  }
  .tabs-round__item:nth-child(5) {
    animation-delay: .9s;
  }
  .product-pins__slider {
    animation-delay: .7s;
  }
  .product-pins__pins {
    animation-delay: .9s;
  }
}

.product-story {
  background-color: #081e35;
  margin-bottom: 10vh;
}

@media (min-width: 1280px) {
  .product-story {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}

.product-story__wrap {
  background-color: #081e35;
  background-size: cover;
  text-align: center;
  color: #fff;
  letter-spacing: 0.1em;
  align-items: center;
  justify-content: center;
  display: flex;
  padding: 30px 0;
  position: relative;
  overflow: hidden;
}

@media (min-width: 1440px) {
  .product-story__wrap {
    min-height: 460px;
  }
}

.product-story .inner-frame {
  max-width: 950px;
}

.product-story__inner {
  position: relative;
  z-index: 2;
}

.product-story__txt {
  font-size: 2.2rem;
  line-height: 1.6;
  margin-bottom: 0;
}

.product-story__txt.-hidden {
  display: none;
}

.product-story__name {
  font-size: 2rem;
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: .3em;
  font-weight: 700;
}

.product-story__position {
  color: #819195;
  font-size: 1.8rem;
}

.product-story__img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  object-fit: cover;
}

.product-story__translation-btn {
  margin-top: 5px;
  margin-bottom: 30px;
}

.product-story__translation-btn.-simple {
  font-size: 14px;
}

.advantages {
  position: relative;
  padding-bottom: 518px;
  padding-top: 200px;
}

@media (max-width: 768px) {
  .advantages {
    padding-bottom: 300px;
    padding-top: 100px;
    margin-top: -2px;
  }
}

.advantages::before {
  content: '';
  width: 100%;
  height: 400px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
  position: absolute;
  bottom: 100%;
  left: 0;
}

@media (max-width: 1023px) {
  .advantages::before {
    display: none;
  }
}

.advantages__subtitle {
  font-size: 2rem;
  letter-spacing: 0.1em;
  max-width: 808px;
  margin: 15px auto 0;
}

.advantages__bg {
  width: 100%;
  position: absolute;
  height: 400px;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.advantages__bg::after {
  content: '';
  width: 100%;
  height: 200px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
  position: absolute;
  bottom: -2px;
  left: 0;
}

.advantages__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top left;
}

.cert-bro {
  padding: 15px;
}

@media (min-width: 1025px) {
  .cert-bro {
    padding: 30px 40px;
  }
}

@media (min-width: 1024px) {
  .cert-bro__outer {
    padding-left: 100px;
    padding-right: 100px;
  }
}

.cert-bro__wrap {
  background-color: #fff;
  box-shadow: 0px 4px 41px rgba(0, 0, 0, 0.1);
  border-top: 4px solid;
  border-image-slice: 1;
  border-image-source: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
  margin-bottom: 10vh;
  letter-spacing: 0.1em;
  padding: 0;
}

.cert-bro__title {
  color: #002355;
  text-transform: uppercase;
  font-size: 2rem;
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  font-weight: 700;
  padding-bottom: 15px;
  border-bottom: 2px solid #002355;
  margin-bottom: 20px;
}

.cert-bro__box:not(:last-child) {
  margin-bottom: 30px;
}

.cert-bro__about {
  display: flex;
  align-items: flex-start;
}

@media (max-width: 767px) {
  .cert-bro__about {
    flex-direction: column;
  }
}

.cert-bro__list {
  display: flex;
}

.cert-bro__txt {
  font-size: 14px;
  line-height: 1.8;
}

@media (min-width: 769px) {
  .cert-bro__txt {
    display: flex;
  }
}

.cert-bro__txt:not(:last-child) {
  margin-bottom: 20px;
}

.cert-bro__txt-title {
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.4;
  padding-right: 15px;
}

@media (max-width: 767px) {
  .cert-bro__txt-title {
    border-bottom: 1px solid #CCD3D4;
    margin-bottom: 10px;
    padding-bottom: 10px;
    display: block;
  }
}

@media (min-width: 768px) {
  .cert-bro__txt-title {
    width: 150px;
    min-width: 150px;
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
  }
}

@media (min-width: 769px) {
  .cert-bro__txt-title {
    border-right: 1px solid #CCD3D4;
  }
}

@media (min-width: 769px) {
  .cert-bro__txt-desc {
    padding-left: 15px;
  }
}

.cert-bro__item {
  width: 140px;
  margin-right: 20px;
  padding: 8px;
  overflow: hidden;
  border: 1px solid #CCD3D4;
}

@media (max-width: 767px) {
  .cert-bro__item {
    margin: 0 5px 15px;
  }
}

.cert-bro__item a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.cert-bro__item img {
  margin-bottom: 10px;
  max-width: 100%;
}

.cert-bro__item span {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 0 20px 4px 0;
  display: block;
  position: relative;
  margin-top: auto;
  background-image: url("data:image/svg+xml,%3Csvg width='13' height='13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.042.78L11.58.677h-.005a.637.637 0 01.655.654l-.099 3.538a.637.637 0 01-.637.62h-.018a.637.637 0 01-.62-.655l.06-1.936-4.731 4.734a.64.64 0 01-.906-.905L10.014 2l-1.936.054A.637.637 0 118.042.78zm1.479 10.302a5.442 5.442 0 01-3.842 1.594 5.436 5.436 0 110-10.872.637.637 0 110 1.275 4.16 4.16 0 104.16 4.16.637.637 0 011.275 0 5.442 5.442 0 01-1.593 3.843z' fill='%23819195'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 100% 50%;
}

.cert-bro__links {
  background: rgba(204, 211, 212, 0.1);
  text-align: center;
  position: relative;
}

@media (min-width: 768px) {
  .cert-bro__links {
    display: flex;
  }
}

.cert-bro__links > div {
  flex: 1;
  padding: 10px;
}

@media (max-width: 767px) {
  .cert-bro__links > div:not(:first-child) {
    border-top: 1px solid rgba(204, 211, 212, 0.5);
  }
}

@media (min-width: 768px) {
  .cert-bro__links > div {
    padding: 15px 40px;
  }
  .cert-bro__links > div:not(:first-child) {
    border-left: 1px solid rgba(204, 211, 212, 0.5);
  }
}

.cert-bro__links .link-arrow {
  margin: 0;
}

.hero-bullets {
  position: fixed;
  top: 140px;
  right: 10px;
  z-index: 999;
  text-align: right;
}

@media (min-width: 1441px) {
  .hero-bullets {
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media (max-width: 1023px) {
  .hero-bullets {
    display: none;
  }
}

.hero-bullets__item {
  opacity: 0;
  position: absolute;
  pointer-events: none;
  display: block;
  cursor: pointer;
  font-weight: 700;
  font-size: 11px;
  line-height: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  transition: all .3s;
  margin-bottom: 15px;
  padding-right: 20px;
}

@media (min-width: 1441px) {
  .hero-bullets__item {
    margin-bottom: 23px;
    font-size: 12px;
  }
}

.hero-bullets__item.nav-active, .hero-bullets__item:hover {
  opacity: 1;
}

.hero-bullets__item.nav-active:before, .hero-bullets__item:hover:before {
  opacity: 1;
}

.hero-bullets__item:after, .hero-bullets__item:before {
  content: '';
  position: absolute;
  border-radius: 50%;
  transition: all .3s;
  top: 50%;
  transform: translateY(-50%);
}

.hero-bullets__item:after {
  right: 0;
  height: 6px;
  width: 6px;
  background-color: currentColor;
}

.hero-bullets__item:before {
  height: 10px;
  width: 10px;
  right: -2px;
  border: 1px solid currentColor;
  opacity: 0;
}

.hero-bullets__item:hover {
  color: #fff;
}

.is-light .hero-bullets__item:hover {
  color: #002355;
}

.is-sticky .hero-bullets {
  mix-blend-mode: difference;
}

.prod-cock {
  text-align: center;
  padding: 7vh 0;
  background-color: #002355;
  overflow: hidden;
}

.prod-cock__top {
  margin-bottom: 6vh;
  color: #fff;
}

.prod-cock__title.section-title {
  font-weight: 700;
}

@media (min-width: 1024px) {
  .prod-cock__title.section-title {
    font-size: 7rem;
  }
}

.prod-cock__subtitle {
  letter-spacing: .1em;
  font-family: "Frutiger LT Std", sans-serif;
  font-size: 4rem;
}

.prod-cock__description {
  letter-spacing: .1em;
  margin-top: 20px;
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  font-size: 2rem;
  line-height: 1.7;
}

.prod-cock__outer {
  background: #000;
}

.prod-cock__inner {
  position: relative;
  font-size: 0;
}

@media (min-width: 1024px) {
  .prod-cock__inner {
    height: 100vh;
    display: inline-block;
  }
}

.prod-cock__img {
  max-width: 100%;
  object-fit: cover;
}

@media (min-width: 1024px) {
  .prod-cock__img {
    height: 100%;
  }
}

.prod-cock__item {
  position: absolute;
  height: 46px;
  width: 46px;
  z-index: 2;
}

.prod-cock__item:hover {
  z-index: 1000;
}

.prod-cock__item:hover .prod-cock__tooltip {
  opacity: 1;
  visibility: visible;
}

.prod-cock__tooltip {
  position: absolute;
  background: #fff;
  padding: 30px 30px 50px;
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
  box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: all .3s;
}

@media (min-width: 1024px) {
  .prod-cock__tooltip {
    min-width: 240px;
    visibility: hidden;
    pointer-events: none;
  }
}

.prod-cock__tooltip.tooltip-top {
  transform: translateX(-50%) translateY(30px);
  left: 50%;
  bottom: 50px;
}

.prod-cock__tooltip.tooltip-bottom {
  transform: translateX(-50%) translateY(3px);
  left: 50%;
  top: 20px;
}

.prod-cock__tooltip.tooltip-right {
  transform: translateX(-22px) translateY(-50%);
  top: 50%;
  left: 100%;
}

.prod-cock__tooltip.tooltip-left {
  transform: translateX(22px) translateY(-50%);
  top: 50%;
  right: 100%;
}

.prod-cock__tooltip h2, .prod-cock__tooltip h3, .prod-cock__tooltip strong, .prod-cock__tooltip b {
  font-size: 2rem;
  font-weight: 700;
  display: block;
  margin-bottom: 15px;
}

.prod-cock__dot {
  height: 24px;
  width: 24px;
  margin: 0;
  border-radius: 50%;
  background: #000;
  color: #fff;
  overflow: hidden;
  cursor: pointer;
  background: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
  font-size: 0;
  transition: all .3s;
  position: relative;
  z-index: 3;
}

@media (min-width: 1024px) {
  .prod-cock__dot {
    height: 46px;
    width: 46px;
  }
}

.prod-cock__dot > span {
  position: absolute;
  left: 2px;
  top: 2px;
  right: 2px;
  bottom: 2px;
  background-color: #fff;
  border-radius: 50%;
  transition: all .3s;
}

.prod-cock__dot:after, .prod-cock__dot:before {
  content: '';
  background: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
  position: absolute;
  left: 50%;
  top: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 2;
  transition: all .3s;
}

.prod-cock__dot:before {
  width: 2px;
  height: 13px;
}

@media (min-width: 1024px) {
  .prod-cock__dot:before {
    height: 20px;
  }
}

.prod-cock__dot:after {
  height: 2px;
  width: 13px;
}

@media (min-width: 1024px) {
  .prod-cock__dot:after {
    width: 20px;
  }
}

.prod-cock__dot:hover {
  background: #fff;
}

.prod-cock__dot:hover:after, .prod-cock__dot:hover:before {
  background: #fff;
}

.prod-cock__dot:hover > span {
  background: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
}

.models-gallery {
  text-align: center;
  background-color: #002355;
  overflow: hidden;
  padding: 5px 0 8vh;
}

@media (max-width: 1024px) {
  .models-gallery {
    padding: 5px 0 0;
  }
  .models-gallery .product-tabs__tabs {
    margin-bottom: 30px;
  }
}

.models-gallery__img {
  transition: opacity .3s;
}

.models-gallery__img img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.experience {
  background: #002355;
  padding: 120px 0 449px;
  position: relative;
  overflow: hidden;
  color: #fff;
}

@media (max-width: 767px) {
  .experience {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.experience .inner-frame {
  position: relative;
  z-index: 1;
}

.experience__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}

.experience__bg::after {
  content: '';
  width: 100%;
  height: 300px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(0, 35, 85, 0) 0%, rgba(0, 35, 85, 0.779606) 60.89%, #002355 89.06%);
}

.experience__bg-text {
  bottom: 150px;
}

.experience__title {
  margin-bottom: 80px;
}

.experience-tabs__list {
  display: flex;
  width: 100%;
  justify-content: space-between;
  border-bottom: 1px solid #819195;
  margin-bottom: 45px !important;
}

.experience-tabs__item {
  text-align: center;
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.experience-tabs__item a {
  font-size: 1.8rem;
  text-transform: uppercase;
  letter-spacing: 0.3rem;
  color: #CCD3D4;
  display: block;
  padding: 25px calc(87 / (1920 / 100) * 1vw);
  position: relative;
}

.experience-tabs__item a:hover {
  color: #fff;
}

.experience-tabs__item a::after {
  content: '';
  background: linear-gradient(to right, #7e7e7e 0, #fff 20%, #797979 100%);
  width: 0;
  height: 5px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: width 0.3s ease;
}

.experience-tabs__item a.is-selected {
  color: #fff;
}

.experience-tabs__item a.is-selected::after {
  width: 100%;
}

.experience-tabs__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.experience-tabs__desc {
  font-size: 2rem;
  letter-spacing: 0.1rem;
}

.experience-tabs__title-mob {
  padding-left: 0 !important;
}

.experience-tabs__txt {
  width: 40%;
  max-width: 465px;
  padding-right: 30px;
}

@media (max-width: 767px) {
  .experience-tabs__txt {
    width: 100%;
    padding-right: 0;
    max-width: 100%;
    margin-bottom: 50px;
  }
}

.experience-tabs__txt h3 {
  text-transform: capitalize;
  font-size: 3rem;
  margin-bottom: 33px;
}

.experience-tabs__img {
  width: 60%;
}

@media (max-width: 767px) {
  .experience-tabs__img {
    width: 100%;
  }
}

.experience-tabs__img img {
  width: 100%;
}

@media (max-width: 767px) {
  .experience-tabs__title-mob br {
    display: none;
  }
}

.cabin-colors {
  padding-top: 150px;
  color: #fff;
  background-color: #002355;
  overflow: hidden;
}

.cabin-colors.model-images {
  padding-top: 20px;
  padding-bottom: 50px;
}

.cabin-colors.model-images .image-holder {
  display: block;
}

.cabin-colors.model-images .model-image-holder {
  display: none;
}

@media (max-width: 767px) {
  .cabin-colors.model-images .cabin-colors__tab {
    height: 350px;
  }
}

@media screen and (max-width: 480px) {
  .cabin-colors.model-images .cabin-colors__tab {
    height: 300px;
  }
}

@media screen and (max-width: 420px) {
  .cabin-colors.model-images .cabin-colors__tab {
    height: 250px;
  }
}

@media (min-width: 768px) {
  .cabin-colors.model-images {
    padding-top: 0;
    padding-bottom: 50px;
  }
  .cabin-colors.model-images .cabin-colors__inner {
    height: 500px;
  }
  .cabin-colors.model-images .cabin-colors__tab {
    flex: 1;
  }
  .cabin-colors.model-images .image-holder {
    display: none;
  }
  .cabin-colors.model-images .model-image-holder {
    display: block;
    width: 100%;
    position: absolute;
    pointer-events: none;
    height: calc(100% - 40px);
    transition: filter 0.3s ease;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}

@media (min-width: 1440px) {
  .cabin-colors.model-images .cabin-colors__inner {
    height: 700px;
  }
}

@media (min-width: 1920px) {
  .cabin-colors.model-images .cabin-colors__inner {
    height: 900px;
  }
}

.cabin-colors__title {
  margin-bottom: 135px;
}

@media (max-width: 1023px) {
  .cabin-colors {
    padding-top: 50px;
  }
  .cabin-colors__title {
    margin-bottom: 70px;
  }
}

.cabin-colors__inner {
  height: 805px;
}

@media (max-width: 767px) {
  .cabin-colors__inner {
    height: auto;
  }
}

.cabin-colors__grid {
  display: flex;
  height: 100%;
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .cabin-colors__grid {
    flex-wrap: wrap;
    flex-direction: column;
  }
}

.cabin-colors__tab {
  cursor: pointer;
  width: calc(100% / 6);
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
}

@media (min-width: 768px) {
  .cabin-colors__tab {
    padding-top: 40px;
  }
}

@media (max-width: 767px) {
  .cabin-colors__tab {
    height: 400px;
    width: 100%;
  }
}

.cabin-colors__tab:hover .cabin-colors__tab-text {
  color: #fff;
}

.cabin-colors__tab:hover .cabin-colors__tab-text span::after {
  width: 100%;
}

.cabin-colors__tab-text {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  color: #CCD3D4;
}

.cabin-colors__tab-text span {
  display: block;
  position: absolute;
  font-size: 1.8rem;
  text-transform: uppercase;
  letter-spacing: 0.3rem;
  text-align: center;
  padding-bottom: 15px;
  width: 100%;
  bottom: 100%;
  left: 0;
}

.cabin-colors__tab-text span::after {
  content: '';
  background: linear-gradient(to right, #7e7e7e 0, #fff 20%, #797979 100%);
  position: absolute;
  width: 0;
  height: 5px;
  bottom: 0;
  left: 0;
  transition: width 0.3s ease;
}

@media (max-width: 767px) {
  .cabin-colors__tab-text span {
    background-color: #002355;
    bottom: unset;
    top: 0;
    padding-top: 15px;
    color: #fff;
  }
  .cabin-colors__tab-text span::after {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .cabin-colors__tab {
    position: relative;
  }
  .cabin-colors__tab-text {
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
  }
}

.cabin-colors__tab:not(:last-child) .cabin-colors__tab-text {
  border-right: 3px solid #002355;
}

@media (min-width: 768px) {
  .cabin-colors__tab--2 .image-holder {
    margin-left: -100%;
  }
}

@media (min-width: 768px) {
  .cabin-colors__tab--3 .image-holder {
    margin-left: -200%;
  }
}

@media (min-width: 768px) {
  .cabin-colors__tab--4 .image-holder {
    margin-left: -300%;
  }
}

@media (min-width: 768px) {
  .cabin-colors__tab--5 .image-holder {
    margin-left: -400%;
  }
}

@media (min-width: 768px) {
  .cabin-colors__tab--6 .image-holder {
    margin-left: -500%;
  }
}

.cabin-colors__tab:hover {
  overflow: visible;
  z-index: 0;
}

.cabin-colors .image-holder {
  position: absolute;
  pointer-events: none;
  width: 100vw;
  height: calc(100% - 40px);
  top: 40px;
  left: 0;
  z-index: -1;
  opacity: 1;
  transition: opacity 0.3s ease;
}

@media (max-width: 767px) {
  .cabin-colors .image-holder {
    opacity: 1;
  }
}

.cabin-colors .image-holder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.comparison-tables {
  margin-bottom: 10vh;
}

@media screen and (max-width: 1025px) {
  .comparison-tables {
    padding: 0 30px;
  }
}

@media screen and (max-width: 767px) {
  .comparison-tables {
    padding: 0 15px;
  }
}

.comparison-tables__container {
  max-width: 1320px;
  margin: 0 auto;
}

@media screen and (max-width: 1439px) {
  .comparison-tables__container {
    max-width: 100%;
    padding-left: 100px;
    padding-right: 100px;
  }
}

@media screen and (max-width: 1025px) {
  .comparison-tables__container {
    padding-left: 0;
    padding-right: 0;
  }
}

.comparison-tables__row {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}

@media screen and (max-width: 1439px) {
  .comparison-tables__row {
    gap: 40px;
  }
}

@media screen and (max-width: 1025px) {
  .comparison-tables__row {
    gap: 30px;
  }
}

@media screen and (max-width: 991px) {
  .comparison-tables__row {
    flex-direction: column;
  }
}

.comparison-table {
  flex: 0 0 calc(50% - 30px);
  border: 4px solid #1a365f;
  border-top-width: 12px;
  padding: 30px;
}

@media screen and (max-width: 1439px) {
  .comparison-table {
    flex: 0 0 calc(50% - 20px);
  }
}

@media screen and (max-width: 1025px) {
  .comparison-table {
    flex: 0 0 calc(50% - 15px);
  }
}

@media screen and (max-width: 991px) {
  .comparison-table {
    flex: 1 1 100%;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .comparison-table {
    padding: 15px 15px 20px;
  }
}

.comparison-table__row {
  display: flex;
  align-items: flex-start;
}

.comparison-table__row + .comparison-table__row {
  margin-top: 30px;
}

.comparison-table__label {
  flex: 0 0 50%;
}

.comparison-table__label p {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.6;
  color: #1a365f;
}

.comparison-table__label p span {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #5c6068;
}

.comparison-table__data {
  flex: 0 0 50%;
  text-align: center;
}

.comparison-table__data p {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  color: #5c6068;
}

.comparison-table__icons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}

.comparison-table__icons--user {
  margin-top: 8px;
}

.comparison-table__icon {
  display: block;
  max-width: 24px;
  max-height: 40px;
  width: auto;
  height: auto;
}

.comparison-table__image {
  display: block;
  margin: 0 auto 20px;
  max-width: 300px;
  width: 100%;
  height: auto;
}

.hero-video--controls {
  position: absolute;
  padding: 10px;
  margin: 0 auto;
  text-align: center;
  z-index: 1000;
  bottom: 30px;
  right: 20px;
}

@media (max-width: 768px) {
  .hero-video--controls {
    bottom: 10px;
    right: 10px;
    padding: 5px;
  }
}

@media (min-width: 1024px) {
  .hero-video--controls {
    bottom: 50px;
    right: 20px;
    padding: 20px;
  }
}

@media (min-width: 1440px) {
  .hero-video--controls {
    bottom: 100px;
    right: 50px;
    padding: 20px;
  }
}

.hero-video--controls .btn {
  padding: 0;
  background-color: transparent;
  position: relative;
  font-size: 0;
}

@media (max-width: 767px) {
  .hero-video--controls .btn {
    height: 32px;
    width: 32px;
  }
}

.hero-video--controls .btn:focus {
  outline: none;
}

.btn-play,
.btn-replay {
  border: 1px solid #fff;
  border-radius: 50%;
  height: 80px;
  width: 80px;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .btn-play,
  .btn-replay {
    height: 50px;
    width: 50px;
  }
}

.icon-play {
  height: 100%;
  fill: #fff;
}

.icon-play path {
  transition: opacity .3s;
  opacity: 0;
}

.icon-replay {
  height: 100%;
  fill: #fff;
}

.icon-replay .path-play {
  opacity: 1;
}

.path-play {
  margin-left: 2px;
}

.is-pause .path-play {
  opacity: 1;
}

.is-playing .path-pause {
  opacity: 1;
}

.btn-mute {
  height: 50px;
  width: 50px;
  margin-left: 50px;
  border: none;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 37.6 41.9' xml:space='preserve'%3E%3Cstyle%3E.st0%7Bfill:none;stroke:%23fff;stroke-miterlimit:10%7D%3C/style%3E%3Cpath class='st0' d='M21.4 31.8V41L7.5 31.6H.4v-21h6.8L21.4 1v30.8M27.6 10.8c2.5 2.6 4.1 6.2 4.1 10.1 0 4-1.6 7.6-4.2 10.3'/%3E%3Cpath class='st0' d='M31.3 7.1c3.7 3.5 5.9 8.4 5.9 13.9s-2.3 10.5-6 14'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
  .btn-mute {
    margin-left: 10px;
  }
}

.btn-mute.is-muted {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MC4xMyA0OS43NSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiNmZmY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjEuMjlweH08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik00OS4wMyA0OUwxLjAxLjk5TTEyLjcyIDEyLjQ5VjM3LjVoOC41M2wxNi40NyAxMS4xMVYzNy42OU0yMS40NSAxMi4xTDM3LjcyLjk5djI4LjM3Ii8+PC9zdmc+);
}

.btn-control {
  height: 50px;
  width: 50px;
  margin-left: 20px;
  border: none;
  opacity: .5;
}

@media (max-width: 768px) {
  .btn-control {
    margin-left: 10px;
  }
}

.btn-control svg {
  fill: #fff;
}

.btn-control.is-muted {
  opacity: 1;
}

.video-hidden {
  display: none;
  opacity: 0;
}

.video-hidden.is-enabled {
  display: block;
  animation: fade-appear 1.5s linear forwards;
}

.banner-top.is-disabled {
  display: none;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5jc3MiLCJzb3VyY2VzIjpbInByb2R1Y3Quc2NzcyIsImNvcmUvX2NvcmUuc2NzcyIsImNvcmUvbWl4aW5zL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJjb3JlL21peGlucy9fZmxleGJveC10b29sa2l0LnNjc3MiLCJjb3JlL21peGlucy9fbWluaS1taXhpbnMuc2NzcyIsImNvcmUvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsImNvcmUvdmFyaWFibGVzL19mb250LnNjc3MiLCJjb3JlL3ZhcmlhYmxlcy9fYnJlYWtwb2ludHMuc2NzcyIsImNvcmUvdmFyaWFibGVzL19wYWdlLXNpemVzLnNjc3MiLCJlbGVtZW50cy9faWNvbnMuc2NzcyIsInBhZ2VzL3Byb2R1Y3QvX2NvbnRlbnQtbGluay5zY3NzIiwicGFnZXMvcHJvZHVjdC9fZ2FsbGVyeS5zY3NzIiwicGFnZXMvcHJvZHVjdC9fY29tcGFyaXNvbi5zY3NzIiwicGFnZXMvcHJvZHVjdC9fb3ZlcnZpZXctdGFicy5zY3NzIiwicGFnZXMvcHJvZHVjdC9fc3Rvcmllcy5zY3NzIiwicGFnZXMvcHJvZHVjdC9fYWR2YW50YWdlcy5zY3NzIiwicGFnZXMvcHJvZHVjdC9fY2VydGlmaWNhdGVzLnNjc3MiLCJwYWdlcy9wcm9kdWN0L19idWxsZXRzLnNjc3MiLCJwYWdlcy9wcm9kdWN0L19jb2NrcGl0LnNjc3MiLCJwYWdlcy9wcm9kdWN0L19leHBlcmllbmNlLnNjc3MiLCJwYWdlcy9wcm9kdWN0L19jYWJpbi1jb2xvcnMuc2NzcyIsInBhZ2VzL3Byb2R1Y3QvX2NvbXBhcmlzb24tdGFibGVzLnNjc3MiLCJlbGVtZW50cy9fbWVkaWFjb250cm9scy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgc2V0dGluZ3NcbkBpbXBvcnQgJ2NvcmUvY29yZSc7XG5cbi8vIFNpdGUgQ29tcG9uZW50c1xuQGltcG9ydCAnZWxlbWVudHMvaWNvbnMnO1xuXG4vKiBIZWFkZXIgKi9cblxuLnNpdGUtaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wLWxcIikge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgLmxvZ28taW1nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICAvLyBjbGlwOiByZWN0KDAsIDUwcHgsIDQ0cHgsIDApO1xuICAgICAgICAgICAgICAgIGNsaXA6IHJlY3QoMCwgNjJweCwgNDRweCwgMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpIHRyYW5zbGF0ZVgoLTY0cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDdweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlY3Rpb25zXG4vL0BpbXBvcnQgXCJwYWdlcy9wcm9kdWN0L2hlcm9cIjtcbkBpbXBvcnQgXCJwYWdlcy9wcm9kdWN0L2NvbnRlbnQtbGlua1wiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2R1Y3QvZ2FsbGVyeVwiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2R1Y3QvY29tcGFyaXNvblwiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2R1Y3Qvb3ZlcnZpZXctdGFic1wiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2R1Y3Qvc3Rvcmllc1wiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2R1Y3QvYWR2YW50YWdlc1wiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2R1Y3QvY2VydGlmaWNhdGVzXCI7XG5AaW1wb3J0IFwicGFnZXMvcHJvZHVjdC9idWxsZXRzXCI7XG5AaW1wb3J0IFwicGFnZXMvcHJvZHVjdC9jb2NrcGl0XCI7XG5AaW1wb3J0IFwicGFnZXMvcHJvZHVjdC9leHBlcmllbmNlXCI7XG5AaW1wb3J0IFwicGFnZXMvcHJvZHVjdC9jYWJpbi1jb2xvcnNcIjtcbkBpbXBvcnQgXCJwYWdlcy9wcm9kdWN0L2NvbXBhcmlzb24tdGFibGVzXCI7XG5AaW1wb3J0IFwiZWxlbWVudHMvbWVkaWFjb250cm9sc1wiO1xuIiwiQGltcG9ydCAnbWl4aW5zL2luY2x1ZGUtbWVkaWEnLFxuXHRcdCdtaXhpbnMvZmxleGJveC10b29sa2l0Jyxcblx0XHQnbWl4aW5zL21pbmktbWl4aW5zJztcblxuQGltcG9ydCAndmFyaWFibGVzL2NvbG9ycycsXG5cdFx0J3ZhcmlhYmxlcy9mb250Jyxcblx0XHQndmFyaWFibGVzL2JyZWFrcG9pbnRzJyxcblx0XHQndmFyaWFibGVzL3BhZ2Utc2l6ZXMnOyIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZsZXgtY29sdW1uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuQG1peGluIGZsZXgtY2VudGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmbGV4LWNlbnRlci1jb2x1bW4ge1xuXHRAaW5jbHVkZSBmbGV4LWNlbnRlcjtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuQG1peGluIGZsZXgtY2VudGVyLXZlcnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5AbWl4aW4gZmxleC1jZW50ZXItaG9yaXoge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbiIsIi8vIGNsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbkBtaXhpbiBjb3Zlci1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4vLyByb3RhdGVcbkBtaXhpbiByb3RhdGUoJGRlZykge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIHNjYWxlXG5AbWl4aW4gc2NhbGUoJHgsJHkpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoJHgsICR5KSk7XG59XG5cbi8vIHRyYW5zbGF0ZVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKCR4LCAkeSkpO1xufVxuXG4vLyBza2V3XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2tldygjeyR4fWRlZywgI3skeX1kZWcpKTtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50XG4gICAgfVxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50XG4gICAgfVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudFxuICAgIH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50XG4gICAgfVxufVxuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbn1cblxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvKiBDb2xvciBWYXJpYWJsZXMgKi9cblxuJGMtYnJhbmQtZGFyazogIzAwMjM1NTtcbiRjLWJyYW5kLWRhcmsyOiAjMTQzNDYyO1xuJGMtYnJhbmQtbGlnaHQ6ICNCMTg3NDk7XG5cbiRjLWJvcmRlci1ncmF5OiAjQ0NEM0Q0O1xuXG4kd2hpdGU6ICNmZmY7XG4kYmx1ZTogIzAwMjM1NTtcbiRibHVlLWRhcms6ICMxNDM0NjI7XG4kYmx1ZS1saWdodDogIzE4NDk4MjtcblxuLy8gJGMtdGV4dC1wcmltYXJ5OiAkYy1icmFuZC1kYXJrO1xuJGMtdGV4dC1wcmltYXJ5OiAkYmx1ZTtcbiRjLXRleHQtbGlnaHQ6ICM1NTU1NTU7XG4kYy10ZXh0LWdyYXk6ICM4MTkxOTU7XG5cbiRiZy1ib2R5OiAjZmZmO1xuJGJnLWdvbGQ6IGxpbmVhci1ncmFkaWVudCgxMTBkZWcsICAjODg2NjM1IDAlLCM4OTY2MzUgMTAlLCNiNThmNTMgMjMlLCNjYmEyNjQgMzElLCM5NDcyNDAgNjUlLCNjZGEyNjAgOTAlLCNjZGEyNjAgMTAwJSk7XG4kYmctYmx1ZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMTQzMzVmIDAlLCAjMTUzOTZkIDYwJSwgIzE3NDA3NiA4MCUsICMxMzMzNjIgMTAwJSk7XG4kYmctc2lsdmVyOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM3ZTdlN2UgMCwgI2ZmZiAyMCUsICM3OTc5NzkgMTAwJSk7XG5cbi5jLWdvbGQge1xuXHRjb2xvcjogJHdoaXRlO1xuXHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHQvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNCMTg3NDkgMCUsICNDQkEyNjQgMjMlLCAjOTQ3MjQwIDY1JSwgI0NDQTI2MCAxMDAlKTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM3ZTdlN2UgMCwgI2ZmZiAyMCUsICM3OTc5NzkgMTAwJSk7XG5cdFx0YmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuXHRcdC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuXHRcdC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxufVxuXG4uYy1ibHVlIHtcblx0Y29sb3I6ICRibHVlO1xuXHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0XHQvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNCMTg3NDkgMCUsICNDQkEyNjQgMjMlLCAjOTQ3MjQwIDY1JSwgI0NDQTI2MCAxMDAlKTtcblx0XHRiYWNrZ3JvdW5kOiAkYmctYmx1ZTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG5cdFx0LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG5cdFx0LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG59XG4iLCIvKiBGb250IFZhcmlhYmxlcyAqL1xuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgc2VyaWY7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLyAkZi1wcmltYXJ5OiBcdCdsYXRvJywgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4vLyAkZi1zZWNvbmRhcnk6IFx0J3BsYXlmYWlyJywgJGZvbnQtZmFtaWx5LXNlcmlmO1xuXG4kZi1wcmltYXJ5OiBcIml0Yy1hdmFudC1nYXJkZS1nb3RoaWMtcHJvXCIsIHNhbnMtc2VyaWY7XG4kZi1zZWNvbmRhcnk6IFwiRnJ1dGlnZXIgTFQgU3RkXCIsIHNhbnMtc2VyaWY7XG5cbiRmdy1ub3JtYWw6XHQ0MDA7XG4kZnctbWVkaXVtOlx0NTAwO1xuJGZ3LXNlbWk6XHQ2MDA7XG4kZnctYm9sZDpcdDcwMDtcbiRmdy1ibGFjazpcdDkwMDtcblxuJGxoLWJhc2U6IDEuNTsiLCIvKiBNZWRpYSBRdWVyaWVzIEJyZWFrcG9pbnRzICovXG5cbiRicmVha3BvaW50czogKFxuICAgICdwaG9uZSc6IDMyMHB4LFxuICAgICd0YWJsZXQnOiA3NjhweCxcbiAgICAnZGVza3RvcCc6IDEwMjRweCxcbiAgICAnZGVza3RvcC1tJzogMTI4MHB4LFxuICAgICdkZXNrdG9wLWwnOiAxNDQwcHgsXG4gICAgJ2Rlc2t0b3AtMTkyMCc6IDE5MjBweFxuKTtcbiIsIi8qIE1lZGlhIFF1ZXJpZXMgQnJlYWtwb2ludHMgKi9cblxuJGJyZWFrcG9pbnRzOiAoXG4gICAgJ3Bob25lJzogMzIwcHgsXG4gICAgJ3Bob25lLWwnOiA1NzZweCxcbiAgICAndGFibGV0JzogNzY4cHgsXG4gICAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4gICAgJ2Rlc2t0b3AtbSc6IDEyODBweCxcbiAgICAnZGVza3RvcC1sJzogMTQ0MHB4LFxuXHQnZGVza3RvcC0xOTIwJzogMTkyMHB4XG4pO1xuXG4vKiBMYXlvdXQgc2l6ZXMgKi9cblxuJGNvbnRlbnQtd2lkdGgteGw6IFx0MTg4MHB4O1xuJGNvbnRlbnQtd2lkdGg6IFx0MTQ0MHB4O1xuJGNvbnRlbnQtd2lkdGgtbDogXHQxMjgwcHg7XG4kY29udGVudC13aWR0aC1tOiBcdDEwMjRweDtcbiRjb250ZW50LXdpZHRoLXM6IFx0NzY4cHg7XG4kY29udGVudC13aWR0aC14czogXHQ1NzZweDtcblxuJHNlY3Rpb24tdmVydGljYWwtZ2FwOiA4dm1pbjtcblxuJG5hdmJhci13aWR0aF9fbDogNjBweDtcbiRuYXZiYXItd2lkdGg6IDQ1cHg7XG5cbiRwYWdlLXRvcC1zcGFjZV9fbDogMTIwcHgiLCIuYXJyb3ctcmlnaHQtYmx1ZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE5JyBoZWlnaHQ9JzI2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTE4LjE3MiAxMi45MjdMLjQzOCAyNS4zIDcuNTEgMTIuOTI3LjQ0LjY3bDE3LjczMyAxMi4yNTd6JyBmaWxsPSclMjMwMDIzNTUnLyUzRSUzQy9zdmclM0VcIik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uYXJyb3ctcmlnaHQtb3JhbmdlIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTknIGhlaWdodD0nMjYnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgY2xpcC1ydWxlPSdldmVub2RkJyBkPSdNMTguMTcyIDEyLjkyN0wuNDM4IDI1LjMgNy41MSAxMi45MjcuNDQuNjdsMTcuNzMzIDEyLjI1N3onIGZpbGw9JyUyM0IxODc0OScvJTNFJTNDL3N2ZyUzRVwiKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5hcnJvdy1yaWdodC13aGl0ZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE5JyBoZWlnaHQ9JzI2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTE4LjE3MiAxMi45MjdMLjQzOCAyNS4zIDcuNTEgMTIuOTI3LjQ0LjY3bDE3LjczMyAxMi4yNTd6JyBmaWxsPSclMjNmZmZmZmYnLyUzRSUzQy9zdmclM0VcIik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uaWNvbi1lbXB0eSB7XG5cdGhlaWdodDogNTVweDtcblx0d2lkdGg6IDU1cHg7XG5cdG1pbi13aWR0aDogNTVweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxOScgaGVpZ2h0PScxOCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTEuMjMuNDc4bDE3LjE1NiAxNy4xNTVNMTguMzg2LjQ3OEwxLjIzMSAxNy42MzMnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utb3BhY2l0eT0nLjUnLyUzRSUzQy9zdmclM0VcIik7XG5cdGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59IiwiLmNvbnRlbnQtbGluayB7XG5cdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcHJvZHVjdC9iZy1jdGEuanBnKSA1MCUgMTAwJSByZXBlYXQteCAkYy1icmFuZC1kYXJrO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYy1icmFuZC1kYXJrO1xuXHR9XG5cdGNvbG9yOiAjZmZmO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiA1dmggMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcblx0XHRwYWRkaW5nOiAxNXZoIDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wLWxcIikge1xuXHRcdG1pbi1oZWlnaHQ6IDc5M3B4O1xuXHR9XG5cblx0Jl9faW5uZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAyO1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdFx0bWF4LXdpZHRoOiA0NSU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XG5cblx0XHRzcGFuIHtcblx0XHRcdEBleHRlbmQgLmMtZ29sZDtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZnctYm9sZDtcblx0XHR9XG5cdH1cblxuXHQmX190eHQge1xuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XG5cblx0XHR1bCB7XG5cdFx0XHRtYXJnaW46IDIwcHggMCAwO1xuXHRcdH1cblx0XHRsaSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0aGVpZ2h0OiA3cHg7XG5cdFx0XHRcdHdpZHRoOiA3cHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0b3A6IDEycHg7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19pbWcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuXG5AaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcblx0LmNvbnRlbnQtbGlua19fdGl0bGUsXG5cdC5jb250ZW50LWxpbmtfX3R4dCxcblx0LmNvbnRlbnQtbGlua19fYnRuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHZoKTtcblxuXHRcdC5pcy1hbmltYXRlZCAmIHtcblx0XHRcdGFuaW1hdGlvbi1uYW1lOiBmcm9tLWJvdHRvbTtcblx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG5cdFx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblx0XHR9XG5cdH1cblx0LmNvbnRlbnQtbGlua19faW1nIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cblx0XHQuaXMtYW5pbWF0ZWQgJiB7XG5cdFx0XHRhbmltYXRpb24tbmFtZTogYmctem9vbTtcblx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG5cdFx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblx0XHR9XG5cdH1cblx0LmNvbnRlbnQtbGlua19fdGl0bGUge1xuXHRcdGFuaW1hdGlvbi1kZWxheTogLjFzO1xuXHR9XG5cdC5jb250ZW50LWxpbmtfX3R4dCB7XG5cdFx0YW5pbWF0aW9uLWRlbGF5OiAuM3M7XG5cdH1cblx0LmNvbnRlbnQtbGlua19fYnRuIHtcblx0XHRhbmltYXRpb24tZGVsYXk6IC41cztcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJnLXpvb20ge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cdH1cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cbiIsIi5wcm9kdWN0LWdhbGxlcnkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA1dmggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgcGFkZGluZzogMTV2aCAwO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmMtZ29sZDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZnctYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlciB7XG4gICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wLWxcIikge1xuICAgICAgICAgICAgaGVpZ2h0OiA2NzBweDtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLXNsaWRlX19jYXRlZ29yeSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fdGFiIHtcbiAgICAgICAgLmlzLW9wZW4ge1xuICAgICAgICAgICAgLnByb2R1Y3QtZ2FsbGVyeV9fc2xpZGVyIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHRhYi1hcHBlYXJfX2JvdHRvbSAuM3MgbGluZWFyIDEgZm9yd2FyZHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aHVtYnMge1xuICAgICAgICAuaW1nLWdhbGxlcnkgJiB7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgICB9XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuXG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICAgICBhLCAuLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRjLXRleHQtZ3JheTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGJnLXNpbHZlcjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgLy90cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pcy1zZWxlY3RlZCxcbiAgICAgICAgICAgICYuc3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZSAuLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlubmVyLWdhbGxlcnlfX3BhZ2luYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2Fycm93cyB7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aWR0aDogNTBweDtcblxuICAgICAgICAuaW5uZXItZ2FsbGVyeV9fYXJyb3cge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm91dGVyLWdhbGxlcnlfX2Fycm93IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5uZXItZnJhbWUge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcywgbWF4LXdpZHRoIC4zcztcbiAgICB9XG59XG5cbi5nYWxsZXJ5LW9wdGlvbnMtY29weSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4zZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJhY2tncm91bmQ6ICRiZy1zaWx2ZXI7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmltZy1nYWxsZXJ5IHtcbiAgICAmX19jb250cm9scyB7XG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi1jdXJyZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24tdG90YWwge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjUpO1xuICAgICAgICB9XG4gICAgICAgICYuc2xpZGUwLWFjdGl2ZSB7XG4gICAgICAgICAgICAuZ2FsbGVyeTAtYXJyb3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLXBhZ2luYXRpb24wIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nYWxsZXJ5MjExLWFycm93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi1wYWdpbmF0aW9uMjExIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nYWxsZXJ5MzExLWFycm93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi1wYWdpbmF0aW9uMzExIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nYWxsZXJ5NDExLWFycm93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi1wYWdpbmF0aW9uNDExIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWRlMS1hY3RpdmUge1xuICAgICAgICAgICAgLmdhbGxlcnkxLWFycm93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi1wYWdpbmF0aW9uMSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ2FsbGVyeTIxMi1hcnJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4tcGFnaW5hdGlvbjIxMiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ2FsbGVyeTMxMi1hcnJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4tcGFnaW5hdGlvbjMxMiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ2FsbGVyeTQxMi1hcnJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4tcGFnaW5hdGlvbjQxMiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGlkZTItYWN0aXZlIHtcbiAgICAgICAgICAgIC5nYWxsZXJ5Mi1hcnJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4tcGFnaW5hdGlvbjIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdhbGxlcnkyMTMtYXJyb3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLXBhZ2luYXRpb24yMTMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdhbGxlcnkzMTMtYXJyb3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLXBhZ2luYXRpb24zMTMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdhbGxlcnk0MTMtYXJyb3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLXBhZ2luYXRpb240MTMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpZGUzLWFjdGl2ZSB7XG4gICAgICAgICAgICAuZ2FsbGVyeTMtYXJyb3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLXBhZ2luYXRpb24zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nYWxsZXJ5MjE0LWFycm93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi1wYWdpbmF0aW9uMjE0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nYWxsZXJ5MzE0LWFycm93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi1wYWdpbmF0aW9uMzE0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nYWxsZXJ5NDE0LWFycm93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi1wYWdpbmF0aW9uNDE0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogQW5pbWF0aW9uICovXG5cbkBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuICAgIC5wcm9kdWN0LWdhbGxlcnlfX3RpdGxlLFxuICAgIC5wcm9kdWN0LWdhbGxlcnlfX3RpdGxlIHNwYW4sXG4gICAgLmFjY29yZGlvbi10YWJzLFxuICAgIC5nYWxsZXJ5LW9wdGlvbnMtY29weSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHZoKTtcblxuICAgICAgICAuaXMtYW5pbWF0ZWQgJiB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogZnJvbS1ib3R0b207XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1nYWxsZXJ5X190aXRsZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC4xcztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWdhbGxlcnlfX3RpdGxlIHNwYW4ge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuM3M7XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3JkaW9uLXRhYnMge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNXM7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY29tcGFyaXNvbi1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAtNTAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgd2lkdGg6IDgzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXNlY29uZGFyeTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgICAgZmxleDogMiAxIDEwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICAgICAgJi0tbGFiZWwge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgICAgZmxleDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RhYmxlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRibHVlLWRhcms7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgzLCAyNiwgMzIsIDAuNik7XG4gICAgICAgIH1cbiAgICAgICAgJi0tcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRibHVlLWxpZ2h0LCAwLjMpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICRsYWJlbC1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibHVlLWxpZ2h0LCAwLjMpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogJGxhYmVsLWhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyg3MyUgLSAjeyRsYWJlbC1oZWlnaHR9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0taXRlbSB7XG4gICAgICAgICAgICBmbGV4OiAyIDEgMTAlO1xuICAgICAgICAgICAgcGFkZGluZzogM3JlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgZmxleDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1sYWJlbCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogM3JlbTtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZGFyaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsZXg6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC42cmVtIDFyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA0MUQyNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcm9kdWN0LXRhYnMge1xuICAgICZfX3dyYXAge1xuICAgICAgICBwYWRkaW5nOiA1dmggMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXZoIDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX3RhYnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9ICBcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlLW1vYiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmdy1ib2xkO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJyYW5kLWxpZ2h0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmlzLW9wZW4gJiB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYnJhbmQtbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFycm93LXJpZ2h0LW9yYW5nZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcblxuICAgICAgICAgICAgLmlzLW9wZW4gJiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LXBpbnMge1xuICAgICZfX3dyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgICAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgICAgICAgICAgLmN1c3RvbS1zbGlkZXJfX2NvbnRyb2xzIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBwIHtcbiAgICAgICAgZmxleDogMCAxIDE1MHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgIGZsZXg6IDAgMSAxNDBweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlciB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzNDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE0NDBweCkgeyBcbiAgICAgICAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgICAgJi1jb250cm9scyB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtYm9yZGVyLWdyYXk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi1jdXJyZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1icmFuZC1kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmN1c3RvbS1zbGlkZXJfX2NvbnRyb2xzIC5hcnJvdy1idXR0b24ge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYXJyb3ctcmlnaHQtYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubmVyIHtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19pbWFnZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMjBweDtcbiAgICAgIC5wcm9kdWN0LXBpbnNfX2ltZyB7XG4gICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX19pbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IDIyMHB4O1xuICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgfVxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibHVlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJGMtYnJhbmQtZGFyaztcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogJGZ3LWJvbGQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgIH1cblxuICAgICZfX3R4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE0NDBweCkgeyBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BpbnMge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgfVxuICAgICAgICAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kb3Qge1xuICAgICAgICAuc3dpcGVyLXdyYXBwZXIgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIC8vY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJnLWJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICByaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMXM7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJnLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuc3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZSxcbiAgICAgICAgICAgICYuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiZy1ibHVlO1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUsXG4gICAgICAgICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuI3NlY3Rpb24yLnRhYnMtcGFuZWwge1xuICAuaGVyby1mZWF0dXJlc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xuICB9XG4gIC5pbm5lci1mcmFtZSArIC5pbm5lci1mcmFtZSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuXG4uc3RhYi1jb250ZW50IHtcblxuICAgICZfX3dyYXAge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiLCBcIjxkZXNrdG9wLWxcIikge1xuICAgICAgICAgICAgcGFkZGluZzogMCA3MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbFwiKSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICAgIH1cblxuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXG4gICAgICAgIC5pcy1vcGVuICYge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBmcm9tLXRvcCAxcyBmb3J3YXJkcztcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGltZW5zaW9ucy1saXN0IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3AtbFwiKSB7XG4gICAgICAgICAgICAuc3RhYi1jb250ZW50X19jb2wge1xuICAgICAgICAgICAgICBmbGV4OiAxIDEgY2FsYygyNSUgLSA3MHB4KTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDcwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiLCBcIjxkZXNrdG9wLWxcIikge1xuICAgICAgICAgICAgLnN0YWItY29udGVudF9fY29sIHtcbiAgICAgICAgICAgICAgZmxleDogMCAxIGNhbGMoNTAlIC0gNDBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zcGVjaWZpY2F0aW9ucy1saXN0IHtcbiAgICAgICAgICAuc3RhYi1jb250ZW50X19sb2dvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA3MnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYub25lLWNvbHVtbiB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgIC5zdGFiLWNvbnRlbnRfX2NvbCB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wLWxcIikge1xuICAgICAgICAgICAgLnN0YWItY29udGVudF9fY29sIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIiwgXCI8ZGVza3RvcC1sXCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbCB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wLWxcIikge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDM1cHg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX2NhcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZnctYm9sZDtcbiAgICAgICAgQGV4dGVuZCAuYy1ibHVlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgICZfX3RhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZnctYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogQW5pbWF0aW9uICovXG5cbkBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuICAgIC50YWJzLXJvdW5kX19pdGVtLFxuICAgIC5wcm9kdWN0LXBpbnNfX3NsaWRlcixcbiAgICAucHJvZHVjdC1waW5zX19waW5zLFxuICAgIC5wcm9kdWN0LWZpbHRlcixcbiAgICAuaGVyby1mZWF0dXJlc19faXRlbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHZoKTtcblxuICAgICAgICAuaXMtYW5pbWF0ZWQgJiB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogZnJvbS1ib3R0b207XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYnMtcm91bmRfX2l0ZW0ge1xuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC4xcztcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC4zcztcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC41cztcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuN3M7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoNSkge1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjlzO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LXBpbnNfX3NsaWRlciB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjdzO1xuICAgIH1cbiAgICAucHJvZHVjdC1waW5zX19waW5zIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuOXM7XG4gICAgfVxuXG59XG4iLCIucHJvZHVjdC1zdG9yeSB7XG4gICAgLy9iYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWFnZXMvcHJvZHVjdC9iZy10ZXNpbW9uaWFsLmpwZykgNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MWUzNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHZoO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3AtbVwiKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcbiAgICB9XG5cbiAgICAmX193cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MWUzNTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3AtbFwiKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0NjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbm5lci1mcmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogOTUwcHg7XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgJl9fdHh0IHtcbiAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJi4taGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYW1lIHtcbiAgICAgICAgQGV4dGVuZCAuYy1nb2xkO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4zZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZnctYm9sZDtcbiAgICB9XG5cbiAgICAmX19wb3NpdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gICAgJl9fdHJhbnNsYXRpb24ge1xuICAgICAgICAmLWJ0biB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgJi4tc2ltcGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi5hZHZhbnRhZ2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTE4cHg7XG4gIHBhZGRpbmctdG9wOiAyMDBweDtcblxuICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzAwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgI0ZGRkZGRiAxMDAlKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgbWF4LXdpZHRoOiA4MDhweDtcbiAgICBtYXJnaW46IDE1cHggYXV0byAwO1xuICB9XG5cbiAgJl9fYmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCAjRkZGRkZGIDEwMCUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgICB9XG4gIH1cbn0iLCIuY2VydC1icm8ge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggNDBweDtcbiAgICB9XG5cbiAgICAmX19vdXRlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDQxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQ7XG4gICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMTtcbiAgICAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogJGJnLWJsdWU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwdmg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkYy1icmFuZC1kYXJrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xuICAgICAgICBmb250LXdlaWdodDogJGZ3LWJvbGQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGMtYnJhbmQtZGFyaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAmX19ib3gge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Fib3V0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fdHh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJvcmRlci1ncmF5O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmdy1ib2xkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGMtYm9yZGVyLWdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWRlc2Mge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYm9yZGVyLWdyYXk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmdy1ib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDRweCAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAvL3doaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMycgaGVpZ2h0PScxMycgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J004LjA0Mi43OEwxMS41OC42NzdoLS4wMDVhLjYzNy42MzcgMCAwMS42NTUuNjU0bC0uMDk5IDMuNTM4YS42MzcuNjM3IDAgMDEtLjYzNy42MmgtLjAxOGEuNjM3LjYzNyAwIDAxLS42Mi0uNjU1bC4wNi0xLjkzNi00LjczMSA0LjczNGEuNjQuNjQgMCAwMS0uOTA2LS45MDVMMTAuMDE0IDJsLTEuOTM2LjA1NEEuNjM3LjYzNyAwIDExOC4wNDIuNzh6bTEuNDc5IDEwLjMwMmE1LjQ0MiA1LjQ0MiAwIDAxLTMuODQyIDEuNTk0IDUuNDM2IDUuNDM2IDAgMTEwLTEwLjg3Mi42MzcuNjM3IDAgMTEwIDEuMjc1IDQuMTYgNC4xNiAwIDEwNC4xNiA0LjE2LjYzNy42MzcgMCAwMTEuMjc1IDAgNS40NDIgNS40NDIgMCAwMS0xLjU5MyAzLjg0M3onIGZpbGw9JyUyMzgxOTE5NScvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMDQsIDIxMSwgMjEyLCAwLjEpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRjLWJvcmRlci1ncmF5LCAuNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA0MHB4O1xuICAgICAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoJGMtYm9yZGVyLWdyYXksIC41KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGluay1hcnJvdyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi5oZXJvLWJ1bGxldHMge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMTQwcHg7XG5cdHJpZ2h0OiAxMHB4O1xuXHR6LWluZGV4OiA5OTk7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbFwiKSB7XG5cdFx0cmlnaHQ6IDIwcHg7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0Jl9faXRlbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZnctYm9sZDtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC4zcztcblx0XHQvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdC8vb3BhY2l0eTogLjY7XG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcC1sXCIpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDIzcHg7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0fVxuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0Ji5uYXYtYWN0aXZlLFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblxuXHRcdFx0Ji4tbGlnaHQge1xuXHRcdFx0XHQvL2NvbG9yOiAkYy1icmFuZC1kYXJrO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6YWZ0ZXIsXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRoZWlnaHQ6IDZweDtcblx0XHRcdHdpZHRoOiA2cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0fVxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGhlaWdodDogMTBweDtcblx0XHRcdHdpZHRoOiAxMHB4O1xuXHRcdFx0cmlnaHQ6IC0ycHg7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0fVxuXHRcdC5pcy1saWdodCAmIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJGMtYnJhbmQtZGFyaztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5pcy1zdGlja3kge1xuXHQuaGVyby1idWxsZXRzIHtcblx0XHRtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTtcblx0fVxufVxuIiwiLnByb2QtY29jayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDd2aCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJl9fdG9wIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnZoO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICAvL21hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICYuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZ3LWJvbGQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA3cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zZWNvbmRhcnk7XG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICB9XG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXByaW1hcnk7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICB9XG4gICAgJl9fb3V0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIH1cbiAgICAmX19pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ltZyB7XG4gICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICAgICAgLnByb2QtY29ja19fdG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX3Rvb2x0aXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCA1MHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDNweCAzcHggcmdiYSgwLDAsMCwuMyk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG5cbiAgICAgICAgJi50b29sdGlwLXRvcCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgzMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuICAgICAgICAmLnRvb2x0aXAtYm90dG9tIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDNweCk7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi50b29sdGlwLXJpZ2h0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjJweCkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmLnRvb2x0aXAtbGVmdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjJweCkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBoMiwgaDMsIHN0cm9uZywgYiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZ3LWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZG90IHtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1ibHVlO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICByaWdodDogMnB4O1xuICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiZy1ibHVlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiZy1ibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kZWxzLWdhbGxlcnkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjLWJyYW5kLWRhcms7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDVweCAwIDh2aDtcbiAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgLnByb2R1Y3QtdGFic19fdGFicyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuICAmX19pbWcge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzO1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxufSIsIi5leHBlcmllbmNlIHtcbiAgYmFja2dyb3VuZDogJGJsdWU7XG4gIHBhZGRpbmc6IDEyMHB4IDAgNDQ5cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICNmZmY7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIC5pbm5lci1mcmFtZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAmX19iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCRibHVlLCAwKSAwJSwgcmdiYSgkYmx1ZSwgMC43Nzk2MDYpIDYwLjg5JSwgJGJsdWUgODkuMDYlKTtcbiAgICB9XG5cbiAgICAmLXRleHQge1xuICAgICAgYm90dG9tOiAxNTBweDtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxuXG4gICYtdGFicyB7XG4gICAgJl9fbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgxOTE5NTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHghaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3JlbTtcbiAgICAgICAgY29sb3I6ICNDQ0QzRDQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IGNhbGMoODcgLyAoMTkyMCAvIDEwMCkgKiAxdncpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJnLXNpbHZlcjtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1zZWxlY3RlZCB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmX19kZXNjIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFyZW07XG4gICAgfVxuXG4gICAgJl9fdGl0bGUtbW9iIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMCFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fdHh0IHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBtYXgtd2lkdGg6IDQ2NXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICB3aWR0aDogNjAlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtdGFicyB7XG4gICAgJl9fdGl0bGUtbW9iIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgIGJyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2FiaW4tY29sb3JzIHtcbiAgcGFkZGluZy10b3A6IDE1MHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIFxuICAmLm1vZGVsLWltYWdlcyB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgLmltYWdlLWhvbGRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLm1vZGVsLWltYWdlLWhvbGRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAvLyAuY2FiaW4tY29sb3JzX19ncmlkOmhvdmVyIC5jYWJpbi1jb2xvcnNfX3RhYjpmaXJzdC1jaGlsZDpub3QoOmhvdmVyKSB7XG4gICAgLy8gICAuY2FiaW4tY29sb3JzX190YWItdGV4dCBzcGFuOjphZnRlciB7XG4gICAgLy8gICAgIHdpZHRoOiAwO1xuICAgIC8vICAgfVxuICAgIC8vIH1cbiAgICAvLyAuY2FiaW4tY29sb3JzX190YWIge1xuICAgIC8vICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLy8gICAgIC5jYWJpbi1jb2xvcnNfX3RhYi10ZXh0IHNwYW46OmFmdGVyIHtcbiAgICAvLyAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIC8vIH1cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgLmNhYmluLWNvbG9yc19fdGFiIHtcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpe1xuICAgICAgLmNhYmluLWNvbG9yc19fdGFiIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDIwcHgpe1xuICAgICAgLmNhYmluLWNvbG9yc19fdGFiIHtcbiAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgLmNhYmluLWNvbG9yc19faW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgfVxuICAgICAgLmNhYmluLWNvbG9yc19fdGFiIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLm1vZGVsLWltYWdlLWhvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuM3MgZWFzZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcC1sXCIpIHtcbiAgICAgIC5jYWJpbi1jb2xvcnNfX2lubmVyIHtcbiAgICAgICAgaGVpZ2h0OiA3MDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3AtMTkyMFwiKSB7XG4gICAgICAuY2FiaW4tY29sb3JzX19pbm5lciB7XG4gICAgICAgIGhlaWdodDogOTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEzNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBoZWlnaHQ6IDgwNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuXG4gICZfX3RhYiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuY2FiaW4tY29sb3JzX190YWIge1xuICAgICAgICAmLXRleHQge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtdGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBjb2xvcjogI0NDRDNENDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmctc2lsdmVyO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAuY2FiaW4tY29sb3JzX190YWItdGV4dCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICRibHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLTIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLTMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLTQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLTUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLTYge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbWFnZS1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICB0b3A6IDQwcHg7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuICB9XG59XG4iLCIuY29tcGFyaXNvbi10YWJsZXMge1xuICBtYXJnaW4tYm90dG9tOiAxMHZoO1xuICBcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gIH1cblxuICAmX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTMyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDYwcHg7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAgIGdhcDogNDBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIGdhcDogMzBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cbn1cblxuLmNvbXBhcmlzb24tdGFibGUge1xuICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAzMHB4KTtcbiAgYm9yZGVyOiA0cHggc29saWQgIzFhMzY1ZjtcbiAgYm9yZGVyLXRvcC13aWR0aDogMTJweDtcbiAgcGFkZGluZzogMzBweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAyMHB4KTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtIDE1cHgpO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDIwcHg7XG4gIH1cblxuICAmX19yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAmICsgLmNvbXBhcmlzb24tdGFibGVfX3JvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjMWEzNjVmO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICM1YzYwNjg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZGF0YSB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM1YzYwNjg7XG4gICAgfVxuICB9XG5cbiAgJl9faWNvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcblxuICAgICYtLXVzZXIge1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMjRweDtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59IiwiLmhlcm8tdmlkZW8ge1xuICAgICYtLWNvbnRyb2xzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpICB7XG4gICAgICAgICAgICBib3R0b206IDUwcHg7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3AtbFwiKSAge1xuICAgICAgICAgICAgYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLmJ0bi1wbGF5LFxuLmJ0bi1yZXBsYXkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogODBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICB9XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmljb24tcGxheSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZpbGw6ICNmZmY7XG5cbiAgICBwYXRoIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuLmljb24tcmVwbGF5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmlsbDogI2ZmZjtcblxuICAgIC5wYXRoLXBsYXkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnBhdGgtcGxheSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcblxuICAgIC5pcy1wYXVzZSAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5wYXRoLXBhdXNlIHtcbiAgICAuaXMtcGxheWluZyAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5idG4tbXV0ZSB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4PScwJyB5PScwJyB2aWV3Qm94PScwIDAgMzcuNiA0MS45JyB4bWw6c3BhY2U9J3ByZXNlcnZlJyUzRSUzQ3N0eWxlJTNFLnN0MCU3QmZpbGw6bm9uZTtzdHJva2U6JTIzZmZmO3N0cm9rZS1taXRlcmxpbWl0OjEwJTdEJTNDL3N0eWxlJTNFJTNDcGF0aCBjbGFzcz0nc3QwJyBkPSdNMjEuNCAzMS44VjQxTDcuNSAzMS42SC40di0yMWg2LjhMMjEuNCAxdjMwLjhNMjcuNiAxMC44YzIuNSAyLjYgNC4xIDYuMiA0LjEgMTAuMSAwIDQtMS42IDcuNi00LjIgMTAuMycvJTNFJTNDcGF0aCBjbGFzcz0nc3QwJyBkPSdNMzEuMyA3LjFjMy43IDMuNSA1LjkgOC40IDUuOSAxMy45cy0yLjMgMTAuNS02IDE0Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXG4gICAgJi5pcy1tdXRlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBMU1DNHhNeUEwT1M0M05TSStQR1JsWm5NK1BITjBlV3hsUGk1amJITXRNWHRtYVd4c09tNXZibVU3YzNSeWIydGxPaU5tWm1ZN2MzUnliMnRsTFcxcGRHVnliR2x0YVhRNk1UQTdjM1J5YjJ0bExYZHBaSFJvT2pFdU1qbHdlSDA4TDNOMGVXeGxQand2WkdWbWN6NDhjR0YwYUNCamJHRnpjejBpWTJ4ekxURWlJR1E5SWswME9TNHdNeUEwT1V3eExqQXhMams1VFRFeUxqY3lJREV5TGpRNVZqTTNMalZvT0M0MU0yd3hOaTQwTnlBeE1TNHhNVll6Tnk0Mk9VMHlNUzQwTlNBeE1pNHhURE0zTGpjeUxqazVkakk0TGpNM0lpOCtQQzl6ZG1jKyk7XG4gICAgfVxufVxuXG4uYnRuLWNvbnRyb2wge1xuICAgIGhlaWdodDogNTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICBzdmcge1xuICAgICAgICBmaWxsOiAjZmZmO1xuICAgIH1cbiAgICBvcGFjaXR5OiAuNTtcblxuICAgICYuaXMtbXV0ZWQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnZpZGVvLWhpZGRlbiAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbn1cbi52aWRlby1oaWRkZW4uaXMtZW5hYmxlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBmYWRlLWFwcGVhciAxLjVzIGxpbmVhciBmb3J3YXJkcztcbn1cbi5iYW5uZXItdG9wLmlzLWRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBS0FBLHFCQUFxQjtBQXVCckIsQUFBQSxPQUFPLEVLUUwsb0JBQU8sQ0FHUCxJQUFJLEVDdkJELHVCQUFPLENBR0osSUFBSSxFR2lDUCxvQkFBTSxDVHhCSDtFQUNQLEtBQUssRUFoQkUsSUFBSTtDQXdCWDs7QUg0Z0JHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFR3JoQjdCLEFBQUEsT0FBTyxFS1FMLG9CQUFPLENBR1AsSUFBSSxFQ3ZCRCx1QkFBTyxDQUdKLElBQUksRUdpQ1Asb0JBQU0sQ1R4Qkg7SUFJTixVQUFVLEVBQUUsNERBQTREO0lBQ3hFLGVBQWUsRUFBRSxVQUFVO0lBQzNCLHVCQUF1QixFQUFFLElBQUk7SUFDN0IsdUJBQXVCLEVBQUUsV0FBVztHQUVyQzs7O0FBRUQsQUFBQSxPQUFPLEVRNFdGLHNCQUFTLENSNVdOO0VBQ1AsS0FBSyxFQTFCQyxPQUFPO0NBa0NiOztBSGlnQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VHMWdCN0IsQUFBQSxPQUFPLEVRNFdGLHNCQUFTLENSNVdOO0lBSU4sVUFBVSxFQWxCRiw2RUFBNkU7SUFtQnJGLGVBQWUsRUFBRSxVQUFVO0lBQzNCLHVCQUF1QixFQUFF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 */
