.grid {
  padding: clamp(20px, 20px + 48 * (100vw - 768px) / 1152, 70px) 0 clamp(74px, 74px + 30 * (100vw - 576px) / 1344, 104px);
}
.grid__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (max-width: 767.98px) {
  .grid__items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575.98px) {
  .grid__items {
    grid-template-columns: repeat(1, 1fr);
  }
}
.grid__card {
  position: relative;
  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;
  min-height: 168px;
  padding: 24px;
  border-radius: 20px;
  background-color: rgba(29, 29, 27, 0.05);
  color: #1D1D1B;
  text-decoration: none;
  -webkit-transition: background-color 0.35s, color 0.35s;
  transition: background-color 0.35s, color 0.35s;
}
.grid__card:hover {
  background-color: rgba(29, 29, 27, 0.9);
}
.grid__card:hover .grid__title {
  color: #fff;
}
.grid__card:hover .grid__tag {
  color: #fff;
  border-color: #fff;
}
.grid__card:hover .grid__arrow {
  color: #fff;
}
.grid__card:hover .grid__arrow svg path {
  fill: #fff;
}
.grid__card:nth-child(8n+1), .grid__card:nth-child(8n+5), .grid__card:nth-child(8n+7) {
  grid-row: span 2;
  min-height: 346px;
}
.grid__card:nth-child(8n+2) {
  grid-column: span 2;
}
@media (max-width: 767.98px) {
  .grid__card {
    grid-column: auto;
    grid-row: auto;
    min-height: 168px;
  }
  .grid__card:nth-child(8n+1), .grid__card:nth-child(8n+2), .grid__card:nth-child(8n+5), .grid__card:nth-child(8n+7) {
    grid-column: span 2;
    min-height: 168px;
  }
  .grid__card:nth-child(8n+7) {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  .grid__card:nth-child(8n+8) {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
}
@media (max-width: 575.98px) {
  .grid__card {
    padding: 20px;
    min-height: 150px;
    grid-column: auto;
    grid-row: auto;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .grid__card:nth-child(8n+1), .grid__card:nth-child(8n+2), .grid__card:nth-child(8n+5), .grid__card:nth-child(8n+7), .grid__card:nth-child(8n+8) {
    grid-column: auto;
    grid-row: auto;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    min-height: 150px;
  }
}
.grid__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 44px;
}
@media (max-width: 575.98px) {
  .grid__header {
    margin-bottom: 38px;
  }
}
.grid__icon {
  width: 48px;
  height: 48px;
  padding: 12px;
  border-radius: 50%;
  background-color: #fff;
  overflow: hidden;
}
.grid__icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.grid__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
  max-width: calc(100% - 80px);
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.grid__tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 24px;
  padding: 3px 7px;
  border: 1px solid #1D1D1B;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.35;
  color: #1D1D1B;
  -webkit-transition: color 0.35s, border 0.35s;
  transition: color 0.35s, border 0.35s;
}
.grid__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.grid__title {
  padding-right: 40px;
  font-family: "Sofia Pro Semi Bold", sans-serif;
  font-size: 24px;
  line-height: 1.15;
  -webkit-transition: color 0.35s;
  transition: color 0.35s;
}
@media (max-width: 575.98px) {
  .grid__title {
    font-size: 20px;
  }
}
.grid__arrow {
  width: 28px;
  height: 28px;
  color: rgba(29, 29, 27, 0.4);
  -webkit-transition: color 0.35s;
  transition: color 0.35s;
}
.grid__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: fill 0.35s;
  transition: fill 0.35s;
}

