/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./node_modules/swiper/swiper.css ***!
  \***********************************************************************************************************************************************************************************************/
/**
 * Swiper 14.0.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 29, 2026
 */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: ease;
  transition-timing-function: initial;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d;
  }

/* CSS Mode */
.swiper-css-mode  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
  }
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
      display: none;
    }
.swiper-css-mode  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
.swiper-css-mode.swiper-horizontal  > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
.swiper-css-mode.swiper-horizontal  > .swiper-wrapper > .swiper-slide:first-child {
      margin-left: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
.swiper-css-mode.swiper-horizontal  > .swiper-wrapper > .swiper-slide:last-child {
      margin-right: var(--swiper-slides-offset-after);
    }
.swiper-css-mode.swiper-vertical  > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
.swiper-css-mode.swiper-vertical  > .swiper-wrapper > .swiper-slide:first-child {
      margin-top: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
.swiper-css-mode.swiper-vertical  > .swiper-wrapper > .swiper-slide:last-child {
      margin-bottom: var(--swiper-slides-offset-after);
    }
.swiper-css-mode.swiper-free-mode  > .swiper-wrapper {
      scroll-snap-type: none;
    }
.swiper-css-mode.swiper-free-mode  > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
.swiper-css-mode.swiper-centered  > .swiper-wrapper::before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
.swiper-css-mode.swiper-centered  > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
.swiper-css-mode.swiper-centered.swiper-horizontal  > .swiper-wrapper > .swiper-slide:first-child {
      margin-left: var(--swiper-centered-offset-before);
    }
.swiper-css-mode.swiper-centered.swiper-horizontal  > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
.swiper-css-mode.swiper-centered.swiper-vertical  > .swiper-wrapper > .swiper-slide:first-child {
      margin-top: var(--swiper-centered-offset-before);
    }
.swiper-css-mode.swiper-centered.swiper-vertical  > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid #007aff;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
/*!***********************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./node_modules/swiper/modules/navigation.css ***!
  \***********************************************************************************************************************************************************************************************************/
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 4px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  width: 44px;
  width: var(--swiper-navigation-size);
  height: 44px;
  height: var(--swiper-navigation-size);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-disabled.swiper-button-prev,.swiper-button-disabled.swiper-button-next {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }

.swiper-button-hidden.swiper-button-prev,.swiper-button-hidden.swiper-button-next {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }

.swiper-navigation-disabled .swiper-button-prev,.swiper-navigation-disabled .swiper-button-next {
    display: none !important;
  }

.swiper-button-prev ::slotted(svg) {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }

.swiper-button-next ::slotted(svg) {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }

.swiper-button-prev svg,.swiper-button-next svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }

.swiper-button-lock {
  display: none;
}

.swiper-button-prev,
.swiper-button-next {
  top: 50%;
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - 44px / 2);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
}

.swiper-button-prev {
  left: 4px;
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
}

.swiper-button-prev ::slotted(.swiper-navigation-icon),.swiper-button-prev .swiper-navigation-icon {
    transform: rotate(180deg);
  }

.swiper-button-next {
  right: 4px;
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto;
}

.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal  ~ .swiper-button-prev,.swiper-horizontal  ~ .swiper-button-next {
    top: 50%;
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - 44px / 2);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    margin-left: 0;
  }

.swiper-horizontal .swiper-button-prev,.swiper-horizontal ~ .swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl ~ .swiper-button-next {
    left: 4px;
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;
  }

.swiper-horizontal .swiper-button-next,.swiper-horizontal ~ .swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl ~ .swiper-button-prev {
    right: 4px;
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto;
  }

.swiper-horizontal .swiper-button-prev:not(.does-not-exist) ::slotted(.swiper-navigation-icon) {
      transform: rotate(180deg);
    }

.swiper-horizontal ~ .swiper-button-prev:not(.does-not-exist) ::slotted(.swiper-navigation-icon) {
      transform: rotate(180deg);
    }

.swiper-horizontal.swiper-rtl .swiper-button-next ::slotted(.swiper-navigation-icon) {
      transform: rotate(180deg);
    }

.swiper-horizontal.swiper-rtl ~ .swiper-button-next ::slotted(.swiper-navigation-icon) {
      transform: rotate(180deg);
    }

.swiper-horizontal .swiper-button-prev:not(.does-not-exist) .swiper-navigation-icon,.swiper-horizontal ~ .swiper-button-prev:not(.does-not-exist) .swiper-navigation-icon,.swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon,.swiper-horizontal.swiper-rtl ~ .swiper-button-next .swiper-navigation-icon {
      transform: rotate(180deg);
    }

.swiper-horizontal.swiper-rtl .swiper-button-prev ::slotted(.swiper-navigation-icon) {
      transform: rotate(0deg);
    }

.swiper-horizontal.swiper-rtl ~ .swiper-button-prev ::slotted(.swiper-navigation-icon) {
      transform: rotate(0deg);
    }

.swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl ~ .swiper-button-prev .swiper-navigation-icon {
      transform: rotate(0deg);
    }

.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical  ~ .swiper-button-prev,.swiper-vertical  ~ .swiper-button-next {
    left: 50%;
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - 44px / 2);
    margin-left: calc(0px - var(--swiper-navigation-size) / 2);
    margin-top: 0;
  }

.swiper-vertical .swiper-button-prev,.swiper-vertical  ~ .swiper-button-prev {
    top: 4px;
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto;
  }

.swiper-vertical .swiper-button-prev ::slotted(.swiper-navigation-icon) {
      transform: rotate(-90deg);
    }

.swiper-vertical ~ .swiper-button-prev ::slotted(.swiper-navigation-icon) {
      transform: rotate(-90deg);
    }

