@media screen and (min-width: 768px) {
  .sitemap {
    min-height: 800px;
  }
}

.sitemap .menu-wrapper {
  margin: 0 -10px;
}

.sitemap .sitemap-nav {
  width: 100%;
  color: #555555;
  font-size: 0;
  font-weight: 500;
}

.sitemap .menu-list {
  display: inline-block;
  width: 50%;
  padding: 0 10px;
  vertical-align: top;
  min-height: 200px;
}

@media screen and (min-width: 544px) {
  .sitemap .menu-list {
    width: 33.333%;
  }
}

@media screen and (min-width: 992px) {
  .sitemap .menu-list {
    width: 20%;
  }
}

.sitemap .menu-list .menu {
  display: inline-block;
  position: relative;
  width: 100%;
  padding-bottom: 25px;
  border-bottom: 1px solid #707070;
  font-size: 20px;
  font-weight: 700;
  color: #000;
}

.sitemap .sub-menu-list-wrap {
  margin-top: 18px;
  margin-bottom: 48px;
}

@media screen and (min-width: 992px) {
  .sitemap .sub-menu-list-wrap {
    margin-top: 28px;
  }
}

.sitemap .sub-menu-list {
  font-size: 18px;
  letter-spacing: -0.02em;
  color: #777777;
}

@media screen and (min-width: 992px) {
  .sitemap .sub-menu-list {
    font-size: 20px;
  }
}

.sitemap .sub-menu-list .text {
  display: inline-block;
  margin-bottom: 20px;
}

.sitemap .sub-menu-list .text:hover {
  color: #29a3b8;
}

