@import url(../lib/swiper.css);
.dna-carousel {
  position: relative;
  margin: 40px 0;
}

.dna-carousel__header {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 10px;
}

.dna-carousel__title {
  margin: 0 !important;
}

.dna-carousel__controls {
  display: flex;
  gap: 10px;
  margin-left: auto;
}
.dna-carousel__controls--hidden {
  display: none;
}

@media screen and (min-width: 768px) {
  .dna-carousel__footer {
    display: grid;
    grid-template-columns: [whitespace] 1fr [pagination] auto [more] 1fr;
    gap: 2rem;
    align-items: center;
  }
  .dna-carousel__footer .swiper-pagination {
    grid-column: pagination;
    margin: 20px 0 0;
  }
  .dna-carousel__footer .dna-carousel__more {
    grid-column: more;
    margin: 20px 0 0;
  }
}

.dna-carousel__more {
  text-align: right;
  margin-top: 1rem;
}

.swiper {
  --swiper-theme-color: #DA0070;
}

.swiper-wrapper {
  padding-top: 10px;
}

.swiper-slide {
  height: auto;
}

.swiper-pagination {
  line-height: 0;
  --swiper-pagination-bottom: 20px;
  --swiper-pagination-bullet-size: 1rem;
  --swiper-pagination-bullet-width: 2rem;
  --swiper-pagination-bullet-height: 1rem;
  --swiper-pagination-bullet-border-radius: 0.75rem;
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 0;
  --swiper-pagination-bullet-vertical-gap: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1rem;
  position: static;
  margin: 20px 0;
}
@media screen and (max-width: 767px) {
  .swiper-pagination {
    display: none;
  }
}

.swiper-pagination-lock {
  margin: 0;
}

.swiper-pagination-bullet {
  border: 2px solid #948B89;
  transition: all 0.2s ease-in-out;
}
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
  border-color: #DA0070;
}

.swiper-pagination-bullet-active {
  width: 3rem;
  border-color: #DA0070;
}

.swiper-scrollbar {
  --swiper-scrollbar-size: 6px;
  --swiper-scrollbar-border-radius: 3px;
  --swiper-scrollbar-bg-color: #EDE8E1;
  --swiper-scrollbar-drag-bg-color: #DA0070;
  position: static !important;
  margin: 1rem 0;
}
@media screen and (min-width: 768px) {
  .swiper-scrollbar {
    display: none;
  }
}
.swiper-scrollbar.swiper-scrollbar-horizontal {
  width: 100%;
}

.dna-carousel {
  --dna-swiper-slides: 1;
  --dna-swiper-gutter: 0;
}
@media screen and (min-width: 768px) {
  .dna-carousel[data-slidecount="2"] {
    --dna-swiper-slides: 2;
  }
}
@media screen and (min-width: 480px) {
  .dna-carousel[data-slidecount="3"] {
    --dna-swiper-slides: 2;
  }
}
@media screen and (min-width: 1024px) {
  .dna-carousel[data-slidecount="3"] {
    --dna-swiper-slides: 3;
  }
}
@media screen and (min-width: 480px) {
  .dna-carousel[data-slidecount="4"] {
    --dna-swiper-slides: 2;
  }
}
@media screen and (min-width: 1024px) {
  .dna-carousel[data-slidecount="4"] {
    --dna-swiper-slides: 3;
  }
}
@media screen and (min-width: 1280px) {
  .dna-carousel[data-slidecount="4"] {
    --dna-swiper-slides: 4;
  }
}
@media screen and (min-width: 480px) {
  .dna-carousel[data-slidecount="5"] {
    --dna-swiper-slides: 2;
  }
}
@media screen and (min-width: 768px) {
  .dna-carousel[data-slidecount="5"] {
    --dna-swiper-slides: 3;
  }
}
@media screen and (min-width: 1024px) {
  .dna-carousel[data-slidecount="5"] {
    --dna-swiper-slides: 4;
  }
}
@media screen and (min-width: 1280px) {
  .dna-carousel[data-slidecount="5"] {
    --dna-swiper-slides: 5;
  }
}
.dna-carousel .swiper-slide {
  width: calc((100% - (var(--dna-swiper-slides) - 1) * var(--dna-swiper-gutter)) / var(--dna-swiper-slides));
}
.dna-carousel .swiper-slide:not(:first-child) {
  margin-left: var(--dna-swiper-gutter);
}
.dna-carousel .swiper-init-ready .swiper-slide {
  width: auto;
  margin-left: 0;
}