.swiper-vertical .swiper-button-prev .swiper-navigation-icon,.swiper-vertical ~ .swiper-button-prev .swiper-navigation-icon {
      transform: rotate(-90deg);
    }

.swiper-vertical .swiper-button-next,.swiper-vertical  ~ .swiper-button-next {
    bottom: 4px;
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto;
  }

.swiper-vertical .swiper-button-next ::slotted(.swiper-navigation-icon) {
      transform: rotate(90deg);
    }

.swiper-vertical ~ .swiper-button-next ::slotted(.swiper-navigation-icon) {
      transform: rotate(90deg);
    }

.swiper-vertical .swiper-button-next .swiper-navigation-icon,.swiper-vertical ~ .swiper-button-next .swiper-navigation-icon {
      transform: rotate(90deg);
    }
/*!*******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./node_modules/swiper/modules/thumbs.css ***!
  \*******************************************************************************************************************************************************************************************************/

  .swiper-thumbs .swiper-slide-thumb-active {
    /* Styles for active thumb slide */
  }
/*!************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./node_modules/photoswipe/dist/photoswipe.css ***!
  \************************************************************************************************************************************************************************************************************/
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  --pswp-root-z-index: 100000;
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;
  --pswp-error-text-color: var(--pswp-icon-color);
}

/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/
.pswp {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--pswp-root-z-index);
  display: none;
  touch-action: none;
  outline: 0;
  opacity: 0.003;
  contain: layout style size;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
  display: block;
}

.pswp,
.pswp__bg {
  transform: translateZ(0);
  will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
  background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
  overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
  width: auto;
  height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
  cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
  cursor: move;
  cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
  cursor: zoom-out;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pswp__item {
  /* z-index for fade transition */
  z-index: 1;
  overflow: hidden;
}

.pswp__hidden {
  display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}

.pswp__content > * {
  pointer-events: auto;
}

/*

  PhotoSwipe UI

*/
/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}

.pswp__error-msg {
  margin: auto;
  font-size: 1em;
  line-height: 1;
  color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
  opacity: 0.005;
  will-change: opacity;
  transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
  z-index: 10; /* always overlap slide content */
  pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
  opacity: 1;
  pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
  position: relative;
  display: block;
  width: 50px;
  height: 60px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  cursor: pointer;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 0.85;
  -webkit-appearance: none;
  -webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
  outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
  background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  z-index: 10;
  /* allow events to pass through top bar itself */
  pointer-events: none !important;
}

.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}

/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}

/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}

.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}

/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  margin-left: 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}
/*!****************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./scss/product/index.scss ***!
  \****************************************************************************************************************************************************************************************/
