.topbar .btn.btn-icon i {
  color: #6e7899;
}
.topbar .btn.btn-icon .svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #6e7899;
}
.topbar .btn.btn-icon .svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.topbar .btn.btn-icon:active,
.topbar .btn.btn-icon.active,
.topbar .btn.btn-icon:hover,
.topbar .btn.btn-icon:focus,
.topbar .show .btn.btn-icon.btn-dropdown {
  background-color: #282f48 !important;
}
.topbar .btn.btn-icon:active i,
.topbar .btn.btn-icon.active i,
.topbar .btn.btn-icon:hover i,
.topbar .btn.btn-icon:focus i,
.topbar .show .btn.btn-icon.btn-dropdown i {
  color: #ffffff !important;
}
.topbar .btn.btn-icon:active .svg-icon svg g [fill],
.topbar .btn.btn-icon.active .svg-icon svg g [fill],
.topbar .btn.btn-icon:hover .svg-icon svg g [fill],
.topbar .btn.btn-icon:focus .svg-icon svg g [fill],
.topbar .show .btn.btn-icon.btn-dropdown .svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #ffffff !important;
}
.topbar .btn.btn-icon:active .svg-icon svg:hover g [fill],
.topbar .btn.btn-icon.active .svg-icon svg:hover g [fill],
.topbar .btn.btn-icon:hover .svg-icon svg:hover g [fill],
.topbar .btn.btn-icon:focus .svg-icon svg:hover g [fill],
.topbar .show .btn.btn-icon.btn-dropdown .svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}

