.aside {
  background-color: #1e1e2d;
}
.aside .aside-menu.ps > .ps__rail-x {
  background-color: transparent;
}
.aside .aside-menu.ps > .ps__rail-x:hover, .aside .aside-menu.ps > .ps__rail-x:focus {
  opacity: 1;
  background-color: transparent;
}
.aside .aside-menu.ps > .ps__rail-x:hover > .ps__thumb-x, .aside .aside-menu.ps > .ps__rail-x:focus > .ps__thumb-x {
  opacity: 1;
}
.aside .aside-menu.ps > .ps__rail-x > .ps__thumb-x {
  background-color: #637099;
  opacity: 1;
}
.aside .aside-menu.ps > .ps__rail-x > .ps__thumb-x:hover, .aside .aside-menu.ps > .ps__rail-x > .ps__thumb-x:focus {
  opacity: 1;
  background-color: #637099;
}
.aside .aside-menu.ps > .ps__rail-y {
  background-color: transparent;
}
.aside .aside-menu.ps > .ps__rail-y:hover, .aside .aside-menu.ps > .ps__rail-y:focus {
  background-color: transparent;
  opacity: 1;
}
.aside .aside-menu.ps > .ps__rail-y:hover > .ps__thumb-y, .aside .aside-menu.ps > .ps__rail-y:focus > .ps__thumb-y {
  opacity: 1;
}
.aside .aside-menu.ps > .ps__rail-y > .ps__thumb-y {
  background: #637099;
  opacity: 1;
}
.aside .aside-menu.ps > .ps__rail-y > .ps__thumb-y:hover, .aside .aside-menu.ps > .ps__rail-y > .ps__thumb-y:focus {
  opacity: 1;
  background: #637099;
}

