/****************
 * Fonts
 ****************/
/****************
 * Paints
 ****************/
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
#jquery-live-search {
  width: 100vw !important;
  margin-top: -0.375rem;
}

/* stylelint-disable scss/at-extend-no-missing-placeholder */ /****************
 * Fonts
 ****************/
/****************
 * Paints
 ****************/
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
#jquery-live-search {
  width: 100vw !important;
  margin-top: -0.375rem;
}

/****************
 * Fonts
 ****************/
/****************
 * Paints
 ****************/
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
#jquery-live-search {
  width: 100vw !important;
  margin-top: -0.375rem;
}

.lightbox-gallery {
  margin-bottom: 3.125rem;
}
@media (min-width: 48rem) {
  .lightbox-gallery {
    margin-bottom: 8.125rem;
  }
}
.lightbox-gallery__gallery-wrapper, .video-gallery__lightbox {
  position: fixed;
  z-index: 999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  visibility: visible;
  transition: all 300ms ease;
  opacity: 1;
  background-color: #353c52;
  padding-top: 5rem;
}
.lightbox-gallery__gallery-wrapper:not(.active), .video-gallery__lightbox:not(.active) {
  visibility: hidden;
  opacity: 0;
}
.lightbox-gallery__close, .video-gallery__close {
  position: absolute;
  z-index: 999;
  top: 1.875rem;
  right: 1.875rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  cursor: pointer;
  color: #fff;
  font-size: 1.5rem;
  border: none;
  padding: 0;
  background: none;
}
.lightbox-gallery__close > [class^=icon], .video-gallery__close > [class^=icon] {
  display: block;
}
.lightbox-gallery__single-thumb {
  margin-bottom: 1.875rem;
}
.lightbox-gallery__single-thumb:hover, .lightbox-gallery__single-thumb:focus {
  opacity: 0.8;
}
.lightbox-gallery .gallery-slider {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translate(0, -50%);
}
.lightbox-gallery .gallery-slider__caption {
  color: #fff;
}

.gallery-slider__slider {
  padding: 0;
}
.gallery-slider__image {
  overflow: hidden;
}
.gallery-slider__image img {
  border: 0.5px solid #000;
}
@media (min-width: 62rem) {
  .gallery-slider__image img {
    border-width: 1px;
  }
}
.gallery-slider__caption {
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin-top: 1rem;
  margin-bottom: 0;
  text-align: left;
}
.gallery-slider .slick-arrow {
  display: none !important;
  outline: none;
}
@media (min-width: 62rem) {
  .gallery-slider .slick-arrow {
    display: block !important;
  }
  .gallery-slider .slick-arrow.slick-next {
    right: 3rem;
  }
  .gallery-slider .slick-arrow.slick-prev {
    left: 3rem;
  }
}
@media (min-width: 62rem) {
  .gallery-slider .slick-dots {
    display: none !important;
  }
}

.gallery-slider--fluid .slick-list {
  padding: 0 clamp(1.25rem, -1.7406542056rem + 6.230529595vw, 3.75rem);
}
@media (min-width: 62rem) {
  .gallery-slider--fluid .slick-list {
    padding: 0 3.75rem;
  }
}
.gallery-slider--fluid .gallery-slider__single-slide {
  padding: 0 0.3125rem;
  overflow: hidden;
}
@media (min-width: 62rem) {
  .gallery-slider--fluid .gallery-slider__single-slide {
    padding: 0 0.9375rem;
  }
}
.gallery-slider--fluid .gallery-slider__image-container, .block-slider-gallery--hard .gallery-slider--fluid .gallery-slider__image-container {
  width: 100%;
  padding-top: 75%;
  max-width: 80.625rem;
}
@media (min-width: 62rem) {
  .gallery-slider--fluid .gallery-slider__image-container, .block-slider-gallery--hard .gallery-slider--fluid .gallery-slider__image-container {
    padding-top: 56.25%;
    width: 87.1875rem;
  }
}
.gallery-slider--fluid .gallery-slider__image-container img, .block-slider-gallery--hard .gallery-slider--fluid .gallery-slider__image-container img { /* stylelint-disable-line */
  height: 100%;
  object-fit: cover;
}
@media (min-width: 62rem) {
  .gallery-slider--fluid .slick-arrow.slick-next {
    right: 7.0625rem;
  }
  .gallery-slider--fluid .slick-arrow.slick-prev {
    left: 7.0625rem;
  }
}
@media (min-width: 88.125rem) {
  .gallery-slider--fluid .slick-arrow.slick-next {
    right: calc(50vw - (80.625rem / 2) + 2.5rem);
  }
  .gallery-slider--fluid .slick-arrow.slick-prev {
    left: calc(50vw - (80.625rem / 2) + 2.5rem);
  }
}

.gallery-slider--has-captions .slick-arrow {
  margin-top: -1rem;
}