.product__images {
  width: 625px;
  max-width: 90%;
}
@media (max-width: 991px) {
  .product__images {
    max-width: 100%;
    width: 100%;
  }
}
.product__images .swiper-slide {
  background: rgb(250, 250, 250);
}
.product__images .swiper-slide img {
  mix-blend-mode: multiply;
}
.product__infos {
  margin-top: 40px;
}
.product__infos ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.product__infos li {
  display: flex;
  gap: 10px;
  align-items: center;
}
.product__infos li .icon {
  width: 12px;
}
.product__right {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.product__description-short label {
  color: #000;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  display: block;
}

.featured-products {
  margin-top: var(--gap-section);
}
.featured-products .section-title {
  margin-bottom: 48px;
}

.alert-info {
  background: #fafafa;
  border-color: #e7e7e7;
  color: #000;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzXFxwcm9kdWN0LmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7OztFQVVFO0FBQ0Y7RUFDRSw2QkFBNkI7RUFDN0I7OztHQUdDO0FBQ0g7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsVUFBVTtBQUNaOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLFVBQVU7RUFDVixjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZQUFZO0VBQ1osVUFBVTtFQUNWLGFBQWE7RUFDYiw4QkFBOEI7RUFDOUIsZ0NBQXFGO0VBQXJGLG1DQUFxRjtFQUFyRixxRkFBcUY7RUFDckYsdUJBQXVCO0FBQ3pCOztBQUVBOzs7RUFHRSxpQ0FBaUM7QUFDbkM7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsOEJBQThCO0VBQzlCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUEsZ0JBQWdCO0FBQ2hCOztFQUVFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLHVCQUF1QjtFQUN2QixzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIsMkJBQTJCO0FBQzdCOztBQUVBLGVBQWU7QUFDZjtFQUNFLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLG1CQUFtQjtBQUtyQjs7QUFKRTtJQUVFLDRCQUE0QjtFQUM5Qjs7QUFHRixhQUFhO0FBRVg7SUFDRSxjQUFjO0lBQ2QscUJBQXFCLEVBQUUsZ0JBQWdCO0lBQ3ZDLHdCQUF3QixFQUFFLG1DQUFtQztFQUkvRDtBQUhFO01BQ0UsYUFBYTtJQUNmO0FBRUY7SUFDRSw4QkFBOEI7RUFDaEM7QUFFRTtNQUNFLDZCQUE2QjtJQUMvQjtBQUNBO01BQ0UsK0NBQXVEO01BQ3ZELDhEQUE4RDtJQUNoRTtBQUNBO01BQ0UsK0NBQW9EO0lBQ3REO0FBR0E7TUFDRSw2QkFBNkI7SUFDL0I7QUFDQTtNQUNFLDhDQUFzRDtNQUN0RCw2REFBNkQ7SUFDL0Q7QUFDQTtNQUNFLGdEQUFtRDtJQUNyRDtBQUdBO01BQ0Usc0JBQXNCO0lBQ3hCO0FBQ0E7TUFDRSx1QkFBdUI7SUFDekI7QUFHQTtNQUNFLFdBQVc7TUFDWCxjQUFjO01BQ2QsV0FBVztJQUNiO0FBQ0E7TUFDRSxnQ0FBZ0M7TUFDaEMsd0JBQXdCO0lBQzFCO0FBR0E7TUFDRSxpREFBeUQ7SUFDM0Q7QUFDQTtNQUNFLFlBQVk7TUFDWixlQUFlO01BQ2YsMENBQTBDO0lBQzVDO0FBR0E7TUFDRSxnREFBd0Q7SUFDMUQ7QUFDQTtNQUNFLFdBQVc7TUFDWCxjQUFjO01BQ2QsMkNBQTJDO0lBQzdDOztBQUlKLHVCQUF1QjtBQUN2QixlQUFlO0FBRWI7SUFVRSxrQkFBa0I7SUFDbEIsT0FBTztJQUNQLE1BQU07SUFDTixXQUFXO0lBQ1gsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixXQUFXO0VBQ2I7QUFDQTtJQUNFLCtCQUErQjtFQUNqQztBQUNBO0lBQ0UsZ0ZBQWdGO0VBQ2xGO0FBQ0E7SUFDRSxpRkFBaUY7RUFDbkY7QUFDQTtJQUNFLCtFQUErRTtFQUNqRjtBQUNBO0lBQ0Usa0ZBQWtGO0VBQ3BGOztBQUdGO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsU0FBUztFQUNULFFBQVE7RUFDUixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLHlCQUEwRTtFQUExRSwwRUFBMEU7RUFDMUUsa0JBQWtCO0VBQ2xCLDZCQUE2QjtBQUMvQjs7QUFJRTtJQUNFLG1EQUFtRDtFQUNyRDs7QUFHRjtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0VBQ0E7SUFDRSx5QkFBeUI7RUFDM0I7QUFDRjtBQUNBLHFCQUFxQixDOzs7O0FDN1FyQjtFQUNFLDhCQUE4QjtFQUM5Qjs7OztHQUlDO0FBQ0g7O0FBRUE7O0VBRUUsa0JBQWtCO0VBQ2xCLFdBQW9DO0VBQXBDLG9DQUFvQztFQUNwQyxZQUFxQztFQUFyQyxxQ0FBcUM7RUFDckMsV0FBVztFQUNYLGVBQWU7RUFDZixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixnRUFBZ0U7QUF1QmxFOztBQXRCRTtJQUNFLGFBQWE7SUFDYixZQUFZO0lBQ1osb0JBQW9CO0VBQ3RCOztBQUNBO0lBQ0UsVUFBVTtJQUNWLFlBQVk7SUFDWixvQkFBb0I7RUFDdEI7O0FBQ0E7SUFDRSx3QkFBd0I7RUFDMUI7O0FBQ0E7SUFFRSxXQUFXO0lBQ1gsWUFBWTtJQUNaLHNCQUFtQjtPQUFuQixtQkFBbUI7SUFDbkIsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQixvQkFBb0I7RUFDdEI7O0FBUkE7SUFFRSxXQUFXO0lBQ1gsWUFBWTtJQUNaLHNCQUFtQjtPQUFuQixtQkFBbUI7SUFDbkIsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQixvQkFBb0I7RUFDdEI7O0FBUkE7SUFFRSxXQUFXO0lBQ1gsWUFBWTtJQUNaLHNCQUFtQjtPQUFuQixtQkFBbUI7SUFDbkIsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQixvQkFBb0I7RUFDdEI7O0FBR0Y7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7O0VBRUUsUUFBNkM7RUFBN0MsNkNBQTZDO0VBQzdDLGdDQUF5RDtFQUF6RCx5REFBeUQ7QUFDM0Q7O0FBRUE7RUFDRSxTQUFnRDtFQUFoRCxnREFBZ0Q7RUFDaEQsV0FBVztBQUtiOztBQUpFO0lBRUUseUJBQXlCO0VBQzNCOztBQUdGO0VBQ0UsVUFBaUQ7RUFBakQsaURBQWlEO0VBQ2pELFVBQVU7QUFDWjs7QUFHRTtJQUlFLFFBQTZDO0lBQTdDLDZDQUE2QztJQUM3QyxnQ0FBeUQ7SUFBekQseURBQXlEO0lBQ3pELGNBQWM7RUFDaEI7O0FBQ0E7SUFJRSxTQUFnRDtJQUFoRCxnREFBZ0Q7SUFDaEQsV0FBVztFQUNiOztBQUNBO0lBSUUsVUFBaUQ7SUFBakQsaURBQWlEO0lBQ2pELFVBQVU7RUFDWjs7QUFLRTtNQUVFLHlCQUF5QjtJQUMzQjs7QUFIQTtNQUVFLHlCQUF5QjtJQUMzQjs7QUFIQTtNQUVFLHlCQUF5QjtJQUMzQjs7QUFIQTtNQUVFLHlCQUF5QjtJQUMzQjs7QUFIQTtNQUVFLHlCQUF5QjtJQUMzQjs7QUFJQTtNQUVFLHVCQUF1QjtJQUN6Qjs7QUFIQTtNQUVFLHVCQUF1QjtJQUN6Qjs7QUFIQTtNQUVFLHVCQUF1QjtJQUN6Qjs7QUFLRjtJQUlFLFNBQThDO0lBQTlDLDhDQUE4QztJQUM5QyxXQUFXO0lBQ1gsaUNBQTBEO0lBQTFELDBEQUEwRDtJQUMxRCxhQUFhO0VBQ2Y7O0FBQ0E7SUFFRSxRQUErQztJQUEvQywrQ0FBK0M7SUFDL0MsWUFBWTtFQUtkOztBQUpFO01BRUUseUJBQXlCO0lBQzNCOztBQUhBO01BRUUseUJBQXlCO0lBQzNCOztBQUhBO01BRUUseUJBQXlCO0lBQzNCOztBQUVGO0lBRUUsV0FBa0Q7SUFBbEQsa0RBQWtEO0lBQ2xELFNBQVM7RUFLWDs7QUFKRTtNQUVFLHdCQUF3QjtJQUMxQjs7QUFIQTtNQUVFLHdCQUF3QjtJQUMxQjs7QUFIQTtNQUVFLHdCQUF3QjtJQUMxQixDOzs7OztFQ3RJRjtJQUNFLGtDQUFrQztFQUNwQyxDOzs7O0FDSEYsNERBQTREO0FBQzVEO0VBQ0UsZUFBZTtFQUNmLDJCQUEyQjtFQUMzQiwyQkFBMkI7RUFDM0IsNkNBQTZDO0VBQzdDLDBEQUEwRDtFQUMxRDtzQ0FDb0M7RUFDcEMsdUJBQXVCO0VBQ3ZCLG9DQUFvQztFQUNwQyxpQ0FBaUM7RUFDakMsNkJBQTZCO0VBQzdCLCtDQUErQztBQUNqRDs7QUFFQTs7Q0FFQztBQUNEO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7RUFDWixpQ0FBaUM7RUFDakMsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsY0FBYztFQUNkLDBCQUEwQjtFQUMxQiw2Q0FBNkM7QUFDL0M7O0FBRUE7aUNBQ2lDO0FBQ2pDO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7O0VBRUUsd0JBQXdCO0VBQ3hCLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLGNBQWM7RUFDZCwwQkFBMEI7QUFDNUI7O0FBRUE7O0VBRUUsZ0JBQWdCO0FBQ2xCOztBQUVBOzs7Ozs7O0VBT0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7QUFDZDs7QUFFQTs7RUFFRSxXQUFXO0VBQ1gsWUFBWTtBQUNkOztBQUVBO0VBR0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLFlBQVk7RUFHWixZQUFZO0FBQ2Q7O0FBRUE7RUFHRSxnQkFBZ0I7QUFDbEI7O0FBRUEsd0NBQXdDO0FBQ3hDOzs7RUFLRSxnQkFBZ0I7QUFDbEI7O0FBRUEseUNBQXlDO0FBQ3pDOzs7O0VBSUUseUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUV0QixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxnQ0FBZ0M7RUFDaEMsVUFBVTtFQUNWLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQSx1RUFBdUU7QUFDdkU7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7Ozs7Q0FJQztBQUNEOzs7Q0FHQztBQUNEO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGNBQWM7RUFDZCxjQUFjO0VBQ2QsbUNBQW1DO0FBQ3JDOztBQUVBOzs7O0VBSUU7QUFDRjtFQUNFLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsaUZBQWlGO0VBQ2pGLFdBQVcsRUFBRSxpQ0FBaUM7RUFDOUMsb0JBQW9CLEVBQUUsNENBQTRDO0FBQ3BFOztBQUVBLDhFQUE4RTtBQUM5RTtFQUNFLFVBQVU7RUFDVixvQkFBb0I7QUFDdEI7O0FBRUEseUNBQXlDO0FBQ3pDO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxXQUFXO0VBQ1gsWUFBWTtFQUNaLFVBQVU7RUFDVixTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsU0FBUztFQUNULGdCQUFnQjtFQUNoQixhQUFhO0VBQ2Isd0JBQXdCO0VBQ3hCLDJCQUEyQjtBQUM3Qjs7QUFFQTs7O0VBR0UsZ0JBQWdCO0VBQ2hCLFVBQVU7RUFDVixnQkFBZ0I7RUFDaEIsU0FBUztFQUNULGdCQUFnQjtFQUNoQixVQUFVO0FBQ1o7O0FBRUE7RUFDRSxZQUFZO0VBQ1osWUFBWTtBQUNkOztBQUVBO0VBQ0UsNEJBQTRCO0VBQzVCLHVDQUF1QztBQUN6Qzs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsU0FBUztFQUNULFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLHFDQUFxQztFQUNyQywyQ0FBMkM7RUFDM0MsVUFBVTtBQUNaOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBOzs7O0NBSUM7QUFDRDs7RUFFRSxzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLE1BQU07RUFDTixXQUFXO0VBQ1gsWUFBWTtFQUNaLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLFdBQVc7RUFDWCxnREFBZ0Q7RUFDaEQsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCO2tEQUNnRDtFQUNoRCxvQkFBb0I7QUFDdEI7O0FBRUE7Ozs7Q0FJQztBQUNEO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBOzs7O0NBSUM7QUFDRDtFQUNFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sV0FBVztFQUNYLGFBQWE7RUFDYixRQUFRO0VBQ1IsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxRQUFRO0VBQ1IsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQSxpQ0FBaUM7QUFDakM7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUEsMENBQTBDO0FBQzFDO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsV0FBVztFQUNYLFNBQVM7QUFDWDs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFVBQVU7RUFDVixXQUFXO0VBQ1gsc0JBQXNCO0VBQ3RCLHVCQUF1QjtBQUN6Qjs7QUFFQTs7OztDQUlDO0FBQ0Q7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBLGVBQWU7QUFDZjtFQUNFLGFBQWE7QUFDZjs7QUFFQTs7OztDQUlDO0FBQ0Q7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLCtCQUErQjtFQUMvQiwrQ0FBK0M7QUFDakQ7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRTtJQUNFLHVCQUF1QjtFQUN6QjtFQUNBO0lBQ0UseUJBQXlCO0VBQzNCO0FBQ0Y7QUFDQTs7OztDQUlDO0FBQ0Q7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGlCQUF5QjtFQUN6QixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLDZCQUE2QjtFQUM3Qix5REFBeUQ7RUFDekQsYUFBYTtBQUNmOztBQUVBO0VBQ0UsYUFBYTtBQUNmLEM7Ozs7QUN6WkE7RUFDRSxZQUFZO0VBQ1osY0FBYztBQUNoQjtBQUNBO0VBQ0U7SUFDRSxlQUFlO0lBQ2YsV0FBVztFQUNiO0FBQ0Y7QUFDQTtFQUNFLDhCQUE4QjtBQUNoQztBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCO0FBQ0E7RUFDRSxnQkFBZ0I7QUFDbEI7QUFDQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsUUFBUTtBQUNWO0FBQ0E7RUFDRSxhQUFhO0VBQ2IsU0FBUztFQUNULG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UsV0FBVztBQUNiO0FBQ0E7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtBQUN6QjtBQUNBO0VBQ0UsV0FBVztFQUNYLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSw4QkFBOEI7QUFDaEM7QUFDQTtFQUNFLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixxQkFBcUI7RUFDckIsV0FBVztBQUNiLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Fa3lzaG9wLy4vbm9kZV9tb2R1bGVzL3N3aXBlci9zd2lwZXIuY3NzIiwid2VicGFjazovL0VreXNob3AvLi9ub2RlX21vZHVsZXMvc3dpcGVyL21vZHVsZXMvbmF2aWdhdGlvbi5jc3MiLCJ3ZWJwYWNrOi8vRWt5c2hvcC8uL25vZGVfbW9kdWxlcy9zd2lwZXIvbW9kdWxlcy90aHVtYnMuY3NzIiwid2VicGFjazovL0VreXNob3AvLi9ub2RlX21vZHVsZXMvcGhvdG9zd2lwZS9kaXN0L3Bob3Rvc3dpcGUuY3NzIiwid2VicGFjazovL0VreXNob3AvLi9zY3NzL3Byb2R1Y3QvaW5kZXguc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN3aXBlciAxNC4wLjFcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwczovL3N3aXBlcmpzLmNvbVxuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMjYgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogSnVuZSAyOSwgMjAyNlxuICovXG46cm9vdCB7XG4gIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiAjMDA3YWZmO1xuICAvKlxuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gIC0tc3dpcGVyLXdyYXBwZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGluaXRpYWw7XG4gICovXG59XG5cbjpob3N0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgei1pbmRleDogMTtcbn1cblxuLnN3aXBlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgaW5pdGlhbCk7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4uc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItaW9zIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG5cbi5zd2lwZXItaG9yaXpvbnRhbCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5zd2lwZXItdmVydGljYWwge1xuICB0b3VjaC1hY3Rpb246IHBhbi14O1xufVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbn1cblxuLnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLTNkLnN3aXBlci1jc3MtbW9kZSAuc3dpcGVyLXdyYXBwZXIge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuXG4uc3dpcGVyLTNkIC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG5cbi5zd2lwZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xuICAuc3dpcGVyLXNsaWRlLFxuICAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB9XG59XG5cbi8qIENTUyBNb2RlICovXG4uc3dpcGVyLWNzcy1tb2RlIHtcbiAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRm9yIEZpcmVmb3ggKi9cbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIEZvciBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0O1xuICB9XG4gICYuc3dpcGVyLWhvcml6b250YWwge1xuICAgID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tc3dpcGVyLXNsaWRlcy1vZmZzZXQtYmVmb3JlKTtcbiAgICAgIHNjcm9sbC1tYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zd2lwZXItc2xpZGVzLW9mZnNldC1iZWZvcmUpO1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tc3dpcGVyLXNsaWRlcy1vZmZzZXQtYWZ0ZXIpO1xuICAgIH1cbiAgfVxuICAmLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXN3aXBlci1zbGlkZXMtb2Zmc2V0LWJlZm9yZSk7XG4gICAgICBzY3JvbGwtbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zd2lwZXItc2xpZGVzLW9mZnNldC1iZWZvcmUpO1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zd2lwZXItc2xpZGVzLW9mZnNldC1hZnRlcik7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLWZyZWUtbW9kZSB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogbm9uZTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xuICAgIH1cbiAgfVxuICAmLnN3aXBlci1jZW50ZXJlZCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogOTk5OTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXIgY2VudGVyO1xuICAgICAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xuICAgIH1cbiAgfVxuICAmLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpO1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBTbGlkZSBzdHlsZXMgc3RhcnQgKi9cbi8qIDNEIFNoYWRvd3MgKi9cbi5zd2lwZXItM2Qge1xuICAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxufVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDRweCBzb2xpZCB2YXIoLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnN3aXBlcjpub3QoLnN3aXBlci13YXRjaC1wcm9ncmVzcyksXG4uc3dpcGVyLXdhdGNoLXByb2dyZXNzIC5zd2lwZXItc2xpZGUtdmlzaWJsZSB7XG4gIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICAgIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgfVxufVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjZmZmO1xufVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjMDAwO1xufVxuXG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKiBTbGlkZSBzdHlsZXMgZW5kICovIiwiOnJvb3Qge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDQ0cHg7XG4gIC8qXG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tdG9wLW9mZnNldDogNTAlO1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldDogNHB4O1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpO1xuICAqL1xufVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgJi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjM1O1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAmLnN3aXBlci1idXR0b24taGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAuc3dpcGVyLW5hdmlnYXRpb24tZGlzYWJsZWQgJiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIDo6c2xvdHRlZChzdmcpLFxuICBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgdG9wOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi10b3Atb2Zmc2V0LCA1MCUpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDBweCAtIHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpIC8gMik7XG59XG5cbi5zd2lwZXItYnV0dG9uLXByZXYge1xuICBsZWZ0OiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsIDRweCk7XG4gIHJpZ2h0OiBhdXRvO1xuICA6OnNsb3R0ZWQoLnN3aXBlci1uYXZpZ2F0aW9uLWljb24pLFxuICAuc3dpcGVyLW5hdmlnYXRpb24taWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxufVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgcmlnaHQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwgNHB4KTtcbiAgbGVmdDogYXV0bztcbn1cblxuLnN3aXBlci1ob3Jpem9udGFsIHtcbiAgLnN3aXBlci1idXR0b24tcHJldixcbiAgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgfiAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuICB+IC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIHRvcDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tdG9wLW9mZnNldCwgNTAlKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDBweCAtIHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpIC8gMik7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tcHJldixcbiAgJiB+IC5zd2lwZXItYnV0dG9uLXByZXYsXG4gICYuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LFxuICAmLnN3aXBlci1ydGwgfiAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICBsZWZ0OiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsIDRweCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgJiB+IC5zd2lwZXItYnV0dG9uLW5leHQsXG4gICYuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuICAmLnN3aXBlci1ydGwgfiAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICByaWdodDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2lkZXMtb2Zmc2V0LCA0cHgpO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnN3aXBlci1idXR0b24tcHJldixcbiAgJiB+IC5zd2lwZXItYnV0dG9uLXByZXYsXG4gICYuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LFxuICAmLnN3aXBlci1ydGwgfiAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICA6OnNsb3R0ZWQoLnN3aXBlci1uYXZpZ2F0aW9uLWljb24pLFxuICAgIC5zd2lwZXItbmF2aWdhdGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuICAmLnN3aXBlci1ydGwgfiAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICA6OnNsb3R0ZWQoLnN3aXBlci1uYXZpZ2F0aW9uLWljb24pLFxuICAgIC5zd2lwZXItbmF2aWdhdGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4uc3dpcGVyLXZlcnRpY2FsIHtcbiAgLnN3aXBlci1idXR0b24tcHJldixcbiAgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgfiAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuICB+IC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIGxlZnQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXRvcC1vZmZzZXQsIDUwJSk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMHB4IC0gdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyAyKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLXByZXYsXG4gIH4gLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgdG9wOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsIDRweCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIDo6c2xvdHRlZCguc3dpcGVyLW5hdmlnYXRpb24taWNvbiksXG4gICAgLnN3aXBlci1uYXZpZ2F0aW9uLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgfiAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICBib3R0b206IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwgNHB4KTtcbiAgICB0b3A6IGF1dG87XG4gICAgOjpzbG90dGVkKC5zd2lwZXItbmF2aWdhdGlvbi1pY29uKSxcbiAgICAuc3dpcGVyLW5hdmlnYXRpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICB9XG59IiwiLnN3aXBlci10aHVtYnMge1xuICAuc3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZSB7XG4gICAgLyogU3R5bGVzIGZvciBhY3RpdmUgdGh1bWIgc2xpZGUgKi9cbiAgfVxufSIsIi8qISBQaG90b1N3aXBlIG1haW4gQ1NTIGJ5IERteXRybyBTZW1lbm92IHwgcGhvdG9zd2lwZS5jb20gKi9cbi5wc3dwIHtcbiAgLS1wc3dwLWJnOiAjMDAwO1xuICAtLXBzd3AtcGxhY2Vob2xkZXItYmc6ICMyMjI7XG4gIC0tcHN3cC1yb290LXotaW5kZXg6IDEwMDAwMDtcbiAgLS1wc3dwLXByZWxvYWRlci1jb2xvcjogcmdiYSg3OSwgNzksIDc5LCAwLjQpO1xuICAtLXBzd3AtcHJlbG9hZGVyLWNvbG9yLXNlY29uZGFyeTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAvKiBkZWZpbmVkIHZpYSBqczpcbiAgLS1wc3dwLXRyYW5zaXRpb24tZHVyYXRpb246IDMzM21zOyAqL1xuICAtLXBzd3AtaWNvbi1jb2xvcjogI2ZmZjtcbiAgLS1wc3dwLWljb24tY29sb3Itc2Vjb25kYXJ5OiAjNGY0ZjRmO1xuICAtLXBzd3AtaWNvbi1zdHJva2UtY29sb3I6ICM0ZjRmNGY7XG4gIC0tcHN3cC1pY29uLXN0cm9rZS13aWR0aDogMnB4O1xuICAtLXBzd3AtZXJyb3ItdGV4dC1jb2xvcjogdmFyKC0tcHN3cC1pY29uLWNvbG9yKTtcbn1cblxuLypcblx0U3R5bGVzIGZvciBiYXNpYyBQaG90b1N3aXBlIChwc3dwKSBmdW5jdGlvbmFsaXR5IChzbGlkaW5nIGFyZWEsIG9wZW4vY2xvc2UgdHJhbnNpdGlvbnMpXG4qL1xuLnBzd3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogdmFyKC0tcHN3cC1yb290LXotaW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIG9wYWNpdHk6IDAuMDAzO1xuICBjb250YWluOiBsYXlvdXQgc3R5bGUgc2l6ZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4vKiBQcmV2ZW50cyBmb2N1cyBvdXRsaW5lIG9uIHRoZSByb290IGVsZW1lbnQsXG4gIChpdCBtYXkgYmUgZm9jdXNlZCBpbml0aWFsbHkpICovXG4ucHN3cDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5wc3dwICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucHN3cCBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5wc3dwLS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wc3dwLFxuLnBzd3BfX2JnIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLnBzd3BfX2JnIHtcbiAgb3BhY2l0eTogMC4wMDU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBzd3AtYmcpO1xufVxuXG4ucHN3cCxcbi5wc3dwX19zY3JvbGwtd3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wc3dwX19zY3JvbGwtd3JhcCxcbi5wc3dwX19iZyxcbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9faXRlbSxcbi5wc3dwX19jb250ZW50LFxuLnBzd3BfX2ltZyxcbi5wc3dwX196b29tLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnBzd3BfX2ltZyxcbi5wc3dwX196b29tLXdyYXAge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucHN3cC0tY2xpY2stdG8tem9vbS5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2ltZyB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluO1xufVxuXG4ucHN3cC0tY2xpY2stdG8tem9vbS5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2ltZyB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogLW1vei1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbi5wc3dwLS1jbGljay10by16b29tLnBzd3AtLXpvb21lZC1pbiAucHN3cF9faW1nOmFjdGl2ZSB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vKiA6YWN0aXZlIHRvIG92ZXJyaWRlIGdyYWJiaW5nIGN1cnNvciAqL1xuLnBzd3AtLW5vLW1vdXNlLWRyYWcucHN3cC0tem9vbWVkLWluIC5wc3dwX19pbWcsXG4ucHN3cC0tbm8tbW91c2UtZHJhZy5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2ltZzphY3RpdmUsXG4ucHN3cF9faW1nIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7XG59XG5cbi8qIFByZXZlbnQgc2VsZWN0aW9uIGFuZCB0YXAgaGlnaGxpZ2h0cyAqL1xuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX19pbWcsXG4ucHN3cF9fYnV0dG9uLFxuLnBzd3BfX2NvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucHN3cF9faXRlbSB7XG4gIC8qIHotaW5kZXggZm9yIGZhZGUgdHJhbnNpdGlvbiAqL1xuICB6LWluZGV4OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHN3cF9faGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBBbGxvdyB0byBjbGljayB0aHJvdWdoIHBzd3BfX2NvbnRlbnQgZWxlbWVudCwgYnV0IG5vdCBpdHMgY2hpbGRyZW4gKi9cbi5wc3dwX19jb250ZW50IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wc3dwX19jb250ZW50ID4gKiB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4vKlxuXG4gIFBob3RvU3dpcGUgVUlcblxuKi9cbi8qXG5cdEVycm9yIG1lc3NhZ2UgYXBwZWFycyB3aGVuIGltYWdlIGlzIG5vdCBsb2FkZWRcblx0KEpTIG9wdGlvbiBlcnJvck1zZyBjb250cm9scyBtYXJrdXApXG4qL1xuLnBzd3BfX2Vycm9yLW1zZy1jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xufVxuXG4ucHN3cF9fZXJyb3ItbXNnIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1wc3dwLWVycm9yLXRleHQtY29sb3IpO1xufVxuXG4vKlxuY2xhc3MgcHN3cF9faGlkZS1vbi1jbG9zZSBpcyBhcHBsaWVkIHRvIGVsZW1lbnRzIHRoYXRcbnNob3VsZCBoaWRlIChmb3IgZXhhbXBsZSBmYWRlIG91dCkgd2hlbiBQaG90b1N3aXBlIGlzIGNsb3NlZFxuYW5kIHNob3cgKGZvciBleGFtcGxlIGZhZGUgaW4pIHdoZW4gUGhvdG9Td2lwZSBpcyBvcGVuZWRcbiAqL1xuLnBzd3AgLnBzd3BfX2hpZGUtb24tY2xvc2Uge1xuICBvcGFjaXR5OiAwLjAwNTtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tcHN3cC10cmFuc2l0aW9uLWR1cmF0aW9uKSBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbiAgei1pbmRleDogMTA7IC8qIGFsd2F5cyBvdmVybGFwIHNsaWRlIGNvbnRlbnQgKi9cbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIGhpZGRlbiBlbGVtZW50cyBzaG91bGQgbm90IGJlIGNsaWNrYWJsZSAqL1xufVxuXG4vKiBjbGFzcyBwc3dwLS11aS12aXNpYmxlIGlzIGFkZGVkIHdoZW4gb3BlbmluZyBvciBjbG9zaW5nIHRyYW5zaXRpb24gc3RhcnRzICovXG4ucHN3cC0tdWktdmlzaWJsZSAucHN3cF9faGlkZS1vbi1jbG9zZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4vKiA8YnV0dG9uPiBzdHlsZXMsIGluY2x1ZGluZyBjc3MgcmVzZXQgKi9cbi5wc3dwX19idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvcGFjaXR5OiAwLjg1O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cblxuLnBzd3BfX2J1dHRvbjpob3Zlcixcbi5wc3dwX19idXR0b246YWN0aXZlLFxuLnBzd3BfX2J1dHRvbjpmb2N1cyB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3BfX2J1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMztcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG4ucHN3cF9faWNuIHtcbiAgZmlsbDogdmFyKC0tcHN3cC1pY29uLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBzd3AtaWNvbi1jb2xvci1zZWNvbmRhcnkpO1xufVxuXG4ucHN3cF9faWNuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0cHg7XG4gIGxlZnQ6IDlweDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wc3dwX19pY24tc2hhZG93IHtcbiAgc3Ryb2tlOiB2YXIoLS1wc3dwLWljb24tc3Ryb2tlLWNvbG9yKTtcbiAgc3Ryb2tlLXdpZHRoOiB2YXIoLS1wc3dwLWljb24tc3Ryb2tlLXdpZHRoKTtcbiAgZmlsbDogbm9uZTtcbn1cblxuLnBzd3BfX2ljbjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qXG5cdGRpdiBlbGVtZW50IHRoYXQgbWF0Y2hlcyBzaXplIG9mIGxhcmdlIGltYWdlLFxuXHRsYXJnZSBpbWFnZSBsb2FkcyBvbiB0b3Agb2YgaXQsXG5cdHVzZWQgd2hlbiBtc3JjIGlzIG5vdCBwcm92aWRlZFxuKi9cbmRpdi5wc3dwX19pbWctLXBsYWNlaG9sZGVyLFxuLnBzd3BfX2ltZy0td2l0aC1iZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBzd3AtcGxhY2Vob2xkZXItYmcpO1xufVxuXG4ucHN3cF9fdG9wLWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB6LWluZGV4OiAxMDtcbiAgLyogYWxsb3cgZXZlbnRzIHRvIHBhc3MgdGhyb3VnaCB0b3AgYmFyIGl0c2VsZiAqL1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucHN3cF9fdG9wLWJhciA+ICoge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgLyogdGhpcyBtYWtlcyB0cmFuc2l0aW9uIHNpZ25pZmljYW50bHkgbW9yZSBzbW9vdGgsXG4gICAgIGV2ZW4gdGhvdWdoIGlubmVyIGVsZW1lbnRzIGFyZSBub3QgYW5pbWF0ZWQgKi9cbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi8qXG5cbiAgQ2xvc2UgYnV0dG9uXG5cbiovXG4ucHN3cF9fYnV0dG9uLS1jbG9zZSB7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xufVxuXG4vKlxuXG4gIEFycm93IGJ1dHRvbnNcblxuKi9cbi5wc3dwX19idXR0b24tLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA3NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTUwcHg7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93OmRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdyAucHN3cF9faWNuIHtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zMHB4O1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ucHN3cC0tb25lLXNsaWRlIC5wc3dwX19idXR0b24tLWFycm93IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogaGlkZSBhcnJvd3Mgb24gdG91Y2ggc2NyZWVucyAqL1xuLnBzd3AtLXRvdWNoIC5wc3dwX19idXR0b24tLWFycm93IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBzaG93IGFycm93cyBvbmx5IGFmdGVyIG1vdXNlIHdhcyB1c2VkICovXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXByZXYge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMHB4O1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbmV4dCB7XG4gIHJpZ2h0OiAwcHg7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1uZXh0IC5wc3dwX19pY24ge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTRweDtcbiAgLyogZmxpcCBob3Jpem9udGFsbHkgKi9cbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG59XG5cbi8qXG5cbiAgWm9vbSBidXR0b25cblxuKi9cbi5wc3dwX19idXR0b24tLXpvb20ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHN3cC0tem9vbS1hbGxvd2VkIC5wc3dwX19idXR0b24tLXpvb20ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogXCIrXCIgPT4gXCItXCIgKi9cbi5wc3dwLS16b29tZWQtaW4gLnBzd3BfX3pvb20taWNuLWJhci12IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLypcblxuICBMb2FkaW5nIGluZGljYXRvclxuXG4qL1xuLnBzd3BfX3ByZWxvYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ucHN3cF9fcHJlbG9hZGVyIC5wc3dwX19pY24ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICBhbmltYXRpb246IHBzd3AtY2xvY2t3aXNlIDYwMG1zIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19pY24ge1xuICBvcGFjaXR5OiAwLjg1O1xufVxuXG5Aa2V5ZnJhbWVzIHBzd3AtY2xvY2t3aXNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi8qXG5cbiAgXCIxIG9mIDEwXCIgY291bnRlclxuXG4qL1xuLnBzd3BfX2NvdW50ZXIge1xuICBoZWlnaHQ6IDMwcHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiB2YXIoLS1wc3dwLWljb24tY29sb3IpO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAzcHggdmFyKC0tcHN3cC1pY29uLWNvbG9yLXNlY29uZGFyeSk7XG4gIG9wYWNpdHk6IDAuODU7XG59XG5cbi5wc3dwLS1vbmUtc2xpZGUgLnBzd3BfX2NvdW50ZXIge1xuICBkaXNwbGF5OiBub25lO1xufSIsIi5wcm9kdWN0X19pbWFnZXMge1xuICB3aWR0aDogNjI1cHg7XG4gIG1heC13aWR0aDogOTAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5wcm9kdWN0X19pbWFnZXMge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLnByb2R1Y3RfX2ltYWdlcyAuc3dpcGVyLXNsaWRlIHtcbiAgYmFja2dyb3VuZDogcmdiKDI1MCwgMjUwLCAyNTApO1xufVxuLnByb2R1Y3RfX2ltYWdlcyAuc3dpcGVyLXNsaWRlIGltZyB7XG4gIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbn1cbi5wcm9kdWN0X19pbmZvcyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ucHJvZHVjdF9faW5mb3MgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbn1cbi5wcm9kdWN0X19pbmZvcyBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wcm9kdWN0X19pbmZvcyBsaSAuaWNvbiB7XG4gIHdpZHRoOiAxMnB4O1xufVxuLnByb2R1Y3RfX3JpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ucHJvZHVjdF9fZGVzY3JpcHRpb24tc2hvcnQgbGFiZWwge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmVhdHVyZWQtcHJvZHVjdHMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtc2VjdGlvbik7XG59XG4uZmVhdHVyZWQtcHJvZHVjdHMgLnNlY3Rpb24tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4O1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIGJvcmRlci1jb2xvcjogI2U3ZTdlNztcbiAgY29sb3I6ICMwMDA7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/