:root {
  --font-family-primary: Rubik, sans-serif;
  --font-family-secondary: sans-serif;
}

/*
Replacement for bootstraps media query include
Usage in file:
    @use "assets/sass/abstracts/custom-breakpoints" as bp;

    @include bp.media-breakpoint-up(lg) {
        // Your styles here
    }
 */
.hero {
  background-color: var(--color-background-yellow);
  overflow: hidden;
  padding: 0 0.75rem 4rem;
}
.hero .main-title {
  color: var(--color-background-black);
  font-size: 2.875rem;
  font-weight: 400;
  line-height: 2rem;
}
.hero .main-title .highlighted-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0.375rem 0 0;
  height: 5.125rem;
  color: var(--color-background-yellow);
  font-weight: 500;
  position: relative;
  z-index: 1;
  white-space: nowrap;
}
.hero .main-title .highlighted-text:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: -5vw;
  width: -webkit-calc(100% + 2vw);
  width: calc(100% + 2vw);
  height: 5rem;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='587' height='93' viewBox='0 0 587 93' fill='none'><path d='M14.465 7.84272L587 0.5L566.469 90.3404L0 92.5L14.465 7.84272Z' fill='%23121314'/></svg>") no-repeat center/contain;
}
.hero .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  margin: 1rem 0 0;
}
.hero .content .subtitle {
  color: var(--color-background-black);
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 400;
}
.hero .content .text {
  color: var(--color-background-black);
  font-size: 1rem;
  line-height: 1.3125rem;
  font-weight: 400;
}
.hero .button-wrapper {
  margin: 1.5rem 0 0;
}
.hero .image-col {
  margin-top: 2rem;
}
.hero .image-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 26.1875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 131/284;
  position: relative;
}
.hero .image-wrapper img {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 94%;
  max-height: 94%;
  -o-object-position: center;
     object-position: center;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 2;
  -webkit-transform: rotate(14deg);
          transform: rotate(14deg);
}
.hero .image-wrapper svg {
  color: var(--color-hero-box);
  position: absolute;
  height: 100%;
}
.hero .image-wrapper svg rect {
  -webkit-animation: floatRectangles 3s ease-in-out infinite;
          animation: floatRectangles 3s ease-in-out infinite;
}
.hero .image-wrapper svg rect:nth-of-type(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.hero .image-wrapper svg rect:nth-of-type(2) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.hero .image-wrapper svg rect:nth-of-type(3) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.hero .image-wrapper svg rect:nth-of-type(4) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.hero .image-wrapper svg rect:nth-of-type(5) {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.hero .image-wrapper svg rect:nth-of-type(6) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.hero .image-wrapper svg rect:nth-of-type(7) {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.hero .image-wrapper svg rect:nth-of-type(8) {
  -webkit-animation-delay: 2.1s;
          animation-delay: 2.1s;
}
.hero .image-wrapper svg rect:nth-of-type(9) {
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}
.hero .image-wrapper svg rect:nth-of-type(10) {
  -webkit-animation-delay: 2.7s;
          animation-delay: 2.7s;
}
@-webkit-keyframes floatRectangles {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes floatRectangles {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.hero .statistics-row {
  margin-top: 3rem;
}
.hero .statistics-row .col-12 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25rem;
}
.hero .statistics-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  min-height: 9.75rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(50% - 1rem);
          flex: 1 1 -webkit-calc(50% - 1rem);
          flex: 1 1 calc(50% - 1rem);
  max-width: -webkit-calc(50% - 1rem);
  max-width: calc(50% - 1rem);
  padding: 2.1875rem 2.25rem;
  border-radius: 3rem;
  background: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
.hero .statistics-card:last-child:nth-child(odd) {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  max-width: 100%;
}
.hero .statistics-card .title {
  color: var(--color-background-black);
  font-size: 3rem;
  line-height: normal;
  font-weight: 500;
  letter-spacing: -0.125rem;
}
.hero .statistics-card .description {
  color: var(--color-background-black);
  font-size: 1.25rem;
  line-height: 1.625rem;
  font-weight: 400;
  text-align: center;
  white-space: pre-line;
}
@media (min-width: 48rem) {
  .hero {
    padding: 0 0 4rem 0;
  }
  .hero .main-title .highlighted-text:after {
    left: -16vw;
    width: -webkit-calc(100% - 6vw);
    width: calc(100% - 6vw);
    height: 4.875rem;
  }
}
@media (min-width: 62rem) {
  .hero {
    padding: 0 0 4.9375rem 0;
  }
  .hero .content-col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .hero .main-title {
    font-size: 4.625rem;
    line-height: 3.25rem;
  }
  .hero .main-title .highlighted-text {
    margin: 0.75rem 0 0;
    height: 5.8125rem;
  }
  .hero .main-title .highlighted-text:after {
    left: -3.5vw;
    width: -webkit-calc(100% + 10vw);
    width: calc(100% + 10vw);
    height: 5.8125rem;
  }
  .hero .content {
    gap: 1.625rem;
    margin: 1.875rem 0 0;
  }
  .hero .content .subtitle {
    font-size: 2rem;
    line-height: 1.75rem;
  }
  .hero .content .text {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .hero .button-wrapper {
    margin: 2rem 0 0;
  }
  .hero .image-col {
    margin-top: unset;
  }
  .hero .image-wrapper {
    height: 39.3125rem;
    aspect-ratio: 131/284;
  }
  .hero .statistics-row {
    margin-top: 1.5rem;
  }
  .hero .statistics-row .col-12 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .hero .statistics-card {
    min-height: 13.75rem;
    width: 100%;
    max-width: unset;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
  .hero .statistics-card:last-child:nth-child(odd) {
    max-width: unset;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
  .hero .statistics-card .title {
    font-size: 3.75rem;
    letter-spacing: -0.125rem;
  }
  .hero .statistics-card .description {
    font-size: 1.375rem;
    line-height: 1.8125rem;
  }
}
@media (min-width: 75rem) {
  .hero .main-title .highlighted-text:after {
    left: -3.5vw;
    width: -webkit-calc(100% + 7vw);
    width: calc(100% + 7vw);
  }
}
@media (min-width: 90rem) {
  .hero .main-title .highlighted-text:after {
    left: -5.5vw;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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SUFDSTtJQUNBO0lBQUE7RUFabEI7QUFDRjtBQ3RQUTtFRDZRUTtJQUNJO0VBcEJsQjtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9hYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Jsb2Nrcy9oZXJvL2hlcm8uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9hYnN0cmFjdHMvX2N1c3RvbS1icmVha3BvaW50cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIiRmb250LWZhbWlseS1wcmltYXJ5OiBcIlJ1YmlrXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2Vjb25kYXJ5OiBzYW5zLXNlcmlmO1xuXG46cm9vdCB7XG4gICAgLS1mb250LWZhbWlseS1wcmltYXJ5OiAjeyRmb250LWZhbWlseS1wcmltYXJ5fTtcbiAgICAtLWZvbnQtZmFtaWx5LXNlY29uZGFyeTogI3skZm9udC1mYW1pbHktc2Vjb25kYXJ5fTtcbn1cblxuLy8gUkZTXG4vLyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZTtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMDtcbiRncmlkLWd1dHRlci13aWR0aDogMnJlbTsgLy8gMzJweFxuJHJmcy1icmVha3BvaW50OiA4NS4zNzVyZW07IC8vIDEzNjZweFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlO1xuXG4vLyBHcmlkXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgIHhzOiAwLFxuICAgIHNtOiAzNnJlbSwgLy8gNTc2cHhcbiAgICBtZDogNDhyZW0sIC8vIDc2OHB4XG4gICAgbGc6IDYycmVtLCAvLyA5OTJweFxuICAgIHhsOiA3NXJlbSwgLy8gMTIwMHB4XG4gICAgeHhsOiA5MHJlbSAvLyAxNDQwcHhcbik7XG5cbi8vIENvbnRhaW5lclxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICAgc206IDM2LjI1cmVtLCAvLyA1ODBweFxuICAgIG1kOiAzOC43NXJlbSwgLy8gNjIwcHhcbiAgICBsZzogNjByZW0sIC8vIDk2MHB4XG4gICAgeGw6IDY2cmVtIC8vIDEwNTZweFxuKTtcbiIsIkB1c2UgXCJAc2Fzcy9hYnN0cmFjdHMvY3VzdG9tLWJyZWFrcG9pbnRzXCIgYXMgYnA7XG5AdXNlIFwiQHNhc3MvYWJzdHJhY3RzL2Z1bmN0aW9uc1wiIGFzICo7XG5cbi5oZXJvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXllbGxvdyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIHB4LXRvLXJlbSgxMikgcHgtdG8tcmVtKDY0KTtcblxuICAgIC5tYWluLXRpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYmxhY2spO1xuICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSg0Nik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oMzIpO1xuXG4gICAgICAgIC5oaWdobGlnaHRlZC10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiBweC10by1yZW0oNikgMCAwO1xuICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oODIpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQteWVsbG93KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC01dnc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJ2dyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oODApO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNTg3JyBoZWlnaHQ9JzkzJyB2aWV3Qm94PScwIDAgNTg3IDkzJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMTQuNDY1IDcuODQyNzJMNTg3IDAuNUw1NjYuNDY5IDkwLjM0MDRMMCA5Mi41TDE0LjQ2NSA3Ljg0MjcyWicgZmlsbD0nJTIzMTIxMzE0Jy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHB4LXRvLXJlbSg2KTtcbiAgICAgICAgbWFyZ2luOiBweC10by1yZW0oMTYpIDAgMDtcblxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYmxhY2spO1xuICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMjIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSgyOCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYmxhY2spO1xuICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSgyMSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiBweC10by1yZW0oMjQpIDAgMDtcbiAgICB9XG5cbiAgICAuaW1hZ2UtY29sIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDMyKTtcbiAgICB9XG5cbiAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oNDE5KTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTMxLzI4NDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogOTQlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogOTQlO1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE0ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGVyby1ib3gpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICByZWN0IHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IGZsb2F0UmVjdGFuZ2xlcyAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gICAgICAgICAgICAgICAgcmVjdDpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICN7KCRpIC0gMSkgKiAwLjN9cztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAa2V5ZnJhbWVzIGZsb2F0UmVjdGFuZ2xlcyB7XG5cbiAgICAgICAgICAgIDAlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDUwJSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGF0aXN0aWNzLXJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSg0OCk7XG5cbiAgICAgICAgLmNvbC0xMiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZ2FwOiBweC10by1yZW0oMjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0YXRpc3RpY3MtY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogcHgtdG8tcmVtKDYpO1xuICAgICAgICBtaW4taGVpZ2h0OiBweC10by1yZW0oMTU2KTtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoNTAlIC0gMXJlbSk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgICAgICAgcGFkZGluZzogcHgtdG8tcmVtKDM1KSBweC10by1yZW0oMzYpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBweC10by1yZW0oNDgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzApO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYmxhY2spO1xuICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oNDgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcHgtdG8tcmVtKC0yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ibGFjayk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI2KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicC5tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCBweC10by1yZW0oNjQpIDA7XG5cbiAgICAgICAgLm1haW4tdGl0bGUge1xuXG4gICAgICAgICAgICAuaGlnaGxpZ2h0ZWQtdGV4dCB7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTE2dnc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2dncpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSg3OCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAubWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICBwYWRkaW5nOiAwIDAgcHgtdG8tcmVtKDc5KSAwO1xuXG4gICAgICAgIC5jb250ZW50LWNvbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oNzQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSg1Mik7XG5cbiAgICAgICAgICAgIC5oaWdobGlnaHRlZC10ZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHB4LXRvLXJlbSgxMikgMCAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHgtdG8tcmVtKDkzKTtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMy41dnc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMHZ3KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oOTMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGdhcDogcHgtdG8tcmVtKDI2KTtcbiAgICAgICAgICAgIG1hcmdpbjogcHgtdG8tcmVtKDMwKSAwIDA7XG5cbiAgICAgICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMzIpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oMjgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMjApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oMjgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogcHgtdG8tcmVtKDMyKSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2UtY29sIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oNjI5KTtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTMxLzI4NDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGF0aXN0aWNzLXJvdyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBweC10by1yZW0oMjQpO1xuXG4gICAgICAgICAgICAuY29sLTEyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXRpc3RpY3MtY2FyZCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBweC10by1yZW0oMjIwKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIGZsZXg6IHVuc2V0O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgZmxleDogdW5zZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oNjApO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBweC10by1yZW0oLTIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDIyKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwLm1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblxuICAgICAgICAubWFpbi10aXRsZSB7XG5cbiAgICAgICAgICAgIC5oaWdobGlnaHRlZC10ZXh0IHtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMy41dnc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA3dncpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwLm1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG5cbiAgICAgICAgLm1haW4tdGl0bGUge1xuXG4gICAgICAgICAgICAuaGlnaGxpZ2h0ZWQtdGV4dCB7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTUuNXZ3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiIGFzIHZhcnM7XG5cbi8qXG5SZXBsYWNlbWVudCBmb3IgYm9vdHN0cmFwcyBtZWRpYSBxdWVyeSBpbmNsdWRlXG5Vc2FnZSBpbiBmaWxlOlxuICAgIEB1c2UgXCJhc3NldHMvc2Fzcy9hYnN0cmFjdHMvY3VzdG9tLWJyZWFrcG9pbnRzXCIgYXMgYnA7XG5cbiAgICBAaW5jbHVkZSBicC5tZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIC8vIFlvdXIgc3R5bGVzIGhlcmVcbiAgICB9XG4gKi9cbi8vIExvY2FsIGJyZWFrcG9pbnRzIHdpdGggZGVmYXVsdCBmYWxsYmFja1xuJGN1c3RvbS1icmVha3BvaW50czogdmFycy4kZ3JpZC1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8gTWluLXdpZHRoIGJyZWFrcG9pbnRcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgQGlmIG1hcC5oYXMta2V5KCRjdXN0b20tYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCRjdXN0b20tYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiVW5rbm93biBicmVha3BvaW50OiAjeyRicmVha3BvaW50fS4gQXZhaWxhYmxlIGJyZWFrcG9pbnRzOiAje21hcC5rZXlzKCRjdXN0b20tYnJlYWtwb2ludHMpfVwiO1xuICAgIH1cbn1cblxuLy8gTWF4LXdpZHRoIGJyZWFrcG9pbnRcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICBAaWYgbWFwLmhhcy1rZXkoJGN1c3RvbS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJG5leHQtYnJlYWtwb2ludDogX2dldC1uZXh0LWJyZWFrcG9pbnQoJGN1c3RvbS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xuICAgICAgICBAaWYgJG5leHQtYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogKCRuZXh0LWJyZWFrcG9pbnQgLSAwLjAycHgpKSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGNvbnRlbnQ7IC8vIE5vIHVwcGVyIGxpbWl0IGZvciBsYXJnZXN0IGJyZWFrcG9pbnRcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJVbmtub3duIGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9LiBBdmFpbGFibGUgYnJlYWtwb2ludHM6ICN7bWFwLmtleXMoJGN1c3RvbS1icmVha3BvaW50cyl9XCI7XG4gICAgfVxufVxuXG4vLyBCZXR3ZWVuIHR3byBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlcikge1xuICAgIEBpZiBtYXAuaGFzLWtleSgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkbG93ZXIpIGFuZCBtYXAuaGFzLWtleSgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkdXBwZXIpIHtcbiAgICAgICAgJG1pbjogbWFwLmdldCgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkbG93ZXIpO1xuICAgICAgICAkbWF4OiBtYXAuZ2V0KCRjdXN0b20tYnJlYWtwb2ludHMsICR1cHBlcik7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogKCRtYXggLSAwLjAycHgpKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJJbnZhbGlkIGJyZWFrcG9pbnQgcmFuZ2UuIEF2YWlsYWJsZSBicmVha3BvaW50czogI3ttYXAua2V5cygkY3VzdG9tLWJyZWFrcG9pbnRzKX1cIjtcbiAgICB9XG59XG5cbi8vIFByaXZhdGUgaGVscGVyIGZ1bmN0aW9uXG5AZnVuY3Rpb24gX2dldC1uZXh0LWJyZWFrcG9pbnQoJG1hcCwgJGtleSkge1xuICAgICRrZXlzOiBtYXAua2V5cygkbWFwKTtcbiAgICAkaTogbGlzdC5pbmRleCgka2V5cywgJGtleSk7XG4gICAgQHJldHVybiBpZigkaSBhbmQgJGkgPCBsaXN0Lmxlbmd0aCgka2V5cyksIG1hcC5nZXQoJG1hcCwgbGlzdC5udGgoJGtleXMsICRpICsgMSkpLCBudWxsKTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/