@media (min-width: 992px) {
  .header {
    background-color: #1e1e2d;
  }
  .header-fixed .header {
    box-shadow: 0px 0px 40px 0px rgba(82, 63, 105, 0.1);
  }
  .header .header-menu .menu-nav > .menu-item > .menu-link {
    border-radius: 4px;
  }
  .header .header-menu .menu-nav > .menu-item > .menu-link .menu-text {
    color: #6e7899;
    font-weight: 500;
  }
  .header .header-menu .menu-nav > .menu-item > .menu-link .menu-arrow {
    color: #6e7899;
  }
  .header .header-menu .menu-nav > .menu-item > .menu-link .menu-icon {
    color: #6e7899;
  }
  .header .header-menu .menu-nav > .menu-item > .menu-link svg g [fill] {
    transition: fill 0.3s ease;
    fill: #6e7899;
  }
  .header .header-menu .menu-nav > .menu-item > .menu-link svg:hover g [fill] {
    transition: fill 0.3s ease;
  }
  .header .header-menu .menu-nav > .menu-item.menu-item-here > .menu-link, .header .header-menu .menu-nav > .menu-item.menu-item-active > .menu-link {
    background-color: #282f48;
  }
  .header .header-menu .menu-nav > .menu-item.menu-item-here > .menu-link .menu-text, .header .header-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-text {
    color: #ffffff;
  }
  .header .header-menu .menu-nav > .menu-item.menu-item-here > .menu-link .menu-arrow, .header .header-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-arrow {
    color: #ffffff;
  }
  .header .header-menu .menu-nav > .menu-item.menu-item-here > .menu-link .menu-icon, .header .header-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-icon {
    color: #ffffff;
  }
  .header .header-menu .menu-nav > .menu-item.menu-item-here > .menu-link svg g [fill], .header .header-menu .menu-nav > .menu-item.menu-item-active > .menu-link svg g [fill] {
    transition: fill 0.3s ease;
    fill: #ffffff;
  }
  .header .header-menu .menu-nav > .menu-item.menu-item-here > .menu-link svg:hover g [fill], .header .header-menu .menu-nav > .menu-item.menu-item-active > .menu-link svg:hover g [fill] {
    transition: fill 0.3s ease;
  }
  .header .header-menu .menu-nav > .menu-item:hover:not(.menu-item-here):not(.menu-item-active) > .menu-link, .header .header-menu .menu-nav > .menu-item.menu-item-hover:not(.menu-item-here):not(.menu-item-active) > .menu-link {
    background-color: #282f48;
  }
  .header .header-menu .menu-nav > .menu-item:hover:not(.menu-item-here):not(.menu-item-active) > .menu-link .menu-text, .header .header-menu .menu-nav > .menu-item.menu-item-hover:not(.menu-item-here):not(.menu-item-active) > .menu-link .menu-text {
    color: #ffffff;
  }
  .header .header-menu .menu-nav > .menu-item:hover:not(.menu-item-here):not(.menu-item-active) > .menu-link .menu-arrow, .header .header-menu .menu-nav > .menu-item.menu-item-hover:not(.menu-item-here):not(.menu-item-active) > .menu-link .menu-arrow {
    color: #ffffff;
  }
  .header .header-menu .menu-nav > .menu-item:hover:not(.menu-item-here):not(.menu-item-active) > .menu-link .menu-icon, .header .header-menu .menu-nav > .menu-item.menu-item-hover:not(.menu-item-here):not(.menu-item-active) > .menu-link .menu-icon {
    color: #ffffff;
  }
  .header .header-menu .menu-nav > .menu-item:hover:not(.menu-item-here):not(.menu-item-active) > .menu-link svg g [fill], .header .header-menu .menu-nav > .menu-item.menu-item-hover:not(.menu-item-here):not(.menu-item-active) > .menu-link svg g [fill] {
    transition: fill 0.3s ease;
    fill: #ffffff;
  }
  .header .header-menu .menu-nav > .menu-item:hover:not(.menu-item-here):not(.menu-item-active) > .menu-link svg:hover g [fill], .header .header-menu .menu-nav > .menu-item.menu-item-hover:not(.menu-item-here):not(.menu-item-active) > .menu-link svg:hover g [fill] {
    transition: fill 0.3s ease;
  }
}
@media (max-width: 991.98px) {
  .topbar {
    background-color: #1e1e2d;
    box-shadow: none;
  }
  .topbar-mobile-on .topbar {
    box-shadow: 0px 0px 40px 0px rgba(82, 63, 105, 0.1);
    border-top: 1px solid #2e3448;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cm9uaWMtbGF5b3V0MS1iYXNlLWRhcmsuY3NzIiwibWFwcGluZ3MiOiJBQTRCRTtFQUNDLGNBaEJlO0FBWGxCO0FDTVk7RUFDSTtFQUNBO0FESmhCO0FDVWdCO0VBQ0k7QURScEI7QUE2QkM7Ozs7O0VBS0M7QUEzQkY7QUE2QkU7Ozs7O0VBQ0M7QUF2Qkg7QUNmWTs7Ozs7RUFDSTtFQUNBO0FEcUJoQjtBQ2ZnQjs7Ozs7RUFDSTtBRHFCcEI7O0FFc0JJO0VGSEg7SUFDQyx5QkFsRFU7RUFtQ1Y7RUFrQkE7SUFDQyxtREFyRGE7RUFxQ2Q7RUF1Qkc7SUduREQ7RUgrQkY7RUF1Qkk7SUFDQyxjQTVEVztJQTZEWDtFQXJCTDtFQXdCSTtJQUNDLGNBakVXO0VBMkNoQjtFQXlCSTtJQUNDLGNBckVXO0VBOENoQjtFQ25EVTtJQUNJO0lBQ0E7RURxRGQ7RUMvQ2M7SUFDSTtFRGlEbEI7RUF3Qkk7SUFDQyx5QkFoRmM7RUEwRG5CO0VBd0JLO0lBQ0MsY0EvRWlCO0VBeUR2QjtFQXlCSztJQUNDLGNBbkZpQjtFQTREdkI7RUEwQks7SUFDQyxjQXZGaUI7RUErRHZCO0VDdEVVO0lBQ0k7SUFDQTtFRHdFZDtFQ2xFYztJQUNJO0VEb0VsQjtFQTBCSTtJQUNDLHlCQXJHYztFQTZFbkI7RUEwQks7SUFDQyxjQXJHZ0I7RUE2RXRCO0VBMkJLO0lBQ0MsY0F6R2dCO0VBZ0Z0QjtFQTRCSztJQUNDLGNBN0dnQjtFQW1GdEI7RUN6RlU7SUFDSTtJQUNBO0VEMkZkO0VDckZjO0lBQ0k7RUR1RmxCO0FBQ0Y7QUVoQ0k7RUZpRUg7SUFDQyx5QkFuSVU7SUFvSVY7RUE5QkE7RUFnQ0E7SUFDQyxtREF6SG9CO0lBMEhwQiw2QkEzSG9CO0VBNkZyQjtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wZWMtY29udHJvbC8uL2Rhcmsuc2NzcyIsIndlYnBhY2s6Ly9wZWMtY29udHJvbC8uLi8uLi8uLi8uLi8uLi9tZXRyb25pYy1nbG9iYWwvY29tcG9uZW50cy9taXhpbnMvX3N2Zy1pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vcGVjLWNvbnRyb2wvLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly9wZWMtY29udHJvbC8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIEhlYWRlciBkYXJrIHRoZW1lXG4vL1xuXG4vLyBJbml0aWFsaXphdGlvbiBvZiBnbG9iYWwgdmFyaWFibGVzLCBtaXhpbnMgYW5kIGZ1bmN0aW9uc1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2NvbmZpZ1wiO1xuXG4vLyBWYXJpYWJsZXNcbiRoZWFkZXItYmc6IGdldCgkbGF5b3V0LXRoZW1lcywgZGFyayk7XG4kaGVhZGVyLXNoYWRvdzogMHB4IDBweCA0MHB4IDBweCByZ2JhKDgyLDYzLDEwNSwgMC4xKTtcblxuJG1lbnUtbGluay1iZy1ob3ZlcjogIzI4MmY0ODtcbiRtZW51LWxpbmstYmctYWN0aXZlOiAkbWVudS1saW5rLWJnLWhvdmVyO1xuJG1lbnUtbGluay1jb2xvcjogIzZlNzg5OTtcbiRtZW51LWxpbmstY29sb3ItaG92ZXI6ICNmZmZmZmY7XG4kbWVudS1saW5rLWNvbG9yLWFjdGl2ZTogI2ZmZmZmZjtcblxuJHRvcGJhci1pY29uLWNvbG9yOiAkbWVudS1saW5rLWNvbG9yO1xuJHRvcGJhci1pY29uLWNvbG9yLWhvdmVyOiAjZmZmZmZmO1xuJHRvcGJhci1pY29uLWJnLWhvdmVyOiAkbWVudS1saW5rLWJnLWhvdmVyO1xuXG4kdG9wYmFyLWJvcmRlci1tb2JpbGU6IDFweCBzb2xpZCAjMmUzNDQ4O1xuJHRvcGJhci1zaGFkb3ctbW9iaWxlOiAwcHggMHB4IDQwcHggMHB4IHJnYmEoODIsNjMsMTA1LCAwLjEpO1xuXG4vLyBUb3BiYXJcbi50b3BiYXIge1xuXHQvLyBCdXR0b25cblx0LmJ0bi5idG4taWNvbiB7XG5cdFx0aSB7XG5cdFx0XHRjb2xvcjogJHRvcGJhci1pY29uLWNvbG9yO1xuXHRcdH1cblxuXHRcdC5zdmctaWNvbiB7XG5cdFx0XHRAaW5jbHVkZSBzdmctaWNvbi1jb2xvcigkdG9wYmFyLWljb24tY29sb3IpO1xuXHRcdH1cblx0fVxuXG5cdC8vIEJ1dHRvbiBTdGF0ZXNcblx0LmJ0bi5idG4taWNvbjphY3RpdmUsXG5cdC5idG4uYnRuLWljb24uYWN0aXZlLFxuXHQuYnRuLmJ0bi1pY29uOmhvdmVyLFxuXHQuYnRuLmJ0bi1pY29uOmZvY3VzLFxuXHQuc2hvdyAuYnRuLmJ0bi1pY29uLmJ0bi1kcm9wZG93biB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1pY29uLWJnLWhvdmVyICFpbXBvcnRhbnQ7XG5cblx0XHRpIHtcblx0XHRcdGNvbG9yOiAkdG9wYmFyLWljb24tY29sb3ItaG92ZXIgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQuc3ZnLWljb24ge1xuXHRcdFx0QGluY2x1ZGUgc3ZnLWljb24tY29sb3IoJHRvcGJhci1pY29uLWNvbG9yLWhvdmVyLCB0cnVlKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gRGVza3RvcCBNb2RlXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdC5oZWFkZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItYmc7XG5cblx0XHQvLyBGaXhlZCBoZWFkZXJcblx0XHQuaGVhZGVyLWZpeGVkICYge1xuXHRcdFx0Ym94LXNoYWRvdzogJGhlYWRlci1zaGFkb3c7XG5cdFx0fVxuXG5cdFx0Ly8gTWVudVxuXHRcdC5oZWFkZXItbWVudSB7XG5cdFx0XHQubWVudS1uYXYge1xuXHRcdFx0XHQ+IC5tZW51LWl0ZW0ge1xuXHRcdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG5cblx0XHRcdFx0XHRcdC5tZW51LXRleHQge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJG1lbnUtbGluay1jb2xvcjtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Lm1lbnUtYXJyb3cge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJG1lbnUtbGluay1jb2xvcjtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Lm1lbnUtaWNvbiB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkbWVudS1saW5rLWNvbG9yO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBzdmctaWNvbi1jb2xvcigkbWVudS1saW5rLWNvbG9yKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLm1lbnUtaXRlbS1oZXJlLFxuXHRcdFx0XHRcdCYubWVudS1pdGVtLWFjdGl2ZSB7XG5cdFx0XHRcdFx0XHQ+IC5tZW51LWxpbmsge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1saW5rLWJnLWFjdGl2ZTtcblxuXHRcdFx0XHRcdFx0XHQubWVudS10ZXh0IHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJG1lbnUtbGluay1jb2xvci1hY3RpdmU7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQubWVudS1hcnJvdyB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRtZW51LWxpbmstY29sb3ItYWN0aXZlO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Lm1lbnUtaWNvbiB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRtZW51LWxpbmstY29sb3ItYWN0aXZlO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgc3ZnLWljb24tY29sb3IoJG1lbnUtbGluay1jb2xvci1hY3RpdmUpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6aG92ZXI6bm90KC5tZW51LWl0ZW0taGVyZSk6bm90KC5tZW51LWl0ZW0tYWN0aXZlKSxcblx0XHRcdFx0XHQmLm1lbnUtaXRlbS1ob3Zlcjpub3QoLm1lbnUtaXRlbS1oZXJlKTpub3QoLm1lbnUtaXRlbS1hY3RpdmUpIHtcblx0XHRcdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRtZW51LWxpbmstYmctaG92ZXI7XG5cblx0XHRcdFx0XHRcdFx0Lm1lbnUtdGV4dCB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRtZW51LWxpbmstY29sb3ItaG92ZXI7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQubWVudS1hcnJvdyB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRtZW51LWxpbmstY29sb3ItaG92ZXI7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQubWVudS1pY29uIHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJG1lbnUtbGluay1jb2xvci1ob3Zlcjtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIHN2Zy1pY29uLWNvbG9yKCRtZW51LWxpbmstY29sb3ItaG92ZXIpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBUYWJsZXQgJiBNb2JpbGUgTW9kZXNcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHQvLyBUb3BiYXJcblx0LnRvcGJhciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1iZztcblx0XHRib3gtc2hhZG93OiBub25lO1xuXG5cdFx0LnRvcGJhci1tb2JpbGUtb24gJiB7XG5cdFx0XHRib3gtc2hhZG93OiAkdG9wYmFyLXNoYWRvdy1tb2JpbGU7XG5cdFx0XHRib3JkZXItdG9wOiAkdG9wYmFyLWJvcmRlci1tb2JpbGU7XG5cdFx0fVxuXHR9XG59XG4iLCIvL1xuLy8gU1ZHIEljb25cbi8vXG5cblxuQG1peGluIHN2Zy1pY29uLWNvbG9yKCRjb2xvciwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgICBzdmcge1xuICAgICAgICBnIHtcbiAgICAgICAgICAgIFtmaWxsXSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgZmlsbDogJGNvbG9yIHZhbHVlaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGcge1xuICAgICAgICAgICAgICAgIFtmaWxsXSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHN2Zy1pY29uLXRyYW5zaXRpb24oKSB7XG4gICAgc3ZnIHtcbiAgICAgICAgZyB7XG4gICAgICAgICAgICBbZmlsbF0ge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gc3ZnLWljb24tc2l6ZSgkc2l6ZSwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgICBzdmcge1xuICAgICAgICBoZWlnaHQ6ICRzaXplIHZhbHVlaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgIHdpZHRoOiAkc2l6ZSB2YWx1ZWlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIH1cbn1cblxuQG1peGluIHN2Zy1sb2dvLWNvbG9yKCRjb2xvciwgJGltcG9ydGFudDogZmFsc2Upe1xuICAgIHN2Z3tcbiAgICAgICAgcGF0aHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvciB2YWx1ZWlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/