.dna-carousel.product-carousel .dna-card {
  border: 1px solid #EFEEED;
  box-shadow: 0px 2px 16px 0px rgba(18, 18, 18, 0.06);
  border-radius: 8px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL3NvdXJjZS8iLCJzb3VyY2VzIjpbImNhcmQtY2Fyb3VzZWwuc2NzcyIsImhvbWUvamVua2lucy9hZ2VudC93b3Jrc3BhY2UvRE5BZmkvQlVJTERfQU5EX0RFUExPWV9QTEFOUy9ETkEuZmlfRFhQX1BST0RfQVdTL1Byb2RfYXBwMl9saWZlcmF5X2luc3RhbGxfYW5kX2RlcGxveS9kbmEtbGlmZXJheS1zb3VyY2UvZG5hLWZpLXRoZW1lL3NyYy9jc3MvZG5hL19taXhpbnMuc2NzcyIsImhvbWUvamVua2lucy9hZ2VudC93b3Jrc3BhY2UvRE5BZmkvQlVJTERfQU5EX0RFUExPWV9QTEFOUy9ETkEuZmlfRFhQX1BST0RfQVdTL1Byb2RfYXBwMl9saWZlcmF5X2luc3RhbGxfYW5kX2RlcGxveS9kbmEtbGlmZXJheS1zb3VyY2UvZG5hLWZpLXRoZW1lL3NyYy9jc3MvZG5hL192YXJzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS1E7QUFFUjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTs7O0FDbkJJO0VEc0JSO0lBRUk7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7OztBQUlOO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQzVFTTtFRDJEUjtJQW1CSTs7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7QUFDQTtFQUNFLGNFeERlOzs7QUYyRG5CO0VBQ0U7RUFDQSxjRTdEaUI7OztBRmlFbkI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FDckdNO0VEOEZSO0lBU0k7OztBQUVGO0VBQ0U7OztBQU1KO0VBQ0U7RUFDQTs7QUNsSE07RURvSE47SUFFSTs7O0FDakdFO0VEb0dOO0lBRUk7OztBQ3JIRTtFRG1ITjtJQUtJOzs7QUN6R0U7RUQ0R047SUFFSTs7O0FDN0hFO0VEMkhOO0lBS0k7OztBQzdIRTtFRHdITjtJQVFJOzs7QUNwSEU7RUR1SE47SUFFSTs7O0FDOUlFO0VENElOO0lBS0k7OztBQzNJRTtFRHNJTjtJQVFJOzs7QUMzSUU7RURtSU47SUFXSTs7O0FBSUo7RUFDRTs7QUFDQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTs7O0FBS0Y7RUNKRTtFQUNBO0VBQ0EsZUM1Rm9CIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwiLi4vdmFyc1wiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuXG5AaW1wb3J0IHVybCguLi9saWIvc3dpcGVyLmNzcyk7XG5cbi5kbmEtY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNDBweCAwO1xufVxuLmRuYS1jYXJvdXNlbF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAycmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgLy8gdG90YWwgMjBweCwgd2hlbiBzd2lwZXIgaGFzIHRvcCBwYWRkaW5nXG59XG4uZG5hLWNhcm91c2VsX190aXRsZSB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLmRuYS1jYXJvdXNlbF9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAmLS1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5kbmEtY2Fyb3VzZWxfX2Zvb3RlciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFt3aGl0ZXNwYWNlXSAxZnIgW3BhZ2luYXRpb25dIGF1dG8gW21vcmVdIDFmcjtcbiAgICBnYXA6IDJyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICBncmlkLWNvbHVtbjogcGFnaW5hdGlvbjtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgfVxuICAgIC5kbmEtY2Fyb3VzZWxfX21vcmUge1xuICAgICAgZ3JpZC1jb2x1bW46IG1vcmU7XG4gICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIH1cbiAgfVxufVxuLmRuYS1jYXJvdXNlbF9fbW9yZSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uc3dpcGVyIHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICN7JGNvbG9yLW1haW4tLXBpbmt9O1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7IC8vIHJvb20gZm9yIGNhcmQgbGFiZWwgb24gdG9wXG59XG5cbi5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgbGluZS1oZWlnaHQ6IDA7IC8vIHJlbW92ZSB3aGl0ZXNwYWNlXG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYm90dG9tOiAyMHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplOiAxcmVtO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC13aWR0aDogMnJlbTtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaGVpZ2h0OiAxcmVtO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLW9wYWNpdHk6IDE7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHk6IDE7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwOiAwO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXA6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMC41cmVtIDFyZW07XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbjogMjBweCAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHsgLy8gZGlzYWJsZWQgcGFnaW5hdGlvblxuICBtYXJnaW46IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWxpbmUtLTAxO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAmOm5vdCguc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSk6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW4tLXBpbms7XG4gIH1cbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgd2lkdGg6IDNyZW07XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW4tLXBpbms7XG59XG5cblxuLnN3aXBlci1zY3JvbGxiYXIge1xuICAtLXN3aXBlci1zY3JvbGxiYXItc2l6ZTogNnB4O1xuICAtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1czogM3B4O1xuICAtLXN3aXBlci1zY3JvbGxiYXItYmctY29sb3I6ICN7JGNvbG9yLWJnLS1zYW5kLTAyfTtcbiAgLS1zd2lwZXItc2Nyb2xsYmFyLWRyYWctYmctY29sb3I6ICN7JGNvbG9yLW1haW4tLXBpbmt9O1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmLnN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG4vLyBjb250ZW50IGFsaWdubWVudCBiZWZvcmUgdGhlIHN3aXBlciBpcyBpbml0aWFsaXplZCAoPSBoYXMgc3dpcGVyLWluaXQtcmVhZHkgY2xhc3MpXG4uZG5hLWNhcm91c2VsIHtcbiAgLS1kbmEtc3dpcGVyLXNsaWRlczogMTtcbiAgLS1kbmEtc3dpcGVyLWd1dHRlcjogMDsgLy8gYWN0dWFsIHZhbHVlIGlzIHNldCBpbiAuZnRsXG5cbiAgJltkYXRhLXNsaWRlY291bnQ9XCIyXCJdIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogMjtcbiAgICB9XG4gIH1cbiAgJltkYXRhLXNsaWRlY291bnQ9XCIzXCJdIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLW1vYmlsZSkge1xuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogMjtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiAzO1xuICAgIH1cbiAgfVxuICAmW2RhdGEtc2xpZGVjb3VudD1cIjRcIl0ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtbW9iaWxlKSB7XG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiAyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3ApIHtcbiAgICAgIC0tZG5hLXN3aXBlci1zbGlkZXM6IDM7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1jb250ZW50KSB7XG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiA0O1xuICAgIH1cbiAgfVxuICAmW2RhdGEtc2xpZGVjb3VudD1cIjVcIl0ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtbW9iaWxlKSB7XG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiAyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogMztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgICAtLWRuYS1zd2lwZXItc2xpZGVzOiA0O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3AtY29udGVudCkge1xuICAgICAgLS1kbmEtc3dpcGVyLXNsaWRlczogNTtcbiAgICB9XG4gIH1cblxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtICgodmFyKC0tZG5hLXN3aXBlci1zbGlkZXMpIC0gMSkgKiB2YXIoLS1kbmEtc3dpcGVyLWd1dHRlcikpKSAvIHZhcigtLWRuYS1zd2lwZXItc2xpZGVzKSk7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZG5hLXN3aXBlci1ndXR0ZXIpO1xuICAgIH1cbiAgfVxuICAvLyBjbGVhciB3aGVuIGluaXQgaXMgZG9uZVxuICAuc3dpcGVyLWluaXQtcmVhZHkgLnN3aXBlci1zbGlkZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmRuYS1jYXJvdXNlbC5wcm9kdWN0LWNhcm91c2VsIHtcbiAgLmRuYS1jYXJkIHtcbiAgICBAaW5jbHVkZSBkcm9wc2hhZG93LWVsZXZhdGlvbi1sb3coKTtcbiAgfVxufVxuXG4vL1xuLy8gQ2Fyb3VzZWxcbi8vXG4vLyBDYXJvdXNlbCBzdHlsZXNcbi8vXG4vLyBTdHlsZWd1aWRlIDMxXG5cbi8vIENhcm91c2VsXG4vL1xuLy8gRmlnbWE6IGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL0piQlJNTmVYREpoMjVXZmR0dTJpdVMvV2ViLUVsZW1lbnRzP3R5cGU9ZGVzaWduJm5vZGUtaWQ9MzI1LTk3NzcmbW9kZT1kZXNpZ24mdD1QOENxSFVTMm5BTkNKbVk1LTBcbi8vXG4vLyBDYXJvdXNlbCBjYW4gaGF2ZSBhIHRpdGxlIGFuZCByZWFkIG1vcmUgLWxpbmsgYnV0IHRob3NlIGNhbiBiZSBhbHNvIGxlZnQgb3V0LiBUaGUgcGFnaW5hdGlvbiBlbGVtZW50IGJlbG93IHRoZSBjYXJvdXNlbCBpdGVtc1xuLy8gaXMgc3dpdGNoZWQgdG8gc2xpZGVyIG1vZGUgaW4gc21hbGxlciB2aWV3cy4gQWxzbyB0aGUgY2Fyb3VzZWwgY29udHJvbHMgYXJlIG5vdCBzaG93biBpZiBhbGwgdGhlIGVsZW1lbnRzIGZpdCB0byB0aGUgdmlld3BvcnQuXG4vLyBUaGVyZSBhcmUgMyBzYW1wbGUgY2FyZHMgaW4gZWFjaCBjYXJvdXNlbCwgc28gY2hhbmdlIHRoZSBicm93c2VyIHdpZHRoIHRvIGNoZWNrIGhvdyB0aGUgdmlldyB3aWR0aCBhZmZlY3RzIHRoZSBVSS5cbi8vXG4vLyBDYXJvdXNlbCBiZWhhdmlvdXIgaXMgYSBiaXQgZGlmZmVyZW50IGlmIGl0IGNvbnRhaW5zIHByb2R1Y3RzIG9yIHN1YnNjcmlwdGlvbnMuIEluIHRob3NlIGNhc2VzIHdlIHNob3cgcGFydGlhbCBzbGlkZXMuXG4vLyBJbiBwYXJ0aWFsIHNsaWRlcyBjYXNlcyB0aGUgcG9zc2libGUgY2FyZCBhbW91bnRzIGFyZSAxLCAxLjMzMywgMS41LCAxLjY2NiwgMiwgMi4zMzMsIDIuNSwgMi42NjYsIDMuMzMzLCAzLjUsIDMuNjY2LCA0LjMzMyBhbmQgNC41LlxuLy8gV2UgcGljayB0aGUgb25lIHdoaWNoIGlzIGNsb3Nlc3QgdG8gdGhlIGFpbWVkIHRhcmdldCB3aWR0aC4gRm9yIHByb2R1Y3QgY2FyZHMgdGhlIHRhcmdldCB3aWR0aCBpcyAyODVweCwgZm9yIHN1YnNjcmlwdGlvbiBjYXJkcyAzODBweC5cbi8vXG4vLyBGb3Igb3RoZXIgY2FyZHMgd2UgZGlzcGxheSBvbmx5IGZ1bGwgY2FyZHMuIFRoZSBhbW91bnQgb2YgcGFyYWxsZWwgY2FyZHMgaW4gZGVza3RvcCBpcyBkZWZpbmVkIGluIGRhdGEtYXR0cmlidXRlIGRhdGEtc2xpZGVjb3VudC4gSW4gdGhpc1xuLy8gZXhhbXBsZSBpdCBpcyBzZXQgdG8gYmUgMS4gQWxzbyB0aGUgZ2FwIGJldHdlZW4gdGhlIHNsaWRlcyBjYW4gYmUgc2V0IHVzaW5nIGRhdGEtc2xpZGVnYXAgYW5kIGFkZGl0aW9uYWxseSB3aXRoIGNzcyB2YXJpYWJsZSAtLWRuYS1zd2lwZXItZ3V0dGVyXG4vLyB3aGljaCBlbmFibGVzIHRoZSBVSSB0byBiZSB0aGUgc2FtZSBldmVuIHdoZW4gdGhlIGNhcm91c2VsIGphdmFzY3JpcHQgaXMgbm90IGluaXRpYWxpemVkIHlldC5cbi8vXG4vLyAuZHMtcHJvZHVjdC1jYXJkIC0gUHJvZHVjdCBjYXJkc1xuLy8gLnN1YnNjcmlwdGlvbmNhcmQgLSBTdWJzY3JpcHRpb24gY2FyZHNcbi8vIC5kbmEtY2FyZC1mcmVlLmRzLWJnLS1za3ktMDIgLSBGcmVlc3R5bGUgY2FyZHNcbi8vXG4vLyBNYXJrdXA6XG4vLyA8ZGl2IGNsYXNzPVwiaGlkZS13aXRob3V0LW1vZGlmaWVyXCI+IDwhLS0gZGVtbyAtLT5cbi8vIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWwgcHJvZHVjdC1jYXJvdXNlbFwiIGRhdGEtc2xpZGVjb3VudD1cIjFcIiBkYXRhLXNsaWRlZ2FwPVwiMTBcIiBzdHlsZT1cIi0tZG5hLXN3aXBlci1ndXR0ZXI6MTBweDtcIj5cbi8vICAgICA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsX19oZWFkZXJcIj5cbi8vICAgICAgICAgPGgyIGNsYXNzPVwiZG5hLWNhcm91c2VsX190aXRsZSBoM1wiPkNhcm91c2VsIHRpdGxlPC9oMj5cbi8vICAgICAgICAgPGRpdiBjbGFzcz1cImRuYS1jYXJvdXNlbF9fY29udHJvbHNcIj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2J1dHRvbi1wcmV2IGRzLWFycm93LWJ0biBkcy1hcnJvdy1idG4tLXJvdW5kIGRzLWJ0bi0tZGlzYWJsZWRcIiB0YWJJbmRleD1cIi0xXCJcbi8vICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJFZGVsbGluZW5cIiBhcmlhLWNvbnRyb2xzPVwic3dpcGVyLXdyYXBwZXItMTg2MDM5MTE0NDc1ZmQyOFwiXG4vLyAgICAgICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0NoZXZyb25MZWZ0XCI+PC91c2U+XG4vLyAgICAgICAgICAgICAgICAgPC9zdmc+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2J1dHRvbi1uZXh0IGRzLWFycm93LWJ0biBkcy1hcnJvdy1idG4tLXJvdW5kXCIgdGFiSW5kZXg9XCIwXCIgcm9sZT1cImJ1dHRvblwiXG4vLyAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZXVyYWF2YVwiIGFyaWEtY29udHJvbHM9XCJzd2lwZXItd3JhcHBlci0xODYwMzkxMTQ0NzVmZDI4XCIgYXJpYS1kaXNhYmxlZD1cImZhbHNlXCI+XG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0NoZXZyb25SaWdodFwiPjwvdXNlPlxuLy8gICAgICAgICAgICAgICAgIDwvc3ZnPlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgIDwvZGl2PlxuLy8gICAgIDxkaXYgY2xhc3M9XCJzd2lwZXJcIj5cbi8vICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci13cmFwcGVyXCI+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInskbW9kaWZpZXJzfVwiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZCAxXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwieyRtb2RpZmllcnN9XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkIDJcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ7JG1vZGlmaWVyc31cIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmQgM1xuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsX19mb290ZXJcIj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItcGFnaW5hdGlvblwiPjwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zY3JvbGxiYXJcIj48L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX21vcmVcIj5cbi8vICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHMtaWNvbi1idG5cIj5cbi8vICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNBcnJvd1JpZ2h0XCI+PC91c2U+XG4vLyAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuLy8gICAgICAgICAgICAgICAgICAgICBBbGwgcHJvZHVjdHNcbi8vICAgICAgICAgICAgICAgICA8L2E+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgPC9kaXY+XG4vLyAgICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIFN0eWxlZ3VpZGUgMzEuMVxuXG4vLyBDYXJvdXNlbCB3aXRoIGFub3RoZXIgc2V0dGluZ3Ncbi8vXG4vLyBIZXJlIHdlIGhhdmUgc2V2ZXJhbCBjYXJkcyB0byBkaXNwbGF5IGluIHRoZSBjYXJvdXNlbCwgMyBjb2x1bW5zLCBiaWdnZXIgZ3JpZCBhbmQgbG9uZyB0ZXh0c1xuLy9cbi8vIE1hcmt1cDpcbi8vIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxcIiBkYXRhLXNsaWRlY291bnQ9XCIzXCIgZGF0YS1zbGlkZWdhcD1cIjMwXCIgc3R5bGU9XCItLWRuYS1zd2lwZXItZ3V0dGVyOjMwcHg7XCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cImRuYS1jYXJvdXNlbF9faGVhZGVyXCI+XG4vLyAgICAgICAgIDxoMiBjbGFzcz1cImRuYS1jYXJvdXNlbF9fdGl0bGUgaDNcIj5Mb25nIHRpdGxlIGFzIGFuIGV4YW1wbGUgaG93IGl0IGFsaWducyB3aXRoIHRoZSBidXR0b25zPC9oMj5cbi8vICAgICAgICAgPGRpdiBjbGFzcz1cImRuYS1jYXJvdXNlbF9fY29udHJvbHNcIj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2J1dHRvbi1wcmV2IGRzLWFycm93LWJ0biBkcy1hcnJvdy1idG4tLXJvdW5kIGRzLWJ0bi0tZGlzYWJsZWRcIiB0YWJJbmRleD1cIi0xXCJcbi8vICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJFZGVsbGluZW5cIiBhcmlhLWNvbnRyb2xzPVwic3dpcGVyLXdyYXBwZXItMTg2MDM5MTE0NDc1ZmQyOFwiXG4vLyAgICAgICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0NoZXZyb25MZWZ0XCI+PC91c2U+XG4vLyAgICAgICAgICAgICAgICAgPC9zdmc+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX2J1dHRvbi1uZXh0IGRzLWFycm93LWJ0biBkcy1hcnJvdy1idG4tLXJvdW5kXCIgdGFiSW5kZXg9XCIwXCIgcm9sZT1cImJ1dHRvblwiXG4vLyAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZXVyYWF2YVwiIGFyaWEtY29udHJvbHM9XCJzd2lwZXItd3JhcHBlci0xODYwMzkxMTQ0NzVmZDI4XCIgYXJpYS1kaXNhYmxlZD1cImZhbHNlXCI+XG4vLyAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0NoZXZyb25SaWdodFwiPjwvdXNlPlxuLy8gICAgICAgICAgICAgICAgIDwvc3ZnPlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgIDwvZGl2PlxuLy8gICAgIDxkaXYgY2xhc3M9XCJzd2lwZXJcIj5cbi8vICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci13cmFwcGVyXCI+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgIzk0OEI4OTsgcGFkZGluZzogMjBweDtcIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjOTQ4Qjg5OyBwYWRkaW5nOiAyMHB4O1wiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgIzk0OEI4OTsgcGFkZGluZzogMjBweDtcIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjOTQ4Qjg5OyBwYWRkaW5nOiAyMHB4O1wiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgIzk0OEI4OTsgcGFkZGluZzogMjBweDtcIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjOTQ4Qjg5OyBwYWRkaW5nOiAyMHB4O1wiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgIzk0OEI4OTsgcGFkZGluZzogMjBweDtcIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjOTQ4Qjg5OyBwYWRkaW5nOiAyMHB4O1wiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4vLyAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICM5NDhCODk7IHBhZGRpbmc6IDIwcHg7XCI+XG4vLyAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBjYXJkXG4vLyAgICAgICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbi8vICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgIzk0OEI4OTsgcGFkZGluZzogMjBweDtcIj5cbi8vICAgICAgICAgICAgICAgICAgICAgU2FtcGxlIGNhcmRcbi8vICAgICAgICAgICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZVwiPlxuLy8gICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjOTQ4Qjg5OyBwYWRkaW5nOiAyMHB4O1wiPlxuLy8gICAgICAgICAgICAgICAgICAgICBTYW1wbGUgY2FyZFxuLy8gICAgICAgICAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwiZG5hLWNhcm91c2VsX19mb290ZXJcIj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItcGFnaW5hdGlvblwiPjwvZGl2PlxuLy8gICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1zY3JvbGxiYXJcIj48L2Rpdj5cbi8vICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkbmEtY2Fyb3VzZWxfX21vcmVcIj5cbi8vICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHMtaWNvbi1idG5cIj5cbi8vICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNBcnJvd1JpZ2h0XCI+PC91c2U+XG4vLyAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuLy8gICAgICAgICAgICAgICAgICAgICBFeGFtcGxlIG9mIGhvdyBsaW5rIGFuZCBidWxsZXRzIGFsaWduXG4vLyAgICAgICAgICAgICAgICAgPC9hPlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgIDwvZGl2PlxuLy8gPC9kaXY+XG4vL1xuLy8gU3R5bGVndWlkZSAzMS4yXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuICAgIEBpZiAkcG9pbnQgPT0gbW9iaWxlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0IC0gMSkgIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXRhYmxldCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gc21hbGxlci10aGFuLWRlc2t0b3Age1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1kZXNrdG9wIC0gMSkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3ApIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3AtY29udGVudCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3AtY29udGVudCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFyZ2UtZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlLWRlc2t0b3ApIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGV4dHJhbGFyZ2UtZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWV4dHJhbGFyZ2UtZGVza3RvcCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0LW9ubHkge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1kZXNrdG9wIC0gMSkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFyZ2UtbW9iaWxlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbW9iaWxlKSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBsYXJnZS1tb2JpbGUtb25seSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1vYmlsZSkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRhYmxldCAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHNtYWxsLW1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1vYmlsZSAtIDEpICB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSB0aW55LW1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRpbnktbW9iaWxlIC0gMSkgIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IG1heC1wYWdlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHBhZ2UtbWF4LXdpZHRoKSAgeyBAY29udGVudDsgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhICgjeyRwb2ludH0pIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG59XG5AbWl4aW4gY29udGFpbmVyLXNtYWxsLW1vYmlsZSB7XG4gICAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRjb250YWluZXItd2lkdGgtbGFyZ2UtbW9iaWxlIC0gMX0pIHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiBjb250YWluZXItbGFyZ2UtbW9iaWxlIHtcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JGNvbnRhaW5lci13aWR0aC1sYXJnZS1tb2JpbGV9KSB7IEBjb250ZW50OyB9XG59XG5AbWl4aW4gY29udGFpbmVyLXRhYmxldCB7XG4gICAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRjb250YWluZXItd2lkdGgtdGFibGV0fSkgeyBAY29udGVudDsgfVxufVxuQG1peGluIGNvbnRhaW5lci1kZXNrdG9wIHtcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JGNvbnRhaW5lci13aWR0aC1kZXNrdG9wfSkgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gb3JpZW50YXRpb24oJG9yaWVudGF0aW9uKSB7XG4gICAgQGlmICRvcmllbnRhdGlvbiA9PSBsYW5kc2NhcGUge1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRvcmllbnRhdGlvbiA9PSBwb3J0cmFpdCB7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCkgeyBAY29udGVudDsgfVxuICAgIH1cbn1cblxuQG1peGluIGhpZ2gtcmVzKCkge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBUaGUgbWljcm8gY2xlYXJmaXggaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICBkaXNwbGF5OnRhYmxlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6Ym90aDtcbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UobWF0aC5kaXYoJGhlaWdodCwkcmF0aW8tb3Itd2lkdGgpKSwgcGVyY2VudGFnZShtYXRoLmRpdigxLCRyYXRpby1vci13aWR0aCkpKTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbkBtaXhpbiB0cmFuc3BhcmVudC1zZWxlY3Rpb24ge1xuICAgICY6OnNlbGVjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGhlcm8tZm9udC1zaXplKCRtb2JpbGUsICRsYXJnZW1vYmlsZSwgJHRhYmxldCwgJGRlc2t0b3AsICRsYXJnZWRlc2t0b3A6ICRkZXNrdG9wKSB7XG4gICAgZm9udC1zaXplOiAkbW9iaWxlICsgcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS1tb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiAkbGFyZ2Vtb2JpbGUgKyBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGV0ICsgcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6ICRkZXNrdG9wICsgcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6ICRsYXJnZWRlc2t0b3AgKyBweDtcbiAgICB9XG59XG5cbkBtaXhpbiBtYXRjaFRvSGVhZGVySGVpZ2h0KCRwcm9wZXJ0eSwgJGlzQm9keUVsZW1lbnQ6IGZhbHNlLCAkZXh0cmFoZWlnaHQ6IDAsICRuZWdhdGl2ZTpmYWxzZSkge1xuICAgICRtdWx0aXBsaWVyOiAxO1xuICAgIEBpZiAkbmVnYXRpdmUgeyAkbXVsdGlwbGllcjogLTF9XG5cbiAgICAjeyRwcm9wZXJ0eX06ICgkaGVhZGVyLWhlaWdodC1tb2JpbGUgKyAkZXh0cmFoZWlnaHQpICogJG11bHRpcGxpZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogKCRoZWFkZXItaGVpZ2h0LWRlc2t0b3AgKyAkZXh0cmFoZWlnaHQpICogJG11bHRpcGxpZXI7XG4gICAgfVxufVxuXG5AbWl4aW4gcG9zaXRpb25BYnNvbHV0ZUZ1bGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbn1cbkBtaXhpbiBwb3NpdGlvbkFic29sdXRlQ2VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG59XG5cbkBtaXhpbiBidXR0b25TdHlsZVJlc2V0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuQG1peGluIGxpc3RTdHlsZVJlc2V0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgID4gbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5AbWl4aW4gZHJvcHNoYWRvdy1lbGV2YXRpb24tbG93KCRjbGlwOiBudWxsKSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpbmUtLTA0O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggMTZweCAwcHggc2NhbGVfY29sb3IoJGNvbG9yLXRleHQtLWJsYWNrLCAkYWxwaGE6IC05NCUpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLS1ub3JtYWw7XG4gICAgQGlmKCRjbGlwKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuQG1peGluIGRyb3BzaGFkb3ctZWxldmF0aW9uLWhpZ2goJGNsaXA6IG51bGwpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbGluZS0tMDQ7XG4gICAgYm94LXNoYWRvdzogMHB4IDRweCAyNHB4IDBweCBzY2FsZV9jb2xvcigkY29sb3ItdGV4dC0tYmxhY2ssICRhbHBoYTogLTkyJSk7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtLW5vcm1hbDtcbiAgICBAaWYoJGNsaXApIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5AbWl4aW4gZHJvcHNoYWRvdy1lbGV2YXRpb24tZXh0cmEtaGlnaCgkY2xpcDogbnVsbCkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1saW5lLS0wNDtcbiAgICBib3gtc2hhZG93OiAwcHggOHB4IDY0cHggMHB4IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtODQlKTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy0tbm9ybWFsO1xuICAgIEBpZigkY2xpcCkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cbkBtaXhpbiBkZWZhdWx0LWZvY3VzKCRyYWRpdXM6IG51bGwpIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggJGNvbG9yLXV0aWxpdHktLWZvY3VzLWxpZ2h0LCAwcHggMHB4IDBweCA0cHggJGNvbG9yLXV0aWxpdHktLWZvY3VzO1xuICAgICAgICBAaWYoJHJhZGl1cykge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtaXhpbiBpbm5lci1mb2N1cygkcmFkaXVzOiBudWxsKSB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMHB4IDJweCAkY29sb3ItdXRpbGl0eS0tZm9jdXMsIGluc2V0IDBweCAwcHggMHB4IDRweCAkY29sb3ItdXRpbGl0eS0tZm9jdXMtbGlnaHQ7XG4gICAgICAgIEBpZigkcmFkaXVzKSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxufVxuQG1peGluIGlucHV0LWZpZWxkLWljb24oJHVybCwgJHVybDI6IG51bGwpIHtcbiAgICBAaWYoJHVybDIpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR1cmwpLCB1cmwoJHVybDIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHVybCk7XG4gICAgfVxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggY2VudGVyLCByaWdodCAzNXB4IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xufVxuQG1peGluIHVuZGVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogZnJvbS1mb250O1xufVxuQG1peGluIGxpbmstdW5kZXJsaW5lIHtcbiAgICBAaW5jbHVkZSB1bmRlcmxpbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZTtcbiAgICB9XG59XG5cbkBtaXhpbiBob3Zlci1hY3RpdmUtc3RhdGUtZWZmZWN0cygkdGV4dC1jb2xvcjogbnVsbCwgJHRleHQtY29sb3ItY2hhbmdlOiBmYWxzZSwgJGJnLWNvbG9yOiBudWxsLCAkYm9yZGVyLWNvbG9yOiBudWxsKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpZigkdGV4dC1jb2xvci1jaGFuZ2UpIHtcbiAgICAgICAgICAgIGNvbG9yOiBzY2FsZV9jb2xvcigkdGV4dC1jb2xvciwgJGxpZ2h0bmVzczogLTIwJSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIEBpZigkYmctY29sb3IpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlX2NvbG9yKCRiZy1jb2xvciwgJGxpZ2h0bmVzczogLTIwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmKCRib3JkZXItY29sb3IpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogc2NhbGVfY29sb3IoJGJvcmRlci1jb2xvciwgJGxpZ2h0bmVzczogLTIwJSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgICBAaWYoJHRleHQtY29sb3ItY2hhbmdlKSB7XG4gICAgICAgICAgICBjb2xvcjogc2NhbGVfY29sb3IoJHRleHQtY29sb3IsICRsaWdodG5lc3M6IDEwJSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIEBpZigkYmctY29sb3IpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlX2NvbG9yKCRiZy1jb2xvciwgJGxpZ2h0bmVzczogMTAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaWYoJGJvcmRlci1jb2xvcikge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZV9jb2xvcigkYm9yZGVyLWNvbG9yLCAkbGlnaHRuZXNzOiAxMCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBHUklEXG5AbWl4aW4gZ3JpZCgkY29sdW1uczoxLCAkZ2FwOiRncmlkLWdhcC0tc21hbGwpIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogJGdhcDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkY29sdW1ucywgbWlubWF4KDAsIDFmcikpO1xufVxuQG1peGluIGdyaWQtY29sdW1ucygkY29sdW1uczoxKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvbHVtbnMsIG1pbm1heCgwLCAxZnIpKTtcbn1cblxuQG1peGluIGZ1bGwtY2FyZC1saW5rLW92ZXJsYXkoKSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgfVxufSIsIi8vIEJyZWFrcG9pbnRzXG4kYnJlYWtwb2ludC10aW55LW1vYmlsZTogMzYwcHg7XG4kYnJlYWtwb2ludC1sYXJnZS1tb2JpbGU6IDQ4MHB4O1xuJGJyZWFrcG9pbnQtdGFibGV0OiA3NjhweDtcbiRicmVha3BvaW50LWRlc2t0b3A6IDEwMjRweDtcbiRicmVha3BvaW50LWRlc2t0b3AtY29udGVudDogMTI4MHB4O1xuJGJyZWFrcG9pbnQtbGFyZ2UtZGVza3RvcDogMTQ0MHB4O1xuJGJyZWFrcG9pbnQtZXh0cmFsYXJnZS1kZXNrdG9wOiAxOTIwcHg7XG4vLyBjb250YWluZXIgd2lkdGhzIGluIG5vcm1hbCBwYWdlIGNvbnRlbnRcbiRjb250YWluZXItd2lkdGgtbGFyZ2UtbW9iaWxlOiAkYnJlYWtwb2ludC1sYXJnZS1tb2JpbGUgLSAyKjIwcHg7XG4kY29udGFpbmVyLXdpZHRoLXRhYmxldDogJGJyZWFrcG9pbnQtdGFibGV0IC0gMio0MHB4O1xuJGNvbnRhaW5lci13aWR0aC1kZXNrdG9wOiAkYnJlYWtwb2ludC1kZXNrdG9wIC0gMio0MHB4O1xuXG4kZm9udC1zaXplLW5vcm1hbDogICAgICAgICAgICAgMTZweDtcbiRmb250LXNpemUtZW1waGFzaXplZDogICAgICAgICAxOHB4O1xuJGZvbnQtc2l6ZS1iaWdnZXI6ICAgICAgICAgICAgIDIwcHg7XG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgICAgICAgMzJweDtcbiRmb250LXNpemUtbGFyZ2VzdDogICAgICAgICAgICA0NHB4O1xuJGZvbnQtc2l6ZS1odWdlOiAgICAgICAgICAgICAgIDgwcHg7XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgICAgICAgMTRweDtcbiRmb250LXNpemUtZXh0cmFzbWFsbDogICAgICAgICAxMnB4O1xuJGZvbnQtc2l6ZS10aW55OiAgICAgICAgICAgICAgIDEwcHg7XG5cbiRsaW5lLWhlaWdodC1ub3JtYWw6ICAgICAgICAgICAxLjI1OyAvLyBmb3IgMTZweCwgMjBweFxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgIDEuNTsgLy8gZm9yIDE2cHgsIDI0cHhcblxuJGZvbnQtZmFtaWx5LWhlYWRpbmctZGVtaS1ib2xkOiAnRE5BIEhlYWRpbmcgRGVtaSBCb2xkJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1oZWFkaW5nLWJvbGQ6ICAgICAgJ0ROQSBIZWFkaW5nIEJvbGQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LWhlYWRpbmctYmxhY2s6ICAgICAnRE5BIEhlYWRpbmcgQmxhY2snLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXRleHQtYm9sZDogICAgICAgICAnRE5BIFRleHQgQm9sZCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktdGV4dC1tZWRpdW06ICAgICAgICdETkEgVGV4dCBNZWRpdW0nLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXRleHQtcmVndWxhcjogICAgICAnRE5BIFRleHQgUmVndWxhcicsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8vIGNvbG9ycyBodHRwczovL3d3dy5maWdtYS5jb20vZmlsZS9MNElHNlNHM0FMN3N1ZTlZRzFnMmdCL0ROQS1Db2xvcnMtTkVXP25vZGUtaWQ9MiUzQTQxOVxuJGNvbG9yLW1haW4tLXdoaXRlOiAjRkZGRkZGO1xuJGNvbG9yLW1haW4tLWJsYWNrOiAjMTIxMjEyO1xuJGNvbG9yLW1haW4tLXBpbms6ICNEQTAwNzA7XG4kY29sb3ItbWFpbi0tcGluay0wMTogI0ZGODJDMTtcbiRjb2xvci1tYWluLS1waW5rLTAyOiAjRkZCRkRGO1xuJGNvbG9yLW1haW4tLXBsdW06ICM1NTFDM0U7XG4kY29sb3ItbWFpbi0tcGx1bS0wMTogIzY5MjE0QztcbiRjb2xvci1tYWluLS1wbHVtLTAyOiAjNzkyQTU5O1xuXG4kY29sb3ItYWNjZW50LS1sZW1vbjogI0ZGRjM0NztcbiRjb2xvci1hY2NlbnQtLWxlbW9uLTAxOiAjRkZGOUEzO1xuJGNvbG9yLWFjY2VudC0tbGVtb24tMDI6ICNGRkZBQkE7XG4kY29sb3ItYWNjZW50LS1za3k6ICMyRUNBRjA7XG4kY29sb3ItYWNjZW50LS1za3ktMDE6ICM3N0RDRjU7XG4kY29sb3ItYWNjZW50LS1za3ktMDI6ICM5NkU0Rjg7XG4kY29sb3ItYWNjZW50LS1vcmFuZ2U6ICNGRkE2MzM7XG4kY29sb3ItYWNjZW50LS1vcmFuZ2UtMDE6ICNGRkNBODU7XG4kY29sb3ItYWNjZW50LS1vcmFuZ2UtMDI6ICNGRkRCQUQ7XG5cbiRjb2xvci1iZy0td2hpdGU6ICNGRkZGRkY7XG4kY29sb3ItYmctLXNhbmQ6ICNGREZCRkE7XG4kY29sb3ItYmctLXNhbmQtMDE6ICNGOEY0RjE7XG4kY29sb3ItYmctLXNhbmQtMDI6ICNFREU4RTE7XG4kY29sb3ItYmctLWZyb3N0ZWRnbGFzczogI2Y1ZjVmNWViO1xuXG4kY29sb3ItdGV4dC0tYmxhY2s6ICMxMjEyMTI7XG4kY29sb3ItdGV4dC0tZGFyay1ncmF5OiAjNTA1MDUwO1xuJGNvbG9yLXRleHQtLXBsdW06ICM1NTFDM0U7XG4kY29sb3ItdGV4dC0tcGluazogI0RBMDA3MDtcbiRjb2xvci10ZXh0LS13aGl0ZTogI0ZGRkZGRjtcbiRjb2xvci10ZXh0LS1kaXNhYmxlZDogc2NhbGVfY29sb3IoJGNvbG9yLXRleHQtLWJsYWNrLCAkYWxwaGE6IC01MCUpO1xuXG4kY29sb3ItdXRpbGl0eS0tdGV4dC1saW5rOiAjREEwMDcwO1xuJGNvbG9yLXV0aWxpdHktLXRleHQtbGluay1ob3Zlcjogc2NhbGVfY29sb3IoJGNvbG9yLXV0aWxpdHktLXRleHQtbGluaywgJGxpZ2h0bmVzczogLTIwJSk7XG4kY29sb3ItdXRpbGl0eS0tZm9jdXM6ICMwMDY0RTI7XG4kY29sb3ItdXRpbGl0eS0tZm9jdXMtbGlnaHQ6ICNEOEU5RkY7XG5cbiRjb2xvci1saW5lLS0wMTogIzk0OEI4OTtcbiRjb2xvci1saW5lLS0wMjogI0Q0RDJDRTtcbiRjb2xvci1saW5lLS0wMzogI0U3RTVFMztcbiRjb2xvci1saW5lLS0wNDogI0VGRUVFRDtcblxuJGNvbG9yLW5vdGlmaWNhdGlvbi0taW5mbzogIzBCN0M5OTtcbiRjb2xvci1ub3RpZmljYXRpb24tLXdhcm5pbmc6ICNFQjY2MDA7XG4kY29sb3Itbm90aWZpY2F0aW9uLS1lcnJvcjogI0REMEEwQTtcbiRjb2xvci1ub3RpZmljYXRpb24tLXN1Y2Nlc3M6ICMwMDg1MDA7XG5cbiRib3JkZXItcmFkaXVzLS1zbWFsbDogNHB4O1xuJGJvcmRlci1yYWRpdXMtLW5vcm1hbDogOHB4O1xuJGJvcmRlci1yYWRpdXMtLWZ1bGw6IDUwJTtcblxuXG4vL3BhZ2UgbWluIG1heCB3aWR0aHNcbiRwYWdlLW1pbi13aWR0aDogMzIwcHg7XG4kcGFnZS1tYXgtd2lkdGg6IDI1NjBweDtcbiRwYWdlLWxheW91dC1ub3JtYWwtY29udGVudC1tYXh3aWR0aDogMTIwMHB4O1xuJHBhZ2UtbGF5b3V0LW1lZGl1bS1jb250ZW50LW1heHdpZHRoOiA4NjBweDtcbiRwYWdlLWxheW91dC1zbWFsbC1jb250ZW50LW1heHdpZHRoOiA2NDBweDtcblxuLy8gZ3JpZCBwYWRkaW5nc1xuJGdyaWQtZ2FwLS1zbWFsbDogMTBweDtcbiRncmlkLWdhcC0td2lkZTogMzBweDtcbiRncmlkLWdhcC0tbGFyZ2U6IDYwcHg7XG4kZ3JpZC1wYWRkaW5nOiAxMHB4O1xuXG4vL3BvcnRsZXQgbWFyZ2luc1xuJG1hcmdpbi1wb3J0bGV0LWRlZmF1bHQ6ICAgICAgICA1MHB4O1xuJG1hcmdpbi1wb3J0bGV0LXNtYWxsOiAgICAgICAgICAzMHB4O1xuJG1hcmdpbi1wb3J0bGV0LWV4dHJhc21hbGw6ICAgICAxMHB4O1xuJG1hcmdpbi1wb3J0bGV0LWV4dHJhbGFyZ2U6ICAgICAyMHZoO1xuXG4vL2lucHV0IHZhcmlhYmxlc1xuJGJ1dHRvbi1oZWlnaHQtZGVmYXVsdDogICA0MHB4O1xuJGJ1dHRvbi1oZWlnaHQtc21hbGw6ICAgICAzMnB4O1xuJGlucHV0LWhlaWdodC1kZWZhdWx0OiAgICA0MHB4O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAkY29sb3ItbGluZS0tMDE7XG4kaW5wdXQtZmllbGQtYmc6ICAgICAgICAgICAgICAgICRjb2xvci1iZy0td2hpdGU7XG4kaW5wdXQtdGV4dC1jb2xvcjogICAgICAgICAgICAgICRjb2xvci10ZXh0LS1ibGFjaztcbiRpbnB1dC1ib3JkZXItc2hvcnRoYW5kOiAgICAgICAgMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4kZm9ybS1lbGVtZW50cy1tYXgtd2lkdGg6ICAgICAgIDUxNXB4O1xuXG4vL2xhYmVsXG4kZHMtbGFiZWwtaGVpZ2h0OiAyMnB4O1xuXG4vLyBVc2UgdGhlc2UgY29sb3JzIGFueXdoZXJlIGEgbGluaywgaW5wdXQgb3IgYSBidXR0b24gaXMgZGlzYWJsZWQhXG4kZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICNmMmYyZjI7XG4kZGlzYWJsZWQtdGV4dDogICAgICAgICAgICAgICAgICM5OTk5OTk7XG5cblxuJGhlYWRlci1oZWlnaHQtZGVza3RvcDogMTA4cHg7IC8vIDQ4cHggc2l0ZSBuYXYgKyA2MCBtYWluIG5hdlxuJGhlYWRlci1oZWlnaHQtbW9iaWxlOiA5OHB4OyAvLyAzOHB4IHNpdGUgbmF2ICsgNjAgbWFpbiBuYXZcbiRoZWFkZXItbWFpbi1uYXYtaGVpZ2h0OiA2MHB4O1xuJHNlY29uZGFyeS1uYXYtaGVpZ2h0LWRlc2t0b3A6IDU3cHg7IC8vIG5lZWRlZCBmb3IgdG9hc3RlciBwb3NpdGlvbmluZ1xuJHNlY29uZGFyeS1uYXYtaGVpZ2h0LW1vYmlsZTogNjRweDtcbiRhZG1pbi1kb2NrYmFyLWhlaWdodDogNzRweDtcbiRhZG1pbi1lZGl0LW1vZGUtZG9ja2Jhci1oZWlnaHQ6IDE1NXB4O1xuXG4kY2FyZC1oZWlnaHQ6IDQwMHB4O1xuJGNhcmQtaGVpZ2h0LWFjdHVhbDogNDAwcHggLSAycHg7IC8vYm9yZGVyc1xuJGNhcmQtaGVpZ2h0LWV4dGVuZGVkOiA2MDBweDtcbiRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4kZm9ybS1lbGVtZW50LWJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuXG4kdGFiLWl0ZW0taGVpZ2h0OiAzNnB4O1xuXG4vLyB6LWluZGV4IGxldmVsc1xuJHotaW5kZXgtbGV2ZWwtMS1iYXNlOiAwO1xuJHotaW5kZXgtbGV2ZWwtMi1mbG9hdGluZzogMjAwOyAvLyBmb3IgYWxsIGZpcnN0IGxldmVsIGZsb2F0aW5nIGVsZW1lbnRzXG4kei1pbmRleC1sZXZlbC0zLXBvcHVwLW92ZXJsYXk6IDYwMDsgLy8gZm9yIGhlYWRlciBsb2dpbiBtb2RhbHMgYW5kIG90aGVyIHBvcHVwcyB0aGF0IHNob3VsZCBiZSB1bmRlciB0aGUgaGVhZGVyXG4kei1pbmRleC1sZXZlbC00LWhlYWRlcjogMTAwMDtcbiR6LWluZGV4LWxldmVsLTUtY2hhdDogMTA0MDsgLy8gU2hvdWxkIGJlIGFib3ZlIGhlYWRlciBidXQgYmVsb3cgb3ZlcmxheS4gUm9ja2V0IG1vZGFsIGhhcyB6LWluZGV4OiAxMDUwLCBzbyB3ZSBuZWVkIENoYXQgdG8gYmUganVzdCBiZWxvdywgYW5kIGFib3ZlIHRoZWlyIGhlYWRlciB0aGF0IGhhcyAxMDMwLlxuJHotaW5kZXgtbGV2ZWwtNi1tb2RhbC1vdmVybGF5OiAxMTAwOyAvLyBmb3IgbW9kYWwgdGhhdCBzaG91bGQgY292ZXIgdGhlIGhlYWRlclxuJHotaW5kZXgtbGV2ZWwtNy1tb2RhbDogMTIwMDsgLy8gdG9wIGxldmVsIG1vZGFscyJdLCJmaWxlIjoiY2FyZC1jYXJvdXNlbC5jc3MifQ== */