.sitemap .sub-menu-list:last-child .text {
  margin-bottom: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0L3BhZ2Uvc2l0ZW1hcC9zaXRlbWFwLmNzcyIsInNvdXJjZXMiOlsibGF5b3V0L3BhZ2Uvc2l0ZW1hcC9zaXRlbWFwLnNjc3MiLCJyZXMvc2Nzcy9fX3ZhcmlhYmxlcy5zY3NzIiwicmVzL3Njc3MvX19taXhpbnMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fbWVkaWEtcXVlcnkuc2NzcyIsInJlcy9zY3NzL21peGlucy9fbWFwLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2NsZWFyLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3NjcmVlbnJlYWRlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3ByZWZpeGVyLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fYXJlYS5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3RyaWFuZ2xlLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fY2FyZHMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL190YWJsZXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fdGFiLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInJlcy9zY3NzL19fdmFyaWFibGVzLnNjc3NcIjtcclxuQGltcG9ydCBcInJlcy9zY3NzL19fbWl4aW5zLnNjc3NcIjtcclxuXHJcbi5zaXRlbWFwIHtcclxuICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpIHtcclxuICAgIG1pbi1oZWlnaHQ6IDgwMHB4O1xyXG4gIH1cclxuXHJcbiAgLm1lbnUtd3JhcHBlciB7XHJcbiAgICBtYXJnaW46IDAgLTEwcHg7XHJcbiAgfVxyXG5cclxuICAuc2l0ZW1hcC1uYXYge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBjb2xvcjogIzU1NTU1NTtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgfVxyXG5cclxuICAubWVudS1saXN0IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pIHtcclxuICAgICAgd2lkdGg6IDMzLjMzMyU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKSB7XHJcbiAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzcwNzA3MDtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zdWItbWVudS1saXN0LXdyYXAge1xyXG4gICAgbWFyZ2luLXRvcDogMThweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDI4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zdWItbWVudS1saXN0IHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xyXG4gICAgY29sb3I6ICM3Nzc3Nzc7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpe1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAudGV4dCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkZ19wb2ludC10aGVtZS1jb2xvcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLy8vLy9kZWZhdWx0Ly8vLy9cclxuLy9jb2xvclxyXG4kZ193aGl0ZTogI2ZmZiAhZGVmYXVsdDtcclxuJGdfYmxhY2s6ICMwMDAgIWRlZmF1bHQ7XHJcbiRnX3JlZDogI2ZmMDAwMDtcclxuXHJcbiRnX3BvaW50LWZvbnQtY29sb3I6ICNmZmY7XHJcbiRnX3BvaW50LXRoZW1lLWNvbG9yOiAjMjlhM2I4O1xyXG4kZ19wb2ludC10aGVtZTItY29sb3I6ICMzOGMwZDY7XHJcblxyXG5cclxuLy9mb250XHJcbi8vLWZvbnQtZmFtaWx5XHJcbiRnX2ZvbnQtZmFtaWx5OiAoXHJcbiAgc3lzdGVtOiAnIFwi66eR7J2AIOqzoOuUlVwiLCBcIk1hbGd1biBHb3RoaWNcIiwgXCLslaDtlIwgU0Qg7IKw64+M6rOg65SVIE5lb1wiLCBcIkFwcGxlIFNEIEdvdGhpYyBOZW9cIiwgc2Fucy1zZXJpZiAnLFxyXG4gIC8vIG5vdG86ICdcIk5vdG8gU2FucyBLUlwiLCBzYW5zLXNlcmlmJyxcclxuICBuYW51bXNxdXJlOiAnXCJOQU5VTVNRVUFSRVwiLCBzYW5zLXNlcmlmJyxcclxuICBkb3R1bTogJ1wiRG90dW1cIiwgc2Fucy1zZXJpZicsXHJcbiAgbGF0bzogJ1wiTGF0b1wiLCBzYW5zLXNlcmlmJyxcclxuKTtcclxuJGZvbnQtc3lzdGVtOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIHN5c3RlbSl9O1xyXG4vLyAkZm9udC1ub3RvOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIG5vdG8pfTtcclxuJGZvbnQtbmFudW1zcXVyZTogI3ttYXAtZ2V0KCRnX2ZvbnQtZmFtaWx5LCBuYW51bXNxdXJlKX07XHJcbiRmb250LWRvdHVtOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIGRvdHVtKX07XHJcbiRmb250LWxhdG86ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgbGF0byl9O1xyXG5cclxuLy8tZm9udC1zaXplXHJcbiRnX2ZvbnQtc2l6ZTooXHJcbiAgeHM6IDEwcHgsXHJcbiAgc206IDEycHgsXHJcbiAgbWQ6IDE1cHgsXHJcbiAgbGc6IDE4cHgsXHJcbiAgeGw6IDI0cHgsXHJcbik7XHJcblxyXG4vLy1mb250LXdlaWdodFxyXG4kZ19mb250LXdlaWdodHM6IDEwMCwgMjAwLCAzMDAsIDQwMCwgNTAwLCA2MDAsIDcwMCwgODAwLCA5MDA7XHJcblxyXG4vLy1sZXR0ZXItc3BhY2luZ1xyXG5cclxuLy8vLy9tZWRpYS8vLy8vXHJcbiRnX21lZGlhLWJyZWFrcG9pbnRzOiAoXHJcbiAgeHM6IDAsXHJcbiAgc206IDU0NHB4LFxyXG4gIG1kOiA3NjhweCxcclxuICBsZzogOTkycHgsXHJcbiAgeGw6IDEyMDBweFxyXG4pO1xyXG5cclxuLy8vLy9sYXlvdXQvLy8vL1xyXG4vL2FyZWFcclxuJGdfbWF4LXdpZHRoOiAxMTQwcHg7XHJcbiRnX2FyZWEtZ3V0dGVyLXdpZHRoOiAxNXB4O1xyXG5cclxuLy9ncmlkXHJcbiRnX2dyaWQtY29sdW1uczogMTI7XHJcbiRnX2dyaWQtZ3V0dGVyLXdpZHRoOiAxJTtcclxuXHJcbiRnX2RlZmF1bHQtYXJlYTogKFxyXG4gIG1heC13aWR0aDogJGdfbWF4LXdpZHRoLFxyXG4gIGd1dHRlci13aWR0aDogJGdfYXJlYS1ndXR0ZXItd2lkdGgsXHJcbiAgd2lkdGg6IDEwMCVcclxuKTtcclxuJGdfZnVsbC1hcmVhOiAoXHJcbiAgbWF4LXdpZHRoOiAxNzUwcHgsXHJcbiAgZ3V0dGVyLXdpZHRoOiAkZ19hcmVhLWd1dHRlci13aWR0aCxcclxuICB3aWR0aDogMTAwJVxyXG4pO1xyXG4kZ19ub2d1dHRlci1hcmVhOiAoXHJcbiAgbWF4LXdpZHRoOiAkZ19tYXgtd2lkdGhcclxuKTtcclxuJGdfYnRuLWFyZWE6IChcclxuICBtYXgtd2lkdGg6ICRnX21heC13aWR0aCxcclxuICBndXR0ZXItd2lkdGg6IDIwcHgsXHJcbik7XHJcblxyXG4vL2dyaWRcclxuJGdfZ3JpZC1jb2wtaW5mbzogKFxyXG4gIGdyaWQtY29sLWNudDogMTIsXHJcbiAgZ3JpZC1jb2wtbmFtZTogbnVsbFxyXG4pO1xyXG4kZ3JpZC1jb2w1LWluZm86IChcclxuICBncmlkLWNvbC1jbnQ6IDUsXHJcbiAgZ3JpZC1jb2wtbmFtZTogZml2ZS1cclxuKTtcclxuXHJcbi8vLy8vVVRJTElUSUVTLy8vLy9cclxuLy9jbGVhclxyXG5cclxuLy9zcGFjaW5nXHJcbiRzcGFjZXJzOihcclxuICAwOiAwLFxyXG4gIDU6IDVweCxcclxuICAxMDogMTBweCxcclxuICAxNTogMTVweCxcclxuICAyMDogMjBweCxcclxuICAyNTogMjVweCxcclxuICAzMDogMzBweCxcclxuICAzNTogMzVweCxcclxuICA0MDogNDBweCxcclxuICA0NTogNDVweCxcclxuICA1MDogNTBweCxcclxuICA1NTogNTVweCxcclxuICA2MDogNjBweCxcclxuICA2NTogNjVweCxcclxuICA3MDogNzBweCxcclxuICA3NTogNzVweCxcclxuICA4MDogODBweCxcclxuICA4NTogODVweCxcclxuICA5MDogOTBweCxcclxuICAxMDA6IDEwMHB4LFxyXG4gIDE0MDogMTQwcHhcclxuKTtcclxuXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXHJcblxyXG4vLy8vL0NPTVBPTkVOVFMvLy8vL1xyXG4vL2NhcmRcclxuJGdfY2FyZC13cmFwOiAoXHJcbiAgZGVmYXVsdDogKFxyXG4gICAgd3JhcDogKFxyXG4gICAgICBwYWRkaW5nOiAwIDMwcHgsXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHgsXHJcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXI6IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApLFxyXG4gICAgICBib3JkZXItcmFkaXVzOiA1cHhcclxuICAgICksXHJcbiAgICBoZWFkZXI6IChcclxuICAgICAgcGFkZGluZzogMjVweCAwLFxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxyXG4gICAgICBib3JkZXItc3R5bGU6ICggYm9yZGVyLWJvdHRvbTogXCIxcHggc29saWQgI2U3ZTllZVwiICksXHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweFxyXG4gICAgKSxcclxuICAgIGJvZHk6IChcclxuICAgICAgcGFkZGluZzogMzBweCAwLFxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmXHJcbiAgICApLFxyXG4gICAgZm9vdGVyOiAoXHJcbiAgICAgIHBhZGRpbmc6IDI1cHggMCxcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcclxuICAgICAgYm9yZGVyLXN0eWxlOiAoIGJvcmRlci10b3A6IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApXHJcbiAgICApXHJcbiAgKVxyXG4pO1xyXG4vL19mb3JtLXdhcnBcclxuJGdfZm9ybS13cmFwOiAoXHJcbiAgZGVmYXVsdF92YWx1ZTogKFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXHJcbiAgKSxcclxuICB0YWJsZSA6IChcclxuICAgIG1lZGlhOiAoXHJcbiAgICAgIHhzOiAoXHJcbiAgICAgICAgZm9ybS13cmFwOiAoLy8uZm9ybS13YXJwLXRhYmxlIC5mb3JtLXdyYXBcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICBib3JkZXItdG9wOiBcIjFweCBzb2xpZCAjZWVlXCIsXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCI6bGFzdC1jaGlsZFwiIDogKFxyXG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IFwiMXB4IHNvbGlkICNlZWVcIlxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSxcclxuICAgICAgICBmb3JtLXRpdGxlOiAoLy8uZm9ybS13YXJwLXRhYmxlIC5mb3JtLXRpdGxlXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMHB4LFxyXG4gICAgICAgICAgcGFkZGluZzogXCIwIDEwcHhcIixcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4ZjgsXHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxyXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4LFxyXG4gICAgICAgICksXHJcbiAgICAgICAgZm9ybS1ib2R5OiAoLy8uZm9ybS13YXJwLXRhYmxlIC5mb3JtLWJvZHlcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwsXHJcbiAgICAgICAgICBwYWRkaW5nOiBcIjEwcHggMTVweFwiLFxyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCxcclxuICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgICBtZDogKFxyXG4gICAgICAgIGZvcm0tdGl0bGU6IChcclxuICAgICAgICAgIHdpZHRoOiAxNTBweCxcclxuICAgICAgICAgIHBhZGRpbmc6IFwiMjBweCAyMHB4XCIsXHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHgsXHJcbiAgICAgICAgKSxcclxuICAgICAgICBmb3JtLWJvZHk6IChcclxuICAgICAgICAgIHBhZGRpbmc6IFwiMTBweCAxNXB4XCJcclxuICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgKSxcclxuICApLFxyXG4gIG1hdGVyaWFsIDogKFxyXG4gICAgbWVkaWE6IChcclxuICAgICAgeHM6IChcclxuICAgICAgICBmb3JtLXdyYXA6IChcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCI6YWZ0ZXJcIiA6IChcclxuICAgICAgICAgICAgICBjb250ZW50OiBcIicnXCIsXHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2ssXHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxcHgsXHJcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogXCJ0cmFuc2Zvcm0gLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIC41c1wiLFxyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApLFxyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMsXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIFwiOmhvdmVyOmFmdGVyXCIgOiAoXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkLFxyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBcIi5hY3RpdmU6YWZ0ZXJcIiA6IChcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKSxcclxuICAgICAgICApLFxyXG4gICAgICAgIGZvcm0tdGl0bGU6IChcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrLFxyXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4LFxyXG4gICAgICAgICksXHJcbiAgICAgICAgZm9ybS1ib2R5OiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayxcclxuICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgKSxcclxuICApLFxyXG4gIG5vLW1lZGlhLXRlc3QgOiAoXHJcbiAgICB4cyA6KFxyXG4gICAgICBmb3JtLXdyYXA6IChcclxuICAgICAgICBkaXNwbGF5OiBibG9jayxcclxuICAgICAgICB3aWR0aDogMTAwJSxcclxuICAgICAgKSxcclxuICAgICksXHJcbiAgKSxcclxuKTtcclxuLy9faW5wdXRcclxuJGdfZmllbGQtc3R5bGU6IChcclxuICBzdHlsZTE6ICgvL+q0gOumrOyekFxyXG4gICAgYm9yZGVyLXN0eWxlOiAoYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNWQ2ZDgpLFxyXG4gICAgaW5wdXQtaGVpZ2h0OiBhdXRvLFxyXG4gICAgaW5wdXQtcGFkZGluZzogMCAwIDVweCAwLFxyXG4gICAgaW5wdXQtYmc6IHRyYW5zcGFyZW50LFxyXG4gICAgcGxhY2Vob2xkZXItY29sb3I6ICNjY2NmZDYsXHJcbiAgKSxcclxuICBzdHlsZTI6ICgvL+2ajOybkOqwgOyehSwg7ZqM7JuQ7KCV67O0IOyImOyglSDtj7xcclxuICAgIG1heC13aWR0aDogMzMwcHgsXHJcbiAgICBib3JkZXItc3R5bGU6IChib3JkZXI6IDFweCBzb2xpZCAjZGRkKSxcclxuICAgIGlucHV0LWhlaWdodDogMzVweCxcclxuICAgIGlucHV0LXBhZGRpbmc6IDAgMTBweCxcclxuICAgIHBsYWNlaG9sZGVyLWNvbG9yOiAjY2NjZmQ2LFxyXG4gICAgZm9udC1zaXplOiAxM3B4LFxyXG4gICAgZm9udC1jb2xvcjogIzU1NSxcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW0sXHJcbiAgKSxcclxuICBzdHlsZTM6ICgvL+uhnOq3uOyduCwg7ZqM7JuQ6rCA7J6FIO2UjOuhnOyasCAvL+yImOygleyZhOujjFxyXG4gICAgYm9yZGVyLXN0eWxlOiAoYm9yZGVyOiAxcHggc29saWQgI2RkZCksXHJcbiAgICBpbnB1dC1oZWlnaHQ6IDUwcHgsXHJcbiAgICBpbnB1dC1wYWRkaW5nOiAwIDEwcHgsXHJcbiAgICBpbnB1dC1iZzogdHJhbnNwYXJlbnQsXHJcbiAgICBwbGFjZWhvbGRlci1jb2xvcjogIzkwOTA5MCxcclxuICAgIGZvbnQtc2l6ZTogMTJweCxcclxuICAgIGZvbnQtY29sb3I6ICMzMzMsXHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtLFxyXG4gICksXHJcbiAgc3R5bGU0OiAoLy/sg4Htkogg7IOB7IS4XHJcbiAgICBib3JkZXItc3R5bGU6IChib3JkZXI6IDFweCBzb2xpZCAjZDJkMmQyKSxcclxuICAgIGlucHV0LWhlaWdodDogNDJweCxcclxuICAgIGlucHV0LXBhZGRpbmc6IDAgMTVweCxcclxuICAgIGlucHV0LWJnOiAjZmZmLFxyXG4gICAgcGxhY2Vob2xkZXItY29sb3I6ICM5MDkwOTAsXHJcbiAgICBmb250LXNpemU6IDEzcHgsXHJcbiAgICBmb250LWNvbG9yOiAjNmU2ZDZkLFxyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4ZW0sXHJcbiAgKVxyXG4pO1xyXG5cclxuLy9fdGV4dGFyZWFcclxuJGdfdGV4dC1hcmVhLXN0eWxlOiAoXHJcbiAgc3R5bGUxOiAoXHJcbiAgICB0ZXh0LWFyZWEtaGVpZ2h0OiAxNTBweCxcclxuICAgIHRleHQtYXJlYS1wYWRkaW5nOiA1cHgsXHJcbiAgKSxcclxuICBzdHlsZTI6IChcclxuICAgIHRleHQtYXJlYS1oZWlnaHQ6IDE1MHB4LFxyXG4gICAgdGV4dC1hcmVhLXBhZGRpbmc6IDEwcHgsXHJcbiAgKSxcclxuICBzdHlsZTM6IChcclxuICAgIHRleHQtYXJlYS1oZWlnaHQ6IDE1MHB4LFxyXG4gICAgdGV4dC1hcmVhLXBhZGRpbmc6IDVweCxcclxuICApLFxyXG4gIFxyXG4pO1xyXG5cclxuLy9fc2VsZWN0XHJcbiRnX3NlbGVjdC1zdHlsZTogKFxyXG4gIHN0eWxlMTogKFxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTAwcHggYm90dG9tIDUwJSxcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vYnRuX3NlbGVjdF9hcnJvd19zdDAxLnBuZyksXHJcbiAgKSxcclxuICBzdHlsZTI6ICggLy8gKO2ajOybkOqwgOyehSztmozsm5DsoJXrs7QpIOyXsOudveyymFxyXG4gICAgcGFkZGluZzogMCAzNXB4IDAgMTBweCxcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggYm90dG9tIDUwJSxcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2J0bl9zZWxlY3RfYXJyb3dfc3QwMS5wbmcpLFxyXG4gICAgLy9vcHRpb24gOiAoIGNvbG9yOiMyMjIgKSAvL+yEnOu4jCDtgbTrnpjsiqQg7IOd7ISxXHJcbiAgKSxcclxuICBzdHlsZTM6IChcclxuICAgIG92ZXJmbG93OiBoaWRkZW4sXHJcbiAgKSxcclxuICBzdHlsZTQ6ICgvL+yDge2SiCDsg4HshLhcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlLFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vaW1nX3NlbGVjdF9zdHlsZTEucG5nKSxcclxuICAgIC8vb3B0aW9uIDogKCBjb2xvcjojMjIyICkgLy/shJzruIwg7YG0656Y7IqkIOyDneyEsVxyXG4gIClcclxuKTtcclxuLy9fY2hlY2stYm94XHJcbiRnX2NoZWNrLWJveC1pbWc6IChcclxuICBpbWctMSA6IChcclxuICAgIHdpZHRoOiAyNHB4LFxyXG4gICAgaGVpZ2h0OiAyNHB4LFxyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHgsXHJcbiAgICBib3gtaW1nOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDNfb2ZmLnBuZyksXHJcbiAgICBib3gtaW1nLW9uOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDNfb24ucG5nKSxcclxuICAgIGZvbnQtc2l6ZTogMTRweFxyXG4gICksXHJcbiAgaW1nLTIgOiAoXHJcbiAgICB3aWR0aDogMzJweCxcclxuICAgIGhlaWdodDogMzJweCxcclxuICAgIG1hcmdpbi1yaWdodDogOHB4LFxyXG4gICAgYm94LWltZzogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAxX29mZi5wbmcpLFxyXG4gICAgYm94LWltZy1vbjogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAxX29uLnBuZyksXHJcbiAgICBmb250LXNpemU6IDE0cHhcclxuICApLFxyXG4gIGltZy0zIDogKFxyXG4gICAgd2lkdGg6IDIwcHgsXHJcbiAgICBoZWlnaHQ6IDIwcHgsXHJcbiAgICBib3gtaW1nOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDJfb2ZmLnBuZyksXHJcbiAgICBib3gtaW1nLW9uOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDJfb24ucG5nKSxcclxuICAgIGZvbnQtc2l6ZTogMTRweFxyXG4gIClcclxuKTtcclxuJGdfY2hlY2stYm94LXRhZzogKFxyXG4gIHRhZy0xIDogKCAvLyDslYTsnbTrlJTsoIDsnqUgLy8g7JW96rSA64+Z7J2YIC8vIOqysOygnOyImOuLqCAvL+uwsOyGoeyngCDshKDtg50gLy8g67Cw7Iah7KeA7JetIOyEoO2DnVxyXG4gICAgd2lkdGg6IDE0cHgsXHJcbiAgICBoZWlnaHQ6IDE0cHgsXHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHgsXHJcbiAgICBib3gtbWFyZ2luLXJpZ2h0IDogNXB4LFxyXG4gICAgYm94LW91dGxpbmU6IDFweCBzb2xpZCAjYWFhLFxyXG4gICAgY2hlY2tlZC1jb2xvcjogIzU1NSxcclxuICAgIGZvbnQtc2l6ZTogMTFweFxyXG4gICksXHJcbiAgdGFnLTIgOiAoXHJcbiAgICB3aWR0aDogMjBweCxcclxuICAgIGhlaWdodDogMjBweCxcclxuICAgIGJveC1tYXJnaW4tcmlnaHQ6IDVweCxcclxuICAgIGJveC1vdXRsaW5lOiAxcHggc29saWQgIzMzMyxcclxuICAgIGNoZWNrZWQtd2lkdGg6IDEycHgsXHJcbiAgICBjaGVja2VkLWhlaWdodDogMTJweCxcclxuICAgIGNoZWNrZWQtY29sb3I6ICMzMzMsXHJcbiAgICBmb250LXNpemU6IDE0cHhcclxuICApXHJcbik7XHJcblxyXG4vL190YWJsZVxyXG4kZ19ycC10YWJsZTogKFxyXG4gIHN0eWxlMTogKFxyXG4gICAgbWVkaWE6IChcclxuICAgICAgeHM6IChcclxuICAgICAgICBycC10YWJsZTogKFxyXG4gICAgICAgICAgbWFyZ2luLXRvcDogNTBweCxcclxuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTdlOWVlXHJcbiAgICAgICAgKSxcclxuICAgICAgICBycC10aGVhZDogKFxyXG4gICAgICAgICAgZGlzcGxheTogbm9uZVxyXG4gICAgICAgICksXHJcbiAgICAgICAgcnAtdGg6IChcclxuXHJcbiAgICAgICAgKSxcclxuICAgICAgICBycC10cjogKFxyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2ssXHJcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweCxcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlOWVlLFxyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNXMsXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCI6aG92ZXJcIiA6IChcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3LFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBcIi5pcy1ub3RpY2VcIiA6IChcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3LFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBcIi5ub25lLWhvdmVyOmhvdmVyXCIgOiAoXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICBcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRkOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXHJcbiAgICAgICAgICBwYWRkaW5nOiA1cHgsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCxcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtLFxyXG4gICAgICAgICAgY29sb3I6ICM2MDYzNjksXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCIudGQtYmxvY2tcIiA6IChcclxuICAgICAgICAgICAgICBkaXNwbGF5IDogYmxvY2tcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICAgIG1kOiAoXHJcbiAgICAgICAgcnAtdGhlYWQ6IChcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTllZSxcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCxcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRoOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxyXG4gICAgICAgICAgcGFkZGluZzogMjJweCA1cHgsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4LFxyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW0sXHJcbiAgICAgICAgICBjb2xvcjogI2ExYTViMSxcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRyOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSxcclxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4LFxyXG4gICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZCxcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRkOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDVweCxcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCIudGQtYmxvY2tcIiA6IChcclxuICAgICAgICAgICAgICBkaXNwbGF5IDogdGFibGUtY2VsbFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSxcclxuICAgICAgKVxyXG4gICAgKSxcclxuICApXHJcbik7XHJcblxyXG4vL19idXR0b25cclxuJGdfYnRuLXNpemU6IChcclxuICBkZWZhdWx0X3ZhbHVlOiAoKSwgLy/stpTqsIDsi5wgYmFzZS9fYnV0dG9ucy5zY3NzIOyImOygleyalOunnVxyXG4gIHhzOiAoIC8v67Cw7Iah7KGw7ZqMLO2bhOq4sOyekeyEsVxyXG4gICAgd2lkdGg6IDUwcHgsXHJcbiAgICBoZWlnaHQ6IDM1cHgsXHJcbiAgICBsaW5lLWhlaWdodDogMzVweCxcclxuICAgIGZvbnQtc2l6ZTogMTJweCxcclxuICApLFxyXG4gIHNtOiAoIC8v6rKM7Iuc7YyQIOuyhO2KvCwgcG9wdXBcclxuICAgIHdpZHRoOiAxMThweCxcclxuICAgIGhlaWdodDogNTBweCxcclxuICAgIGxpbmUtaGVpZ2h0OiA1MHB4LFxyXG4gICAgZm9udC1zaXplOiAxNHB4LFxyXG4gICAgbWVkaWE6IChcclxuICAgICAgc206IChcclxuICAgICAgICBoZWlnaHQ6IDQwcHgsXHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHgsXHJcbiAgICAgIClcclxuICAgIClcclxuICApLFxyXG4gIG1kOiAoIC8v7Jqw7Y6467KI7Zi47LC+6riwLCDtmozsm5Dtg4jth7RcclxuICAgIHdpZHRoOiAxMDBweCxcclxuICAgIGhlaWdodDogMzVweCxcclxuICAgIGxpbmUtaGVpZ2h0OiAzNXB4LFxyXG4gICAgZm9udC1zaXplOiAxNHB4LFxyXG4gICksXHJcbiAgbGc6ICggLy8g6riw67O4IOyCrOydtOymiCzsoJzstpztlZjquLAg67KE7Yq8XHJcbiAgICB3aWR0aDogMTAwJSxcclxuICAgIGhlaWdodDogNjBweCxcclxuICAgIGxpbmUtaGVpZ2h0OiA2MHB4LFxyXG4gICAgZm9udC1zaXplOiAxN3B4LFxyXG4gICAgZm9udC13ZWlnaHQ6IDcwMCxcclxuICAgIG1lZGlhOiAoXHJcbiAgICAgIHNtOiAoXHJcbiAgICAgICAgd2lkdGg6IDIzNXB4LFxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKSxcclxuICB4bDogKCAvLyDsgqzsmqnslYjtlahcclxuICAgIHdpZHRoOiAyNDZweCxcclxuICAgIGhlaWdodDogNDlweCxcclxuICAgIGxpbmUtaGVpZ2h0OiA0OXB4LFxyXG4gICAgZm9udC1zaXplOiAxNnB4LFxyXG4gICksXHJcbiAgcGFkZGluZzogKFxyXG4gICAgcGFkZGluZzogMTBweCAyMHB4LFxyXG4gICAgZm9udC1zaXplOiAxM3B4LFxyXG4gICAgaW5uZXItdGVzdDogKFxyXG4gICAgICB3aWR0aDogMTAwJSxcclxuICAgICAgaGVpZ2h0OiA1MHB4LFxyXG4gICAgICB0ZXN0OiAoXHJcbiAgICAgICAgc2l6ZTogMTBweFxyXG4gICAgICApXHJcbiAgICApLFxyXG4gICAgbWVkaWE6KFxyXG4gICAgICBzbTooXHJcbiAgICAgICAgb3BhY2l0eToxXHJcbiAgICAgIClcclxuICAgICksXHJcbiAgKSxcclxuICBmdWxsOihcclxuICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgaGVpZ2h0OiA2MHB4LFxyXG4gICAgbGluZS1oZWlnaHQ6IDYwcHgsXHJcbiAgICBmb250LXNpemU6IDE3cHgsXHJcbiAgICBmb250LXdlaWdodDogNzAwLFxyXG4gICksXHJcbik7XHJcblxyXG4kZ19idG4tZ3JvdXAgOiAoIC8vIOuyhO2KvCDsiqTtg4Dsnbwg7ISk7KCV7ZWY6riwXHJcbiAgLy8g67KE7Yq87YG0656Y7Iqk7J2066aEIDog7IKs7Jqp7ZWgIOyGjeyEseqwkiAo7IKs7Jqp7ZWY7KeAIOyViuydhOqyveyasCDrs4DsiJgg7IKt7KCc6rCA64qlLCDrs4DsiJgg7LaU6rCA7ZWg6rK97JqwIG1peGluX2J1dHRvbnMg7YyM7J287JeQIOuYkO2VnCDstpTqsIApXHJcbiAgcG9pbnQgOiAgKCAvLyBkZWZhdWx0XHJcbiAgICB0aGVtZS1jb2xvcjogJGdfcG9pbnQtdGhlbWUyLWNvbG9yLFxyXG4gICAgZm9udC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50LFxyXG4gICAgYm9yZGVyIDogdHJhbnNwYXJlbnQsXHJcbiAgICAvLyBib3JkZXItcmFkaXVzOjVweCxcclxuICAgIHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4zKSxcclxuICAgIGhvdmVyLXRoZW1lLWNvbG9yOiRnX3BvaW50LXRoZW1lLWNvbG9yLFxyXG4gICAgLy8g6riw67O47KCB7Jy866GcIGRhcmtlbuydtCDrk6TslrTqsIDrqbAsIO2YuOuyhO2aqOqzvOqwgCDsl4bripTqsoPsnYAg67Cw6rK97IOJKHRoZW1lLWNvbG9yKeyZgCDrj5nsnbztlZwg7Lus65+s6rCS64Sj7Ja07KSA64ukLlxyXG4gICAgIGhvdmVyLWNvbG9yOiAjZmZmLFxyXG4gICAgLy8gaG92ZXItYm9yZGVyIDogMXB4IHNvbGlkICMwMDAsXHJcbiAgICBkaXNhYmxlZC1ncm91cCA6KCAvLyDquLDrs7jsoIHsnLzroZwgb3BhY2l0eTouNjUsIOy7pOyKpO2FgOydgCDslYTrnpjsl5Ag6rCSIOuzgOqyvVxyXG4gICAgICBkaW0tdGhlbWUtY29sb3I6IzExMSxcclxuICAgICAgZGltLWNvbG9yOiAjMTExLFxyXG4gICAgICBkaW0tb3BhY2l0eSA6IC41LFxyXG4gICAgKSxcclxuICApLFxyXG4gIHN1Yi1wb2ludCA6KFxyXG4gICAgdGhlbWUtY29sb3I6I2ZmZixcclxuICAgIGZvbnQtY29sb3I6ICRnX3BvaW50LXRoZW1lLWNvbG9yLFxyXG4gICAgaG92ZXItdGhlbWUtY29sb3I6JGdfcG9pbnQtdGhlbWUyLWNvbG9yLFxyXG4gICAgaG92ZXItY29sb3I6ICNmZmYgIWltcG9ydGFudCxcclxuICAgIGhvdmVyLXRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4zKSxcclxuICApLFxyXG4gIHN0eWxlMSA6ICAoIC8v66Gc6re47J24XHJcbiAgICB0aGVtZS1jb2xvcjogI2FhYSxcclxuICAgIGZvbnQtY29sb3I6ICNmZmYsXHJcbiAgKSxcclxuICBzdHlsZTIgOiAoIC8vIO2ajOybkOqwgOyehSwg67mE67CA67KI7Zi4IOyVhOydtOuUlOywvuq4sCxcclxuICAgIGZvbnQtY29sb3I6ICMwMDAsXHJcbiAgICB0aGVtZS1jb2xvcjogI2YyZjJmMixcclxuICAgIGJvcmRlcjoxcHggc29saWQgI2RkZCxcclxuICAgIGhvdmVyLXRoZW1lLWNvbG9yOiNmMmYyZjIsXHJcbiAgKSxcclxuICBzdHlsZTMgOiAoIC8vIOyjvOusuCDst6jshowg67KE7Yq8LCDso7zrrLgg66as7Iqk7Yq4IOqygOyDiSDrsoTtirxcclxuICAgIGZvbnQtY29sb3I6ICNmZmYsXHJcbiAgICB0aGVtZS1jb2xvcjogIzU1NSxcclxuICApLFxyXG4gIHN0eWxlNCA6ICggLy8g7KCc7Lac7ZWY6riwIOuyhO2KvFxyXG4gICAgZm9udC1jb2xvcjogI2ZmZixcclxuICAgIHRoZW1lLWNvbG9yOiAjMzMzLFxyXG4gICAgaG92ZXItdGhlbWUtY29sb3I6ICMzMzMsXHJcbiAgICBob3Zlci1jb2xvcjojZmZmLFxyXG4gICksXHJcbiAgb3V0bGluZS1zdHlsZTEgOiAgKCAvLyDso7zrrLjsg4HshLjrs7TquLAsIGN1c3RvbTJcclxuICAgIGZvbnQtY29sb3I6ICMxMTEsXHJcbiAgICB0aGVtZS1jb2xvcjogdHJhbnNwYXJlbnQsXHJcbiAgICBib3JkZXIgOiAxcHggc29saWQgI2RkZCxcclxuICAgIGhvdmVyLWJvcmRlciA6IDFweCBzb2xpZCAjZGRkLFxyXG4gICksXHJcbiAgb3V0bGluZS1zdHlsZTIgOiAoIC8vIOyLnOyeke2VmOq4sCwg66y066OM66Gc7IKs7Jqp7ZWY6riwIOuyhO2KvFxyXG4gICAgZm9udC1jb2xvcjogI2ZmZixcclxuICAgIHRoZW1lLWNvbG9yOiB0cmFuc3BhcmVudCxcclxuICAgIGJvcmRlciA6IDFweCBzb2xpZCAjZmZmLFxyXG4gICAgaG92ZXItYm9yZGVyIDogMXB4IHNvbGlkICNmZmYsXHJcbiAgICBob3Zlci10aGVtZS1jb2xvcjogI2ZmZixcclxuICAgIGhvdmVyLWNvbG9yOiAkZ19wb2ludC10aGVtZS1jb2xvcixcclxuXHJcbiAgKSxcclxuICBvdXRsaW5lLXN0eWxlMyA6ICggLy8g7IaM6rCc7ISc64uk7Jq066Gc65OcLCDqsIDsnoXtlZjquLAg67KE7Yq8XHJcbiAgICBmb250LWNvbG9yOiAjZmZmLFxyXG4gICAgdGhlbWUtY29sb3I6ICRnX3BvaW50LXRoZW1lLWNvbG9yLFxyXG4gICAgYm9yZGVyIDogMXB4IHNvbGlkIHRyYW5zcGFyZW50LFxyXG4gICAgaG92ZXItYm9yZGVyIDogMXB4IHNvbGlkIHRyYW5zcGFyZW50LFxyXG4gICAgaG92ZXItdGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAwLjMpLFxyXG4gICksXHJcbiAgb3V0bGluZS1zdHlsZTQgOiAoIC8vIFtQcmljaW5nXSDrj4TsnoXrrLjsnZjtlZjquLAg67KE7Yq8XHJcbiAgICBmb250LWNvbG9yOiAkZ19wb2ludC10aGVtZS1jb2xvcixcclxuICAgIHRoZW1lLWNvbG9yOiB0cmFuc3BhcmVudCxcclxuICAgIGJvcmRlciA6IDFweCBzb2xpZCAkZ19wb2ludC10aGVtZS1jb2xvcixcclxuICAgIGhvdmVyLWJvcmRlciA6IDFweCBzb2xpZCAkZ19wb2ludC10aGVtZTItY29sb3IsXHJcbiAgICBob3Zlci10aGVtZS1jb2xvcjogJGdfcG9pbnQtdGhlbWUyLWNvbG9yLFxyXG4gICAgaG92ZXItY29sb3I6ICNmZmYsXHJcbiAgICBob3Zlci10ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMyksXHJcbiAgKSxcclxuICBibGFjayA6IChcclxuICAgIHRoZW1lLWNvbG9yOiAjMDAwLFxyXG4gICAgZm9udC1jb2xvcjogI2ZmZixcclxuICApXHJcbik7XHJcblxyXG4vL19wYWdpbmF0aW9uICjrqoXsua0gOiBhIO2DnOq3uCBwYWdlLWxpbmsg66GcKOyKpO2DgOydvCkgIC8gcGFnZS1pdGVtIOydtCDqsIHsnpDsnZggd3JhcCAo6rCE6rKp7KGw7KCVKS8g7KCE7LK066W8IC5wYWdpbmF0aW9u7J20IOqwkOyLuOqzoCDsnojsnYwpXHJcbiRnX3BhZ2UtaXRlbS1ncm91cCA6IChcclxuICAvLyBkZWZhdWx0XHJcbiAgd2lkdGg6NTBweCxcclxuICBoZWlnaHQ6NTBweCxcclxuXHJcbiAgLy9wYWRkaW5nOjIwcHgsXHJcbiAgbWFyZ2luOjAgLTFweCxcclxuICB0aGVtZS1jb2xvcjogI2ZmZixcclxuICBib3JkZXIgOiAxcHggc29saWQgI2RkZCxcclxuICAvL2JvcmRlci1yYWRpdXM6IDNweCxcclxuICAvL2JvcmRlci1yYWRpdXMtZi1sOiAzcHgsIC8vIOyyq+uyiOynuCDrp4jsp4Drp4kg67KE7Yq8IOy9lOuEiCByYWRpdXNcclxuICAvL2JvcmRlci1yaWdodCA6IG5vbmUsIC8vIOuyhO2KvOydtCDrtpnslrTsnojripQg6rK97JqwXHJcbiAgLy9ib3JkZXItc3R5bGU6ICggLy8gbGFzdC1jaGlsZOyXkCDsoIHsmqnrkKhcclxuICAvL1x0Ym9yZGVyLXJpZ2h0IDogXCIxcHggc29saWQgI2UxZTFlMVwiLFxyXG4gIC8vKSxcclxuXHJcbiAgZm9udC1zaXplOjE2cHgsXHJcbiAgZm9udC13ZWlnaHQ6NDAwLFxyXG4gIGxldHRlci1zcGFjaW5nOi0wLjA1ZW0sXHJcbiAgZm9udC1jb2xvcjojNzc3LFxyXG5cclxuICAvLyBob3ZlclxyXG4gIGhvdmVyLXRoZW1lLWNvbG9yOiNmZmYsXHJcbiAgLy8gaG92ZXItYm9yZGVyLWNvbG9yIDogI2RkZCxcclxuICBob3Zlci1jb2xvcjogIzAwMCxcclxuXHJcbiAgLy8gYWN0aXZlXHJcbiAgYWN0aXZlLXRoZW1lOiNmMmYyZjIsXHJcbiAgYWN0aXZlLWNvbG9yOiMwMDAsXHJcbiAgYWN0aXZlLXN0eWxlOiAoIC8vIOy7pOyKpO2FgOyaqVxyXG4gICAgLy9ib3JkZXItYm90dG9tOlwiMnB4IHNvbGlkICMwMjM4OGJcIixcclxuICAgIC8vZm9udC13ZWlnaHQ6Ym9sZCxcclxuICApLFxyXG5cclxuICAvLyBkaXNhYmxlZFxyXG4gIGRpbS1vcGFjaXR5IDogLjUsXHJcbiAgLy9kaXNhYmxlZC1zdHlsZTogKCAvLyDsu6TsiqTthYDsmqlcclxuICAvL1x0Ly/rsoTtirzsl5DshJzripQgbWFwLWhhcy1rZXnqsJLsnYQg7J207Jqp7ZW07IScIO2CpOqwkuydtCDsnofsnLzrqbQg66e17J2YIO2CpOqwkuqzvCDrsqjrpZjroZwg7Lac66ClXHJcbiAgLy9cdC8v7Y6Y7J207KeA64Sk7J207IWY7JeQ7ISc64qUIO2CpOqwkuydtCDsnojsnLzrqbQg7JWI7JeQIOuCtOyaqSDqt7jrjIDroZwg7Lac66ClLi5cclxuICAvL1x0Ly/qsrDqs7wg6rCS7J2AIOqwmeycvOuCmCBtaXhpbuuwqeuyleydtCDri6TrpbTri6Qg7ZiE7J6sXHJcbiAgLy9cdGJhY2tncm91bmQtY29sb3I6IzExMSxcclxuICAvL1x0Y29sb3I6ICMxMTEsXHJcbiAgLy9cdGJvcmRlci1ib3R0b206XCIycHggc29saWQgIzAyMzg4YlwiLFxyXG4gIC8vKSxcclxuICBhcnJvdy1ncm91cCA6IChcclxuICAgIHN0YXJ0IDogKCAvL+y7pOyKpO2FgFxyXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL3BhZ2luYXRpb25fYXJyb3dfc3RhcnQucG5nKSxcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIsXHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcclxuICAgICksXHJcbiAgICBwcmV2IDogKFxyXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL3BhZ2luYXRpb25fYXJyb3dfcHJldi5wbmcpLFxyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxyXG4gICAgKSxcclxuICAgIG5leHQgOiAoXHJcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcclxuICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZSA6dXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vcGFnaW5hdGlvbl9hcnJvd19uZXh0LnBuZyksXHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXHJcbiAgICApLFxyXG4gICAgZW5kIDogKFxyXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL3BhZ2luYXRpb25fYXJyb3dfZW5kLnBuZyksXHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXHJcbiAgICApLFxyXG4gICksXHJcbik7XHJcblxyXG4vL190b29sdGlwXHJcbiRnX3Rvb2x0aXAtZ3JvdXAgOiAoIC8vIC50b29sdGlwID4gLnRvb2x0aXAtaW5uZXJcclxuICB0b3AgOiAtNDBweCxcclxuICBwYWRkaW5nOiAzcHggOHB4LFxyXG4gIGJhY2tncm91bmQtY29sb3I6IzAwMCxcclxuICBib3JkZXItcmFkaXVzOjNweCxcclxuICBmb250LXNpemU6MTNweCxcclxuICBsZXR0ZXItc3BhY2luZzotMC4wNWVtLFxyXG4gIGNvbG9yOiNmZmYsXHJcbiAgdGV4dC1hbGlnbjpjZW50ZXIsXHJcbiAgdHJhbnNpdGlvbi10aW1lIDogLjVzLFxyXG4gIG9wYWNpdHk6MCwgLy9ub3JtYWxcclxuICBzaG93LW9wYWNpdHk6LjksIC8vOmhvdmVy7J2865WMXHJcbiAgYXJyb3ctZ3JvdXAgOiAoIC8vIO2ItO2Mgeq8rOumrFxyXG4gIC8vICBsZWZ0IDogMCxcclxuICAvLyAgcmlnaHQgOiAwLFxyXG4gICAgY2VudGVyOiA1MCUsXHJcbiAgICBhcnJvdy13aWR0aDo1cHggNXB4IDAsXHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwLFxyXG4gICksXHJcbik7XHJcblxyXG4vL190YWJcclxuJGdfdGFiLWdyb3VwIDogKCAvLyAudGFiLXdyYXAgPiAudGFiLWxpc3Qub25cclxuICAvLyDslYTrnpjsl5Ag6rO17Ya167aA67aEIHN1Yi1jbGFzc2luZyDquLDspIDsnLzroZwg7JWI7JeQ7IScIOyDgeyGjeuwm+uKlOqxuOuhnCDrgpjriKDsp4DripQg7J207IqI7LK07YGsXHJcbiAgLy9mbG9hdDpsZWZ0LFxyXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrLFxyXG4gIHdpZHRoOjE1MHB4LFxyXG4gIHBhZGRpbmc6OXB4IDIwcHgsXHJcbiAgdGhlbWUtY29sb3I6ICNmZmYsXHJcbiAgZm9udC1jb2xvcjogIzAwMCxcclxuICBmb250LXdlaWdodDozMDAsXHJcbiAgZm9udC1zaXplOjE0cHgsXHJcbiAgdGV4dC1hbGlnbjpjZW50ZXIsXHJcbiAgbGV0dGVyLXNwYWNpbmc6LTAuMDJlbSxcclxuXHJcbiAgc3ViLWNsYXNzaW5nIDogKCAvLyDsnoXroKXtlZjripTrjbDroZxcclxuICAgIHN0eWxlIDogKCAvLyDrhKTrqqjtg61cclxuICAgICAgbWFyZ2luOjVweCxcclxuICAgICAgYm9yZGVyOjFweCBzb2xpZCAjMDAwLFxyXG4gICAgKSxcclxuICAgIHN0eWxlMSA6ICggLy8g7J2866Cs7YOtXHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTFlMWUxLFxyXG4gICAgKSxcclxuICApLFxyXG5cclxuICBhY3RpdmUgOiAoIC8vIOyeheugpe2VmOuKlOuNsOuhnFxyXG4gICAgYm9yZGVyLWNvbG9yOiAkZ19wb2ludC10aGVtZS1jb2xvcixcclxuICAgIGJhY2tncm91bmQtY29sb3I6JGdfcG9pbnQtdGhlbWUtY29sb3IsXHJcbiAgICBjb2xvcjojZmZmLFxyXG4gICksXHJcblxyXG4gIC8v66+465SU7Ja07L+866asXHJcbiAgbWVkaWE6IChcclxuICAgIG1kOiAoIC8vIOyeheugpe2VmOuKlOuNsOuhnFxyXG4gICAgICAvL2Rpc3BsYXk6YmxvY2ssXHJcbiAgICAgIC8vd2lkdGg6MTAwJSxcclxuICAgICAgLy9mb250LXNpemU6MTJweFxyXG4gICAgKVxyXG4gIClcclxuKTtcclxuLy9fc2VhcmNoYmFyXHJcblxyXG4vL18gY2FyZFxyXG5cclxuIiwiLy8gVG9nZ2xlc1xyXG4vL1xyXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cclxuXHJcbkBpbXBvcnQgXCJtaXhpbnMvX21lZGlhLXF1ZXJ5XCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX21hcFwiO1xyXG5cclxuLy8gVXRpbGl0aWVzXHJcbi8vQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19jbGVhclwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19mbG9hdFwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19ob3ZlclwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL2JhZGdlXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcclxuQGltcG9ydCBcIm1peGlucy9fc2NyZWVucmVhZGVyXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9zaXplXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3Jlc2V0LXRleHRcIjtcclxuQGltcG9ydCBcIm1peGlucy9fcHJlZml4ZXJcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvdHJhbnNmb3Jtc1wiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19ib3JkZXItcmFkaXVzXCI7XHJcblxyXG4vLyAvLyBMYXlvdXRcclxuLy8gQGltcG9ydCBcIm1peGlucy9uYXZiYXItYWxpZ25cIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX2FyZWFcIjtcclxuQGltcG9ydCBcIm1peGlucy9fZ3JpZFwiO1xyXG5cclxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly8vXHJcblxyXG5cclxuLy8gLy8gQ29tcG9uZW50c1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcclxuQGltcG9ydCBcIm1peGlucy9fdHJpYW5nbGVcIjtcclxuQGltcG9ydCBcIm1peGlucy9fYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL2NhcmRzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3BhZ2luYXRpb25cIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19mb3Jtc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlc1wiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3RhYlwiO1xyXG5cclxuIiwiLy8gbWVkaWEtcXVlcnktbWluIOuvueyKpOyduFxyXG4vLyBb66ek6rCc67OA7IiYXVxyXG4vLyAkYnJlYWtwb2ludCDquLDrs7jqsJI6IOyXhuydjFxyXG4vLyAkYnJlYWtwb2ludCDsl5Ag6rCA7Jqp6rCA64ql7ZWcIOqwklxyXG4vLyAoMSkgJG1lZGlhLWJyZWFrcG9pbnRzIOydmCDtgqQg6rCSICh4cywgc20sIG1kLCBsZywgeGwgKeykkSDtlZjrgphcclxuLy8gKDIpIOqzoOyglSBweOqwklxyXG4vLyAkYnJlYWtwb2ludCDsoITri6zrkJwg6rCS7JeQIOuUsOudvOyEnCBAbWVkaWEobWluLXdpZHRoOiBcIuunpOqwnOuzgOyImOyXkCDtlbTri7ntlZjripQg6rCSXCIpIOyFi+2Mhe2VtOykjeuLiOuLpC5cclxuLy8gJGJyZWFrcG9pbnQg6rCS7J2EIO2UveyFgOuhnCDrhKPripTri6TrqbQg7ZW064u5IO2UveyFgOqwkuydmCDrr7jrlJTslrTsv7zrpqzrpbwg66eM65Ok7Ja0IOykjeuLiOuLpC5cclxuLy8gZXgpIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykgeyBAY29udGVudCB9XHJcbi8vIGV4KSBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oNTAwcHgpIHsgQGNvbnRlbnQgfVxyXG5AbWl4aW4gbWVkaWEtcXVlcnktbWluKCAkYnJlYWtwb2ludCApIHtcclxuICBAaWYgbWFwX2hhc19rZXkoICRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCApe1xyXG4gICAgQGlmICAkYnJlYWtwb2ludCA9PSBcInhzXCIge1xyXG4gICAgICBAY29udGVudFxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXBfZ2V0KCRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmIHVuaXQoJGJyZWFrcG9pbnQpID09IFwicHhcIiB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludCl7ICBAY29udGVudCAgfVxyXG4gIH1cclxufVxyXG5AbWl4aW4gbWVkaWEtcXVlcnktbWF4KCAkYnJlYWtwb2ludCApIHtcclxuICBAaWYgbWFwX2hhc19rZXkoICRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCApe1xyXG4gICAgQGlmICAkYnJlYWtwb2ludCA9PSBcInhzXCIge1xyXG4gICAgICBAY29udGVudFxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXBfZ2V0KCRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmIHVuaXQoJGJyZWFrcG9pbnQpID09IFwicHhcIiB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludCl7ICBAY29udGVudCAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIG1lZGlhLXF1ZXJ5LW1pbi12YWwg7ZWo7IiYXHJcbi8vIOyghOyXreuzgOyImCAkbWVkaWEtYnJlYWtwb2ludHMgbWFw7J2YIHZhbHVl66W8IOuwmO2ZmO2VtCDspI3ri4jri6QuXHJcbi8vIOyjvOuhnCBlYWNoIOusuOqzvCDqsJnsnYAgbG9vcCDrrLjsl5DshJwg7Zmc7Jqp65Cp64uI64ukLlxyXG4vLyBleClcclxuLy8gQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwX2tleXMoJG1lZGlhLWJyZWFrcG9pbnRzKSB7XHJcbi8vICAgJHBvaW50OiBtZWRpYS1xdWVyeS1taW4tdmFsKCRicmVha3BvaW50KTtcclxuLy8gICBAbWVkaWEgKCBtaW4td2lkdGg6ICN7JHBvaW50fSApe1xyXG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtbCB7IEBpbmNsdWRlIGZsb2F0LWxlZnQgfVxyXG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtciB7IEBpbmNsdWRlIGZsb2F0LXJpZ2h0IH1cclxuLy8gICAgIC4jeyRicmVha3BvaW50fS1mLW4geyBAaW5jbHVkZSBmbG9hdC1ub25lIH1cclxuLy8gICB9XHJcbi8vIH1cclxuQGZ1bmN0aW9uIG1lZGlhLXF1ZXJ5LW1pbi12YWwoICRicmVha3BvaW50ICl7XHJcbiAgQHJldHVybiBtYXBfZ2V0KCRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiQGZ1bmN0aW9uIG1hcC1zZXQoJG1hcCwgJGtleSwgJHZhbHVlKSB7XHJcbiAgJG5ldzogKCRrZXk6ICR2YWx1ZSk7XHJcbiAgQHJldHVybiBtYXAtbWVyZ2UoJG1hcCwgJG5ldyk7XHJcbn1cclxuXHJcblxyXG4vL3ByZWZpeCDsoJzqsbBcclxuLy/tg5zqt7jsnbTrpoQsIOyGjeyEsSwg7JWE7J2065SUIOuTsSAg7IWA66CJ7YSwIOqwgOuKpeuPhOuhnVxyXG5AZnVuY3Rpb24gbWFrZU1hcFRvQ29kZXMoJG1hcCwgJHByZWZpeDogXCJcIiwgJHNlbGY6IGZhbHNlKSB7XHJcbiAgJGNvZGVzIDogKCk7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcclxuICAgIEBpZiAoIHR5cGUtb2YoJHZhbCkgPT0gbWFwICkge1xyXG5cclxuICAgICAgQGlmICgka2V5ID09IFwiJlwiKSB7XHJcbiAgICAgICAgJG1ha2U6IG1ha2VNYXBUb0NvZGVzKCR2YWwsIFwiXCIsIHRydWUpO1xyXG4gICAgICAgICRjb2RlczogbWFwLW1lcmdlKCRjb2RlcywgJG1ha2UpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkc2VsZWN0b3I6IFwiLiN7JHByZWZpeH0jeyRrZXl9XCI7XHJcblxyXG4gICAgICAgIEBpZiAoJHNlbGYpIHtcclxuICAgICAgICAgICRzZWxlY3RvciA6IFwiJiN7JHByZWZpeH0jeyRrZXl9XCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICRtYWtlOiBtYWtlTWFwVG9Db2RlcygkdmFsLCAkcHJlZml4KTtcclxuICAgICAgICAkY29kZXM6IG1hcC1zZXQoJGNvZGVzLCAkc2VsZWN0b3IsICRtYWtlKTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkY29kZXM6IG1hcC1zZXQoJGNvZGVzLCAka2V5LCAkdmFsKTtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkY29kZXM7XHJcbn07XHJcblxyXG5cclxuQG1peGluIHByaW50Q29kZXMoJG1hcCkge1xyXG5cclxuICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xyXG4gICBcclxuICAgIEBpZiAoIHR5cGUtb2YoJHZhbCkgPT0gbWFwICkge1xyXG4gICAgICAjeyRrZXl9IHtcclxuICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCR2YWwpO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgI3ska2V5fSA6ICN7JHZhbH07XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbn1cclxuXHJcbi8vIGlzTWFwIO2VqOyImFxyXG4vLyAje2tleX0gOiAje3ZhbHVlfeydmCDtmJXtg5zrpbwg66as7YS07ZW07KO864qUIO2VqOyImFxyXG4vLyBpc01hcCgkdmFsLCAka2V5KTtcclxuLy8gaXNNYXAg7ZWo7IiY7JeQ7IScIOyduOyekOuhnCDrhJjslrTsmKggJyR2YWwn7JeQIO2VoOuLueuQnCDqsJLsnbQgbWFw7J20652866m0IGlzbWFw7ZWo7IiY66W8IOyerOq3gO2YuOy2nCDtlZzri6QuXHJcbi8vIOyYiOyZuOyggeycvOuhnCDtgqTqsJLsnbQgXCJfXCIg652866m0IGlzUHNldWRv66W8IO2YuOy2nO2VnOuLpC5cclxuLy8g7LWc7KKF7KCB7Jy866GcICN7a2V5fSA6ICN7dmFsdWV97J2YIOqwkuydhCDrpqzthLTtlZjrj4TroZ0g66eM65Og64ukLlxyXG5cclxuLy9pc1BzZXVkbyDtlajsiJhcclxuLy/qsIDsg4Eg7ISg7YOd7J6Q66W8IOunjOuTpOyWtCDrpqzthLTtlbTso7zripQg7ZWo7IiYXHJcbi8vXHJcblxyXG5cclxuLy9AZnVuY3Rpb24gaXNNYXAgKCR2YWwsICRrZXkpIHtcclxuLy8gICRyZXN1bHQgOiAoKTtcclxuLy9cclxuLy8gIEBpZiAodHlwZS1vZigkdmFsKSA9PSBtYXApIHtcclxuLy8gICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xyXG4vLyAgICAgIEBpZiAodHlwZS1vZigkdmFsMikgPT0gbWFwIGFuZCAka2V5ID09IG51bGwpIHtcclxuLy8gICAgICAgICRtYXAgOiBpc01hcCgkdmFsMiwgJGtleTIpO1xyXG4vLyAgICAgICAgJG1hcGtleSA6IG1hcC1rZXlzKCRtYXApO1xyXG4vLyAgICAgICAgJHJlc3VsdDogbWFwLXNldCgkcmVzdWx0LCAkbWFwa2V5LCBtYXAtZ2V0KCRtYXAsICN7JG1hcGtleX0pKTtcclxuLy8gICAgICB9IEBlbHNlIGlmICh0eXBlLW9mKCR2YWwyKSA9PSBtYXAgYW5kICRrZXkgPT0gXCJfXCIpe1xyXG4vLyAgICAgICAgJHJlc3VsdDogbWFwLXNldCgkcmVzdWx0LCAka2V5MiwgaXNNYXAoJHZhbDIsICRrZXkyKSk7XHJcbi8vICAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICRrZXkyLCAkdmFsMik7XHJcbi8vICAgICAgfVxyXG4vLyAgICB9XHJcbi8vICB9IEBlbHNlIHtcclxuLy8gICAgJHJlc3VsdDogbWFwLXNldCgkcmVzdWx0LCAkdmFsLCAka2V5KTtcclxuLy8gIH1cclxuLy9cclxuLy8gIEByZXR1cm4gJHJlc3VsdDtcclxuLy99O1xyXG5cclxuXHJcbi8vQGZ1bmN0aW9uIGlzUHNldWRvICgka2V5LCAkdmFsKSB7XHJcbi8vICAkcmVzdWx0OiBudWxsO1xyXG4vLyAgQGlmICgka2V5ID09IFwiX1wiKSB7XHJcbi8vICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuLy8gICAgICAkcmVzdWx0OiBpc01hcCgka2V5MiwgJHZhbDIpO1xyXG4vLyAgICAgIEByZXR1cm4gaXNNYXAoJGtleTIsICR2YWwyKTtcclxuLy8gICAgfVxyXG4vLyAgfSBAZWxzZSAge1xyXG4vLyAgICAkcmVzdWx0OiBpc01hcCgka2V5LCAkdmFsKTtcclxuLy8gICAgQHJldHVybiAkcmVzdWx0O1xyXG4vLyAgfVxyXG4vL307XHJcblxyXG5cclxuIiwiQG1peGluIGNsZWFyKCkge1xyXG4gICY6OmFmdGVyIHtcclxuICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgIGNsZWFyOiBib3RoO1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5cclxuIiwiQG1peGluIGZsb2F0LWxlZnQge1xyXG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1peGluIGZsb2F0LXJpZ2h0IHtcclxuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxufVxyXG5AbWl4aW4gZmxvYXQtbm9uZSB7XHJcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4iLCJAbWl4aW4gaG92ZXItb257XHJcbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUsICYub257IEBjb250ZW50OyB9XHJcbn1cclxuXHJcbkBtaXhpbiBob3ZlcntcclxuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7IEBjb250ZW50OyB9XHJcbn1cclxuXHJcbi8vXHJcbi8vQG1peGluIGhvdmVyIHtcclxuLy8gICY6aG92ZXIgeyBAY29udGVudDsgfVxyXG4vL31cclxuLy9cclxuLy9AbWl4aW4gaG92ZXItZm9jdXMge1xyXG4vLyAgJjpob3ZlcixcclxuLy8gICY6Zm9jdXMge1xyXG4vLyAgICBAY29udGVudDtcclxuLy8gIH1cclxuLy99XHJcbi8vXHJcbi8vQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuLy8gICYsXHJcbi8vICAmOmhvdmVyLFxyXG4vLyAgJjpmb2N1cyB7XHJcbi8vICAgIEBjb250ZW50O1xyXG4vLyAgfVxyXG4vL31cclxuLy9cclxuLy9AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcclxuLy8gICY6aG92ZXIsXHJcbi8vICAmOmZvY3VzLFxyXG4vLyAgJjphY3RpdmUge1xyXG4vLyAgICBAY29udGVudDtcclxuLy8gIH1cclxuLy99IiwiLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXHJcbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xyXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xyXG5AbWl4aW4gc3Itb25seSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxcHg7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZzogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcbkBtaXhpbiB0ZXh0LWhpZGUge1xyXG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuIiwiQG1peGluIHJlc2V0LXRleHQge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcclxuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XHJcbiAgbGluZS1icmVhazogYXV0bztcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxyXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcclxuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcclxufVxyXG4iLCIvLyAvKiBwcmVmaXggKi9cclxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXM6KCkpe1xyXG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVze1xyXG4gICAgI3snLScrJHByZWZpeCsnLScrJHByb3BlcnR5fTokdmFsdWU7XHJcbiAgfVxyXG4gICN7JHByb3BlcnR5fSA6ICR2YWx1ZTtcclxufVxyXG5cclxuICAvLyBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHJvdGF0ZSg0NWRlZyksIHdlYmtpdCBtcyk7IG9yIChcIndlYmtpdFwiLCBcIm1velwiKVxyXG5cclxuIC8vY3NzXHJcbiAgLy8gLnNlbGVjdG9yIHtcclxuICAvLyAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIC8vICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAvLyAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAvLyB9XHJcblxyXG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcbiIsIi8vIG1ha2UtYXJlYSDrr7nsiqTsnbhcclxuLy8g6riw67O46rCS7J20IG51bGzroZwg7IWL7YyF65CY7Ja0IOyeiOuKlCDsmpTshozripQg7J247J6Q6rCAIOyghOuLrOuQmOyngCDslYrsnYQg7IucIOy7tO2MjOydvCDrkJjsp4Ag7JWK7Iq164uI64ukLlxyXG4vLyBb66ek6rCc67OA7IiYXVxyXG4vLyAkbWF4LXdpZHRoIOq4sOuzuOqwkjogbnVsbFxyXG4vLyAkZ3V0dGVyLXdpZHRoIOq4sOuzuOqwkjogbnVsbFxyXG4vLyAkd2lkdGgg6riw67O46rCSOiAxMDAlXHJcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWFyZWEoICRtYXgtd2lkdGg6ICRtYXgtd2lkdGgsICRndXR0ZXItd2lkdGg6ICRhcmVhLWd1dHRlci13aWR0aCApO1xyXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1hcmVhKCAkd2lkdGg6IDE2MDBweCApO1xyXG4vL0BtaXhpbiBtYWtlLWFyZWEoICRtYXgtd2lkdGg6IG51bGwsICRndXR0ZXItd2lkdGg6IG51bGwsICR3aWR0aDogMTAwJSApIHtcclxuLy8gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gIHdpZHRoOiAkd2lkdGg7XHJcbi8vICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XHJcbi8vICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbi8vICBtYXJnaW4tbGVmdDogYXV0bztcclxuLy8gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItd2lkdGg7XHJcbi8vICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXItd2lkdGg7XHJcbi8vfVxyXG5cclxuQG1peGluIG1ha2UtYXJlYSggJGFyZWEtaW5mbzogJGdfZGVmYXVsdC1hcmVhICkge1xyXG4gICR3aWR0aDogMTAwJTtcclxuICBAaWYgIG1hcC1oYXMta2V5KCRhcmVhLWluZm8sIHdpZHRoKSB7XHJcbiAgICAkd2lkdGggOiBtYXAtZ2V0KCRhcmVhLWluZm8sIHdpZHRoKVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHdpZHRoIDogMTAwJVxyXG4gIH1cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6ICR3aWR0aDtcclxuICBtYXgtd2lkdGg6IG1hcC1nZXQoJGFyZWEtaW5mbywgbWF4LXdpZHRoKTtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkYXJlYS1pbmZvLCBndXR0ZXItd2lkdGgpO1xyXG4gIHBhZGRpbmctbGVmdDogbWFwLWdldCgkYXJlYS1pbmZvLCBndXR0ZXItd2lkdGgpO1xyXG59XHJcblxyXG4iLCIvLyBtYWtlLXJvdyDrr7nsiqTsnbhcclxuLy8gW+unpOqwnOuzgOyImF1cclxuLy8gJGdyaWQtZ3V0dGVyIOq4sOuzuOqwkjogJGdyaWQtZ3V0dGVyLXdpZHRoXHJcbi8vICRncmlkLWd1dHRlciDsoITri6zrkJwg6rCS7JeQIOuUsOudvOyEnCBtYXJnaW4tcmlnaHQsIG1hcmdpbi1sZWZ0IOqwkuydhCDshYvtjIXtlbQg7KSN64uI64ukLlxyXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1yb3coICRncmlkLWd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKTtcclxuQG1peGluIG1ha2Utcm93KCAkZ3JpZC1ndXR0ZXIgOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1ndXR0ZXI7XHJcbiAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1ndXR0ZXI7XHJcbiAgQGluY2x1ZGUgY2xlYXIoKTtcclxufVxyXG5cclxuLy8gbWFrZS1jb2wtc2V0IOuvueyKpOyduFxyXG4vLyBb66ek6rCc67OA7IiYXVxyXG4vLyAkZ3JpZC1jb2wtY250IOq4sOuzuOqwkjogJGdyaWQtY29sdW1uc1xyXG4vLyAkZ3JpZC1jb2wtY250IOyghOuLrOuQnCDqsJLsnZgg6rCc7IiY66eM7YKB7J2YIGNvbCxwdWxsLHB1c2gsb2Zmc2V0IOuTseydhCDrp4zrk6TslrTspI3ri4jri6QuXHJcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWNvbC1zZXQoKTtcclxuLy8gZXgpIEBpbmNsdWRlIG1ha2UtY29sLXNldCgkZ3JpZC1jb2wtY250OiA1KTtcclxuQG1peGluIG1ha2UtY29sLXNldCggJGdyaWQtY29sLWluZm86ICRnX2dyaWQtY29sLWluZm8gKSB7XHJcbiAgJGdyaWQtY29sLW5hbWU6IG51bGw7XHJcbiAgQGlmICBtYXAtaGFzLWtleSgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtbmFtZSkge1xyXG4gICAgJGdyaWQtY29sLW5hbWUgOiBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1uYW1lKVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgJGdyaWQtY29sLW5hbWUgOiBudWxsXHJcbiAgfVxyXG4gICAgQGluY2x1ZGUgbWFrZS1jb2woIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XHJcbiAgQGluY2x1ZGUgbWFrZS1wdWxsKCBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1jbnQpLCAkZ3JpZC1jb2wtbmFtZSApO1xyXG4gIEBpbmNsdWRlIG1ha2UtcHVzaCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcclxuICBAaW5jbHVkZSBtYWtlLW9mZnNldCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBtYWtlLWNvbCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sLWNudCwgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xyXG4gICAgICAuI3skY29sLW5hbWV9Y29sIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgICAgLiN7JGNvbC1uYW1lfWNvbC1hdXRvIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfTtcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcclxuICAgICAgICAuI3skY29sLW5hbWV9Y29sLSN7JGl9IHtcclxuICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHBvaW50fSkge1xyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0ge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuI3skY29sLW5hbWV9Y29sLSN7JGJyZWFrcG9pbnR9LWF1dG8ge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfTtcclxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xyXG4gICAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRicmVha3BvaW50fS0jeyRpfSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1wdWxsKCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2wtY250LCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcclxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcclxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XHJcbiAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLTAge1xyXG4gICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XHJcbiAgICAgICAgLiN7JGNvbC1uYW1lfXB1bGwtI3skaX0ge1xyXG4gICAgICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XHJcbiAgICAgICAgLiN7JGNvbC1uYW1lfXB1bGwtI3skYnJlYWtwb2ludH0tMCB7XHJcbiAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcclxuICAgICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcclxuICAgICAgICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYWtlLXB1c2goICRncmlkLWNvbC1jbnQ6ICRncmlkLWNvbC1jbnQsICRjb2wtbmFtZTogJGNvbC1uYW1lICkge1xyXG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xyXG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcclxuICAgICAgLiN7JGNvbC1uYW1lfXB1c2gtMCB7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgfVxyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGl9IHtcclxuICAgICAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XHJcbiAgICAgICAgLiN7JGNvbC1uYW1lfXB1c2gtI3skYnJlYWtwb2ludH0tMCB7XHJcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xyXG4gICAgICAgICAgLiN7JGNvbC1uYW1lfXB1c2gtI3skYnJlYWtwb2ludH0tI3skaX0ge1xyXG4gICAgICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1vZmZzZXQoICRncmlkLWNvbC1jbnQ6ICRncmlkLWNvbHVtbnMsICRjb2wtbmFtZTogJGNvbC1uYW1lICkge1xyXG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xyXG4gICAgJHBvaW50OiBtZWRpYS1xdWVyeS1taW4tdmFsKCRicmVha3BvaW50KTtcclxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCAtIDEge1xyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1vZmZzZXQtI3skaX0ge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IC0gMSB7XHJcbiAgICAgICAgICAuI3skY29sLW5hbWV9b2Zmc2V0LSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiIsIkBtaXhpbiB0cmlhbmdsZSgkZGlyZWN0aW9uLCR3aWR0aCwkaGVpZ2h0LCR3aWR0aFNpemUsJGhlaWdodFNpemUsJGNvbG9yKSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBoZWlnaHQ6ICR3aWR0aDtcclxuICAgIHdpZHRoOiAkaGVpZ2h0O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIEBpZiAkd2lkdGggPT0gMCB7XHJcbiAgICAgICAgQGlmICR3aWR0aCA9PSAwIGFuZCAkaGVpZ2h0ID09IDAge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwICgkd2lkdGhTaXplIC8gMikgJGhlaWdodFNpemU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidXAtcmlnaHRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgJHdpZHRoU2l6ZSAkd2lkdGhTaXplIDA7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0U2l6ZSAvIDIpIDAgKCRoZWlnaHRTaXplIC8gMikgJHdpZHRoU2l6ZTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLXJpZ2h0XCIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJHdpZHRoU2l6ZSAkd2lkdGhTaXplO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHRTaXplICgkd2lkdGhTaXplIC8gMikgMDtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICR3aWR0aFNpemUgMCAwICR3aWR0aFNpemU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogKCRoZWlnaHRTaXplIC8gMikgJHdpZHRoU2l6ZSAoJGhlaWdodFNpemUgLyAyKSAwO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICR3aWR0aFNpemUgJHdpZHRoU2l6ZSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfUBlbHNlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjb2xvciAkY29sb3IgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICR3aWR0aFNpemUgJGhlaWdodFNpemUgMDtcclxuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC0xMzVkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLXJpZ2h0XCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLXJpZ2h0XCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd24tbGVmdFwiIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAuZWxlbWVudCB7XHJcbi8vICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuLy8gICAgICY6OmJlZm9yZSB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoXCJ1cC1sZWZ0XCIsIDAsMCwxMHB4LDEwcHgsICNiMjVjOWMpO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi8vIC5lbGVtZW50MiB7XHJcbi8vICAgICBsZWZ0OjIwcHg7XHJcbi8vICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuLy8gICAgICY6OmJlZm9yZSB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoXCJ1cC1sZWZ0XCIsIDhweCw4cHgsMnB4LDJweCwgI2IyNWM5Yyk7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi8vIGNzc1xyXG4vLyAuZWxlbWVudDIge1xyXG4vLyAgICAgY29udGVudDogXCJcIjtcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICAgICBoZWlnaHQ6IDhweDtcclxuLy8gICAgIHdpZHRoOiA4cHg7XHJcbi8vICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNiMjVjOWMgI2IyNWM5YyB0cmFuc3BhcmVudDtcclxuLy8gICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XHJcbi8vICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4vLyB9XHJcbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xyXG4vLyDrsoTtirwg7IKs7J207KaI67OEIOyDneyEsVxyXG5AbWl4aW4gYnV0dG9uLXNpemUtcHgoJGJ0bi1zaXplIDogJGdfYnRuLXNpemUpIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkYnRuLXNpemUpe1xyXG4gICAgQGlmICgka2V5ID09IGRlZmF1bHRfdmFsdWUpIHtcclxuICAgICAgJWRlZmF1bHRfdmFsdWUge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAuYnRuLSN7JGtleX0ge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgIEBpZiAoJGtleTIgPT0gbWVkaWEpIHtcclxuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcclxuICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBAZWxzZXtcclxuICAgICAgICAgICAgQGlmICggdHlwZS1vZigkdmFsMikgPT0gbWFwICkgeyAvLyBvbmUgZGVwdGggY2xhc3Mg7JWI7JeQIOy2lOqwgCBjbGFzcyDsg53shLFcclxuICAgICAgICAgICAgICAuI3ska2V5Mn0ge1xyXG4gICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHsgLy8gb25lIGRlcHRoIGNsYXNzIOuyhO2KvFxyXG4gICAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ0bi1kaXNhYmxlZCgpIHtcclxuICAmLmRpc2FibGVkIHtcclxuICAgIEBjb250ZW50O1xyXG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIOuyhO2KvCDsiqTtg4Dsnbwg7ISk7KCV7ZW07KO86riwXHJcbkBtaXhpbiBidXR0b24tc3R5bGUoJGJ0bi1ncm91cCA6ICRnX2J0bi1ncm91cCl7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnRuLWdyb3VwIHtcclxuICAgIC5idG4tI3ska2V5fSxcclxuICAgIC5idG4tI3ska2V5fTp2aXNpdGVkIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsLCB0aGVtZS1jb2xvcik7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIGZvbnQtY29sb3IpO1xyXG4gICAgICBib3JkZXI6IG1hcC1nZXQoJHZhbCwgYm9yZGVyKTtcclxuICAgICAgYm9yZGVyLXJhZGl1cyA6IG1hcC1nZXQoJHZhbCwgYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIHRleHQtc2hhZG93IDogbWFwLWdldCgkdmFsLCB0ZXh0LXNoYWRvdyk7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XHJcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItb24ge1xyXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGhvdmVyLXRoZW1lLWNvbG9yKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCR2YWwsIGhvdmVyLXRoZW1lLWNvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpkYXJrZW4oIG1hcC1nZXQoJHZhbCwgdGhlbWUtY29sb3IpLCAxNSUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGhvdmVyLWNvbG9yKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOm1hcC1nZXQoJHZhbCwgaG92ZXItY29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICBjb2xvcjptYXAtZ2V0KCR2YWwsIGZvbnQtY29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCR2YWwsIGhvdmVyLWJvcmRlcik7XHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogbWFwLWdldCgkdmFsLCBob3Zlci10ZXh0LXNoYWRvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJ0bi1kaXNhYmxlZCB7XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGRpc2FibGVkLWdyb3VwKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQoJHZhbCwgZGlzYWJsZWQtZ3JvdXApLGRpbS10aGVtZS1jb2xvcik7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldChtYXAtZ2V0KCR2YWwsIGRpc2FibGVkLWdyb3VwKSwgZGltLWNvbG9yKTtcclxuICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQobWFwLWdldCgkdmFsLCBkaXNhYmxlZC1ncm91cCksIGRpbS1vcGFjaXR5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgb3BhY2l0eTouNjU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBtYWtlLWNhcmQtc2V0KCRjYXJkLWluZm8pIHtcclxuICAlY2FyZC13cmFwe1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGNhcmQtaW5mbyB7XHJcbiAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XHJcbiAgICAgIEBpZiAka2V5MiA9PSBcIndyYXBcIiB7XHJcbiAgICAgICAgLmNhcmQtI3ska2V5Mn0tI3ska2V5fSB7XHJcbiAgICAgICAgICBAZXh0ZW5kICVjYXJkLXdyYXA7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCR2YWwyLCBtYXJnaW4tYm90dG9tKTtcclxuICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHZhbDIsIHBhZGRpbmcpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsMiwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gIG1hcC1nZXQoJHZhbDIsIGJvcmRlci1zdHlsZSkge1xyXG4gICAgICAgICAgICAjeyRrZXkzfTogI3skdmFsM307XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR2YWwyLCBib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJGtleTIgPT0gXCJoZWFkZXJcIiB7XHJcbiAgICAgICAgLmNhcmQtd3JhcC0jeyRrZXl9e1xyXG4gICAgICAgICAgLmNhcmQtI3ska2V5Mn0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsMiwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAgbWFwLWdldCgkdmFsMiwgYm9yZGVyLXN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdmFsMiwgZm9udC1zaXplKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC5jYXJkLXdyYXAtI3ska2V5fXtcclxuICAgICAgICAgIC5jYXJkLSN7JGtleTJ9IHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsMiwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsIGJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gIG1hcC1nZXQoJHZhbDIsIGJvcmRlci1zdHlsZSkge1xyXG4gICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyDri6Qg64KY64iE6rOgIO2VmOuCmOuhnCDtlansuZjripTqsowg7KKL7KeAIOyViuydhOq5jD8/Pz8/Pz9cclxuLy8g7IOB7IaN7J2YIOqzhOuFkOydhCDsoIHsmqntlbTslbwg7ZWY64qU6rCAPz9cclxuLy8g7IOB7IaN7J2EIOyggeyaqe2VmOuptCDsvZTrk5zqsIAg7KGw6riIIOuzteyeoe2VtOyniOuTr1xyXG4vLyDslYTsmIggd3JhcCwgaGVhZGVyLCBib2R5LCBmb290ZXIg64KY64iE64qU642Y7KeALCDsp4DquIjsspjrn7wg7LKY66as7ZWY64qU6rKMIOuCmOydhOuTr1xyXG4iLCIvLyBQYWdpbmF0aW9uXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWxpbmtzKCRwYWdlLWl0ZW0pe1xyXG4gIHdpZHRoOm1hcC1nZXQoJHBhZ2UtaXRlbSwgd2lkdGgpO1xyXG4gIGhlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhlaWdodCk7XHJcbiAgbGluZS1oZWlnaHQ6bWFwLWdldCgkcGFnZS1pdGVtLCBoZWlnaHQpOyAvLyBoZWlnaHTqsJLqs7wg64+Z7J28XHJcblxyXG4gIC8vcGFkZGluZzptYXAtZ2V0KCRwYWdlLWl0ZW0sIHBhZGRpbmcpOyAtPiDsgq3soJzsmIjsoJUg67O066WYLi5cclxuICBtYXJnaW46bWFwLWdldCgkcGFnZS1pdGVtLCBtYXJnaW4pO1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWdlLWl0ZW0sIHRoZW1lLWNvbG9yKTtcclxuICBib3JkZXI6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyKTtcclxuICBib3JkZXItcmlnaHQ6bWFwLWdldCgkcGFnZS1pdGVtLCBib3JkZXItcmlnaHQpO1xyXG5cclxuICBib3JkZXItcmFkaXVzOm1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyLXJhZGl1cyk7XHJcbiAgZm9udC1zaXplOm1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC1zaXplKTtcclxuICBmb250LXdlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtd2VpZ2h0KTtcclxuICBsZXR0ZXItc3BhY2luZzptYXAtZ2V0KCRwYWdlLWl0ZW0sIGxldHRlci1zcGFjaW5nKTtcclxuICBjb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtY29sb3IpO1xyXG5cclxuICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJHBhZ2UtaXRlbSwgaG92ZXItdGhlbWUtY29sb3IpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0saG92ZXItdGhlbWUtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOmRhcmtlbiggbWFwLWdldCgkcGFnZS1pdGVtLCB0aGVtZS1jb2xvciksIDE1JSk7XHJcbiAgICB9XHJcbiAgICBjb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhvdmVyLWNvbG9yKTtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcGFnZS1pdGVtLCBob3Zlci1ib3JkZXItY29sb3IpO1xyXG4gIH1cclxuXHJcbn1cclxuLy8g7JWh7Yuw67iMIOuQoOyLnFxyXG5AbWl4aW4gcGFnaW5hdGlvbi1hY3RpdmUoJHBhZ2UtYWN0aXZlLWl0ZW0pe1xyXG4gIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkcGFnZS1hY3RpdmUtaXRlbSwgYWN0aXZlLXRoZW1lKTtcclxuICBjb2xvcjptYXAtZ2V0KCRwYWdlLWFjdGl2ZS1pdGVtLGFjdGl2ZS1jb2xvcik7XHJcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluIChtYXAtZ2V0KCRwYWdlLWFjdGl2ZS1pdGVtLGFjdGl2ZS1zdHlsZSkpe1xyXG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gIH1cclxufVxyXG4vLyDrlKQg65Cg7IucXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWRpc2FibGVkKCRwYWdlLWRpc2FibGVkLWl0ZW0pe1xyXG4gIG9wYWNpdHk6bWFwLWdldCgkcGFnZS1kaXNhYmxlZC1pdGVtLCBkaW0tb3BhY2l0eSk7XHJcbiAgcG9pbnRlci1ldmVudHM6bm9uZTtcclxuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKG1hcC1nZXQoJHBhZ2UtZGlzYWJsZWQtaXRlbSxkaXNhYmxlZC1zdHlsZSkpe1xyXG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gIH1cclxufVxyXG5cclxuLy8g7LKY7J2MIOydtOyghCDri6TsnYwg64GdIGFycm93IOq0gOugqCDsu6TsiqTthYBcclxuQG1peGluIHBhZ2luYXRpb24tYXJyb3dzKCRwYWdlLWFycm93LXN0eWxlKSB7XHJcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluICRwYWdlLWFycm93LXN0eWxlIHtcclxuICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICB9XHJcbn0iLCJAbWl4aW4gbWFrZS1mb3JtLXdyYXAoICRmb3JtLXdyYXAtaW5mbyA6ICRnX2Zvcm0td3JhcCApIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZm9ybS13cmFwLWluZm8pe1xyXG4gICAgQGlmICgka2V5ID09IGRlZmF1bHRfdmFsdWUpIHtcclxuICAgICAgJWRlZmF1bHRfdmFsdWUge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAuZm9ybS13cmFwLSN7JGtleX0ge1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGZvcm0td3JhcC1pbmZvLCBkZWZhdWx0X3ZhbHVlKSkge1xyXG4gICAgICAgICAgQGV4dGVuZCAlZGVmYXVsdF92YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkdmFsLCBtZWRpYSkpIHtcclxuICAgICAgICAgICRtZWRpYTogbWFwX2dldCgkdmFsLCBtZWRpYSk7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJG1lZGlhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkyKSB7XHJcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbCB7XHJcbiAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJGtleTMpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAvKu2FjeyKpO2KuCDrsJXsiqQqL1xyXG5AbWl4aW4gbWFrZS1maWVsZC1kZWZhdWx0KCkge1xyXG4gICVmaWVsZC1iYXNlIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX2ZpZWxkLXN0eWxlKSB7XHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBzZWxlY3QsXHJcbiAgICAuZmllbGQtI3ska2V5fSB0ZXh0YXJlYXtcclxuICAgICAgQGV4dGVuZCAlZmllbGQtYmFzZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogbWFwLWdldCgkdmFsLCBtYXgtd2lkdGgpO1xyXG4gICAgICBoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgaW5wdXQtaGVpZ2h0KTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkdmFsLCBtYXJnaW4tYm90dG9tKTtcclxuICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsLCBpbnB1dC1wYWRkaW5nKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsLCBpbnB1dC1iZyk7XHJcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiBtYXAtZ2V0KCR2YWwsIGJvcmRlci1zdHlsZSkge1xyXG4gICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgfVxyXG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJHZhbCwgZm9udC1zaXplKTtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJHZhbCwgbGV0dGVyLXNwYWNpbmcpO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkdmFsLCBmb250LWNvbG9yKTtcclxuICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGZvY3VzLXN0eWxlKSB7XHJcbiAgICAgICAgJGZvY3VzLXN0eWxlOiBtYXAtZ2V0KCR2YWwsIGZvY3VzLXN0eWxlKTtcclxuICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJGZvY3VzLXN0eWxlIHtcclxuICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAjeyRrZXkzfSA6ICN7JHZhbDN9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gdGV4dGFyZWF7XHJcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdmFsLCBwbGFjZWhvbGRlci1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIHBsYWNlaG9sZGVyLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIHBsYWNlaG9sZGVyLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZC0jeyRrZXl9Lm5vLXVuZGVybGluZSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWFrZS10ZXh0LWFyZWEoJGtleSk7XHJcbiAgICBAaW5jbHVkZSBtYWtlLXNlbGVjdGJveCgka2V5KTtcclxuXHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtYWtlLXRleHQtYXJlYSgkc3R5bGUpIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZ190ZXh0LWFyZWEtc3R5bGUpIHtcclxuICAgIEBpZiAoJHN0eWxlID09ICRrZXkpIHtcclxuICAgICAgLmZpZWxkLSN7JHN0eWxlfSB0ZXh0YXJlYXtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgdGV4dC1hcmVhLWhlaWdodCk7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsLCB0ZXh0LWFyZWEtcGFkZGluZyk7XHJcbiAgICAgICAgcmVzaXplOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAvKuyFgOugie2KuCDrsJXsiqQqL1xyXG5AbWl4aW4gbWFrZS1zZWxlY3Rib3goJHN0eWxlKSB7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGdfc2VsZWN0LXN0eWxlKSB7XHJcbiAgICBAaWYgKCRzdHlsZSA9PSAka2V5KSB7XHJcbiAgICAgIC5maWVsZC0jeyRzdHlsZX0gc2VsZWN0e1xyXG4gICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWw7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIC8q7J2066+47KeAIOyytO2BrCAmIOudvOuUlOyYpCovXHJcbkBtaXhpbiBtYWtlLWNoZWNrYm94LWltZyggJGNoZWNrLWJveC1pbmZvOiAkZ19jaGVjay1ib3gtaW1nICkge1xyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRjaGVjay1ib3gtaW5mbykge1xyXG4gICAgLmNrYngtI3ska2V5fXtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHZhbCwgbWFyZ2luLXJpZ2h0KTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAuY3VzdG9tLWNoZWNrZWQge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR2YWwsIHdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgaGVpZ2h0KTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHZhbCwgYm94LW1hcmdpbi1yaWdodCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbWFwLWdldCgkdmFsLCBib3gtaW1nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICAgIH1cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHZhbCwgZm9udC1zaXplKTtcclxuICAgICAgfVxyXG4gICAgICBpbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAmW3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQsXHJcbiAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG1hcC1nZXQoJHZhbCwgYm94LWltZy1vbik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjZWVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIC8q7YOc6re4IOyytO2BrCYg652865SU7JikKi9cclxuQG1peGluIG1ha2UtY2hlY2tib3gtdGFnKCAkY2hlY2stYm94LWluZm86ICRnX2NoZWNrLWJveC10YWcgKSB7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGNoZWNrLWJveC1pbmZvKSB7XHJcbiAgICAvL+uzgOyImFxyXG4gICAgJHdpZHRoOiBtYXAtZ2V0KCR2YWwsIHdpZHRoKTtcclxuICAgICRoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgaGVpZ2h0KTtcclxuICAgICRib3gtbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgJGNoZWNrLXdpZHRoOiAkd2lkdGggLyAyO1xyXG4gICAgJGNoZWNrLWhlaWdodDogJGhlaWdodCAvIDI7XHJcblxyXG4gICAgLy/tlbTri7nqsJLsnbQg7J6I64qU7KeAIOyytO2BrFxyXG4gICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGJveC1tYXJnaW4tcmlnaHQpIHtcclxuICAgICAgJGJveC1tYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHZhbCwgYm94LW1hcmdpbi1yaWdodClcclxuICAgIH1cclxuICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsLCBjaGVja2VkLXdpZHRoKSB7XHJcbiAgICAgICRjaGVjay13aWR0aDogbWFwLWdldCgkdmFsLCBjaGVja2VkLXdpZHRoKVxyXG4gICAgfVxyXG4gICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGNoZWNrZWQtaGVpZ2h0KSB7XHJcbiAgICAgICRjaGVjay1oZWlnaHQ6IG1hcC1nZXQoJHZhbCwgY2hlY2tlZC1oZWlnaHQpXHJcbiAgICB9XHJcbiAgICAuY2tieC0jeyRrZXl9e1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkdmFsLCBtYXJnaW4tcmlnaHQpO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1pbi13aWR0aDogJHdpZHRoO1xyXG4gICAgICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwsIGJveC1iZyk7XHJcbiAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCR2YWwsIGJveC1vdXRsaW5lKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR2YWwsIGJveC1yYWRpdXMpO1xyXG4gICAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgdHJhbnNsYXRlWSgtNTAlKSwgd2Via2l0KTtcclxuICAgICAgfVxyXG4gICAgICA+ICoge1xyXG4gICAgICAgIC8vIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsg6rKM7Iuc7YyQIOq4gOyTsOq4sCDruYTrsIDquIDsl5DshJwg6rmo7KC47IScIOyasOyEoCDso7zshJ3sspjrpqxcclxuICAgICAgfVxyXG4gICAgICAudGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdmFsLCBmb250LXNpemUpIDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRib3gtbWFyZ2luLXJpZ2h0ICsgJHdpZHRoO1xyXG4gICAgICB9XHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcclxuICAgICAgICAmW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICBsZWZ0OiAoJHdpZHRoIC0gJGNoZWNrLXdpZHRoKSAvIDIgO1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIHdpZHRoOiAkY2hlY2std2lkdGg7XHJcbiAgICAgICAgICBoZWlnaHQ6ICRjaGVjay1oZWlnaHQ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwsIGNoZWNrZWQtY29sb3IpO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkdmFsLCBib3gtcmFkaXVzKTtcclxuICAgICAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgdHJhbnNsYXRlWSgtNTAlKSwgd2Via2l0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgICAgJi5kaXNhYmxlZHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBjb2xvcjogI2VlZTtcclxuICAgICAgICBsYWJlbDpiZWZvcmV7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuY2lyY2xlOmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB9XHJcbiAgICAgICYuY2lyY2xlIGlucHV0IHtcclxuICAgICAgICAmW3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQsXHJcbiAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIvL3JwLXRhYmxlXHJcbkBtaXhpbiBtYWtlLXJwLXRhYmxlKCRycC10YWJsZS1pbmZvKSB7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJHJwLXRhYmxlLWluZm8pe1xyXG4gICAgQGlmICgka2V5ID09IGRlZmF1bHRfdmFsdWUpIHtcclxuICAgICAgJWRlZmF1bHRfdmFsdWUge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAucnAtdGFibGUtI3ska2V5fSB7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkdmFsLCBtZWRpYSkpIHtcclxuICAgICAgICAgICRtZWRpYTogbWFwX2dldCgkdmFsLCBtZWRpYSk7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJG1lZGlhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkyKSB7XHJcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbCB7XHJcbiAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJGtleTMpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiLy8vKiB0YWIgKi9cclxuQG1peGluIHRhYi1pdGVtcygkdGFiLWdyb3VwKSB7XHJcbiAgICAudGFiLXdyYXAge1xyXG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICYgLnRhYi1saXN0IHtcclxuICAgICAgICAgICAgLy9mbG9hdDptYXAtZ2V0KCR0YWItZ3JvdXAsIGZsb2F0KTtcclxuICAgICAgICAgICAgZGlzcGxheTptYXAtZ2V0KCR0YWItZ3JvdXAsIGRpc3BsYXkpO1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkdGFiLWdyb3VwLCB3aWR0aCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRhYi1ncm91cCwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkdGFiLWdyb3VwLCB0aGVtZS1jb2xvcik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTptYXAtZ2V0KCR0YWItZ3JvdXAsIGZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0Om1hcC1nZXQoJHRhYi1ncm91cCwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBjb2xvcjptYXAtZ2V0KCR0YWItZ3JvdXAsIGZvbnQtY29sb3IpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOm1hcC1nZXQoJHRhYi1ncm91cCwgdGV4dC1hbGlnbik7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOm1hcC1nZXQoJHRhYi1ncm91cCwgbGV0dGVyLXNwYWNpbmcpO1xyXG5cclxuICAgICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR0YWItZ3JvdXAsIG1lZGlhKSB7XHJcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gbWFwX2dldCgkdGFiLWdyb3VwLCBtZWRpYSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbDJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRrZXkyfTogI3skdmFsMn07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluIChtYXAtZ2V0KCR0YWItZ3JvdXAsIHN1Yi1jbGFzc2luZykpe1xyXG4gICAgICAgICAgICAmLiN7JGtleX0gLnRhYi1saXN0e1xyXG4gICAgICAgICAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWx1ZXtcclxuICAgICAgICAgICAgICAgICAgICAjeyRrZXkyfTogI3skdmFsMn07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgLnRhYi1saXN0Lm9uIHtcclxuICAgICAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluIChtYXAtZ2V0KCR0YWItZ3JvdXAsYWN0aXZlKSl7XHJcbiAgICAgICAgICAgICAgICAjeyRrZXkyfTogI3skdmFsMn07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRnX3RhYi1ncm91cCxmbG9hdCl7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUdnQk0sTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSGJ6QyxBQUFBLFFBQVEsQ0FBQztJQUVMLFVBQVUsRUFBRSxLQUFLO0dBc0VwQjs7O0FBeEVELEFBS0UsUUFMTSxDQUtOLGFBQWEsQ0FBQztFQUNaLE1BQU0sRUFBRSxPQUFPO0NBQ2hCOztBQVBILEFBU0UsUUFUTSxDQVNOLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFQUFFLE9BQU87RUFDZCxTQUFTLEVBQUUsQ0FBQztFQUNaLFdBQVcsRUFBRSxHQUFHO0NBQ2pCOztBQWRILEFBZ0JFLFFBaEJNLENBZ0JOLFVBQVUsQ0FBQztFQUNULE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxHQUFHO0VBQ1YsT0FBTyxFQUFFLE1BQU07RUFDZixjQUFjLEVBQUUsR0FBRztFQUNuQixVQUFVLEVBQUUsS0FBSztDQW1CbEI7O0FHM0JHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUhiekMsQUFnQkUsUUFoQk0sQ0FnQk4sVUFBVSxDQUFDO0lBT1AsS0FBSyxFQUFFLE9BQU87R0FpQmpCOzs7QUczQkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSGJ6QyxBQWdCRSxRQWhCTSxDQWdCTixVQUFVLENBQUM7SUFXUCxLQUFLLEVBQUUsR0FBRztHQWFiOzs7QUF4Q0gsQUE4QkksUUE5QkksQ0FnQk4sVUFBVSxDQWNSLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsY0FBYyxFQUFFLElBQUk7RUFDcEIsYUFBYSxFQUFFLGlCQUFpQjtFQUNoQyxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0FBdkNMLEFBMENFLFFBMUNNLENBMENOLG1CQUFtQixDQUFDO0VBQ2xCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0NBS3BCOztBR3BDRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VIYnpDLEFBMENFLFFBMUNNLENBMENOLG1CQUFtQixDQUFDO0lBS2hCLFVBQVUsRUFBRSxJQUFJO0dBRW5COzs7QUFqREgsQUFrREUsUUFsRE0sQ0FrRE4sY0FBYyxDQUFDO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsT0FBTztFQUN2QixLQUFLLEVBQUUsT0FBTztDQWtCZjs7QUcxREcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSGJ6QyxBQWtERSxRQWxETSxDQWtETixjQUFjLENBQUM7SUFLWCxTQUFTLEVBQUUsSUFBSTtHQWdCbEI7OztBQXZFSCxBQXlESSxRQXpESSxDQWtETixjQUFjLENBT1osS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLFlBQVk7RUFDckIsYUFBYSxFQUFFLElBQUk7Q0FLcEI7O0FBaEVMLEFBNkRNLFFBN0RFLENBa0ROLGNBQWMsQ0FPWixLQUFLLEFBSUYsTUFBTSxDQUFDO0VBQ04sS0FBSyxFQzFEUyxPQUFPO0NEMkR0Qjs7QUEvRFAsQUFtRU0sUUFuRUUsQ0FrRE4sY0FBYyxBQWdCWCxXQUFXLENBQ1YsS0FBSyxDQUFDO0VBQ0osYUFBYSxFQUFFLENBQUM7Q0FDakIifQ== */