.block-slider-gallery--hard .gallery-slider__image-container {
  position: relative;
  max-width: 100%;
  width: 87.1875rem;
  height: 0;
  padding-top: 56.43411%;
  overflow: hidden;
}
.block-slider-gallery--hard .gallery-slider__image-container img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (min-width: 75rem) {
  .block-slider-gallery--flexible .gallery-slider--fluid .slick-arrow.slick-next {
    right: 1.875rem;
  }
  .block-slider-gallery--flexible .gallery-slider--fluid .slick-arrow.slick-prev {
    left: 1.875rem;
  }
}

.acf-block.block-video-gallery {
  margin-top: -1.25rem;
}
@media (min-width: 48rem) {
  .acf-block.block-video-gallery {
    margin-top: -2.5rem;
  }
}

.video-gallery__lightbox {
  padding-top: 0 !important;
}
.video-gallery__lightbox .container {
  height: 100vh;
  display: flex;
  align-items: center;
}
.video-gallery__iframe-wrapper {
  position: relative;
  width: 100%;
}
.video-gallery__iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.video-gallery__card {
  margin-top: 1.25rem;
}
@media (min-width: 48rem) {
  .video-gallery__card {
    margin-top: 2.5rem;
  }
}
.video-gallery__card-thumb {
  position: relative;
  margin-bottom: 1rem;
  cursor: pointer;
}
.video-gallery__card-thumb img {
  width: 100%;
}
.video-gallery__card-title {
  font-size: clamp(1.5rem, 1.0514018692rem + 0.9345794393vw, 1.875rem);
  line-height: clamp(2rem, 1.7009345794rem + 0.6230529595vw, 2.25rem);
  margin-top: 0;
  margin-bottom: 0;
}

.play-btn {
  background-color: #f0cd7f;
  border-radius: 3.5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: 0;
  padding-top: 1rem;
  height: 3.5rem;
  width: 3.5rem;
}

