.article-section {
  position: relative; }
  .article-section .section {
    --section-gap: 5.625rem;
    overflow: visible; }
    @media screen and (min-width: 2561px) {
      .article-section .section {
        --section-gap: 3.51562vw; } }
    @media screen and (max-width: 2200px) {
      .article-section .section {
        --section-gap: 5rem; } }
    @media screen and (max-width: 1850px) {
      .article-section .section {
        --section-gap: 4.375rem; } }
    @media screen and (max-width: 1340px) {
      .article-section .section {
        --section-gap: 2.5rem; } }
    @media screen and (max-width: 630px) {
      .article-section .section {
        --section-gap: 1.25rem; } }
    .article-section .section .section__name {
      display: none; }
    .article-section .section .section__title {
      font: var(--font-h4); }
  .article-section > [class*=container] > .section__content {
    width: 100%;
    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-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 9.375rem; }
    @media screen and (min-width: 2561px) {
      .article-section > [class*=container] > .section__content {
        gap: 5.85938vw; } }
    @media screen and (max-width: 2200px) {
      .article-section > [class*=container] > .section__content {
        gap: 6.875rem; } }
    @media screen and (max-width: 1850px) {
      .article-section > [class*=container] > .section__content {
        gap: 5.625rem; } }
    @media screen and (max-width: 1340px) {
      .article-section > [class*=container] > .section__content {
        gap: 4.375rem; } }
    @media screen and (max-width: 630px) {
      .article-section > [class*=container] > .section__content {
        gap: 3.125rem; } }
  .article-section .projects-swiper__swiper::before {
    content: unset; }
  .article-section .projects-swiper .swiper-slide:nth-child(1n) {
    padding-top: 0; }
    .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card {
      gap: 2.5rem; }
      @media screen and (min-width: 2561px) {
        .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card {
          gap: 1.5625vw; } }
      @media screen and (max-width: 1850px) {
        .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card {
          gap: 1.875rem; } }
      @media screen and (max-width: 1340px) {
        .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card {
          gap: 1.5625rem; } }
      @media screen and (max-width: 630px) {
        .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card {
          gap: 0.9375rem; } }
      .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__head, .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__image {
        aspect-ratio: 621/455; }
        @media screen and (max-width: 2200px) {
          .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__head, .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__image {
            aspect-ratio: 477/350; }
            @supports not (aspect-ratio: 1/1) {
              .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__head, .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__image {
                height: 21.875rem; } } }
        @media screen and (max-width: 1850px) {
          .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__head, .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__image {
            aspect-ratio: 350/257; }
            @supports not (aspect-ratio: 1/1) {
              .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__head, .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__image {
                height: 16.0625rem; } } }
        @media screen and (max-width: 1340px) {
          .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__head, .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__image {
            height: 16.0625rem; } }
        @media screen and (max-width: 630px) {
          .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__head, .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__image {
            height: 13.5625rem; } }
        @supports not (aspect-ratio: 1/1) {
          .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__head, .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__image {
            height: 28.4375rem; }
            @media screen and (min-width: 2561px) {
              .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__head, .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__image {
                height: 17.77344vw; } } }
      .article-section .projects-swiper .swiper-slide:nth-child(1n) .project-card__city {
        display: none; }
  .article-section .projects-swiper .swiper__pagination {
    display: none; }
  .article-section .projects-swiper__year {
    display: none; }
  .article-section .article {
    /* blockquote:not([class]),
    ul:not([class]),
    ol:not([class]),
    figure:not([class]),
    img:not([class]),
    table:not([class]),
    .scroll-table {
      margin-top: rem(150);

      @include mediaBigDesktop {
        margin-top: big(150);
      }

      @include mediaDesktop {
        margin-top: rem(110);
      }

      @include mediaLaptop {
        margin-top: rem(90);
      }

      @include mediaTablet {
        margin-top: rem(70);
      }

      @include mediaMobile {
        margin-top: rem(50);
      }
    }*/ }
    .article-section .article p:not(.text) + blockquote:not([class]) {
      margin-top: 4.375rem; }
      @media screen and (min-width: 2561px) {
        .article-section .article p:not(.text) + blockquote:not([class]) {
          margin-top: 2.73438vw; } }
      @media screen and (max-width: 1850px) {
        .article-section .article p:not(.text) + blockquote:not([class]) {
          margin-top: 3.75rem; } }
      @media screen and (max-width: 1340px) {
        .article-section .article p:not(.text) + blockquote:not([class]) {
          margin-top: 2.5rem; } }
      @media screen and (max-width: 630px) {
        .article-section .article p:not(.text) + blockquote:not([class]) {
          margin-top: 1.875rem; } }
    .article-section .article figure:not([class]) + p:not(.text),
    .article-section .article figure:not([class]) + blockquote:not([class]),
    .article-section .article img:not([class]) + p:not(.text),
    .article-section .article img:not([class]) + blockquote:not([class]) {
      margin-top: 5.625rem; }
      @media screen and (min-width: 2561px) {
        .article-section .article figure:not([class]) + p:not(.text),
        .article-section .article figure:not([class]) + blockquote:not([class]),
        .article-section .article img:not([class]) + p:not(.text),
        .article-section .article img:not([class]) + blockquote:not([class]) {
          margin-top: 3.51562vw; } }
      @media screen and (max-width: 2200px) {
        .article-section .article figure:not([class]) + p:not(.text),
        .article-section .article figure:not([class]) + blockquote:not([class]),
        .article-section .article img:not([class]) + p:not(.text),
        .article-section .article img:not([class]) + blockquote:not([class]) {
          margin-top: 4.375rem; } }
      @media screen and (max-width: 1850px) {
        .article-section .article figure:not([class]) + p:not(.text),
        .article-section .article figure:not([class]) + blockquote:not([class]),
        .article-section .article img:not([class]) + p:not(.text),
        .article-section .article img:not([class]) + blockquote:not([class]) {
          margin-top: 3.75rem; } }
      @media screen and (max-width: 1340px) {
        .article-section .article figure:not([class]) + p:not(.text),
        .article-section .article figure:not([class]) + blockquote:not([class]),
        .article-section .article img:not([class]) + p:not(.text),
        .article-section .article img:not([class]) + blockquote:not([class]) {
          margin-top: 3.125rem; } }
      @media screen and (max-width: 630px) {
        .article-section .article figure:not([class]) + p:not(.text),
        .article-section .article figure:not([class]) + blockquote:not([class]),
        .article-section .article img:not([class]) + p:not(.text),
        .article-section .article img:not([class]) + blockquote:not([class]) {
          margin-top: 1.25rem; } }
    .article-section .article figure:not([class]) img {
      margin: 0 !important; }

