/**
 * Strips the unit from a given number-unit-combination and returns the number.
 * @link: http://stackoverflow.com/a/12335841/1779999
 * @usage: parse-int(10px) => 10
 */
/**
   * Simply adds the em unit to a given number. This is used twice in the
   * function underneath, thus the need for a separate function.
   */
/**
   * Calculates em values for a given list of (px or em) values and a given em
   * base. Multiply base values for nested em structures (last @usage example).
   * @usage: em(10px, 1.125) => .55556em
   *         em(24px, .875em) => 1.71429em
   *         em(12px 0 7em rgba(0, 0, 0, .7), 1.75) => .42857em 0 4em rgba(0, 0, 0, 0.7)
   *         em(12px) + em(3em) => 3.75em
   *         em(23px, em(53px)) => .43396em
   *         em(24px, 1.5 * 1.125) => .88889em
   */
.latest-blog-publications-block {
  position: relative;
  z-index: 3; }
  .latest-blog-publications-block .latest-blog-publications-wrapper {
    display: grid;
    grid-template-columns: auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    justify-self: center;
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
    row-gap: 2.5rem;
    padding: 2.5rem 0; }
    @media (min-width: 768px) {
      .latest-blog-publications-block .latest-blog-publications-wrapper {
        padding: 4.375rem 0; }
        .latest-blog-publications-block .latest-blog-publications-wrapper.row-elements-2 {
          grid-template-columns: 1fr 1fr;
          -webkit-column-gap: 3.75rem;
             -moz-column-gap: 3.75rem;
                  column-gap: 3.75rem;
          row-gap: 3.75rem; }
        .latest-blog-publications-block .latest-blog-publications-wrapper.row-elements-3 {
          grid-template-columns: 1fr 1fr;
          -webkit-column-gap: 3.75rem;
             -moz-column-gap: 3.75rem;
                  column-gap: 3.75rem;
          row-gap: 3.75rem; }
        .latest-blog-publications-block .latest-blog-publications-wrapper.row-elements-4 {
          grid-template-columns: 1fr 1fr 1fr;
          -webkit-column-gap: 3.125rem;
             -moz-column-gap: 3.125rem;
                  column-gap: 3.125rem;
          row-gap: 3.125rem; } }
    @media (min-width: 992px) {
      .latest-blog-publications-block .latest-blog-publications-wrapper {
        padding: 4.375rem 0; }
        .latest-blog-publications-block .latest-blog-publications-wrapper.row-elements-2 {
          grid-template-columns: 1fr 1fr;
          -webkit-column-gap: 5.3125rem;
             -moz-column-gap: 5.3125rem;
                  column-gap: 5.3125rem;
          row-gap: 5.3125rem; }
        .latest-blog-publications-block .latest-blog-publications-wrapper.row-elements-3 {
          grid-template-columns: 1fr 1fr 1fr;
          -webkit-column-gap: 5.3125rem;
             -moz-column-gap: 5.3125rem;
                  column-gap: 5.3125rem;
          row-gap: 5.3125rem; }
        .latest-blog-publications-block .latest-blog-publications-wrapper.row-elements-4 {
          grid-template-columns: 1fr 1fr 1fr 1fr;
          -webkit-column-gap: 3.125rem;
             -moz-column-gap: 3.125rem;
                  column-gap: 3.125rem;
          row-gap: 3.125rem; } }
    .latest-blog-publications-block .latest-blog-publications-wrapper .latest-blog-publication-single .publication-image-wrapper img {
      display: block;
      border-radius: 0.625rem 0.625rem 0 0;
      min-height: 18.75rem; }
    .latest-blog-publications-block .latest-blog-publications-wrapper .latest-blog-publication-single .meta-info-wrapper {
      -webkit-box-shadow: 0px 3px 9px rgba(0, 0, 0, 0.2);
              box-shadow: 0px 3px 9px rgba(0, 0, 0, 0.2);
      border-radius: 0.625rem;
      background: #fff;
      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;
      gap: 0.875rem;
      height: 100%;
      padding: 1.625rem; }
      @media (min-width: 992px) {
        .latest-blog-publications-block .latest-blog-publications-wrapper .latest-blog-publication-single .meta-info-wrapper {
          padding: 2.5rem; } }
      .latest-blog-publications-block .latest-blog-publications-wrapper .latest-blog-publication-single .meta-info-wrapper .publish-date {
        font-weight: 500;
        font-size: 0.875rem;
        color: #9D9D9D; }
      .latest-blog-publications-block .latest-blog-publications-wrapper .latest-blog-publication-single .meta-info-wrapper .wrap-title-button {
        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: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        height: 100%;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        gap: 0.875rem; }
        .latest-blog-publications-block .latest-blog-publications-wrapper .latest-blog-publication-single .meta-info-wrapper .wrap-title-button .publication-title h4 {
          margin: 0;
          font-size: 1rem;
          font-weight: 500;
          line-height: 1.5; }
  .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.875rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media (min-width: 992px) {
      .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 3.125rem; } }
    .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .highlighted-post {
      -webkit-box-flex: 40%;
          -ms-flex: 40%;
              flex: 40%; }
      .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .highlighted-post .latest-blog-publication-single {
        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: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        gap: 1.875rem; }
        .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .highlighted-post .latest-blog-publication-single .publication-image-wrapper img {
          border-radius: 1.25rem;
          -o-object-fit: cover;
             object-fit: cover;
          min-height: auto;
          max-height: 25rem;
          width: 100%; }
        .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .highlighted-post .latest-blog-publication-single .meta-info-wrapper {
          background: none;
          -webkit-box-shadow: none;
                  box-shadow: none;
          padding: 0; }
          .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .highlighted-post .latest-blog-publication-single .meta-info-wrapper .wrap-title-button .button-wrapper svg path {
            fill: #4887F2; }
    .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts {
      -webkit-box-flex: 60%;
          -ms-flex: 60%;
              flex: 60%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 1.875rem; }
      @media (min-width: 768px) {
        .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      @media (min-width: 992px) {
        .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts {
          gap: 3.125rem;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 1.875rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; }
        @media (min-width: 768px) {
          .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1; } }
        @media (min-width: 992px) {
          .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-flex: 1;
                -ms-flex: auto;
                    flex: auto; } }
        .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single .publication-image-wrapper {
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          width: 100%; }
          @media (min-width: 768px) {
            .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single .publication-image-wrapper {
              -webkit-box-flex: 40%;
                  -ms-flex: 40%;
                      flex: 40%; } }
          .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single .publication-image-wrapper img {
            border-radius: 1.25rem;
            -o-object-fit: cover;
               object-fit: cover;
            min-height: 12.5rem;
            width: 100%;
            max-height: 25rem; }
            @media (min-width: 768px) {
              .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single .publication-image-wrapper img {
                width: auto; } }
        .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single .meta-info-wrapper {
          -webkit-box-flex: 60%;
              -ms-flex: 60%;
                  flex: 60%;
          background: none;
          -webkit-box-shadow: none;
                  box-shadow: none;
          padding: 0;
          gap: 0.625rem; }
          .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single .meta-info-wrapper .wrap-title-button {
            gap: 0.625rem; }
            .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single .meta-info-wrapper .wrap-title-button .button-wrapper svg path {
              fill: #4887F2; }
          .latest-blog-publications-block.variant2 .latest-blog-publications-wrapper .column-posts .latest-blog-publication-single .meta-info-wrapper .publication-excerpt p {
            font-size: 1rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Fzc2V0cy9zYXNzL3ZhcmlhYmxlcy9fc2l6aW5nLWZ1bmN0aW9ucy5zY3NzIiwiYmxvY2stbGF0ZXN0LWJsb2ctcHVibGljYXRpb25zL3Njc3MvYmxvY2stbGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLmNzcyIsImJsb2NrLWxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy9zY3NzL2Jsb2NrLWxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy5zY3NzIiwiLi4vLi4vYXNzZXRzL3Nhc3MvdmFyaWFibGVzL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vYXNzZXRzL3Nhc3MvdmFyaWFibGVzL190aGVtZS1jb25maWcuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7OztFQ0FFO0FEVUE7OztJQ05FO0FEbUJGOzs7Ozs7Ozs7SUNURTtBQ2ZKO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVUsRUFBQTtFQUZaO0lBSUksYUFBYTtJQUNiLDJCQUEyQjtJQUMzQix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsMEJGYXNCO09FYnRCLHVCRmFzQjtZRWJ0QixrQkZhc0I7SUVadEIsZUZZc0I7SUVYdEIsaUJBQWtCLEVBQUE7SUNrQ2xCO01ENUNKO1FBWU0sbUJBQWtCLEVBQUE7UUFaeEI7VUFjUSw4QkFBOEI7VUFDOUIsMkJGTWtCO2FFTmxCLHdCRk1rQjtrQkVObEIsbUJGTWtCO1VFTGxCLGdCRktrQixFQUFBO1FFckIxQjtVQW1CUSw4QkFBOEI7VUFDOUIsMkJGQ2tCO2FFRGxCLHdCRkNrQjtrQkVEbEIsbUJGQ2tCO1VFQWxCLGdCRkFrQixFQUFBO1FFckIxQjtVQXdCUSxrQ0FBa0M7VUFDbEMsNEJGSmtCO2FFSWxCLHlCRkprQjtrQkVJbEIsb0JGSmtCO1VFS2xCLGlCRkxrQixFQUFBLEVFTW5CO0lDdUJIO01EbERKO1FBK0JNLG1CQUFrQixFQUFBO1FBL0J4QjtVQWlDUSw4QkFBOEI7VUFDOUIsNkJGYmtC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QWE7UUFDYix5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsYUZsSWdCO1FFbUloQiw0QkFBc0I7UUFBdEIsNkJBQXNCO1lBQXRCLDBCQUFzQjtnQkFBdEIsc0JBQXNCLEVBQUE7UUM1RzVCO1VENUNKO1lBMEpZLG1CQUFPO2dCQUFQLFdBQU87b0JBQVAsT0FBTyxFQUFBLEVBNkNWO1FDckpMO1VEbERKO1lBNkpZLDhCQUFtQjtZQUFuQiw2QkFBbUI7Z0JBQW5CLHVCQUFtQjtvQkFBbkIsbUJBQW1CO1lBQ25CLG1CQUFVO2dCQUFWLGNBQVU7b0JBQVYsVUFBVSxFQUFBLEVBeUNiO1FBdk1UO1VBaUtZLG1CQUFPO2NBQVAsV0FBTztrQkFBUCxPQUFPO1VBQ1AsV0FBVyxFQUFBO1VDdEhuQjtZRDVDSjtjQW9LYyxxQkFBUztrQkFBVCxhQUFTO3NCQUFULFNBQVMsRUFBQSxFQVlaO1VBaExYO1lBdUtjLHNCRmxKWTtZRW1KWixvQkFBaUI7ZUFBakIsaUJBQWlCO1lBQ2pCLG1CRnBKWTtZRXFKWixXQUFXO1lBQ1gsaUJGdEpZLEVBQUE7WUd1QnRCO2NENUNKO2dCQTZLZ0IsV0FBVyxFQUFBLEVBRWQ7UUEvS2I7VUFrTFkscUJBQVM7Y0FBVCxhQUFTO2tCQUFULFNBQVM7VUFDVCxnQkFBZ0I7VUFDaEIsd0JBQWdCO2tCQUFoQixnQkFBZ0I7VUFDaEIsVUFBVTtVQUNWLGFGaktjLEVBQUE7VUVyQjFCO1lBd0xjLGFGbktZLEVBQUE7WUVyQjFCO2NBNExvQixhRTdMTyxFQUFBO1VGQzNCO1lBbU1nQixlRjlLVSxFQUFBIiwiZmlsZSI6ImJsb2NrLWxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy9zY3NzL2Jsb2NrLWxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBQWCB0byBFTS9SRU0gLSBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9pc2VsbHNvYXAvODI5OTcyNlxuXG4kYmFzZS1mb250LXNpemU6IDE2cHg7XG5cbi8qKlxuICogU3RyaXBzIHRoZSB1bml0IGZyb20gYSBnaXZlbiBudW1iZXItdW5pdC1jb21iaW5hdGlvbiBhbmQgcmV0dXJucyB0aGUgbnVtYmVyLlxuICogQGxpbms6IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzEyMzM1ODQxLzE3Nzk5OTlcbiAqIEB1c2FnZTogcGFyc2UtaW50KDEwcHgpID0+IDEwXG4gKi9cblxuIEBmdW5jdGlvbiBwYXJzZS1pbnQoJG51bWJlcikge1xuICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuICB9XG4gIFxuICAvKipcbiAgICogU2ltcGx5IGFkZHMgdGhlIGVtIHVuaXQgdG8gYSBnaXZlbiBudW1iZXIuIFRoaXMgaXMgdXNlZCB0d2ljZSBpbiB0aGVcbiAgICogZnVuY3Rpb24gdW5kZXJuZWF0aCwgdGh1cyB0aGUgbmVlZCBmb3IgYSBzZXBhcmF0ZSBmdW5jdGlvbi5cbiAgICovXG4gIFxuICBAZnVuY3Rpb24gYWRkLWVtLXVuaXQoJG51bWJlcikge1xuICAgIEByZXR1cm4gJG51bWJlciAqIDFlbTtcbiAgfVxuICBcbiAgQGZ1bmN0aW9uIGFkZC1yZW0tdW5pdCgkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyICogMXJlbTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgZW0gdmFsdWVzIGZvciBhIGdpdmVuIGxpc3Qgb2YgKHB4IG9yIGVtKSB2YWx1ZXMgYW5kIGEgZ2l2ZW4gZW1cbiAgICogYmFzZS4gTXVsdGlwbHkgYmFzZSB2YWx1ZXMgZm9yIG5lc3RlZCBlbSBzdHJ1Y3R1cmVzIChsYXN0IEB1c2FnZSBleGFtcGxlKS5cbiAgICogQHVzYWdlOiBlbSgxMHB4LCAxLjEyNSkgPT4gLjU1NTU2ZW1cbiAgICogICAgICAgICBlbSgyNHB4LCAuODc1ZW0pID0+IDEuNzE0MjllbVxuICAgKiAgICAgICAgIGVtKDEycHggMCA3ZW0gcmdiYSgwLCAwLCAwLCAuNyksIDEuNzUpID0+IC40Mjg1N2VtIDAgNGVtIHJnYmEoMCwgMCwgMCwgMC43KVxuICAgKiAgICAgICAgIGVtKDEycHgpICsgZW0oM2VtKSA9PiAzLjc1ZW1cbiAgICogICAgICAgICBlbSgyM3B4LCBlbSg1M3B4KSkgPT4gLjQzMzk2ZW1cbiAgICogICAgICAgICBlbSgyNHB4LCAxLjUgKiAxLjEyNSkgPT4gLjg4ODg5ZW1cbiAgICovXG4gIFxuICBAZnVuY3Rpb24gZW0oJHZhbHVlcywgJGVtLWJhc2U6IDEpIHtcbiAgICAkYmFzZS1mb250LXNpemU6IHBhcnNlLWludCgkYmFzZS1mb250LXNpemUpO1xuICAgICRlbS1iYXNlOiBwYXJzZS1pbnQoJGVtLWJhc2UpO1xuICAgICRyZXN1bHQ6ICgpO1xuICBcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgICBAaWYgJHZhbHVlID09IDAgb3IgdHlwZS1vZigkdmFsdWUpICE9IFwibnVtYmVyXCIge1xuICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuICAgICAgICAkdmFsdWU6IHBhcnNlLWludCgkdmFsdWUpO1xuICBcbiAgICAgICAgQGlmICR1bml0ID09IFwicHhcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1lbS11bml0KCR2YWx1ZSAvICgkYmFzZS1mb250LXNpemUgKiAkZW0tYmFzZSkpKTtcbiAgICAgICAgfSBAZWxzZSBpZiAkdW5pdCA9PSBcImVtXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtZW0tdW5pdCgkdmFsdWUgLyAkZW0tYmFzZSkpO1xuICAgICAgICB9IEBlbHNlIGlmICR1bml0ID09IFwiXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtZW0tdW5pdCgkdmFsdWUgLyAoJGJhc2UtZm9udC1zaXplICogJGVtLWJhc2UpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC8qKlxuICAgICAqIElmIG9ubHkgb25lIHZhbHVlIGlzIHByb3ZpZGVkLCBvdXRwdXQgdGhlIGluc3RhbmNlIG9mIHRoYXQgb2JqZWN0IGluc3RlYWRcbiAgICAgKiBvZiB0aGUgd2hvbGUgbGlzdC4gVGhpcyBlbmFibGVzIHVzZSBjYXNlcyBsaWtlIG5lc3RlZCBmdW5jdGlvbiBpbnZvY2F0aW9uc1xuICAgICAqIChlLmcuIGBlbSgycHgsIGVtKDE1cHgpKWApIG9yIGFkZGl0aW9ucy9zdWJ0cmFjdGlvbnMgKGUuZy4gYGVtKDVweCkgKyBlbSgzMnB4KWApLlxuICAgICAqL1xuICAgIEBpZiBsZW5ndGgoJHJlc3VsdCkgPT0gMSB7XG4gICAgICBAcmV0dXJuIG50aCgkcmVzdWx0LCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHJlc3VsdDtcbiAgICB9XG4gIH1cbiAgXG4gIFxuICBAZnVuY3Rpb24gcmVtKCR2YWx1ZXMsICRlbS1iYXNlOiAxKSB7XG4gICAgJGJhc2UtZm9udC1zaXplOiBwYXJzZS1pbnQoJGJhc2UtZm9udC1zaXplKTtcbiAgICAkZW0tYmFzZTogcGFyc2UtaW50KCRlbS1iYXNlKTtcbiAgICAkcmVzdWx0OiAoKTtcbiAgXG4gICAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICAgQGlmICR2YWx1ZSA9PSAwIG9yIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bWJlclwiIHtcbiAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IHVuaXQoJHZhbHVlKTtcbiAgICAgICAgJHZhbHVlOiBwYXJzZS1pbnQoJHZhbHVlKTtcbiAgXG4gICAgICAgIEBpZiAkdW5pdCA9PSBcInB4XCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtcmVtLXVuaXQoJHZhbHVlIC8gKCRiYXNlLWZvbnQtc2l6ZSAqICRlbS1iYXNlKSkpO1xuICAgICAgICB9IEBlbHNlIGlmICR1bml0ID09IFwiZW1cIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1yZW0tdW5pdCgkdmFsdWUgLyAkZW0tYmFzZSkpO1xuICAgICAgICB9IEBlbHNlIGlmICR1bml0ID09IFwiXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtcmVtLXVuaXQoJHZhbHVlIC8gKCRiYXNlLWZvbnQtc2l6ZSAqICRlbS1iYXNlKSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAvKipcbiAgICAgKiBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwcm92aWRlZCwgb3V0cHV0IHRoZSBpbnN0YW5jZSBvZiB0aGF0IG9iamVjdCBpbnN0ZWFkXG4gICAgICogb2YgdGhlIHdob2xlIGxpc3QuIFRoaXMgZW5hYmxlcyB1c2UgY2FzZXMgbGlrZSBuZXN0ZWQgZnVuY3Rpb24gaW52b2NhdGlvbnNcbiAgICAgKiAoZS5nLiBgZW0oMnB4LCBlbSgxNXB4KSlgKSBvciBhZGRpdGlvbnMvc3VidHJhY3Rpb25zIChlLmcuIGBlbSg1cHgpICsgZW0oMzJweClgKS5cbiAgICAgKi9cbiAgICBAaWYgbGVuZ3RoKCRyZXN1bHQpID09IDEge1xuICAgICAgQHJldHVybiBudGgoJHJlc3VsdCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuICRyZXN1bHQ7XG4gICAgfVxuICB9IiwiLyoqXG4gKiBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIGdpdmVuIG51bWJlci11bml0LWNvbWJpbmF0aW9uIGFuZCByZXR1cm5zIHRoZSBudW1iZXIuXG4gKiBAbGluazogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTIzMzU4NDEvMTc3OTk5OVxuICogQHVzYWdlOiBwYXJzZS1pbnQoMTBweCkgPT4gMTBcbiAqL1xuLyoqXG4gICAqIFNpbXBseSBhZGRzIHRoZSBlbSB1bml0IHRvIGEgZ2l2ZW4gbnVtYmVyLiBUaGlzIGlzIHVzZWQgdHdpY2UgaW4gdGhlXG4gICAqIGZ1bmN0aW9uIHVuZGVybmVhdGgsIHRodXMgdGhlIG5lZWQgZm9yIGEgc2VwYXJhdGUgZnVuY3Rpb24uXG4gICAqL1xuLyoqXG4gICAqIENhbGN1bGF0ZXMgZW0gdmFsdWVzIGZvciBhIGdpdmVuIGxpc3Qgb2YgKHB4IG9yIGVtKSB2YWx1ZXMgYW5kIGEgZ2l2ZW4gZW1cbiAgICogYmFzZS4gTXVsdGlwbHkgYmFzZSB2YWx1ZXMgZm9yIG5lc3RlZCBlbSBzdHJ1Y3R1cmVzIChsYXN0IEB1c2FnZSBleGFtcGxlKS5cbiAgICogQHVzYWdlOiBlbSgxMHB4LCAxLjEyNSkgPT4gLjU1NTU2ZW1cbiAgICogICAgICAgICBlbSgyNHB4LCAuODc1ZW0pID0+IDEuNzE0MjllbVxuICAgKiAgICAgICAgIGVtKDEycHggMCA3ZW0gcmdiYSgwLCAwLCAwLCAuNyksIDEuNzUpID0+IC40Mjg1N2VtIDAgNGVtIHJnYmEoMCwgMCwgMCwgMC43KVxuICAgKiAgICAgICAgIGVtKDEycHgpICsgZW0oM2VtKSA9PiAzLjc1ZW1cbiAgICogICAgICAgICBlbSgyM3B4LCBlbSg1M3B4KSkgPT4gLjQzMzk2ZW1cbiAgICogICAgICAgICBlbSgyNHB4LCAxLjUgKiAxLjEyNSkgPT4gLjg4ODg5ZW1cbiAgICovXG4ubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzOyB9XG4gIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgIGNvbHVtbi1nYXA6IDIuNXJlbTtcbiAgICByb3ctZ2FwOiAyLjVyZW07XG4gICAgcGFkZGluZzogMi41cmVtIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogNC4zNzVyZW0gMDsgfVxuICAgICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlci5yb3ctZWxlbWVudHMtMiB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDMuNzVyZW07XG4gICAgICAgICAgcm93LWdhcDogMy43NXJlbTsgfVxuICAgICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlci5yb3ctZWxlbWVudHMtMyB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDMuNzVyZW07XG4gICAgICAgICAgcm93LWdhcDogMy43NXJlbTsgfVxuICAgICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlci5yb3ctZWxlbWVudHMtNCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAzLjEyNXJlbTtcbiAgICAgICAgICByb3ctZ2FwOiAzLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDQuMzc1cmVtIDA7IH1cbiAgICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jayAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIucm93LWVsZW1lbnRzLTIge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiA1LjMxMjVyZW07XG4gICAgICAgICAgcm93LWdhcDogNS4zMTI1cmVtOyB9XG4gICAgICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyLnJvdy1lbGVtZW50cy0zIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDUuMzEyNXJlbTtcbiAgICAgICAgICByb3ctZ2FwOiA1LjMxMjVyZW07IH1cbiAgICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jayAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIucm93LWVsZW1lbnRzLTQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDMuMTI1cmVtO1xuICAgICAgICAgIHJvdy1nYXA6IDMuMTI1cmVtOyB9IH1cbiAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlciAubGF0ZXN0LWJsb2ctcHVibGljYXRpb24tc2luZ2xlIC5wdWJsaWNhdGlvbi1pbWFnZS13cmFwcGVyIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtIDAuNjI1cmVtIDAgMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtOyB9XG4gICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jayAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9uLXNpbmdsZSAubWV0YS1pbmZvLXdyYXBwZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDNweCA5cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogMC44NzVyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbi1zaW5nbGUgLm1ldGEtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAyLjVyZW07IH0gfVxuICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jayAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9uLXNpbmdsZSAubWV0YS1pbmZvLXdyYXBwZXIgLnB1Ymxpc2gtZGF0ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiAjOUQ5RDlEOyB9XG4gICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlciAubGF0ZXN0LWJsb2ctcHVibGljYXRpb24tc2luZ2xlIC5tZXRhLWluZm8td3JhcHBlciAud3JhcC10aXRsZS1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMC44NzVyZW07IH1cbiAgICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jayAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9uLXNpbmdsZSAubWV0YS1pbmZvLXdyYXBwZXIgLndyYXAtdGl0bGUtYnV0dG9uIC5wdWJsaWNhdGlvbi10aXRsZSBoNCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jay52YXJpYW50MiAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEuODc1cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrLnZhcmlhbnQyIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMy4xMjVyZW07IH0gfVxuICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sudmFyaWFudDIgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyIC5oaWdobGlnaHRlZC1wb3N0IHtcbiAgICAgIGZsZXg6IDQwJTsgfVxuICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jay52YXJpYW50MiAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIgLmhpZ2hsaWdodGVkLXBvc3QgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9uLXNpbmdsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAxLjg3NXJlbTsgfVxuICAgICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrLnZhcmlhbnQyIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlciAuaGlnaGxpZ2h0ZWQtcG9zdCAubGF0ZXN0LWJsb2ctcHVibGljYXRpb24tc2luZ2xlIC5wdWJsaWNhdGlvbi1pbWFnZS13cmFwcGVyIGltZyB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sudmFyaWFudDIgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyIC5oaWdobGlnaHRlZC1wb3N0IC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbi1zaW5nbGUgLm1ldGEtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sudmFyaWFudDIgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyIC5oaWdobGlnaHRlZC1wb3N0IC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbi1zaW5nbGUgLm1ldGEtaW5mby13cmFwcGVyIC53cmFwLXRpdGxlLWJ1dHRvbiAuYnV0dG9uLXdyYXBwZXIgc3ZnIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogIzQ4ODdGMjsgfVxuICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sudmFyaWFudDIgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyIC5jb2x1bW4tcG9zdHMge1xuICAgICAgZmxleDogNjAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDEuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jay52YXJpYW50MiAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIgLmNvbHVtbi1wb3N0cyB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jay52YXJpYW50MiAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIgLmNvbHVtbi1wb3N0cyB7XG4gICAgICAgICAgZ2FwOiAzLjEyNXJlbTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sudmFyaWFudDIgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyIC5jb2x1bW4tcG9zdHMgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9uLXNpbmdsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMS44NzVyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jay52YXJpYW50MiAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIgLmNvbHVtbi1wb3N0cyAubGF0ZXN0LWJsb2ctcHVibGljYXRpb24tc2luZ2xlIHtcbiAgICAgICAgICAgIGZsZXg6IDE7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrLnZhcmlhbnQyIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlciAuY29sdW1uLXBvc3RzIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbi1zaW5nbGUge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXg6IGF1dG87IH0gfVxuICAgICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrLnZhcmlhbnQyIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlciAuY29sdW1uLXBvc3RzIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbi1zaW5nbGUgLnB1YmxpY2F0aW9uLWltYWdlLXdyYXBwZXIge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sudmFyaWFudDIgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyIC5jb2x1bW4tcG9zdHMgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9uLXNpbmdsZSAucHVibGljYXRpb24taW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICAgIGZsZXg6IDQwJTsgfSB9XG4gICAgICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jay52YXJpYW50MiAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIgLmNvbHVtbi1wb3N0cyAubGF0ZXN0LWJsb2ctcHVibGljYXRpb24tc2luZ2xlIC5wdWJsaWNhdGlvbi1pbWFnZS13cmFwcGVyIGltZyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMi41cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNXJlbTsgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtYmxvY2sudmFyaWFudDIgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVyIC5jb2x1bW4tcG9zdHMgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9uLXNpbmdsZSAucHVibGljYXRpb24taW1hZ2Utd3JhcHBlciBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jay52YXJpYW50MiAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIgLmNvbHVtbi1wb3N0cyAubGF0ZXN0LWJsb2ctcHVibGljYXRpb24tc2luZ2xlIC5tZXRhLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgZmxleDogNjAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGdhcDogMC42MjVyZW07IH1cbiAgICAgICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrLnZhcmlhbnQyIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlciAuY29sdW1uLXBvc3RzIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbi1zaW5nbGUgLm1ldGEtaW5mby13cmFwcGVyIC53cmFwLXRpdGxlLWJ1dHRvbiB7XG4gICAgICAgICAgICBnYXA6IDAuNjI1cmVtOyB9XG4gICAgICAgICAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2NrLnZhcmlhbnQyIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlciAuY29sdW1uLXBvc3RzIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbi1zaW5nbGUgLm1ldGEtaW5mby13cmFwcGVyIC53cmFwLXRpdGxlLWJ1dHRvbiAuYnV0dG9uLXdyYXBwZXIgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICBmaWxsOiAjNDg4N0YyOyB9XG4gICAgICAgICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy1ibG9jay52YXJpYW50MiAubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLXdyYXBwZXIgLmNvbHVtbi1wb3N0cyAubGF0ZXN0LWJsb2ctcHVibGljYXRpb24tc2luZ2xlIC5tZXRhLWluZm8td3JhcHBlciAucHVibGljYXRpb24tZXhjZXJwdCBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuIiwiLy9JbmNsdWRlIFNoYXJlZCB2YXJpYWJsZXMvbWl4aW5zL3N0eWxlcyB3aXRoIHRoZSBtYWluIFN0eWxlcyBvZiB0aGUgc2l0ZVxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG4ubGF0ZXN0LWJsb2ctcHVibGljYXRpb25zLWJsb2Nre1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbnMtd3JhcHBlcntcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgIGNvbHVtbi1nYXA6IHJlbSg0MCk7XG4gICAgcm93LWdhcDogcmVtKDQwKTtcbiAgICBwYWRkaW5nOiByZW0oNDApIDA7XG4gICAgQGluY2x1ZGUgYnAodGFibGV0KXtcbiAgICAgIHBhZGRpbmc6IHJlbSg3MCkgMDtcbiAgICAgICYucm93LWVsZW1lbnRzLTJ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgY29sdW1uLWdhcDogcmVtKDYwKTtcbiAgICAgICAgcm93LWdhcDogcmVtKDYwKTtcbiAgICAgIH1cbiAgICAgICYucm93LWVsZW1lbnRzLTN7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgY29sdW1uLWdhcDogcmVtKDYwKTtcbiAgICAgICAgcm93LWdhcDogcmVtKDYwKTtcbiAgICAgIH1cbiAgICAgICYucm93LWVsZW1lbnRzLTR7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIGNvbHVtbi1nYXA6IHJlbSg1MCk7XG4gICAgICAgIHJvdy1nYXA6IHJlbSg1MCk7XG4gICAgICB9XG5cbiAgICB9XG4gICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKXtcbiAgICAgIHBhZGRpbmc6IHJlbSg3MCkgMDtcbiAgICAgICYucm93LWVsZW1lbnRzLTJ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgY29sdW1uLWdhcDogcmVtKDg1KTtcbiAgICAgICAgcm93LWdhcDogcmVtKDg1KTtcbiAgICAgIH1cbiAgICAgICYucm93LWVsZW1lbnRzLTN7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIGNvbHVtbi1nYXA6IHJlbSg4NSk7XG4gICAgICAgIHJvdy1nYXA6IHJlbSg4NSk7XG4gICAgICB9XG4gICAgICAmLnJvdy1lbGVtZW50cy00e1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgY29sdW1uLWdhcDogcmVtKDUwKTtcbiAgICAgICAgcm93LWdhcDogcmVtKDUwKTtcbiAgICAgIH1cblxuICAgIH1cbiAgICAubGF0ZXN0LWJsb2ctcHVibGljYXRpb24tc2luZ2xle1xuICAgICAgLnB1YmxpY2F0aW9uLWltYWdlLXdyYXBwZXJ7XG4gICAgICAgIGltZ3tcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY29uZmlnLWJvcmRlci1yYWRpdXMtYmlnZ2VyICRjb25maWctYm9yZGVyLXJhZGl1cy1iaWdnZXIgMCAwO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbSgzMDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubWV0YS1pbmZvLXdyYXBwZXJ7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggOXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNvbmZpZy1ib3JkZXItcmFkaXVzLWJpZ2dlcjtcbiAgICAgICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogcmVtKDE0KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjYpO1xuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgICAgICAgIHBhZGRpbmc6IHJlbSg0MCk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1Ymxpc2gtZGF0ZXtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgICBjb2xvcjogJGNvbmZpZy1tYWluLWNvbG9yLXRleHQtbGlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgLndyYXAtdGl0bGUtYnV0dG9ue1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGdhcDogcmVtKDE0KTtcbiAgICAgICAgICAucHVibGljYXRpb24tdGl0bGV7XG4gICAgICAgICAgICBoNHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYudmFyaWFudDJ7XG4gICAgLmxhdGVzdC1ibG9nLXB1YmxpY2F0aW9ucy13cmFwcGVye1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IHJlbSgzMCk7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSl7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogcmVtKDUwKTtcbiAgICAgIH1cbiAgICAgIC5oaWdobGlnaHRlZC1wb3N0e1xuICAgICAgICBmbGV4OiA0MCU7XG4gICAgICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbi1zaW5nbGV7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICBnYXA6IHJlbSgzMCk7XG4gICAgICAgICAgLnB1YmxpY2F0aW9uLWltYWdlLXdyYXBwZXJ7XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRjb25maWctYm9yZGVyLXJhZGl1cy1pbWFnZTtcbiAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbSg0MDApO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLm1ldGEtaW5mby13cmFwcGVye1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgLndyYXAtdGl0bGUtYnV0dG9ue1xuICAgICAgICAgICAgICAuYnV0dG9uLXdyYXBwZXJ7XG4gICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgcGF0aHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGNvbmZpZy1tYWluLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNvbHVtbi1wb3N0c3tcbiAgICAgICAgZmxleDogNjAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHJlbSgzMCk7XG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCl7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgICAgICAgIGdhcDogcmVtKDUwKTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICAgIC5sYXRlc3QtYmxvZy1wdWJsaWNhdGlvbi1zaW5nbGV7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogcmVtKDMwKTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCl7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wdWJsaWNhdGlvbi1pbWFnZS13cmFwcGVye1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KXtcbiAgICAgICAgICAgICAgZmxleDogNDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY29uZmlnLWJvcmRlci1yYWRpdXMtaW1hZ2U7XG4gICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0oMjAwKTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbSg0MDApO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tZXRhLWluZm8td3JhcHBlcntcbiAgICAgICAgICAgIGZsZXg6IDYwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGdhcDogcmVtKDEwKTtcbiAgICAgICAgICAgIC53cmFwLXRpdGxlLWJ1dHRvbntcbiAgICAgICAgICAgICAgZ2FwOiByZW0oMTApO1xuICAgICAgICAgICAgICAuYnV0dG9uLXdyYXBwZXJ7XG4gICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgcGF0aHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGNvbmZpZy1tYWluLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnB1YmxpY2F0aW9uLWV4Y2VycHR7XG4gICAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiXG4vLyBEZWZhdWx0IC0gMzIxIC0gNDAwXG5cbkBtaXhpbiBicCgkcG9pbnQpIHtcblxuICBAaWYgJHBvaW50ID09IHBob25leHhze1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkcG9pbnQgPT0gcGhvbmV4c2Rvd257XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25leGx7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25lcG9ydHJhaXQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NjhweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25lcG9ydHJhaXRPbmx5IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTY4cHgpIGFuZCAobWF4LXdpZHRoOiA2NzBweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25lcG9ydHJhaXR4bE9ubHkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRkb3duIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRsYW5kc2NhcGV7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXR4bHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSBsYXB0b3B4cyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCl7XG4gICAgICBAY29udGVudDsgXG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IGxhcHRvcCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFwdG9weGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3B4cyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcHhsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjUwMHB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG59IiwiLy8gQWRkIG1haW4gY29sb3IgdmFyaWFibGVzIGhlcmVcblxuJGNvbmZpZy1tYWluLWNvbG9yOiAjNDg4N0YyO1xuJGNvbmZpZy1tYWluLWNvbG9yLWRhcms6ICMyNDNENkU7XG4kY29uZmlnLW1haW4tY29sb3ItbGlnaHQ6ICNEOEU5RTU7XG4kY29uZmlnLW1haW4tY29sb3ItdGV4dC1kYXJrOiAjNzA3Qjk2O1xuJGNvbmZpZy1tYWluLWNvbG9yLXRleHQtbGlnaHQ6ICM5RDlEOUQ7XG4kY29uZmlnLWJ1dHRvbnMtYmFja2dyb3VuZC1jb2xvcjogIzQ4ODdGMjtcbiR3aGl0ZTogI2ZmZjtcblxuJGJvZHktYmFja2dyb3VuZDogI2ZmZjtcbiRjYXJkcy1iYWNrZ3JvdW5kOiAjRjlGQUZCO1xuXG4kY29uZmlnLWJhY2tncm91bmQtZ3JhZGllbnQtYmx1ZTogIGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0NGRTBGNCAwJSwgcmdiYSgyMDcsIDIyNCwgMjQ0LCAwLjUyKSA0Ny43MiUsIHJnYmEoMjA3LCAyMjQsIDI0NCwgMC4xMCkgMTAwJSk7ICA7XG4kY29uZmlnLWJhY2tncm91bmQtZ3JhZGllbnQtMjogIGxpbmVhci1ncmFkaWVudCg0NS4wNGRlZywgIzA3NDUzQSAwJSwgIzAwNjY0MyAxMDAlKTtcblxuJGNvbmZpZy1ib3JkZXItcmFkaXVzLWJpZ2dlcjogcmVtKDEwKTtcbiRjb25maWctYm9yZGVyLXJhZGl1cy1zbWFsbGVyOiByZW0oOCk7XG4kY29uZmlnLWJvcmRlci1yYWRpdXMtaW1hZ2U6IHJlbSgyMCk7XG5cbiRtYXJnaW4tYm90dG9tLXRpdGxlOiByZW0oODApO1xuJGNhcmRzLWNvbHVtbnMtZ2FwOiByZW0oNjApO1xuJGxheW91dC1iaWctZ2FwOiByZW0oMTAwKTtcblxuXG4vLyBOZXcgaWRlYSBmb3Igc2l6ZXNcbiRwYWRkaW5nLW1haW46IHJlbSgxMDApO1xuJG1hcmdpbi1tYWluOiByZW0oMTAwKTtcbiRmb250c2l6ZS1tYWluOiByZW0oMTAwKTtcblxuIl19 */
