.seadev-testimonial.seadev-testimonial-default .wrap-testimonial, .seadev-testimonial.seadev-testimonial-two-column .wrap-testimonial {
  width: 1300px;
  max-width: 100%;
  margin: 0 auto;
  margin-top: 60px;
  margin-top: 3.75rem;
  padding-bottom: 60px;
}
.seadev-testimonial.seadev-testimonial-default .wrap-testimonial:before, .seadev-testimonial.seadev-testimonial-two-column .wrap-testimonial:before {
  content: "\e907";
  font-family: "icomoon";
  font-size: 42px;
  color: var(--primary-color);
  display: block;
  margin-bottom: 30px;
}
.seadev-testimonial.seadev-testimonial-default .wrap-testimonial .testimonial-item, .seadev-testimonial.seadev-testimonial-two-column .wrap-testimonial .testimonial-item {
  outline: none;
}
.seadev-testimonial.seadev-testimonial-default .wrap-testimonial .testimonial-item .content, .seadev-testimonial.seadev-testimonial-two-column .wrap-testimonial .testimonial-item .content {
  color: #808080;
  font-size: 24px;
  line-height: 40px;
}
@media (max-width: 767.98px) {
  .seadev-testimonial.seadev-testimonial-default .wrap-testimonial .testimonial-item .content, .seadev-testimonial.seadev-testimonial-two-column .wrap-testimonial .testimonial-item .content {
    font-size: 20px;
    line-height: 35px;
  }
}
.seadev-testimonial.seadev-testimonial-default .slick-dots, .seadev-testimonial.seadev-testimonial-two-column .slick-dots {
  bottom: 0;
}
.seadev-testimonial.seadev-testimonial-default .slick-dots li button, .seadev-testimonial.seadev-testimonial-two-column .slick-dots li button {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 50%;
  border: 1px solid transparent;
}
.seadev-testimonial.seadev-testimonial-default .slick-dots li button:before, .seadev-testimonial.seadev-testimonial-two-column .slick-dots li button:before {
  opacity: 1;
  color: #B3B3B3;
}
.seadev-testimonial.seadev-testimonial-default .slick-dots li.slick-active button, .seadev-testimonial.seadev-testimonial-two-column .slick-dots li.slick-active button {
  border-color: var(--primary-color);
}
.seadev-testimonial.seadev-testimonial-default .slick-dots li.slick-active button:before, .seadev-testimonial.seadev-testimonial-two-column .slick-dots li.slick-active button:before {
  color: var(--primary-color);
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-item-wrap {
  position: relative;
  padding-top: 60px;
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-item-wrap:before {
  content: "\e907";
  font-family: "icomoon";
  font-size: 42px;
  color: rgba(129, 129, 129, 0.16);
  display: block;
  position: absolute;
  top: 0;
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-item-wrap:after {
  content: "";
  width: 60%;
  height: 2px;
  background-color: var(--primary-color);
  position: absolute;
  top: 15px;
  left: 10%;
  max-width: 307px;
}
@media (max-width: 1199.98px) {
  .seadev-testimonial.seadev-testimonial-two-column .testimonial-item-wrap:after {
    width: calc(100% - 70px);
    right: 0;
    left: initial;
    max-width: 100%;
  }
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-item-wrap .rating span {
  color: #FBD13E;
  display: inline-block;
  margin-right: 3px;
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-item-wrap .name {
  font-size: 16px;
  line-height: 26px;
  color: #313131;
  margin-bottom: 28px;
  margin-bottom: 1.75rem;
}
@media (max-width: 1199.98px) {
  .seadev-testimonial.seadev-testimonial-two-column .testimonial-item-wrap .name {
    margin-bottom: 16px;
    margin-bottom: 1rem;
  }
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-item-wrap .content {
  margin-bottom: 28px;
  margin-bottom: 1.75rem;
}
@media (max-width: 1199.98px) {
  .seadev-testimonial.seadev-testimonial-two-column .testimonial-item-wrap .content {
    margin-bottom: 16px;
    margin-bottom: 1rem;
  }
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-item-wrap .content p {
  margin-bottom: 0px;
}
@media (max-width: 767.98px) {
  .seadev-testimonial.seadev-testimonial-two-column .wrap-testimonial-two-column {
    padding-bottom: 40px;
    padding-bottom: 2.5rem;
  }
}
.seadev-testimonial.seadev-testimonial-two-column .wrap-testimonial-two-column.hide-dots {
  padding-bottom: 0px !important;
}
.seadev-testimonial.seadev-testimonial-two-column .wrap-testimonial-two-column.hide-dots .slick-dots {
  display: none;
}
.seadev-testimonial.seadev-testimonial-two-column .wrap-testimonial:before {
  display: none;
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-item {
  margin-right: 160px;
  margin-right: 10rem;
}
@media (max-width: 1199.98px) {
  .seadev-testimonial.seadev-testimonial-two-column .testimonial-item {
    margin-right: 30px;
    margin-right: 1.875rem;
  }
}
.seadev-testimonial.seadev-testimonial-two-column .slick-list {
  margin-right: -160px;
  margin-right: -10rem;
}
@media (max-width: 1199.98px) {
  .seadev-testimonial.seadev-testimonial-two-column .slick-list {
    margin-right: -30px;
    margin-right: -1.875rem;
  }
}
@media (max-width: 767.98px) {
  .seadev-testimonial.seadev-testimonial-two-column .slick-list {
    padding-bottom: 40px;
    padding-bottom: 2.5rem;
  }
}
.seadev-testimonial.seadev-testimonial-two-column .slick-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 30px;
  height: 30px;
  position: absolute;
  top: -115px;
  right: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
}
@media (max-width: 767.98px) {
  .seadev-testimonial.seadev-testimonial-two-column .slick-arrow {
    display: none !important;
  }
}
.seadev-testimonial.seadev-testimonial-two-column .slick-arrow.prev {
  right: 50px;
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-content {
  position: relative;
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-content .slides-numbers {
  position: absolute;
  top: -115px;
  right: 105px;
}
.seadev-testimonial.seadev-testimonial-two-column .testimonial-content .slides-numbers .active {
  font-weight: 600;
}
@media (max-width: 767.98px) {
  .seadev-testimonial.seadev-testimonial-two-column .testimonial-content .slides-numbers {
    display: none !important;
  }
}
.seadev-testimonial.seadev-testimonial-two-column .block-title {
  margin-right: 48px;
  margin-right: 3rem;
}
.seadev-testimonial .block-title span {
  color: var(--primary-color);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJsb2NrLXRlbXBsYXRlcy9zZWFkZXYtdGVzdGltb25pYWwvc2VhZGV2LXRlc3RpbW9uaWFsLnNjc3MiLCJzYXNzL2Fic3RyYWN0cy9taXhpbnMvX3JlbS5zY3NzIiwiYmxvY2stdGVtcGxhdGVzL3NlYWRldi10ZXN0aW1vbmlhbC9zZWFkZXYtdGVzdGltb25pYWwuY3NzIiwic2Fzcy9hYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwic2Fzcy9hYnN0cmFjdHMvbWl4aW5zL19jdXN0b20uc2NzcyIsInNyYy9zYXNzL2Jvb3RzdHJhcDQvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1RO0VBQ0ksYUFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VDNkJWLGdCQVhhO0VBWWIsbUJBVmM7RURsQkosb0JBQUE7QUVKWjtBRk1ZO0VBQ0ksZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLGVBQUE7RUFDQSwyQkdiQTtFSGVBLGNBQUE7RUFDQSxtQkFBQTtBRUxoQjtBRlFZO0VBQ0ksYUFBQTtBRU5oQjtBRlFnQjtFQUNJLGNHWEw7RUN1RlgsZUFBQTtFQUNBLGlCQUFBO0FGakZKO0FHa0RJO0VML0NZO0lJaUZSLGVBQUE7SUFDQSxpQkFBQTtFRmhGTjtBQUNGO0FGSVE7RUFDSSxTQUFBO0FFRlo7QUZLZ0I7RUFDSSw0QkFBQTtFQUFBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSw2QkFBQTtBRUhwQjtBRktvQjtFQUNJLFVBQUE7RUFDQSxjRzNCZjtBRHdCVDtBRlFvQjtFQUNJLGtDRzlDUjtBRHdDaEI7QUZRd0I7RUFDSSwyQkdqRFo7QUQyQ2hCO0FGZVE7RUFDSSxrQkFBQTtFQUNBLGlCQUFBO0FFYlo7QUZjWTtFQUNJLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0NBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0FFWmhCO0FGY1k7RUFDSSxXQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxzQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtBRVpoQjtBR0dJO0VMQ1E7SUFVUSx3QkFBQTtJQUNBLFFBQUE7SUFDQSxhQUFBO0lBQ0EsZUFBQTtFRVZsQjtBQUNGO0FGWVk7RUFDUSxjQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtBRVZwQjtBRllZO0VBQ0ksZUFBQTtFQUNBLGlCQUFBO0VBQ0EsY0c5RUw7RUZrQlQsbUJBWGE7RUFZYixzQkFWYztBQzZEaEI7QUdqQkk7RUxzQlE7SUN6RFYsbUJBWGE7SUFZYixtQkFWYztFQ2tFZDtBQUNGO0FGUVk7RUNsRVYsbUJBWGE7RUFZYixzQkFWYztBQ3VFaEI7QUczQkk7RUwrQlE7SUNsRVYsbUJBWGE7SUFZYixtQkFWYztFQzRFZDtBQUNGO0FGR2dCO0VBQ0ksa0JBQUE7QUVEcEI7QUdwQ0k7RUx5Q0k7SUM1RU4sb0JBWGE7SUFZYixzQkFWYztFQ3FGZDtBQUNGO0FGR1k7RUFDSSw4QkFBQTtBRURoQjtBRkVnQjtFQUNJLGFBQUE7QUVBcEI7QUZJUTtFQUNJLGFBQUE7QUVGWjtBRklRO0VDMUZOLG1CQVhhO0VBWWIsbUJBVmM7QUNtR2hCO0FHdkRJO0VMdURJO0lDMUZOLGtCQVhhO0lBWWIsc0JBVmM7RUN3R2Q7QUFDRjtBRkFRO0VDaEdOLG9CQVhhO0VBWWIsb0JBVmM7QUM2R2hCO0FHakVJO0VMNkRJO0lDaEdOLG1CQVhhO0lBWWIsdUJBVmM7RUNrSGQ7QUFDRjtBR3ZFSTtFTDZESTtJQ2hHTixvQkFYYTtJQVliLHNCQVZjO0VDd0hkO0FBQ0Y7QUZQUTtFQUNJLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0VBQ0EsZUFBQTtBRVNaO0FHeEZJO0VMc0VJO0lBV1Esd0JBQUE7RUVXZDtBQUNGO0FGUlE7RUFDSSxXQUFBO0FFVVo7QUZSUTtFQUNJLGtCQUFBO0FFVVo7QUZUWTtFQUNJLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QUVXaEI7QUZWZ0I7RUFDSSxnQkFBQTtBRVlwQjtBRzNHSTtFTDBGUTtJQVFRLHdCQUFBO0VFYWxCO0FBQ0Y7QUZWUTtFQ3pJTixrQkFYYTtFQVliLGtCQVZjO0FDZ0toQjtBRlRRO0VBQ0ksMkJBQUE7QUVXWiIsImZpbGUiOiJibG9jay10ZW1wbGF0ZXMvc2VhZGV2LXRlc3RpbW9uaWFsL3NlYWRldi10ZXN0aW1vbmlhbC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi8uLi9zYXNzL2Fic3RyYWN0cy9taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vc2Fzcy9hYnN0cmFjdHMvdmFyaWFibGVzJztcbkBpbXBvcnQgXCIuLi8uLi9zcmMvc2Fzcy9ib290c3RyYXA0L21peGluc1wiO1xuXG4uc2VhZGV2LXRlc3RpbW9uaWFse1xuICAgICYuc2VhZGV2LXRlc3RpbW9uaWFsLWRlZmF1bHQsICYuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW57XG4gICAgICAgIC53cmFwLXRlc3RpbW9uaWFse1xuICAgICAgICAgICAgd2lkdGg6IDEzMDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVtKCdtYXJnaW4tdG9wJywgJHNwYWNpbmctMXgpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi7qSHXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRlc3RpbW9uaWFsLWl0ZW17XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRyb2xsZXktZ3JleTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZnMtMjQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWRvdHN7XG4gICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGJ1dHRvbntcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5NzA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNsaWNrLWFjdGl2ZXtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4ge1xuICAgICAgIFxuICAgICAgICAudGVzdGltb25pYWwtaXRlbS13cmFwe1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDdcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJpY29tb29uXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDEyOSwgMTI5LCAxMjksIDAuMTYpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMTAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzA3cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yYXRpbmcgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkJEMTNFO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrLTMxO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlbSgnbWFyZ2luLWJvdHRvbScsIDI4ICk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVtKCdtYXJnaW4tYm90dG9tJywgMTYgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVtKCdtYXJnaW4tYm90dG9tJywgMjggKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZW0oJ21hcmdpbi1ib3R0b20nLCAxNiApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAud3JhcC10ZXN0aW1vbmlhbC10d28tY29sdW1uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93biggc20gKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVtKCdwYWRkaW5nLWJvdHRvbScsNDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5oaWRlLWRvdHMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC53cmFwLXRlc3RpbW9uaWFsOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC50ZXN0aW1vbmlhbC1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlbSgnbWFyZ2luLXJpZ2h0JywgMTYwICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlbSgnbWFyZ2luLXJpZ2h0JywgMzAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZW0oJ21hcmdpbi1yaWdodCcsIC0xNjAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVtKCdtYXJnaW4tcmlnaHQnLCAtMzAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSl7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVtKCdwYWRkaW5nLWJvdHRvbScsIDQwICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTExNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnNsaWNrLWFycm93LnByZXYge1xuICAgICAgICAgICAgcmlnaHQ6IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRlc3RpbW9uaWFsLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLnNsaWRlcy1udW1iZXJzIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMTE1cHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwNXB4O1xuICAgICAgICAgICAgICAgIC5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZW0oJ21hcmdpbi1yaWdodCcsIDQ4ICk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoIC0tcHJpbWFyeS1jb2xvciApO1xuICAgICAgICB9IFxuICAgIH1cbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi8vLS0tLS0tIFNBU1MgVXNlZnVsIE1peGlucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gYnkgUnlhbiBCdXJnZXNzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vcnlhbmJ1cmdlc3MvU0FTUy1Vc2VmdWwtTWl4aW5zXG4vLyBNSVQgwqkgUnlhbiBCdXJnZXNzXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSRU0gVW5pdHMgd2l0aCBQWCBmYWxsYmFja1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAvLyBleGFtcGxlOiBAaW5jbHVkZSByZW0oXCJtYXJnaW5cIiwgMTAsIDUsIDEwLCA1KTtcbiAvLyBleGFtcGxlOiBAaW5jbHVkZSByZW0oXCJmb250LXNpemVcIiwgMTQpO1xuXG5AbWl4aW4gcmVtKCRwcm9wZXJ0eSwgJHZhbHVlcy4uLikge1xuICAkbjogbGVuZ3RoKCR2YWx1ZXMpO1xuICAkaTogMTtcblxuICAkcHhsaXN0OiAoKTtcbiAgJHJlbWxpc3Q6ICgpO1xuXG4gIEB3aGlsZSAkaSA8PSAkbiB7XG4gICAgJGl0ZW1WYWw6IChudGgoJHZhbHVlcywgJGkpKTtcbiAgICBAaWYgJGl0ZW1WYWwgIT0gXCJhdXRvXCJ7XG4gICAgICAkcHhsaXN0OiBhcHBlbmQoJHB4bGlzdCwgJGl0ZW1WYWwgKyBweCk7XG4gICAgICAvLyRyZW1saXN0OiBhcHBlbmQoJHJlbWxpc3QsICgkaXRlbVZhbCAvIDEwKSArIHJlbSk7IC8vIFVzZSB0aGlzIGlmIHlvdSd2ZSBzZXQgSFRNTCBmb250IHNpemUgdmFsdWUgdG8gNjIuNSVcbiAgICAgICRyZW1saXN0OiBhcHBlbmQoJHJlbWxpc3QsIG1hdGguZGl2KCRpdGVtVmFsLCAxNikgKyByZW0pO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHB4bGlzdDogYXBwZW5kKCRweGxpc3QsIGF1dG8pO1xuICAgICAgJHJlbWxpc3Q6IGFwcGVuZCgkcmVtbGlzdCwgYXV0byk7XG4gICAgfVxuXG4gICAgJGk6ICRpICsgMTtcbiAgfVxuXG4gICN7JHByb3BlcnR5fTogJHB4bGlzdDtcbiAgI3skcHJvcGVydHl9OiAkcmVtbGlzdDtcbn0iLCIuc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC1kZWZhdWx0IC53cmFwLXRlc3RpbW9uaWFsLCAuc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC53cmFwLXRlc3RpbW9uaWFsIHtcbiAgd2lkdGg6IDEzMDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgbWFyZ2luLXRvcDogMy43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG4uc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC1kZWZhdWx0IC53cmFwLXRlc3RpbW9uaWFsOmJlZm9yZSwgLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAud3JhcC10ZXN0aW1vbmlhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICBmb250LWZhbWlseTogXCJpY29tb29uXCI7XG4gIGZvbnQtc2l6ZTogNDJweDtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLWRlZmF1bHQgLndyYXAtdGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLWl0ZW0sIC5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLndyYXAtdGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLWl0ZW0ge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtZGVmYXVsdCAud3JhcC10ZXN0aW1vbmlhbCAudGVzdGltb25pYWwtaXRlbSAuY29udGVudCwgLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAud3JhcC10ZXN0aW1vbmlhbCAudGVzdGltb25pYWwtaXRlbSAuY29udGVudCB7XG4gIGNvbG9yOiAjODA4MDgwO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLWRlZmF1bHQgLndyYXAtdGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLWl0ZW0gLmNvbnRlbnQsIC5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLndyYXAtdGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLWl0ZW0gLmNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgfVxufVxuLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtZGVmYXVsdCAuc2xpY2stZG90cywgLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAuc2xpY2stZG90cyB7XG4gIGJvdHRvbTogMDtcbn1cbi5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLWRlZmF1bHQgLnNsaWNrLWRvdHMgbGkgYnV0dG9uLCAuc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtZGVmYXVsdCAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlLCAuc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI0IzQjNCMztcbn1cbi5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLWRlZmF1bHQgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbiwgLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbn1cbi5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLWRlZmF1bHQgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUsIC5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG59XG4uc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC50ZXN0aW1vbmlhbC1pdGVtLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xufVxuLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAudGVzdGltb25pYWwtaXRlbS13cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImljb21vb25cIjtcbiAgZm9udC1zaXplOiA0MnB4O1xuICBjb2xvcjogcmdiYSgxMjksIDEyOSwgMTI5LCAwLjE2KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xufVxuLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAudGVzdGltb25pYWwtaXRlbS13cmFwOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTVweDtcbiAgbGVmdDogMTAlO1xuICBtYXgtd2lkdGg6IDMwN3B4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAuc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC50ZXN0aW1vbmlhbC1pdGVtLXdyYXA6YWZ0ZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAudGVzdGltb25pYWwtaXRlbS13cmFwIC5yYXRpbmcgc3BhbiB7XG4gIGNvbG9yOiAjRkJEMTNFO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xufVxuLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAudGVzdGltb25pYWwtaXRlbS13cmFwIC5uYW1lIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgY29sb3I6ICMzMTMxMzE7XG4gIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLnRlc3RpbW9uaWFsLWl0ZW0td3JhcCAubmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG4uc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC50ZXN0aW1vbmlhbC1pdGVtLXdyYXAgLmNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAuc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC50ZXN0aW1vbmlhbC1pdGVtLXdyYXAgLmNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAudGVzdGltb25pYWwtaXRlbS13cmFwIC5jb250ZW50IHAge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAud3JhcC10ZXN0aW1vbmlhbC10d28tY29sdW1uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICB9XG59XG4uc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC53cmFwLXRlc3RpbW9uaWFsLXR3by1jb2x1bW4uaGlkZS1kb3RzIHtcbiAgcGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAud3JhcC10ZXN0aW1vbmlhbC10d28tY29sdW1uLmhpZGUtZG90cyAuc2xpY2stZG90cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC53cmFwLXRlc3RpbW9uaWFsOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC50ZXN0aW1vbmlhbC1pdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLnNlYWRldi10ZXN0aW1vbmlhbC5zZWFkZXYtdGVzdGltb25pYWwtdHdvLWNvbHVtbiAudGVzdGltb25pYWwtaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07XG4gIH1cbn1cbi5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLnNsaWNrLWxpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0xNjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTByZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLnNsaWNrLWxpc3Qge1xuICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS44NzVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAuc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC5zbGljay1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICB9XG59XG4uc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC5zbGljay1hcnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTE1cHg7XG4gIHJpZ2h0OiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLnNsaWNrLWFycm93IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLnNsaWNrLWFycm93LnByZXYge1xuICByaWdodDogNTBweDtcbn1cbi5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLnRlc3RpbW9uaWFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2VhZGV2LXRlc3RpbW9uaWFsLnNlYWRldi10ZXN0aW1vbmlhbC10d28tY29sdW1uIC50ZXN0aW1vbmlhbC1jb250ZW50IC5zbGlkZXMtbnVtYmVycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTE1cHg7XG4gIHJpZ2h0OiAxMDVweDtcbn1cbi5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLnRlc3RpbW9uaWFsLWNvbnRlbnQgLnNsaWRlcy1udW1iZXJzIC5hY3RpdmUge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLnRlc3RpbW9uaWFsLWNvbnRlbnQgLnNsaWRlcy1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zZWFkZXYtdGVzdGltb25pYWwuc2VhZGV2LXRlc3RpbW9uaWFsLXR3by1jb2x1bW4gLmJsb2NrLXRpdGxlIHtcbiAgbWFyZ2luLXJpZ2h0OiA0OHB4O1xuICBtYXJnaW4tcmlnaHQ6IDNyZW07XG59XG4uc2VhZGV2LXRlc3RpbW9uaWFsIC5ibG9jay10aXRsZSBzcGFuIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xufSIsIi8vIFVzZSB0aGlzIGZpbGUgdG8gb3ZlcndyaXRlIHRoZSBiYXNpYyBCb290c3RyYXAgdmFyaWFibGVzIGFuZCBhZGQgeW91ciBvd24gdmFyaWFibGVzXG4vLyBUbyBvdmVyd3JpdGUgYSBCb290c3RyYXAgdmFyaWFibGUgeW91IGRvbsK0dCBoYXZlIHRvIHRvdWNoIHRoZSBCb290c3RyYXAgZm9sZGVyLlxuLy8gSnVzdCBjb3B5IGEgdmFyaWFibGUgZnJvbSBzcmMvc2Fzcy9ib290c3RyYXA0L192YXJpYWJsZXMuc2NzcywgcGFzdGUgaXQgaGVyZSBhbmQgZWRpdCB0aGUgdmFsdWUuXG5cbiRwcmltYXJ5LWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiRzZWNvbmRhcnktY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcik7XG5cbiRwcmltYXJ5OiAjRkM3RjQxOyAvLyBUaGF0cyBhIHNhbXBsZSBob3cgeW91IGNvdWxkIGNoYW5nZSBhIEJvb3RTdHJhcCB2YXJpYWJsZS5cbiRzZWNvbmRhcnk6ICMxQTFBMUE7XG4kd2hpdGU6ICNGRkZGRkY7XG4kYnRuLWhvdmVyOiB2YXIoLS1idG4taG92ZXItY29sb3IpO1xuJGdyYXk6ICNFQ0VFRjA7XG4kd2hpc3BlcjogI2U2ZTZlNjtcbiRuZXJvOiAkc2Vjb25kYXJ5LWNvbG9yO1xuJGdyYXk5NTogI0YyRjJGMjtcbiRtYXR0ZXJob3JuOiAjNEQ0RDREO1xuJHRyb2xsZXktZ3JleTogIzgwODA4MDtcbiRncmF5NzA6ICNCM0IzQjM7XG4kaGVhZC1ibG9nLWNvbG9yOiAjMTkxOTE5O1xuJGJsYWNrOiAjMDAwMDAwO1xuJGJsYWNrLTMxOiAjMzEzMTMxO1xuLy8gQ29sb3JcbiRib2R5LWNvbG9yOiAjNjY2NjY2O1xuJGJvcmRlci1jb2xvcjogIzk5OTk5OTtcbiRzb2NpYWwtY29sb3I6ICMxMTE1Mjc7XG4kc2VhcmNoLWNvbG9yOiAjMzMzMzMzO1xuJGRhbmdlci1jb2xvcjogI2RjMzIzMjtcbiRmb2N1cy1jb2xvcjogIzQ5NmJlODtcbiRkaXZpZGUtY29sb3I6ICNEMUQ3RTM7XG4kYmx1ZS1ibGFjay1jb2xvcjogIzRENTM2NDtcbiRsaWdodC1ncmF5LWNvbG9yOiNBNkFBQjI7XG4kZ3JheS1jb2xvcjogI0Y5RjlGOTtcbiRvcmFuZ2UtY29sb3I6ICNFRTk4MzI7XG4kc29jaWFsLWhvdmVyLWNvbG9yOnJnYmEoMTQ5LCAxNTcsIDE3NywgMC4yNik7XG4vL0ZvbnQgU2V0aW5nXG4kZm9udC1tYWluOiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xuJGZvbnQtaGVhZGluZzogdmFyKC0tc2Vjb25kYXJ5LWZvbnQpO1xuXG4vLyBUeXBvZ3JhcGh5XG4kZm9udC1mYW1pbHktYmFzZTogJGZvbnQtbWFpbjtcbiRsaW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRsaW5rLWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRsaW5rLWhvdmVyLWRlY29yYXRpb246IG5vbmU7XG5cbi8vIEhlYWRpbmdcbiRoZWFkaW5ncy1mb250LXdlaWdodDogNzAwO1xuJGhlYWRpbmdzLWNvbG9yOiAkbmVybztcbiRoZWFkaW5ncy1mb250LWZhbWlseTogJGZvbnQtaGVhZGluZztcblxuLy9OYXZiYXJcbiRuYXZiYXItbGlnaHQtY29sb3I6ICRzZWNvbmRhcnk7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gR3JpZFxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAyNHB4O1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgIHhzOiAwLFxuICAgIHNtOiA1NzZweCxcbiAgICBtZDogNzY4cHgsXG4gICAgbGc6IDEyMDBweCxcbiAgICB4bDogMTQwMHB4LFxuICAgIHh4bDogMTYzMnB4LFxuKTtcblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICAgc206IDU0MHB4LFxuICAgIG1kOiA3MjBweCxcbiAgICBsZzogMTEyMHB4LFxuICAgIHhsOiAxMzAwcHgsXG4gICAgeHhsOiAxNjA4cHgsXG4pO1xuXG5cbiR3aWRlLW1heC13aWR0aDogMTU4NHB4O1xuJHNtYWxsLW1heC13aWR0aDogMTAyNHB4O1xuXG4kc3BhY2luZy0xeDogNjA7XG4kc3BhY2luZy0yeDogMTIwO1xuXG4kaWNvbW9vbi1mb250LXBhdGg6IFwiL3dwLWNvbnRlbnQvdGhlbWVzL3NlYWRldi1jaGlsZC9hc3NldHMvZm9udHMvaWNvbW9vbi12MS4wL2ZvbnRzXCI7IiwiQG1peGluIGZzKCRzaXplLCAkbGluZS1oZWlnaHQpIHtcbiAgICBAaW5jbHVkZSByZW0oICdmb250LXNpemUnLCAkc2l6ZSApO1xuICAgIEBpbmNsdWRlIHJlbSggJ2xpbmUtaGVpZ2h0JywgJGxpbmUtaGVpZ2h0ICk7XG59XG5cbkBtaXhpbiBoMSB7XG4gICAgQGluY2x1ZGUgZnMoIDU0LCA2MCApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICB9XG59XG5cbkBtaXhpbiBoMiB7XG4gICAgQGluY2x1ZGUgZnMoIDQyLCA2MCApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB9XG59XG5cbkBtaXhpbiBoMyB7XG4gICAgQGluY2x1ZGUgZnMoIDMyLCA1MCApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICB9XG59XG5cbkBtaXhpbiBoNCB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDsgICAgICAgIFxuICAgIH1cbn1cblxuQG1peGluIGg1IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OyAgICAgICAgXG4gICAgfSAgICBcbn1cblxuQG1peGluIGZzLTE0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIH1cbn1cblxuQG1peGluIGZzLTE2IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xuICAgIC8vICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgLy8gICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIC8vIH1cbn1cblxuQG1peGluIGZzLTE4IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7ICAgIFxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhsKXtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG59XG5cbkBtaXhpbiBmcy0yMCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyAgICBcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4bCl7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgfVxufVxuXG5AbWl4aW4gZnMtMjIge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDsgICAgXG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeGwpe1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIH1cbn1cblxuQG1peGluIGZzLTI0IHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICB9XG59XG5cbkBtaXhpbiBmcy0yOCB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSl7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxufVxuXG5AbWl4aW4gZnMtMzIge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIH1cbn1cblxuQG1peGluIGJnLW9wYWNpdHkoJGNvbG9yLCAkb3BhY2l0eSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJG9wYWNpdHkpO1xufVxuXG5AbWl4aW4gbXQtMXgge1xuICAgIEBpbmNsdWRlIHJlbSgnbWFyZ2luLXRvcCcsICRzcGFjaW5nLTF4KTtcbn1cblxuQG1peGluIG10LTJ4IHtcbiAgICBAaW5jbHVkZSByZW0oJ21hcmdpbi10b3AnLCAkc3BhY2luZy0yeCk7XG59XG5cbkBtaXhpbiBtYi0xeCB7XG4gICAgQGluY2x1ZGUgcmVtKCdtYXJnaW4tYm90dG9tJywgJHNwYWNpbmctMXgpO1xufVxuXG5AbWl4aW4gbWItMngge1xuICAgIEBpbmNsdWRlIHJlbSgnbWFyZ2luLWJvdHRvbScsICRzcGFjaW5nLTJ4KTtcbn1cblxuQG1peGluIHB0LTF4IHtcbiAgICBAaW5jbHVkZSByZW0oJ3BhZGRpbmctdG9wJywgJHNwYWNpbmctMXgpO1xufVxuXG5AbWl4aW4gcHQtMngge1xuICAgIEBpbmNsdWRlIHJlbSgncGFkZGluZy10b3AnLCAkc3BhY2luZy0yeCk7XG59XG5cbkBtaXhpbiBwYi0xeCB7XG4gICAgQGluY2x1ZGUgcmVtKCdwYWRkaW5nLWJvdHRvbScsICRzcGFjaW5nLTF4KTtcbn1cblxuQG1peGluIHBiLTJ4IHtcbiAgICBAaW5jbHVkZSByZW0oJ3BhZGRpbmctYm90dG9tJywgJHNwYWNpbmctMngpO1xufVxuXG5AbWl4aW4gbXgtMXgge1xuICAgIEBpbmNsdWRlIG10LTF4O1xuICAgIEBpbmNsdWRlIG1iLTF4O1xufVxuXG5AbWl4aW4gbXgtMngge1xuICAgIEBpbmNsdWRlIG10LTJ4O1xuICAgIEBpbmNsdWRlIG1iLTJ4O1xufVxuXG5AbWl4aW4gcHgtMXgge1xuICAgIEBpbmNsdWRlIHB0LTF4O1xuICAgIEBpbmNsdWRlIHBiLTF4O1xufVxuXG5AbWl4aW4gcHgtMngge1xuICAgIEBpbmNsdWRlIHB0LTJ4O1xuICAgIEBpbmNsdWRlIHBiLTJ4O1xufVxuXG5AbWl4aW4gbG9hZGluZ3tcbiAgICAmOmJlZm9yZXtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICY6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlcjogNXB4IHNvbGlkICRwdXJwbGUtNTA7XG4gICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAyMHB4KTsgICAgICAgICAgICAgICBcbiAgICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */
