.cp-homepage__layout .cp-fed--background-rotator .cp-card__text--wrapper {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
}

.region-search {
  padding: 10px 10px 0;
}

@media (min-width: 1024px) {
  .region-search {
    position: absolute;
    right: 20px;
    top: 5px;
    padding: 0;
  }
}

@media (min-width: 1400px) {
  .region-search {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

#views-exposed-form-search-page-1 input.form-text {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 58px;
  padding: 5px 43px 5px 15px;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  font-style: italic;
  background-color: #fff;
  color: #000;
  border: 6px solid #E47A3B;
  border-radius: 80px;
}

@media (min-width: 1024px) {
  #views-exposed-form-search-page-1 input.form-text {
    width: 260px;
  }
}

#views-exposed-form-search-page-1 input.form-submit {
  position: absolute;
  top: 6px;
  right: 6px;
  bottom: 6px;
  width: 55px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 0 80px 80px 0;
  padding: 0;
  background-color: #2C2369;
  background-image: url(../../dist/images/search/search-white.png);
  background-position: center;
  background-repeat: no-repeat;
}

#microsite-catcher {
  background-color: #2C2369;
}

.block-microsite-menu-title-block .menu-title__link h2 {
  font-size: 38px;
  font-size: 3.8rem;
  font-weight: 700;
  text-align: left;
  text-transform: uppercase;
  padding: 30px 20px;
  margin: 0;
  border-radius: 0;
}

@media (min-width: 1024px) {
  .block-microsite-menu-title-block .menu-title__link h2 {
    margin: 0 0 30px 0;
  }
}

#microsite-catcher.microsite-catcher__hasMenu .block-microsite-menu-title-block .menu-title__link h2 {
  margin: 0 0 0 50px;
}

@media (min-width: 1024px) {
  #microsite-catcher.microsite-catcher__hasMenu .block-microsite-menu-title-block .menu-title__link h2 {
    margin: 0 0 10px 0;
  }
}

.branding__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: calc(104px - 4px);
  width: 100%;
  padding: 0 20px 0 65px;
  margin: 0;
}

.branding__link:focus, .branding__link:hover {
  text-decoration: none;
}

@media (min-width: 480px) {
  .branding__link {
    padding: 0 60px;
  }
}

@media (min-width: 1024px) {
  .branding__link {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: auto;
    padding: 0;
    height: calc(104px - 4px);
  }
}

@media (min-width: 1024px) and (max-width: 1399px) {
  .branding__link {
    height: calc(104px + 16px);
  }
}

.branding__image-wrapper {
  max-width: 275px;
  -ms-flex-item-align: center;
      align-self: center;
}

@media (min-width: 1024px) {
  .branding__image-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 20px;
    max-width: 782px;
    width: 37vw;
    height: 100%;
  }
}

.branding__image {
  display: block;
  -ms-flex-item-align: center;
      align-self: center;
  max-width: 100%;
  height: auto;
}

.branding__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: auto;
}

@media (min-width: 1024px) {
  .branding__text {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.branding__text--item {
  display: block;
  line-height: 1;
  white-space: nowrap;
}

.branding__text--city {
  font-family: Oswald, Helvetica, Arial, sans-serif;
  font-size: 35px;
  font-size: 3.5rem;
  text-transform: uppercase;
  color: #2C2369;
}

@media (min-width: 480px) {
  .branding__text--city {
    font-size: 40px;
    font-size: 4rem;
  }
}

.branding__text--state {
  font-family: Oswald, Helvetica, Arial, sans-serif;
  font-size: 35px;
  font-size: 3.5rem;
  text-transform: none;
  color: #334E44;
}

@media (min-width: 480px) {
  .branding__text--state {
    font-size: 40px;
    font-size: 4rem;
  }
}

@media (min-width: 1024px) {
  #block-homepageblocks {
    width: 100%;
    min-width: 300px;
    max-width: 25%;
  }
}

.home-block {
  margin-top: 20px;
  background: #ffffff;
}

.home-block .home-block__title {
  padding: 20px 55px 20px 20px;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: left;
}

.home-block .home-block__title::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-weight: bold;
  padding: 0;
  font-size: 50px;
  font-size: 5rem;
}

.home-block .home-block__title[aria-expanded="true"]::after {
  content: "-";
}

@media (min-width: 1024px) {
  .block-menu.menu--main {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

@media (min-width: 1024px) {
  .block-municode-mega-menu-block {
    position: absolute;
    top: auto;
    right: auto;
    bottom: 0;
    width: 100%;
    pointer-events: none;
  }
}

@media (min-width: 1200px) {
  .block-municode-mega-menu-block {
    right: 30px;
  }
}

.mega-menu__title {
  font-family: Oswald, Helvetica, Arial, sans-serif;
}

@media (min-width: 1024px) {
  .mega-menu__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: calc((104px - 4px) / 2);
  }
}

@media (min-width: 1400px) {
  .mega-menu__title {
    height: calc(104px - 4px);
  }
}

@media (min-width: 1024px) {
  .mega-menu__expandable-wrapper {
    min-width: calc(min(86vw, 1100px));
    min-height: 200px;
  }
}

.cp-homepage__layout .cp-fed--background-rotator {
  position: relative;
  background-color: transparent;
  overflow: hidden;
  z-index: 10;
}

.cp-homepage__layout .cp-fed--background-rotator .cp-article__wrapper:not(.slick-initialized) li:not(:first-child) {
  display: none;
}

.cp-homepage__layout .cp-fed--background-rotator .cp-card__link-wrapper {
  display: block !important;
}

.cp-homepage__layout .cp-fed--background-rotator .cp-article__controls {
  position: absolute;
  left: 50%;
  bottom: 20px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media (min-width: 1024px) {
  .cp-homepage__layout .cp-fed--background-rotator .cp-article__controls {
    left: auto;
    right: 7vw;
    bottom: 200px;
    -webkit-transform: none;
            transform: none;
  }
}

@media (min-width: 1024px) {
  .front main.page-main .layout.cp-fed--frontpage-keylinks {
    margin-top: -183px;
  }
}

.cp-fed--home-news-region {
  background-color: #C0BCBB;
  background-image: url(../images/additional-images/news-background.jpg);
  background-size: 1920px auto;
  background-repeat: no-repeat;
  background-position: top center;
  padding: 0 20px 90px;
}

@media (min-width: 1024px) {
  .cp-fed--home-news-region .layout__region--content {
    position: relative;
    padding: 0 calc(max(80px, 6.77vw)) 25px;
    max-width: calc(max(calc(80px + 1560px), calc(1560px + 6.77vw)));
    margin: 0 auto;
  }
}

@media (min-width: 1920px) {
  .cp-fed--home-news-region {
    background-size: 100% auto;
  }
}

.cp-fed--home-news-region .cp-article__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  padding: 37px 0;
}

.cp-fed--home-news-region .cp-article__header .field--name-field-title {
  display: inline-block;
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  text-transform: none;
  text-align: center;
  color: #2C2369;
  background-color: #fff;
  padding: 15px 20px;
  border-radius: 20px;
  margin: 0;
}

.cp-fed--home-news-region .cp-card {
  border-radius: 10px;
  -webkit-transition: -webkit-box-shadow 150ms linear;
  transition: -webkit-box-shadow 150ms linear;
  transition: box-shadow 150ms linear;
  transition: box-shadow 150ms linear, -webkit-box-shadow 150ms linear;
  background-color: #fff;
  border: 3px solid #E47A3B;
}

.cp-fed--home-news-region .cp-card.cp-card.node--view-mode-large-card .cp-card__text--wrapper {
  padding: 0;
}

.cp-fed--home-news-region .cp-card .cp-card__link-wrapper {
  padding: 25px 25px 40px;
}

@media (min-width: 1175px) and (max-width: 1399px) {
  .cp-fed--home-news-region .cp-card .cp-card__link-wrapper {
    padding: 12px 12px 40px;
  }
}

.cp-fed--home-news-region .cp-card .cp-card__title {
  display: block;
  font-weight: 700;
  color: #000;
  margin: 15px 0 20px;
}

.cp-fed--home-news-region .cp-card .cp-card__body {
  display: block;
  margin: 0 0 20px;
}

.cp-fed--home-news-region .cp-card .cp-card__read-more {
  display: block;
  font-weight: 700;
  color: #000;
  margin: auto 0 0;
}

.cp-fed--home-news-region .cp-card:hover {
  border: 3px solid #E47A3B;
  -webkit-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.4);
          box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.4);
}

.cp-fed--home-news-region .cp-card:hover .cp-card__read-more {
  text-decoration: none;
}

.cp-fed--home-news-region .cp-article__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 0;
}