/* stylelint-enable scss/at-extend-no-missing-placeholder */
.hero-section__text-image {
  padding: calc(4rem + var(--headersize, 4rem)) 0 4rem;
}
@media (min-width: 62rem) {
  .hero-section__text-image {
    padding: calc(10rem + var(--headersize, 6rem)) 0 10rem;
  }
}
@media (min-width: 62rem) {
  .hero-section__text-image {
    padding: 10rem 0;
  }
}
.hero-section__text-image .order-first {
  margin-bottom: 2rem;
}
@media (min-width: 62rem) {
  .hero-section__text-image .order-first {
    margin-bottom: 0;
  }
}
.hero-section__text-image .order-lg-last {
  margin-top: 4rem;
}
@media (min-width: 62rem) {
  .hero-section__text-image .order-lg-last {
    margin-top: 0;
  }
}
@media (min-width: 62rem) {
  .hero-section__text-image .row {
    align-items: center;
  }
}
.hero-section__text-image .c-btn-group {
  margin-top: clamp(2rem, 0.8037383178rem + 2.492211838vw, 3rem);
}
@media (min-width: 62rem) {
  .hero-section__text-image .c-btn {
    padding: 0.9375rem 1.4375rem;
  }
}
.hero-section__text-image img {
  border: 1px solid #000;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9zcmMvX19zdHlsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiY3NzL3NyYy9fX3N0eWxlcy9fZWxlbWVudHMuc2NzcyIsImFjZi1ibG9ja3MvdmlkZW8tZ2FsbGVyeS9zcmMvc3R5bGUuc2NzcyIsImFjZi1ibG9ja3Mvc2xpZGVyLWdhbGxlcnkvc3JjL3N0eWxlLnNjc3MiLCJjc3Mvc3JjL3ZlbmRvci9ib290c3RyYXAvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiY3NzL3NyYy9fX3N0eWxlcy9fZm9udC1zdHlsZXMuc2NzcyIsImFjZi1ibG9ja3MvaGVyby10ZXh0LWltYWdlL3NyYy9zdHlsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQWdEQTtBQUFBO0FBQUE7QUE4QkE7QUFBQTtBQUFBO0FDb1hBO0VBQ0M7RUFDQTs7O0FDMWNEO0FBQUE7QUFBQTtBRk1BO0FBQUE7QUFBQTtBQWdEQTtBQUFBO0FBQUE7QUE4QkE7QUFBQTtBQUFBO0FDb1hBO0VBQ0M7RUFDQTs7O0FEMWNEO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQWdEQTtBQUFBO0FBQUE7QUE4QkE7QUFBQTtBQUFBO0FDb1hBO0VBQ0M7RUFDQTs7O0FFaGNEO0VBRUM7O0FDZ0RHO0VEbERKO0lBS0U7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUlGO0VBQ0M7O0FBRUE7RUFFQzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7O0FBUUY7RUFDQzs7QUFHRDtFQUNDOztBQUVBO0VBQ0M7O0FDOUJDO0VENkJGO0lBSUU7OztBQUtIO0VFb0JBO0VBQ0E7RUZuQkM7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTs7QUMvQ0U7RUQ2Q0g7SUFLRTs7RUFFQTtJQUNDOztFQUdEO0lBQ0M7OztBQ3pEQTtFRDhESDtJQUVFOzs7O0FBUUY7RUFDQzs7QUN6RUU7RUR3RUg7SUFJRTs7O0FBSUY7RUFDQztFQUVBOztBQ25GRTtFRGdGSDtJQU1FOzs7QUFNRDtFQUNDO0VBQ0E7RUFDQTs7QUMvRkM7RUQ0RkY7SUFNRTtJQUNBLE9BaEZTOzs7QUFtRlY7RUFDQztFQUNBOztBQ3hHQTtFRCtHRDtJQUNDOztFQUdEO0lBQ0M7OztBQ3BIQTtFRHlIRDtJQUNDOztFQUdEO0lBQ0M7Ozs7QUFPSDtFQUNDOzs7QUFLRDtFQUNDO0VBQ0E7RUFDQSxPQTNIVztFQTRIWDtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3pKQztFRGtLRDtJQUNDOztFQUdEO0lBQ0M7Ozs7QUQxTko7RUFDQzs7QUVrREc7RUZuREo7SUFJRTs7OztBQUtEO0VBRUM7O0FBRUE7RUFDQztFQUNBO0VBQ0E7O0FBUUY7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtFQUNDOztBRWFFO0VGZEg7SUFJRTs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFJRjtFRy9CQTtFQUNBO0VBR0M7RUFDQTs7O0FIK0JGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0FJL0VBO0VBRUM7O0FGdURHO0VFekRKO0lBS0U7OztBRm9ERTtFRXpESjtJQVNFOzs7QUFHRDtFQUNDOztBRjRDRTtFRTdDSDtJQUlFOzs7QUFJRjtFQUNDOztBRm9DRTtFRXJDSDtJQUlFOzs7QUZpQ0M7RUU3Qkg7SUFFRTs7O0FBSUY7RUFDQzs7QUZzQkU7RUVuQkg7SUFFRTs7O0FBSUY7RUFDQyIsImZpbGUiOiJhY2YtYmxvY2tzL2hlcm8tdGV4dC1pbWFnZS9kaXN0L3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqXG4gKiBGb250c1xuICoqKioqKioqKioqKioqKiovXG4kZm9udC1iYXNlOiBcIlVudGl0bGVkIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiRmb250LWhlYWRsaW5lczogXCJQdWJsaWNvIEJhbm5lclwiLCBzZXJpZjtcblxuLyoqKioqKioqKioqKioqKipcbiAqIFBhaW50c1xuICoqKioqKioqKioqKioqKiovXG4kcGFpbnRzOiAoXG5cdG1pc3Q6ICNjMWM0Y2MsXG5cdHNreTogI2FhYjNjYixcblx0cmFpbjogIzlkYjRjMCxcblx0bWlkbmlnaHQ6ICMzNTNjNTIsXG5cdHNhZ2U6ICNhYWIxOTksXG5cdHNwcmluZzogI2MwZDJhYixcblx0c3BydWNlOiAjNWY3YTdiLFxuXHRncm92ZTogIzJjNDc0OCxcblx0c2FuZDogI2I3YjNhNCxcblx0c2FmZnJvbjogI2YwY2Q3Zixcblx0Y2xlbWVudGluZTogI2UzYWY3ZCxcblx0Y2xheTogIzkwNmQ1ZCxcblx0Y2xvdWQ6ICNmNmY1ZWYsXG5cdHdoaXRlOiAjZmZmLFxuXHRibGFjazogIzAwMCxcblx0dGV4dC1kYXJrLXByaW1hcnk6ICMwMDAsXG5cdHRleHQtZGFyay1zZWNvbmRhcnk6ICM1ZTVmNjEsXG5cdHRleHQtZGFyay10ZXJ0aWFyeTogI2EwYTFhMyxcblx0dGV4dC1saWdodC1wcmltYXJ5OiAjZmZmLFxuXHR0ZXh0LWxpZ2h0LXNlY29uZGFyeTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLFxuXHR0ZXh0LWxpZ2h0LXRlcnRpYXJ5OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksXG5cdGJvcmRlci1saWdodC1wcmltYXJ5OiAjZmZmLFxuXHRib3JkZXItbGlnaHQtdGVydGlhcnk6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSxcblx0Ym9yZGVyLWRhcmstcHJpbWFyeTogIzAwMCxcblx0Ym9yZGVyLW5hdjogcmdiYSgwLCAwLCAwLCAwLjEpLFxuXHRpbnRlcmFjdGlvbjogI2YwY2Q3Zixcblx0aW50ZXJhY3Rpb24taG92ZXI6ICNmNWNmN2EsXG5cdGVycm9yOiAjOWUzNjJjLFxuXHR3YXJuaW5nOiAjZTU5NTQ1LFxuXHRzdWNjZXNzOiAjNDU3YTRhLFxuXHRpbmZvcm1hdGlvbjogIzMyNmJhOCxcblx0YXV0b2ZpbGw6ICNmMmY4ZmMsXG5cdGdyZXktNTA6ICNmNWY2ZjcsXG5cdGdyZXktMTAwOiAjZTJlNGU4LFxuXHRncmV5LTIwMDogI2M5Y2NkNCxcblx0Z3JleS0zMDA6ICNhZGIxYmMsXG5cdGdyZXktNDAwOiAjOTY5YmE5LFxuXHRncmV5LTUwMDogIzdmODU5NSxcblx0Z3JleS02MDA6ICM1NjViNjksXG5cdGdyZXktNzAwOiAjMzAzMzNhLFxuXHRncmV5LTgwMDogIzFkMWUyMyxcblx0Z3JleS05MDA6ICMwYTBhMGMsXG4pO1xuXG4vKioqKioqKioqKioqKioqKlxuICogRWZmZWN0c1xuICoqKioqKioqKioqKioqKiovXG4kZWZmZWN0czogKFxuKTtcblxuQG1peGluIGVsZXZhdGlvbiB7XG5cdGJveC1zaGFkb3c6IDAgcmVtKDEpIHJlbSgyKSByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSgxKSByZW0oMykgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIHJlbSgxKSByZW0oMikgcmdiYSgwLCAwLCAwLCAwLjA2KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSg0KSByZW0oOCkgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMSksIDAgcmVtKDIpIHJlbSg0KSByZW0oLTIpIHJnYmEoMCwgMCwgMCwgMC4wNik7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMTIpIHJlbSgxNikgcmVtKC00KSByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIHJlbSg0KSByZW0oNikgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXHRcdGJveC1zaGFkb3c6IDAgcmVtKDIwKSByZW0oMjQpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCByZW0oOCkgcmVtKDgpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjAzKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMjQpIHJlbSg0OCkgcmVtKC0xMikgcmdiYSgwLCAwLCAwLCAwLjE4KTtcblx0fVxufVxuXG4vKioqKioqKioqKioqKioqKlxuICogR3JpZCBTZXR0aW5nc1xuICoqKioqKioqKioqKioqKiovXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG5cdHhzOiAwLFxuXHRzbTogcmVtKDU3NiksXG5cdG1kOiByZW0oNzY4KSxcblx0bGc6IHJlbSg5OTIpLFxuXHRsZ2FsdDogcmVtKDEwMjApLFxuXHR4bDogcmVtKDEyMDApLFxuXHR4eGw6IHJlbSgxNDEwKVxuKTtcbiRjdXN0b20tYnJlYWtwb2ludHM6IChcblx0bW9iaWxlbWVudTogcmVtKDEyMDApLFxuXHRjYXJlZXJzbWVudTogcmVtKDEzMzApXG4pO1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG5cdHhzOiByZW0oNTc2KSxcblx0c206IHJlbSg3NjgpLFxuXHRtZDogcmVtKDk5MiksXG5cdGxnOiByZW0oMTIwMCksXG5cdHhsOiByZW0oMTQxMClcbik7XG5cbiRjb250YWluZXItc20tc3BhY2luZzogcmVtKDIwKTtcbiRjb250YWluZXItbWQtc3BhY2luZzogcmVtKDQwKTtcbiRjb250YWluZXItbGctc3BhY2luZzogcmVtKDYwKTtcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiByZW0oMTUpO1xuJGdyaWQtc20tZ3V0dGVyLXdpZHRoOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4kZ3JpZC1tZC1ndXR0ZXItd2lkdGg6IHJlbSgyMCk7XG4kZ3JpZC1sZy1ndXR0ZXItd2lkdGg6IHJlbSgzMCk7XG5cbi8vIFRyYW5zaXRpb25zXG4kdHJhbnNpdGlvbi1zdGFuZGFyZDogYWxsIDAuMnMgbGluZWFyO1xuXG4vLyBCbG9jayB0aXRsZVxuJGJsb2NrLXRpdGxlLW1iLXNtOiByZW0oNDApO1xuJGJsb2NrLXRpdGxlLW1iLW1kOiByZW0oNjQpO1xuXG4kbWVkaWEtbWFyZ2luOiAzMHB4O1xuJG1lZGlhLW1hcmdpbi1tb2JpbGU6IDIwcHg7XG5cbi8vIE91dGxpbmVcbiRvdXRsaW5lOiByZW0oMikgc29saWQgIzdhYWNmZTtcbiIsIi8vIEJ1dHRvbnMgYW5kIExpbmtzIC0gQ2F0ZWdvcnkgQmFkZ2VcbkBtaXhpbiBwaWxsLWJhZGdlKCAkY29sb3I6IG5vcm1hbCApIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRib3JkZXItcmFkaXVzOiByZW0oMzIpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdGJvcmRlcjogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0sXG5cdFx0JltkYXRhLWZpbHRlcl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHNhZmZyb24pO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRib3JkZXI6IDAuNXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0sXG5cdFx0JltkYXRhLWZpbHRlcl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHBpbGwtYmFkZ2Utc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSBtIHtcblx0XHRoZWlnaHQ6IHJlbSgyNCk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMjQpOyAvLyBkb2Vzbid0IG1hdGNoIGZpZ21hIHRvIGNvbXBlbnNlIHBlY3VsaWFyIGZvbnQgYW5kIGtlZXAgY2VudGVyLXZhbGlnbmVkXG5cdFx0cGFkZGluZzogMCByZW0oMTApOyAvLyBkb2Vzbid0IG1hdGNoIGZpZ21hIHRvIGNvbXBlbnNlIHBlY3VsaWFyIGZvbnQgYW5kIGtlZXAgY2VudGVyLXZhbGlnbmVkXG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEyKTtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0aGVpZ2h0OiByZW0oMTkpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDE5KTtcblx0XHRwYWRkaW5nOiAwIHJlbSg4KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oOCk7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRoZWlnaHQ6IHJlbSgxNyk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTApO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMTcpO1xuXHRcdHBhZGRpbmc6IDAgcmVtKDYpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg2KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBCdXR0b25zIGFuZCBMaW5rcyAtIExpbmsgd2l0aCBJY29uXG5AbWl4aW4gbGluay13aXRoLWljb24oICRjb2xvcjogbm9ybWFsICkge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Z2FwOiByZW0oMik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Ym9yZGVyOiAwLjVweCBzb2xpZCBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXdpdGgtaWNvbi1zaXplKCAkc2l6ZTogbSApIHtcblx0QGlmICRzaXplID09IG0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXHRcdH1cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBzIHtcblx0XHRmb250LXNpemU6IHJlbSgxNCk7XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGhlaWdodDogcmVtKDE0KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTcpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTIpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg2KTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNik7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxMik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDE0KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBCdXR0b25zIGFuZCBMaW5rcyAtIExpbmsgd2l0aCBDaXJjbGUgQnV0dG9uXG5AbWl4aW4gbGluay13aXRoLdGBaXJjbGUoICRjb2xvcjogbm9ybWFsICkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1zdGFuZGFyZDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItY29sb3I7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IHJlbSgxKTtcblx0XHRsZWZ0OiAwO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGljb24tZm9udCgkaWNvbi1hcnJvdy1yaWdodCwgI3tyZW0oMTYpfSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHR9XG5cblx0c3BhbiB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdCY6ZW1wdHkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGludGVyYWN0aW9uKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KGludGVyYWN0aW9uKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0Jjo6YWZ0ZXIsXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdFx0Jjo6YWZ0ZXIsXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXdpdGgt0YFpcmNsZS1zaXplKCAkc2l6ZTogcyApIHtcblx0QGlmICRzaXplID09IG0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0XHRnYXA6IHJlbSgxMCk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIHJlbSgzNCkpO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHdpZHRoOiByZW0oMjIpO1xuXHRcdFx0aGVpZ2h0OiByZW0oMjIpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXHRcdGdhcDogcmVtKDgpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSByZW0oMjYpKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHR3aWR0aDogcmVtKDE4KTtcblx0XHRcdGhlaWdodDogcmVtKDE4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTYpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQnV0dG9ucyBhbmQgTGlua3MgLSBDaXJjbGUgQnRuXG5AbWl4aW4gY2lyY2xlLWJ0biggJHR5cGU6IHNlY29uZGFyeSwgJGNvbG9yOiBub3JtYWwgKSB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0Y29sb3I6ICRibGFjaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAwO1xuXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiAwLjVweCBzb2xpZCAkYmxhY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpZiAkdHlwZSA9PSBwcmltYXJ5IHtcblx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChpbnRlcmFjdGlvbik7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChpbnRlcmFjdGlvbi1ob3Zlcik7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG5cdFx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRcdGNvbG9yOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcblx0XHRcdFx0b3V0bGluZTogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGNpcmNsZS1idG4tc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSB4bCB7XG5cdFx0d2lkdGg6IHJlbSg1Nik7XG5cdFx0aGVpZ2h0OiByZW0oNTYpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gbCB7XG5cdFx0d2lkdGg6IHJlbSg0OCk7XG5cdFx0aGVpZ2h0OiByZW0oNDgpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBtIHtcblx0XHR3aWR0aDogcmVtKDQwKTtcblx0XHRoZWlnaHQ6IHJlbSg0MCk7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDIwKTtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBzIHtcblx0XHR3aWR0aDogcmVtKDM2KTtcblx0XHRoZWlnaHQ6IHJlbSgzNik7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE4KTtcblx0XHRcdGhlaWdodDogcmVtKDE4KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRzaXplID09IHhzIHtcblx0XHR3aWR0aDogcmVtKDMyKTtcblx0XHRoZWlnaHQ6IHJlbSgzMik7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE2KTtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7IC8vIHh4c1xuXHRcdHdpZHRoOiByZW0oMjQpO1xuXHRcdGhlaWdodDogcmVtKDI0KTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdHdpZHRoOiByZW0oMTYpO1xuXHRcdFx0aGVpZ2h0OiByZW0oMTYpO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiNqcXVlcnktbGl2ZS1zZWFyY2gge1xuXHR3aWR0aDogMTAwdncgIWltcG9ydGFudDtcblx0bWFyZ2luLXRvcDogcmVtKC02KTtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvYXQtZXh0ZW5kLW5vLW1pc3NpbmctcGxhY2Vob2xkZXIgKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL2Nzcy9zcmMvbGliL2Jhc2UtaW5jbHVkZXNcIjtcblxuQGltcG9ydCBcIi4uLy4uL3NsaWRlci1nYWxsZXJ5L3NyYy9zdHlsZVwiO1xuXG4kY2FyZC1tYXJnaW4tc206IDIwO1xuJGNhcmQtbWFyZ2luLW1kOiA0MDtcblxuLmFjZi1ibG9jay5ibG9jay12aWRlby1nYWxsZXJ5IHtcblx0bWFyZ2luLXRvcDogcmVtKDAgLSAkY2FyZC1tYXJnaW4tc20pO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRtYXJnaW4tdG9wOiByZW0oMCAtICRjYXJkLW1hcmdpbi1tZCk7XG5cdH1cbn1cblxuLnZpZGVvLWdhbGxlcnkge1xuXHQmX19saWdodGJveCB7XG5cdFx0QGV4dGVuZCAubGlnaHRib3gtZ2FsbGVyeV9fZ2FsbGVyeS13cmFwcGVyO1xuXHRcdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cblx0XHQuY29udGFpbmVyIHtcblx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQmX19jbG9zZSB7XG5cdFx0QGV4dGVuZCAubGlnaHRib3gtZ2FsbGVyeV9fY2xvc2U7XG5cdH1cblxuXHQmX19pZnJhbWUtd3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0aWZyYW1lIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmX19jYXJkIHtcblx0XHRtYXJnaW4tdG9wOiByZW0oJGNhcmQtbWFyZ2luLXNtKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbSgkY2FyZC1tYXJnaW4tbWQpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NhcmQtdGh1bWIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmX19jYXJkLXRpdGxlIHtcblx0XHRAaW5jbHVkZSBoNCggZmFsc2UgKTtcblx0fVxufVxuXG4ucGxheS1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChzYWZmcm9uKTtcblx0Ym9yZGVyLXJhZGl1czogcmVtKDU2KTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0bWFyZ2luLXRvcDogMDtcblx0cGFkZGluZy10b3A6IHJlbSgxNik7XG5cdGhlaWdodDogcmVtKDU2KTtcblx0d2lkdGg6IHJlbSg1Nik7XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgc2Nzcy9hdC1leHRlbmQtbm8tbWlzc2luZy1wbGFjZWhvbGRlciAqL1xuIiwiQGltcG9ydCBcIi4uLy4uLy4uL2Nzcy9zcmMvbGliL2Jhc2UtaW5jbHVkZXNcIjtcblxuLnNsaWRlci1nYWxsZXJ5IHtcblx0Ly8gbWFyZ2luLWJvdHRvbTogcmVtKCA4MCApO1xuXG5cdC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0Ly8gXHRtYXJnaW4tYm90dG9tOiByZW0oIDE2MCApO1xuXHQvLyB9XG59XG5cbi5saWdodGJveC1nYWxsZXJ5IHtcblx0JGdhbGxlcnktYmxvY2stbWI6IDMwO1xuXHRtYXJnaW4tYm90dG9tOiByZW0oODAgLSAkZ2FsbGVyeS1ibG9jay1tYik7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxNjAgLSAkZ2FsbGVyeS1ibG9jay1tYik7XG5cdH1cblxuXHQmX19nYWxsZXJ5LXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR6LWluZGV4OiA5OTk7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChtaWRuaWdodCk7XG5cdFx0cGFkZGluZy10b3A6IHJlbSg4MCk7XG5cblx0XHQmOm5vdCguYWN0aXZlKSB7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX2Nsb3NlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogOTk5O1xuXHRcdHRvcDogcmVtKDMwKTtcblx0XHRyaWdodDogcmVtKDMwKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogcmVtKDI0KTtcblx0XHRoZWlnaHQ6IHJlbSgyNCk7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDI0KTtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzogMDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXG5cdFx0PiBbY2xhc3NePVwiaWNvblwiXSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQmX19zaW5nbGUtdGh1bWIge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgkZ2FsbGVyeS1ibG9jay1tYik7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdH1cblx0fVxuXG5cdC5nYWxsZXJ5LXNsaWRlciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cblx0XHQmX19jYXB0aW9uIHtcblx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdH1cblx0fVxufVxuXG4keGwtY29udGVudDogbWFwX2dldCgkY29udGFpbmVyLW1heC13aWR0aHMsIHhsKSAtICRncmlkLWd1dHRlci13aWR0aDtcblxuLmdhbGxlcnktc2xpZGVyIHtcblx0Jl9fc2xpZGVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0Jl9faW1hZ2Uge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRpbWcge1xuXHRcdFx0Ym9yZGVyOiAwLjVweCBzb2xpZCBwYWludChib3JkZXItZGFyay1wcmltYXJ5KTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0XHRib3JkZXItd2lkdGg6IDFweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19jYXB0aW9uIHtcblx0XHRAaW5jbHVkZSBib2R5LXNtYWxsKGZhbHNlKTtcblx0XHRtYXJnaW4tdG9wOiByZW0oMTYpO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cdC5zbGljay1hcnJvdyB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG5cdFx0XHQmLnNsaWNrLW5leHQge1xuXHRcdFx0XHRyaWdodDogcmVtKDQ4KTtcblx0XHRcdH1cblxuXHRcdFx0Ji5zbGljay1wcmV2IHtcblx0XHRcdFx0bGVmdDogcmVtKDQ4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc2xpY2stZG90cyB7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG4uZ2FsbGVyeS1zbGlkZXItLWZsdWlkIHtcblx0JHNlbGY6IFwiLmdhbGxlcnktc2xpZGVyXCI7XG5cblx0LnNsaWNrLWxpc3Qge1xuXHRcdHBhZGRpbmc6IDAgcmVzcG9uc2l2ZS12YWx1ZXMoMjAsIDYwKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdHBhZGRpbmc6IDAgcmVtKDYwKTtcblx0XHR9XG5cdH1cblxuXHQjeyAkc2VsZiB9X19zaW5nbGUtc2xpZGUge1xuXHRcdHBhZGRpbmc6IDAgcmVtKDUpO1xuXHRcdC8vIG1hcmdpbjogMCAxMHB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRwYWRkaW5nOiAwIHJlbSgxNSk7XG5cdFx0fVxuXHR9XG5cblx0Jixcblx0LmJsb2NrLXNsaWRlci1nYWxsZXJ5LS1oYXJkICYge1xuXHRcdCN7ICRzZWxmIH1fX2ltYWdlLWNvbnRhaW5lciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmctdG9wOiA3NSU7IC8vIDQ6MyByYXRpb1xuXHRcdFx0bWF4LXdpZHRoOiByZW0oMTI5MCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDU2LjI1JTsgLy8gMTY6OSByYXRpb1xuXHRcdFx0XHR3aWR0aDogJHhsLWNvbnRlbnQ7XG5cdFx0XHR9XG5cblx0XHRcdGltZyB7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc2xpY2stYXJyb3cge1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdCYuc2xpY2stbmV4dCB7XG5cdFx0XHRcdHJpZ2h0OiByZW0oMTEzKTtcblx0XHRcdH1cblxuXHRcdFx0Ji5zbGljay1wcmV2IHtcblx0XHRcdFx0bGVmdDogcmVtKDExMyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcblx0XHRcdCYuc2xpY2stbmV4dCB7XG5cdFx0XHRcdHJpZ2h0OiBjYWxjKDUwdncgLSAoI3tyZW0oMTI5MCl9IC8gMikgKyAje3JlbSg0MCl9KTtcblx0XHRcdH1cblxuXHRcdFx0Ji5zbGljay1wcmV2IHtcblx0XHRcdFx0bGVmdDogY2FsYyg1MHZ3IC0gKCN7cmVtKDEyOTApfSAvIDIpICsgI3tyZW0oNDApfSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5nYWxsZXJ5LXNsaWRlci0taGFzLWNhcHRpb25zIHtcblx0LnNsaWNrLWFycm93IHtcblx0XHRtYXJnaW4tdG9wOiByZW0oLTE2KTsgLy8gT2Zmc2V0IGNhcHRpb24gaGVpZ2h0LlxuXHR9XG59XG5cbi5ibG9jay1zbGlkZXItZ2FsbGVyeS0taGFyZCB7XG5cdC5nYWxsZXJ5LXNsaWRlcl9faW1hZ2UtY29udGFpbmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHdpZHRoOiAkeGwtY29udGVudDtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0cGFkZGluZy10b3A6IDU2LjQzNDExJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHR9XG5cdH1cbn1cblxuLmJsb2NrLXNsaWRlci1nYWxsZXJ5LS1mbGV4aWJsZSB7XG5cdC5nYWxsZXJ5LXNsaWRlci0tZmx1aWQgLnNsaWNrLWFycm93IHtcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG5cdFx0XHQvLyBjYWxjdWxhdGUgMzBweCBmcm9tIHRoZSBlZGdlcyBvZiB0aGUgY2VudGVyZWQgaW1hZ2UuXG5cdFx0XHQmLnNsaWNrLW5leHQge1xuXHRcdFx0XHRyaWdodDogcmVtKDMwKTtcblx0XHRcdH1cblxuXHRcdFx0Ji5zbGljay1wcmV2IHtcblx0XHRcdFx0bGVmdDogcmVtKDMwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9UaGlzIGZpbGUgaXMgb25seSBmb3IgbWl4aW5zLiBEb24ndCBpbmNsdWRlIGFueSBzdHlsZXMgaW4gdGhpcyBmaWxlIG9yIGVsc2UgdGhleSB3aWxsIHJlcGVhdGVkIGluIGV2ZXJ5IGJsb2NrLlxuXG5AbWl4aW4gaDEoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDQxLCA2MCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcyg0OSwgNjgpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDIoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDM2LCA0OCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcyg0NCwgNTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDMoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDMwLCAzNik7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygzNiwgNDQpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDQoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDI0LCAzMCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygzMiwgMzYpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDUoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDIwLCAyNCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygyOCwgMzIpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDYoICRtYXJnaW5zOiB0cnVlLCAkcmVtb3ZlX2hlYWRlcl9tYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMik7XG5cdH1cblxuXHRAaWYgKCAkcmVtb3ZlX2hlYWRlcl9tYXJnaW5zICkge1xuXHRcdCsgaDEsXG5cdFx0KyAuaDEsXG5cdFx0KyBoMixcblx0XHQrIC5oMixcblx0XHQrIGgzLFxuXHRcdCsgLmgzLFxuXHRcdCsgaDQsXG5cdFx0KyAuaDQsXG5cdFx0KyBoNSxcblx0XHQrIC5oNSxcblx0XHQrIGg2LFxuXHRcdCsgLmg2IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBib2R5LXhsKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRsaW5lLWhlaWdodDogcmVtKDI4KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjgpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LWxhcmdlKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRsaW5lLWhlaWdodDogcmVtKDI4KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjgpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LXJlZ3VsYXIoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDE2LCAyNCk7XG5cdH1cbn1cblxuQG1peGluIGJvZHktbWVkaXVtKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygxNiwgMjQpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LXNtYWxsKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygxNCwgMjApO1xuXHR9XG59XG5cbkBtaXhpbiBkZXRhaWwoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDE0LCAyMCk7XG5cdH1cbn1cblxuQG1peGluIG92ZXJsaW5lKCAkbWFyZ2luczogdHJ1ZSwgJHJlbW92ZV9oZWFkZXJfbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiByZW0oMTIpO1xuXHRsaW5lLWhlaWdodDogcmVtKDE2KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuXHR9XG5cblx0QGlmICggJHJlbW92ZV9oZWFkZXJfbWFyZ2lucyApIHtcblx0XHQrIGgxLFxuXHRcdCsgLmgxLFxuXHRcdCsgaDIsXG5cdFx0KyAuaDIsXG5cdFx0KyBoMyxcblx0XHQrIC5oMyxcblx0XHQrIGg0LFxuXHRcdCsgLmg0LFxuXHRcdCsgaDUsXG5cdFx0KyAuaDUsXG5cdFx0KyBoNixcblx0XHQrIC5oNiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gYm9keS0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1sYXJnZSggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIGJvZHktMiggJG1hcmdpbnM6IHRydWUgKSB7XG5cdEBpbmNsdWRlIGJvZHktcmVndWxhciggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIGxpc3QoICRtYXJnaW5zOiB0cnVlICkge1xuXHRAaW5jbHVkZSBib2R5LWxhcmdlKCAkbWFyZ2lucyApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRAaW5jbHVkZSBib2R5LXhsKCAkbWFyZ2lucyApO1xuXHR9XG59XG5cbkBtaXhpbiBsZWFkKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS14bCggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIHF1b3RlKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgaDIoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBzdWJ0aXRsZS0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1tZWRpdW0oICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBzdWJ0aXRsZS0yKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1yZWd1bGFyKCAkbWFyZ2lucyApO1xufVxuXG5AbWl4aW4gYnV0dG9uLTEge1xuXHRAaW5jbHVkZSBib2R5LW1lZGl1bShmYWxzZSk7XG59XG5cbkBtaXhpbiBidXR0b24tMiB7XG5cdEBpbmNsdWRlIGJvZHktc21hbGwoZmFsc2UpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gY2FwdGlvbiggJG1hcmdpbnM6IHRydWUgKSB7XG5cdEBpbmNsdWRlIGJvZHktc21hbGwoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiB0YWcoICRtYXJnaW5zOiB0cnVlICkge1xuXHRAaW5jbHVkZSBkZXRhaWwoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLW51bWJlciB7XG5cdEBpbmNsdWRlIG92ZXJsaW5lO1xufVxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL2Nzcy9zcmMvbGliL2Jhc2UtaW5jbHVkZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi92aWRlby1nYWxsZXJ5L3NyYy9zdHlsZVwiO1xuXG4uaGVyby1zZWN0aW9uX190ZXh0LWltYWdlIHtcblx0JHNlbGY6ICY7XG5cdHBhZGRpbmc6IGNhbGMocmVtKDY0KSArIHZhcigtLWhlYWRlcnNpemUsIHJlbSg2NCkpKSAwIHJlbSg2NCk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdHBhZGRpbmc6IGNhbGMocmVtKDE2MCkgKyB2YXIoLS1oZWFkZXJzaXplLCByZW0oOTYpKSkgMCByZW0oMTYwKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRwYWRkaW5nOiByZW0oMTYwKSAwO1xuXHR9XG5cblx0Lm9yZGVyLWZpcnN0IHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMzIpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblxuXHQub3JkZXItbGctbGFzdCB7XG5cdFx0bWFyZ2luLXRvcDogcmVtKDY0KTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0LnJvdyB7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQuYy1idG4tZ3JvdXAge1xuXHRcdG1hcmdpbi10b3A6IHJlc3BvbnNpdmUtdmFsdWVzKDMyLCA0OCk7XG5cdH1cblxuXHQuYy1idG4ge1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdHBhZGRpbmc6IHJlbSgxNSkgcmVtKDIzKTtcblx0XHR9XG5cdH1cblxuXHRpbWcge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGJvcmRlci1kYXJrLXByaW1hcnkpO1xuXHR9XG59XG4iXX0= */
