/*  */
.info__crucero__container {
  background-color: #fff;
  border: 1px solid #32a3ed;
  border-radius: 25px;
  margin-bottom: 10px;
  padding-left: 0;
  padding-right: 0;
}

.all__info__content {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 10px;
  gap: 10px;
  flex-wrap: wrap;
}
@media screen and (max-width: 991.8px) {
  .all__info__content {
    padding: 15px;
  }
}
@media screen and (max-width: 575.8px) {
  .all__info__content {
    flex-wrap: wrap;
  }
}

@media (hover: hover) and (pointer: fine) {
  .first__image_itinerary:hover img {
    transform: scale(1.5);
    transition: top 0.5s ease-in-out, left 0.5s ease-in-out, transform 0.5s ease-in-out;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    transform-origin: left center;
  }
}
.image__content {
  position: relative;
  display: flex;
  max-width: 480px;
  /*@include media($xxl) {
    flex-direction: column;
    width: 100%;
    max-width: 300px;
  } */
}
@media screen and (max-width: 991.8px) {
  .image__content {
    flex-direction: row;
    max-width: 250px;
  }
}
@media screen and (max-width: 1055.8px) {
  .image__content {
    flex-direction: column;
    width: 100%;
    max-width: 220px;
  }
}
@media screen and (max-width: 575.8px) {
  .image__content {
    flex-direction: unset;
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 767.8px) {
  .col-sm.info__content {
    flex: 1 0 0%;
    padding-left: 0px;
  }
}

@media screen and (max-width: 767.8px) {
  .info__titleContent .col-sm-auto.pe-3 {
    padding-right: 0rem !important;
  }
}

.image__img-content {
  width: 50%;
}
@media screen and (max-width: 1439.8px) {
  .image__img-content {
    width: 100%;
    flex: 1;
    overflow: hidden;
  }
}
@media screen and (max-width: 991.8px) {
  .image__img-content {
    max-height: none;
  }
}
.image__img-content.first__image_itinerary {
  overflow: visible;
  z-index: 95;
}
.image__img-content.first__image_itinerary:hover {
  z-index: 9999;
}
.image__img-content img {
  max-width: 100%;
  height: 100%;
}
@media screen and (max-width: 1439.8px) {
  .image__img-content img {
    width: 100%;
  }
}
@media screen and (max-width: 991.8px) {
  .image__img-content img {
    width: 100%;
    height: 100%;
    max-height: 100% !important;
  }
}
@media screen and (max-width: 767.8px) {
  .image__img-content img {
    max-width: 100%;
    width: 100%;
    height: 100%;
    max-height: 100%;
  }
}
.image__img-content .image__map {
  border-radius: 25px 0 0 25px;
}
@media screen and (max-width: 1439.8px) {
  .image__img-content .image__map {
    border-radius: 25px 0 0 0;
  }
}
@media (max-width: 1440px) {
  .image__img-content .image__map {
    border-bottom-left-radius: 25px;
  }
}
@media (max-width: 1055px) {
  .image__img-content .image__map {
    border-bottom-left-radius: 0px;
  }
}
@media screen and (max-width: 991.8px) {
  .image__img-content .image__map {
    border-radius: 25px 0 0 0;
  }
}
@media screen and (max-width: 767.8px) {
  .image__img-content .image__map {
    border-radius: 25px 0 0 0;
  }
}
@media screen and (max-width: 575.8px) {
  .image__img-content .image__ship {
    border-radius: 0 25px 0 0;
  }
}

.image_img-content-step-one {
  max-height: 191px;
}

.info__titleContent {
  display: flex;
  justify-content: left;
}
@media (max-width: 991.8px) {
  .info__titleContent {
    justify-content: center;
  }
}
@media screen and (max-width: 767.8px) {
  .info__titleContent {
    display: block;
  }
}

@media screen and (max-width: 767.8px) {
  .scImg-fluid--logoShip {
    margin: 0 auto;
  }
}

.advantages__content {
  display: flex;
  align-items: center;
  position: relative;
  flex-wrap: wrap;
}
@media (max-width: 1392px) {
  .advantages__content {
    flex-wrap: nowrap;
  }
}
@media (max-width: 1392px) {
  .advantages__content .badge.advantages:not(.btn-plus-tag) {
    display: none;
  }
}
.advantages__content .badge.advantages.first {
  display: inline-flex;
}
.advantages__content .badge.advantages.isPhone {
  display: inline-flex;
}

@media screen and (max-width: 767.8px) {
  .advantages__content {
    margin-left: 5px;
  }
}
@media screen and (max-width: 991.8px) {
  .advantages__content {
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 767.8px) {
  .characteristics__content {
    margin-left: 5px;
  }
}

@media screen and (max-width: 575.8px) {
  .characteristics__content--phone-tab {
    padding-top: 24px;
    text-align: center;
  }
}

@media screen and (max-width: 575.8px) {
  .advantages__wrap {
    padding: 12px 12px 34px;
  }
}

@media screen and (max-width: 575.8px) {
  .advantages__title {
    font-weight: bold;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 575.8px) {
  .advantages__title {
    font-size: 19.84px;
  }
}
@media screen and (max-width: 359.8px) {
  .advantages__title {
    font-size: 19.84px;
  }
}

@media screen and (max-width: 575.8px) {
  .advantages__content--sm-full {
    margin-left: calc((100% - 100vw) / 2);
    margin-right: calc((100% - 100vw) / 2);
    width: 100vw;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    padding-left: 16px;
    padding-right: 16px;
  }
  .advantages__content--sm-full::-webkit-scrollbar {
    width: 1px;
  }
  .advantages__content--sm-full::-webkit-scrollbar-track {
    background: transparent;
  }
  .advantages__content--sm-full::-webkit-scrollbar-thumb {
    background-color: transparent;
  }
}

.title__info {
  font-weight: bold;
  color: #000;
}

.info__crucero .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 25px;
  font-size: 14px;
}

.advantages, .info__crucero .advantages {
  color: black;
  background-color: #e9f7e8;
  margin: 3px;
  border-radius: 25px;
  font-size: 14px;
  padding: 5px 10px;
}
@media screen and (max-width: 575.8px) {
  .advantages, .info__crucero .advantages {
    background-color: #e9f7e8;
    color: #000000;
    font-weight: normal;
    margin-right: 8px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 4px;
  }
}
@media screen and (max-width: 575.8px) {
  .advantages.text-white, .info__crucero .advantages.text-white {
    color: black !important;
  }
}
.advantages,
.advantages .ico {
  color: black !important;
}

.info__crucero .characteristics, .characteristics {
  background-color: #ecf8ff;
  color: #333;
  font-weight: normal;
  margin: 3px;
  padding: 8px;
  border-radius: 25px;
  font-size: 14px;
}
@media screen and (max-width: 575.8px) {
  .info__crucero .characteristics, .characteristics {
    margin-bottom: 10px;
    margin-right: 6px;
    padding: 9px 12px;
  }
}

.info__crucero .prices {
  display: flex;
  /*align-items: center;
  justify-content: center;*/
  height: 100%;
}
@media screen and (max-width: 1055.8px) {
  .info__crucero .prices {
    display: block;
    text-align: center;
  }
}

.info__crucero .price {
  color: #32a3ed;
  font-weight: 900;
  margin-bottom: 0;
}

.additional-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  padding: 15px;
}

.info__crucero .ico {
  font-size: 20px;
  margin-right: 10px;
  display: inline-flex;
  align-items: center;
  color: #fff;
}

.tab-ships-nav span.nav-link {
  color: #32a3ed;
  display: inline;
}

.tab-ships-nav span.nav-link i {
  color: #32a3ed;
  cursor: pointer;
  font-size: 12px;
  padding-left: 5px;
}

.prices__info__content {
  justify-content: center;
  width: 28%;
}
@media screen and (max-width: 1439.8px) {
  .prices__info__content {
    width: 38%;
  }
}

.title__info__content {
  max-width: 70%;
}
@media (max-width: 991.8px) {
  .title__info__content {
    text-align: center;
  }
}
@media screen and (max-width: 1439.8px) {
  .title__info__content {
    width: 60%;
  }
}

.btn-plus-tag,
.btn-plus-tag .ico {
  cursor: pointer;
  pointer-events: auto;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxpdGllcy9fY29sb3JzLnNjc3MiLCJjaGVja291dC9oZWFkZXItc2hpcC5zY3NzIiwiY2hlY2tvdXQvaGVhZGVyLXNoaXAuY3NzIiwidXRpbGl0aWVzL19jbWl4aW5zLnNjc3MiLCJ1dGlsaXRpZXMvX3Jlc3BvbnNpdmUuc2NzcyIsInV0aWxpdGllcy9fbWl4aW5zLWNsYXNzZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQ0EsS0FBQTtBQ3BDQTtFQUNFLHNCQUFBO0VBQ0EseUJBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBRUEsZUFBQTtFQUNBLGdCQUFBO0FDREY7O0FESUE7RUFDRSxZQUFBO0VBQ0EsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxlQUFBO0FDREY7QUNxREU7RUYzREY7SUFVSSxhQUFBO0VDQUY7QUFDRjtBQ2dERTtFRjNERjtJQWNJLGVBQUE7RUNDRjtBQUNGOztBREVBO0VBQ0U7SUFDRSxxQkFBQTtJQUNBLG1GQUFBO0lBQ0EseUJBQUE7SUFDQSw0QkFBQTtJQUNBLDZCQUFBO0VDQ0Y7QUFDRjtBREVBO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBRUEsZ0JBQUE7RUFFQTs7OztLQUFBO0FDRUY7QUN1QkU7RUYvQkY7SUFZSSxtQkFBQTtJQUNBLGdCQUFBO0VDQUY7QUFDRjtBQ2lCRTtFRi9CRjtJQWdCSSxzQkFBQTtJQUNBLFdBQUE7SUFDQSxnQkFBQTtFQ0VGO0FBQ0Y7QUNVRTtFRi9CRjtJQXNCSSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxlQUFBO0VDR0Y7QUFDRjs7QUNHRTtFRkhGO0lBRUksWUFBQTtJQUNBLGlCQUFBO0VDR0Y7QUFDRjs7QUNKRTtFRklGO0lBRUksOEJBQUE7RUNHRjtBQUNGOztBREFBO0VBQ0UsVUFBQTtBQ0dGO0FDZEU7RUZVRjtJQUlJLFdBQUE7SUFDQSxPQUFBO0lBQ0EsZ0JBQUE7RUNJRjtBQUNGO0FDckJFO0VGVUY7SUFTSSxnQkFBQTtFQ01GO0FBQ0Y7QURBRTtFQUNFLGlCQUFBO0VBQ0EsV0FBQTtBQ0VKO0FEQUk7RUFDRSxhQUFBO0FDRU47QURFRTtFQUNFLGVBQUE7RUFDQSxZQUFBO0FDQUo7QUNyQ0U7RUZtQ0E7SUFNSSxXQUFBO0VDQUo7QUFDRjtBQzFDRTtFRm1DQTtJQVNJLFdBQUE7SUFDQSxZQUFBO0lBQ0EsMkJBQUE7RUNFSjtBQUNGO0FDakRFO0VGbUNBO0lBZUksZUFBQTtJQUNBLFdBQUE7SUFDQSxZQUFBO0lBQ0EsZ0JBQUE7RUNHSjtBQUNGO0FEQUU7RUFDRSw0QkFBQTtBQ0VKO0FDNURFO0VGeURBO0lBSUkseUJBQUE7RUNHSjtBQUNGO0FFbVZFO0VIM1ZBO0lHNFZFLCtCQVBZO0VGelVkO0FBQ0Y7QUU4VUU7RUgzVkE7SUc0VkUsOEJBUFk7RUZwVWQ7QUFDRjtBQzNFRTtFRnlEQTtJQVdJLHlCQUFBO0VDV0o7QUFDRjtBQ2hGRTtFRnlEQTtJQWVJLHlCQUFBO0VDWUo7QUFDRjtBQ3JGRTtFRjRFQTtJQVdJLHlCQUFBO0VDRUo7QUFDRjs7QURFQTtFQUNFLGlCQUFBO0FDQ0Y7O0FERUE7RUFDRSxhQUFBO0VBQ0EscUJBQUE7QUNDRjtBRWlURTtFSHBURjtJR3FUSSx1QkFqQlU7RUY3Ulo7QUFDRjtBQ3hHRTtFRmdHRjtJQU9JLGNBQUE7RUNLRjtBQUNGOztBQzdHRTtFRjJHRjtJQUVJLGNBQUE7RUNLRjtBQUNGOztBREZBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FDS0Y7QUUwUkU7RUhuU0Y7SUdvU0ksaUJBakJVO0VGdFFaO0FBQ0Y7QUVxUkU7RUh6Ukk7SUcwUkYsYUFqQlU7RUZqUVo7QUFDRjtBRE5NO0VBQ0Usb0JBQUE7QUNRUjtBRE5NO0VBQ0Usb0JBQUE7QUNRUjs7QUMxSUU7RUYwSUE7SUFDRSxnQkFBQTtFQ0lGO0FBQ0Y7QUNoSkU7RUZnSkE7SUFDRSxpQkFBQTtFQ0dGO0FBQ0Y7QUNySkU7RUZxSkY7SUFFSSxnQkFBQTtFQ0VGO0FBQ0Y7O0FDdElFO0VGNklGO0lBRUksaUJBQUE7SUFDQSxrQkFBQTtFQ0pGO0FBQ0Y7O0FDN0lFO0VGb0pGO0lBRUksdUJBQUE7RUNKRjtBQUNGOztBQ25KRTtFRjBKRjtJQU1JLGlCQUFBO0lBQ0EsbUJBQUE7RUNSRjtBQUNGO0FDbEpNO0VGa0pOO0lFeklZLGtCQURRO0VEOElsQjtBQUNGO0FDdkpNO0VGa0pOO0lFeklZLGtCQURRO0VEbUpsQjtBQUNGOztBQ3BLRTtFRjBLRjtJSXpPRSxxQ0FBQTtJQUNBLHNDQUFBO0lBQ0EsWUFBQTtJQXdCQSxhQUFBO0lBQ0EsaUJBQUE7SUFDQSxnQkFBQTtJQW5CQSxxQkFBQTtJQUNBLHdDQUFBO0lKbU9FLGtCQUFBO0lBQ0EsbUJBQUE7RUNHRjtFR3JPQTtJQUNFLFVBQUE7RUh1T0Y7RUdwT0E7SUFDRSx1QkFBQTtFSHNPRjtFR25PQTtJQUNFLDZCQUFBO0VIcU9GO0FBQ0Y7O0FEVEE7RUFDRSxpQkFBQTtFQUNBLFdBQUE7QUNZRjs7QURWQTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7QUNhRjs7QURWRTtFQUVFLFlEelFJO0VDMFFKLHlCRHRQcUI7RUN1UHJCLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtBQ1lKO0FDbk5FO0VGZ01BO0lBVUkseUJEL1JhO0lDZ1NiLGNBQUE7SUFDQSxtQkFBQTtJQUNBLGlCQUFBO0lBQ0EsaUJBQUE7SUFDQSxhQUFBO0lBQ0EsbUJBQUE7SUFDQSxRQUFBO0VDYUo7QUFDRjtBQy9ORTtFRm9ORTtJQUVJLHVCQUFBO0VDYU47QUFDRjtBRFRFOztFQUVFLHVCQUFBO0FDV0o7O0FEUEU7RUFFRSx5QkRuUmM7RUNvUmQsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7QUNTSjtBQ2xQRTtFRmlPQTtJQVdJLG1CQUFBO0lBQ0EsaUJBQUE7SUFDQSxpQkFBQTtFQ1VKO0FBQ0Y7O0FEUEE7RUFDRSxhQUFBO0VBQ0E7MkJBQUE7RUFFQSxZQUFBO0FDVUY7QUNwUkU7RUZzUUY7SUFPSSxjQUFBO0lBQ0Esa0JBQUE7RUNXRjtBQUNGOztBRFJBO0VBQ0UsY0QvVVU7RUNnVlYsZ0JBQUE7RUFDQSxnQkFBQTtBQ1dGOztBRFJBO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7QUNXRjs7QURUQTtFQUNFLGVBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0FDWUY7O0FEVEE7RUFDRSxjQUFBO0VBQ0EsZUFBQTtBQ1lGOztBRFRBO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QUNZRjs7QURUQTtFQUNFLHVCQUFBO0VBQ0EsVUFBQTtBQ1lGO0FDblVFO0VGcVRGO0lBSUksVUFBQTtFQ2NGO0FBQ0Y7O0FEWkE7RUFFRSxjQUFBO0FDY0Y7QUV3RUU7RUh4RkY7SUd5Rkksa0JBakJVO0VGcERaO0FBQ0Y7QUNqVkU7RUY0VEY7SUFPSSxVQUFBO0VDa0JGO0FBQ0Y7O0FEZkE7O0VBRUUsZUFBQTtFQUNBLG9CQUFBO0FDa0JGIiwiZmlsZSI6ImNoZWNrb3V0L2hlYWRlci1zaGlwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmdW5jdGlvbiBjb2xvcigkY29sb3IpIHtcbi8vICAgQHJldHVybiB2YXIoLS1icy0jeyRjb2xvcn0pO1xuLy8gfVxuXG4vLyAkdmlvbGV0LWNvbG9yOiAjNWYyNDllICFkZWZhdWx0O1xuXG4kY29sb3ItYWR2YW50YWdlczogI2U5ZjdlODtcbiRjb2xvci1zdWNjZXNzOiAjMmJiMDE5O1xuJGNvbG9yLWdyZWVuLWxpZ2h0OiAjNTZjNzQ3O1xuJGNvbG9yLXN1Y2Nlc3MtbGlnaHQ6ICNlOWY3ZTg7XG4kY29sb3Itc2t5LWxpZ2h0OiAjN2FiYmU3O1xuJGNvbG9yLXNreTogIzMyYTNlZDtcbiR0ZXh0LWNvbG9yOiAjMDAwMDAwO1xuJGNvbG9yLXRleHQ6ICMwMDAwMDA7XG4kY29sb3ItZ3JheTogI2Q0ZDRkNDtcbiRjb2xvci1zaWx2ZXI6ICNmMGYwZjA7XG4kY29sb3ItbGlnaHQ6ICNmMmYyZjI7XG4kY29sb3Itd2hpdGU6ICNmZmZmZmY7XG5cbiR3aGl0ZTogd2hpdGU7XG4kYmxhY2s6IGJsYWNrO1xuJHN1Y2Nlc3M6ICRjb2xvci1zdWNjZXNzO1xuXG4vLy8gIENvbG9ycyBGb250c1xuJHRleHQtY29sb3I6IGJsYWNrO1xuJHRleHQtbGlnaHQ6IHdoaXRlO1xuXG4vLy8gQ29sb3JzIEJhY2tncm91bmRzXG4kYmctbGlnaHQ6IHdoaXRlO1xuJGJnLXdoaXRlOiB3aGl0ZTtcbiRiZy1ncmF5IDogZ3JheTtcbiRiZy1zaWx2ZXIgOiAjZjBmMGYwO1xuJGJnLXN1Y2Nlc3MgOiAjMmJiMDE5O1xuXG4vLy8gQm9yZGVyXG4kYm9yZGVyLWdyYXkgOiBncmF5O1xuJGJvcmRlci1ncmVlbjogIzU2Yzc0NztcblxuLyogICovXG4kY29sb3ItZ3JlZW4tbGlzdDogIzJiYjAxOTtcbiRjb2xvci1ncmVlbi1saXN0LWxpZ2h0OiAjZTlmN2U4O1xuJGJvcmRlci1jb2xvci1ncmF5OiAjZDNkM2QzO1xuJGJnLWNvbG9yLWdyYXk6ICNkM2QzZDM7XG4kY29sb3Itc2t5LWxpZ2h0OiAjZWNmOGZmOyIsIkBpbXBvcnQgXCIuLi91dGlsaXRpZXMvaW5kZXhcIjtcblxuLmluZm9fX2NydWNlcm9fX2NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1za3k7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uYWxsX19pbmZvX19jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgZ2FwOiAxMHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxnKSB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRzbSkge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5maXJzdF9faW1hZ2VfaXRpbmVyYXJ5OmhvdmVyIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjVzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuNXMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLmltYWdlX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIG1heC13aWR0aDogNDgwcHg7XG5cbiAgLypAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICB9ICovXG4gIEBpbmNsdWRlIG1lZGlhKCRsZykge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWxnKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHNtKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHVuc2V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uY29sLXNtLmluZm9fX2NvbnRlbnR7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xuICAgIGZsZXg6IDEgMCAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgfVxufVxuXG4uaW5mb19fdGl0bGVDb250ZW50IC5jb2wtc20tYXV0by5wZS0ze1xuICBAaW5jbHVkZSBtZWRpYSgkbWQpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmltYWdlX19pbWctY29udGVudCB7XG4gIHdpZHRoOiA1MCU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHh4bCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbGcpIHtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIC8vd2lkdGg6IDUwJTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWQpIHtcbiAgICAvL3dpZHRoOiA1MCU7XG4gIH1cblxuICAmLmZpcnN0X19pbWFnZV9pdGluZXJhcnl7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgei1pbmRleDogOTU7XG5cbiAgICAmOmhvdmVye1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJGxnKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbWQpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaW1hZ2VfX21hcCB7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweCAwIDAgMjVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR4eGwpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHggMCAwIDA7XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIG1xKGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMsIDI1LCAxNDQwKTtcbiAgICBAaW5jbHVkZSBtcShib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzLCAwLCAxMDU1KTtcbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYSgkbGcpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHggMCAwIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1kKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbWFnZV9fc2hpcCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHh4bCkge1xuICAgICAgLy9ib3JkZXItcmFkaXVzOiAwIDAgMCAyNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGcpIHtcbiAgICAgIC8vYm9yZGVyLXJhZGl1czogMCAyNXB4IDAgMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1kKSB7XG4gICAgICAvL2JvcmRlci1yYWRpdXM6IDAgMjVweCAwIDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRzbSkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAyNXB4IDAgMDtcbiAgICB9XG4gIH1cbn1cblxuLmltYWdlX2ltZy1jb250ZW50LXN0ZXAtb25le1xuICBtYXgtaGVpZ2h0OiAxOTFweDtcbn1cblxuLmluZm9fX3RpdGxlQ29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcblxuICBAaW5jbHVkZSBtcShqdXN0aWZ5LWNvbnRlbnQsIGNlbnRlciwgJGxnKTtcbiAgXG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5zY0ltZy1mbHVpZC0tbG9nb1NoaXB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbi5hZHZhbnRhZ2VzX19jb250ZW50e1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICBAaW5jbHVkZSBtcShmbGV4LXdyYXAsIG5vd3JhcCwgMTM5Mik7XG5cbiAgLmJhZGdle1xuICAgICYuYWR2YW50YWdlc3tcbiAgICAgICY6bm90KC5idG4tcGx1cy10YWcpe1xuICAgICAgICBAaW5jbHVkZSBtcShkaXNwbGF5LCBub25lLCAxMzkyKTtcbiAgICAgIH1cbiAgICAgICYuZmlyc3R7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuICAgICAgJi5pc1Bob25le1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cbiAgICB9ICAgIFxuICB9XG5cbn1cblxuQGluY2x1ZGUgbWVkaWEoJG1kKSB7XG4gIC5hZHZhbnRhZ2VzX19jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRsZykge1xuICAuYWR2YW50YWdlc19fY29udGVudCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLmNoYXJhY3RlcmlzdGljc19fY29udGVudCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZCkge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuLmNoYXJhY3RlcmlzdGljc19fbGFiZWwge1xuICBAaW5jbHVkZSBtZWRpYVBob25lKCRtZCkge1xuICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNoYXJhY3RlcmlzdGljc19fY29udGVudC0tcGhvbmUtdGFiIHtcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5hZHZhbnRhZ2VzX193cmFwIHtcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgcGFkZGluZzogMTJweCAxMnB4IDM0cHg7XG4gIH1cbn1cblxuLmFkdmFudGFnZXNfX3RpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZShcbiAgICAoXG4gICAgICBmb250LXNpemU6IDE5Ljg0cHgsXG4gICAgKVxuICApIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG59XG4uYWR2YW50YWdlc19fbGFiZWwge1xuICBAaW5jbHVkZSBtZWRpYVBob25lIHtcbiAgICAvLyBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5hZHZhbnRhZ2VzX19jb250ZW50LS1zbS1mdWxsIHtcbiAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgQGluY2x1ZGUgd2lkdGgtZXhwYW5kZWQ7XG4gICAgQGluY2x1ZGUgc2Nyb2xsLXgtZmxleDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgfVxufVxuXG4udGl0bGVfX2luZm8ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDA7XG59XG4uaW5mb19fY3J1Y2VybyAuYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5hZHZhbnRhZ2VzIHtcbiAgJixcbiAgLmluZm9fX2NydWNlcm8gJiB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4tbGlzdC1saWdodDtcbiAgICBtYXJnaW46IDNweDtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhUGhvbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFkdmFudGFnZXM7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDRweDtcbiAgICB9XG5cbiAgICAmLnRleHQtd2hpdGV7XG4gICAgICBAaW5jbHVkZSBtZWRpYVBob25lIHtcbiAgICAgICAgY29sb3I6ICRibGFjayFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgJixcbiAgLmljb3tcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5jaGFyYWN0ZXJpc3RpY3Mge1xuICAuaW5mb19fY3J1Y2VybyAmLFxuICAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2t5LWxpZ2h0O1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAzcHg7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgICB9XG4gIH1cbn1cbi5pbmZvX19jcnVjZXJvIC5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKmFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyovXG4gIGhlaWdodDogMTAwJTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbWxnKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5pbmZvX19jcnVjZXJvIC5wcmljZSB7XG4gIGNvbG9yOiAkY29sb3Itc2t5O1xuICBmb250LXdlaWdodDogOTAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWRkaXRpb25hbC1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4O1xufVxuLmluZm9fX2NydWNlcm8gLmljbyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50YWItc2hpcHMtbmF2IHNwYW4ubmF2LWxpbmt7XG4gIGNvbG9yOiAjMzJhM2VkO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi50YWItc2hpcHMtbmF2IHNwYW4ubmF2LWxpbmsgaXtcbiAgY29sb3I6ICMzMmEzZWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLnByaWNlc19faW5mb19fY29udGVudCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjglO1xuICBAaW5jbHVkZSBtZWRpYSgkeHhsKSB7XG4gICAgd2lkdGg6IDM4JTtcbiAgfVxufVxuLnRpdGxlX19pbmZvX19jb250ZW50IHtcbiAgLy9tYXgtd2lkdGg6IDU3MHB4O1xuICBtYXgtd2lkdGg6IDcwJTtcblxuICAvLyBAaW5jbHVkZSBtcShtYXgtd2lkdGgsIG5vbmUsICR4bCk7XG4gIEBpbmNsdWRlIG1xKHRleHQtYWxpZ24sIGNlbnRlciwgJGxnKTtcbiAgQGluY2x1ZGUgbWVkaWEoJHh4bCkge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbn1cblxuLmJ0bi1wbHVzLXRhZyxcbi5idG4tcGx1cy10YWcgLmljbyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59IiwiLyogICovXG4uaW5mb19fY3J1Y2Vyb19fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMyYTNlZDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uYWxsX19pbmZvX19jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgZ2FwOiAxMHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTEuOHB4KSB7XG4gIC5hbGxfX2luZm9fX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLmFsbF9faW5mb19fY29udGVudCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmZpcnN0X19pbWFnZV9pdGluZXJhcnk6aG92ZXIgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuNXMgZWFzZS1pbi1vdXQsIGxlZnQgMC41cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB9XG59XG4uaW1hZ2VfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogNDgwcHg7XG4gIC8qQGluY2x1ZGUgbWVkaWEoJHh4bCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgfSAqL1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjhweCkge1xuICAuaW1hZ2VfX2NvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA1NS44cHgpIHtcbiAgLmltYWdlX19jb250ZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLmltYWdlX19jb250ZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny44cHgpIHtcbiAgLmNvbC1zbS5pbmZvX19jb250ZW50IHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3LjhweCkge1xuICAuaW5mb19fdGl0bGVDb250ZW50IC5jb2wtc20tYXV0by5wZS0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmltYWdlX19pbWctY29udGVudCB7XG4gIHdpZHRoOiA1MCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5LjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLmltYWdlX19pbWctY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxufVxuLmltYWdlX19pbWctY29udGVudC5maXJzdF9faW1hZ2VfaXRpbmVyYXJ5IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHotaW5kZXg6IDk1O1xufVxuLmltYWdlX19pbWctY29udGVudC5maXJzdF9faW1hZ2VfaXRpbmVyYXJ5OmhvdmVyIHtcbiAgei1pbmRleDogOTk5OTtcbn1cbi5pbWFnZV9faW1nLWNvbnRlbnQgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5LjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLmltYWdlX19pbWctY29udGVudCBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny44cHgpIHtcbiAgLmltYWdlX19pbWctY29udGVudCBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxufVxuLmltYWdlX19pbWctY29udGVudCAuaW1hZ2VfX21hcCB7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHggMCAwIDI1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5LjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IC5pbWFnZV9fbWFwIHtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gIC5pbWFnZV9faW1nLWNvbnRlbnQgLmltYWdlX19tYXAge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDU1cHgpIHtcbiAgLmltYWdlX19pbWctY29udGVudCAuaW1hZ2VfX21hcCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTEuOHB4KSB7XG4gIC5pbWFnZV9faW1nLWNvbnRlbnQgLmltYWdlX19tYXAge1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHggMCAwIDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny44cHgpIHtcbiAgLmltYWdlX19pbWctY29udGVudCAuaW1hZ2VfX21hcCB7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweCAwIDAgMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuaW1hZ2VfX2ltZy1jb250ZW50IC5pbWFnZV9fc2hpcCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAyNXB4IDAgMDtcbiAgfVxufVxuXG4uaW1hZ2VfaW1nLWNvbnRlbnQtc3RlcC1vbmUge1xuICBtYXgtaGVpZ2h0OiAxOTFweDtcbn1cblxuLmluZm9fX3RpdGxlQ29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOHB4KSB7XG4gIC5pbmZvX190aXRsZUNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOHB4KSB7XG4gIC5pbmZvX190aXRsZUNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny44cHgpIHtcbiAgLnNjSW1nLWZsdWlkLS1sb2dvU2hpcCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLmFkdmFudGFnZXNfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzkycHgpIHtcbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTM5MnB4KSB7XG4gIC5hZHZhbnRhZ2VzX19jb250ZW50IC5iYWRnZS5hZHZhbnRhZ2VzOm5vdCguYnRuLXBsdXMtdGFnKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmFkdmFudGFnZXNfX2NvbnRlbnQgLmJhZGdlLmFkdmFudGFnZXMuZmlyc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cbi5hZHZhbnRhZ2VzX19jb250ZW50IC5iYWRnZS5hZHZhbnRhZ2VzLmlzUGhvbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3LjhweCkge1xuICAuYWR2YW50YWdlc19fY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjhweCkge1xuICAuYWR2YW50YWdlc19fY29udGVudCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny44cHgpIHtcbiAgLmNoYXJhY3RlcmlzdGljc19fY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5jaGFyYWN0ZXJpc3RpY3NfX2NvbnRlbnQtLXBob25lLXRhYiB7XG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLmFkdmFudGFnZXNfX3dyYXAge1xuICAgIHBhZGRpbmc6IDEycHggMTJweCAzNHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLmFkdmFudGFnZXNfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5hZHZhbnRhZ2VzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOS44NHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTkuOHB4KSB7XG4gIC5hZHZhbnRhZ2VzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOS44NHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS44cHgpIHtcbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQtLXNtLWZ1bGwge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCgxMDAlIC0gMTAwdncpIC8gMik7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCgxMDAlIC0gMTAwdncpIC8gMik7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgfVxuICAuYWR2YW50YWdlc19fY29udGVudC0tc20tZnVsbDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAxcHg7XG4gIH1cbiAgLmFkdmFudGFnZXNfX2NvbnRlbnQtLXNtLWZ1bGw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuICAuYWR2YW50YWdlc19fY29udGVudC0tc20tZnVsbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi50aXRsZV9faW5mbyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmluZm9fX2NydWNlcm8gLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5hZHZhbnRhZ2VzLCAuaW5mb19fY3J1Y2VybyAuYWR2YW50YWdlcyB7XG4gIGNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZjdlODtcbiAgbWFyZ2luOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOHB4KSB7XG4gIC5hZHZhbnRhZ2VzLCAuaW5mb19fY3J1Y2VybyAuYWR2YW50YWdlcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZjdlODtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuYWR2YW50YWdlcy50ZXh0LXdoaXRlLCAuaW5mb19fY3J1Y2VybyAuYWR2YW50YWdlcy50ZXh0LXdoaXRlIHtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLmFkdmFudGFnZXMsXG4uYWR2YW50YWdlcyAuaWNvIHtcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG59XG5cbi5pbmZvX19jcnVjZXJvIC5jaGFyYWN0ZXJpc3RpY3MsIC5jaGFyYWN0ZXJpc3RpY3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNmOGZmO1xuICBjb2xvcjogIzMzMztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAzcHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1LjhweCkge1xuICAuaW5mb19fY3J1Y2VybyAuY2hhcmFjdGVyaXN0aWNzLCAuY2hhcmFjdGVyaXN0aWNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIHBhZGRpbmc6IDlweCAxMnB4O1xuICB9XG59XG5cbi5pbmZvX19jcnVjZXJvIC5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKmFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyovXG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNTUuOHB4KSB7XG4gIC5pbmZvX19jcnVjZXJvIC5wcmljZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uaW5mb19fY3J1Y2VybyAucHJpY2Uge1xuICBjb2xvcjogIzMyYTNlZDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFkZGl0aW9uYWwtaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLmluZm9fX2NydWNlcm8gLmljbyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50YWItc2hpcHMtbmF2IHNwYW4ubmF2LWxpbmsge1xuICBjb2xvcjogIzMyYTNlZDtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4udGFiLXNoaXBzLW5hdiBzcGFuLm5hdi1saW5rIGkge1xuICBjb2xvcjogIzMyYTNlZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4ucHJpY2VzX19pbmZvX19jb250ZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyOCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5LjhweCkge1xuICAucHJpY2VzX19pbmZvX19jb250ZW50IHtcbiAgICB3aWR0aDogMzglO1xuICB9XG59XG5cbi50aXRsZV9faW5mb19fY29udGVudCB7XG4gIG1heC13aWR0aDogNzAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS44cHgpIHtcbiAgLnRpdGxlX19pbmZvX19jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzkuOHB4KSB7XG4gIC50aXRsZV9faW5mb19fY29udGVudCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxufVxuXG4uYnRuLXBsdXMtdGFnLFxuLmJ0bi1wbHVzLXRhZyAuaWNvIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn0iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5cbi8vLyBFdmVudCB3cmFwcGVyXG4vLy8gQGF1dGhvciBTbWFydEluQ29kZSAkYmctdXJsLFxuXG4vLy8gRGVmaW5lIGNvbG9yIGFuZCBoZWlnaHQgb2YgYm94LWVsZW1lbnRzXG4vLy9iYW5ja2dyb3VuZCBjb2xvciBhbmQgaGVpZ2h0XG5AbWl4aW4gYmdjKCRtaW4taGVpZ2h0LCAkYmctY29sb3I6IHRyYW5zcGFyZW50KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgbWluLWhlaWdodDogJG1pbi1oZWlnaHQ7XG59XG5cbi8vL2JhbmNrZ3JvdW5kIGltYWdlIGFuZCBoZWlnaHRcbkBtaXhpbiBiZ2koJGJnLWltYWdlLCAkbWluLWhlaWdodCwgJGJnLXBvc2l0aW9uOiBjZW50ZXIsICRiZy1yZXBlYXQ6IG5vLXJlcGVhdCwgJGJzaXplOiBjb3Zlcikge1xuICAkYmctaW1hZ2U6IFwiLi4vaW1hZ2VzL1wiICsgJGJnLWltYWdlO1xuICBiYWNrZ3JvdW5kOiB1cmwoJGJnLWltYWdlKSAkYmctcmVwZWF0ICRiZy1wb3NpdGlvbjtcbiAgYmFja2dyb3VuZC1zaXplOiAkYnNpemU7XG4gIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xufVxuXG4vLy9iYW5ja2dyb3VuZCBpbWFnZSBhbmQgaGVpZ2h0XG5AbWl4aW4gYmdpbygkYmctaW1hZ2UsICRiZy1wb3NpdGlvbjogY2VudGVyLCAkYmctcmVwZWF0OiBuby1yZXBlYXQsICRic2l6ZTogY292ZXIpIHtcbiAgJGJnLWltYWdlOiBcIi4uL2ltYWdlcy9cIiArICRiZy1pbWFnZTtcbiAgYmFja2dyb3VuZDogdXJsKCRiZy1pbWFnZSkgJGJnLXJlcGVhdCAkYmctcG9zaXRpb247XG4gIGJhY2tncm91bmQtc2l6ZTogJGJzaXplO1xufVxuXG4vLy8gRGVmaW5lIHBhcmFtcyBDb250YWluZXIgd2lkdGggYW5kIHBhZGRpbmdcbkBtaXhpbiBjb250YWluZXIoJG1heC13aWR0aCwgJHBhZC1sZWZ0LCAkcGFkLXJpZ2h0OiAkcGFkLWxlZnQsICRib3gtczogY29udGVudC1ib3gpIHtcbiAgYm94LXNpemluZzogJGJveC1zO1xuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIHBhZGRpbmctbGVmdDogJHBhZC1sZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkLXJpZ2h0O1xufVxuXG4vLy9mb250cyBlbGVtZW50c1xuQG1peGluIGZvbnRzKFxuICAkZm9udC1mYW1pbHksXG4gICRmb250LXNpemU6IG1lZGl1bSxcbiAgJGZvbnQtY29sb3I6IGJsYWNrLFxuICAkZm9udC13ZWlnaHQ6IG5vcm1hbCxcbiAgJGZvbnQtc3R5bGU6IG5vcm1hbCxcbiAgLy8gJGxpbmUtaGVpZ2h0OiBub3JtYWxcbikge1xuICBjb2xvcjogJGZvbnQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgZm9udC1zdHlsZTogJGZvbnQtc3R5bGU7XG4gIC8vIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG59XG5cbi8vL2RlZmluZSBmbGV4IGNlbnRlclxuQG1peGluIGZsZXhjZW4oJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbn1cblxuLy8vZGVmaW5lIGFic29sdXRlIGNlbnRlclxuQG1peGluIGFic2NlbigkdG9wOiA1MCUsICRyaWdodDogNTAlLCAkYm90dG9tOiBhdXRvLCAkbGVmdDogYXV0bykge1xuICB0b3A6ICR0b3A7XG4gIHJpZ2h0OiAkcmlnaHQ7XG4gIGJvdHRvbTogJGJvdHRvbTtcbiAgbGVmdDogJGxlZnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRyaWdodCwgLSR0b3ApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbkBtaXhpbiBtZWRpYSgkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50ICsgJ3B4J30pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaWFTbSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtICsgJ3B4J30pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaWFEZXNrdG9wIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3soJHNtICsgMC4yKSArICdweCd9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1lZGlhUGhvbmUoJHByb3BlcnRpZXM6IG51bGwpIHtcbiAgJGJyZWFrcG9pbnRzOiAoJHNtLXB4LCAkeHMtcHgpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtLXB4fSkge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgQGlmICRwcm9wZXJ0aWVzIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxpc3QubGVuZ3RoKCRicmVha3BvaW50cykge1xuICAgICAgJGJyZWFrcG9pbnQ6IGxpc3QubnRoKCRicmVha3BvaW50cywgJGkpO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50fSkge1xuICAgICAgICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZXMgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlcykgPT0gXCJsaXN0XCIgYW5kIGxpc3QubGVuZ3RoKCR2YWx1ZXMpID09IDIgYW5kICRpID09IDEge1xuICAgICAgICAgICAgJG1heDogbGlzdC5udGgoJHZhbHVlcywgMSk7XG4gICAgICAgICAgICAkbWluOiBsaXN0Lm50aCgkdmFsdWVzLCAyKTtcbiAgICAgICAgICAgICRyZXNwb25zaXZlLXZhbHVlOiBpZigkaSA9PSAxLCByZXNwb25zaXZlVW5pdGxlc3MoJG1heCwgJG1pbiwgJHNtLCAkeHMpLCAkbWluKTtcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHJlc3BvbnNpdmUtdmFsdWU7XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkdmFsdWU6IGlmKCRpID4gbGlzdC5sZW5ndGgoJHZhbHVlcyksIGxpc3QubnRoKCR2YWx1ZXMsIGxpc3QubGVuZ3RoKCR2YWx1ZXMpKSwgbGlzdC5udGgoJHZhbHVlcywgJGkpKTtcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlICdzYXNzOm1ldGEnO1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxcXFxcbi8vIFJlc3BvbnNpdmUgVmFyaWFibGVzIGZvciByZXNwb25zaXZlIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxcXFxcblxuLy9Gb3IgbWl4aW4gUmVzcG9uc2l2ZVxuJHBob25lLXJlc3BvbnNpdmU6ICRzbTtcbiR0YWJsZXQtcmVzcG9uc2l2ZTogJGxnO1xuJGRlc2t0b3AtcmVzcG9uc2l2ZTogJHh4bDtcblxuLy9Gb3IgTWVkaWEgUXVlcnkgYmxvY2tcbiRkZDogMC4wMjsgLy9kaWZlcmVuY2VcbiRwaG9uZS1zbWFsbDogKCR4cyAtICRkZCkgKyBweDtcbiRwaG9uZTogKCRzbSAtICRkZCkgKyBweDtcbiRwaG9uZS1sYXJnZTogKCRtZCAtICRkZCkgKyBweDtcbiR0YWJsZXQtc21hbGw6IDc5MHB4O1xuJHRhYmxldDogKCRsZyAtICRkZCkgKyBweDtcbiRkZXNrdG9wLXNtYWxsOiAxMDkwcHg7XG4kZGVza3RvcDogKCR4bCAtICRkZCkgKyBweDtcbiRkZXNrdG9wLW1lZGl1bTogKCR4eGwgLSAkZGQpICsgcHg7XG4kZGVza3RvcC1sYXJnZTogMTY1MHB4O1xuJGRlc2t0b3AteC1sYXJnZTogMTk1MHB4O1xuXG4kcGhvbmUtZGVmYXVsdDogJHBob25lLXNtYWxsOyAvL2RlZmF1bHRcbiR0YWJsZXQtZGVmYXVsdDogJHRhYmxldDtcbiRkZXNrdG9wLWRlZmF1bHQ6ICRkZXNrdG9wLW1lZGl1bTsgLy9kZWZhdWx0XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcXFxcXG4vLyBSZXNwb25zaXZlIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxcXFxcblxuLy8vIFZhcjogIFByb3AgZm9yIGZyYW1ld29yayBjc3MgLS0tLS0tLS0tLS0tLS0tLS0tXFxcXFxuJHByb3BlcnR5LWFsbDogKFxuICBpdGVtcy1jZW50ZXI6IGFsaWduLWl0ZW1zLFxuICBtaW4tdy1hdXRvOiBtaW4td2lkdGgsXG4gIGZsZXgtMTogZmxleCxcbiAgZmxleC1pbml0aWFsOiBmbGV4LFxuICBmbGV4LWNvbDogZmxleC1kaXJlY3Rpb24sXG4gIGZsZXgtd3JhcDogZmxleC13cmFwLFxuICBtci0wOiBtYXJnaW4tcmlnaHQsXG4gIG1sLTA6IG1hcmdpbi1sZWZ0LFxuKTtcblxuJHByb3BlcnR5LXZhbHVlLWFsbDogKFxuICBpdGVtcy1jZW50ZXI6IGNlbnRlcixcbiAgbWluLXctYXV0bzogYXV0byxcbiAgZmxleC0xOiAxIDEgMCUsXG4gIGZsZXgtaW5pdGlhbDogMCAxIGF1dG8sXG4gIGZsZXgtY29sOiBjb2x1bW4sXG4gIGZsZXgtd3JhcDogd3JhcCxcbiAgbXItMDogMCxcbiAgbWwtMDogMCxcbik7XG5cbi8vLyBWYXI6ICBQcm9wIGZvciByZXNwb25zaXZlIGdsb2JhbCAtLS0tLS0tLS0tLS0tLS0tLS1cXFxcXG4kcHJvcGVydHktbWFwOiAoXG4gIGZ6OiBmb250LXNpemUsXG4gIGxoOiBsaW5lLWhlaWdodCxcbiAgbTogbWFyZ2luLFxuICBtdDogbWFyZ2luLXRvcCxcbiAgbXI6IG1hcmdpbi1yaWdodCxcbiAgbWI6IG1hcmdpbi1ib3R0b20sXG4gIG1sOiBtYXJnaW4tbGVmdCxcbiAgcDogcGFkZGluZyxcbiAgcHQ6IHBhZGRpbmctdG9wLFxuICBwcjogcGFkZGluZy1yaWdodCxcbiAgcGI6IHBhZGRpbmctYm90dG9tLFxuICBwbDogcGFkZGluZy1sZWZ0LFxuICB0OiB0b3AsXG4gIGw6IGxlZnQsXG4gIGI6IGJvdHRvbSxcbiAgcjogcmlnaHQsXG4gIHc6IHdpZHRoLFxuICBtdzogbWF4LXdpZHRoLFxuICBteHc6IG1heC13aWR0aCxcbiAgbWF4dzogbWF4LXdpZHRoLFxuICBtbnc6IG1pbi13aWR0aCxcbiAgbWludzogbWluLXdpZHRoLFxuICBoOiBoZWlnaHQsXG4gIG1oOiBtaW4taGVpZ2h0LFxuICBtbmg6IG1pbi1oZWlnaHQsXG4gIG1pbmg6IG1pbi1oZWlnaHQsXG4gIG14aDogbWF4LWhlaWdodCxcbiAgbWF4aDogbWF4LWhlaWdodCxcbiAgYno6IGJhY2tncm91bmQtc2l6ZSxcbik7XG5cbi8vLyBTY2hlbWFcbi8vLyBjYWxjKCAjeyRtaW4tcHh9ICsgKCN7JG1heH0gLSAjeyRtaW59KSAqICgoMTAwdncgLSAjeyR3LW1pbi1weH0pIC8gKCN7JHctbWF4fSAtICN7JHctbWlufSkpKTtcbi8vLyBjYWxjKCAxNnB4ICsgKDIxIC0gMTYpICogKCgxMDB2dyAtIDM2MHB4KSAvICgxNDQwIC0gMzYwKSkpO1xuXG4vLy8gRnVuY3Rpb24gUmVzcG9uc2l2ZSAtLS0tLS0tLS0tLS0tLS1cXFxcXG4vLy8gSG93IHVzZTogcGFkZGluZy1sZWZ0OiByZXNwb25zaXZlKCRwbC1tYXgsICRwbC1taW4sICR3LW1heCwgJHctbWluKSA7XG5AZnVuY3Rpb24gcmVzcG9uc2l2ZShcbiAgJG1heCxcbiAgJG1pbjogXCJcIixcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlXG4pIHtcbiAgQGlmICgkbWluID09IFwiXCIgb3IgJG1heCA9PSRtaW4pIHtcbiAgICBAcmV0dXJuICRtYXggKyBweDtcbiAgfVxuXG4gICRtaW4tcHg6ICRtaW4gKyBweDtcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcbiAgJHJlc3VsdDogY2FsYyhcbiAgICAjeyRtaW4tcHh9ICsgKCN7JG1heH0gLSAjeyRtaW59KSAqICgoMTAwdncgLSAjeyR3LW1pbi1weH0pIC9cbiAgICAgICAgICAoI3skdy1tYXh9IC0gI3skdy1taW59KSlcbiAgKTtcbiAgQHJldHVybiAkcmVzdWx0O1xufVxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCRudW1iZXIpIHtcbiAgQHJldHVybiBtYXRoLmRpdigkbnVtYmVyLCAoJG51bWJlciAqIDAgKyAxKSk7XG59XG5cbkBmdW5jdGlvbiByZXNwb25zaXZlVW5pdGxlc3MoXG4gICRtYXgsXG4gICRtaW46IFwiXCIsXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxuKSB7XG5cbiAgJG1heHVubGVzczogaWYobWF0aC5pcy11bml0bGVzcygkbWF4KSwgJG1heCwgc3RyaXAtdW5pdHMoJG1heCkpO1xuICAkbWludW5sZXNzOiBpZihtYXRoLmlzLXVuaXRsZXNzKCRtaW4pLCAkbWluLCBzdHJpcC11bml0cygkbWluKSk7XG5cbiAgQGlmICgkbWludW5sZXNzID09IFwiXCIgb3IgJG1heHVubGVzcyA9PSAkbWludW5sZXNzKSB7XG4gICAgQHJldHVybiAkbWF4dW5sZXNzICsgcHg7XG4gIH1cblxuICAkbWluLXB4OiAkbWludW5sZXNzICsgcHg7XG4gICR3LW1pbi1weDogJHctbWluICsgcHg7XG4gICRyZXN1bHQ6IGNhbGMoXG4gICAgI3skbWluLXB4fSArICgjeyRtYXh1bmxlc3N9IC0gI3skbWludW5sZXNzfSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvXG4gICAgICAgICAgKCN7JHctbWF4fSAtICN7JHctbWlufSkpXG4gICk7XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIE1peGlucyBSZXNwb25zaXZlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcXFxcblxuLy9Ib3cgdG8gdXNlOiAgIEBpbmNsdWRlICBmb250LXJlc3BvbnNpdmUoMjYsIDIwKSBvciBmb250LXJlc3BvbnNpdmUoMjYsIDIwLCAxNDQwLCAzNjApXG4vLyBmb250LXNpemU6IGNhbGMoMTZweCArICgyNiAtIDE2KSAqICgoMTAwdncgLSAzMDBweCkgLyAoMTYwMCAtIDMwMCkpKSA7XG5AbWl4aW4gZm9udC1yZXNwb25zaXZlKFxuICAkZi1tYXgsXG4gICRmLW1pbjogJGZvbnQtc2l6ZS1zbWFsbCxcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlXG4pIHtcbiAgJGYtbWluLXB4OiAkZi1taW4gKyBweDtcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcbiAgJGZvbnQtc2l6ZTogJGYtbWF4ICsgcHg7XG4gICRkZXNrdG9wLXB4OiAkZGVza3RvcC1yZXNwb25zaXZlICogMXB4O1xuICAkcGhvbmUtcHg6ICRwaG9uZS1yZXNwb25zaXZlICogMXB4O1xuXG4gICRyZXN1bHQtY2FsYzogcmVzcG9uc2l2ZSgkZi1tYXgsICRmLW1pbiwgJHctbWF4LCAkdy1taW4pO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICBAaWYgKCR3LW1heCA9PSRkZXNrdG9wLXJlc3BvbnNpdmUgYW5kICR3LW1pbiA9PSRwaG9uZS1yZXNwb25zaXZlKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRkZXNrdG9wLXB4KSB7XG4gICAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmVzdWx0LWNhbGM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRwaG9uZS1weCkge1xuICAgICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3skZi1taW4tcHh9O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAkcmVzdWx0LWNhbGM7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHctbWluLXB4KSB7XG4gICAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiAjeyRmLW1pbi1weH07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEhvdyB0byB1c2U6ICAgQGluY2x1ZGUgcihmb250LXNpemUsIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwcHgsIDM5cHgsIDE0NDAsIDM3NSwgZmFsc2UpXG4vLyBAaW5jbHVkZSByZXNwb25zaXZlKGgsIDY2LjExLCAzMCk7XG5AbWl4aW4gcihcbiAgJGF0dHI6IFwiXCIsXG4gICR2YWx1ZS1taW46IFwiXCIsXG4gICR2YWx1ZS1tYXg6IFwiXCIsXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmUsXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcbiAgJG9ubHktbWVkLXF1ZXJ5OiBmYWxzZVxuKSB7XG4gIEBpZiAkdy1taW4gPT0gXCJcIiB7XG4gICAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZTtcbiAgfVxuXG4gIEBpZiAkdy1tYXggPT0gXCJcIiB7XG4gICAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlO1xuICB9XG5cbiAgQGlmICR2YWx1ZS1tYXggPT0gXCJcIiB7XG4gICAgJHNpemUtbWF4OiAkdmFsdWUtbWluO1xuICB9XG5cbiAgLy9jb25kaXRpb25hbCBpZiBhdHRyaWJ1dGVzIGV4aXN0IHB4XG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWlufSwgXCJweFwiKSAhPW51bGwge1xuICAgICRzaXplLW1pbjogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWlufSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWlufSwgXCJweFwiKSAtIDEpO1xuICB9XG5cbiAgQGlmIHN0cmluZy5pbmRleCgjeyR2YWx1ZS1tYXh9LCBcInB4XCIpICE9bnVsbCB7XG4gICAgJHNpemUtbWF4OiBzdHJpbmcuc2xpY2UoI3skc2l6ZS1tYXh9LCAxLCBzdHJpbmcuaW5kZXgoI3skc2l6ZS1tYXh9LCBcInB4XCIpIC0gMSk7XG4gIH1cblxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHctbWlufSwgXCJweFwiKSAhPW51bGwge1xuICAgICR3LW1pbjogc3RyaW5nLnNsaWNlKCN7JHctbWlufSwgMSwgc3RyaW5nLmluZGV4KCN7JHctbWlufSwgXCJweFwiKSAtIDEpO1xuICB9XG5cbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1heH0sIFwicHhcIikgIT1udWxsIHtcbiAgICAkdy1tYXg6IHN0cmluZy5zbGljZSgjeyR3LW1heH0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1heH0sIFwicHhcIikgLSAxKTtcbiAgfVxuXG4gICRzaXplLW1heC1weDogJHZhbHVlLW1heCArIHB4O1xuICAkc2l6ZS1taW4tcHg6ICR2YWx1ZS1taW4gKyBweDtcbiAgJHctbWF4LXB4OiAkdy1tYXggKyBweDtcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcblxuICAkcmVzcG9uc2l2ZS1jYWxjOiBjYWxjKFxuICAgICN7JHNpemUtbWluLXB4fSArICgjeyR2YWx1ZS1tYXh9IC0gI3skdmFsdWUtbWlufSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvXG4gICAgICAgICAgKCN7JHctbWF4fSAtICN7JHctbWlufSkpXG4gICk7XG5cbiAgJHByb3BlcnR5OiBcIlwiO1xuXG4gIEBpZiAobWFwLmhhcy1rZXkoJHByb3BlcnR5LW1hcCwgJGF0dHIpKSB7XG4gICAgJHByb3BlcnR5OiBtYXAuZ2V0KCRwcm9wZXJ0eS1tYXAsICRhdHRyKTtcbiAgfSBAZWxzZSB7XG4gICAgJHByb3BlcnR5OiAkYXR0cjtcbiAgfVxuXG4gIEBpZiAobm90ICRvbmx5LW1lZC1xdWVyeSkge1xuICAgIC8vaW1wcmVzcyBhdHRyaWJ1dGUgeW91ciBzdHlsZXMgY3NzXG4gICAgI3skcHJvcGVydHl9OiAkc2l6ZS1taW4tcHg7XG4gIH1cblxuICBAaWYgKCRzaXplLW1pbi1weCAhPSAkc2l6ZS1tYXgtcHgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skdy1taW4tcHh9KSB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICRyZXNwb25zaXZlLWNhbGM7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHctbWF4LXB4fSkge1xuICAgICAgI3skcHJvcGVydHl9OiAjeyRzaXplLW1heC1weH07XG4gICAgfVxuICB9XG59XG5cbi8vIEhvdyB0byB1c2U6ICAgQGluY2x1ZGUgcihmb250LXNpemUsIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwcHgsIDM5cHgsIDE0NDAsIDM3NSwgZmFsc2UpXG4vLyBAaW5jbHVkZSByZXNwb25zaXZlKGgsIDY2LjExLCAzMCk7XG5AbWl4aW4gcmkoXG4gICRhdHRyOiBcIlwiLFxuICAkdmFsdWUtbWF4OiBcIlwiLFxuICAkdmFsdWUtbWluOiBcIlwiLFxuICAkdy1tYXg6ICRkZXNrdG9wLXJlc3BvbnNpdmUsXG4gICR3LW1pbjogJHBob25lLXJlc3BvbnNpdmVcbikge1xuICBAaW5jbHVkZSByKFxuICAgICRhdHRyLFxuICAgICR2YWx1ZS1taW4sXG4gICAgJHZhbHVlLW1heCxcbiAgICAkdy1taW4sXG4gICAgJHctbWF4LFxuICApXG59XG5cbi8vIEhvdyB0byB1c2U6ICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShmb250LXNpemUsIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwLCAzOSwgMTQ0MCwgMzc1KSBvciAgQGluY2x1ZGUgIHJlc3BvbnNpdmUoZnosIDYwcHgsIDM5cHgsIDE0NDAsIDM3NSwgZmFsc2UpXG4vLyBAaW5jbHVkZSByZXNwb25zaXZlKGgsIDY2LjExLCAzMCk7XG5AbWl4aW4gcmVzcG9uc2l2ZShcbiAgJGF0dHI6IFwiXCIsXG4gICR2YWx1ZS1tYXg6IFwiXCIsXG4gICR2YWx1ZS1taW46IFwiXCIsXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZSxcbiAgJG9ubHktbWVkLXF1ZXJ5OiBmYWxzZVxuKSB7XG4gIEBpZiAkdy1tYXggPT0gXCJcIiB7XG4gICAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlO1xuICB9XG5cbiAgQGlmICR2YWx1ZS1taW4gPT0gXCJcIiB7XG4gICAgJHNpemUtbWluOiAkdmFsdWUtbWF4O1xuICB9XG5cbiAgLy9jb25kaXRpb25hbCBpZiBhdHRyaWJ1dGVzIGV4aXN0IHB4XG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdmFsdWUtbWF4fSwgXCJweFwiKSAhPW51bGwge1xuICAgICRzaXplLW1heDogc3RyaW5nLnNsaWNlKCN7JHNpemUtbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHNpemUtbWF4fSwgXCJweFwiKSAtIDEpO1xuICB9XG5cbiAgQGlmIHN0cmluZy5pbmRleCgjeyR2YWx1ZS1taW59LCBcInB4XCIpICE9bnVsbCB7XG4gICAgJHNpemUtbWluOiBzdHJpbmcuc2xpY2UoI3skc2l6ZS1taW59LCAxLCBzdHJpbmcuaW5kZXgoI3skc2l6ZS1taW59LCBcInB4XCIpIC0gMSk7XG4gIH1cblxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHctbWF4fSwgXCJweFwiKSAhPW51bGwge1xuICAgICR3LW1heDogc3RyaW5nLnNsaWNlKCN7JHctbWF4fSwgMSwgc3RyaW5nLmluZGV4KCN7JHctbWF4fSwgXCJweFwiKSAtIDEpO1xuICB9XG5cbiAgQGlmIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgIT1udWxsIHtcbiAgICAkdy1taW46IHN0cmluZy5zbGljZSgjeyR3LW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyR3LW1pbn0sIFwicHhcIikgLSAxKTtcbiAgfVxuXG4gICRzaXplLW1heC1weDogJHZhbHVlLW1heCArIHB4O1xuICAkc2l6ZS1taW4tcHg6ICR2YWx1ZS1taW4gKyBweDtcbiAgJHctbWF4LXB4OiAkdy1tYXggKyBweDtcbiAgJHctbWluLXB4OiAkdy1taW4gKyBweDtcbiAgJGRlc2t0b3AtcHg6ICRkZXNrdG9wLXJlc3BvbnNpdmUgKiAxcHg7XG4gICRwaG9uZS1weDogJHBob25lLXJlc3BvbnNpdmUgKiAxcHg7XG5cbiAgJHJlc3BvbnNpdmUtY2FsYzogY2FsYyhcbiAgICAjeyRzaXplLW1pbi1weH0gKyAoI3skdmFsdWUtbWF4fSAtICN7JHZhbHVlLW1pbn0pICogKCgxMDB2dyAtICN7JHctbWluLXB4fSkgL1xuICAgICAgICAgICgjeyR3LW1heH0gLSAjeyR3LW1pbn0pKVxuICApO1xuXG4gICRwcm9wZXJ0eTogXCJcIjtcblxuICBAaWYgKG1hcC5oYXMta2V5KCRwcm9wZXJ0eS1tYXAsICRhdHRyKSkge1xuICAgICRwcm9wZXJ0eTogbWFwLmdldCgkcHJvcGVydHktbWFwLCAkYXR0cik7XG4gIH0gQGVsc2Uge1xuICAgICRwcm9wZXJ0eTogJGF0dHI7XG4gIH1cblxuICBAaWYgKG5vdCAkb25seS1tZWQtcXVlcnkpIHtcbiAgICAvLyAmIHtcbiAgICAgIC8vaW1wcmVzcyBhdHRyaWJ1dGUgeW91ciBzdHlsZXMgY3NzXG4gICAgICAjeyRwcm9wZXJ0eX06ICRzaXplLW1heC1weDtcbiAgICAvLyB9XG4gIH1cblxuICBAaWYgKCRzaXplLW1heC1weCAhPSRzaXplLW1pbi1weCkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyR3LW1heC1weH0pIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHJlc3BvbnNpdmUtY2FsYztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skdy1taW4tcHh9KSB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICRzaXplLW1pbi1weDtcbiAgICB9XG4gIH1cbn1cblxuLy8gT25seSBSZXNwb25zaXZlIE1lZGlhIHF1ZXJ5IGlubGluZVxuLy9Ib3cgdG8gdXNlOiAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtbXEoZnosIDYwLCAzOSwgMTQ0MCkgd2hlcmVcbi8vIGF0dHI6IEF0cmlidXRvIGRlIGxhIHByb3BpZWRhZFxuLy8gc2l6ZS1tYXg6IFZhbG9yIG1heGltbyBkZSBsYSBxdWVyeSBpbmljaWFsXG4vLyBzaXplLW1pbjogVmFsb3IgbWluaW1vIGRlIGxhIHF1ZXJ5IGluaWNpYWxcbi8vIHctbWF4OiBQYW50YWxsYSBtYXhpbWEgeSBNZWRpYSBxdWVyeSBwb3IgZGVmZWN0b1xuLy8gdy1taW46IFBhbnRhbGxhIG1pbmltYVxuLy8gdHdvLW1xOiBTaSBzZSByZXF1aWVyZSBwYXJhIGxhIGludGVycnVwY2lvbiBkZSBsYSBzZWd1bmRhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gcmVzcG9uc2l2ZS1tcShcbiAgJGF0dHI6IFwiXCIsXG4gICR2YWx1ZS1tYXg6IFwiXCIsXG4gICR2YWx1ZS1taW46IFwiXCIsXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZSxcbiAgJHR3by1tcTogZmFsc2Vcbikge1xuICBAaWYgJHZhbHVlLW1pbiA9PSBcIlwiIHtcbiAgICAkc2l6ZS1taW46ICR2YWx1ZS1tYXg7XG4gIH1cblxuICAvL2NvbmRpdGlvbmFsIGlmIGF0dHJpYnV0ZXMgZXhpc3QgcHhcbiAgQGlmIHN0cmluZy5pbmRleCgjeyR2YWx1ZS1tYXh9LCBcInB4XCIpICE9bnVsbCB7XG4gICAgJHNpemUtbWF4OiBzdHJpbmcuc2xpY2UoI3skc2l6ZS1tYXh9LCAxLCBzdHJpbmcuaW5kZXgoI3skc2l6ZS1tYXh9LCBcInB4XCIpIC0gMSk7XG4gIH1cblxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHZhbHVlLW1pbn0sIFwicHhcIikgIT1udWxsIHtcbiAgICAkc2l6ZS1taW46IHN0cmluZy5zbGljZSgjeyRzaXplLW1pbn0sIDEsIHN0cmluZy5pbmRleCgjeyRzaXplLW1pbn0sIFwicHhcIikgLSAxKTtcbiAgfVxuXG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skdy1tYXh9LCBcInB4XCIpICE9bnVsbCB7XG4gICAgJHctbWF4OiBzdHJpbmcuc2xpY2UoI3skdy1tYXh9LCAxLCBzdHJpbmcuaW5kZXgoI3skdy1tYXh9LCBcInB4XCIpIC0gMSk7XG4gIH1cblxuICBAaWYgc3RyaW5nLmluZGV4KCN7JHctbWlufSwgXCJweFwiKSAhPW51bGwge1xuICAgICR3LW1pbjogc3RyaW5nLnNsaWNlKCN7JHctbWlufSwgMSwgc3RyaW5nLmluZGV4KCN7JHctbWlufSwgXCJweFwiKSAtIDEpO1xuICB9XG5cbiAgJHNpemUtbWF4LXB4OiAkdmFsdWUtbWF4ICsgcHg7XG4gICRzaXplLW1pbi1weDogJHZhbHVlLW1pbiArIHB4O1xuICAkdy1tYXgtcHg6ICR3LW1heCArIHB4O1xuICAkdy1taW4tcHg6ICR3LW1pbiArIHB4O1xuICAkZGVza3RvcC1weDogJGRlc2t0b3AtcmVzcG9uc2l2ZSAqIDFweDtcbiAgJHBob25lLXB4OiAkcGhvbmUtcmVzcG9uc2l2ZSAqIDFweDtcblxuICAkcmVzcG9uc2l2ZS1jYWxjOiBjYWxjKFxuICAgICN7JHNpemUtbWluLXB4fSArICgjeyR2YWx1ZS1tYXh9IC0gI3skdmFsdWUtbWlufSkgKiAoKDEwMHZ3IC0gI3skdy1taW4tcHh9KSAvXG4gICAgICAgICAgKCN7JHctbWF4fSAtICN7JHctbWlufSkpXG4gICk7XG5cbiAgJHByb3BlcnR5OiBcIlwiO1xuXG4gIEBpZiAobWFwLmhhcy1rZXkoJHByb3BlcnR5LW1hcCwgJGF0dHIpKSB7XG4gICAgJHByb3BlcnR5OiBtYXAuZ2V0KCRwcm9wZXJ0eS1tYXAsICRhdHRyKTtcbiAgfSBAZWxzZSB7XG4gICAgJHByb3BlcnR5OiAkYXR0cjtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAjeyR3LW1heC1weH0pIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRyZXNwb25zaXZlLWNhbGM7XG4gIH1cblxuICBAaWYgKCR0d28tbXEpIHtcbiAgICBAaWYgKCRzaXplLW1heC1weCAhPSRzaXplLW1pbi1weCkge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHctbWluLXB4fSkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICN7JHNpemUtbWluLXB4fTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT25seSBSZXNwb25zaXZlIE1lZGlhIHF1ZXJ5IGlubGluZVxuLy8gSG93IHRvIHVzZTogICBAaW5jbHVkZSBtcTIoZnosIDYwLCAxNDQwKVxuQG1peGluIG1xaSgkYXR0cjogXCJcIiwgJHNjcmVlbjogJGRlc2t0b3AtcmVzcG9uc2l2ZSkge1xuICBAaWYgc3RyaW5nLmluZGV4KCN7JHNjcmVlbn0sIFwicHhcIikgIT1udWxsIHtcbiAgICAkc2NyZWVuOiBzdHJpbmcuc2xpY2UoI3skc2NyZWVufSwgMSwgc3RyaW5nLmluZGV4KCN7JHNjcmVlbn0sIFwicHhcIikgLSAxKTtcbiAgfVxuXG4gICRwcm9wZXJ0eTogXCJcIjtcbiAgJHZhbHVlOiBcIlwiO1xuXG4gIEBpZiAobWFwLmhhcy1rZXkoJHByb3BlcnR5LWFsbCwgJGF0dHIpKSB7XG4gICAgJHByb3BlcnR5OiBtYXAuZ2V0KCRwcm9wZXJ0eS1hbGwsICRhdHRyKTtcbiAgICAkdmFsdWU6IG1hcC5nZXQoJHByb3BlcnR5LXZhbHVlLWFsbCwgJGF0dHIpO1xuXG4gICAgJHNjcmVlbi1weDogJHNjcmVlbiArIHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHNjcmVlbi1weH0pIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPbmx5IFJlc3BvbnNpdmUgTWVkaWEgcXVlcnkgaW5saW5lXG4vLyBIb3cgdG8gdXNlOiAgIEBpbmNsdWRlIG1xKGZ6LCA2MCwgMTQ0MClcbkBtaXhpbiBtcSgkYXR0cjogXCJcIiwgJHZhbHVlOiBcIlwiLCAkc2NyZWVuOiAkZGVza3RvcC1yZXNwb25zaXZlKSB7XG4gIEBpZiBzdHJpbmcuaW5kZXgoI3skc2NyZWVufSwgXCJweFwiKSAhPW51bGwge1xuICAgICRzY3JlZW46IHN0cmluZy5zbGljZSgjeyRzY3JlZW59LCAxLCBzdHJpbmcuaW5kZXgoI3skc2NyZWVufSwgXCJweFwiKSAtIDEpO1xuICB9XG5cbiAgJHByb3BlcnR5OiBcIlwiO1xuXG4gIEBpZiAobWFwLmhhcy1rZXkoJHByb3BlcnR5LW1hcCwgJGF0dHIpKSB7XG4gICAgJHByb3BlcnR5OiBtYXAuZ2V0KCRwcm9wZXJ0eS1tYXAsICRhdHRyKTtcbiAgfSBAZWxzZSB7XG4gICAgJHByb3BlcnR5OiAkYXR0cjtcbiAgfVxuXG4gICRzaXplLXB4OiBcIlwiO1xuXG4gIEBpZiAobWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gXCJzdHJpbmdcIikge1xuICAgICRzaXplLXB4OiAjeyR2YWx1ZX07XG4gIH0gQGVsc2Uge1xuICAgICRweDogc3RyaW5nLmluZGV4KCN7JHZhbHVlfSwgXCJweFwiKTtcbiAgICAkZW06IHN0cmluZy5pbmRleCgjeyR2YWx1ZX0sIFwiZW1cIik7XG4gICAgJHJlbTogc3RyaW5nLmluZGV4KCN7JHZhbHVlfSwgXCJyZW1cIik7XG4gICAgJHBlcmNlbnQ6IHN0cmluZy5pbmRleCgjeyR2YWx1ZX0sIFwiJVwiKTtcblxuICAgIEBpZiAoJGVtIG9yICRyZW0gb3IgJHBlcmNlbnQgb3IgJHB4KSB7XG4gICAgICAkc2l6ZS1weDogI3skdmFsdWV9O1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHNpemUtcHg6ICR2YWx1ZSArIHB4O1xuICAgIH1cbiAgfVxuXG4gICRzY3JlZW4tcHg6ICRzY3JlZW4gKyBweDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogI3skc2NyZWVuLXB4fSkge1xuICAgICN7JHByb3BlcnR5fTogJHNpemUtcHg7XG4gIH1cbn1cblxuQG1peGluIHAtcmVzcG9uc2l2ZShcbiAgJHB0LW1heDogXCJcIixcbiAgJHB0LW1pbjogXCJcIixcbiAgJHByLW1heDogXCJcIixcbiAgJHByLW1pbjogXCJcIixcbiAgJHBiLW1heDogXCJcIixcbiAgJHBiLW1pbjogXCJcIixcbiAgJHBsLW1heDogXCJcIixcbiAgJHBsLW1pbjogXCJcIixcbiAgJHctbWF4OiAkZGVza3RvcC1yZXNwb25zaXZlLFxuICAkdy1taW46ICRwaG9uZS1yZXNwb25zaXZlXG4pIHtcbiAgQGlmICRwdC1tYXggIT0gXCJcIiBhbmQgJHB0LW1pbiAhPSBcIlwiIHtcbiAgICBwYWRkaW5nLXRvcDogcmVzcG9uc2l2ZSgkcHQtbWF4LCAkcHQtbWluLCAkdy1tYXgsICR3LW1pbik7XG5cbiAgICBAaWYgJHByLW1heCAhPSBcIlwiIGFuZCAkcHItbWluICE9IFwiXCIge1xuICAgICAgcGFkZGluZy1yaWdodDogcmVzcG9uc2l2ZSgkcHItbWF4LCAkcHItbWluLCAkdy1tYXgsICR3LW1pbik7XG5cbiAgICAgIEBpZiAkcGItbWF4ICE9IFwiXCIgYW5kICRwYi1taW4gIT0gXCJcIiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZXNwb25zaXZlKCRwYi1tYXgsICRwYi1taW4sICR3LW1heCwgJHctbWluKTtcblxuICAgICAgICBAaWYgJHBsLW1heCAhPSBcIlwiIGFuZCAkcGwtbWluICE9IFwiXCIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVzcG9uc2l2ZSgkcGwtbWF4LCAkcGwtbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVzcG9uc2l2ZSgkcHItbWF4LCAkcHItbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVzcG9uc2l2ZSgkcHQtbWF4LCAkcHQtbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVzcG9uc2l2ZSgkcHItbWF4LCAkcHItbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZXNwb25zaXZlKCRwdC1tYXgsICRwdC1taW4sICR3LW1heCwgJHctbWluKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZXNwb25zaXZlKCRwdC1tYXgsICRwdC1taW4sICR3LW1heCwgJHctbWluKTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVzcG9uc2l2ZSgkcHQtbWF4LCAkcHQtbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtLXJlc3BvbnNpdmUoXG4gICRtdC1tYXg6IFwiXCIsXG4gICRtdC1taW46IFwiXCIsXG4gICRtci1tYXg6IFwiXCIsXG4gICRtci1taW46IFwiXCIsXG4gICRtYi1tYXg6IFwiXCIsXG4gICRtYi1taW46IFwiXCIsXG4gICRtbC1tYXg6IFwiXCIsXG4gICRtbC1taW46IFwiXCIsXG4gICR3LW1heDogJGRlc2t0b3AtcmVzcG9uc2l2ZSxcbiAgJHctbWluOiAkcGhvbmUtcmVzcG9uc2l2ZVxuKSB7XG4gIEBpZiAkbXQtbWF4ICE9IFwiXCIgYW5kICRtdC1taW4gIT0gXCJcIiB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtdCwgJG10LW1heCwgJG10LW1pbiwgJHctbWF4LCAkdy1taW4pO1xuXG4gICAgQGlmICRtci1tYXggIT0gXCJcIiBhbmQgJG1yLW1pbiAhPSBcIlwiIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobXIsICRtci1tYXgsICRtci1taW4sICR3LW1heCwgJHctbWluKTtcblxuICAgICAgQGlmICRtYi1tYXggIT0gXCJcIiBhbmQgJG1iLW1pbiAhPSBcIlwiIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtYiwgJG1iLW1heCwgJG1iLW1pbiwgJHctbWF4LCAkdy1taW4pO1xuXG4gICAgICAgIEBpZiAkbWwtbWF4ICE9IFwiXCIgYW5kICRtbC1taW4gIT0gXCJcIiB7XG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZShtbCwgJG1sLW1heCwgJG1sLW1pbiwgJHctbWF4LCAkdy1taW4pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1sLCAkbXItbWF4LCAkbXItbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlKG1iLCAkbXQtbWF4LCAkbXQtbWluLCAkdy1tYXgsICR3LW1pbik7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWwsICRtci1tYXgsICRtci1taW4sICR3LW1heCwgJHctbWluKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobXIsICRtdC1tYXgsICRtdC1taW4sICR3LW1heCwgJHctbWluKTtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWIsICRtdC1tYXgsICRtdC1taW4sICR3LW1heCwgJHctbWluKTtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUobWwsICRtdC1tYXgsICRtdC1taW4sICR3LW1heCwgJHctbWluKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjb250YWluZXIteCB7XG4gIC8vIEBpbmNsdWRlIG1xKHBhZGRpbmctbGVmdCwgMTYsICRsZyk7XG4gIC8vIEBpbmNsdWRlIG1xKHBhZGRpbmctcmlnaHQsIDE2LCAkbGcpO1xuXG4gIEBpbmNsdWRlIG1xKHBhZGRpbmctbGVmdCwgMTUsICRzbSk7XG4gIEBpbmNsdWRlIG1xKHBhZGRpbmctcmlnaHQsIDE1LCAkc20pO1xufVxuXG5AbWl4aW4gaW5wdXQtZGF0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgLyomOmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpZaUlHaGxhV2RvZEQwaU1qWWlJSFpwWlhkQ2IzZzlJakFnTUNBeU5pQXlOaUlnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BISmxZM1FnZDJsa2RHZzlJakkySWlCb1pXbG5hSFE5SWpJMklpQnllRDBpTVRNaUlHWnBiR3c5SWlORVEwUkNSRU1pTHo0S1BIQmhkR2dnWkQwaVRUZ3VPRGc0T0RrZ01USXVNMGd4TWk0MVZqRTFMamhJT0M0NE9EZzRPVTB4Tnk0MU5UVTJJREU0TGpaSU55NDBORFEwTkZZeE1DNDVTREUzTGpVMU5UWk5NVGN1TlRVMU5pQTNMalJJTVRZdU9ETXpNMVkyU0RFMUxqTTRPRGxXTnk0MFNEa3VOakV4TVRGV05rZzRMakUyTmpZM1ZqY3VORWczTGpRME5EUTBRemN1TURZeE16VWdOeTQwSURZdU5qa3pPVFVnTnk0MU5EYzFJRFl1TkRJek1EY2dOeTQ0TVRBd05VTTJMakUxTWpFNElEZ3VNRGN5TmlBMklEZ3VOREk0TnlBMklEZ3VPRll4T0M0MlF6WWdNVGd1T1RjeE15QTJMakUxTWpFNElERTVMak15TnpRZ05pNDBNak13TnlBeE9TNDFPRGs1UXpZdU5qa3pPVFVnTVRrdU9EVXlOU0EzTGpBMk1UTTFJREl3SURjdU5EUTBORFFnTWpCSU1UY3VOVFUxTmtNeE55NDVNemcySURJd0lERTRMak13TmlBeE9TNDROVEkxSURFNExqVTNOamtnTVRrdU5UZzVPVU14T0M0NE5EYzRJREU1TGpNeU56UWdNVGtnTVRndU9UY3hNeUF4T1NBeE9DNDJWamd1T0VNeE9TQTRMalF5T0RjZ01UZ3VPRFEzT0NBNExqQTNNallnTVRndU5UYzJPU0EzTGpneE1EQTFRekU0TGpNd05pQTNMalUwTnpVZ01UY3VPVE00TmlBM0xqUWdNVGN1TlRVMU5pQTNMalJhSWlCbWFXeHNQU0lqTkRrME5UUkdJaTgrQ2p3dmMzWm5QZ289XCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNDVweDtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTNweCk7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9Ki9cbn1cblxuQG1peGluIHdpZHRoLWV4cGFuZGVkIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSAxMDB2dykgLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKCgxMDAlIC0gMTAwdncpIC8gMik7XG4gIHdpZHRoOiAxMDB2dztcbn1cbkBtaXhpbiBmdWxsLXdpZHRoIHtcbiAgQGluY2x1ZGUgd2lkdGgtZXhwYW5kZWQoKTtcbn1cblxuQG1peGluIGhpZGUtc2Nyb2xsYmFyIHtcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMXB4O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBzY3JvbGwteC1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgQGluY2x1ZGUgaGlkZS1zY3JvbGxiYXI7XG59XG5cbkBtaXhpbiBpbWFnZS1mdWxsLWNvbnRlbnQge1xuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuQG1peGluIGZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMTAxO1xufVxuXG5AbWl4aW4gcHgtbW9iaWxlIHtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG5cbkBtaXhpbiBzZWxlY3RXcmFwcGVyIHtcbiAgc2VsZWN0IHtcbiAgICBvdXRsaW5lLWNvbG9yOiAkY29sb3Itc2t5O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itc2t5O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pY29ucy9hcnJvdy5wbmdcIikgOTAlICNmMGYwZjAgbm8tcmVwZWF0O1xuICBcbiAgICAvLyBAaW5jbHVkZSBtcShiYWNrZ3JvdW5kLXBvc2l0aW9uLCA5NSUsICRzbSk7XG4gIFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pY29ucy9hcnJvdy5wbmdcIikgOTAlICR3aGl0ZSBuby1yZXBlYXQ7XG4gICAgICBvdXRsaW5lOiAkY29sb3Itc2t5O1xuICAgIH1cbiAgXG4gICAgQGluY2x1ZGUgbWVkaWFQaG9uZSB7XG4gICAgICAmLCAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRleHQtbG9hZCB7XG4gIGNvbG9yOiAjOTk5OTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBhbmltYXRpb246IGZhZGVUZXh0IDRzIGluZmluaXRlO1xufVxuIl19 */