.cp-fed--home-news-region .cp-article__controls .cp-article__control {
  margin: 0 5px;
  border: 3px solid #334E44;
  border-radius: 10px;
  background-color: #fff;
  color: #334E44;
  font-size: 35px;
  font-size: 3.5rem;
  -webkit-transition: all 150ms linear;
  transition: all 150ms linear;
}

@media (min-width: 1024px) {
  .cp-fed--home-news-region .cp-article__controls .cp-article__control {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    border: none;
    background-color: transparent;
    color: #334E44;
    font-size: 48px;
    font-size: 4.8rem;
  }
}

.cp-fed--home-news-region .cp-article__controls .cp-article__control:hover {
  background-color: #2C2369;
  color: #ffffff;
}

.cp-fed--home-news-region .cp-article__controls .cp-article__controls--prev::before {
  content: '\f053';
}

@media (min-width: 1024px) {
  .cp-fed--home-news-region .cp-article__controls .cp-article__controls--prev {
    left: calc(max(40px, 3.385vw));
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.cp-fed--home-news-region .cp-article__controls .cp-article__controls--next::before {
  content: '\f054';
}

@media (min-width: 1024px) {
  .cp-fed--home-news-region .cp-article__controls .cp-article__controls--next {
    right: calc(max(40px, 3.385vw));
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

.cp-fed--home-news-region .cp-article__footer .field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
}

.cp-fed--home-news-region .cp-article__footer a {
  display: inline-block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 15px;
  font-size: 18px;
  font-size: 1.8rem;
  text-align: center;
  background-color: #2C2369;
  color: #ffffff;
  border: 0 solid #2C2369;
  -webkit-transition: background-color 150ms linear, color 150ms linear;
  transition: background-color 150ms linear, color 150ms linear;
  border-radius: 100px;
  font-weight: 700;
  text-transform: none;
  min-width: 187px;
  padding: 18px 15px;
}

.cp-fed--home-news-region .cp-article__footer a:hover {
  text-decoration: none;
}

@media (min-width: 768px) {
  .cp-fed--home-news-region .cp-article__footer a:hover {
    background-color: #ffffff;
    color: #2C2369;
  }
}

.cp-fed--home-news-region .cp-article__footer a:focus {
  outline: 1px dashed #26417e;
}

.cp-fed--home-news-region .cp-article__footer abutton {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.cp-fed--home-news-region .cp-article__footer a:hover {
  background-color: #4e7969;
  color: #ffffff;
}

.front main.page-main .layout.cp-fed--home-tabs-region {
  margin-top: -77px;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-arcticle .cp-article__tablist {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 5px;
  max-width: 1435px;
  margin: 0 auto;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-arcticle .cp-article__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 77px;
  margin: 0;
  border-radius: 30px 30px 0 0;
  border: none;
  background-color: #2C2369;
  color: #ffffff;
  font-family: Oswald, Helvetica, Arial, sans-serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-size: 8.125vw;
  font-weight: 700;
  text-transform: uppercase;
  width: 49%;
  -webkit-box-flex: 49%;
      -ms-flex: 49% 0 0px;
          flex: 49% 0 0;
  -webkit-transition: background-color 150ms linear, color 150ms linear;
  transition: background-color 150ms linear, color 150ms linear;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-arcticle .cp-article__tab:hover {
  background-color: #4e7969;
  color: #ffffff;
  text-decoration: none;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-arcticle .cp-article__tab.active {
  background-color: #fff;
  color: #000;
  text-decoration: none;
}

@media (min-width: 444px) {
  .front main.page-main .layout.cp-fed--home-tabs-region .cp-arcticle .cp-article__tab {
    font-size: 36px;
    font-size: 3.6rem;
  }
}

@media (min-width: 480px) {
  .front main.page-main .layout.cp-fed--home-tabs-region .cp-arcticle .cp-article__tab {
    width: 49.8%;
    -webkit-box-flex: 49.8%;
        -ms-flex: 49.8% 0 0px;
            flex: 49.8% 0 0;
  }
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__wrapper {
  max-width: 1520px;
  margin: 0 auto 0 !important;
  padding: 40px 10px 0;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__content .cp-article__no-result {
  padding: 30px 5px;
  text-align: center;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 700;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__content .cp-card {
  border: none;
  background-color: transparent;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__content .cp-card .cp-card__text--wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__content .cp-card .cp-card__content-type--wrapper {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__content .cp-card .cp-card__title {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__content .cp-card .cp-card__read-more {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  text-transform: uppercase;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.front main.page-main .layout.cp-fed--home-tabs-region .slick-dots {
  display: none !important;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 0;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__controls .cp-article__control {
  margin: 0 5px;
  border: 3px solid #2C2369;
  border-radius: 10px;
  background-color: #fff;
  color: #2C2369;
  font-size: 35px;
  font-size: 3.5rem;
  -webkit-transition: all 150ms linear;
  transition: all 150ms linear;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__controls .cp-article__control:hover {
  background-color: #2C2369;
  color: #ffffff;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__footer .field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__footer a {
  display: inline-block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 15px;
  font-size: 18px;
  font-size: 1.8rem;
  text-align: center;
  background-color: #2C2369;
  color: #ffffff;
  border: 0 solid #2C2369;
  -webkit-transition: background-color 150ms linear, color 150ms linear;
  transition: background-color 150ms linear, color 150ms linear;
  border-radius: 100px;
  font-weight: 700;
  text-transform: none;
  min-width: 187px;
  padding: 18px 15px;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__footer a:hover {
  text-decoration: none;
}

@media (min-width: 768px) {
  .front main.page-main .layout.cp-fed--home-tabs-region .cp-article__footer a:hover {
    background-color: #ffffff;
    color: #2C2369;
  }
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__footer a:focus {
  outline: 1px dashed #26417e;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__footer abutton {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.front main.page-main .layout.cp-fed--home-tabs-region .cp-article__footer a:hover {
  background-color: #4e7969;
  color: #ffffff;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvX21peGlucy5zY3NzIiwic2l0ZS9fc2VhcmNoLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhLnNjc3MiLCJzaXRlLmNzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwic2l0ZS9fbWljcm9zaXRlLXRpdGxlLnNjc3MiLCJzaXRlL19icmFuZGluZy5zY3NzIiwic2l0ZS9faG9tZS1uZXdzLWFuZC1jYWxlbmRhci5zY3NzIiwic2l0ZS9fbWFpbi1tZW51LnNjc3MiLCJzaXRlL19tZWdhLW1lbnUuc2NzcyIsInNpdGUvX2hvbWUtc2VjdGlvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkE7RUFDRSw4QkFBNkI7RUFDN0IsK0JBQThCO0NBQy9COztBQ3JCRDtFQUNFLHFCQUFvQjtDQWFyQjs7QUMraEJHO0VEN2lCSjtJQUlJLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsU0FBUTtJQUNSLFdBQVU7R0FPYjtDRUZBOztBRGlpQkc7RUQ3aUJKO0lBV0ksU0FBUTtJQUNSLG9DQUEyQjtZQUEzQiw0QkFBMkI7R0FFOUI7Q0VLQTs7QUZIRDtFQUNFLCtCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsWUFBVztFQUNYLGFBQVk7RUFDWiwyQkFBMEI7RUFFMUIsdURHbkI2RDtFSkY3RCxnQkFBcUI7RUFDckIsZ0JBQTZCO0VDc0I3QixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLHVCRzhDb0I7RUg3Q3BCLFlHOENpQjtFSDdDakIsMEJHMkMyQjtFSDFDM0Isb0JBQW1CO0NBS3BCOztBQzJnQkc7RUQ3aEJKO0lBZ0JJLGFBQVk7R0FFZjtDRU9BOztBRkxEO0VBQ0UsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixXQUFVO0VBQ1YsWUFBVztFQUNYLFlBQVc7RUFDWCx5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQjtFQUVoQixhQUFZO0VBQ1osNkJBQTRCO0VBQzVCLFdBQVU7RUFFViww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VTRVekIscUNBQTRCO0VBQTVCLDZCQUE0QjtDQU03Qjs7QUF6SEw7RUFzSFEsMEJOdFRrQjtFTXVUbEIsZU50VG9CO0NNdVRyQjs7QUF4SFA7RUE4SE0scUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYix5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixpQkFBZ0I7Q0FDakI7O0FBbElMO0VWbklFLHNCQUFxQjtFQUNyQix5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixjSStFTztFSnhLUCxnQkFBcUI7RUFDckIsa0JBQTZCO0VBMEY3QixtQkFBa0I7RUFDbEIsMEJJbEV3QjtFSm1FeEIsZUlsRTBCO0VKbUUxQix3QklwRXdCO0VKcUV4QixzRUFBNkQ7RUFBN0QsOERBQTZEO0VVaVF6RCxxQkFBb0I7RUFDcEIsaUJBQWdCO0VBQ2hCLHFCQUFvQjtFQUNwQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0NBTW5COztBVnpRSDtFQUNFLHNCQUFxQjtDQUt0Qjs7QUVxY0M7RUYzY0Y7SUFHSSwwQkl6RXNCO0lKMEV0QixlSTNFb0I7R0o2RXZCO0NHK2tCRjs7QUg5a0JDO0VBQ0UsNEJBQTJCO0NBQzVCOztBQUNEO0VBQ0Usc0JBQWdCO09BQWhCLGlCQUFnQjtFQUNoQix5QkFBd0I7Q0FDekI7O0FBYkQ7RVVzUU0sMEJBQXlCO0VBQ3pCLGVOM1VzQjtDTTRVdkIiLCJmaWxlIjoic2l0ZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU0FTUyBNaXhpbnMgYW5kIHBsYWNlaG9sZGVycy5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcbiAgZm9udC1zaXplOiAkc2l6ZSArIHB4O1xuICBmb250LXNpemU6ICgkc2l6ZSAvIDEwKSArIHJlbTtcbn1cblxuJWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4lc3ByaXRlLXN2ZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbiVoaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xufVxuXG4ldGV4dC1oaWRkZW4ge1xuICB0ZXh0LWluZGVudDogMTUwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1peGluIGhpZGUtdGV4dCgpIHtcbiAgdGV4dC1pbmRlbnQ6IDE1MCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIENvbG9yIHdpdGggT3BhY2l0eVxuQG1peGluIGNvbG9yLW9wYWNpdHkoJGNvbG9yLCAkb3BhY2l0eSkge1xuICBjb2xvcjogJGNvbG9yOyAvKiBUaGUgRmFsbGJhY2sgKi9cbiAgY29sb3I6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XG59XG5cbi8vIEJhY2tncm91bmQgQ29sb3Igd2l0aCBPcGFjaXR5XG5AbWl4aW4gYmFja2dyb3VuZC1vcGFjaXR5KCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yOyAvKiBUaGUgRmFsbGJhY2sgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRvcGFjaXR5KTtcbn1cblxuLy8gUmVtb3ZlIGxpc3Qgc3R5bGVzLlxuJWZsYXQtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xufVxuXG4vLyBDbG9zZSBpY29uIHdpdGggY2xvc2luZyBhbmltYXRpb24uXG5AbWl4aW4gY2xvc2UtaWNvbigkY29sb3I6ICMwMDAsICRzaXplOiAyNXB4LCAkd2lkdGg6IDRweCkge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGluY2x1ZGUgaGlkZS10ZXh0KCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAgJHNpemU7XG4gIHdpZHRoOiAgJHNpemU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJHdpZHRoO1xuICAgIHdpZHRoOiAgJHNpemU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxufVxuQG1peGluIGJ1dHRvbigkYmctY29sb3I6ICRwcmltYXJ5LWJnLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkdGV4dC1jb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZTogMjAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICRwYWRkaW5nOiBzcGFjaW5nKCdtJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGg6IDVweCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmctY29sb3I7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgbGluZWFyLCBjb2xvciAxNTBtcyBsaW5lYXI7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3I7XG4gICAgICBjb2xvcjogJGJnLWNvbG9yO1xuICAgIH1cbiAgfVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggZGFzaGVkICMyNjQxN2U7XG4gIH1cbiAgJmJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cblxuLy8gQ3JlYXRlIGEgYnV0dG9uIGxpa2Ugc3R5bGVcbiVwcmltYXJ5LWJ1dHRvbiB7XG4gIEBpbmNsdWRlIGJ1dHRvbigpO1xufVxuXG4lc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIEBpbmNsdWRlIGJ1dHRvbigkYmctY29sb3I6ICRzZWNvbmRhcnktYmctY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0ZXh0LWNvbG9yOiAkc2Vjb25kYXJ5LXRleHQtY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LXNpemU6IDE1LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFkZGluZzogc3BhY2luZygncycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoOiA1cHgpO1xufVxuXG5AbWl4aW4gYXJyb3dzKCRjb2xvcjogIzAwMCwgJHNpemU6IDZweCwgJHdpZHRoOiAzcHgsICRkaXJlY3Rpb246ICdyaWdodCcpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAkc2l6ZSAqIDM7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAkc2l6ZTtcbiAgICBib3gtc2hhZG93OiAkd2lkdGggLSN7JHdpZHRofSAwIDAgJGNvbG9yIGluc2V0O1xuICAgIHRvcDogY2FsYyg1MCUgLSAjeyRzaXplfSApO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gJ3VwJyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSAncmlnaHQnIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09ICdkb3duJyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSAnbGVmdCcge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBTZWFyY2ggbW9kdWxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLnJlZ2lvbi1zZWFyY2gge1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMDtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49aGVhZGVyLWZ1bGxcIikge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG4jdmlld3MtZXhwb3NlZC1mb3JtLXNlYXJjaC1wYWdlLTEgaW5wdXQuZm9ybS10ZXh0IHsgLy8gVGV4dCBpbnB1dFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1OHB4O1xuICBwYWRkaW5nOiA1cHggNDNweCA1cHggMTVweDtcblxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1iZy1jb2xvcjtcbiAgY29sb3I6ICRzZWFyY2gtY29sb3I7XG4gIGJvcmRlcjogNnB4IHNvbGlkICRzZWFyY2gtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiA4MHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICB3aWR0aDogMjYwcHg7XG4gIH1cbn1cblxuI3ZpZXdzLWV4cG9zZWQtZm9ybS1zZWFyY2gtcGFnZS0xIGlucHV0LmZvcm0tc3VibWl0IHsgLy8gU3VibWl0IGlucHV0XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2cHg7XG4gIHJpZ2h0OiA2cHg7XG4gIGJvdHRvbTogNnB4O1xuICB3aWR0aDogNTVweDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAgODBweCA4MHB4IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1zdWJtaXQtYmctY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzZWFyY2gtaWNvbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgICAgICAgICAgaHR0cDovL2luY2x1ZGUtbWVkaWEuY29tXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuXG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jcC1ob21lcGFnZV9fbGF5b3V0IC5jcC1mZWQtLWJhY2tncm91bmQtcm90YXRvciAuY3AtY2FyZF9fdGV4dC0td3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG59XG5cbi5yZWdpb24tc2VhcmNoIHtcbiAgcGFkZGluZzogMTBweCAxMHB4IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnJlZ2lvbi1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB0b3A6IDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLnJlZ2lvbi1zZWFyY2gge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG4jdmlld3MtZXhwb3NlZC1mb3JtLXNlYXJjaC1wYWdlLTEgaW5wdXQuZm9ybS10ZXh0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNThweDtcbiAgcGFkZGluZzogNXB4IDQzcHggNXB4IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyOiA2cHggc29saWQgI0U0N0EzQjtcbiAgYm9yZGVyLXJhZGl1czogODBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjdmlld3MtZXhwb3NlZC1mb3JtLXNlYXJjaC1wYWdlLTEgaW5wdXQuZm9ybS10ZXh0IHtcbiAgICB3aWR0aDogMjYwcHg7XG4gIH1cbn1cblxuI3ZpZXdzLWV4cG9zZWQtZm9ybS1zZWFyY2gtcGFnZS0xIGlucHV0LmZvcm0tc3VibWl0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDZweDtcbiAgcmlnaHQ6IDZweDtcbiAgYm90dG9tOiA2cHg7XG4gIHdpZHRoOiA1NXB4O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAgODBweCA4MHB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQzIzNjk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9kaXN0L2ltYWdlcy9zZWFyY2gvc2VhcmNoLXdoaXRlLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuI21pY3Jvc2l0ZS1jYXRjaGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMjM2OTtcbn1cblxuLmJsb2NrLW1pY3Jvc2l0ZS1tZW51LXRpdGxlLWJsb2NrIC5tZW51LXRpdGxlX19saW5rIGgyIHtcbiAgZm9udC1zaXplOiAzOHB4O1xuICBmb250LXNpemU6IDMuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMzBweCAyMHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJsb2NrLW1pY3Jvc2l0ZS1tZW51LXRpdGxlLWJsb2NrIC5tZW51LXRpdGxlX19saW5rIGgyIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gIH1cbn1cblxuI21pY3Jvc2l0ZS1jYXRjaGVyLm1pY3Jvc2l0ZS1jYXRjaGVyX19oYXNNZW51IC5ibG9jay1taWNyb3NpdGUtbWVudS10aXRsZS1ibG9jayAubWVudS10aXRsZV9fbGluayBoMiB7XG4gIG1hcmdpbjogMCAwIDAgNTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjbWljcm9zaXRlLWNhdGNoZXIubWljcm9zaXRlLWNhdGNoZXJfX2hhc01lbnUgLmJsb2NrLW1pY3Jvc2l0ZS1tZW51LXRpdGxlLWJsb2NrIC5tZW51LXRpdGxlX19saW5rIGgyIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIH1cbn1cblxuLmJyYW5kaW5nX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogY2FsYygxMDRweCAtIDRweCk7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDIwcHggMCA2NXB4O1xuICBtYXJnaW46IDA7XG59XG5cbi5icmFuZGluZ19fbGluazpmb2N1cywgLmJyYW5kaW5nX19saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmJyYW5kaW5nX19saW5rIHtcbiAgICBwYWRkaW5nOiAwIDYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYnJhbmRpbmdfX2xpbmsge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogY2FsYygxMDRweCAtIDRweCk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDEzOTlweCkge1xuICAuYnJhbmRpbmdfX2xpbmsge1xuICAgIGhlaWdodDogY2FsYygxMDRweCArIDE2cHgpO1xuICB9XG59XG5cbi5icmFuZGluZ19faW1hZ2Utd3JhcHBlciB7XG4gIG1heC13aWR0aDogMjc1cHg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYnJhbmRpbmdfX2ltYWdlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1heC13aWR0aDogNzgycHg7XG4gICAgd2lkdGg6IDM3dnc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5icmFuZGluZ19faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmJyYW5kaW5nX190ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYnJhbmRpbmdfX3RleHQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5icmFuZGluZ19fdGV4dC0taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmJyYW5kaW5nX190ZXh0LS1jaXR5IHtcbiAgZm9udC1mYW1pbHk6IE9zd2FsZCwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAzNXB4O1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMyQzIzNjk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuYnJhbmRpbmdfX3RleHQtLWNpdHkge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbn1cblxuLmJyYW5kaW5nX190ZXh0LS1zdGF0ZSB7XG4gIGZvbnQtZmFtaWx5OiBPc3dhbGQsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC1zaXplOiAzLjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzMzNEU0NDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5icmFuZGluZ19fdGV4dC0tc3RhdGUge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjYmxvY2staG9tZXBhZ2VibG9ja3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLmhvbWUtYmxvY2sge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuXG4uaG9tZS1ibG9jayAuaG9tZS1ibG9ja19fdGl0bGUge1xuICBwYWRkaW5nOiAyMHB4IDU1cHggMjBweCAyMHB4O1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaG9tZS1ibG9jayAuaG9tZS1ibG9ja19fdGl0bGU6OmFmdGVyIHtcbiAgY29udGVudDogXCIrXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAyMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDUwcHg7XG4gIGZvbnQtc2l6ZTogNXJlbTtcbn1cblxuLmhvbWUtYmxvY2sgLmhvbWUtYmxvY2tfX3RpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLVwiO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5ibG9jay1tZW51Lm1lbnUtLW1haW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYmxvY2stbXVuaWNvZGUtbWVnYS1tZW51LWJsb2NrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5ibG9jay1tdW5pY29kZS1tZWdhLW1lbnUtYmxvY2sge1xuICAgIHJpZ2h0OiAzMHB4O1xuICB9XG59XG5cbi5tZWdhLW1lbnVfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IE9zd2FsZCwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWVnYS1tZW51X190aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogY2FsYygoMTA0cHggLSA0cHgpIC8gMik7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAubWVnYS1tZW51X190aXRsZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwNHB4IC0gNHB4KTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5tZWdhLW1lbnVfX2V4cGFuZGFibGUtd3JhcHBlciB7XG4gICAgbWluLXdpZHRoOiBjYWxjKG1pbig4NnZ3LCAxMTAwcHgpKTtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgfVxufVxuXG4uY3AtaG9tZXBhZ2VfX2xheW91dCAuY3AtZmVkLS1iYWNrZ3JvdW5kLXJvdGF0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLmNwLWhvbWVwYWdlX19sYXlvdXQgLmNwLWZlZC0tYmFja2dyb3VuZC1yb3RhdG9yIC5jcC1hcnRpY2xlX193cmFwcGVyOm5vdCguc2xpY2staW5pdGlhbGl6ZWQpIGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNwLWhvbWVwYWdlX19sYXlvdXQgLmNwLWZlZC0tYmFja2dyb3VuZC1yb3RhdG9yIC5jcC1jYXJkX19saW5rLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uY3AtaG9tZXBhZ2VfX2xheW91dCAuY3AtZmVkLS1iYWNrZ3JvdW5kLXJvdGF0b3IgLmNwLWFydGljbGVfX2NvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogMjBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jcC1ob21lcGFnZV9fbGF5b3V0IC5jcC1mZWQtLWJhY2tncm91bmQtcm90YXRvciAuY3AtYXJ0aWNsZV9fY29udHJvbHMge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDd2dztcbiAgICBib3R0b206IDIwMHB4O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mcm9udCBtYWluLnBhZ2UtbWFpbiAubGF5b3V0LmNwLWZlZC0tZnJvbnRwYWdlLWtleWxpbmtzIHtcbiAgICBtYXJnaW4tdG9wOiAtMTgzcHg7XG4gIH1cbn1cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDMEJDQkI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYWRkaXRpb25hbC1pbWFnZXMvbmV3cy1iYWNrZ3JvdW5kLmpwZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTkyMHB4IGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMjBweCA5MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jcC1mZWQtLWhvbWUtbmV3cy1yZWdpb24gLmxheW91dF9fcmVnaW9uLS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCBjYWxjKG1heCg4MHB4LCA2Ljc3dncpKSAyNXB4O1xuICAgIG1heC13aWR0aDogY2FsYyhtYXgoY2FsYyg4MHB4ICsgMTU2MHB4KSwgY2FsYygxNTYwcHggKyA2Ljc3dncpKSk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAuY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgfVxufVxuXG4uY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1hcnRpY2xlX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDM3cHggMDtcbn1cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9faGVhZGVyIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMkMyMzY5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiAuY3AtY2FyZCB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTUwbXMgbGluZWFyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDNweCBzb2xpZCAjRTQ3QTNCO1xufVxuXG4uY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1jYXJkLmNwLWNhcmQubm9kZS0tdmlldy1tb2RlLWxhcmdlLWNhcmQgLmNwLWNhcmRfX3RleHQtLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1jYXJkIC5jcC1jYXJkX19saW5rLXdyYXBwZXIge1xuICBwYWRkaW5nOiAyNXB4IDI1cHggNDBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExNzVweCkgYW5kIChtYXgtd2lkdGg6IDEzOTlweCkge1xuICAuY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1jYXJkIC5jcC1jYXJkX19saW5rLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDEycHggMTJweCA0MHB4O1xuICB9XG59XG5cbi5jcC1mZWQtLWhvbWUtbmV3cy1yZWdpb24gLmNwLWNhcmQgLmNwLWNhcmRfX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW46IDE1cHggMCAyMHB4O1xufVxuXG4uY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1jYXJkIC5jcC1jYXJkX19ib2R5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG59XG5cbi5jcC1mZWQtLWhvbWUtbmV3cy1yZWdpb24gLmNwLWNhcmQgLmNwLWNhcmRfX3JlYWQtbW9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAwMDtcbiAgbWFyZ2luOiBhdXRvIDAgMDtcbn1cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiAuY3AtY2FyZDpob3ZlciB7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNFNDdBM0I7XG4gIGJveC1zaGFkb3c6IDJweCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi5jcC1mZWQtLWhvbWUtbmV3cy1yZWdpb24gLmNwLWNhcmQ6aG92ZXIgLmNwLWNhcmRfX3JlYWQtbW9yZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAwO1xufVxuXG4uY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1hcnRpY2xlX19jb250cm9scyAuY3AtYXJ0aWNsZV9fY29udHJvbCB7XG4gIG1hcmdpbjogMCA1cHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkICMzMzRFNDQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMzM0RTQ0O1xuICBmb250LXNpemU6IDM1cHg7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jcC1mZWQtLWhvbWUtbmV3cy1yZWdpb24gLmNwLWFydGljbGVfX2NvbnRyb2xzIC5jcC1hcnRpY2xlX19jb250cm9sIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzMzNEU0NDtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgZm9udC1zaXplOiA0LjhyZW07XG4gIH1cbn1cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fY29udHJvbHMgLmNwLWFydGljbGVfX2NvbnRyb2w6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMyMzY5O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fY29udHJvbHMgLmNwLWFydGljbGVfX2NvbnRyb2xzLS1wcmV2OjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDUzJztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1hcnRpY2xlX19jb250cm9scyAuY3AtYXJ0aWNsZV9fY29udHJvbHMtLXByZXYge1xuICAgIGxlZnQ6IGNhbGMobWF4KDQwcHgsIDMuMzg1dncpKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fY29udHJvbHMgLmNwLWFydGljbGVfX2NvbnRyb2xzLS1uZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDU0Jztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1hcnRpY2xlX19jb250cm9scyAuY3AtYXJ0aWNsZV9fY29udHJvbHMtLW5leHQge1xuICAgIHJpZ2h0OiBjYWxjKG1heCg0MHB4LCAzLjM4NXZ3KSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gIH1cbn1cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fZm9vdGVyIC5maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4O1xufVxuXG4uY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1hcnRpY2xlX19mb290ZXIgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcGFkZGluZzogMTVweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMyMzY5O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAwIHNvbGlkICMyQzIzNjk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgbGluZWFyLCBjb2xvciAxNTBtcyBsaW5lYXI7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWluLXdpZHRoOiAxODdweDtcbiAgcGFkZGluZzogMThweCAxNXB4O1xufVxuXG4uY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1hcnRpY2xlX19mb290ZXIgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jcC1mZWQtLWhvbWUtbmV3cy1yZWdpb24gLmNwLWFydGljbGVfX2Zvb3RlciBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMkMyMzY5O1xuICB9XG59XG5cbi5jcC1mZWQtLWhvbWUtbmV3cy1yZWdpb24gLmNwLWFydGljbGVfX2Zvb3RlciBhOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRhc2hlZCAjMjY0MTdlO1xufVxuXG4uY3AtZmVkLS1ob21lLW5ld3MtcmVnaW9uIC5jcC1hcnRpY2xlX19mb290ZXIgYWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fZm9vdGVyIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGU3OTY5O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIHtcbiAgbWFyZ2luLXRvcDogLTc3cHg7XG59XG5cbi5mcm9udCBtYWluLnBhZ2UtbWFpbiAubGF5b3V0LmNwLWZlZC0taG9tZS10YWJzLXJlZ2lvbiAuY3AtYXJjdGljbGUgLmNwLWFydGljbGVfX3RhYmxpc3Qge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBtYXgtd2lkdGg6IDE0MzVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mcm9udCBtYWluLnBhZ2UtbWFpbiAubGF5b3V0LmNwLWZlZC0taG9tZS10YWJzLXJlZ2lvbiAuY3AtYXJjdGljbGUgLmNwLWFydGljbGVfX3RhYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDc3cHg7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDAgMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMyMzY5O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IE9zd2FsZCwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXNpemU6IDIuNnJlbTtcbiAgZm9udC1zaXplOiA4LjEyNXZ3O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogNDklO1xuICBmbGV4OiA0OSUgMCAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGxpbmVhciwgY29sb3IgMTUwbXMgbGluZWFyO1xufVxuXG4uZnJvbnQgbWFpbi5wYWdlLW1haW4gLmxheW91dC5jcC1mZWQtLWhvbWUtdGFicy1yZWdpb24gLmNwLWFyY3RpY2xlIC5jcC1hcnRpY2xlX190YWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGU3OTY5O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZnJvbnQgbWFpbi5wYWdlLW1haW4gLmxheW91dC5jcC1mZWQtLWhvbWUtdGFicy1yZWdpb24gLmNwLWFyY3RpY2xlIC5jcC1hcnRpY2xlX190YWIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ0NHB4KSB7XG4gIC5mcm9udCBtYWluLnBhZ2UtbWFpbiAubGF5b3V0LmNwLWZlZC0taG9tZS10YWJzLXJlZ2lvbiAuY3AtYXJjdGljbGUgLmNwLWFydGljbGVfX3RhYiB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZnJvbnQgbWFpbi5wYWdlLW1haW4gLmxheW91dC5jcC1mZWQtLWhvbWUtdGFicy1yZWdpb24gLmNwLWFyY3RpY2xlIC5jcC1hcnRpY2xlX190YWIge1xuICAgIHdpZHRoOiA0OS44JTtcbiAgICBmbGV4OiA0OS44JSAwIDA7XG4gIH1cbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIC5jcC1hcnRpY2xlX193cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAxNTIwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogNDBweCAxMHB4IDA7XG59XG5cbi5mcm9udCBtYWluLnBhZ2UtbWFpbiAubGF5b3V0LmNwLWZlZC0taG9tZS10YWJzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fY29udGVudCAuY3AtYXJ0aWNsZV9fbm8tcmVzdWx0IHtcbiAgcGFkZGluZzogMzBweCA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXNpemU6IDIuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIC5jcC1hcnRpY2xlX19jb250ZW50IC5jcC1jYXJkIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIC5jcC1hcnRpY2xlX19jb250ZW50IC5jcC1jYXJkIC5jcC1jYXJkX190ZXh0LS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIC5jcC1hcnRpY2xlX19jb250ZW50IC5jcC1jYXJkIC5jcC1jYXJkX19jb250ZW50LXR5cGUtLXdyYXBwZXIge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBvcmRlcjogMTtcbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIC5jcC1hcnRpY2xlX19jb250ZW50IC5jcC1jYXJkIC5jcC1jYXJkX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG9yZGVyOiAyO1xufVxuXG4uZnJvbnQgbWFpbi5wYWdlLW1haW4gLmxheW91dC5jcC1mZWQtLWhvbWUtdGFicy1yZWdpb24gLmNwLWFydGljbGVfX2NvbnRlbnQgLmNwLWNhcmQgLmNwLWNhcmRfX3JlYWQtbW9yZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG9yZGVyOiAzO1xufVxuXG4uZnJvbnQgbWFpbi5wYWdlLW1haW4gLmxheW91dC5jcC1mZWQtLWhvbWUtdGFicy1yZWdpb24gLnNsaWNrLWRvdHMge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mcm9udCBtYWluLnBhZ2UtbWFpbiAubGF5b3V0LmNwLWZlZC0taG9tZS10YWJzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAwO1xufVxuXG4uZnJvbnQgbWFpbi5wYWdlLW1haW4gLmxheW91dC5jcC1mZWQtLWhvbWUtdGFicy1yZWdpb24gLmNwLWFydGljbGVfX2NvbnRyb2xzIC5jcC1hcnRpY2xlX19jb250cm9sIHtcbiAgbWFyZ2luOiAwIDVweDtcbiAgYm9yZGVyOiAzcHggc29saWQgIzJDMjM2OTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMyQzIzNjk7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC1zaXplOiAzLjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG59XG5cbi5mcm9udCBtYWluLnBhZ2UtbWFpbiAubGF5b3V0LmNwLWZlZC0taG9tZS10YWJzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fY29udHJvbHMgLmNwLWFydGljbGVfX2NvbnRyb2w6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMyMzY5O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIC5jcC1hcnRpY2xlX19mb290ZXIgLmZpZWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG59XG5cbi5mcm9udCBtYWluLnBhZ2UtbWFpbiAubGF5b3V0LmNwLWZlZC0taG9tZS10YWJzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fZm9vdGVyIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMjM2OTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMCBzb2xpZCAjMkMyMzY5O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGxpbmVhciwgY29sb3IgMTUwbXMgbGluZWFyO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1pbi13aWR0aDogMTg3cHg7XG4gIHBhZGRpbmc6IDE4cHggMTVweDtcbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIC5jcC1hcnRpY2xlX19mb290ZXIgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mcm9udCBtYWluLnBhZ2UtbWFpbiAubGF5b3V0LmNwLWZlZC0taG9tZS10YWJzLXJlZ2lvbiAuY3AtYXJ0aWNsZV9fZm9vdGVyIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMyQzIzNjk7XG4gIH1cbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIC5jcC1hcnRpY2xlX19mb290ZXIgYTpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkYXNoZWQgIzI2NDE3ZTtcbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIC5jcC1hcnRpY2xlX19mb290ZXIgYWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIC5jcC1hcnRpY2xlX19mb290ZXIgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZTc5Njk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNBU1MgVmFyaWFibGVzLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBGb250cy5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGZvbnQtZmFtaWx5LXByaW1hcnk6ICdPcGVuIFNhbnMnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LWFjY2VudDogT3N3YWxkLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyAvLyBVc2VkIGZvciBzdGF0ZSB0ZXh0IGluIGhlYWRlciwgSDEtSDYsIHNpZGViYXIgaGVhZGluZ3NcblxuXG4vLyBJbWFnZSBmb2xkZXIgcm9vdCBwYXRoLlxuJGltYWdlcy1wYXRoOiAnLi4vaW1hZ2VzLyc7XG4kbmV3cy1kZWZhdWx0LWltZzogJy9wcm9maWxlcy9jb250cmliL3N0YXJ0ZXI4L3RoZW1lcy9tdW5pY29kZS9tdW5pY29kZV90aGVtZS9sb2dvLnBuZyc7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2l6ZXMuXG4vLyBVc2UgaW50ZWdlciBudW1iZXIgdGhhdCB3aWxsIGJlIHByb2Nlc3NlZCBieSBmb250LXNpemUoKSBtaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kZm9udC1zaXplLWJhc2U6IDIwO1xuJGZvbnQtc2l6ZS1oMTogNDA7XG4kZm9udC1zaXplLWgyOiAzMDtcbiRmb250LXNpemUtaDM6IDI2O1xuJGZvbnQtc2l6ZS1oNDogMjQ7XG4kZm9udC1zaXplLWg1OiAyMjtcbiRmb250LXNpemUtaDY6IDIxO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG9ycy5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuJGJvZHktY29sb3I6ICMwMDAwMDA7IC8vIFByaW1hcnkgZm9udCBjb2xvciBhcyB3ZWxsIGFzIHNpZGViYXIgdGV4dCwgbGlua3MsIGZpbGVzLCBldGMuXG4kcHJpbWFyeS1iZy1jb2xvcjogIzJDMjM2OTsgLy8gQ3VycmVudGx5IGFsbCBlbWJlZGRlZCBwYWdlcyBhbmQgaGVhZGluZyBjb3VudCBvbiB0aGlzIGJlaW5nIGEgZGFyayBjb2xvclxuJHByaW1hcnktdGV4dC1jb2xvcjogI2ZmZmZmZjtcbiRzZWNvbmRhcnktYmctY29sb3I6ICMzMzRFNDQ7XG4kc2Vjb25kYXJ5LXRleHQtY29sb3I6ICNmZmZmZmY7XG4kdGVydGlhcnktYmctY29sb3I6ICRwcmltYXJ5LWJnLWNvbG9yOyAvLyBBdmFpbGFibGUgYXMgbmVlZGVkIGZvciBhIHRoaXJkIGNvbG9yLlxuJHRlcnRpYXJ5LXRleHQtY29sb3I6ICNmZmZmZmY7XG4kaHlwZXJsaW5rLWNvbG9yOiAjMzM2NmNjO1xuJGZvY3VzLW91dGxpbmUtY29sb3I6ICNhYjQzYWE7IC8vIFVzZWQgZm9yIGZvY3VzIG9uIGVsZW1lbnRzLiAgVGhpcyBpcyB0aGUgY2hyb21lIGRlZmF1bHQgY29sb3IuICBDYW4gYmUgY3VzdG9taXplZCBpZiBuZWVkZWRcbiRmb290ZXItYmctY29sb3I6ICRwcmltYXJ5LWJnLWNvbG9yO1xuJGZvb3Rlci10ZXh0LWNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFsZXJ0IFBvcCB1cCB2YXJpYWJsZXMuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbiRhbGVydC1iZy1jb2xvcjogI2ZmZmZmZjtcbiRhbGVydC10ZXh0LWNvbG9yOiAjMDAwMDAwO1xuJGFsZXJ0LXRpdGxlLXRleHQtY29sb3I6ICRwcmltYXJ5LWJnLWNvbG9yO1xuJGFsZXJ0LWJ0bi1iZy1jb2xvcjogJHNlY29uZGFyeS1iZy1jb2xvcjtcbiRhbGVydC1idG4tdGV4dC1jb2xvcjogJHNlY29uZGFyeS10ZXh0LWNvbG9yO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFubm91bmNlbWVudHMgQ29sb3JzLlxuLy8vLy8vLy8vLy8vLy8vLy8vXG4kYW5ub3VuY2VtZW50cy1iZy1jb2xvcjogI2NjMDAwMDtcbiRhbm5vdW5jZW1lbnRzLXRleHQtY29sb3I6ICNmZmY7XG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGVhZGVyLlxuLy8vLy8vLy8vLy8vLy8vLy8vXG4kaGVhZGVyLWhlaWdodDogMTA0cHg7IC8vIFVzZSBcImF1dG9cIiBmb3IgdmFyaWFibGUgaGVpZ2h0IGhlYWRlclxuJGhlYWRlci1iZy1jb2xvcjogI2ZmZjtcbiRoZWFkZXItb3BhY2l0eS1sZXZlbDogMS4wO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyYW5kaW5nLlxuLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJhbmRpbmctdGV4dC1jaXR5X19mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWFjY2VudDtcbiRicmFuZGluZy10ZXh0LWNpdHlfX2NvbG9yOiAkcHJpbWFyeS1iZy1jb2xvcjtcbiRicmFuZGluZy10ZXh0LXN0YXRlX19mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWFjY2VudDtcbiRicmFuZGluZy10ZXh0LXN0YXRlX19jb2xvcjogJHNlY29uZGFyeS1iZy1jb2xvcjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBTZWFyY2guXG4vLy8vLy8vLy8vLy8vLy8vLy9cbiRzZWFyY2gtYm9yZGVyLWNvbG9yOiAjRTQ3QTNCO1xuJHNlYXJjaC1iZy1jb2xvcjogI2ZmZjtcbiRzZWFyY2gtY29sb3I6ICMwMDA7XG4kc2VhcmNoLXN1Ym1pdC1iZy1jb2xvcjogJHByaW1hcnktYmctY29sb3I7XG4kc2VhcmNoLWljb246IHVybCguLi8uLi9kaXN0L2ltYWdlcy9zZWFyY2gvc2VhcmNoLXdoaXRlLnBuZyk7IC8vIFVzZSBzZWFyY2gtd2hpdGUucG5nIGZvciBhIHdoaXRlIGljb24uXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTWFpbiBNZW51IHZhcmlhYmxlcy5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuJG1haW4tbWVudS10b3AtbGluay1tb2JpbGUtZm9udC1zaXplOiAxODtcbiRtYWluLW1lbnUtdG9wLWxpbmstZGVza3RvcC1mb250LXNpemU6IDIyO1xuJG1haW4tbWVudS10b3AtbGluay1jb2xvcjogIzAwMDtcbiRtYWluLW1lbnUtdG9wLWxpbmstYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kbWFpbi1tZW51LXRvcC1saW5rLWhvdmVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWJnLWNvbG9yO1xuJG1haW4tbWVudS10b3AtbGluay1ob3Zlci1jb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcblxuJG1haW4tbWVudS1saW5rLW1vYmlsZS1mb250LXNpemU6IDE1O1xuJG1haW4tbWVudS1saW5rLWRlc2t0b3AtZm9udC1zaXplOiAxODtcbiRtYWluLW1lbnUtbGluay1jb2xvcjogJHNlY29uZGFyeS10ZXh0LWNvbG9yO1xuJG1haW4tbWVudS1saW5rLWJhY2tncm91bmQ6ICRzZWNvbmRhcnktYmctY29sb3I7XG4kbWFpbi1tZW51LWxpbmstaG92ZXItY29sb3I6ICRzZWNvbmRhcnktYmctY29sb3I7XG4kbWFpbi1tZW51LWxpbmstaG92ZXItYmFja2dyb3VuZDogJHNlY29uZGFyeS10ZXh0LWNvbG9yO1xuXG4kaGFtYnVyZ2VyLWNvbG9yOiAjMDAwO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE1lZ2EgTWVudSB2YXJpYWJsZXMuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbiRtZWdhLW1lbnUtdG9wLWxpbmstbW9iaWxlLWZvbnQtc2l6ZTogMTg7XG4kbWVnYS1tZW51LXRvcC1saW5rLWRlc2t0b3AtZm9udC1zaXplOiAyMjtcbiRtZWdhLW1lbnUtdG9wLWxpbmstY29sb3I6ICMwMDA7XG4kbWVnYS1tZW51LXRvcC1saW5rLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJG1lZ2EtbWVudS10b3AtbGluay1ob3Zlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1iZy1jb2xvcjtcbiRtZWdhLW1lbnUtdG9wLWxpbmstaG92ZXItY29sb3I6ICRwcmltYXJ5LXRleHQtY29sb3I7XG4kbWVnYS1tZW51LXRvcC1saW5rLWRlc2t0b3AtZm9udC13ZWlnaHQ6IDcwMDtcbiRtZWdhLW1lbnUtbW9iaWxlLWJvcmRlci1jb2xvcjogI2UxZTFlMTtcbiRtZWdhLW1lbnUtZGVza3RvcC1ib3JkZXItY29sb3I6ICRwcmltYXJ5LWJnLWNvbG9yO1xuXG4kbWVnYS1tZW51LWV4cGFuZGFibGUtYmFja2dyb3VuZDogI2ZmZjtcbiRtZWdhLW1lbnUtaW5uZXItbGluay1tb2JpbGUtZm9udC1zaXplOiAxNTtcbiRtZWdhLW1lbnUtaW5uZXItbGluay1tb2JpbGUtY29sb3I6ICRib2R5LWNvbG9yO1xuJG1lZ2EtbWVudS1pbm5lci1saW5rLWRlc2t0b3AtZm9udC1zaXplOiAxNTtcbiRtZWdhLW1lbnUtaW5uZXItbGluay1kZXNrdG9wLWZvbnQtd2VpZ2h0OiA0MDA7XG4kbWVnYS1tZW51LWlubmVyLWxpbmstZGVza3RvcC1jb2xvcjogJGJvZHktY29sb3I7XG4kbWVnYS1tZW51LWlubmVyLWxpbmstc3Ryb25nLW1vYmlsZS1mb250LXNpemU6IDE4O1xuJG1lZ2EtbWVudS1pbm5lci1saW5rLXN0cm9uZy1tb2JpbGUtZm9udC13ZWlnaHQ6IDUwMDtcbiRtZWdhLW1lbnUtaW5uZXItbGluay1zdHJvbmctbW9iaWxlLWNvbG9yOiAjMDAwO1xuJG1lZ2EtbWVudS1pbm5lci1saW5rLXN0cm9uZy1kZXNrdG9wLWZvbnQtc2l6ZTogMjA7XG4kbWVnYS1tZW51LWlubmVyLWxpbmstc3Ryb25nLWRlc2t0b3AtZm9udC13ZWlnaHQ6IDcwMDtcbiRtZWdhLW1lbnUtaW5uZXItbGluay1zdHJvbmctZGVza3RvcC1jb2xvcjogIzAwMDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBNaWNyb3NpdGUgVGl0bGUgYW5kIE1lbnUgdmFyaWFibGVzLlxuLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWljcm9zaXRlLXRpdGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWJnLWNvbG9yO1xuJG1pY3Jvc2l0ZS10aXRsZS1jb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcblxuJG1pY3Jvc2l0ZS1tZW51LXRvZ2dsZS1wb3NpdGlvbjogJ2xlZnQnOyAvLyBVc2UgJ2xlZnQnIHRvIHBsYWNlIHRvZ2dsZSBidXR0b24gb24gdGhlIGxlZnQsIGFueSBvdGhlciB2YWx1ZSBwbGFjZXMgdGhlbSBvbiB0aGUgcmlnaHRcbiRtaWNyb3NpdGUtbWVudS10b2dnbGUtY29sb3I6IGluaGVyaXQ7XG5cbiRtaWNvcnNpdGUtbWVudS1iYWNrZ3JvdW5kLWNvbG9yLS1sZXZlbC10b3A6ICRwcmltYXJ5LWJnLWNvbG9yO1xuJG1pY29yc2l0ZS1tZW51LXRleHQtY29sb3ItLWxldmVsLXRvcDogJHByaW1hcnktdGV4dC1jb2xvcjtcbiRtaWNvcnNpdGUtbWVudS1iYWNrZ3JvdW5kLWFjY2VudC1jb2xvci0tbGV2ZWwtdG9wOiAjQUNFMEY1O1xuJG1pY29yc2l0ZS1tZW51LXRleHQtYWNjZW50LWNvbG9yLS1sZXZlbC10b3A6ICMwMDA7XG4kbWljcm9zaXRlLW1lbnUtYm9yZGVyLWNvbG9yLS1sZXZlbC10b3A6IGxpZ2h0ZW4oJHByaW1hcnktYmctY29sb3IsIDIwKTtcblxuJG1pY29yc2l0ZS1tZW51LWJhY2tncm91bmQtY29sb3ItLWlubmVyLWxldmVsOiAkc2Vjb25kYXJ5LWJnLWNvbG9yO1xuJG1pY29yc2l0ZS1tZW51LXRleHQtY29sb3ItLWlubmVyLWxldmVsOiAkc2Vjb25kYXJ5LXRleHQtY29sb3I7XG4kbWljb3JzaXRlLW1lbnUtYmFja2dyb3VuZC1hY2NlbnQtY29sb3ItLWlubmVyLWxldmVsOiAjQUNFMEY1O1xuJG1pY29yc2l0ZS1tZW51LXRleHQtYWNjZW50LWNvbG9yLS1pbm5lci1sZXZlbDogIzAwMDtcbiRtaWNyb3NpdGUtbWVudS1ib3JkZXItY29sb3ItLWlubmVyLWxldmVsOiBsaWdodGVuKCRzZWNvbmRhcnktYmctY29sb3IsIDIwKTtcblxuLy8gRm9vdGVyIHBhZGRpbmcgdmFyaWFibGVzLlxuJGZvb3Rlci1wYWRkaW5nLWxlZnQ6IDk1cHg7XG4kZm9vdGVyLXBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50cy5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiRicmVha3BvaW50czogKFxuICBwaG9uZTogMzIwcHgsXG4gIHBob25lLWxhbmRzY2FwZTogNDgwcHgsXG4gIHRhYmxldDogNzY4cHgsXG4gIHRhYmxldC1sYW5kc2NhcGU6IDk5MnB4LFxuICBkZXNrdG9wOiAxMDI0cHgsXG4gIGZ1bGw6IDEyMDBweCxcbiAgZm9vdGVyLWZ1bGw6IDE1OTBweCxcbiAgaGVhZGVyLWZ1bGw6IDE0MDBweCxcbiAgc2Vjb25kLXNpZGViYXItYnJlYWtwb2ludDogMTM0MHB4XG4pO1xuJGhvbWUtdmVydGljYWw6IFwiPj1kZXNrdG9wXCIsIFwiaGVpZ2h0Pj03NjBweFwiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNwYWNlcy5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJHNwYWNpbmc6IChcbiAgczogNXB4LFxuICBtOiAxNXB4LFxuICBsOiAzMHB4LFxuICB4bDogNjBweCxcbik7XG5cbkBmdW5jdGlvbiBzcGFjaW5nKCRrZXk6IFwibVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkc3BhY2luZywgJGtleSk7XG59XG5cbi8vIENvbXBvbmVudCBTdHlsZXNcbiRhcnRpY2xlLWJveC1zaGFkb3c6IDRweCA0cHggNnB4ICMwMDAwMDA1OTtcbiRhcnRpY2xlLWJvcmRlci1jb2xvcjogIzcwNzA3MDtcbiRhcnRpY2xlLXRleHQtY29sb3I6IGJsYWNrO1xuJGFydGljbGUtdGl0bGUtd2VpZ2h0OiBib2xkO1xuJGFydGljbGUtcmVhZC1tb3JlLXdlaWdodDogYm9sZDtcbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTWljcm9zaXRlIG1vZHVsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiNtaWNyb3NpdGUtY2F0Y2hlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtaWNyb3NpdGUtdGl0bGUtYmFja2dyb3VuZDtcbn1cblxuLmJsb2NrLW1pY3Jvc2l0ZS1tZW51LXRpdGxlLWJsb2NrIC5tZW51LXRpdGxlX19saW5rIGgyIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDM4KTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICB9XG59XG5cbiNtaWNyb3NpdGUtY2F0Y2hlci5taWNyb3NpdGUtY2F0Y2hlcl9faGFzTWVudSAuYmxvY2stbWljcm9zaXRlLW1lbnUtdGl0bGUtYmxvY2sgLm1lbnUtdGl0bGVfX2xpbmsgaDIge1xuICBtYXJnaW46IDAgMCAwIDUwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgfVxufVxuIiwiLmJyYW5kaW5nX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogY2FsYygjeyRoZWFkZXItaGVpZ2h0fSAtIDRweCk7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDIwcHggMCA2NXB4O1xuICBtYXJnaW46IDA7XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhbmRzY2FwZVwiKSB7XG4gICAgcGFkZGluZzogMCA2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogY2FsYygjeyRoZWFkZXItaGVpZ2h0fSAtIDRweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiLCBcIjxoZWFkZXItZnVsbFwiKSB7XG4gICAgaGVpZ2h0OiBjYWxjKCN7JGhlYWRlci1oZWlnaHR9ICsgMTZweCk7XG4gIH1cbn1cblxuLmJyYW5kaW5nX19pbWFnZS13cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAyNzVweDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBtYXgtd2lkdGg6IDc4MnB4O1xuICAgIHdpZHRoOiAzN3Z3O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uYnJhbmRpbmdfX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5icmFuZGluZ19fdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IGF1dG87XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5icmFuZGluZ19fdGV4dC0taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmJyYW5kaW5nX190ZXh0LS1jaXR5IHtcbiAgZm9udC1mYW1pbHk6ICRicmFuZGluZy10ZXh0LWNpdHlfX2ZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoMzUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogJGJyYW5kaW5nLXRleHQtY2l0eV9fY29sb3I7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhbmRzY2FwZVwiKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDQwKTtcbiAgfVxufVxuXG4uYnJhbmRpbmdfX3RleHQtLXN0YXRlIHtcbiAgZm9udC1mYW1pbHk6ICRicmFuZGluZy10ZXh0LXN0YXRlX19mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDM1KTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiAkYnJhbmRpbmctdGV4dC1zdGF0ZV9fY29sb3I7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhbmRzY2FwZVwiKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDQwKTtcbiAgfVxufVxuIiwiI2Jsb2NrLWhvbWVwYWdlYmxvY2tzIHtcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLmhvbWUtYmxvY2sge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXG4gIC5ob21lLWJsb2NrX190aXRsZSB7XG4gICAgcGFkZGluZzogMjBweCA1NXB4IDIwcHggMjBweDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoNTApO1xuICAgIH1cbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIi1cIjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU3R5bGVzIGZvciB0aGUgTWFpbiBNZW51LlxuLy8vLy8vLy8vLy8vLy8vLy8vXG4uYmxvY2stbWVudS5tZW51LS1tYWluIHtcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU3R5bGVzIGZvciB0aGUgTWVnYSBNZW51LlxuLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5ibG9jay1tdW5pY29kZS1tZWdhLW1lbnUtYmxvY2sge1xuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49ZnVsbFwiKSB7XG4gICAgcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLm1lZ2EtbWVudV9fdGl0bGUge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWFjY2VudDtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogY2FsYygoI3skaGVhZGVyLWhlaWdodH0gLSA0cHgpIC8gMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49aGVhZGVyLWZ1bGxcIikge1xuICAgIGhlaWdodDogY2FsYygjeyRoZWFkZXItaGVpZ2h0fSAtIDRweCk7XG4gIH1cbn1cblxuLm1lZ2EtbWVudV9fZXhwYW5kYWJsZS13cmFwcGVyIHtcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgIG1pbi13aWR0aDogY2FsYyhtaW4oODZ2dywgMTEwMHB4KSk7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU3R5bGVzIGZvciB0aGUgRnJvbnQgUGFnZSBzbGlkZXNob3cuXG4vLy8vLy8vLy8vLy8vLy8vLy9cblxuLmNwLWhvbWVwYWdlX19sYXlvdXQgLmNwLWZlZC0tYmFja2dyb3VuZC1yb3RhdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTA7XG5cbiAgLy8gSGlkZSBhbGwgdGhlIHNsaWRlcyBidXQgb25lIHVudGlsIHNsaWNrIGlzIGxvYWRlZFxuICAuY3AtYXJ0aWNsZV9fd3JhcHBlcjpub3QoLnNsaWNrLWluaXRpYWxpemVkKSBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jcC1jYXJkX19saW5rLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IC8vIE92ZXJ3cml0ZSBiYXNlIHRoZW1lXG4gIH1cblxuICAuY3AtY2FyZF9fdGV4dC0td3JhcHBlciB7XG4gICAgQGV4dGVuZCAlaGlkZGVuO1xuICB9XG5cbiAgLmNwLWFydGljbGVfX2NvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDd2dztcbiAgICAgIGJvdHRvbTogMjAwcHg7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU3R5bGVzIGZvciB0aGUgS2V5IExpbmtzIGNvbnRhaW5lclxuLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5mcm9udCBtYWluLnBhZ2UtbWFpbiAubGF5b3V0LmNwLWZlZC0tZnJvbnRwYWdlLWtleWxpbmtzIHtcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgIG1hcmdpbi10b3A6IC0xODNweDtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFN0eWxlcyBmb3IgdGhlIExhdGVzdCBOZXdzXG4vLy8vLy8vLy8vLy8vLy8vLy9cblxuLmNwLWZlZC0taG9tZS1uZXdzLXJlZ2lvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDMEJDQkI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYWRkaXRpb25hbC1pbWFnZXMvbmV3cy1iYWNrZ3JvdW5kLmpwZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTkyMHB4IGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMjBweCA5MHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAubGF5b3V0X19yZWdpb24tLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCBjYWxjKG1heCg4MHB4LCA2Ljc3dncpKSAyNXB4O1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKG1heChjYWxjKDgwcHggKyAxNTYwcHgpLCBjYWxjKDE1NjBweCArIDYuNzd2dykpKTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj0xOTIwcHhcIikge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICB9XG5cbiAgLmNwLWFydGljbGVfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDM3cHggMDtcblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoNDgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogJHByaW1hcnktYmctY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuY3AtY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDE1MG1zIGxpbmVhcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNFNDdBM0I7XG5cbiAgICAmLmNwLWNhcmQubm9kZS0tdmlldy1tb2RlLWxhcmdlLWNhcmQgLmNwLWNhcmRfX3RleHQtLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY3AtY2FyZF9fbGluay13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMjVweCA0MHB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PTExNzVweFwiLCBcIjwxNDAwcHhcIikge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDEycHggNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3AtY2FyZF9fdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW46IDE1cHggMCAyMHB4O1xuICAgIH1cblxuICAgIC5jcC1jYXJkX19ib2R5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICB9XG5cbiAgICAuY3AtY2FyZF9fcmVhZC1tb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWFyZ2luOiAgYXV0byAwIDA7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjRTQ3QTNCO1xuICAgICAgYm94LXNoYWRvdzogMnB4IDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcblxuICAgICAgLmNwLWNhcmRfX3JlYWQtbW9yZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3AtYXJ0aWNsZV9fY29udHJvbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgICAuY3AtYXJ0aWNsZV9fY29udHJvbCB7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgIzMzNEU0NDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICMzMzRFNDQ7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMzUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjMzM0RTQ0O1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNDgpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktYmctY29sb3I7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jcC1hcnRpY2xlX19jb250cm9scy0tcHJldiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMDUzJztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICBsZWZ0OiBjYWxjKG1heCg0MHB4LCAzLjM4NXZ3KSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3AtYXJ0aWNsZV9fY29udHJvbHMtLW5leHQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjA1NCc7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgcmlnaHQ6IGNhbGMobWF4KDQwcHgsIDMuMzg1dncpKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNwLWFydGljbGVfX2Zvb3RlciB7XG4gICAgLmZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uKCRiZy1jb2xvcjogJHByaW1hcnktYmctY29sb3IsICR0ZXh0LWNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yLCAkYm9yZGVyLXdpZHRoOiAwLCAkZm9udC1zaXplOiAxOCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG1pbi13aWR0aDogMTg3cHg7XG4gICAgICBwYWRkaW5nOiAxOHB4IDE1cHg7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGU3OTY5O1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS10ZXh0LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFN0eWxlcyBmb3IgdGhlIExhdGVzdCBOZXdzXG4vLy8vLy8vLy8vLy8vLy8vLy9cblxuLmZyb250IG1haW4ucGFnZS1tYWluIC5sYXlvdXQuY3AtZmVkLS1ob21lLXRhYnMtcmVnaW9uIHtcbiAgbWFyZ2luLXRvcDogLTc3cHg7XG5cbiAgLmNwLWFyY3RpY2xlIHtcbiAgICAuY3AtYXJ0aWNsZV9fdGFibGlzdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBtYXgtd2lkdGg6IDE0MzVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC5jcC1hcnRpY2xlX190YWIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogNzdweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAwIDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1iZy1jb2xvcjtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1hY2NlbnQ7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjYpO1xuICAgICAgZm9udC1zaXplOiA4LjEyNXZ3O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB3aWR0aDogNDklO1xuICAgICAgZmxleDogNDklIDAgMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgbGluZWFyLCBjb2xvciAxNTBtcyBsaW5lYXI7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGU3OTY5O1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS10ZXh0LWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49NDQ0cHhcIikge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzYpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFuZHNjYXBlXCIpIHtcbiAgICAgICAgd2lkdGg6IDQ5LjglO1xuICAgICAgICBmbGV4OiA0OS44JSAwIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNwLWFydGljbGVfX3dyYXBwZXIge1xuICAgIG1heC13aWR0aDogMTUyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA0MHB4IDEwcHggMDtcbiAgfVxuXG4gIC5jcC1hcnRpY2xlX19jb250ZW50IHtcbiAgICAuY3AtYXJ0aWNsZV9fbm8tcmVzdWx0IHtcbiAgICAgIHBhZGRpbmc6IDMwcHggNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgLmNwLWNhcmQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIC5jcC1jYXJkX190ZXh0LS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cblxuICAgICAgLmNwLWNhcmRfX2NvbnRlbnQtdHlwZS0td3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuXG4gICAgICAuY3AtY2FyZF9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgLmNwLWNhcmRfX3JlYWQtbW9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zbGljay1kb3RzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY3AtYXJ0aWNsZV9fY29udHJvbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgICAuY3AtYXJ0aWNsZV9fY29udHJvbCB7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgJHByaW1hcnktYmctY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1iZy1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktYmctY29sb3I7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jcC1hcnRpY2xlX19mb290ZXIge1xuICAgIC5maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbigkYmctY29sb3I6ICRwcmltYXJ5LWJnLWNvbG9yLCAkdGV4dC1jb2xvcjogJHByaW1hcnktdGV4dC1jb2xvciwgJGJvcmRlci13aWR0aDogMCwgJGZvbnQtc2l6ZTogMTgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBtaW4td2lkdGg6IDE4N3B4O1xuICAgICAgcGFkZGluZzogMThweCAxNXB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRlNzk2OTtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
