h1 {
  color: #fff;
  text-align: center;
  font-feature-settings: "clig" off, "liga" off;
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 90px;
  /* 225% */
  letter-spacing: 4px;
  text-transform: uppercase;
}
@media (max-width: 550px) {
  h1 {
    font-size: 25px;
    line-height: 30px;
    padding: 15px 0;
    margin: 0;
  }
}

h3 {
  color: #fff;
  font-size: 35px;
  font-style: normal;
  font-weight: 500;
  line-height: 40px;
  text-transform: none;
}
@media (max-width: 550px) {
  h3 {
    font-size: 19px;
    line-height: 26px;
  }
}

hr {
  width: 100%;
  height: 1px;
  background: #77675e;
  border: none;
  position: relative;
  text-align: center;
}

.podpora {
  display: flex;
  justify-content: center;
  padding: 25px 25px 35px;
  flex-direction: column;
  align-content: center;
  align-items: center;
}
.podpora p {
  color: #cbb8ac;
  font-feature-settings: "clig" off, "liga" off;
  font-size: 18px;
  font-style: normal;
  font-weight: 300;
  line-height: 32px;
  /* 177.778% */
  letter-spacing: 1px;
}
@media (max-width: 550px) {
  .podpora p {
    font-size: 17px;
    line-height: 22px;
  }
}
.podpora__inner {
  width: 100%;
  max-width: 1180px;
  display: flex;
  gap: 15px 65px;
}
@media (max-width: 550px) {
  .podpora__inner {
    flex-direction: column-reverse;
  }
}
.podpora__group {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.podpora__left {
  color: #cbb8ac;
  font-feature-settings: "clig" off, "liga" off;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 300;
  line-height: 2rem;
  /* 177.778% */
  letter-spacing: 0.0625rem;
}
.podpora__left--supported {
  padding-bottom: 15px;
}
.podpora__text {
  color: #cbb8ac;
  text-align: left;
  font-size: 18px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
}
.podpora__text--date::before {
  content: "";
  content: url("/assets/ico/calendar.svg");
  display: inline-block;
  width: 23px;
  aspect-ratio: 1;
}
.podpora__text--location::before {
  content: "";
  display: inline-block;
  content: url("/assets/ico/location.svg");
  width: 32px;
  aspect-ratio: 1;
}
.podpora__arrow {
  display: none;
}
@media (min-width: 550px) {
  .podpora__arrow {
    display: block;
    background: #52433c;
    border-radius: 50%;
    position: relative;
    width: 40px;
    height: 40px;
    cursor: pointer;
    transition: background 0.4s ease-in-out;
  }
  .podpora__arrow::before {
    content: "";
    position: absolute;
    display: block;
    background: url("/assets/ico/arrow.svg") no-repeat;
    background-size: contain;
    width: 9px;
    height: 14px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .podpora__arrow--right::before {
    transform: translate(-50%, -50%) scaleX(-1);
  }
  .podpora__arrow:hover {
    background-color: hsl(19, 15%, 38%);
  }
}

.supported {
  margin-bottom: 75px;
}
.supported__year {
  display: flex;
  align-items: center;
  gap: 29px;
  padding: 80px 0 39px 0;
}
.supported__year:first-of-type {
  padding: 30px 0 39px 0;
}
.supported__year > hr {
  flex: 1 1 100%;
  width: 100%;
  height: 1px;
  background: #52433c;
}
.supported__year > h3 {
  color: #cbb8ac;
  text-align: center;
  font-feature-settings: "clig" off, "liga" off;
  font-size: 1.5625rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.875rem;
  letter-spacing: 0.0625rem;
}
.supported__listing {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.supported__image {
  flex: 338px 0 1;
  min-width: 338px;
  aspect-ratio: 338/273;
  padding: 13px;
  border: 1px solid #52433c;
  background: transparent;
  transition-property: background;
  transition-duration: 0.6s;
  transition-timing-function: ease-out;
  height: 100%;
}
.supported__image img {
  object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
}
.supported__right {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.supported__right > h4 {
  color: #fff;
  font-feature-settings: "clig" off, "liga" off;
  letter-spacing: 0.6px;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 500;
  line-height: 3rem;
  text-transform: none;
  transition-property: text-decoration-color;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 3rem;
  max-height: 6rem;
}
.supported__right > b {
  letter-spacing: 0.0625rem;
  color: #cbb8ac;
  font-feature-settings: "clig" off, "liga" off;
  font-size: 1.375rem;
  font-style: normal;
  font-weight: 400;
  /* 136.364% */
  letter-spacing: 0.0625rem;
  text-transform: lowercase;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.875rem;
  max-height: 3.75rem;
}
.supported__right > p {
  color: #cbb8ac;
  font-feature-settings: "clig" off, "liga" off;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 300;
  line-height: 2rem;
  /* 177.778% */
  letter-spacing: 0.0625rem;
  margin: 0;
}
.supported__date {
  font-size: 1rem !important;
}
.supported__item {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 48px;
  text-decoration: none;
}
@media (min-width: 52.5em) {
  .supported__item {
    flex-direction: row;
  }
}
.supported__item:hover picture {
  background: #52433c;
  transition-duration: 0.3s;
  transition-timing-function: ease-in;
}
.supported__item:hover > .supported__right > h4 {
  text-decoration-color: hsl(255, 100%, 100%);
  transition-duration: 0.3s;
  transition-timing-function: ease-in;
}
.supported__input {
  visibility: hidden;
  position: absolute;
}
.supported__stack-heading {
  display: inline-flex;
  align-items: center;
  gap: 15px;
}
.supported__button {
  width: 24px;
  height: 24px;
  background-color: #cbb8ac;
  -webkit-mask-image: url("/assets/ico/caret-circle-down-fill.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url("/assets/ico/caret-circle-down-fill.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.3s 0s ease;
}
.supported__button:hover {
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.9843137255);
}
.supported .supported__listing {
  interpolate-size: allow-keywords;
  opacity: 1;
  height: auto;
  overflow: hidden;
  transition: height 0.55s ease-in, opacity 0.55s ease-in;
}
.supported .supported__listing:has(.supported__input:checked) {
  opacity: 0;
  transition: height 0.6s ease-out, opacity 0.6s ease-out;
  height: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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REFDSTtBQXJEWjtBQXdEUTtFQUNJO0VBQ0EsdURBQ0k7RUFFSjtBQXhEWixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vUHJvamVjdC8uL3BvZHBvcmEuZW50cnkuc2NzcyIsIndlYnBhY2s6Ly9Qcm9qZWN0Ly4vX21xLnNjc3MiLCJ3ZWJwYWNrOi8vUHJvamVjdC8uLi8uLi8uLi9fZnJvbnQvc3JjL3Njc3MvYWJzdHJhY3RzL19tYXNrLWltYWdlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIi4vbXFcIjtcbkBpbXBvcnQgXCIvd3d3L19mcm9udC9zcmMvc2Nzcy9hYnN0cmFjdHMvbWFzay1pbWFnZVwiO1xuXG5oMSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczpcbiAgICAgICAgXCJjbGlnXCIgb2ZmLFxuICAgICAgICBcImxpZ2FcIiBvZmY7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiA5MHB4O1xuICAgIC8qIDIyNSUgKi9cbiAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5oMyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxufVxuXG5ociB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogIzc3Njc1ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBvZHBvcmEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogaHNsYSgyMywgMjMlLCA3NCUsIDAuMik7XG4gICAgcGFkZGluZzogMjVweCAyNXB4IDM1cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHAge1xuICAgICAgICBjb2xvcjogI2NiYjhhYztcbiAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOlxuICAgICAgICAgICAgXCJjbGlnXCIgb2ZmLFxuICAgICAgICAgICAgXCJsaWdhXCIgb2ZmO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIC8qIDE3Ny43NzglICovXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTE4MHB4O1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMTVweCA2NXB4O1xuXG4gICAgICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgfVxuXG4gICAgJl9fbGVmdCB7XG4gICAgICAgIGNvbG9yOiAjY2JiOGFjO1xuICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6XG4gICAgICAgICAgICBcImNsaWdcIiBvZmYsXG4gICAgICAgICAgICBcImxpZ2FcIiBvZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgIC8qIDE3Ny43NzglICovXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA2MjVyZW07XG5cbiAgICAgICAgJi0tc3VwcG9ydGVkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjY2JiOGFjO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTFweDtcblxuICAgICAgICAmLS1kYXRlOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvaWNvL2NhbGVuZGFyLnN2Z1wiKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbG9jYXRpb246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogdXJsKFwiL2Fzc2V0cy9pY28vbG9jYXRpb24uc3ZnXCIpO1xuICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM1MjQzM2M7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2ljby9hcnJvdy5zdmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXJpZ2h0OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlWCgtMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgxOSwgMTUlLCAzOCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3VwcG9ydGVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuXG4gICAgJl9feWVhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMjlweDtcbiAgICAgICAgcGFkZGluZzogODBweCAwIDM5cHggMDtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDM5cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBociB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNTI0MzNjO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjY2JiOGFjO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOlxuICAgICAgICAgICAgICAgIFwiY2xpZ1wiIG9mZixcbiAgICAgICAgICAgICAgICBcImxpZ2FcIiBvZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNDhweDtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGZsZXg6IDMzOHB4IDAgMTtcbiAgICAgICAgbWluLXdpZHRoOiAzMzhweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAzMzggLyAyNzM7XG4gICAgICAgIHBhZGRpbmc6IDEzcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1MjQzM2M7XG5cbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JpZ2h0IHtcbiAgICAgICAgLy8gcGFkZGluZzogMTNweCAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEycHg7XG5cbiAgICAgICAgJiA+IGg0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOlxuICAgICAgICAgICAgICAgIFwiY2xpZ1wiIG9mZixcbiAgICAgICAgICAgICAgICBcImxpZ2FcIiBvZmY7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0ZXh0LWRlY29yYXRpb24tY29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4O1xuICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG5cbiAgICAgICAgICAgICRsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICRudW1iZXItcm93czogMjtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAkbnVtYmVyLXJvd3M7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKCRudW1iZXItcm93cyAqICRsaW5lLWhlaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gYiB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNjI1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNjYmI4YWM7XG4gICAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6XG4gICAgICAgICAgICAgICAgXCJjbGlnXCIgb2ZmLFxuICAgICAgICAgICAgICAgIFwibGlnYVwiIG9mZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgLyogMTM2LjM2NCUgKi9cbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA2MjVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICAgICAgJGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICAgICAgICAgICRudW1iZXItcm93czogMjtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAkbnVtYmVyLXJvd3M7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKCRudW1iZXItcm93cyAqICRsaW5lLWhlaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gcCB7XG4gICAgICAgICAgICBjb2xvcjogI2NiYjhhYztcbiAgICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczpcbiAgICAgICAgICAgICAgICBcImNsaWdcIiBvZmYsXG4gICAgICAgICAgICAgICAgXCJsaWdhXCIgb2ZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIC8qIDE3Ny43NzglICovXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgLy8gJGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgLy8gJG51bWJlci1yb3dzOiAzO1xuICAgICAgICAgICAgLy8gZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAvLyAtd2Via2l0LWxpbmUtY2xhbXA6ICRudW1iZXItcm93cztcbiAgICAgICAgICAgIC8vIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgLy8gbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgICAgICAgIC8vIG1heC1oZWlnaHQ6IGNhbGMoJG51bWJlci1yb3dzICogJGxpbmUtaGVpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RhdGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGdhcDogNDhweDtcblxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzUyNDMzYztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmID4gLnN1cHBvcnRlZF9fcmlnaHQgPiBoNCB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBoc2woMjU1LCAxMDAlLCAxMDAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2lucHV0IHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgICZfX3N0YWNrLWhlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxNXB4O1xuICAgIH1cbiAgICAmX19idXR0b24ge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBAaW5jbHVkZSBtYXNrLWltYWdlKFwiL2Fzc2V0cy9pY28vY2FyZXQtY2lyY2xlLWRvd24tZmlsbC5zdmdcIiwgI2NiYjhhYyk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZmZiO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zdXBwb3J0ZWRfX2xpc3Rpbmcge1xuICAgICAgICBpbnRlcnBvbGF0ZS1zaXplOiBhbGxvdy1rZXl3b3JkcztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgaGVpZ2h0IDAuNTVzIGVhc2UtaW4sXG4gICAgICAgICAgICBvcGFjaXR5IDAuNTVzIGVhc2UtaW47XG5cbiAgICAgICAgJjpoYXMoLnN1cHBvcnRlZF9faW5wdXQ6Y2hlY2tlZCkge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgaGVpZ2h0IDAuNnMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgb3BhY2l0eSAwLjZzIGVhc2Utb3V0O1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bGlzdCc7XG5cbi8vLyBCcmVha3BvaW50IGxpc3Rcbi8vL1xuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJGJyZWFrcG9pbnRzOiAoXG4gIG1vYmlsZTogMzgwcHgsXG4gIG1vYmlsZS1iaWc6IDQ1MHB4LFxuICB0YWJsZXQ6IDg0MHB4LFxuICBkZXNrdG9wOiAxMjgwcHgsXG4gIGRlc2t0b3AxMDI0OiAxMzI0cHgsXG4gIHdpZGU6IDE1ODhweCxcbiAgZnVsbGhkOiAxODIwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aC4gRm9yIGV4YW1wbGU6IChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICBAdXNlICdwYXRoL3RvL21xJyB3aXRoICgkc2hvdy1icmVha3BvaW50czogKCdtb2JpbGUnLCAndGFibGV0JywgJ2Rlc2t0b3AnKSk7XG4vLy9cbi8vL1xuLy8vIEB0eXBlIG1hcFxuJHNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChmb3IgZXhhbXBsZTogYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBvdmVycmllZCB0aGUgbWVkaWEgdHlwZSwgeW91IGNhbiB1c2UgdGhpcyBvcHRpb24uXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgQHVzZSAncGF0aC90by9tcScgd2l0aCAoJG1lZGlhLXR5cGU6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVcbiRtZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBweDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5cbkBmdW5jdGlvbiBweDJlbSgkcHgpIHtcbiAgQGlmIG1hdGguaXMtdW5pdGxlc3MoJHB4KSB7XG4gICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgQHJldHVybiBweDJlbSgkcHggKiAxcHgpO1xuICB9XG4gIC8vIGlmICRweCBpcyBjb21wYXRpYmxlIHdpdGggZW0gdW5pdHMsIHRoZW4gcmV0dXJuIHZhbHVlIHVuY2hhbmdlZFxuICBAaWYgbWF0aC5jb21wYXRpYmxlKCRweCwgMWVtKSB7XG4gICAgQHJldHVybiAkcHg7XG4gIH1cbiAgQHJldHVybiBtYXRoLmRpdigkcHgsIDE2cHgpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IGdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBnZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBnZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gW2ZhbHNlXSAtIE9uZSBvZiAkYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCBbZmFsc2VdIC0gT25lIG9mICRicmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCBbZmFsc2VdIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlIFskbWVkaWEtdHlwZV0gLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRicmVha3BvaW50c11cbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtZWRpYS10eXBlXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gcHgyZW1cbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBnZXQtYnJlYWtwb2ludC13aWR0aFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEB1c2UgJ3BhdGgvdG8vbXEnIGFzICo7XG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgJGZyb206IGZhbHNlLFxuICAkdW50aWw6IGZhbHNlLFxuICAkYW5kOiBmYWxzZSxcbiAgJG1lZGlhLXR5cGU6ICRtZWRpYS10eXBlLFxuICAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50c1xuKSB7XG4gICRtaW4td2lkdGg6IDA7XG4gICRtYXgtd2lkdGg6IDA7XG4gICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXG4gIEBpZiAkZnJvbSB7XG4gICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XG4gICAgICAkbWluLXdpZHRoOiBweDJlbSgkZnJvbSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWluLXdpZHRoOiBweDJlbShnZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxuICBAaWYgJHVudGlsIHtcbiAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XG4gICAgICAkbWF4LXdpZHRoOiBweDJlbSgkdW50aWwpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heC13aWR0aDogcHgyZW0oZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIDAuMDFlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1pbi13aWR0aCAhPSAwIHtcbiAgICAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJztcbiAgfVxuICBAaWYgJG1heC13aWR0aCAhPSAwIHtcbiAgICAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJztcbiAgfVxuICBAaWYgJGFuZCB7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JztcbiAgfVxuXG4gIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgfVxuXG4gIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9xdWljay1zb3J0KCRsaXN0KSB7XG4gICRsZXNzOiAoKTtcbiAgJGVxdWFsOiAoKTtcbiAgJGxhcmdlOiAoKTtcblxuICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICRzZWVkOiBsaXN0Lm50aCgkbGlzdCwgbWF0aC5jZWlsKG1hdGguZGl2KGxlbmd0aCgkbGlzdCksIDIpKSk7XG5cbiAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XG4gICAgICAgICRlcXVhbDogbGlzdC5hcHBlbmQoJGVxdWFsLCAkaXRlbSk7XG4gICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XG4gICAgICAgICRsZXNzOiBsaXN0LmFwcGVuZCgkbGVzcywgJGl0ZW0pO1xuICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xuICAgICAgICAkbGFyZ2U6IGxpc3QuYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gam9pbihqb2luKF9xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX3F1aWNrLXNvcnQoJGxhcmdlKSk7XG4gIH1cblxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcbkBmdW5jdGlvbiBfbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xuICAkbWFwLXNvcnRlZDogKCk7XG4gICRtYXAta2V5czogbWFwLmtleXMoJG1hcCk7XG4gICRtYXAtdmFsdWVzOiBtYXAudmFsdWVzKCRtYXApO1xuICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xuICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgJGtleTogbGlzdC5udGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xuICAgICRtYXAtc29ydGVkOiBtYXAubWVyZ2UoXG4gICAgICAkbWFwLXNvcnRlZCxcbiAgICAgIChcbiAgICAgICAgJGtleTogJHZhbHVlLFxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICRtYXAtdmFsdWVzOiBsaXN0LnNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gIH1cblxuICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIGFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICRuZXctYnJlYWtwb2ludDogKFxuICAgICRuYW1lOiAkd2lkdGgsXG4gICk7XG4gICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAkYnJlYWtwb2ludHM6IF9tYXAtc29ydC1ieS12YWx1ZSgkYnJlYWtwb2ludHMpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzIFskc2hvdy1icmVha3BvaW50c10gLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskYnJlYWtwb2ludHNdIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRicmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRzaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIHNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gc2hvdy1icmVha3BvaW50cyhcbiAgJHNob3ctYnJlYWtwb2ludHM6ICRzaG93LWJyZWFrcG9pbnRzLFxuICAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50c1xuKSB7XG4gIGJvZHk6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmJlZWQ1O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZiZWVkNTtcbiAgICBjb2xvcjogI2MwOTg1MztcbiAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAkd2lkdGg6IGdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICBjb250ZW50OiAnI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje3B4MmVtKCR3aWR0aCl9KSc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpZiBsaXN0Lmxlbmd0aCgkc2hvdy1icmVha3BvaW50cykgPiAwIHtcbiAgQGluY2x1ZGUgc2hvdy1icmVha3BvaW50cztcbn0iLCJAbWl4aW4gbWFzay1pbWFnZSgkdGFyZ2V0OiAncGF0aCB0byBmaWxlJyxcbiAgICAkY29sb3I6ICMwMDAsXG4gICAgJHNpemU6IGNvbnRhaW4sXG4gICAgJHJlcGVhdDogbm8tcmVwZWF0LFxuICAgICR0cmFuc2l0aW9uOiB0cnVlLFxuICAgICR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3MsXG4gICAgJHRyYW5zaXRpb24tdGltaW5nOiBlYXNlLFxuICAgICR0cmFuc2l0aW9uLWRlbGF5OiAwcyxcbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCgkdGFyZ2V0KTtcbiAgICAtd2Via2l0LW1hc2stcmVwZWF0OiAkcmVwZWF0O1xuICAgIC13ZWJraXQtbWFzay1zaXplOiAkc2l6ZTtcbiAgICBtYXNrLWltYWdlOiB1cmwoJHRhcmdldCk7XG4gICAgbWFzay1yZXBlYXQ6ICRyZXBlYXQ7XG4gICAgbWFzay1zaXplOiAkc2l6ZTtcblxuICAgIEBpZiAoJHRyYW5zaXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1kZWxheSAkdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/