.article-image {
  position: absolute;
  top: 0;
  right: calc(0px - ((100% + var(--grid-column-gap)) / 2));
  margin: 0;
  padding: 0;
  width: calc((100% - var(--grid-column-gap) * 1) / 2);
  height: auto;
  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-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.875rem;
  pointer-events: all; }
  @media screen and (min-width: 2561px) {
    .article-image {
      gap: 1.17188vw; } }
  @media screen and (max-width: 1340px) {
    .article-image {
      position: static;
      width: 100%;
      gap: 1.25rem; } }
  @media screen and (max-width: 630px) {
    .article-image {
      gap: 0.625rem; } }
  .article-image__link {
    padding: 2.5rem;
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: 1px solid var(--stroke-dark-15);
    border-radius: var(--radius-forty);
    cursor: pointer;
    pointer-events: all;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    @media screen and (min-width: 2561px) {
      .article-image__link {
        padding: 1.5625vw; } }
    @media screen and (max-width: 1340px) {
      .article-image__link {
        padding: 1.25rem; } }
    .article-image__link img,
    .article-image__link picture {
      margin: 0 !important;
      padding: 0;
      width: 100%;
      height: auto;
      max-height: 17.8125rem;
      -o-object-fit: contain;
         object-fit: contain;
      -o-object-position: center;
         object-position: center;
      pointer-events: none; }
      @media screen and (min-width: 2561px) {
        .article-image__link img,
        .article-image__link picture {
          max-height: 11.13281vw; } }
  .article-image__text {
    width: 100%;
    display: block;
    color: var(--text-dark-primary);
    font: var(--font-body-M-r); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2VjdGlvbnMvYXJ0aWNsZS1zZWN0aW9uL2FydGljbGUtc2VjdGlvbi5zY3NzIiwibWl4aW5zL19tZWRpYS5zY3NzIiwibWl4aW5zL19taW5pLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FydGljbGUtc2VjdGlvbi9hcnRpY2xlLXNlY3Rpb24uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0Usa0JBQWtCLEVBQUE7RUFEcEI7SUFJSSx1QkFBYztJQUVkLGlCQUFpQixFQUFBO0lDUG5CO01EQ0Y7UUFTTSx3QkFBYyxFQUFBLEVBNEJqQjtJQ2hDRDtNRExGO1FBYU0sbUJBQWMsRUFBQSxFQXdCakI7SUMxQkQ7TURYRjtRQWlCTSx1QkFBYyxFQUFBLEVBb0JqQjtJQ3BCRDtNRGpCRjtRQXFCTSxxQkFBYyxFQUFBLEVBZ0JqQjtJQ2REO01EdkJGO1FBeUJNLHNCQUFjLEVBQUEsRUFZakI7SUFyQ0g7TUE4QlEsYUFBYSxFQUFBO0lBOUJyQjtNQWtDUSxvQkFBb0IsRUFBQTtFQWxDNUI7SUF5Q00sV0FBVztJQUNYLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHVCQUEyQjtRQUEzQixvQkFBMkI7WUFBM0IsMkJBQTJCO0lBQzNCLGFFL0N5QixFQUFBO0lEQTdCO01EQ0Y7UUFpRFEsY0U5QzZCLEVBQUEsRUZnRWhDO0lDOURIO01ETEY7UUFxRFEsYUV0RHVCLEVBQUEsRUZvRTFCO0lDeERIO01EWEY7UUF5RFEsYUUxRHVCLEVBQUEsRUZvRTFCO0lDbERIO01EakJGO1FBNkRRLGFFOUR1QixFQUFBLEVGb0UxQjtJQzVDSDtNRHZCRjtRQWlFUSxhRWxFdUIsRUFBQSxFRm9FMUI7RUFuRUw7SUF5RVEsY0FBYyxFQUFBO0VBekV0QjtJQStFUSxjQUFj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bUJBQW1CO01BQ25CLDBCQUF1QjtTQUF2Qix1QkFBdUI7TUFFdkIsb0JBQW9CLEVBQUE7TUNqVHhCO1FEaVJDOztVQW1DSyxzQkVoVDZCLEVBQUEsRUZrVGhDO0VBR0g7SUFDRSxXQUFXO0lBQ1gsY0FBYztJQUVkLCtCQUErQjtJQUMvQiwwQkFBMEIsRUFBQSIsImZpbGUiOiJjb21wb25lbnRzL3NlY3Rpb25zL2FydGljbGUtc2VjdGlvbi9hcnRpY2xlLXNlY3Rpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIi4uLy4uLy4uL21peGluc1wiO1xuXG4uYXJ0aWNsZS1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYgLnNlY3Rpb24ge1xuICAgIC0tc2VjdGlvbi1nYXA6ICN7cmVtKDkwKX07XG5cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhQmlnRGVza3RvcCB7XG4gICAgICAtLXNlY3Rpb24tZ2FwOiAje2JpZyg5MCl9O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhRGVza3RvcCB7XG4gICAgICAtLXNlY3Rpb24tZ2FwOiAje3JlbSg4MCl9O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhTGFwdG9wIHtcbiAgICAgIC0tc2VjdGlvbi1nYXA6ICN7cmVtKDcwKX07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFUYWJsZXQge1xuICAgICAgLS1zZWN0aW9uLWdhcDogI3tyZW0oNDApfTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYU1vYmlsZSB7XG4gICAgICAtLXNlY3Rpb24tZ2FwOiAje3JlbSgyMCl9O1xuICAgIH1cblxuICAgICYgLnNlY3Rpb24ge1xuICAgICAgJl9fbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udDogdmFyKC0tZm9udC1oNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiA+IFtjbGFzcyo9Y29udGFpbmVyXSB7XG4gICAgJiA+IC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGdhcDogcmVtKDE1MCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhQmlnRGVza3RvcCB7XG4gICAgICAgIGdhcDogYmlnKDE1MCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhRGVza3RvcCB7XG4gICAgICAgIGdhcDogcmVtKDExMCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhTGFwdG9wIHtcbiAgICAgICAgZ2FwOiByZW0oOTApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYVRhYmxldCB7XG4gICAgICAgIGdhcDogcmVtKDcwKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWFNb2JpbGUge1xuICAgICAgICBnYXA6IHJlbSg1MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiAucHJvamVjdHMtc3dpcGVyIHtcbiAgICAmX19zd2lwZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICY6bnRoLWNoaWxkKDFuKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICYgLnByb2plY3QtY2FyZCB7XG4gICAgICAgICAgZ2FwOiByZW0oNDApO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgICAgIGdhcDogYmlnKDQwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYUxhcHRvcCB7XG4gICAgICAgICAgICBnYXA6IHJlbSgzMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWFUYWJsZXQge1xuICAgICAgICAgICAgZ2FwOiByZW0oMjUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhTW9iaWxlIHtcbiAgICAgICAgICAgIGdhcDogcmVtKDE1KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmX19oZWFkLFxuICAgICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogNjIxLzQ1NTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFEZXNrdG9wIHtcbiAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiA0NzcvMzUwO1xuXG4gICAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMS8xKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzUwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYUxhcHRvcCB7XG4gICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMzUwLzI1NztcblxuICAgICAgICAgICAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEvMSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDI1Nyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFUYWJsZXQge1xuICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSgyNTcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYU1vYmlsZSB7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtKDIxNyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMS8xKSB7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtKDQ1NSk7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGJpZyg0NTUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9fY2l0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgLnN3aXBlcl9fcGFnaW5hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX3llYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmIC5hcnRpY2xlIHtcbiAgICAvKiBibG9ja3F1b3RlOm5vdChbY2xhc3NdKSxcbiAgICB1bDpub3QoW2NsYXNzXSksXG4gICAgb2w6bm90KFtjbGFzc10pLFxuICAgIGZpZ3VyZTpub3QoW2NsYXNzXSksXG4gICAgaW1nOm5vdChbY2xhc3NdKSxcbiAgICB0YWJsZTpub3QoW2NsYXNzXSksXG4gICAgLnNjcm9sbC10YWJsZSB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0oMTUwKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYmlnKDE1MCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhRGVza3RvcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMTApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYUxhcHRvcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg5MCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhVGFibGV0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDcwKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWFNb2JpbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNTApO1xuICAgICAgfVxuICAgIH0qL1xuXG4gICAgcDpub3QoLnRleHQpICsgYmxvY2txdW90ZTpub3QoW2NsYXNzXSkge1xuICAgICAgbWFyZ2luLXRvcDogcmVtKDcwKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYmlnKDcwKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWFMYXB0b3Age1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNjApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYVRhYmxldCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg0MCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhTW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDMwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWd1cmU6bm90KFtjbGFzc10pLFxuICAgIGltZzpub3QoW2NsYXNzXSkge1xuICAgICAgJiArIHA6bm90KC50ZXh0KSxcbiAgICAgICYgKyBibG9ja3F1b3RlOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg5MCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFCaWdEZXNrdG9wIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBiaWcoOTApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFEZXNrdG9wIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oNzApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFMYXB0b3Age1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg2MCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYVRhYmxldCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDUwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhTW9iaWxlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMjApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlOm5vdChbY2xhc3NdKSB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFydGljbGUtaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IGNhbGMoMHB4IC0gKCgxMDAlICsgdmFyKC0tZ3JpZC1jb2x1bW4tZ2FwKSkgLyAyKSk7XG4gIG1hcmdpbjogMDtcblxuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogY2FsYygoMTAwJSAtIHZhcigtLWdyaWQtY29sdW1uLWdhcCkgKiAxKSAvIDIpO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGdhcDogcmVtKDMwKTtcblxuICBwb2ludGVyLWV2ZW50czogYWxsO1xuXG4gIEBpbmNsdWRlIG1lZGlhQmlnRGVza3RvcCB7XG4gICAgZ2FwOiBiaWcoMzApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWFUYWJsZXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBnYXA6IHJlbSgyMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYU1vYmlsZSB7XG4gICAgZ2FwOiByZW0oMTApO1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgcGFkZGluZzogcmVtKDQwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zdHJva2UtZGFyay0xNSk7XG4gICAgLy9ib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW5maW5pdHkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mb3J0eSk7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhQmlnRGVza3RvcCB7XG4gICAgICBwYWRkaW5nOiBiaWcoNDApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhVGFibGV0IHtcbiAgICAgIHBhZGRpbmc6IHJlbSgyMCk7XG4gICAgfVxuXG4gICAgJiBpbWcsXG4gICAgJiBwaWN0dXJlIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiByZW0oMjg1KTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhQmlnRGVza3RvcCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGJpZygyODUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgY29sb3I6IHZhcigtLXRleHQtZGFyay1wcmltYXJ5KTtcbiAgICBmb250OiB2YXIoLS1mb250LWJvZHktTS1yKTtcbiAgfVxufVxuIiwiQG1peGluIG1lZGlhQmlnRGVza3RvcCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1NjFweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZWRpYURlc2t0b3Age1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMjAwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaWFMYXB0b3Age1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxODUwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaWFUYWJsZXQge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzQwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaWFNb2JpbGUge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZWRpYSgkd2lkdGgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiByZW0oJHBpeGVscykge1xuICBAcmV0dXJuICN7JHBpeGVscyAvIDE2fXJlbTtcbn1cblxuQGZ1bmN0aW9uIGJpZygkcGl4ZWxzKSB7XG4gIEByZXR1cm4gI3skcGl4ZWxzIC8gMjU2MCAqIDEwMH12dztcbn1cbiIsIi5hcnRpY2xlLXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFydGljbGUtc2VjdGlvbiAuc2VjdGlvbiB7XG4gICAgLS1zZWN0aW9uLWdhcDogNS42MjVyZW07XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYxcHgpIHtcbiAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLnNlY3Rpb24ge1xuICAgICAgICAtLXNlY3Rpb24tZ2FwOiAzLjUxNTYydnc7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIyMDBweCkge1xuICAgICAgLmFydGljbGUtc2VjdGlvbiAuc2VjdGlvbiB7XG4gICAgICAgIC0tc2VjdGlvbi1nYXA6IDVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE4NTBweCkge1xuICAgICAgLmFydGljbGUtc2VjdGlvbiAuc2VjdGlvbiB7XG4gICAgICAgIC0tc2VjdGlvbi1nYXA6IDQuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzQwcHgpIHtcbiAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLnNlY3Rpb24ge1xuICAgICAgICAtLXNlY3Rpb24tZ2FwOiAyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5zZWN0aW9uIHtcbiAgICAgICAgLS1zZWN0aW9uLWdhcDogMS4yNXJlbTsgfSB9XG4gICAgLmFydGljbGUtc2VjdGlvbiAuc2VjdGlvbiAuc2VjdGlvbl9fbmFtZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmFydGljbGUtc2VjdGlvbiAuc2VjdGlvbiAuc2VjdGlvbl9fdGl0bGUge1xuICAgICAgZm9udDogdmFyKC0tZm9udC1oNCk7IH1cbiAgLmFydGljbGUtc2VjdGlvbiA+IFtjbGFzcyo9Y29udGFpbmVyXSA+IC5zZWN0aW9uX19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogOS4zNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYxcHgpIHtcbiAgICAgIC5hcnRpY2xlLXNlY3Rpb24gPiBbY2xhc3MqPWNvbnRhaW5lcl0gPiAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgIGdhcDogNS44NTkzOHZ3OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMjAwcHgpIHtcbiAgICAgIC5hcnRpY2xlLXNlY3Rpb24gPiBbY2xhc3MqPWNvbnRhaW5lcl0gPiAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgIGdhcDogNi44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE4NTBweCkge1xuICAgICAgLmFydGljbGUtc2VjdGlvbiA+IFtjbGFzcyo9Y29udGFpbmVyXSA+IC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgZ2FwOiA1LjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM0MHB4KSB7XG4gICAgICAuYXJ0aWNsZS1zZWN0aW9uID4gW2NsYXNzKj1jb250YWluZXJdID4gLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICBnYXA6IDQuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgICAgLmFydGljbGUtc2VjdGlvbiA+IFtjbGFzcyo9Y29udGFpbmVyXSA+IC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgZ2FwOiAzLjEyNXJlbTsgfSB9XG4gIC5hcnRpY2xlLXNlY3Rpb24gLnByb2plY3RzLXN3aXBlcl9fc3dpcGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IHVuc2V0OyB9XG4gIC5hcnRpY2xlLXNlY3Rpb24gLnByb2plY3RzLXN3aXBlciAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxbikge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDFuKSAucHJvamVjdC1jYXJkIHtcbiAgICAgIGdhcDogMi41cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYxcHgpIHtcbiAgICAgICAgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDFuKSAucHJvamVjdC1jYXJkIHtcbiAgICAgICAgICBnYXA6IDEuNTYyNXZ3OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE4NTBweCkge1xuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5wcm9qZWN0cy1zd2lwZXIgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMW4pIC5wcm9qZWN0LWNhcmQge1xuICAgICAgICAgIGdhcDogMS44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM0MHB4KSB7XG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLnByb2plY3RzLXN3aXBlciAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxbikgLnByb2plY3QtY2FyZCB7XG4gICAgICAgICAgZ2FwOiAxLjU2MjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICAgICAgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDFuKSAucHJvamVjdC1jYXJkIHtcbiAgICAgICAgICBnYXA6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5wcm9qZWN0cy1zd2lwZXIgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMW4pIC5wcm9qZWN0LWNhcmRfX2hlYWQsIC5hcnRpY2xlLXNlY3Rpb24gLnByb2plY3RzLXN3aXBlciAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxbikgLnByb2plY3QtY2FyZF9faW1hZ2Uge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDYyMS80NTU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjIwMHB4KSB7XG4gICAgICAgICAgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDFuKSAucHJvamVjdC1jYXJkX19oZWFkLCAuYXJ0aWNsZS1zZWN0aW9uIC5wcm9qZWN0cy1zd2lwZXIgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMW4pIC5wcm9qZWN0LWNhcmRfX2ltYWdlIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogNDc3LzM1MDsgfVxuICAgICAgICAgICAgQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxLzEpIHtcbiAgICAgICAgICAgICAgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDFuKSAucHJvamVjdC1jYXJkX19oZWFkLCAuYXJ0aWNsZS1zZWN0aW9uIC5wcm9qZWN0cy1zd2lwZXIgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMW4pIC5wcm9qZWN0LWNhcmRfX2ltYWdlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIxLjg3NXJlbTsgfSB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTg1MHB4KSB7XG4gICAgICAgICAgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDFuKSAucHJvamVjdC1jYXJkX19oZWFkLCAuYXJ0aWNsZS1zZWN0aW9uIC5wcm9qZWN0cy1zd2lwZXIgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMW4pIC5wcm9qZWN0LWNhcmRfX2ltYWdlIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMzUwLzI1NzsgfVxuICAgICAgICAgICAgQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxLzEpIHtcbiAgICAgICAgICAgICAgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDFuKSAucHJvamVjdC1jYXJkX19oZWFkLCAuYXJ0aWNsZS1zZWN0aW9uIC5wcm9qZWN0cy1zd2lwZXIgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMW4pIC5wcm9qZWN0LWNhcmRfX2ltYWdlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2LjA2MjVyZW07IH0gfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNDBweCkge1xuICAgICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLnByb2plY3RzLXN3aXBlciAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxbikgLnByb2plY3QtY2FyZF9faGVhZCwgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDFuKSAucHJvamVjdC1jYXJkX19pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2LjA2MjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLnByb2plY3RzLXN3aXBlciAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxbikgLnByb2plY3QtY2FyZF9faGVhZCwgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDFuKSAucHJvamVjdC1jYXJkX19pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzLjU2MjVyZW07IH0gfVxuICAgICAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEvMSkge1xuICAgICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLnByb2plY3RzLXN3aXBlciAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxbikgLnByb2plY3QtY2FyZF9faGVhZCwgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDFuKSAucHJvamVjdC1jYXJkX19pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4LjQzNzVyZW07IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1NjFweCkge1xuICAgICAgICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5wcm9qZWN0cy1zd2lwZXIgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMW4pIC5wcm9qZWN0LWNhcmRfX2hlYWQsIC5hcnRpY2xlLXNlY3Rpb24gLnByb2plY3RzLXN3aXBlciAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxbikgLnByb2plY3QtY2FyZF9faW1hZ2Uge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTcuNzczNDR2dzsgfSB9IH1cbiAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLnByb2plY3RzLXN3aXBlciAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxbikgLnByb2plY3QtY2FyZF9fY2l0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyIC5zd2lwZXJfX3BhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFydGljbGUtc2VjdGlvbiAucHJvamVjdHMtc3dpcGVyX195ZWFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUge1xuICAgIC8qIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pLFxuICAgIHVsOm5vdChbY2xhc3NdKSxcbiAgICBvbDpub3QoW2NsYXNzXSksXG4gICAgZmlndXJlOm5vdChbY2xhc3NdKSxcbiAgICBpbWc6bm90KFtjbGFzc10pLFxuICAgIHRhYmxlOm5vdChbY2xhc3NdKSxcbiAgICAuc2Nyb2xsLXRhYmxlIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbSgxNTApO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYUJpZ0Rlc2t0b3Age1xuICAgICAgICBtYXJnaW4tdG9wOiBiaWcoMTUwKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWFEZXNrdG9wIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDExMCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhTGFwdG9wIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDkwKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWFUYWJsZXQge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNzApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYU1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg1MCk7XG4gICAgICB9XG4gICAgfSovIH1cbiAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIHA6bm90KC50ZXh0KSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pIHtcbiAgICAgIG1hcmdpbi10b3A6IDQuMzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYxcHgpIHtcbiAgICAgICAgLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZSBwOm5vdCgudGV4dCkgKyBibG9ja3F1b3RlOm5vdChbY2xhc3NdKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMi43MzQzOHZ3OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE4NTBweCkge1xuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIHA6bm90KC50ZXh0KSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzLjc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNDBweCkge1xuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIHA6bm90KC50ZXh0KSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICAgICAgLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZSBwOm5vdCgudGV4dCkgKyBibG9ja3F1b3RlOm5vdChbY2xhc3NdKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgZmlndXJlOm5vdChbY2xhc3NdKSArIHA6bm90KC50ZXh0KSxcbiAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGZpZ3VyZTpub3QoW2NsYXNzXSkgKyBibG9ja3F1b3RlOm5vdChbY2xhc3NdKSxcbiAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGltZzpub3QoW2NsYXNzXSkgKyBwOm5vdCgudGV4dCksXG4gICAgLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZSBpbWc6bm90KFtjbGFzc10pICsgYmxvY2txdW90ZTpub3QoW2NsYXNzXSkge1xuICAgICAgbWFyZ2luLXRvcDogNS42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1NjFweCkge1xuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGZpZ3VyZTpub3QoW2NsYXNzXSkgKyBwOm5vdCgudGV4dCksXG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgZmlndXJlOm5vdChbY2xhc3NdKSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pLFxuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGltZzpub3QoW2NsYXNzXSkgKyBwOm5vdCgudGV4dCksXG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgaW1nOm5vdChbY2xhc3NdKSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzLjUxNTYydnc7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjIwMHB4KSB7XG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgZmlndXJlOm5vdChbY2xhc3NdKSArIHA6bm90KC50ZXh0KSxcbiAgICAgICAgLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZSBmaWd1cmU6bm90KFtjbGFzc10pICsgYmxvY2txdW90ZTpub3QoW2NsYXNzXSksXG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgaW1nOm5vdChbY2xhc3NdKSArIHA6bm90KC50ZXh0KSxcbiAgICAgICAgLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZSBpbWc6bm90KFtjbGFzc10pICsgYmxvY2txdW90ZTpub3QoW2NsYXNzXSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDQuMzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE4NTBweCkge1xuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGZpZ3VyZTpub3QoW2NsYXNzXSkgKyBwOm5vdCgudGV4dCksXG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgZmlndXJlOm5vdChbY2xhc3NdKSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pLFxuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGltZzpub3QoW2NsYXNzXSkgKyBwOm5vdCgudGV4dCksXG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgaW1nOm5vdChbY2xhc3NdKSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzLjc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNDBweCkge1xuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGZpZ3VyZTpub3QoW2NsYXNzXSkgKyBwOm5vdCgudGV4dCksXG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgZmlndXJlOm5vdChbY2xhc3NdKSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pLFxuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGltZzpub3QoW2NsYXNzXSkgKyBwOm5vdCgudGV4dCksXG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgaW1nOm5vdChbY2xhc3NdKSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGZpZ3VyZTpub3QoW2NsYXNzXSkgKyBwOm5vdCgudGV4dCksXG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgZmlndXJlOm5vdChbY2xhc3NdKSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pLFxuICAgICAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGltZzpub3QoW2NsYXNzXSkgKyBwOm5vdCgudGV4dCksXG4gICAgICAgIC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUgaW1nOm5vdChbY2xhc3NdKSArIGJsb2NrcXVvdGU6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9IH1cbiAgICAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlIGZpZ3VyZTpub3QoW2NsYXNzXSkgaW1nIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi5hcnRpY2xlLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBjYWxjKDBweCAtICgoMTAwJSArIHZhcigtLWdyaWQtY29sdW1uLWdhcCkpIC8gMikpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC0gdmFyKC0tZ3JpZC1jb2x1bW4tZ2FwKSAqIDEpIC8gMik7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiAxLjg3NXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYxcHgpIHtcbiAgICAuYXJ0aWNsZS1pbWFnZSB7XG4gICAgICBnYXA6IDEuMTcxODh2dzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNDBweCkge1xuICAgIC5hcnRpY2xlLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGdhcDogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgLmFydGljbGUtaW1hZ2Uge1xuICAgICAgZ2FwOiAwLjYyNXJlbTsgfSB9XG4gIC5hcnRpY2xlLWltYWdlX19saW5rIHtcbiAgICBwYWRkaW5nOiAyLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3Ryb2tlLWRhcmstMTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mb3J0eSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNTYxcHgpIHtcbiAgICAgIC5hcnRpY2xlLWltYWdlX19saW5rIHtcbiAgICAgICAgcGFkZGluZzogMS41NjI1dnc7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNDBweCkge1xuICAgICAgLmFydGljbGUtaW1hZ2VfX2xpbmsge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtOyB9IH1cbiAgICAuYXJ0aWNsZS1pbWFnZV9fbGluayBpbWcsXG4gICAgLmFydGljbGUtaW1hZ2VfX2xpbmsgcGljdHVyZSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDE3LjgxMjVyZW07XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjU2MXB4KSB7XG4gICAgICAgIC5hcnRpY2xlLWltYWdlX19saW5rIGltZyxcbiAgICAgICAgLmFydGljbGUtaW1hZ2VfX2xpbmsgcGljdHVyZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTEuMTMyODF2dzsgfSB9XG4gIC5hcnRpY2xlLWltYWdlX190ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1kYXJrLXByaW1hcnkpO1xuICAgIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1NLXIpOyB9XG4iXX0= */
