/* z-indexes are large due to the fact that things might change
 * in the future. In order to account for scalability, this gives
 * room to make changes and not break the entire site, meaning 
 * we won't have to go in and refactor a lot of our code.
 */
/*  ----------------------------------------------------
    INPUTS
  ----------------------------------------------------- */
/*  ----------------------------------------------------
    CONTAINERS
  ----------------------------------------------------- */
/* -------------------
	Base result styles
-------------------- */
/* -------------------
	Variations
-------------------- */
/* -----------------------------------------------------
  Base styling
----------------------------------------------------- */
/* -----------------------------------------------------
  With secondary section
----------------------------------------------------- */
/* -----------------------------------------------------
  Checkbox tags
----------------------------------------------------- */
/* -----------------------------------------------------
  States
----------------------------------------------------- */
.content-block.callToAction {
  background: linear-gradient(120deg, #10124d 0%, #131f6b 80%);
  padding: calc(var(--gap) * 2);
  display: flex;
  flex-direction: column;
}
.content-block.callToAction .call-to-action-heading, .content-block.callToAction .call-to-action-subheading {
  text-transform: uppercase;
}
.content-block.callToAction .call-to-action-heading {
  --heading-colour: #FFFFFF;
  font-size: 1.25em;
  line-height: 1.3;
  padding-right: calc(var(--gap) * 2);
  font-weight: 800;
}
.content-block.callToAction .call-to-action-subheading {
  --heading-colour: #DF3035;
  font-size: 0.9375em;
  line-height: 1.6;
  margin-bottom: var(--gap);
}
.content-block.callToAction .call-to-action-button {
  margin-top: var(--gap);
  margin-left: calc(var(--gap) * 3);
  margin-right: calc(var(--gap) * -2);
  align-self: flex-end;
  -webkit-margin-after: calc(var(--gap) * -2);
          margin-block-end: calc(var(--gap) * -2);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.content-block.callToAction .image {
  order: -1;
  width: calc(100% + (var(--gap) * 4));
  aspect-ratio: 16/7;
  max-height: 500px;
  margin: calc(var(--gap) * -2) calc(var(--gap) * -2) calc(var(--gap) * 2) calc(var(--gap) * -2);
}
side-bar .content-block.callToAction .call-to-action-button {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl92YXJpYWJsZXMvei1pbmRleC5zY3NzIiwiX2VsZW1lbnRzL2Zvcm0uc2NzcyIsIl9lbGVtZW50cy9yZXN1bHQtaXRlbS5zY3NzIiwiX2VsZW1lbnRzL3RhZy5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy9jYWxsLXRvLWFjdGlvbi5zY3NzIiwiX3ZhcmlhYmxlcy9jb2xvdXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYmxvY2tzL2NhbGwtdG8tYWN0aW9uLmNzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NyZWF0ZS9faGVhZGluZ3Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztFQUFBO0FDYUE7O3lEQUFBO0FBbURBOzt5REFBQTtBQzVEQTs7c0JBQUE7QUFzRUE7O3NCQUFBO0FDekRBOzt1REFBQTtBQStCQTs7dURBQUE7QUF5QkE7O3VEQUFBO0FBMkJBOzt1REFBQTtBQ2xHQTtFQUNFLDREQzJDa0I7RUQxQ2xCLDZCRWdETTtFRjlDTixhQUFBO0VBQ0Esc0JBQUE7QUcyQkY7QUh6QkU7RUFDRSx5QkFBQTtBRzJCSjtBSHhCRTtFQUNFLHlCQUFBO0VJa0lGLGlCQUFBO0VBV0ksZ0JBM0ZjO0VKL0NoQixtQ0VtQ0k7RUZsQ0osZ0JBQUE7QUcwQko7QUh4QkU7RUFDRSx5QkFBQTtFSStJRixtQkFBQTtFQVdJLGdCQTFHYztFSjlDaEIseUJFNEJJO0FDRFI7QUh4QkU7RUFDRSxzQkV3Qkk7RUZ2QkosaUNFeUJJO0VGeEJKLG1DRXVCdUI7RUZ0QnZCLG9CQUFBO0VBQ0EsMkNFcUJ1QjtVRnJCdkIsdUNFcUJ1QjtFRnBCdkIsMEJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0FHMEJKO0FIdkJFO0VBQ0UsU0FBQTtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDhGQUFBO0FHeUJKO0FIdEJXO0VBQ1AsdUJBQUE7VUFBQSxtQkFBQTtBR3dCSiIsImZpbGUiOiJjb21wb25lbnRzL2NvbnRlbnQtYmxvY2tzL2NhbGwtdG8tYWN0aW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHotaW5kZXhlcyBhcmUgbGFyZ2UgZHVlIHRvIHRoZSBmYWN0IHRoYXQgdGhpbmdzIG1pZ2h0IGNoYW5nZVxuICogaW4gdGhlIGZ1dHVyZS4gSW4gb3JkZXIgdG8gYWNjb3VudCBmb3Igc2NhbGFiaWxpdHksIHRoaXMgZ2l2ZXNcbiAqIHJvb20gdG8gbWFrZSBjaGFuZ2VzIGFuZCBub3QgYnJlYWsgdGhlIGVudGlyZSBzaXRlLCBtZWFuaW5nIFxuICogd2Ugd29uJ3QgaGF2ZSB0byBnbyBpbiBhbmQgcmVmYWN0b3IgYSBsb3Qgb2Ygb3VyIGNvZGUuXG4gKi9cblxuJHBhZ2UtYmFja2dyb3VuZCAgICAgICAgICA6IDUwMDtcblxuJG5hdmlnYXRpb24tYmFyICAgICAgICAgICA6IDE1MDA7XG4kbmF2aWdhdGlvbi1iYXItY29udGFpbmVyIDogJG5hdmlnYXRpb24tYmFyO1xuJGdsb2JhbC1zZWFyY2gtbW9iaWxlICAgICA6IC0xO1xuXG4kc2Nyb2xsLWJhciAgICAgICAgICAgICAgIDogMTEwMDtcblxuJG1haW4gICAgICAgICAgICAgICAgICAgICA6IDEwMDA7XG4kaGVhZGVyICAgICAgICAgICAgICAgICAgIDogMTAwMDtcbiRzaWRlLWJhciAgICAgICAgICAgICAgICAgOiAxNzUwO1xuXG4kbW9kYWwgICAgICAgICAgICAgICAgICAgIDogMTAwMDA7IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJ21vZHVsZXMvY29sb3VyL2VuY29kZScgYXMgY29sb3VyO1xuQHVzZSBcImZvbnRcIjtcbkB1c2UgJy4uL19oZWxwZXJzL21pc2Muc2NzcycgYXMgKjtcblxuJGJhc2UtaW5wdXQtcGFkZGluZzogJGdhcDtcblxuXG5AbWl4aW4gYXJyb3ctZG93bi1pbWFnZSgkc3Ryb2tlIDogdmFyKC0tZm9udC1jb2xvdXIpKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTcuNCcgaGVpZ2h0PScxMC4xJyUzRSUzQ3BhdGggZD0nTTE2LjcuN2wtOCA4LTgtOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdcIitjb2xvdXIuZW5jb2RlKCRzdHJva2UpK1wiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1taXRlcmxpbWl0PScxMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIElOUFVUU1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gY2hhcmFjdGVyLWlucHV0cygpIHtcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGFsbC1pbnB1dHMoKSB7XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBjaGFyYWN0ZXItaW5wdXQoKSB7XG4gIC0tZm9udC1jb2xvdXIgICAgICAgOiAjeyRmb250LWNvbG91cn07XG4gIC0tYmFja2dyb3VuZC1jb2xvdXIgOiAjeyR3aGl0ZX07XG4gIC0tcGFkZGluZyAgICAgICAgICAgOiBjYWxjKCN7JGJhc2UtaW5wdXQtcGFkZGluZ30gLyAxLjUpICN7JGJhc2UtaW5wdXQtcGFkZGluZ307XG4gIC0tYm9yZGVyLWNvbG91ciAgICAgOiAjeyRncmV5N307XG4gIC0tYm9yZGVyLXJhZGl1cyAgICAgOiAwO1xuXG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7ICAvKiBPcGVyYSAxMC41LCBJRSA5LCBTYWZhcmkgNSwgQ2hyb21lLCBGaXJlZm94IDQsIGlPUyA0LCBBbmRyb2lkIDIuMSsgKi9cbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwOyAgLyogU2FmYXJpIDMtNCwgaU9TIDEtMy4yLCBBbmRyb2lkIDEuNi0gKi8gICAgXG4gIC1tb3otYm9yZGVyLXJhZGl1czogMDsgIC8qIEZpcmVmb3ggMS0zLjYgKi8gICAgIFxuXG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcGFkZGluZzogdmFyKC0tcGFkZGluZyk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb247XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCB0cmFuc3BhcmVudDtcblxuICAmOjpwbGFjZWhvbGRlciB7IHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uIH1cblxuICAvLyAmOm5vdCg6ZW1wdHkpIHtcbiAgLy8gICAmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkdHJhbnNwYXJlbnQgfVxuICAvLyB9XG59XG5cblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDT05UQUlORVJTXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBjb250YWluZXIoKSB7XG4gIC0tbGFiZWwtY29sb3VyICAgICAgICA6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgLS1sYWJlbC1hY3RpdmUtY29sb3VyIDogdmFyKC0tdGhlbWUtYWNjZW50KTtcblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMXJlbTtcblxuICBsYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWxhYmVsLWNvbG91cik7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb247XG4gIH1cbn1cblxuQG1peGluIHRleHQtY29udGFpbmVyKCkge1xuICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbn1cblxuXG5AbWl4aW4gcmFkaW8tY2hlY2tib3gtY29udGFpbmVyKCkge1xuICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcblxuICAtLWlucHV0LXdpZHRoOiAxLjJlbTtcbiAgLS1pbnB1dC1ib3JkZXItdGhpY2tuZXNzOiAxcHg7XG4gIC0taW5wdXQtYWN0aXZlLWNvbG91cjogI3skcmVkfTtcblxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgIGdyaWQtZ2FwOiAkZ2FwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc3F1YXJlKHZhcigtLWlucHV0LXdpZHRoKSk7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IHZhcigtLWlucHV0LWJvcmRlci10aGlja25lc3MsIDFweCkgc29saWQgJGdyZXk7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb247XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc3F1YXJlKGNhbGModmFyKC0taW5wdXQtd2lkdGgpIC0gdmFyKC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzcykgKiA2KSk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1hY3RpdmUtY29sb3VyKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBsZWZ0OiAtMTBweDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24sIHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAtLWxhYmVsLWNvbG91cjogdmFyKC0tbGFiZWwtYWN0aXZlLWNvbG91cik7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW5wdXQtYWN0aXZlLWNvbG91cik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgKyBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1sYWJlbC1hY3RpdmUtY29sb3VyKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHJhZGlvLWNvbnRhaW5lcigpIHtcbiAgbGFiZWwge1xuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbXVsdGktaW5wdXQoKSB7XG4gIC0taW5wdXQtc3BhY2luZzogMDtcbiAgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0taW5wdXQtc3BhY2luZyk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcblxuICBAaW5jbHVkZSBjaGFyYWN0ZXItaW5wdXRzKCkge1xuICAgICY6bm90KHNlbGVjdCkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgPiAqOm5vdChzZWxlY3QsIGJ1dHRvbiwgYSkge1xuICAgIGZsZXg6IDE7XG4gIH1cbiAgXG4gIHNlbGVjdCwgYnV0dG9uLCBhIHtcbiAgICAtLWZvbnQtY29sb3VyOiAjeyR3aGl0ZX07XG4gICAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI3skcmVkfTtcblxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgc2VsZWN0IHsgQGluY2x1ZGUgYXJyb3ctZG93bi1pbWFnZSgkd2hpdGUpIH07XG59XG5cbkBtaXhpbiBiYXNlLXJlcXVpcmVkKCkge1xuICByZXF1aXJlZC1ub3RpY2Uge1xuICAgIC0tbm90aWNlLWNvbG91cjogI3skcmVkfTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgY29sb3I6IHZhcigtLW5vdGljZS1jb2xvdXIpO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG5cbiAgICBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiByYWRpby10YWJzKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIHJhZGlvLXRhYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdhcDA7XG4gICAgXG4gICAgaW5wdXQgeyBcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm5vdCg6Y2hlY2tlZCkge1xuICAgICAgICArIGxhYmVsOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkdHJhbnNpdGlvbjtcbiAgICAgIH1cbiAgICAgIFxuXG4gICAgfVxuXG4gIH1cbn1cblxuXG5AbWl4aW4gaW5wdXQtZm9jdXMoKSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMXB4IDFweCByZ2JhKCRyZWQsIDAuMyk7XG59IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcy8nIGFzICo7XG5AdXNlICcuLi9faGVscGVycy8nIGFzICo7XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHRCYXNlIHJlc3VsdCBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuQG1peGluIGJhc2UoKSB7XG5cbiAgLS1oZWFkaW5nLWNvbG91ciAgICA6ICN7JGJsdWV9O1xuXG4gIC0tYm9yZGVyLXRoaWNrbmVzcyAgOiAxcHg7XG4gIC0tYm9yZGVyLXJhZGl1cyAgICAgOiAwcHg7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXIgOiB3aGl0ZTtcblxuICAtLXBhZGRpbmcgICAgICAgICAgIDogMnJlbTtcblxuICAtLXBhZGRpbmctbGVmdCAgICAgIDogdmFyKC0tcGFkZGluZyk7XG4gIC0tcGFkZGluZy1yaWdodCAgICAgOiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1wYWRkaW5nLXRvcCAgICAgICA6IHZhcigtLXBhZGRpbmcpO1xuICAtLXBhZGRpbmctYm90dG9tICAgIDogdmFyKC0tcGFkZGluZyk7XG5cbiAgLS1pbWFnZS13aWR0aCAgICAgICA6IDEwMHB4O1xuICAtLWltYWdlLWhlaWdodCAgICAgIDogMTAwcHg7XG5cbiAgLS1ncmlkLWdhcCAgICAgICAgICA6ICN7JGdhcH07XG5cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctdG9wKSB2YXIoLS1wYWRkaW5nLXJpZ2h0KSB2YXIoLS1wYWRkaW5nLWJvdHRvbSkgdmFyKC0tcGFkZGluZy1sZWZ0KTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItdGhpY2tuZXNzKSBzb2xpZCAkdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIC8vIGJveC1zaGFkb3c6IDBweCAwcHggNXB4IDFweCByZ2JhKCRncmV5LCAwLjEpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbjtcblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ3JpZC1nYXApIHZhcigtLWdyaWQtZ2FwKTtcbiAgLy8gcGxhY2UtY29udGVudDogc3RhcnQ7XG5cbiAgLnJlc3VsdC1pbWFnZSB7XG4gICAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIHBpY3R1cmUge1xuICAgICAgaGVpZ2h0OiB2YXIoLS1pbWFnZS1oZWlnaHQpO1xuICAgICAgXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogdmFyKC0taW1hZ2UtaGVpZ2h0KTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1pbWFnZS13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJlc3VsdC10aXRsZSB7XG4gICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICBjb2xvcjogdmFyKC0taGVhZGluZy1jb2xvdXIpO1xuICAgIGEgeyBjb2xvcjogdmFyKC0taGVhZGluZy1jb2xvdXIpIH1cbiAgfVxuXG4gIC5yZXN1bHQtc3VidGl0bGUgeyBncmlkLWFyZWE6IHN1YnRpdGxlIH1cbiAgLnJlc3VsdC1ib2R5ICAgICB7IGdyaWQtYXJlYTogYm9keSB9XG5cbiAgJi5ibG9nICAgIHsgQGluY2x1ZGUgYmxvZygpIH1cbiAgJi5tYXJrZXQtc2VjdG9yICAgIHsgQGluY2x1ZGUgbWFya2V0LXNlY3RvcigpIH1cbiAgJi5wcm9kdWN0IHsgQGluY2x1ZGUgcHJvZHVjdCgpIH1cbiAgJi5wYWdlICAgIHsgQGluY2x1ZGUgcGFnZSgpIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cdFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuQG1peGluIG1hcmtldC1zZWN0b3IoKSB7XG5cbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjp0cmFuc3BhcmVudDsgXG4gIC0tZm9udC1jb2xvdXI6d2hpdGU7IFxuICAtLWhlYWRpbmctY29sb3VyIDogd2hpdGU7IFxuXG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzowIDAgJGd1dHRlcjAgMCA7IFxuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1yZXN1bHQtaXRlbS1ib3JkZXItYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikpO1xuXG4gIC5yZXN1bHQtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2xhbXAoMTQwcHgsIDQwdncsIDE4MHB4KTtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0taW1hZ2Utb3V0bGluZS1jb2xvdXIsIHRyYW5zcGFyZW50KTtcbiAgICBvdXRsaW5lLW9mZnNldDogdmFyKC0taW1hZ2Utb3V0bGluZS1vZmZzZXQsIDAuMWVtKTsgXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IG91dGxpbmUtY29sb3IgJHRyYW5zaXRpb24sIG91dGxpbmUtb2Zmc2V0ICR0cmFuc2l0aW9uO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICB9XG5cbiAgJjpob3ZlciB7IFxuICAgIC0taW1hZ2Utb3V0bGluZS1jb2xvdXIgOiAje3JnYmEod2hpdGUsIDAuMil9O1xuICAgIC0taW1hZ2Utb3V0bGluZS1vZmZzZXQgOiAwLjNlbTtcbiAgICAucmVzdWx0LXRpdGxlIGEgeyBjb2xvcjokcmVkOyB9XG4gIH1cblxuICAucmVzdWx0LXRpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgJjo6YWZ0ZXIgeyBcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICBpbnNldDowOyBcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB6LWluZGV4OjE7IFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBhdC1yb290IGJvZHlbZGF0YS10aGVtZT0nd2hpdGUnXSAmIHtcbiAgICAtLXJlc3VsdC1pdGVtLWJvcmRlci1ib3R0b20gOiAje3JnYmEoJGJsdWUsIDAuMil9O1xuICAgIC0tZm9udC1jb2xvdXI6I3skYmx1ZX07IFxuICAgIC0taGVhZGluZy1jb2xvdXIgOiAjeyRibHVlfTsgXG4gICAgJjpob3ZlciB7IFxuICAgICAgLS1pbWFnZS1vdXRsaW5lLWNvbG91ciA6ICN7cmdiYSgkYmx1ZSwgMC4yKX07XG4gICAgfVxuICB9XG5cbiAgQGF0LXJvb3QgYm9keSNtYXJrZXQtc2VjdG9ycyB7XG4gICAgJiB7XG4gICAgICAvLyBpc29sYXRpb246IGluaXRpYWw7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gICAgICBjb250YWluZXItbmFtZSA6IG1hcmtldC1zZWN0b3I7XG4gICAgICAucmVzdWx0LWl0ZW0ge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuICAgICAgICBhLmRldGFpbHM6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciAucmVzdWx0LWltYWdlIHtcbiAgICAgICAgLS1pbWFnZS1vdXRsaW5lLWNvbG91ciA6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIC0taW1hZ2Utb3V0bGluZS1vZmZzZXQgOjAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZGFyaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxOyBcbiAgICAgICAgcGFkZGluZzowOyBcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjIwcHg7XG4gICAgICAgIHdpZHRoOnZhcigtLW1hcmtldC1zZWN0b3ItYXJ0aWNsZS13aWR0aCwgY2FsYygyMDAlICsgI3skZ3V0dGVyfSkpO1xuICAgICAgICBcbiAgICAgICAgLy8gRGlzY3JldGUgYW5pbWF0aW9uIHNldHVwXG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IFxuICAgICAgICAgIG9wYWNpdHkgJHRyYW5zaXRpb24sXG4gICAgICAgICAgZGlzcGxheSAkdHJhbnNpdGlvbiBhbGxvdy1kaXNjcmV0ZTsgXG4gICAgICAgIC5kZXRhaWxzLXRleHQge1xuICAgICAgICAgIHBhZGRpbmc6JGd1dHRlcjsgXG4gICAgICAgIH1cbiAgICAgICAgLmRldGFpbHMtaGVhZGluZyB7IFxuICAgICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nLWgyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MWVtO1xuICAgICAgICB9XG4gICAgICAgIC5kZXRhaWxzLWltYWdlIHtcbiAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMzUlIDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDoxMDAlOyBcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZGV0YWlscy1saW5rIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZGV0YWlscy1saW5rIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOjA7IFxuICAgICAgICAgIHJpZ2h0OjA7IFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGV0YWlscyB7XG4gICAgICAgIEBjb250YWluZXIgbWFya2V0LXNlY3RvciAoIHdpZHRoIDwgNDIwcHgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAuZGV0YWlscy1pbWFnZSB7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gICAgICAgICAgICBoZWlnaHQ6MTAwcHg7IFxuICAgICAgICAgICAgLmRldGFpbHMtbGluayB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmIC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgXG4gICAgICAgICAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBhcnRpY2xlLWdyaWQ6aGFzKC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSkge1xuICAgICAgLnJlc3VsdC1pdGVtOm5vdCg6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkpIHsgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7fVxuICAgIH1cblxuICAgIEBjb250YWluZXIgbWFpbiAoIHdpZHRoIDwgNjYwcHgpIHtcbiAgICAgIGFydGljbGUtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tbWFya2V0LXNlY3Rvci1hcnRpY2xlLXdpZHRoIDogMTAwJTsgXG4gICAgICB9XG4gICAgfVxuXG4gICAgYXJ0aWNsZS1ncmlkIHtcbiAgICAgIEBjb250YWluZXIgbWFpbiAoNjYwcHggPCB3aWR0aCA8IDk2NHB4KSAge1xuICAgICAgICAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKDJuKSAuZGV0YWlscyB7IFxuICAgICAgICAgICAgbGVmdDogaW5pdGlhbDsgXG4gICAgICAgICAgICByaWdodDowOyBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGNvbnRhaW5lciBtYWluICggd2lkdGggPiA5NjRweCkgIHtcbiAgICAgICAgLnJlc3VsdC1pdGVtOm50aC1jaGlsZCgzbikgLmRldGFpbHMgeyBcbiAgICAgICAgICAgIGxlZnQ6IGluaXRpYWw7IFxuICAgICAgICAgICAgcmlnaHQ6MDsgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IFxuXG4gIH1cblxuXG59XG5AbWl4aW4gYmxvZygpIHtcbiAgLS1wYWRkaW5nICAgICAgICAgIDogNHJlbTtcbiAgLS1ib3JkZXItdGhpY2tuZXNzIDogMDtcbiAgLS1ib3JkZXItcmFkaXVzICAgIDogMDtcbiAgLy8gLS1iYWNrZ3JvdW5kLWNvbG91ciA6IHRyYW5zcGFyZW50O1xuXG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgXCJzdWJ0aXRsZVwiXG4gICAgXCJ0aXRsZVwiXG4gICAgXCJib2R5XCI7XG5cbiAgLnJlc3VsdC1pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCByZ2JhKHdoaXRlLCAxKSA0NSUsIHRyYW5zcGFyZW50IDEyMCUpO1xuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtc3VidGl0bGUgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIH1cblxuICAucmVzdWx0LXRpdGxlIHsgICAgIFxuICAgIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuXG4gIC5yZXN1bHQtc3VidGl0bGUge1xuICAgIC0taGVhZGluZy1jb2xvdXI6ICN7JHJlZH07XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBoNCwgdGltZSB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgdGltZSB7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgfVxuICB9XG5cbiAgLnJlc3VsdC1ib2R5IHsgLS1mb250LWNvbG91cjogI3skYmxhY2t9OyB9XG5cbiAgJi5mZWF0dXJlZCB7XG4gICAgLS1wYWRkaW5nLXJpZ2h0OiA1cmVtO1xuXG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG5cbiAgICAucmVzdWx0LXRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtaDI7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdGRUFUVVJFRCc7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlZC1iYWRnZSgpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG5cbiAgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1zdWJ0aXRsZSwgLnJlc3VsdC1ib2R5IHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG59XG5cblxuXG5AbWl4aW4gcGFnZSgpIHtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgXCJpbWFnZSB0aXRsZVwiXG4gIFwiaW1hZ2UgYm9keVwiXG4gIFwiaW1hZ2UgYm9keVwiXG4gIFwiaW1hZ2UgYm9keVwiO1xuXG4gIC5yZXN1bHQtaW1hZ2Uge1xuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBwcm9kdWN0KCkge1xuICAtLWJhZGdlLXNwYWNpbmcgOiAzcmVtO1xuXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0taW1hZ2Utd2lkdGgpIGF1dG87XG5cbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICBcImltYWdlIHRpdGxlXCJcbiAgICBcImltYWdlIHRpdGxlXCJcbiAgICBcImltYWdlIGRhdGFcIlxuICAgIFwiaW1hZ2UgZGF0YVwiO1xuXG4gIC8vIC5yZXN1bHQtdGl0bGUge1xuICAvLyAgIG1hcmdpbi10b3A6ICRnYXA7XG4gIC8vIH1cblxuICAucmVzdWx0LXRpdGxlLCAucmVzdWx0LWJvZHkge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tYmFkZ2Utc3BhY2luZykgKiAyKTtcbiAgfVxuXG4gIC5wcm9kdWN0LWRhdGEge1xuICAgIGdyaWQtYXJlYTogZGF0YTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdyaWQtZ2FwOiBjYWxjKCRnYXAgLyAyKSAkZ2FwO1xuICB9XG5cbiAgLnJlc3VsdC1pbWFnZSB7XG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBicmVhay1pbig0NTApIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgIFwiaW1hZ2UgXCJcbiAgICBcInRpdGxlXCJcbiAgICBcImRhdGFcIjtcblxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdW5zZXQ7XG5cbiAgICAucHJvZHVjdC1kYXRhIHtcbiAgICAgIC8vIG1hcmdpbi10b3A6ICRnYXAtO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuXG4gICAgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1ib2R5IHsgcGFkZGluZy1yaWdodDogMCB9XG4gICAgLy8gLnJlc3VsdC10aXRsZSB7IGFsaWduLXNlbGY6IGNlbnRlciB9XG4gIH1cblxuXG4gICYuaW4tc3RvY2s6OmJlZm9yZSB7XG4gICAgLS1wYWRkaW5nLXkgOiAwLjJlbTtcbiAgICAtLXBhZGRpbmcteCA6IDEwZW07XG5cbiAgICBjb250ZW50OiAnaW4gc3RvY2snO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMWVtICsgdmFyKC0tcGFkZGluZy15KSk7XG4gICAgcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1wYWRkaW5nLXgpKTtcbiAgICBwYWRkaW5nOiAwLjVlbSB2YXIoLS1wYWRkaW5nLXgpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnLi4vX2hlbHBlcnMvbWlzYy5zY3NzJyBhcyAqO1xuXG5AbWl4aW4gdGFnKCkge1xuICAmW2Rpc2FibGVkXSB7IEBpbmNsdWRlIGRpc2FibGVkKCkgfVxuICAmLmNhdGVnb3J5IHtcbiAgICBAaW5jbHVkZSB0YWctYmFzZSgpO1xuICAgIC0tYm9yZGVyLWNvbG91cjogI3skcmVkfTtcbiAgICBAaW5jbHVkZSB0YWctd2l0aC1zZWNvbmRhcnkoKTtcbiAgICAudGFnLXNlY29uZGFyeTpob3ZlciB7IEBpbmNsdWRlIHNlY29uZGFyeS1ob3ZlcigpIH1cbiAgfVxuXG4gICYuY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIHRhZy1jaGVja2JveCgpO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJhc2Ugc3R5bGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiB0YWctYmFzZSgpIHtcbiAgLS1ib3JkZXItcmFkaXVzICAgICAgIDogMHB4O1xuICAtLWZvbnQtY29sb3VyICAgICAgICAgOiAjeyRyZWR9O1xuICAtLWJnLWNvbG91ciAgICAgICAgICAgOiB3aGl0ZTtcbiAgLS1zZWNvbmRhcnktd2lkdGggICAgIDogM2NoO1xuICAtLXNlY29uZGFyeS1wYWRkaW5nLXggOiAzcHg7XG4gIC0tYm9yZGVyLWNvbG91ciAgICAgICA6IHRyYW5zcGFyZW50O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG91cik7XG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG4gIC50YWctbGFiZWwge1xuICAgIHBhZGRpbmc6IDNweCAkZ2FwIDNweCAkZ2FwO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFdpdGggc2Vjb25kYXJ5IHNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gdGFnLXdpdGgtc2Vjb25kYXJ5KCkge1xuICAtLXN5bWJvbC1jb2xvdXIgOiAjeyRyZWR9O1xuXG4gIC50YWctc2Vjb25kYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCB2YXIoLS1zZWNvbmRhcnktcGFkZGluZy14KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDNjaDtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgQ2hlY2tib3ggdGFnc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiB0YWctY2hlY2tib3goKSB7XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYgfiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSB0YWctYmFzZSgpO1xuICAgICAgQGluY2x1ZGUgdGFnLXdpdGgtc2Vjb25kYXJ5KCk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAtLWJvcmRlci1jb2xvdXI6ICN7JHJlZH07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQgfiBsYWJlbCB7XG4gICAgICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgICAgIC0tYmctY29sb3VyOiAjeyRyZWR9O1xuXG4gICAgICAudGFnLXNlY29uZGFyeSB7IEBpbmNsdWRlIHNlY29uZGFyeS1ob3ZlcihyZ2JhKHdoaXRlLCAwLjMpKSB9XG4gICAgfVxuICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIHNlY29uZGFyeS1ob3ZlcigkY29sb3VyIDogJHJlZCkge1xuICAtLXN5bWJvbC1jb2xvdXI6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xufSIsIkB1c2UgJ21vZHVsZXMnIGFzICo7XG5cbi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRyZXZlcnNlLWdyYWRpZW50O1xuICBwYWRkaW5nOiAkZ2FwMjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBcbiAgLmNhbGwtdG8tYWN0aW9uLWhlYWRpbmcsIC5jYWxsLXRvLWFjdGlvbi1zdWJoZWFkaW5nIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmNhbGwtdG8tYWN0aW9uLWhlYWRpbmcge1xuICAgIC0taGVhZGluZy1jb2xvdXI6ICN7JHdoaXRlfTtcbiAgICBAaW5jbHVkZSBoZWFkaW5nLWgyO1xuICAgIC8vIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2FwMjtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG4gIC5jYWxsLXRvLWFjdGlvbi1zdWJoZWFkaW5nIHtcbiAgICAtLWhlYWRpbmctY29sb3VyOiAjeyRyZWR9O1xuICAgIEBpbmNsdWRlIGhlYWRpbmctaDM7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAvLyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7XG4gIH1cbiAgLmNhbGwtdG8tYWN0aW9uLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogJGdhcDtcbiAgICBtYXJnaW4tbGVmdDogJGdhcDM7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ2FwMi07XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJsb2NrLWVuZDokZ2FwMi07IFxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgb3JkZXI6LTE7IFxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAkZ2FwNCk7XG4gICAgYXNwZWN0LXJhdGlvOiAxNiAvIDc7XG4gICAgbWF4LWhlaWdodDo1MDBweDsgXG4gICAgbWFyZ2luOiRnYXAyLSAkZ2FwMi0gJGdhcDIgJGdhcDItXG4gIH1cblxuICBAYXQtcm9vdCBzaWRlLWJhciAmIC5jYWxsLXRvLWFjdGlvbi1idXR0b24ge1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6MDsgXG5cbiAgfVxuXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG91cnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBFeHBsaWNpdCBDb2xvdXJzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gRXhwbGljaXQgY29sb3VycyBhcmUgYSB3aGF0IHRoZXkgYXJlLiBHcmVlbiBpcyBncmVlbiwgYmx1ZSBpcyBibHVlLi4uIG5vIG9ic2N1cml0eS5cbi8vLyBXZSBzdWZmaXggbnVtYmVycyB0byBkZWZpbmUgdmFyaWF0aW9ucyBvZiBjb2xvdXJzIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIgb2Ygc2hhZGUuIFxuLy8vIEV4YW1wbGU6IGdyZWVuMSwgZ3JlZW4yLCBncmVlbjMsIGdyZWVuNC4gVGhpcyBpcyBzbyB3ZSBjYW4gaW1taWRpYXRlbHkgc2VlIGhvdyBcbi8vLyBtYW55IG9wdGlvbnMgd2UgaGF2ZSBmb3IgYSBzaW5nbGUgY29sb3VyIGF0IGEgZ2xhbmNlLiBJZiB5b3Ugc2VlICRncmVlbjQsIHlvdSBrbm93IHRoaXNcbi8vLyBwcm9qZWN0IGlzIHVzaW5nIGZvdXIgdmFyaWF0aW9ucyBvZiBncmVlbi4gVGhpcyBpcyBhbHNvIG9mdGVuIHVzZWZ1bCBiZWNhdXNlIG1hbnkgZGV2ZWxvcG1lbnQgXG4vLy8gdG9vbHMgd2lsbCBhdXRvLXN1Z2dlc3QgY29sb3VycyB3aXRoIGFjdHVhbCBleGFtcGxlcyBvZiB0aGUgY29sb3VyLiBcbi8vLyBUaGUgUGFsbGV0ZXMgbW9kdWxlIChhdCB0aGUgYm90dG9tIG9mIHRoaXMgZmlsZSkgd2lsbCBvdXRwdXQgc2hhZGVkIG5hbWVkIHZhcmlhdGlvbnMsIFxuLy8vLyA8Y29sb3VyPi1kYXJrIGFuZCA8Y29sb3VyPi1saWdodC4gSWYgeW91IG5lZWQgYWRkaXRpb25hbCBzaGFkZXMgcGxlYXNlIHJlZnJhaW0gZnJvbSBnb2luZyBkb3duIFxuLy8vIHRoZSAnbGlnaHRlcicsICdsaWdodGVzdCcsICdkYXJrZXInLCAnZGFya2VzdCcgY29udmVudGlvbi4gVGhlc2UgYXJlIG5vdCBwYXJ0aWN1YXJseSBsZWdpYWJsZSBcbi8vLyBhbmQgdGhleSBhcmUgbGltaXRlZCBieSBob3cgY3JlYXRpdmUgKGNvbmZ1c2luZykgeW91ciB3b3JkaW5nIGNhbiBiZS4gXG4vLy8gSXQgaXMgYmV0dGVyIHRvIGRlZmluZSBhIG5ldyBleHBsY2l0IGNvbG91ciBlbnRpcmVseS4gXG4vLy8gQHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL3doYXQtZG8teW91LW5hbWUtY29sb3ItdmFyaWFibGVzL1xuXG4kYmx1ZSAgICAgICAgICAgICA6ICMxMzFmNmI7IC8vIFByaW1hcnlcbiRibHVlMiAgICAgICAgICAgIDogIzI5MkI2ODsgLy8gTmFrZWQgTGlua1xuJGJsdWUzICAgICAgICAgICAgOiAjM2QzZjdmOyAvLyBMaWdudCBHcmFkaWVudFxuJGJsdWU0ICAgICAgICAgICAgOiAjMTAxMjRkOyAvLyBEYXJrIEdyYWRpZW50XG4kYmx1ZTUgICAgICAgICAgICA6ICMwMDk1RkY7IC8vIE5hdmlnYXRpb24gbGluayBob3ZlciBcblxuJHJlZCAgICAgICAgICAgICAgOiAjREYzMDM1OyAvLyBTZWNvbmRhcnkgLSBUaGlzIHBhc3NlcyB0aGUgY29udHJhc3QgcmF0aW8gYWNjZXNzaWJpbGl0eSB0ZXN0IGluIEdvb2dsZXMgTGlnaHRob3VzZSBcblxuJGdyZXkgICAgICAgICAgICAgOiAjOTY5Njk1O1xuJGdyZXkyICAgICAgICAgICAgOiAjNkE2QTZBOyAvLyBGb250XG4kZ3JleTMgICAgICAgICAgICA6ICNGNEY0RjQ7IC8vIExpZ2h0ZXIgR3JleSBCYWNrZ3JvdW5kXG4kZ3JleTQgICAgICAgICAgICA6ICNkY2RjZGM7XG4kZ3JleTUgICAgICAgICAgICA6ICNCMUIxQjE7IC8vIFNwYWNlcnMgPGhyPlxuJGdyZXk2ICAgICAgICAgICAgOiAjMzMzMjM2OyAvLyBOYXZpZ2F0aW9uIGxpbmsgaG92ZXIgIFxuJGdyZXk3ICAgICAgICAgICAgOiAjZTllOWU5O1xuJGdyZWVuICAgICAgICAgICAgOiAjNTBCQzA4O1xuJHllbGxvdyAgICAgICAgICAgOiAjRjZGNERCOyAvLyBEaXNjbGFpbWVyIEJhY2tncm91bmRcbiR5ZWxsb3cyICAgICAgICAgIDogI0ZDQjAwMjtcbiRibGFjayAgICAgICAgICAgIDogIzFFMUExQTtcbiR3aGl0ZSAgICAgICAgICAgIDogI0ZGRkZGRjtcblxuJG9yYW5nZSAgICAgICAgICAgOiAjZWQ2MjI0O1xuXG5cbiR0cmFuc3BhcmVudCAgICAgIDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiRtYXJrICAgICAgICAgICAgIDogJGJsdWU1OyAvLyBiYWNrZ3JvdW5kIGNvbG91ciBmb3IgPG1hcms+IHRhZ3NcblxuJGRlZmF1bHQtZ3JhZGllbnQgOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAkYmx1ZSA1JSwgJGJsYWNrIDY2JSk7XG4kcmV2ZXJzZS1ncmFkaWVudCA6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsICMxMDEyNGQgMCUsICRibHVlIDgwJSk7XG4kbGlnaHQtZ3JhZGllbnQgICA6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgYm90dG9tLCAjMTAxMjRkIDU1JSwgIzE3MjU4MiAxMDAlKTtcblxuXG4vLy9cbiRwcmltYXJ5OiAkYmx1ZTtcbi8vL1xuXG5cblxuXG4vLy8gVGhlbWVzICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGhlbWUtZGVmYXVsdC1wYWdlLWJhY2tncm91bmQgICAgOiAkZGVmYXVsdC1ncmFkaWVudDtcbiR0aGVtZS1kZWZhdWx0LWNvbnRlbnQtYmFja2dyb3VuZCA6ICR0cmFuc3BhcmVudDtcbiR0aGVtZS1kZWZhdWx0LW5hdi1iYWNrZ3JvdW5kICAgICA6ICR0cmFuc3BhcmVudDtcbiR0aGVtZS1kZWZhdWx0LW5hdi1iYWNrZ3JvdW5kLW1vYiA6ICR3aGl0ZTtcbiR0aGVtZS1kZWZhdWx0LW5hdi1mb250ICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1kZWZhdWx0LW5hdi1mb250LW1vYiAgICAgICA6ICRibHVlO1xuJHRoZW1lLWRlZmF1bHQtbmF2LXNwYWNpbmctY29sb3VyIDogcmdiYSgkYmx1ZSwgMC4zKTtcbiR0aGVtZS1kZWZhdWx0LWZvbnQgICAgICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1kZWZhdWx0LWhlYWRpbmcgICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1kZWZhdWx0LWFjY2VudFx0XHRcdFx0XHQgICAgOiAkcmVkO1xuJHRoZW1lLWRlZmF1bHQtbG9nbyAgICAgICAgICAgICAgIDogJHdoaXRlO1xuXG4kdGhlbWUtd2hpdGUtcGFnZS1iYWNrZ3JvdW5kICAgICAgOiAkbGlnaHQtZ3JhZGllbnQ7XG4kdGhlbWUtd2hpdGUtY29udGVudC1iYWNrZ3JvdW5kICAgOiAjZjhmOGY4O1xuJHRoZW1lLXdoaXRlLW5hdi1iYWNrZ3JvdW5kICAgICAgIDogJHRyYW5zcGFyZW50O1xuJHRoZW1lLXdoaXRlLW5hdi1iYWNrZ3JvdW5kLW1vYiAgIDogJGJsdWU7XG4kdGhlbWUtd2hpdGUtbmF2LWZvbnQgICAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtd2hpdGUtbmF2LWZvbnQtbW9iICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtd2hpdGUtbmF2LXNwYWNpbmctY29sb3VyICAgOiByZ2JhKCR3aGl0ZSwgMC4zKTtcbiR0aGVtZS13aGl0ZS1mb250ICAgICAgICAgICAgICAgICA6ICRibGFjaztcbiR0aGVtZS13aGl0ZS1oZWFkaW5nICAgICAgICAgICAgICA6ICRibHVlO1xuJHRoZW1lLXdoaXRlLWFjY2VudFx0XHRcdFx0XHQgICAgICA6ICR0aGVtZS1kZWZhdWx0LWFjY2VudDtcbiR0aGVtZS13aGl0ZS1sb2dvICAgICAgICAgICAgICAgICA6ICR3aGl0ZTtcblxuJHRoZW1lLWJsYWNrLXBhZ2UtYmFja2dyb3VuZCAgICAgIDogJGRlZmF1bHQtZ3JhZGllbnQ7XG4kdGhlbWUtYmxhY2stY29udGVudC1iYWNrZ3JvdW5kICAgOiAkYmxhY2s7XG4kdGhlbWUtYmxhY2stbmF2LWJhY2tncm91bmQgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtYmxhY2stbmF2LWJhY2tncm91bmQtbW9iICAgOiAkd2hpdGU7XG4kdGhlbWUtYmxhY2stbmF2LWZvbnQgICAgICAgICAgICAgOiAkYmx1ZTtcbiR0aGVtZS1ibGFjay1uYXYtZm9udC1tb2IgICAgICAgICA6ICRibHVlO1xuJHRoZW1lLWJsYWNrLW5hdi1zcGFjaW5nLWNvbG91ciAgIDogcmdiYSgkYmx1ZSwgMC4zKTtcbiR0aGVtZS1ibGFjay1mb250ICAgICAgICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1ibGFjay1oZWFkaW5nICAgICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1ibGFjay1hY2NlbnRcdFx0XHRcdFx0ICAgICAgOiAkdGhlbWUtZGVmYXVsdC1hY2NlbnQ7XG4kdGhlbWUtYmxhY2stbG9nbyAgICAgICAgICAgICAgICAgOiAkYmx1ZTtcblxuLy8vIFBhbGV0dGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBCeSBsb2FkaW5nIGNvbmZpZ3VyYXRpb25zIGludG8gdGhpcyAncGFsbGV0ZScgbW9kdWxlLCB3ZSB3aWxsIGJlIGFibGVcbi8vLyB0byBkZWNsYXJlIHZhcmlhbnRzIG9mIGEgZmV3IGNvbW1vbiBjb2xvdXJzLiBZb3UgY2FuIGFsc28gYWRqdXN0IHRoZSBsaWdodG5lc3Ncbi8vLyBvciBkYXJrbmVzcyBvZiBlYWNoIHZhcmlhbnQgYnkgcGFzc2luZyBpbiB0aGUgcmVsZXZhbnQgcHJpdmF0ZSBydWxlcy4gXG4vLy8gUGFsZXR0ZSB3aWxsIGFsc28gZXhwb3NlIHBvcHVsYXIgc29jaWFsIG1lZGlhIGNvbG91cnMgYW5kIHRoZSBZZWxsbyBicmFuZCBjb2xvdXIuXG4vLy8gQHNlZSBodHRwczovL3Nhc3MtbGFuZy5jb20vZG9jdW1lbnRhdGlvbi9hdC1ydWxlcy9mb3J3YXJkI2NvbmZpZ3VyaW5nLW1vZHVsZXNcbi8vLyBAb3V0cHV0ICRncmVlbiA6ICMwMjkyOUE7ICRncmVlbi1kYXJrIDogIzI1NjU2OTsgJGdyZWVuLWxpZ2h0OiAjMDRiOWM0O1xuXG5AZm9yd2FyZCAnY3JlYXRlL3BhbGV0dGUnd2l0aCAoJGJsdWUgOiAkYmx1ZSxcblx0JHJlZCA6ICRyZWQsXG5cdCRncmV5IDogJGdyZXksXG5cdCR5ZWxsb3cgOiAkeWVsbG93LFxuXHQkZ3JlZW4gOiAkZ3JlZW4sXG5cdCRibGFjayA6ICRibGFjayk7XG5cbiRjb21wb25lbnQtdGhlbWVzIDogKFwicmVkXCI6ICRyZWQsIFwiYmx1ZVwiOiAkYmx1ZSwgXCJncmV5XCI6ICRncmV5MywgXCJ3aGl0ZVwiIDogJHdoaXRlKTsiLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZXYgdmFsdWVzIGRlZmluZWQgYmVsb3cuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBWYWx1ZXMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuXG4vLyBUaGVzZSB0aHJlZSB2YWx1ZXMgd2lsbCBhY3QgYSBjb25zdGFudCBiYXNlbGluZSBmb3IgYWxsIGZvbGxvd2luZyB1bml0IGRlbGNhcmF0aW9ucy5cblxuLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbi8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuJGdhcCA6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1nYXAgOiAkZ2FwO1xuXG4vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiRzcGFjZXIgOiA0dmggIWRlZmF1bHQ7IFxuJGJhc2Utc3BhY2VyIDogJHNwYWNlcjsgXG5cbi8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbi8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiRndXR0ZXIgOiAzdncgIWRlZmF1bHQ7XG4kYmFzZS1ndXR0ZXIgOiAkZ3V0dGVyOyBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFzYm9sdXRlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG5cbkBmdW5jdGlvbiBnYXAoJGFtb3VudCA6IDEpIHtcbiAgQGlmICggJGFtb3VudCA9PSAxICkgeyBcbiAgICBAcmV0dXJuIHZhcigtLWdhcCk7IFxuICB9IEBlbHNlIHsgXG4gICAgQHJldHVybiBjYWxjKHZhcigtLWdhcCkgKiAjeyRhbW91bnR9KTsgXG4gIH1cbn1cblxuJGdhcDAgOiBnYXAoMC41KTsgJGdhcDAtIDogZ2FwKC0wLjUpO1xuJGdhcCAgOiBnYXAoMSk7ICAgJGdhcC0gIDogZ2FwKC0xKTtcbiRnYXAyIDogZ2FwKDIpOyAgICRnYXAyLSA6IGdhcCgtMik7XG4kZ2FwMyA6IGdhcCgzKTsgICAkZ2FwMy0gOiBnYXAoLTMpO1xuJGdhcDQgOiBnYXAoNCk7ICAgJGdhcDQtIDogZ2FwKC00KTtcbiRnYXA1IDogZ2FwKDUpOyAgICRnYXA1LSA6IGdhcCgtNSk7XG4kZ2FwNiA6IGdhcCg2KTsgICAkZ2FwNi0gOiBnYXAoLTYpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVsYXRpdmUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gX2R5bmFtaWMtdW5pdCgkY3VzdG9tLXByb3BlcnR5LCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG5cbiAgLy8gQ2FsYyBNZXRob2RcbiAgJHJlc3VsdCA6IGNhbGMoKCN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9KSArICN7aWYoJG1pbiA9PSAwLCAwcHgsICRtaW4pfSk7XG4gIFxuICAvLyBDbGFtcCBNZXRob2RcbiAgQGlmICggJHVzZS1jbGFtcCApIHtcbiAgICBAaWYgKCAkYW1vdW50ID09IDAgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3ttYXRoLmRpdigkbWluLCAyKX0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAwLjUsICN7JG1heH0pO1xuICAgIH0gQGVsc2UgaWYgKCAkYW1vdW50ID09IDEgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0sICN7JG1heH0pO1xuICAgIH1cbiAgfSBcblxuICBAaWYgKCAkdXNlLW5lZ2F0aXZlICkge1xuICAgICRyZXN1bHQgOiBjYWxjKC0xICogI3skcmVzdWx0fSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG5cbn0gXG5cbi8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIHNwYWNlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1zcGFjZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJHNwYWNlcjAgOiB2YXIoLS1zcGFjZXIwKTsgJHNwYWNlcjAtIDogdmFyKC0tc3BhY2VyMC0pO1xuJHNwYWNlciAgOiB2YXIoLS1zcGFjZXIxKTsgJHNwYWNlci0gIDogdmFyKC0tc3BhY2VyMS0pO1xuJHNwYWNlcjIgOiB2YXIoLS1zcGFjZXIyKTsgJHNwYWNlcjItIDogdmFyKC0tc3BhY2VyMi0pO1xuJHNwYWNlcjMgOiB2YXIoLS1zcGFjZXIzKTsgJHNwYWNlcjMtIDogdmFyKC0tc3BhY2VyMy0pO1xuJHNwYWNlcjQgOiB2YXIoLS1zcGFjZXI0KTsgJHNwYWNlcjQtIDogdmFyKC0tc3BhY2VyNC0pO1xuJHNwYWNlcjUgOiB2YXIoLS1zcGFjZXI1KTsgJHNwYWNlcjUtIDogdmFyKC0tc3BhY2VyNS0pO1xuJHNwYWNlcjYgOiB2YXIoLS1zcGFjZXI2KTsgJHNwYWNlcjYtIDogdmFyKC0tc3BhY2VyNi0pO1xuXG4vLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbi8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gZ3V0dGVyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLWd1dHRlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kZ3V0dGVyMCA6IHZhcigtLWd1dHRlcjApOyAkZ3V0dGVyMC0gOiB2YXIoLS1ndXR0ZXIwLSk7XG4kZ3V0dGVyICA6IHZhcigtLWd1dHRlcjEpOyAkZ3V0dGVyLSAgOiB2YXIoLS1ndXR0ZXIxLSk7XG4kZ3V0dGVyMiA6IHZhcigtLWd1dHRlcjIpOyAkZ3V0dGVyMi0gOiB2YXIoLS1ndXR0ZXIyLSk7XG4kZ3V0dGVyMyA6IHZhcigtLWd1dHRlcjMpOyAkZ3V0dGVyMy0gOiB2YXIoLS1ndXR0ZXIzLSk7XG4kZ3V0dGVyNCA6IHZhcigtLWd1dHRlcjQpOyAkZ3V0dGVyNC0gOiB2YXIoLS1ndXR0ZXI0LSk7XG4kZ3V0dGVyNSA6IHZhcigtLWd1dHRlcjUpOyAkZ3V0dGVyNS0gOiB2YXIoLS1ndXR0ZXI1LSk7XG4kZ3V0dGVyNiA6IHZhcigtLWd1dHRlcjYpOyAkZ3V0dGVyNi0gOiB2YXIoLS1ndXR0ZXI2LSk7XG4iLCIvKiB6LWluZGV4ZXMgYXJlIGxhcmdlIGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoaW5ncyBtaWdodCBjaGFuZ2VcbiAqIGluIHRoZSBmdXR1cmUuIEluIG9yZGVyIHRvIGFjY291bnQgZm9yIHNjYWxhYmlsaXR5LCB0aGlzIGdpdmVzXG4gKiByb29tIHRvIG1ha2UgY2hhbmdlcyBhbmQgbm90IGJyZWFrIHRoZSBlbnRpcmUgc2l0ZSwgbWVhbmluZyBcbiAqIHdlIHdvbid0IGhhdmUgdG8gZ28gaW4gYW5kIHJlZmFjdG9yIGEgbG90IG9mIG91ciBjb2RlLlxuICovXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIElOUFVUU1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDT05UQUlORVJTXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cdEJhc2UgcmVzdWx0IHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cblx0VmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJhc2Ugc3R5bGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFdpdGggc2Vjb25kYXJ5IHNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBDaGVja2JveCB0YWdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgIzEwMTI0ZCAwJSwgIzEzMWY2YiA4MCUpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuY2FsbC10by1hY3Rpb24taGVhZGluZywgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIC5jYWxsLXRvLWFjdGlvbi1zdWJoZWFkaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuY2FsbC10by1hY3Rpb24taGVhZGluZyB7XG4gIC0taGVhZGluZy1jb2xvdXI6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuY2FsbC10by1hY3Rpb24tc3ViaGVhZGluZyB7XG4gIC0taGVhZGluZy1jb2xvdXI6ICNERjMwMzU7XG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG59XG4uY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24gLmNhbGwtdG8tYWN0aW9uLWJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdhcCkgKiAzKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdhcCkgKiAtMik7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKHZhcigtLWdhcCkgKiAtMik7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuaW1hZ2Uge1xuICBvcmRlcjogLTE7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAodmFyKC0tZ2FwKSAqIDQpKTtcbiAgYXNwZWN0LXJhdGlvOiAxNi83O1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgbWFyZ2luOiBjYWxjKHZhcigtLWdhcCkgKiAtMikgY2FsYyh2YXIoLS1nYXApICogLTIpIGNhbGModmFyKC0tZ2FwKSAqIDIpIGNhbGModmFyKC0tZ2FwKSAqIC0yKTtcbn1cbnNpZGUtYmFyIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuY2FsbC10by1hY3Rpb24tYnV0dG9uIHtcbiAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGVhZGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnLi9jb2xsZWN0aW9ucy9mb250JztcbkB1c2UgJy4vbW9kdWxlcy91bml0JztcblxuLy8gRGVmYXVsdCBIZWFkaW5nIFZhbHVlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGgxIDogKFxuICAnZm9udC1zaXplJyAgIDogMy4wcmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS4xXG4pICFkZWZhdWx0O1xuXG4kaDIgOiAoXG4gICdmb250LXNpemUnICAgOiAyLjVyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjNcbikgIWRlZmF1bHQ7XG5cbiRoMyA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDIuMnJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGg0IDogKFxuICAnZm9udC1zaXplJyAgIDogMi4wcmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kaDUgOiAoXG4gICdmb250LXNpemUnICAgOiAxLjhyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRoNiA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDEuNnJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGJhc2UgOiA2Mi41ICFkZWZhdWx0O1xuJHNjYWxlciA6IDEuNXZ3ICFkZWZhdWx0O1xuJGVuYWJsZS1jcm9wcGluZyA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWxsYmFjayBMaW5lLWhlaWdodHMgc2hvdWxkIHRoZXkgbm90IGhhdmUgYmVlbiBwYXNzZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMSwgXCJsaW5lLWhlaWdodFwiKSB7ICRoMSA6IG1hcC5zZXQoJGgxLCAnbGluZS1oZWlnaHQnLCAxLjEpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMiwgXCJsaW5lLWhlaWdodFwiKSB7ICRoMiA6IG1hcC5zZXQoJGgyLCAnbGluZS1oZWlnaHQnLCAxLjMpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMywgXCJsaW5lLWhlaWdodFwiKSB7ICRoMyA6IG1hcC5zZXQoJGgzLCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNCwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNCA6IG1hcC5zZXQoJGg0LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNSwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNSA6IG1hcC5zZXQoJGg1LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNiwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNiA6IG1hcC5zZXQoJGg2LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5cbi8vIERlZmluZSB0aGUgdmFyaWFibGVzIHNvIHRoZXkgYXJlIHN0aWxsIGFjY2VzaWJsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoMS1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDEsICdmb250LXNpemUnKTtcbiRoMS1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDEsICdsaW5lLWhlaWdodCcpO1xuJGgxLWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDEsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDEsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGgxLXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDEsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoMSwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDItZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGgyLCAnZm9udC1zaXplJyk7XG4kaDItbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGgyLCAnbGluZS1oZWlnaHQnKTtcbiRoMi1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGgyLCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoMi1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDIsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGgzLWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoMywgJ2ZvbnQtc2l6ZScpO1xuJGgzLWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoMywgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDMtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoMywgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDMtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGgzLCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoNC1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDQsICdmb250LXNpemUnKTtcbiRoNC1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDQsICdsaW5lLWhlaWdodCcpO1xuJGg0LWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDQsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDQsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGg0LXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDQsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoNCwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDUtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGg1LCAnZm9udC1zaXplJyk7XG4kaDUtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGg1LCAnbGluZS1oZWlnaHQnKTtcbiRoNS1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGg1LCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoNS1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDUsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGg2LWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoNiwgJ2ZvbnQtc2l6ZScpO1xuJGg2LWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoNiwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDYtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoNiwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDYtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGg2LCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbi8vIEhhbmRsZXMgQ3JvcHMgc2hvdWxkIHRoZXkgbm90IGhhdmUgYmVlbiBwYXNzZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRfaDEtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDEsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGgxLCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2gyLWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoMiwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oMy1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDMsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDQtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDQsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGg0LCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2g1LWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoNSwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oNi1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDYsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcblxuJF9oMS1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoMSwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDEsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDItY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDIsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGgyLCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2gzLWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGgzLCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoMywgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oNC1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoNCwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDQsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDUtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDUsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGg1LCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2g2LWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGg2LCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoNiwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuXG5cbi8vIE1peGlucyBmb3IgZWFjaCBoZWFkaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBfc2V0LWNyb3AoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkY3JvcCkge1xuXG4gIEBpZiAobWV0YS50eXBlLW9mKCRjcm9wKSA9PSAnbWFwJykge1xuXG4gICAgJGZvbnQtc2l6ZSAgIDogdW5pdC5zdHJpcCgkZm9udC1zaXplKSAqIDEwO1xuICAgICRsaW5lLWhlaWdodCA6IHVuaXQuc3RyaXAoJGxpbmUtaGVpZ2h0KTtcbiAgICAkdG9wICAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkY3JvcCwgXCJ0b3BcIiksIHVuaXQuc3RyaXAobWFwLmdldCgkY3JvcCwgXCJ0b3BcIikpLCAwKTtcbiAgICAkYm90dG9tICAgICAgOiBpZihtYXAuaGFzLWtleSgkY3JvcCwgXCJib3R0b21cIiksIHVuaXQuc3RyaXAobWFwLmdldCgkY3JvcCwgXCJib3R0b21cIikpLCAwKTtcblxuICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICR0b3AsICRib3R0b20pO1xuXG4gIH1cblxufVxuXG5AbWl4aW4gaDEoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDEtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDEtZm9udC1zaXplLW1pbiBhbmQgJGgxLWZvbnQtc2l6ZS1taW4gPCAkaDEtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMS1mb250LXNpemUtbWluKX0sICN7JGgxLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMS1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMS1mb250LXNpemUsICRoMS1saW5lLWhlaWdodCwgJF9oMS1jcm9wLXRvcCwgJF9oMS1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgxLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG5cbiAgfVxuXG59XG5cbkBtaXhpbiBoMigkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoMi1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoMi1mb250LXNpemUtbWluIGFuZCAkaDItZm9udC1zaXplLW1pbiA8ICRoMi1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGgyLWZvbnQtc2l6ZS1taW4pfSwgI3skaDItc2NhbGVyfSwgI3tmb250LnNpemUoJGgyLWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGgyLWZvbnQtc2l6ZSwgJGgyLWxpbmUtaGVpZ2h0LCAkX2gyLWNyb3AtdG9wLCAkX2gyLWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDItbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoMygkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoMy1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoMy1mb250LXNpemUtbWluIGFuZCAkaDMtZm9udC1zaXplLW1pbiA8ICRoMy1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGgzLWZvbnQtc2l6ZS1taW4pfSwgI3skaDMtc2NhbGVyfSwgI3tmb250LnNpemUoJGgzLWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGgzLWZvbnQtc2l6ZSwgJGgzLWxpbmUtaGVpZ2h0LCAkX2gzLWNyb3AtdG9wLCAkX2gzLWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDMtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNCgkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNC1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNC1mb250LXNpemUtbWluIGFuZCAkaDQtZm9udC1zaXplLW1pbiA8ICRoNC1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg0LWZvbnQtc2l6ZS1taW4pfSwgI3skaDQtc2NhbGVyfSwgI3tmb250LnNpemUoJGg0LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGg0LWZvbnQtc2l6ZSwgJGg0LWxpbmUtaGVpZ2h0LCAkX2g0LWNyb3AtdG9wLCAkX2g0LWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDQtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNSgkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNS1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNS1mb250LXNpemUtbWluIGFuZCAkaDUtZm9udC1zaXplLW1pbiA8ICRoNS1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg1LWZvbnQtc2l6ZS1taW4pfSwgI3skaDUtc2NhbGVyfSwgI3tmb250LnNpemUoJGg1LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGg1LWZvbnQtc2l6ZSwgJGg1LWxpbmUtaGVpZ2h0LCAkX2g1LWNyb3AtdG9wLCAkX2g1LWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDUtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNigkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNi1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNi1mb250LXNpemUtbWluIGFuZCAkaDYtZm9udC1zaXplLW1pbiA8ICRoNi1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg2LWZvbnQtc2l6ZS1taW4pfSwgI3skaDYtc2NhbGVyfSwgI3tmb250LnNpemUoJGg2LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AyKCRoNi1mb250LXNpemUsICRoNi1saW5lLWhlaWdodCwgJF9oNi1jcm9wLXRvcCwgJF9oNi1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg2LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5cbiJdfQ== */