.aside-menu {
  background-color: #1e1e2d;
}
.aside-menu .menu-nav > .menu-item > .menu-heading .menu-text,
.aside-menu .menu-nav > .menu-item > .menu-link .menu-text {
  color: #b1b1b1;
}
.aside-menu .menu-nav > .menu-item > .menu-heading .menu-icon,
.aside-menu .menu-nav > .menu-item > .menu-link .menu-icon {
  color: #c1c1c1;
}
.aside-menu .menu-nav > .menu-item > .menu-heading .menu-icon.svg-icon svg g [fill],
.aside-menu .menu-nav > .menu-item > .menu-link .menu-icon.svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #c1c1c1;
}
.aside-menu .menu-nav > .menu-item > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
.aside-menu .menu-nav > .menu-item > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.aside-menu .menu-nav > .menu-item > .menu-heading .menu-bullet.menu-bullet-dot > span,
.aside-menu .menu-nav > .menu-item > .menu-link .menu-bullet.menu-bullet-dot > span {
  background-color: #c1c1c1;
}
.aside-menu .menu-nav > .menu-item > .menu-heading .menu-bullet.menu-bullet-line > span,
.aside-menu .menu-nav > .menu-item > .menu-link .menu-bullet.menu-bullet-line > span {
  background-color: #c1c1c1;
}
.aside-menu .menu-nav > .menu-item > .menu-heading .menu-arrow,
.aside-menu .menu-nav > .menu-item > .menu-link .menu-arrow {
  color: #c1c1c1;
}
.aside-menu .menu-nav > .menu-item.menu-item-open {
  transition: background-color 0.3s;
}
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-heading,
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-link {
  background-color: #353535;
}
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-heading .menu-text,
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-link .menu-text {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-heading .menu-icon,
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-link .menu-icon {
  color: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-heading .menu-icon.svg-icon svg g [fill],
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-link .menu-icon.svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-heading .menu-bullet.menu-bullet-dot > span,
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-link .menu-bullet.menu-bullet-dot > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-heading .menu-bullet.menu-bullet-line > span,
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-link .menu-bullet.menu-bullet-line > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-heading .menu-arrow,
.aside-menu .menu-nav > .menu-item.menu-item-open > .menu-link .menu-arrow {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item.menu-item-here {
  transition: background-color 0.3s;
}
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-heading,
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-link {
  background-color: #353535;
}
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-heading .menu-text,
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-link .menu-text {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-heading .menu-icon,
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-link .menu-icon {
  color: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-heading .menu-icon.svg-icon svg g [fill],
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-link .menu-icon.svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-heading .menu-bullet.menu-bullet-dot > span,
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-link .menu-bullet.menu-bullet-dot > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-heading .menu-bullet.menu-bullet-line > span,
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-link .menu-bullet.menu-bullet-line > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-heading .menu-arrow,
.aside-menu .menu-nav > .menu-item.menu-item-here > .menu-link .menu-arrow {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item.menu-item-active {
  transition: background-color 0.3s;
}
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-heading,
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link {
  background-color: #353535;
}
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-heading .menu-text,
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-text {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-heading .menu-icon,
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-icon {
  color: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-heading .menu-icon.svg-icon svg g [fill],
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-icon.svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-heading .menu-bullet.menu-bullet-dot > span,
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-bullet.menu-bullet-dot > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-heading .menu-bullet.menu-bullet-line > span,
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-bullet.menu-bullet-line > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-heading .menu-arrow,
.aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link .menu-arrow {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover {
  transition: background-color 0.3s;
}
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading,
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link {
  background-color: #353535;
}
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-text,
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-text {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon,
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon {
  color: #175742;
}
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon.svg-icon svg g [fill],
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon.svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #175742;
}
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-bullet.menu-bullet-dot > span,
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-bullet.menu-bullet-dot > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-bullet.menu-bullet-line > span,
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-bullet.menu-bullet-line > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-arrow,
.aside-menu .menu-nav > .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-arrow {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item > .menu-arrow {
  color: #1e1e2d;
}
.aside-menu .menu-nav > .menu-section .menu-text {
  color: #E65400;
}
.aside-menu .menu-nav > .menu-section .menu-icon {
  color: #4c4e6f;
}
.aside-menu .menu-nav > .menu-separator {
  border-bottom: 1px solid #4c4e6f;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-heading .menu-text,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-link .menu-text {
  color: #b1b1b1;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-heading .menu-icon,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-link .menu-icon {
  color: #c1c1c1;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-heading .menu-icon.svg-icon svg g [fill],
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-link .menu-icon.svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #c1c1c1;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-heading .menu-bullet.menu-bullet-dot > span,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-link .menu-bullet.menu-bullet-dot > span {
  background-color: #c1c1c1;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-heading .menu-bullet.menu-bullet-line > span,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-link .menu-bullet.menu-bullet-line > span {
  background-color: #c1c1c1;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-heading .menu-arrow,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item > .menu-link .menu-arrow {
  color: #5c5e81;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open {
  transition: background-color 0.3s;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-heading,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-link {
  background-color: #353535;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-heading .menu-text,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-link .menu-text {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-heading .menu-icon,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-link .menu-icon {
  color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-heading .menu-icon.svg-icon svg g [fill],
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-link .menu-icon.svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-heading .menu-bullet.menu-bullet-dot > span,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-link .menu-bullet.menu-bullet-dot > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-heading .menu-bullet.menu-bullet-line > span,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-link .menu-bullet.menu-bullet-line > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-heading .menu-arrow,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-open > .menu-link .menu-arrow {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here {
  transition: background-color 0.3s;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-heading,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-link {
  background-color: #353535;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-heading .menu-icon,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-link .menu-icon {
  color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-heading .menu-icon.svg-icon svg g [fill],
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-link .menu-icon.svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-heading .menu-bullet.menu-bullet-dot > span,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-link .menu-bullet.menu-bullet-dot > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-heading .menu-bullet.menu-bullet-line > span,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-link .menu-bullet.menu-bullet-line > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-heading .menu-arrow,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-here > .menu-link .menu-arrow {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active {
  transition: background-color 0.3s;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-heading,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-link {
  background-color: #353535;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-heading .menu-text,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-link .menu-text {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-heading .menu-icon,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-link .menu-icon {
  color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-heading .menu-icon.svg-icon svg g [fill],
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-link .menu-icon.svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-heading .menu-bullet.menu-bullet-dot > span,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-link .menu-bullet.menu-bullet-dot > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-heading .menu-bullet.menu-bullet-line > span,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-link .menu-bullet.menu-bullet-line > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-heading .menu-arrow,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item.menu-item-active > .menu-link .menu-arrow {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover {
  transition: background-color 0.3s;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link {
  background-color: #353535;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-text,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-text {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon {
  color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon.svg-icon svg g [fill],
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon.svg-icon svg g [fill] {
  transition: fill 0.3s ease;
  fill: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
  transition: fill 0.3s ease;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-bullet.menu-bullet-dot > span,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-bullet.menu-bullet-dot > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-bullet.menu-bullet-line > span,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-bullet.menu-bullet-line > span {
  background-color: #175742;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-arrow,
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-arrow {
  color: #ffffff;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-section .menu-text {
  color: #E65400;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-section .menu-icon {
  color: #4c4e6f;
}
.aside-menu .menu-nav > .menu-item .menu-submenu .menu-separator {
  border-bottom: 1px solid #4c4e6f;
}

@media (min-width: 992px) {
  .aside-minimize .aside-menu .menu-nav > .menu-item {
    background: transparent;
  }
  .aside-minimize .aside-menu .menu-nav > .menu-item > .menu-link > .menu-icon {
    color: #7c87a6;
  }
  .aside-minimize .aside-menu .menu-nav > .menu-item.menu-item-hover, .aside-minimize .aside-menu .menu-nav > .menu-item.menu-item-open {
    background: transparent !important;
  }
  .aside-minimize .aside-menu .menu-nav > .menu-item.menu-item-hover > .menu-link > .menu-icon, .aside-minimize .aside-menu .menu-nav > .menu-item.menu-item-open > .menu-link > .menu-icon {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav > .menu-item.menu-item-here, .aside-minimize .aside-menu .menu-nav > .menu-item.menu-item-active {
    background: transparent !important;
  }
  .aside-minimize .aside-menu .menu-nav > .menu-item.menu-item-here > .menu-link > .menu-icon, .aside-minimize .aside-menu .menu-nav > .menu-item.menu-item-active > .menu-link > .menu-icon {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav > .menu-item:hover {
    background: transparent;
  }
  .aside-minimize .aside-menu .menu-nav > .menu-item:hover > .menu-link > .menu-icon {
    color: #175742 !important;
  }
}
@media (min-width: 992px) {
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu {
    background-color: #fff;
    box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.15);
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-text,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-text,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-text,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-text {
    color: #696e92;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-icon,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-icon,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-icon,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-icon {
    color: #a8aabb;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-icon.svg-icon svg g [fill],
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-icon.svg-icon svg g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-icon.svg-icon svg g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-icon.svg-icon svg g [fill] {
    transition: fill 0.3s ease;
    fill: #a8aabb;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-icon.svg-icon svg:hover g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
    transition: fill 0.3s ease;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-bullet.menu-bullet-dot > span,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-bullet.menu-bullet-dot > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-bullet.menu-bullet-dot > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-bullet.menu-bullet-dot > span {
    background-color: #a8aabb;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-bullet.menu-bullet-line > span,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-bullet.menu-bullet-line > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-bullet.menu-bullet-line > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-bullet.menu-bullet-line > span {
    background-color: #a8aabb;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-arrow,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-arrow,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-heading .menu-arrow,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item > .menu-link .menu-arrow {
    color: #a8aabb;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open {
    transition: background-color 0.3s;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link {
    background-color: #F3F6F9;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-text,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-text,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-text,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-text {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-icon,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-icon,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-icon,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-icon {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-icon.svg-icon svg g [fill],
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-icon.svg-icon svg g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-icon.svg-icon svg g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-icon.svg-icon svg g [fill] {
    transition: fill 0.3s ease;
    fill: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-icon.svg-icon svg:hover g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
    transition: fill 0.3s ease;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-bullet.menu-bullet-dot > span,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-bullet.menu-bullet-dot > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-bullet.menu-bullet-dot > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-bullet.menu-bullet-dot > span {
    background-color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-bullet.menu-bullet-line > span,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-bullet.menu-bullet-line > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-bullet.menu-bullet-line > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-bullet.menu-bullet-line > span {
    background-color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-arrow,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-arrow,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-heading .menu-arrow,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-open > .menu-link .menu-arrow {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here {
    transition: background-color 0.3s;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-heading,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-link,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-heading,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-link {
    background-color: #F3F6F9;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-heading .menu-icon.svg-icon svg g [fill],
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-link .menu-icon.svg-icon svg g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-heading .menu-icon.svg-icon svg g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-link .menu-icon.svg-icon svg g [fill] {
    transition: fill 0.3s ease;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-link .menu-icon.svg-icon svg:hover g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
    transition: fill 0.3s ease;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-heading .menu-bullet.menu-bullet-dot > span,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-link .menu-bullet.menu-bullet-dot > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-heading .menu-bullet.menu-bullet-dot > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-link .menu-bullet.menu-bullet-dot > span {
    background-color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-heading .menu-bullet.menu-bullet-line > span,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-link .menu-bullet.menu-bullet-line > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-heading .menu-bullet.menu-bullet-line > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-here > .menu-link .menu-bullet.menu-bullet-line > span {
    background-color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active {
    transition: background-color 0.3s;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link {
    background-color: #F3F6F9;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-text,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-text,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-text,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-text {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-icon,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-icon,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-icon,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-icon {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-icon.svg-icon svg g [fill],
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-icon.svg-icon svg g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-icon.svg-icon svg g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-icon.svg-icon svg g [fill] {
    transition: fill 0.3s ease;
    fill: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-icon.svg-icon svg:hover g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
    transition: fill 0.3s ease;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-bullet.menu-bullet-dot > span,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-bullet.menu-bullet-dot > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-bullet.menu-bullet-dot > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-bullet.menu-bullet-dot > span {
    background-color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-bullet.menu-bullet-line > span,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-bullet.menu-bullet-line > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-bullet.menu-bullet-line > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-bullet.menu-bullet-line > span {
    background-color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-arrow,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-arrow,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-heading .menu-arrow,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item.menu-item-active > .menu-link .menu-arrow {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover {
    transition: background-color 0.3s;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link {
    background-color: #F3F6F9;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-text,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-text,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-text,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-text {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon.svg-icon svg g [fill],
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon.svg-icon svg g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon.svg-icon svg g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon.svg-icon svg g [fill] {
    transition: fill 0.3s ease;
    fill: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon.svg-icon svg:hover g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-icon.svg-icon svg:hover g [fill],
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-icon.svg-icon svg:hover g [fill] {
    transition: fill 0.3s ease;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-bullet.menu-bullet-dot > span,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-bullet.menu-bullet-dot > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-bullet.menu-bullet-dot > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-bullet.menu-bullet-dot > span {
    background-color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-bullet.menu-bullet-line > span,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-bullet.menu-bullet-line > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-bullet.menu-bullet-line > span,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-bullet.menu-bullet-line > span {
    background-color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-arrow,
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-arrow,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-heading .menu-arrow,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-item:not(.menu-item-parent):not(.menu-item-open):not(.menu-item-here):not(.menu-item-active):hover > .menu-link .menu-arrow {
    color: #175742;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-section .menu-text,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-section .menu-text {
    color: #a4a7bd;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-section .menu-icon,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-section .menu-icon {
    color: #aaacc2;
  }
  .aside-minimize .aside-menu .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-separator,
  .aside-menu.aside-menu-dropdown .menu-nav .menu-item:not([data-menu-submenu-mode=accordion]).menu-item-hover > .menu-submenu .menu-subnav .menu-separator {
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvbWV0cm9uaWMvc2Fzcy90aGVtZXMvbGF5b3V0L2FzaWRlL2Rhcmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvbWV0cm9uaWMvc2Fzcy92ZW5kb3JzL3BsdWdpbnMvbWl4aW5zL19wZXJmZWN0LXNjcm9sbGJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9tZXRyb25pYy9zYXNzL2NvbXBvbmVudHMvbWl4aW5zL19tZW51LXZlcnRpY2FsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL21ldHJvbmljL3Nhc3MvYmFzZS9taXhpbnMvX2F0dHIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvbWV0cm9uaWMvc2Fzcy9jb21wb25lbnRzL21peGlucy9fc3ZnLWljb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBO0VBQ0M7Q0FQRDtBQ0tRO0VBQ0k7Q0RIWjtBQ0tZO0VBRUk7RUFDQTtDREpoQjtBQ01nQjtFQUNJO0NESnBCO0FDUVk7RUFDSSwwQkRQbUI7RUNRbkI7Q0ROaEI7QUNRZ0I7RUFFSTtFQUNBLDBCRGJlO0NBTW5DO0FDWVE7RUFDSTtDRFZaO0FDWVk7RUFFSTtFQUNBO0NEWGhCO0FDYWdCO0VBQ0k7Q0RYcEI7QUNlWTtFQUNJLG9CRGhDbUI7RUNpQ25CO0NEYmhCO0FDZWdCO0VBRUk7RUFDQSxvQkR0Q2U7Q0F3Qm5DOztBRXF1QkM7RUNyd0JPO0NIb0NSO0FFK0VFOztFQ25ITTtDSHdDUjtBRW1GRTs7RUMzSE07Q0g0Q1I7QUkxQ1k7O0VBQ0k7RUFDQTtDSjZDaEI7QUl2Q2dCOztFQUNJO0NKMENwQjtBRWtGSTs7RUN2SUk7Q0h5RFI7QUVvRkk7O0VDN0lJO0NINkRSO0FFdUZFOztFQ3BKTTtDSGlFUjtBRXlGQztFQUNDO0NGdkZGO0FFMEZFOztFQzlKTTtDSHdFUjtBRTJGRzs7RUNuS0s7Q0g0RVI7QUU0Rkc7O0VDeEtLO0NIZ0ZSO0FJOUVZOztFQUNJO0VBQ0E7Q0ppRmhCO0FJM0VnQjs7RUFDSTtDSjhFcEI7QUUyRks7O0VDcExHO0NINkZSO0FFNkZLOztFQzFMRztDSGlHUjtBRWdHRzs7RUNqTUs7Q0hxR1I7QUVtR0M7RUFDQztDRmpHRjtBRW9HRTs7RUM1TU07Q0g0R1I7QUVxR0c7O0VDak5LO0NIZ0hSO0FFc0dHOztFQ3ROSztDSG9IUjtBSWxIWTs7RUFDSTtFQUNBO0NKcUhoQjtBSS9HZ0I7O0VBQ0k7Q0prSHBCO0FFcUdLOztFQ2xPRztDSGlJUjtBRXVHSzs7RUN4T0c7Q0hxSVI7QUUwR0c7O0VDL09LO0NIeUlSO0FFNkdDO0VBQ0M7Q0YzR0Y7QUU4R0U7O0VDMVBNO0NIZ0pSO0FFK0dHOztFQy9QSztDSG9KUjtBRWdIRzs7RUNwUUs7Q0h3SlI7QUl0Slk7O0VBQ0k7RUFDQTtDSnlKaEI7QUluSmdCOztFQUNJO0NKc0pwQjtBRStHSzs7RUNoUkc7Q0hxS1I7QUVpSEs7O0VDdFJHO0NIeUtSO0FFb0hHOztFQzdSSztDSDZLUjtBRXVIQztFQUNDO0NGckhGO0FFd0hFOztFQ3hTTTtDSG9MUjtBRXlIRzs7RUM3U0s7Q0h3TFI7QUUwSEc7O0VDbFRLO0NINExSO0FJMUxZOztFQUNJO0VBQ0E7Q0o2TGhCO0FJdkxnQjs7RUFDSTtDSjBMcEI7QUV5SEs7O0VDOVRHO0NIeU1SO0FFMkhLOztFQ3BVRztDSDZNUjtBRThIRzs7RUMzVUs7Q0hpTlI7QUU0akJJO0VBQ0M7Q0YxakJMO0FFa0pDO0VDdFdPO0NIdU5SO0FFb0pFO0VDM1dNO0NIME5SO0FFOGpCRztFQ3h4Qks7Q0g2TlI7QUUxR0U7O0VDbkhNO0NIaU9SO0FFdEdFOztFQzNITTtDSHFPUjtBSW5PWTs7RUFDSTtFQUNBO0NKc09oQjtBSWhPZ0I7O0VBQ0k7Q0ptT3BCO0FFdkdJOztFQ3ZJSTtDSGtQUjtBRXJHSTs7RUM3SUk7Q0hzUFI7QUVsR0U7O0VDcEpNO0NIMFBSO0FFaEdDO0VBQ0M7Q0ZrR0Y7QUUvRkU7O0VDOUpNO0NIaVFSO0FFOUZHOztFQ25LSztDSHFRUjtBRTdGRzs7RUN4S0s7Q0h5UVI7QUl2UVk7O0VBQ0k7RUFDQTtDSjBRaEI7QUlwUWdCOztFQUNJO0NKdVFwQjtBRTlGSzs7RUNwTEc7Q0hzUlI7QUU1Rks7O0VDMUxHO0NIMFJSO0FFekZHOztFQ2pNSztDSDhSUjtBRXRGQztFQUNDO0NGd0ZGO0FFckZFOztFQzVNTTtDSHFTUjtBRS9FRzs7RUN0Tks7Q0h5U1I7QUl2U1k7O0VBQ0k7RUFDQTtDSjBTaEI7QUlwU2dCOztFQUNJO0NKdVNwQjtBRWhGSzs7RUNsT0c7Q0hzVFI7QUU5RUs7O0VDeE9HO0NIMFRSO0FFM0VHOztFQy9PSztDSDhUUjtBRXhFQztFQUNDO0NGMEVGO0FFdkVFOztFQzFQTTtDSHFVUjtBRXRFRzs7RUMvUEs7Q0h5VVI7QUVyRUc7O0VDcFFLO0NINlVSO0FJM1VZOztFQUNJO0VBQ0E7Q0o4VWhCO0FJeFVnQjs7RUFDSTtDSjJVcEI7QUV0RUs7O0VDaFJHO0NIMFZSO0FFcEVLOztFQ3RSRztDSDhWUjtBRWpFRzs7RUM3Uks7Q0hrV1I7QUU5REM7RUFDQztDRmdFRjtBRTdERTs7RUN4U007Q0h5V1I7QUU1REc7O0VDN1NLO0NINldSO0FFM0RHOztFQ2xUSztDSGlYUjtBSS9XWTs7RUFDSTtFQUNBO0NKa1hoQjtBSTVXZ0I7O0VBQ0k7Q0orV3BCO0FFNURLOztFQzlURztDSDhYUjtBRTFESzs7RUNwVUc7Q0hrWVI7QUV2REc7O0VDM1VLO0NIc1lSO0FFaENDO0VDdFdPO0NIeVlSO0FFOUJFO0VDM1dNO0NINFlSO0FFaWFLO0VDN3lCRztDSCtZUjs7QUt6Vkk7RUhnaUNEO0lBQ0M7R0Zuc0JGO0VFd3NCRztJQUNDO0dGdHNCSjtFRTBzQkU7SUFFQztHRnpzQkg7RUU4c0JJO0lDeG1DRTtHSDZaTjtFRWl0QkU7SUFFQztHRmh0Qkg7RUVxdEJJO0lDcm5DRTtHSG1hTjtFRXd0QkU7SUFDQztHRnR0Qkg7RUUydEJJO0lDam9DRTtHSHlhTjtDQUNGO0FLcFhJO0VIbzVCQzs7SUFDQztJQUNBO0dGNWhCSjtFRTdUQTs7OztJQ25ITTtHSHNiTjtFRTNUQTs7OztJQzNITTtHSDRiTjtFSTFiVTs7OztJQUNJO0lBQ0E7R0orYmQ7RUl6YmM7Ozs7SUFDSTtHSjhibEI7RUVsVUU7Ozs7SUN2SUk7R0grY047RUVsVUU7Ozs7SUM3SUk7R0hxZE47RUVqVUE7Ozs7SUNwSk07R0gyZE47RUVqVUQ7O0lBQ0M7R0ZvVUE7RUVqVUE7Ozs7SUM5Sk07R0hxZU47RUVsVUM7Ozs7SUNuS0s7R0gyZU47RUVuVUM7Ozs7SUN4S0s7R0hpZk47RUkvZVU7Ozs7SUFDSTtJQUNBO0dKb2ZkO0VJOWVjOzs7O0lBQ0k7R0ptZmxCO0VFMVVHOzs7O0lDcExHO0dIb2dCTjtFRTFVRzs7OztJQzFMRztHSDBnQk47RUV6VUM7Ozs7SUNqTUs7R0hnaEJOO0VFeFVEOztJQUNDO0dGMlVBO0VFeFVBOzs7O0lDNU1NO0dIMGhCTjtFSXhoQlU7Ozs7SUFDSTtHSjZoQmQ7RUl0aEJjOzs7O0lBQ0k7R0oyaEJsQjtFRXBVRzs7OztJQ2xPRztHSDRpQk47RUVwVUc7Ozs7SUN4T0c7R0hrakJOO0VFNVREOztJQUNDO0dGK1RBO0VFNVRBOzs7O0lDMVBNO0dINGpCTjtFRTdUQzs7OztJQy9QSztHSGtrQk47RUU5VEM7Ozs7SUNwUUs7R0h3a0JOO0VJdGtCVTs7OztJQUNJO0lBQ0E7R0oya0JkO0VJcmtCYzs7OztJQUNJO0dKMGtCbEI7RUVyVUc7Ozs7SUNoUkc7R0gybEJOO0VFclVHOzs7O0lDdFJHO0dIaW1CTjtFRXBVQzs7OztJQzdSSztHSHVtQk47RUVuVUQ7O0lBQ0M7R0ZzVUE7RUVuVUE7Ozs7SUN4U007R0hpbkJOO0VFcFVDOzs7O0lDN1NLO0dIdW5CTjtFRXJVQzs7OztJQ2xUSztHSDZuQk47RUkzbkJVOzs7O0lBQ0k7SUFDQTtHSmdvQmQ7RUkxbkJjOzs7O0lBQ0k7R0orbkJsQjtFRTVVRzs7OztJQzlURztHSGdwQk47RUU1VUc7Ozs7SUNwVUc7R0hzcEJOO0VFM1VDOzs7O0lDM1VLO0dINHBCTjtFRXRURDs7SUN0V087R0hncUJOO0VFclRBOztJQzNXTTtHSG9xQk47RUVtVEs7O0lDdjlCQztHSHdxQk4iLCJmaWxlIjoiL2Nzcy90aGVtZXMvbGF5b3V0L2FzaWRlL2RhcmsuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIEFzaWRlIGRhcmsgdGhlbWVcbi8vXG5cblxuLy8gSW5pdGlhbGl6YXRpb24gb2YgZ2xvYmFsIHZhcmlhYmxlcywgbWl4aW5zIGFuZCBmdW5jdGlvbnNcbkBpbXBvcnQgXCIuLi8uLi8uLi9pbml0XCI7XG5cbi5hc2lkZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IGdldCgkbGF5b3V0LXRoZW1lcywgZGFyayk7XG5cblx0Ly8gQXNpZGUgTWVudVxuXHQuYXNpZGUtbWVudSB7XG5cdFx0Ly8gU2Nyb2xsYmFyXG5cdFx0QGluY2x1ZGUgcGVyZmVjdC1zY3JvbGxiYXItdGhlbWUoIzYzNzA5OSk7XG5cdH1cbn1cblxuLy8gQnVpbGQgYXNpZGUgbWVudSB0aGVtZVxuQGluY2x1ZGUgbWVudS12ZXItYnVpbGQtdGhlbWUoJGFzaWRlLW1lbnUtY29uZmlnLCBkYXJrKTtcbiIsIi8vXG4vLyBTY3JvbGwgTWl4aW5zXG4vL1xuXG4vLyBUaGVtZVxuQG1peGluIHBlcmZlY3Qtc2Nyb2xsYmFyLXRoZW1lKCRjb2xvcikge1xuICAgICYucHMge1xuICAgICAgICA+IC5wc19fcmFpbC14IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgID4gLnBzX190aHVtYi14IHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLnBzX190aHVtYi14IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5wc19fcmFpbC15IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgID4gLnBzX190aHVtYi15IHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLnBzX190aHVtYi15IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBwZXJmZWN0LXNjcm9sbGJhci12ZXItc2l6ZSgkc2l6ZSkge1xuICAgICYucHMge1xuICAgICAgICA+IC5wc19fcmFpbC15IHtcbiAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAucHNfX3RodW1iLXkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQpO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHBlcmZlY3Qtc2Nyb2xsYmFyLWhvci1zaXplKCRzaXplKSB7XG4gICAgJi5wcyB7XG4gICAgICAgID4gLnBzX19yYWlsLXgge1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLnBzX190aHVtYi14IHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQpO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHBlcmZlY3Qtc2Nyb2xsYmFyLXZlci1vZmZzZXQoJG9mZnNldCkge1xuICAgICYucHMge1xuICAgICAgICA+IC5wc19fcmFpbC15IHtcbiAgICAgICAgICAgIHJpZ2h0OiAkb2Zmc2V0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIFZlcnRpY2FsIE1lbnUgR2VuZXJhdG9yIEhlbHBlcnNcbi8vXG5cblxuXG4vLyBJdGVtXG5AbWl4aW4gbWVudS12ZXItaXRlbS1iYXNlKCRpdGVtKSB7XG5cdC8vIGl0ZW1cblx0QGluY2x1ZGUgYXR0cihtYXJnaW4sIGdldCgkaXRlbSwgc2VsZiwgbWFyZ2luKSk7XG5cdEBpbmNsdWRlIGF0dHIocGFkZGluZywgZ2V0KCRpdGVtLCBzZWxmLCBwYWRkaW5nKSk7XG5cblx0Ly8gaXRlbSBsaW5rIGFuZCBoZWFkaW5nXG5cdD4gLm1lbnUtaGVhZGluZyxcblx0PiAubWVudS1saW5rIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhnZXQoJGl0ZW0sIGxpbmssIHNlbGYsIGJvcmRlci1yYWRpdXMpKTtcblx0XHQvLyBsaW5rIGhlaWdodFxuXHRcdG1pbi1oZWlnaHQ6IGdldCgkaXRlbSwgbGluaywgc2VsZiwgaGVpZ2h0KTtcblxuXHRcdC8vIGxpbmsgbWFyZ2luXG5cdFx0QGluY2x1ZGUgYXR0cihtYXJnaW4sIGdldCgkaXRlbSwgbGluaywgc2VsZiwgbWFyZ2luKSk7XG5cblx0XHQvLyBtZW51IGl0ZW0gbGluaydzIHRleHQgcGFydFxuXHRcdC5tZW51LXRleHQge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGdldCgkaXRlbSwgbGluaywgdGV4dCwgZm9udC13ZWlnaHQpO1xuXHRcdFx0Zm9udC1zaXplOiBnZXQoJGl0ZW0sIGxpbmssIHRleHQsIGZvbnQtc2l6ZSk7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogZ2V0KCRpdGVtLCBsaW5rLCB0ZXh0LCBmb250LXRyYW5zZm9ybSk7XG5cdFx0fVxuXG5cdFx0Ly8gbWVudSBpdGVtIGxpbmsncyBpY29uXG5cdFx0Lm1lbnUtaWNvbiB7XG5cdFx0XHR0ZXh0LWFsaWduOiBnZXQoJGl0ZW0sIGxpbmssIGljb24sIGFsaWduKTtcblx0XHRcdGZsZXg6IDAgMCBnZXQoJGl0ZW0sIGxpbmssIGljb24sIHdpZHRoKTtcblx0XHRcdGZvbnQtc2l6ZTogZ2V0KCRpdGVtLCBsaW5rLCBpY29uLCBmb250LXNpemUpO1xuXG5cdFx0XHQvLyBkdW8tdG9uZSBzdmcgaWNvblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0QGluY2x1ZGUgYXR0cihoZWlnaHQsIGdldCgkaXRlbSwgbGluaywgaWNvbiwgc3ZnLXdpZHRoKSk7XG5cdFx0XHRcdEBpbmNsdWRlIGF0dHIod2lkdGgsIGdldCgkaXRlbSwgbGluaywgaWNvbiwgc3ZnLXdpZHRoKSk7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgYnVsbGV0XG5cdFx0Lm1lbnUtYnVsbGV0IHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0ZmxleDogMCAwIGdldCgkaXRlbSwgbGluaywgYnVsbGV0LCBzZWxmLCB3aWR0aCk7XG5cblx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblxuXHRcdFx0Ji5tZW51LWJ1bGxldC1kb3Qge1xuXHRcdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRcdHdpZHRoOiBnZXQoJGl0ZW0sIGxpbmssIGJ1bGxldCwgZG90LCBzaXplKTtcblx0XHRcdFx0XHRoZWlnaHQ6IGdldCgkaXRlbSwgbGluaywgYnVsbGV0LCBkb3QsIHNpemUpO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5tZW51LWJ1bGxldC1saW5lIHtcblx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHR3aWR0aDogZ2V0KCRpdGVtLCBsaW5rLCBidWxsZXQsIGxpbmUsIHdpZHRoKTtcblx0XHRcdFx0XHRoZWlnaHQ6IGdldCgkaXRlbSwgbGluaywgYnVsbGV0LCBsaW5lLCBoZWlnaHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gbWVudSBpdGVtIGxpbmsncyBpY29uIHBhcnRcblx0XHQubWVudS1sYWJlbCB7XG5cdFx0XHRwYWRkaW5nOiBnZXQoJGl0ZW0sIGxpbmssIGxhYmVsLCBwYWRkaW5nKTtcblx0XHRcdHRleHQtYWxpZ246IGdldCgkaXRlbSwgbGluaywgbGFiZWwsIGFsaWduKTtcblx0XHR9XG5cblx0XHQvLyBtZW51IGl0ZW0gbGluaydzIGFycm93IHBhcnRcblx0XHQubWVudS1hcnJvdyB7XG5cdFx0XHR0ZXh0LWFsaWduOiBnZXQoJGl0ZW0sIGxpbmssIGFycm93LCBhbGlnbik7XG5cdFx0XHRmbGV4OiAwIDAgZ2V0KCRpdGVtLCBsaW5rLCBhcnJvdywgd2lkdGgpO1xuXHRcdFx0Zm9udC1zaXplOiBnZXQoJGl0ZW0sIGxpbmssIGFycm93LCBmb250LXNpemUpO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHRyYW5zaXRpb246IGdldCgkaXRlbSwgbGluaywgYXJyb3csIHRyYW5zaXRpb24pO1xuXHRcdFx0XHRAaW5jbHVkZSBraShnZXQoJGtpLXR5cGVzLCBhcnJvd05leHQpKTtcblxuXHRcdFx0XHRbZGlyZWN0aW9uPVwicnRsXCJdICYge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiI3tnZXQoJGtpLXR5cGVzLCBhcnJvd0JhY2spfVwiICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBtZW51IHJvb3QgbGV2ZWwgXCJoZXJlXCIgYXJyb3dcblx0XHQubWVudS1pdGVtLWhlcmUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQvLyBpdGVtIGxpbmsgb3BlbiBzdGF0ZVxuXHQmLm1lbnUtaXRlbS1vcGVuIHtcblx0XHQ+IC5tZW51LWhlYWRpbmcsXG5cdFx0PiAubWVudS1saW5rIHtcblx0XHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgYXJyb3cgcGFydFxuXHRcdFx0Lm1lbnUtYXJyb3cge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogZ2V0KCRpdGVtLCBsaW5rLCBhcnJvdywgdHJhbnNpdGlvbik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIG1lbnUtdmVyLWl0ZW0tdGhlbWUoJGl0ZW0pIHtcblx0Ly8gaXRlbVxuXHRAaW5jbHVkZSBhdHRyKGJhY2tncm91bmQtY29sb3IsIGdldCgkaXRlbSwgc2VsZiwgYmctY29sb3IsIGRlZmF1bHQpKTtcblxuXHQvLyBpdGVtIGxpbmsgYW5kIGhlYWRpbmdcblx0PiAubWVudS1oZWFkaW5nLFxuXHQ+IC5tZW51LWxpbmsge1xuXHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgdGV4dCBwYXJ0XG5cdFx0Lm1lbnUtdGV4dCB7XG5cdFx0XHRAaW5jbHVkZSBhdHRyKGNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIHRleHQsIGZvbnQtY29sb3IsIGRlZmF1bHQpKTtcblx0XHRcdEBpZiBoYXMoJGl0ZW0sIGxpbmssIHRleHQsIGZvbnQtd2VpZ2h0KSB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBnZXQoJGl0ZW0sIGxpbmssIHRleHQsIGZvbnQtd2VpZ2h0KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBtZW51IGl0ZW0gbGluaydzIGljb25cblx0XHQubWVudS1pY29uIHtcblx0XHRcdEBpbmNsdWRlIGF0dHIoY29sb3IsIGdldCgkaXRlbSwgbGluaywgaWNvbiwgZm9udC1jb2xvciwgZGVmYXVsdCkpO1xuXG5cdFx0XHQvLyBEdWUtdG9uZSBpY29uXG5cdFx0XHQmLnN2Zy1pY29uIHtcblx0XHRcdFx0QGluY2x1ZGUgc3ZnLWljb24tY29sb3IoZ2V0KCRpdGVtLCBsaW5rLCBpY29uLCBmb250LWNvbG9yLCBkZWZhdWx0KSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gbWVudSBpdGVtIGxpbmsncyBidWxsZXRcblx0XHQubWVudS1idWxsZXQge1xuXHRcdFx0Ji5tZW51LWJ1bGxldC1kb3Qge1xuXHRcdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGF0dHIoYmFja2dyb3VuZC1jb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCBidWxsZXQsIGRvdCwgYmctY29sb3IsIGRlZmF1bHQpKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLm1lbnUtYnVsbGV0LWxpbmUge1xuXHRcdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGF0dHIoYmFja2dyb3VuZC1jb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCBidWxsZXQsIGxpbmUsIGJnLWNvbG9yLCBkZWZhdWx0KSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBtZW51IGl0ZW0gbGluaydzIGFycm93IHBhcnRcblx0XHQubWVudS1hcnJvdyB7XG5cdFx0XHRAaW5jbHVkZSBhdHRyKGNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIGFycm93LCBmb250LWNvbG9yLCBkZWZhdWx0KSk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gaXRlbSBsaW5rIG9wZW4gc3RhdGVcblx0Ji5tZW51LWl0ZW0tb3BlbiB7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXHRcdEBpbmNsdWRlIGF0dHIoYmFja2dyb3VuZC1jb2xvciwgZ2V0KCRpdGVtLCBzZWxmLCBiZy1jb2xvciwgb3BlbikpO1xuXG5cdFx0PiAubWVudS1oZWFkaW5nLFxuXHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRAaW5jbHVkZSBhdHRyKGJhY2tncm91bmQtY29sb3IsIGdldCgkaXRlbSwgbGluaywgc2VsZiwgYmctY29sb3IsIG9wZW4pKTtcblxuXHRcdFx0Ly8gbWVudSBpdGVtIGxpbmsncyB0ZXh0IHBhcnRcblx0XHRcdC5tZW51LXRleHQge1xuXHRcdFx0XHRAaW5jbHVkZSBhdHRyKGNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIHRleHQsIGZvbnQtY29sb3IsIG9wZW4pKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gbWVudSBpdGVtIGxpbmsncyBpY29uIHBhcnRcblx0XHRcdC5tZW51LWljb24ge1xuXHRcdFx0XHRAaW5jbHVkZSBhdHRyKGNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIGljb24sIGZvbnQtY29sb3IsIG9wZW4pKTtcblxuXHRcdFx0XHQvLyBEdWUtdG9uZSBpY29uXG5cdFx0XHRcdCYuc3ZnLWljb24ge1xuXHRcdFx0XHRcdEBpbmNsdWRlIHN2Zy1pY29uLWNvbG9yKGdldCgkaXRlbSwgbGluaywgaWNvbiwgZm9udC1jb2xvciwgb3BlbikpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgYnVsbGV0XG5cdFx0XHQubWVudS1idWxsZXQge1xuXHRcdFx0XHQmLm1lbnUtYnVsbGV0LWRvdCB7XG5cdFx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGF0dHIoYmFja2dyb3VuZC1jb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCBidWxsZXQsIGRvdCwgYmctY29sb3IsIG9wZW4pKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLm1lbnUtYnVsbGV0LWxpbmUge1xuXHRcdFx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBhdHRyKGJhY2tncm91bmQtY29sb3IsIGdldCgkaXRlbSwgbGluaywgYnVsbGV0LCBsaW5lLCBiZy1jb2xvciwgb3BlbikpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBtZW51IGl0ZW0gbGluaydzIGFycm93IHBhcnRcblx0XHRcdC5tZW51LWFycm93IHtcblx0XHRcdFx0QGluY2x1ZGUgYXR0cihjb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCBhcnJvdywgZm9udC1jb2xvciwgb3BlbikpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIGl0ZW0gbGluayBvcGVuIHN0YXRlXG5cdCYubWVudS1pdGVtLWhlcmUge1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblx0XHRAaW5jbHVkZSBhdHRyKGJhY2tncm91bmQtY29sb3IsIGdldCgkaXRlbSwgc2VsZiwgYmctY29sb3IsIGhlcmUpKTtcblxuXHRcdD4gLm1lbnUtaGVhZGluZyxcblx0XHQ+IC5tZW51LWxpbmsge1xuXHRcdFx0QGluY2x1ZGUgYXR0cihiYWNrZ3JvdW5kLWNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIHNlbGYsIGJnLWNvbG9yLCBoZXJlKSk7XG5cblx0XHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgdGV4dCBwYXJ0XG5cdFx0XHQubWVudS10ZXh0IHtcblx0XHRcdFx0QGluY2x1ZGUgYXR0cihjb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCB0ZXh0LCBmb250LWNvbG9yLCBoZXJlKSk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgaWNvbiBwYXJ0XG5cdFx0XHQubWVudS1pY29uIHtcblx0XHRcdFx0QGluY2x1ZGUgYXR0cihjb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCBpY29uLCBmb250LWNvbG9yLCBoZXJlKSk7XG5cblx0XHRcdFx0Ly8gRHVlLXRvbmUgaWNvblxuXHRcdFx0XHQmLnN2Zy1pY29uIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBzdmctaWNvbi1jb2xvcihnZXQoJGl0ZW0sIGxpbmssIGljb24sIGZvbnQtY29sb3IsIGhlcmUpKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBtZW51IGl0ZW0gbGluaydzIGJ1bGxldFxuXHRcdFx0Lm1lbnUtYnVsbGV0IHtcblx0XHRcdFx0Ji5tZW51LWJ1bGxldC1kb3Qge1xuXHRcdFx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBhdHRyKGJhY2tncm91bmQtY29sb3IsIGdldCgkaXRlbSwgbGluaywgYnVsbGV0LCBkb3QsIGJnLWNvbG9yLCBoZXJlKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5tZW51LWJ1bGxldC1saW5lIHtcblx0XHRcdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYXR0cihiYWNrZ3JvdW5kLWNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIGJ1bGxldCwgbGluZSwgYmctY29sb3IsIGhlcmUpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gbWVudSBpdGVtIGxpbmsncyBhcnJvdyBwYXJ0XG5cdFx0XHQubWVudS1hcnJvdyB7XG5cdFx0XHRcdEBpbmNsdWRlIGF0dHIoY29sb3IsIGdldCgkaXRlbSwgbGluaywgYXJyb3csIGZvbnQtY29sb3IsIGhlcmUpKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBpdGVtIGxpbmsgYWN0aXZlIHN0YXRlXG5cdCYubWVudS1pdGVtLWFjdGl2ZSB7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXHRcdEBpbmNsdWRlIGF0dHIoYmFja2dyb3VuZC1jb2xvciwgZ2V0KCRpdGVtLCBzZWxmLCBiZy1jb2xvciwgYWN0aXZlKSk7XG5cblx0XHQ+IC5tZW51LWhlYWRpbmcsXG5cdFx0PiAubWVudS1saW5rIHtcblx0XHRcdEBpbmNsdWRlIGF0dHIoYmFja2dyb3VuZC1jb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCBzZWxmLCBiZy1jb2xvciwgYWN0aXZlKSk7XG5cblx0XHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgdGV4dCBwYXJ0XG5cdFx0XHQubWVudS10ZXh0IHtcblx0XHRcdFx0QGluY2x1ZGUgYXR0cihjb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCB0ZXh0LCBmb250LWNvbG9yLCBhY3RpdmUpKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gbWVudSBpdGVtIGxpbmsncyBpY29uIHBhcnRcblx0XHRcdC5tZW51LWljb24ge1xuXHRcdFx0XHRAaW5jbHVkZSBhdHRyKGNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIGljb24sIGZvbnQtY29sb3IsIGFjdGl2ZSkpO1xuXG5cdFx0XHRcdC8vIER1ZS10b25lIGljb25cblx0XHRcdFx0Ji5zdmctaWNvbiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgc3ZnLWljb24tY29sb3IoZ2V0KCRpdGVtLCBsaW5rLCBpY29uLCBmb250LWNvbG9yLCBhY3RpdmUpKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBtZW51IGl0ZW0gbGluaydzIGJ1bGxldFxuXHRcdFx0Lm1lbnUtYnVsbGV0IHtcblx0XHRcdFx0Ji5tZW51LWJ1bGxldC1kb3Qge1xuXHRcdFx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBhdHRyKGJhY2tncm91bmQtY29sb3IsIGdldCgkaXRlbSwgbGluaywgYnVsbGV0LCBkb3QsIGJnLWNvbG9yLCBhY3RpdmUpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLm1lbnUtYnVsbGV0LWxpbmUge1xuXHRcdFx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBhdHRyKGJhY2tncm91bmQtY29sb3IsIGdldCgkaXRlbSwgbGluaywgYnVsbGV0LCBsaW5lLCBiZy1jb2xvciwgYWN0aXZlKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgYXJyb3cgcGFydFxuXHRcdFx0Lm1lbnUtYXJyb3cge1xuXHRcdFx0XHRAaW5jbHVkZSBhdHRyKGNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIGFycm93LCBmb250LWNvbG9yLCBhY3RpdmUpKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBpdGVtIGxpbmsgaG92ZXIgc3RhdGVcblx0Jjpub3QoLm1lbnUtaXRlbS1wYXJlbnQpOm5vdCgubWVudS1pdGVtLW9wZW4pOm5vdCgubWVudS1pdGVtLWhlcmUpOm5vdCgubWVudS1pdGVtLWFjdGl2ZSk6aG92ZXIge1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcblx0XHRAaW5jbHVkZSBhdHRyKGJhY2tncm91bmQtY29sb3IsIGdldCgkaXRlbSwgc2VsZiwgYmctY29sb3IsIGhvdmVyKSk7XG5cblx0XHQ+IC5tZW51LWhlYWRpbmcsXG5cdFx0PiAubWVudS1saW5rIHtcblx0XHRcdEBpbmNsdWRlIGF0dHIoYmFja2dyb3VuZC1jb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCBzZWxmLCBiZy1jb2xvciwgaG92ZXIpKTtcblxuXHRcdFx0Ly8gbWVudSBpdGVtIGxpbmsncyB0ZXh0IHBhcnRcblx0XHRcdC5tZW51LXRleHQge1xuXHRcdFx0XHRAaW5jbHVkZSBhdHRyKGNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIHRleHQsIGZvbnQtY29sb3IsIGhvdmVyKSk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgaWNvbiBwYXJ0XG5cdFx0XHQubWVudS1pY29uIHtcblx0XHRcdFx0QGluY2x1ZGUgYXR0cihjb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCBpY29uLCBmb250LWNvbG9yLCBob3ZlcikpO1xuXG5cdFx0XHRcdC8vIER1ZS10b25lIGljb25cblx0XHRcdFx0Ji5zdmctaWNvbiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgc3ZnLWljb24tY29sb3IoZ2V0KCRpdGVtLCBsaW5rLCBpY29uLCBmb250LWNvbG9yLCBob3ZlcikpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgYnVsbGV0XG5cdFx0XHQubWVudS1idWxsZXQge1xuXHRcdFx0XHQmLm1lbnUtYnVsbGV0LWRvdCB7XG5cdFx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGF0dHIoYmFja2dyb3VuZC1jb2xvciwgZ2V0KCRpdGVtLCBsaW5rLCBidWxsZXQsIGRvdCwgYmctY29sb3IsIGhvdmVyKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5tZW51LWJ1bGxldC1saW5lIHtcblx0XHRcdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYXR0cihiYWNrZ3JvdW5kLWNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIGJ1bGxldCwgbGluZSwgYmctY29sb3IsIGhvdmVyKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgYXJyb3cgcGFydFxuXHRcdFx0Lm1lbnUtYXJyb3cge1xuXHRcdFx0XHRAaW5jbHVkZSBhdHRyKGNvbG9yLCBnZXQoJGl0ZW0sIGxpbmssIGFycm93LCBmb250LWNvbG9yLCBob3ZlcikpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBTZWN0aW9uXG5AbWl4aW4gbWVudS12ZXItc2VjdGlvbi1iYXNlKCRzZWN0aW9uKSB7XG5cdG1hcmdpbjogZ2V0KCRzZWN0aW9uLCBzZWxmLCBtYXJnaW4pO1xuXHRoZWlnaHQ6IGdldCgkc2VjdGlvbiwgc2VsZiwgaGVpZ2h0KTtcblxuXHQubWVudS10ZXh0IHtcblx0XHRmb250LXNpemU6IGdldCgkc2VjdGlvbiwgdGV4dCwgZm9udC1zaXplKTtcblx0XHRmb250LXdlaWdodDogZ2V0KCRzZWN0aW9uLCB0ZXh0LCBmb250LXdlaWdodCk7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGdldCgkc2VjdGlvbiwgdGV4dCwgZm9udC10cmFuc2Zvcm0pO1xuXHRcdGxldHRlci1zcGFjaW5nOiBnZXQoJHNlY3Rpb24sIHRleHQsIGxldHRlci1zcGFjaW5nKTtcblx0fVxuXG5cdEBpZiBoYXMoJHNlY3Rpb24sIGljb24pIHtcblx0XHQubWVudS1pY29uIHtcblx0XHRcdHBhZGRpbmc6IGdldCgkc2VjdGlvbiwgaWNvbiwgcGFkZGluZyk7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBtZW51LXZlci1zZWN0aW9uLXRoZW1lKCRzZWN0aW9uKSB7XG5cdC5tZW51LXRleHQge1xuXHRcdEBpbmNsdWRlIGF0dHIoY29sb3IsIGdldCgkc2VjdGlvbiwgdGV4dCwgZm9udC1jb2xvcikpO1xuXHR9XG5cblx0QGlmIGhhcygkc2VjdGlvbiwgaWNvbikge1xuXHRcdC5tZW51LWljb24ge1xuXHRcdFx0QGluY2x1ZGUgYXR0cihjb2xvciwgZ2V0KCRzZWN0aW9uLCBpY29uLCBmb250LWNvbG9yKSk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIFNlcGFyYXRvclxuQG1peGluIG1lbnUtdmVyLXNlcGFyYXRvci1iYXNlKCRzZXBhcmF0b3IpIHtcblx0bWFyZ2luOiBnZXQoJHNlcGFyYXRvciwgbWFyZ2luKTtcblxuXHQubWVudS1zZXBhcmF0b3ItbWFyZ2lubGVzcyB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG5cbkBtaXhpbiBtZW51LXZlci1zZXBhcmF0b3ItdGhlbWUoJHNlcGFyYXRvcikge1xuXHRAaW5jbHVkZSBhdHRyKGJvcmRlci1ib3R0b20sIGdldCgkc2VwYXJhdG9yLCBib3JkZXIpKTtcbn1cblxuLy8gTWluaW1pemUgUGFyZW50IEl0ZW1cbkBtaXhpbiBtZW51LXZlci1taW5pbWl6ZS1wYXJlbnQtaXRlbS1iYXNlKCRpdGVtKSB7XG5cdC8vIGl0ZW1cblx0bWFyZ2luOiBnZXQoJGl0ZW0sIHNlbGYsIG1hcmdpbik7XG5cblx0Ly8gaXRlbSBsaW5rIGFuZCBoZWFkaW5nXG5cdD4gLm1lbnUtbGluayB7XG5cdFx0aGVpZ2h0OiBnZXQoJGl0ZW0sIGxpbmssIHNlbGYsIGhlaWdodCk7XG5cdFx0cGFkZGluZzogZ2V0KCRpdGVtLCBsaW5rLCBzZWxmLCBwYWRkaW5nKTtcblxuXHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgdGV4dCBwYXJ0XG5cdFx0Lm1lbnUtdGV4dCB7XG5cdFx0XHRmb250LXdlaWdodDogZ2V0KCRpdGVtLCBsaW5rLCB0ZXh0LCBmb250LXdlaWdodCk7XG5cdFx0XHRmb250LXNpemU6IGdldCgkaXRlbSwgbGluaywgdGV4dCwgZm9udC1zaXplKTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBnZXQoJGl0ZW0sIGxpbmssIHRleHQsIGZvbnQtdHJhbnNmb3JtKTtcblx0XHRcdGN1cnNvcjogdGV4dCAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgaWNvbiBwYXJ0XG5cdFx0Lm1lbnUtbGFiZWwge1xuXHRcdFx0cGFkZGluZzogZ2V0KCRpdGVtLCBsaW5rLCBsYWJlbCwgcGFkZGluZyk7XG5cdFx0XHR0ZXh0LWFsaWduOiBnZXQoJGl0ZW0sIGxpbmssIGxhYmVsLCBhbGlnbik7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBtZW51LXZlci1taW5pbWl6ZS1wYXJlbnQtaXRlbS10aGVtZSgkaXRlbSkge1xuXHQvLyBpdGVtXG5cdEBpbmNsdWRlIGF0dHIoYmFja2dyb3VuZC1jb2xvciwgZ2V0KCRpdGVtLCBzZWxmLCBiZy1jb2xvciwgZGVmYXVsdCkpO1xuXG5cdC8vIGl0ZW0gbGluayBhbmQgaGVhZGluZ1xuXHQ+IC5tZW51LWxpbmsge1xuXHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgdGV4dCBwYXJ0XG5cdFx0PiAubWVudS10ZXh0IHtcblx0XHRcdEBpbmNsdWRlIGF0dHIoY29sb3IsIGdldCgkaXRlbSwgbGluaywgdGV4dCwgZm9udC1jb2xvciwgZGVmYXVsdCkpO1xuXHRcdH1cblx0fVxufVxuXG4vLyBCYXNlXG5AbWl4aW4gbWVudS12ZXItYmFzZSgkYmFzZS1jb25maWcsICRsYXlvdXQpIHtcblx0LiN7Z2V0KCRiYXNlLWNvbmZpZywgY2xhc3MpfSB7XG5cdFx0Ly8gbWVudSBuYXZcblx0XHQubWVudS1uYXYge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdHBhZGRpbmc6IGdldCgkbGF5b3V0LCBkZWZhdWx0LCBzZWxmLCBwYWRkaW5nKTtcblxuXHRcdFx0Ly8gQmFzZSBtYXJrdXBcblx0XHRcdC5tZW51LXNjcm9sbCB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0ZmxleC1ncm93OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQubWVudS1zdWJuYXYge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBnZW5lcmFsIHN1Ym1lbnVcblx0XHRcdC5tZW51LWlubmVyLFxuXHRcdFx0Lm1lbnUtc3VibWVudSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdFx0QGlmIGdldCgkYmFzZS1jb25maWcsIG1vZGUpID09IFwidGFibGV0LWFuZC1tb2JpbGVcIiBvciBnZXQoJGJhc2UtY29uZmlnLCBtb2RlKSA9PSBcIm1vYmlsZVwiIHtcblx0XHRcdFx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gQ29udGVudFxuXHRcdFx0XHQubWVudS1jb250ZW50IHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0XHRcdD4gLm1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblxuXHRcdFx0XHRcdFx0Ji5tZW51LWhlYWRpbmdsZXNzIHtcblx0XHRcdFx0XHRcdFx0PiAubWVudS1pbm5lciB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdFx0XHRcdFx0XHRcdD4gbGkgPiAubWVudS1saW5rIHtcblx0ICAgXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gZ2VuZXJhbCBpdGVtXG5cdFx0XHQubWVudS1pdGVtIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0ZmxleC1ncm93OiAxO1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0XHQvLyBpdGVtIGxpbmsgYW5kIGhlYWRpbmdcblx0XHRcdFx0PiAubWVudS1oZWFkaW5nLFxuXHRcdFx0XHQ+IC5tZW51LWxpbmsge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC1ncm93OiAxO1xuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0b3V0bGluZTogbm9uZTtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5tZW51LXRleHQge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5tZW51LWxhYmVsIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBtZW51IGl0ZW0gbGluaydzIGljb24gcGFydFxuXHRcdFx0XHRcdC5tZW51LWljb24ge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBtZW51IGl0ZW0gbGluaydzIGljb24gcGFydFxuXHRcdFx0XHRcdC5tZW51LWJ1bGxldCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIG1lbnUgaXRlbSBsaW5rJ3MgYXJyb3cgcGFydFxuXHRcdFx0XHRcdC5tZW51LWFycm93IHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAwO1xuXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gaXRlbSBsaW5rIG9wZW4gc3RhdGVcblx0XHRcdFx0Ji5tZW51LWl0ZW0tb3BlbiB7XG5cdFx0XHRcdFx0PiAubWVudS1oZWFkaW5nLFxuXHRcdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHQvLyBtZW51IGl0ZW0gbGluaydzIGFycm93IHBhcnRcblx0XHRcdFx0XHRcdD4gLm1lbnUtYXJyb3cge1xuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGVaKDkwZGVnKSN7Jy8qcnRsOmlnbm9yZSovJ307XG5cblx0XHRcdFx0XHRcdFx0XHRbZGlyZWN0aW9uPVwicnRsXCJdICYge1xuXHRcdFx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGVaKC05MGRlZykjeycvKnJ0bDppZ25vcmUqLyd9O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdD4gLm1lbnUtc3VibWVudSxcblx0XHRcdFx0XHQ+IC5tZW51LWlubmVyIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIHN1Ym1lbnUgaXRlbXNcblx0XHRcdFx0Lm1lbnUtc3VibWVudSB7XG5cdFx0XHRcdFx0Ly8gc3VibWVudSBpdGVtXG5cdFx0XHRcdFx0Lm1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0XHQvLyBpdGVtIGxpbmsgYW5kIGhlYWRpbmdcblx0XHRcdFx0XHRcdD4gLm1lbnUtaGVhZGluZyxcblx0XHRcdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IGdldCgkbGF5b3V0LCBkZWZhdWx0LCBpdGVtLCBzdWJtZW51LCBpdGVtLCBsaW5rLCBwYWRkaW5nKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBwYXJlbnQgaXRlbSB1c2VkIGZvciBtaW5pbWl6ZWQgbWVudSdzIGRyb3Bkb3duIHN1Ym1lbnVzXG5cdFx0XHRcdFx0Lm1lbnUtaXRlbS1wYXJlbnQge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gZ2VuZXJhbCBzZWN0aW9uXG5cdFx0XHQubWVudS1zZWN0aW9uIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0cGFkZGluZzogZ2V0KCRsYXlvdXQsIGRlZmF1bHQsIHNlY3Rpb24sIHNlbGYsIHBhZGRpbmcpO1xuXG5cdFx0XHRcdCYubWVudS1zZWN0aW9uLWZpcnN0IHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubWVudS10ZXh0IHtcblx0XHRcdFx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5tZW51LWljb24ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBnZW5lcmFsIHNlcGFyYXRvclxuXHRcdFx0Lm1lbnUtc2VwYXJhdG9yIHtcblx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdCYubWVudS1zZXBhcmF0b3ItbWFyZ2lubGVzcyB7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIEN1c3RvbSBtYXJrdXBcblx0XHRcdC8vIG1lbnUgaXRlbVxuXHRcdFx0PiAubWVudS1pdGVtIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRAaW5jbHVkZSBtZW51LXZlci1pdGVtLWJhc2UoZ2V0KCRsYXlvdXQsIGRlZmF1bHQsIGl0ZW0pKTtcblxuXHRcdFx0XHQubWVudS1zdWJtZW51IHtcblx0XHRcdFx0XHQubWVudS1zdWJuYXYge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYXR0cihtYXJnaW4sIGdldCgkbGF5b3V0LCBkZWZhdWx0LCBpdGVtLCBzdWJtZW51LCBzZWxmLCBtYXJnaW4pKTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGF0dHIocGFkZGluZywgZ2V0KCRsYXlvdXQsIGRlZmF1bHQsIGl0ZW0sIHN1Ym1lbnUsIHNlbGYsIHBhZGRpbmcpKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBtZW51IGl0ZW1cblx0XHRcdFx0XHQubWVudS1pdGVtIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lbnUtdmVyLWl0ZW0tYmFzZShnZXQoJGxheW91dCwgZGVmYXVsdCwgaXRlbSwgc3VibWVudSwgaXRlbSkpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIG1lbnUgc2VjdGlvblxuXHRcdFx0XHRcdC5tZW51LXNlY3Rpb24ge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVudS12ZXItc2VjdGlvbi1iYXNlKGdldCgkbGF5b3V0LCBkZWZhdWx0LCBpdGVtLCBzdWJtZW51LCBzZWN0aW9uKSk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gbWVudSBpdGVtIHNlcGFyYXRvclxuXHRcdFx0XHRcdC5tZW51LXNlcGFyYXRvciB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZW51LXZlci1zZXBhcmF0b3ItYmFzZShnZXQoJGxheW91dCwgZGVmYXVsdCwgaXRlbSwgc3VibWVudSwgc2VwYXJhdG9yKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIG1lbnUgc2VjdGlvblxuXHRcdFx0PiAubWVudS1zZWN0aW9uIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVudS12ZXItc2VjdGlvbi1iYXNlKGdldCgkbGF5b3V0LCBkZWZhdWx0LCBzZWN0aW9uKSk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIG1lbnUgaXRlbSBzZXBhcmF0b3Jcblx0XHRcdD4gLm1lbnUtc2VwYXJhdG9yIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVudS12ZXItc2VwYXJhdG9yLWJhc2UoZ2V0KCRsYXlvdXQsIGRlZmF1bHQsIHNlcGFyYXRvcikpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBzdWJtZW51IGxpbmsgcGFkZGluZ3MgYW5kIGluZGVudGlvbnNcblx0XHRcdC8vIGl0ZW1cblx0XHRcdCRpdGVtLWxpbmstcGFkZGluZzogZ2V0KCRsYXlvdXQsIGRlZmF1bHQsIGl0ZW0sIGxpbmssIHNlbGYsIHBhZGRpbmcpO1xuXHRcdFx0JGl0ZW0tc2VjdGlvbi1wYWRkaW5nOiBnZXQoJGxheW91dCwgZGVmYXVsdCwgc2VjdGlvbiwgc2VsZiwgcGFkZGluZyk7XG5cblx0XHRcdC8vIGl0ZW0gc3VibWVudVxuXHRcdFx0JGl0ZW0tc3VibWVudS1wYWRkaW5nLWxlZnQ6IGdldCgkbGF5b3V0LCBkZWZhdWx0LCBpdGVtLCBzdWJtZW51LCBpdGVtLCBsaW5rLCBzZWxmLCBwYWRkaW5nLXgpO1xuXG5cdFx0XHQkaXRlbS1zdWJtZW51LWluZGVudDogZ2V0KCRsYXlvdXQsIGRlZmF1bHQsIGl0ZW0sIHN1Ym1lbnUsIHNlbGYsIGluZGVudCk7XG5cdFx0XHQkaXRlbS1zdWJtZW51LWxpbmstcGFkZGluZzogZ2V0KCRsYXlvdXQsIGRlZmF1bHQsIGl0ZW0sIHN1Ym1lbnUsIGl0ZW0sIGxpbmssIHNlbGYsIHBhZGRpbmcpO1xuXG5cdFx0XHQkaXRlbS1zdWJtZW51LXNlY3Rpb24taW5kZW50OiBnZXQoJGxheW91dCwgZGVmYXVsdCwgaXRlbSwgc3VibWVudSwgc2VjdGlvbiwgc2VsZiwgaW5kZW50KTtcblx0XHRcdCRpdGVtLXN1Ym1lbnUtc2VjdGlvbi1wYWRkaW5nOiBnZXQoJGxheW91dCwgZGVmYXVsdCwgaXRlbSwgc3VibWVudSwgc2VjdGlvbiwgcGFkZGluZyk7XG5cblx0XHRcdD4gLm1lbnUtaXRlbSB7XG5cdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0cGFkZGluZzogJGl0ZW0tbGluay1wYWRkaW5nO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0PiAubWVudS1zdWJtZW51IHtcblx0XHRcdFx0XHQubWVudS1zdWJuYXYge1xuXHRcdFx0XHRcdFx0Ly8gaXRlbSBsaW5rIHBhZGRpbmdzXG5cdFx0XHRcdFx0XHQubWVudS1jb250ZW50IHtcblx0XHRcdFx0XHRcdFx0Lm1lbnUtaGVhZGluZyB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogJGl0ZW0tc3VibWVudS1saW5rLXBhZGRpbmc7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkaXRlbS1zdWJtZW51LXBhZGRpbmctbGVmdCArICgxICogJGl0ZW0tc3VibWVudS1zZWN0aW9uLWluZGVudCk7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQubWVudS1pbm5lciB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdFx0XHRcdFx0XHQubWVudS1saW5rIHtcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6ICRpdGVtLXN1Ym1lbnUtbGluay1wYWRkaW5nO1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkaXRlbS1zdWJtZW51LXBhZGRpbmctbGVmdCArICgyICogJGl0ZW0tc3VibWVudS1zZWN0aW9uLWluZGVudCk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdD4gLm1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogJGl0ZW0tc3VibWVudS1saW5rLXBhZGRpbmc7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkaXRlbS1zdWJtZW51LXBhZGRpbmctbGVmdCArICgxICogJGl0ZW0tc3VibWVudS1pbmRlbnQpO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0PiAubWVudS1zdWJtZW51IHtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdFx0XHRcdFx0Lm1lbnUtc3VibmF2IHtcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdFx0XHRcdFx0XHRcdD4gLm1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogJGl0ZW0tc3VibWVudS1saW5rLXBhZGRpbmc7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkaXRlbS1zdWJtZW51LXBhZGRpbmctbGVmdCArICgyICogJGl0ZW0tc3VibWVudS1pbmRlbnQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PiAubWVudS1zdWJtZW51IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lm1lbnUtc3VibmF2IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD4gLm1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogJGl0ZW0tc3VibWVudS1saW5rLXBhZGRpbmc7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkaXRlbS1zdWJtZW51LXBhZGRpbmctbGVmdCArICgzICogJGl0ZW0tc3VibWVudS1pbmRlbnQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC8vIHNlY3Rpb24gcGFkZGluZ3Ncblx0XHRcdFx0XHRcdD4gLm1lbnUtc2VjdGlvbiB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6ICRpdGVtLXN1Ym1lbnUtc2VjdGlvbi1wYWRkaW5nO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6JGl0ZW0tc3VibWVudS1wYWRkaW5nLWxlZnQgKyAoMSAqICRpdGVtLXN1Ym1lbnUtc2VjdGlvbi1pbmRlbnQpO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQ+IC5tZW51LWl0ZW0ge1xuXHRcdFx0XHRcdFx0XHQ+IC5tZW51LXN1Ym1lbnUge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRcdFx0Lm1lbnUtc3VibmF2IHtcblx0XHRcdFx0XHRcdFx0XHRcdD4gLm1lbnUtc2VjdGlvbiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6ICRpdGVtLXN1Ym1lbnUtc2VjdGlvbi1wYWRkaW5nO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6ICRpdGVtLXN1Ym1lbnUtcGFkZGluZy1sZWZ0ICsgKDIgKiAkaXRlbS1zdWJtZW51LXNlY3Rpb24taW5kZW50KTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdFx0PiAubWVudS1pdGVtIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0PiAubWVudS1zdWJtZW51IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC5tZW51LXN1Ym5hdiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+IC5tZW51LXNlY3Rpb24ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAkaXRlbS1zdWJtZW51LXNlY3Rpb24tcGFkZGluZztcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiRpdGVtLXN1Ym1lbnUtcGFkZGluZy1sZWZ0ICsgKDMgKiAkaXRlbS1zdWJtZW51LXNlY3Rpb24taW5kZW50KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIG1lbnUtdmVyLXRoZW1lKCRiYXNlLWNvbmZpZywgJGxheW91dCkge1xuXHQuI3tnZXQoJGJhc2UtY29uZmlnLCBjbGFzcyl9IHtcblx0XHRAaW5jbHVkZSBhdHRyKGJhY2tncm91bmQtY29sb3IsIGdldCgkbGF5b3V0LCBkZWZhdWx0LCBzZWxmLCBiZy1jb2xvcikpO1xuXG5cdFx0Lm1lbnUtbmF2IHtcblx0XHRcdC8vIG1lbnUgaXRlbVxuXHRcdFx0PiAubWVudS1pdGVtIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVudS12ZXItaXRlbS10aGVtZShnZXQoJGxheW91dCwgZGVmYXVsdCwgaXRlbSkpO1xuXG5cdFx0XHRcdD4gLm1lbnUtYXJyb3cge1xuXHRcdFx0XHRcdGNvbG9yOiBnZXQoJGxheW91dCwgZGVmYXVsdCwgc2VsZiwgYmctY29sb3IpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIG1lbnUgc2VjdGlvblxuXHRcdFx0PiAubWVudS1zZWN0aW9uIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVudS12ZXItc2VjdGlvbi10aGVtZShnZXQoJGxheW91dCwgZGVmYXVsdCwgc2VjdGlvbikpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBtZW51IGl0ZW0gc2VwYXJhdG9yXG5cdFx0XHQ+IC5tZW51LXNlcGFyYXRvciB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lbnUtdmVyLXNlcGFyYXRvci10aGVtZShnZXQoJGxheW91dCwgZGVmYXVsdCwgc2VwYXJhdG9yKSk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIG1lbnUgaXRlbVxuXHRcdFx0PiAubWVudS1pdGVtIHtcblx0XHRcdFx0Lm1lbnUtc3VibWVudSB7XG5cdFx0XHRcdFx0Lm1lbnUtc3VibmF2IHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGF0dHIoYmFja2dyb3VuZC1jb2xvciwgZ2V0KCRsYXlvdXQsIGRlZmF1bHQsIGl0ZW0sIHN1Ym1lbnUsIHNlbGYsIGJnLWNvbG9yLCBkZWZhdWx0KSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC8vIG1lbnUgaXRlbVxuXHRcdFx0XHRcdC5tZW51LWl0ZW0ge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVudS12ZXItaXRlbS10aGVtZShnZXQoJGxheW91dCwgZGVmYXVsdCwgaXRlbSwgc3VibWVudSwgaXRlbSkpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIG1lbnUgc2VjdGlvblxuXHRcdFx0XHRcdC5tZW51LXNlY3Rpb24ge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVudS12ZXItc2VjdGlvbi10aGVtZShnZXQoJGxheW91dCwgZGVmYXVsdCwgaXRlbSwgc3VibWVudSwgc2VjdGlvbikpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIG1lbnUgaXRlbSBzZXBhcmF0b3Jcblx0XHRcdFx0XHQubWVudS1zZXBhcmF0b3Ige1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVudS12ZXItc2VwYXJhdG9yLXRoZW1lKGdldCgkbGF5b3V0LCBkZWZhdWx0LCBpdGVtLCBzdWJtZW51LCBzZXBhcmF0b3IpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gRHJvcGRvd25cbkBtaXhpbiBtZW51LXZlci1kcm9wZG93bi1iYXNlKCRiYXNlLWNvbmZpZywgJGxheW91dCkge1xuXHQvLyBiYXNlIGRyb3Bkb3duIHN1Ym1lbnVcblx0LiN7Z2V0KCRiYXNlLWNvbmZpZywgcGFyZW50LWNsYXNzKX0tbWluaW1pemUgLiN7Z2V0KCRiYXNlLWNvbmZpZywgY2xhc3MpfSxcblx0LiN7Z2V0KCRiYXNlLWNvbmZpZywgY2xhc3MpfS4je2dldCgkYmFzZS1jb25maWcsIGNsYXNzKX0tZHJvcGRvd24ge1xuXHRcdC5tZW51LW5hdiB7XG5cdFx0XHQubWVudS1pdGVtOm5vdChbZGF0YS1tZW51LXN1Ym1lbnUtbW9kZT1hY2NvcmRpb25dKSB7XG5cdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0PiAubWVudS1hcnJvdyB7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZpeC1hbmltYXRpb24tbGFncygpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdD4gLm1lbnUtc3VibWVudSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZpeC1hbmltYXRpb24tbGFncygpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5tZW51LWl0ZW0taG92ZXIge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdD4gLm1lbnUtc3VibWVudSB7XG5cdFx0XHRcdFx0XHR0b3A6IGdldCgkbGF5b3V0LCBkcm9wZG93biwgaXRlbSwgc3VibWVudSwgc2VsZiwgb2Zmc2V0LCBpbm5lciwgZGVmYXVsdCk7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0ei1pbmRleDogZ2V0KCRsYXlvdXQsIGRyb3Bkb3duLCBpdGVtLCBzZWxmLCB6aW5kZXgpO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0d2lkdGg6IGdldCgkbGF5b3V0LCBkcm9wZG93biwgaXRlbSwgc3VibWVudSwgc2VsZiwgd2lkdGgpO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGdldCgkbGF5b3V0LCBkcm9wZG93biwgaXRlbSwgc3VibWVudSwgc2VsZiwgcGFyZW50LXdpZHRoKTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoZ2V0KCRsYXlvdXQsIGRyb3Bkb3duLCBpdGVtLCBzdWJtZW51LCBzZWxmLCBib3JkZXItcmFkaXVzKSk7XG5cblx0XHRcdFx0XHRcdCYubWVudS1zdWJtZW51LXVwIHtcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHR0b3A6IGF1dG87XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQgXHRhbmltYXRpb246I3tnZXQoJGJhc2UtY29uZmlnLCBjbGFzcyl9LXN1Ym1lbnUtZmFkZS1pbiAuM3MgZWFzZSAxLCAje2dldCgkYmFzZS1jb25maWcsIGNsYXNzKX0tc3VibWVudS1tb3ZlLXVwIC4zcyBlYXNlLW91dCAxO1xuXG5cdFx0XHRcdFx0IFx0Ji5tZW51LXN1Ym1lbnUtdXAge1xuXHRcdFx0XHRcdCBcdFx0dG9wOiBhdXRvO1xuXHRcdFx0XHRcdCBcdFx0Ym90dG9tOiBnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIHNlbGYsIG9mZnNldCwgaW5uZXIsIHVwKTtcblx0XHRcdFx0XHQgXHRcdGFuaW1hdGlvbjogI3tnZXQoJGJhc2UtY29uZmlnLCBjbGFzcyl9LXN1Ym1lbnUtZmFkZS1pbiAuM3MgZWFzZSAxLCAje2dldCgkYmFzZS1jb25maWcsIGNsYXNzKX0tc3VibWVudS1tb3ZlLWRvd24gLjNzIGVhc2Utb3V0IDE7XG5cblx0ICAgICAgICAgICAgICAgICAgICBcdEBpbmNsdWRlIGZvci1pZTExIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgXHRhbmltYXRpb246IG5vbmU7XG5cdCAgICAgICAgICAgICAgICAgICAgXHR9XG5cdFx0XHRcdFx0IFx0fVxuXG5cdFx0XHRcdFx0XHQubWVudS1zdWJuYXYge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiBnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIHNlbGYsIHBhZGRpbmcpO1xuXG5cdFx0XHRcdFx0XHRcdD4gLm1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0XHRcdFx0Lm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiBnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIGl0ZW0sIGxpbmssIHNlbGYsIHBhZGRpbmcpO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHQubGluay10aXRsZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdC5tZW51LXRleHQge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmaXgtYW5pbWF0aW9uLWxhZ3MoKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdFx0Lm1lbnUtaWNvbiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdC5tZW51LWJ1bGxldCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdC5tZW51LWxhYmVsIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdFx0Lm1lbnUtYXJyb3cge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC5tZW51LXN1Ym1lbnUge1xuXHRcdFx0XHRcdFx0XHRcdFx0Lm1lbnUtc3VibmF2IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogZ2V0KCRsYXlvdXQsIGRyb3Bkb3duLCBpdGVtLCBzdWJtZW51LCBzZWxmLCBwYWRkaW5nKTtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ+IC5tZW51LWl0ZW0ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiBnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIGl0ZW0sIGxpbmssIHNlbGYsIHBhZGRpbmcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC5tZW51LXN1Ym1lbnUge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lm1lbnUtc3VibmF2IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogZ2V0KCRsYXlvdXQsIGRyb3Bkb3duLCBpdGVtLCBzdWJtZW51LCBzZWxmLCBwYWRkaW5nKTtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ+IC5tZW51LWl0ZW0ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiBnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIGl0ZW0sIGxpbmssIHNlbGYsIHBhZGRpbmcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdD4gLm1lbnUtc2VjdGlvbiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogZ2V0KCRsYXlvdXQsIGRyb3Bkb3duLCBpdGVtLCBzdWJtZW51LCBzZWN0aW9uLCBzZWxmLCBwYWRkaW5nKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lbnUtdmVyLWl0ZW0tYmFzZShnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIGl0ZW0pKTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdD4gLm1lbnUtc2VjdGlvbiB7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVudS12ZXItc2VjdGlvbi1iYXNlKCBnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIHNlY3Rpb24pICk7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQ+IC5tZW51LXNlcGFyYXRvciB7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVudS12ZXItc2VwYXJhdG9yLWJhc2UoIGdldCgkbGF5b3V0LCBkcm9wZG93biwgaXRlbSwgc3VibWVudSwgc2VwYXJhdG9yKSApO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdD4gLm1lbnUtaXRlbTpub3QoW2RhdGEtbWVudS1zdWJtZW51LW1vZGU9YWNjb3JkaW9uXSkge1xuXHRcdFx0XHQmLm1lbnUtaXRlbS1ob3ZlciB7XG5cdFx0XHRcdFx0PiAubWVudS1zdWJtZW51IHtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIHNlbGYsIHBhcmVudC13aWR0aCk7XG5cdFx0XHRcdFx0XHR0b3A6IGdldCgkbGF5b3V0LCBkcm9wZG93biwgaXRlbSwgc3VibWVudSwgc2VsZiwgb2Zmc2V0LCByb290LCBkZWZhdWx0KTtcblxuXHRcdFx0XHRcdFx0Ji5tZW51LXN1Ym1lbnUtdXAge1xuXHRcdFx0XHRcdFx0XHRib3R0b206IGdldCgkbGF5b3V0LCBkcm9wZG93biwgaXRlbSwgc3VibWVudSwgc2VsZiwgb2Zmc2V0LCByb290LCB1cCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBtZW51LXZlci1kcm9wZG93bi10aGVtZSgkYmFzZS1jb25maWcsICRsYXlvdXQpIHtcblx0LiN7Z2V0KCRiYXNlLWNvbmZpZywgcGFyZW50LWNsYXNzKX0tbWluaW1pemUgLiN7Z2V0KCRiYXNlLWNvbmZpZywgY2xhc3MpfSxcblx0LiN7Z2V0KCRiYXNlLWNvbmZpZywgY2xhc3MpfS4je2dldCgkYmFzZS1jb25maWcsIGNsYXNzKX0tZHJvcGRvd24ge1xuXHRcdC5tZW51LW5hdiB7XG5cdFx0XHQubWVudS1pdGVtOm5vdChbZGF0YS1tZW51LXN1Ym1lbnUtbW9kZT1hY2NvcmRpb25dKSB7XG5cdFx0XHRcdCYubWVudS1pdGVtLWhvdmVyIHtcblx0XHRcdFx0XHQ+IC5tZW51LXN1Ym1lbnUge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZ2V0KCRsYXlvdXQsIGRyb3Bkb3duLCBpdGVtLCBzdWJtZW51LCBzZWxmLCBiZy1jb2xvcik7XG5cdFx0XHRcdFx0XHRib3gtc2hhZG93OiBnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIHNlbGYsIGJveC1zaGFkb3cpO1xuXG5cdFx0XHRcdFx0XHQubWVudS1zdWJuYXYge1xuXHRcdFx0XHRcdFx0XHQubWVudS1pdGVtIHtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZW51LXZlci1pdGVtLXRoZW1lKCBnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIGl0ZW0pICk7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQubWVudS1zZWN0aW9uIHtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZW51LXZlci1zZWN0aW9uLXRoZW1lKCBnZXQoJGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIHNlY3Rpb24pICk7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQubWVudS1zZXBhcmF0b3Ige1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lbnUtdmVyLXNlcGFyYXRvci10aGVtZSggZ2V0KCRsYXlvdXQsIGRyb3Bkb3duLCBpdGVtLCBzdWJtZW51LCBzZXBhcmF0b3IpICk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gTWluaW1pemVcbkBtaXhpbiBtZW51LXZlci1taW5pbWl6ZS1iYXNlKCRiYXNlLWNvbmZpZywgJGxheW91dCkge1xuXHQuI3tnZXQoJGJhc2UtY29uZmlnLCBjbGFzcyl9IHtcblx0XHQubWVudS1uYXYge1xuXHRcdFx0cGFkZGluZzogZ2V0KCRsYXlvdXQsIG1pbmltaXplLCBzZWxmLCBwYWRkaW5nKTtcblxuXHRcdFx0PiAubWVudS1pdGVtIHtcblx0XHRcdFx0PiAubWVudS1saW5rIHtcblx0XHRcdFx0XHQubWVudS1pY29uIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5tZW51LWJ1bGxldCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5tZW51LXRleHQge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQubWVudS1sYWJlbCB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0cmlnaHQ6IGdldCgkbGF5b3V0LCBtaW5pbWl6ZSwgaXRlbSwgbGluaywgbGFiZWwsIHJpZ2h0KTtcblxuXHRcdFx0XHRcdFx0LmxhYmVsIHtcblx0XHRcdFx0XHRcdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdFx0bWluLXdpZHRoOiBnZXQoJGxheW91dCwgbWluaW1pemUsIGl0ZW0sIGxpbmssIGxhYmVsLCBzaXplKTtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IGdldCgkbGF5b3V0LCBtaW5pbWl6ZSwgaXRlbSwgbGluaywgbGFiZWwsIHNpemUpO1xuXHRcdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiBnZXQoJGxheW91dCwgbWluaW1pemUsIGl0ZW0sIGxpbmssIGxhYmVsLCBzaXplKTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBnZXQoJGxheW91dCwgbWluaW1pemUsIGl0ZW0sIGxpbmssIGxhYmVsLCBzaXplKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQubWVudS1hcnJvdyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdD4gLm1lbnUtc3VibWVudSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5tZW51LWl0ZW0taGVyZSB7XG5cdFx0XHRcdFx0PiAubWVudS1hcnJvdyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5tZW51LWl0ZW0taG92ZXIge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHR6LWluZGV4OiBnZXQoJGxheW91dCwgbWluaW1pemUsIGl0ZW0sIHNlbGYsIHppbmRleCk7XG5cdFx0XHRcdFx0d2lkdGg6IGdldCgkbGF5b3V0LCBtaW5pbWl6ZSwgaXRlbSwgc2VsZiwgd2lkdGgpO1xuXG5cdFx0XHRcdFx0Ji5tZW51LWl0ZW0tb3BlbiB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQ+IC5tZW51LWxpbmsge1xuXHRcdFx0XHRcdFx0d2lkdGg6IGdldCgkbGF5b3V0LCBtaW5pbWl6ZSwgc2VsZiwgd2lkdGgpO1xuXG5cdFx0XHRcdFx0XHQubGluay10aXRsZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0PiAubWVudS1zdWJtZW51IHtcblx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdGJvdHRvbTogYXV0bztcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBnZXQoJGxheW91dCwgbWluaW1pemUsIGl0ZW0sIHN1Ym1lbnUsIHNlbGYsIG1hcmdpbi1sZWZ0KSAhaW1wb3J0YW50O1xuXG5cdFx0XHRcdFx0XHRAaWYgaGFzKCRsYXlvdXQsIG1pbmltaXplLCBpdGVtLCBzdWJtZW51KSB7XG5cdFx0XHRcdFx0XHRcdC5tZW51LXN1Ym5hdiB7XG5cdFx0XHRcdFx0XHRcdFx0PiAubWVudS1pdGVtLm1lbnUtaXRlbS1wYXJlbnQge1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lbnUtdmVyLW1pbmltaXplLXBhcmVudC1pdGVtLWJhc2UoIGdldCgkbGF5b3V0LCBtaW5pbWl6ZSwgaXRlbSwgc3VibWVudSwgcGFyZW50LWl0ZW0pICk7XG5cblx0XHRcdFx0XHRcdFx0XHRcdCYgKyAubWVudS1pdGVtIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogZ2V0KCRsYXlvdXQsIG1pbmltaXplLCBpdGVtLCBzdWJtZW51LCBwYXJlbnQtaXRlbSwgbGluaywgc2VsZiwgbWFyZ2luLWJvdHRvbSk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0PiAubWVudS1hcnJvdyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQ+IC5tZW51LXNlY3Rpb24ge1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdFx0XHQubWVudS10ZXh0IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Lm1lbnUtaWNvbiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdHBhZGRpbmc6IGdldCgkbGF5b3V0LCBtaW5pbWl6ZSwgc2VjdGlvbiwgaWNvbiwgcGFkZGluZyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIG1lbnUtdmVyLW1pbmltaXplLXRoZW1lKCRiYXNlLWNvbmZpZywgJGxheW91dCkge1xuXHQuI3tnZXQoJGJhc2UtY29uZmlnLCBjbGFzcyl9IHtcblx0XHQvLyBiYXNlIHZlcnRpY2FsIG1lbnVcblx0XHQubWVudS1uYXYge1xuXHRcdFx0PiAubWVudS1pdGVtIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cblx0XHRcdFx0PiAubWVudS1saW5rIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBnZXQoJGxheW91dCwgbWluaW1pemUsIGl0ZW0sIGxpbmssIHNlbGYsIGJnLWNvbG9yLCBkZWZhdWx0KTtcblxuXHRcdFx0XHRcdD4gLm1lbnUtaWNvbiB7XG5cdFx0XHRcdFx0XHRjb2xvcjogZ2V0KCRsYXlvdXQsIG1pbmltaXplLCBpdGVtLCBsaW5rLCBpY29uLCBmb250LWNvbG9yLCBkZWZhdWx0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLm1lbnUtaXRlbS1ob3Zlcixcblx0XHRcdFx0Ji5tZW51LWl0ZW0tb3BlbiB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuXHRcdFx0XHRcdD4gLm1lbnUtbGluayB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBnZXQoJGxheW91dCwgbWluaW1pemUsIGl0ZW0sIGxpbmssIHNlbGYsIGJnLWNvbG9yLCBvcGVuKTtcblxuXHRcdFx0XHRcdFx0PiAubWVudS1pY29uIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYXR0cihjb2xvciwgZ2V0KCRsYXlvdXQsIG1pbmltaXplLCBpdGVtLCBsaW5rLCBpY29uLCBmb250LWNvbG9yLCBvcGVuKSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5tZW51LWl0ZW0taGVyZSxcblx0XHRcdFx0Ji5tZW51LWl0ZW0tYWN0aXZlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG5cdFx0XHRcdFx0PiAubWVudS1saW5rIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGdldCgkbGF5b3V0LCBtaW5pbWl6ZSwgaXRlbSwgbGluaywgc2VsZiwgYmctY29sb3IsIGFjdGl2ZSk7XG5cblx0XHRcdFx0XHRcdD4gLm1lbnUtaWNvbiB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGF0dHIoY29sb3IsIGdldCgkbGF5b3V0LCBtaW5pbWl6ZSwgaXRlbSwgbGluaywgaWNvbiwgZm9udC1jb2xvciwgYWN0aXZlKSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cblx0XHRcdFx0XHQ+IC5tZW51LWxpbmsge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZ2V0KCRsYXlvdXQsIG1pbmltaXplLCBpdGVtLCBsaW5rLCBzZWxmLCBiZy1jb2xvciwgaG92ZXIpO1xuXG5cdFx0XHRcdFx0XHQ+IC5tZW51LWljb24ge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBhdHRyKGNvbG9yLCBnZXQoJGxheW91dCwgbWluaW1pemUsIGl0ZW0sIGxpbmssIGljb24sIGZvbnQtY29sb3IsIGhvdmVyKSwgIWltcG9ydGFudCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGlmIGhhcygkbGF5b3V0LCBtaW5pbWl6ZSwgaXRlbSwgc3VibWVudSkge1xuXHRcdFx0XHRcdCYubWVudS1pdGVtLWhvdmVyID4gLm1lbnUtc3VibWVudSB7XG5cdFx0XHRcdFx0XHQubWVudS1zdWJuYXYgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1wYXJlbnQge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZW51LXZlci1taW5pbWl6ZS1wYXJlbnQtaXRlbS10aGVtZSggZ2V0KCRsYXlvdXQsIG1pbmltaXplLCBpdGVtLCBzdWJtZW51LCBwYXJlbnQtaXRlbSkgKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0PiAubWVudS1zZWN0aW9uIHtcblx0XHRcdFx0Lm1lbnUtaWNvbiB7XG5cdFx0XHRcdFx0Y29sb3I6IGdldCgkbGF5b3V0LCBtaW5pbWl6ZSwgc2VjdGlvbiwgaWNvbiwgZm9udC1jb2xvcik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gQnVpbGRcbi8vIEN1c3RvbSB0aGVtZVxuQG1peGluIG1lbnUtdmVyLWJ1aWxkLXRoZW1lKCRjb25maWcsICR0aGVtZSkge1xuXHQkdGhlbWUtY29uZmlnOiAoKTtcblxuXHRAaWYgKCR0aGVtZSA9PSBkZWZhdWx0KSB7XG5cdFx0JHRoZW1lLWNvbmZpZzogZ2V0KCRjb25maWcsIGJ1aWxkLCB0aGVtZSk7XG5cdH0gQGVsc2Uge1xuXHRcdCR0aGVtZS1jb25maWc6IGdldCgkY29uZmlnLCBidWlsZCwgdGhlbWVzLCAkdGhlbWUpO1xuXHR9XG5cblx0QGlmIChnZXQoJGNvbmZpZywgYmFzZSwgbW9kZSkgPT0gZ2VuZXJhbCkge1xuXHRcdEBpbmNsdWRlIG1lbnUtdmVyLXRoZW1lKChjbGFzczogZ2V0KCRjb25maWcsIGJhc2UsIGNsYXNzKSksICR0aGVtZS1jb25maWcpO1xuXHR9IEBlbHNlIGlmIChnZXQoJGNvbmZpZywgYmFzZSwgbW9kZSkgPT0gdGFibGV0LWFuZC1tb2JpbGUpIHtcblx0XHQvLyBUYWJsZXQgJiBNb2JpbGUgTW9kZXNcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtdmVyLXRoZW1lKChjbGFzczogZ2V0KCRjb25maWcsIGJhc2UsIGNsYXNzKSksICR0aGVtZS1jb25maWcpO1xuXHRcdH1cblx0fSBAZWxzZSBpZiAoZ2V0KCRjb25maWcsIGJhc2UsIG1vZGUpID09IG1vYmlsZSkge1xuXHRcdC8vIE1vYmlsZSBtb2RlXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG5cdFx0XHRAaW5jbHVkZSBtZW51LXZlci10aGVtZSgoY2xhc3M6IGdldCgkY29uZmlnLCBiYXNlLCBjbGFzcykpLCAkdGhlbWUtY29uZmlnKTtcblx0XHR9XG5cdH1cblxuXHRAaWYgKGhhcygkdGhlbWUtY29uZmlnLCBtaW5pbWl6ZSkpIHtcblx0XHQvLyBEZXNrdG9wIE1vZGVcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHQuI3tnZXQoJGNvbmZpZywgYmFzZSwgcGFyZW50LWNsYXNzKX0tbWluaW1pemUge1xuXHRcdFx0XHRAaW5jbHVkZSBtZW51LXZlci1taW5pbWl6ZS10aGVtZSgoY2xhc3M6IGdldCgkY29uZmlnLCBiYXNlLCBjbGFzcyksIHBhcmVudC1jbGFzczogZ2V0KCRjb25maWcsIGJhc2UsIHBhcmVudC1jbGFzcykpLCAkdGhlbWUtY29uZmlnKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaWYgKGhhcygkdGhlbWUtY29uZmlnLCBkcm9wZG93bikpIHtcblx0XHQvLyBEZXNrdG9wIE1vZGVcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRAaW5jbHVkZSBtZW51LXZlci1kcm9wZG93bi10aGVtZSgoY2xhc3M6IGdldCgkY29uZmlnLCBiYXNlLCBjbGFzcyksIHBhcmVudC1jbGFzczogZ2V0KCRjb25maWcsIGJhc2UsIHBhcmVudC1jbGFzcykpLCAkdGhlbWUtY29uZmlnKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gQnVpbGQgTGF5b3V0XG5AbWl4aW4gbWVudS12ZXItYnVpbGQtbGF5b3V0KCAkY29uZmlnICkge1xuXHQvLyBCYXNlIG1lbnVcblx0QGlmIChnZXQoJGNvbmZpZywgYmFzZSwgbW9kZSkgPT0gZ2VuZXJhbCkge1xuXHRcdEBpbmNsdWRlIG1lbnUtdmVyLWJhc2UoIGdldCgkY29uZmlnLCBiYXNlKSwgZ2V0KCRjb25maWcsIGJ1aWxkLCBsYXlvdXQpICk7XG5cdH0gQGVsc2UgaWYgKGdldCgkY29uZmlnLCBiYXNlLCBtb2RlKSA9PSB0YWJsZXQtYW5kLW1vYmlsZSkge1xuXHRcdC8vIFRhYmxldCAmIE1vYmlsZSBNb2Rlc1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHRcdFx0QGluY2x1ZGUgbWVudS12ZXItYmFzZSggZ2V0KCRjb25maWcsIGJhc2UpLCBnZXQoJGNvbmZpZywgYnVpbGQsIGxheW91dCkgKTtcblx0XHR9XG5cdH0gQGVsc2UgaWYgKGdldCgkY29uZmlnLCBiYXNlLCBtb2RlKSA9PSBtb2JpbGUpIHtcblx0XHQvLyBNb2JpbGUgbW9kZVxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuXHRcdFx0QGluY2x1ZGUgbWVudS12ZXItYmFzZSggZ2V0KCRjb25maWcsIGJhc2UpLCBnZXQoJGNvbmZpZywgYnVpbGQsIGxheW91dCkgKTtcblx0XHR9XG5cdH1cblxuXHQvLyBCYXNlIGRyb3Bkb3duIG1lbnUgc3VibWVudSBtb2RlXG5cdEBpZiAoaGFzKCRjb25maWcsIGJ1aWxkLCBsYXlvdXQsIGRyb3Bkb3duKSkge1xuXHRcdC8vIERlc2t0b3AgTW9kZVxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtdmVyLWRyb3Bkb3duLWJhc2UoIGdldCgkY29uZmlnLCBiYXNlKSwgZ2V0KCRjb25maWcsIGJ1aWxkLCBsYXlvdXQpICk7XG5cdFx0fVxuXG5cdFx0Ly8gRHJvcGRvd24gU3VibWVudSBBbmltYXRpb25zXG5cdFx0QGtleWZyYW1lcyAje2dldCgkY29uZmlnLCBiYXNlLCBjbGFzcyl9LXN1Ym1lbnUtZmFkZS1vdXQge1xuXHRcdCAgICBmcm9tICAgeyBvcGFjaXR5OiAxOyB9XG5cdFx0ICAgIHRvIHsgb3BhY2l0eTogMDsgfVxuXHRcdH1cblxuXHRcdEBrZXlmcmFtZXMgI3tnZXQoJGNvbmZpZywgYmFzZSwgY2xhc3MpfS1zdWJtZW51LWZhZGUtaW4ge1xuXHRcdCAgICBmcm9tICAgeyBvcGFjaXR5OiAwOyB9XG5cdFx0ICAgIHRvIHsgb3BhY2l0eTogMTsgfVxuXHRcdH1cblxuXHRcdEBrZXlmcmFtZXMgI3tnZXQoJGNvbmZpZywgYmFzZSwgY2xhc3MpfS1zdWJtZW51LW1vdmUtdXAge1xuXHRcdCAgICBmcm9tICAgeyBtYXJnaW4tdG9wOiBnZXQoJGNvbmZpZywgYnVpbGQsIGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIHNlbGYsIGFuaW1hdGlvbiwgb2Zmc2V0KTsgfVxuXHRcdCAgICB0byB7IG1hcmdpbi10b3A6IDA7IH1cblx0XHR9XG5cblx0XHRAa2V5ZnJhbWVzICN7Z2V0KCRjb25maWcsIGJhc2UsIGNsYXNzKX0tc3VibWVudS1tb3ZlLWRvd24ge1xuXHRcdCAgICBmcm9tICAgeyBtYXJnaW4tYm90dG9tOiBnZXQoJGNvbmZpZywgYnVpbGQsIGxheW91dCwgZHJvcGRvd24sIGl0ZW0sIHN1Ym1lbnUsIHNlbGYsIGFuaW1hdGlvbiwgb2Zmc2V0KTsgfVxuXHRcdCAgICB0byB7IG1hcmdpbi1ib3R0b206IDA7IH1cblx0XHR9XG5cdH1cblxuXHQvLyBCYXNlIG1pbmltaXplIG1lbnUgbW9kZVxuXHRAaWYgKGhhcygkY29uZmlnLCBidWlsZCwgbGF5b3V0LCBtaW5pbWl6ZSkpIHtcblx0XHQvLyBEZXNrdG9wIE1vZGVcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHQuI3tnZXQoJGNvbmZpZywgYmFzZSwgcGFyZW50LWNsYXNzKX0tbWluaW1pemUge1xuXHRcdFx0XHRAaW5jbHVkZSBtZW51LXZlci1taW5pbWl6ZS1iYXNlKCBnZXQoJGNvbmZpZywgYmFzZSksIGdldCgkY29uZmlnLCBidWlsZCwgbGF5b3V0KSApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy9cbi8vIEF0dHJcbi8vXG5cbkBtaXhpbiBhdHRyKCRhdHRyLCAkdmFsdWUsICRpbXBvcnRhbnQ6ICcnKSB7XG4gICAgQGlmICAkdmFsdWUgIT0gbnVsbCAge1xuICAgICAgICAjeyRhdHRyfTogI3skdmFsdWV9ICN7JGltcG9ydGFudH07XG4gICAgfVxufVxuIiwiLy9cbi8vIFNWRyBJY29uXG4vL1xuXG5cbkBtaXhpbiBzdmctaWNvbi1jb2xvcigkY29sb3IsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICAgc3ZnIHtcbiAgICAgICAgZyB7XG4gICAgICAgICAgICBbZmlsbF0ge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjb2xvciB2YWx1ZWlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBnIHtcbiAgICAgICAgICAgICAgICBbZmlsbF0ge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBzdmctaWNvbi10cmFuc2l0aW9uKCkge1xuICAgIHN2ZyB7XG4gICAgICAgIGcge1xuICAgICAgICAgICAgW2ZpbGxdIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHN2Zy1pY29uLXNpemUoJHNpemUsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICAgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZSB2YWx1ZWlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICB3aWR0aDogJHNpemUgdmFsdWVpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB9XG59XG5cbkBtaXhpbiBzdmctbG9nby1jb2xvcigkY29sb3IsICRpbXBvcnRhbnQ6IGZhbHNlKXtcbiAgICBzdmd7XG4gICAgICAgIHBhdGh7XG4gICAgICAgICAgICBmaWxsOiAkY29sb3IgdmFsdWVpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/