/* Dark mode */
html[data-theme=dark] .grid__card {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}
html[data-theme=dark] .grid__card:hover {
  background-color: rgb(243, 243, 243);
}
html[data-theme=dark] .grid__card:hover .grid__title {
  color: #1D1D1B;
}
html[data-theme=dark] .grid__card:hover .grid__tag {
  color: #1D1D1B;
  border-color: #1D1D1B;
}
html[data-theme=dark] .grid__card:hover .grid__arrow {
  color: rgba(29, 29, 27, 0.4);
}
html[data-theme=dark] .grid__card:hover .grid__arrow svg path {
  fill: rgba(29, 29, 27, 0.4);
}
html[data-theme=dark] .grid__tag {
  color: #fff;
  border-color: #fff;
}
html[data-theme=dark] .grid__arrow svg path {
  fill: rgba(255, 255, 255, 0.4);
}
@supports (-webkit-appearance:none){

}

 @media (max-width: 767.98px){

@supports (-webkit-appearance:none){

}

}

 @media (max-width: 575.98px){

@supports (-webkit-appearance:none){

}

}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdyaWQvZ3JpZC5zY3NzIiwiZ3JpZC9ncmlkLmNzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9zcmMvc2Nzcy9jb21wb25lbnRzL3ZhcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTtFQUNDLHVIQUFBO0FDRkQ7QURJQztFQUNDLGFBQUE7RUFDQSxxQ0FBQTtFQUNBLFNBQUE7QUNGRjtBQ3FFSTtFRnRFSDtJQUtXLHFDQUFBO0VDQVY7QUFDRjtBQ2dFSTtFRnRFSDtJQVFXLHFDQUFBO0VDRVY7QUFDRjtBRENDO0VBQ0Msa0JBQUE7RUFDQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDRCQUFBO0VBQUEsNkJBQUE7TUFBQSwwQkFBQTtVQUFBLHNCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLDhCQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx3Q0FBQTtFQUNBLGNHZVE7RUhkUixxQkFBQTtFQUNBLHVEQUFBO0VBQUEsK0NBQUE7QUNDRjtBRENRO0VBQ0wsdUNBQUE7QUNDSDtBREVnQjtFQUNJLFdHR1g7QUZIVDtBREVnQjtFQUNJLFdBQUE7RUFDQSxrQkdEWDtBRkNUO0FERWdCO0VBQ0ksV0dKWDtBRklUO0FEQ29CO0VBQ0ksVUdOZjtBRk9UO0FES1E7RUFHSSxnQkFBQTtFQUNBLGlCQUFBO0FDTFo7QURRUTtFQUNJLG1CQUFBO0FDTlo7QUN1Qkk7RUYxREg7SUE2Q1csaUJBQUE7SUFDVCxjQUFBO0lBQ0EsaUJBQUE7RUNORDtFRFFDO0lBSUMsbUJBQUE7SUFDQSxpQkFBQTtFQ1RGO0VEWUM7SUFDQyw0QkFBQTtRQUFBLGlCQUFBO1lBQUEsUUFBQTtFQ1ZGO0VEYUM7SUFDQyw0QkFBQTtRQUFBLGlCQUFBO1lBQUEsUUFBQTtFQ1hGO0FBQ0Y7QUNNSTtFRjFESDtJQW1FVyxhQUFBO0lBQ0EsaUJBQUE7SUFDQSxpQkFBQTtJQUNBLGNBQUE7SUFDQSw0QkFBQTtRQUFBLGlCQUFBO1lBQUEsUUFBQTtFQ1hWO0VEYVU7SUFLSSxpQkFBQTtJQUNBLGNBQUE7SUFDQSw0QkFBQTtRQUFBLGlCQUFBO1lBQUEsUUFBQTtJQUNBLGlCQUFBO0VDZmQ7QUFDRjtBRG1CSTtFQUNJLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLDhCQUFBO0VBQ0EsbUJBQUE7QUNqQlI7QUNmSTtFRjRCQTtJQU1RLG1CQUFBO0VDZlY7QUFDRjtBRGtCQztFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ00sYUFBQTtFQUNOLGtCQUFBO0VBQ00sc0JHaEZDO0VIaUZQLGdCQUFBO0FDaEJGO0FEa0JFO0VBQ0MsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7S0FBQSxtQkFBQTtBQ2hCSDtBRG9CQztFQUNDLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsbUJBQUE7TUFBQSxlQUFBO0VBQ0EsUUFBQTtFQUNBLDRCQUFBO0VBQ0EscUJBQUE7TUFBQSxrQkFBQTtVQUFBLHlCQUFBO0FDbEJGO0FEcUJDO0VBQ0MsMkJBQUE7RUFBQSwyQkFBQTtFQUFBLG9CQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlRy9ITztFSGdJUCxpQkFBQTtFQUNBLGNHMUdRO0VIMkdGLDZDQUFBO0VBQUEscUNBQUE7QUNuQlI7QURzQkk7RUFDSSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSw4QkFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSxtQkFBQTtBQ3BCUjtBRHVCQztFQUNDLG1CQUFBO0VBQ00sOENHakpJO0VIa0pWLGVBQUE7RUFDQSxpQkFBQTtFQUNNLCtCQUFBO0VBQUEsdUJBQUE7QUNyQlI7QUNsRUk7RUZrRkg7SUFPVyxlQUFBO0VDbkJWO0FBQ0Y7QURzQkM7RUFDQyxXQUFBO0VBQ0EsWUFBQTtFQUNBLDRCQUFBO0VBQ0EsK0JBQUE7RUFBQSx1QkFBQTtBQ3BCRjtBRHNCRTtFQUNDLGNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNTLDhCQUFBO0VBQUEsc0JBQUE7QUNwQlo7O0FEeUJBLGNBQUE7QUFHRTtFQUNDLDBDQUFBO0VBQ0EsV0d0Sk07QUY4SFQ7QUQwQkc7RUFDYSxvQ0FBQTtBQ3hCaEI7QUQyQm9CO0VBQ0ksY0cxSmQ7QUZpSVY7QUQyQm9CO0VBQ0ksY0c3SmQ7RUg4SmMscUJHOUpkO0FGcUlWO0FEMkJvQjtFQUNJLDRCQUFBO0FDekJ4QjtBRDBCd0I7RUFDSSwyQkFBQTtBQ3hCNUI7QUQrQlE7RUFDSSxXRzlLSDtFSCtLRyxrQkcvS0g7QUZrSlQ7QURpQ0c7RUFDYSw4QkFBQTtBQy9CaEI7QUFDQTs7QUFFQTs7Q0FFQzs7QUFFRDs7QUFFQTs7QUFFQTs7Q0FFQzs7QUFFRDs7QUFFQTs7QUFFQSIsImZpbGUiOiJncmlkL2dyaWQubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uLy4uL3NyYy9zY3NzL2NvbXBvbmVudHMvdmFycyc7XG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zJztcblxuLmdyaWQge1xuXHRwYWRkaW5nOiBjbGFtcCgyMHB4LCBjYWxjKDIwcHggKyAoNjggLSAyMCkgKiAoKDEwMHZ3IC0gNzY4cHgpIC8gKDE5MjAgLSA3NjgpKSksIDcwcHgpIDAgY2xhbXAoNzRweCwgY2FsYyg3NHB4ICsgKDEwNCAtIDc0KSAqICgoMTAwdncgLSA1NzZweCkgLyAoMTkyMCAtIDU3NikpKSwgMTA0cHgpO1xuXG5cdCZfX2l0ZW1zIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdFx0Z2FwOiAxMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICB9XG5cdH1cblxuXHQmX19jYXJkIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRtaW4taGVpZ2h0OiAxNjhweDtcblx0XHRwYWRkaW5nOiAyNHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZGFyaywgMC4wNSk7XG5cdFx0Y29sb3I6ICRkYXJrO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0ciwgY29sb3IgJHRyO1xuXG4gICAgICAgICY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZGFyaywgMC45KTtcblxuICAgICAgICAgICAgLmdyaWQge1xuICAgICAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9fdGFnIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXHRcdH1cblxuICAgICAgICAmOm50aC1jaGlsZCg4biArIDEpLFxuICAgICAgICAmOm50aC1jaGlsZCg4biArIDUpLFxuICAgICAgICAmOm50aC1jaGlsZCg4biArIDcpIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiBzcGFuIDI7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDhuICsgMikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG87XG5cdFx0XHRncmlkLXJvdzogYXV0bztcblx0XHRcdG1pbi1oZWlnaHQ6IDE2OHB4O1xuXG5cdFx0XHQmOm50aC1jaGlsZCg4biArIDEpLFxuXHRcdFx0JjpudGgtY2hpbGQoOG4gKyAyKSxcblx0XHRcdCY6bnRoLWNoaWxkKDhuICsgNSksXG5cdFx0XHQmOm50aC1jaGlsZCg4biArIDcpIHtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IHNwYW4gMjtcblx0XHRcdFx0bWluLWhlaWdodDogMTY4cHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWNoaWxkKDhuICsgNykge1xuXHRcdFx0XHRvcmRlcjogODtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoOG4gKyA4KSB7XG5cdFx0XHRcdG9yZGVyOiA3O1xuXHRcdFx0fVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0bztcbiAgICAgICAgICAgIGdyaWQtcm93OiBhdXRvO1xuICAgICAgICAgICAgb3JkZXI6IDA7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDhuICsgMSksXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg4biArIDIpLFxuICAgICAgICAgICAgJjpudGgtY2hpbGQoOG4gKyA1KSxcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDhuICsgNyksXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg4biArIDgpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0bztcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogYXV0bztcbiAgICAgICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHR9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cblx0Jl9faWNvbiB7XG5cdFx0d2lkdGg6IDQ4cHg7XG5cdFx0aGVpZ2h0OiA0OHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRpbWcge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGFncyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0Z2FwOiA0cHg7XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHR9XG5cblx0Jl9fdGFnIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdG1pbi1oZWlnaHQ6IDI0cHg7XG5cdFx0cGFkZGluZzogM3B4IDdweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZGFyaztcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0Zm9udC1zaXplOiAkZnMteHM7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMzU7XG5cdFx0Y29sb3I6ICRkYXJrO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHIsIGJvcmRlciAkdHI7XG5cdH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cblx0Jl9fdGl0bGUge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmYtdGl0bGU7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHI7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB9XG5cdH1cblxuXHQmX19hcnJvdyB7XG5cdFx0d2lkdGg6IDI4cHg7XG5cdFx0aGVpZ2h0OiAyOHB4O1xuXHRcdGNvbG9yOiByZ2JhKCRkYXJrLCAwLjQpO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yICR0cjtcblxuXHRcdHN2ZyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAkdHI7XG5cdFx0fVxuXHR9XG59XG5cbi8qIERhcmsgbW9kZSAqL1xuaHRtbFtkYXRhLXRoZW1lPSdkYXJrJ10ge1xuXHQuZ3JpZCB7XG5cdFx0Jl9fY2FyZCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMC4xKTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cblx0XHRcdCY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMgMjQzIDI0Myk7XG5cbiAgICAgICAgICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmX190YWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFyaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmX19hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkZGFyaywgMC40KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiByZ2JhKCRkYXJrLCAwLjQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXHRcdFx0fVxuXHRcdH1cblxuICAgICAgICAmX190YWcge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cblx0XHQmX19hcnJvdyB7XG5cdFx0XHRzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogcmdiYSgkd2hpdGUsIDAuNCk7XG4gICAgICAgICAgICB9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi5ncmlkIHtcbiAgcGFkZGluZzogY2xhbXAoMjBweCwgMjBweCArIDQ4ICogKDEwMHZ3IC0gNzY4cHgpIC8gMTE1MiwgNzBweCkgMCBjbGFtcCg3NHB4LCA3NHB4ICsgMzAgKiAoMTAwdncgLSA1NzZweCkgLyAxMzQ0LCAxMDRweCk7XG59XG4uZ3JpZF9faXRlbXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IDEwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLmdyaWRfX2l0ZW1zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLmdyaWRfX2l0ZW1zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICB9XG59XG4uZ3JpZF9fY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtaW4taGVpZ2h0OiAxNjhweDtcbiAgcGFkZGluZzogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyOSwgMjksIDI3LCAwLjA1KTtcbiAgY29sb3I6ICMxRDFEMUI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjM1cywgY29sb3IgMC4zNXM7XG59XG4uZ3JpZF9fY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjksIDI5LCAyNywgMC45KTtcbn1cbi5ncmlkX19jYXJkOmhvdmVyIC5ncmlkX190aXRsZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmdyaWRfX2NhcmQ6aG92ZXIgLmdyaWRfX3RhZyB7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG4uZ3JpZF9fY2FyZDpob3ZlciAuZ3JpZF9fYXJyb3cge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5ncmlkX19jYXJkOmhvdmVyIC5ncmlkX19hcnJvdyBzdmcgcGF0aCB7XG4gIGZpbGw6ICNmZmY7XG59XG4uZ3JpZF9fY2FyZDpudGgtY2hpbGQoOG4rMSksIC5ncmlkX19jYXJkOm50aC1jaGlsZCg4bis1KSwgLmdyaWRfX2NhcmQ6bnRoLWNoaWxkKDhuKzcpIHtcbiAgZ3JpZC1yb3c6IHNwYW4gMjtcbiAgbWluLWhlaWdodDogMzQ2cHg7XG59XG4uZ3JpZF9fY2FyZDpudGgtY2hpbGQoOG4rMikge1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5ncmlkX19jYXJkIHtcbiAgICBncmlkLWNvbHVtbjogYXV0bztcbiAgICBncmlkLXJvdzogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxNjhweDtcbiAgfVxuICAuZ3JpZF9fY2FyZDpudGgtY2hpbGQoOG4rMSksIC5ncmlkX19jYXJkOm50aC1jaGlsZCg4bisyKSwgLmdyaWRfX2NhcmQ6bnRoLWNoaWxkKDhuKzUpLCAuZ3JpZF9fY2FyZDpudGgtY2hpbGQoOG4rNykge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgbWluLWhlaWdodDogMTY4cHg7XG4gIH1cbiAgLmdyaWRfX2NhcmQ6bnRoLWNoaWxkKDhuKzcpIHtcbiAgICBvcmRlcjogODtcbiAgfVxuICAuZ3JpZF9fY2FyZDpudGgtY2hpbGQoOG4rOCkge1xuICAgIG9yZGVyOiA3O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLmdyaWRfX2NhcmQge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgZ3JpZC1jb2x1bW46IGF1dG87XG4gICAgZ3JpZC1yb3c6IGF1dG87XG4gICAgb3JkZXI6IDA7XG4gIH1cbiAgLmdyaWRfX2NhcmQ6bnRoLWNoaWxkKDhuKzEpLCAuZ3JpZF9fY2FyZDpudGgtY2hpbGQoOG4rMiksIC5ncmlkX19jYXJkOm50aC1jaGlsZCg4bis1KSwgLmdyaWRfX2NhcmQ6bnRoLWNoaWxkKDhuKzcpLCAuZ3JpZF9fY2FyZDpudGgtY2hpbGQoOG4rOCkge1xuICAgIGdyaWQtY29sdW1uOiBhdXRvO1xuICAgIGdyaWQtcm93OiBhdXRvO1xuICAgIG9yZGVyOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICB9XG59XG4uZ3JpZF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogNDRweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAuZ3JpZF9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzOHB4O1xuICB9XG59XG4uZ3JpZF9faWNvbiB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ncmlkX19pY29uIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLmdyaWRfX3RhZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogNHB4O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLmdyaWRfX3RhZyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMjRweDtcbiAgcGFkZGluZzogM3B4IDdweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzFEMUQxQjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICBjb2xvcjogIzFEMUQxQjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zNXMsIGJvcmRlciAwLjM1cztcbn1cbi5ncmlkX19mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZ3JpZF9fdGl0bGUge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBmb250LWZhbWlseTogXCJTb2ZpYSBQcm8gU2VtaSBCb2xkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMzVzO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5ncmlkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG4uZ3JpZF9fYXJyb3cge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogcmdiYSgyOSwgMjksIDI3LCAwLjQpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjM1cztcbn1cbi5ncmlkX19hcnJvdyBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogZmlsbCAwLjM1cztcbn1cblxuLyogRGFyayBtb2RlICovXG5odG1sW2RhdGEtdGhlbWU9ZGFya10gLmdyaWRfX2NhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuaHRtbFtkYXRhLXRoZW1lPWRhcmtdIC5ncmlkX19jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MywgMjQzLCAyNDMpO1xufVxuaHRtbFtkYXRhLXRoZW1lPWRhcmtdIC5ncmlkX19jYXJkOmhvdmVyIC5ncmlkX190aXRsZSB7XG4gIGNvbG9yOiAjMUQxRDFCO1xufVxuaHRtbFtkYXRhLXRoZW1lPWRhcmtdIC5ncmlkX19jYXJkOmhvdmVyIC5ncmlkX190YWcge1xuICBjb2xvcjogIzFEMUQxQjtcbiAgYm9yZGVyLWNvbG9yOiAjMUQxRDFCO1xufVxuaHRtbFtkYXRhLXRoZW1lPWRhcmtdIC5ncmlkX19jYXJkOmhvdmVyIC5ncmlkX19hcnJvdyB7XG4gIGNvbG9yOiByZ2JhKDI5LCAyOSwgMjcsIDAuNCk7XG59XG5odG1sW2RhdGEtdGhlbWU9ZGFya10gLmdyaWRfX2NhcmQ6aG92ZXIgLmdyaWRfX2Fycm93IHN2ZyBwYXRoIHtcbiAgZmlsbDogcmdiYSgyOSwgMjksIDI3LCAwLjQpO1xufVxuaHRtbFtkYXRhLXRoZW1lPWRhcmtdIC5ncmlkX190YWcge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuaHRtbFtkYXRhLXRoZW1lPWRhcmtdIC5ncmlkX19hcnJvdyBzdmcgcGF0aCB7XG4gIGZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbn1cbkBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmUpe1xuXG59XG5cbiBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpe1xuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTpub25lKXtcblxufVxuXG59XG5cbiBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpe1xuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTpub25lKXtcblxufVxuXG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JpZC5cclxuJGdyaWQtYnJlYWtwb2ludHM6IChcclxuXHR4czogMCxcclxuXHRzbTogNTc2cHgsXHJcblx0bWQ6IDc2OHB4LFxyXG5cdGxnOiA5OTJweCxcclxuXHR4bDogMTIwMHB4XHJcbik7XHJcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxyXG5cdHhsOiAxMzIwcHhcclxuKTtcclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAyMHB4O1xyXG5cclxuLy8gRm9udCBmYW1pbGllcy5cclxuJGZmXHRcdFx0OiAnU29maWEgUHJvIFJlZ3VsYXInLCBzYW5zLXNlcmlmO1xyXG4kZmYtdGl0bGVcdDogJ1NvZmlhIFBybyBTZW1pIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4kZmYtYm9sZFx0OiAnU29maWEgUHJvIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gRm9udCBzaXplcy5cclxuJGZzLXhzXHQ6IDEycHg7XHJcbiRmcy1zbVx0OiAxNHB4O1xyXG4kZnMtbWRcdDogMTZweDtcclxuJGZzLWxnXHQ6IDE4cHg7XHJcbiRmcy14bFx0OiAyMHB4O1xyXG5cclxuLy8gRm9udCB3ZWlnaHRzLlxyXG4kZnctbGlnaHRcdFx0OiAzMDA7XHJcbiRmdy1yZWd1bGFyXHRcdDogNDAwO1xyXG4kZnctbWVkaXVtXHRcdDogNTAwO1xyXG4kZnctc2VtaWJvbGRcdDogNjAwO1xyXG4kZnctYm9sZFx0XHQ6IDcwMDtcclxuJGZ3LWV4dHJhYm9sZFx0OiA4MDA7XHJcbiRmdy1ibGFja1x0XHQ6IDkwMDtcclxuXHJcbi8vIExpbmUgaGVpZ2h0cy5cclxuJGxoXHRcdFx0OiAxLjQ7XHJcbiRsaC10aXRsZVx0OiAxLjI7XHJcblxyXG4vLyBDb2xvcnMuXHJcbiR3aGl0ZVx0OiAjZmZmO1xyXG4kYmxhY2tcdDogIzAwMDtcclxuXHJcbiRkYXJrICAgOiAjMUQxRDFCO1xyXG4kcHJpbWFyeTogI0UzMDYxMztcclxuJHNlY29uZGFyeTogcmdiKDI1MSAxODcgMik7XHJcblxyXG4vLyBPdGhlcnMuXHJcbiR0clx0XHQ6IDAuMzVzO1xyXG4kcmFkaXVzXHQ6IDhweDsiXX0= */
