body {
  background: #f8f8f8; }

.text-primary {
  color: #EB2227 !important; }

a.text-primary:hover, a.text-primary:focus {
  color: #c81217 !important; }

.bg-primary {
  background-color: #EB2227 !important; }

a.bg-primary:hover, a.bg-primary:focus {
  background-color: #df2025 !important; }

.bg-primary-dark {
  background-color: #d41f23 !important; }

a.bg-primary-dark:hover, a.bg-primary-dark:focus {
  background-color: #c91d21 !important; }

.bg-primary-darker {
  background-color: #c81d21 !important; }

a.bg-primary-darker:hover, a.bg-primary-darker:focus {
  background-color: #be1c1f !important; }

html:not([dir=rtl]) .border-primary, html[dir=rtl] .border-primary {
  border-color: #EB2227 !important; }

.badge-primary {
  background-color: #EB2227;
  color: #fff; }

.badge-primary[href]:hover, .badge-primary[href]:focus {
  background-color: #df2025;
  color: #fff;
  text-decoration: none; }

.btn .badge-primary {
  background-color: #EB2227 !important;
  color: #fff !important; }

.badge-outline-primary {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0 1px #EB2227 inset;
          box-shadow: 0 0 0 1px #EB2227 inset;
  color: #EB2227; }

.badge-outline-primary[href]:hover, .badge-outline-primary[href]:focus {
  color: #EB2227;
  text-decoration: none; }

.btn .badge-outline-primary {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 1px #EB2227 inset !important;
          box-shadow: 0 0 0 1px #EB2227 inset !important;
  color: #EB2227 !important; }

.page-item.active .page-link, .page-item.active .page-link:hover, .page-item.active .page-link:focus,
.pagination li.active > a:not(.page-link),
.pagination li.active > a:not(.page-link):hover,
.pagination li.active > a:not(.page-link):focus {
  border-color: #EB2227 !important;
  background-color: #EB2227 !important;
  color: #fff !important; }

.progress-bar {
  background-color: #EB2227;
  color: #fff; }

.list-group-item-primary {
  border-color: rgba(0, 0, 0, 0.07);
  background-color: #fde9e9;
  color: #655d5d; }

a.list-group-item-primary,
button.list-group-item-primary {
  color: #655d5d; }
  a.list-group-item-primary:hover, a.list-group-item-primary:focus,
  button.list-group-item-primary:hover,
  button.list-group-item-primary:focus {
    background-color: #fae7e7;
    color: #655d5d; }
  a.list-group-item-primary.active,
  button.list-group-item-primary.active {
    border-color: #EB2227;
    background-color: #EB2227;
    color: #655d5d; }

.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
  border-color: #EB2227;
  background-color: #EB2227;
  color: #fff; }

.alert-primary {
  border-color: #edd1d2;
  background-color: #fcdedf;
  color: #655959; }
  .alert-primary hr {
    border-top-color: #edd1d2; }
  .alert-primary .alert-link {
    color: #655959; }

.alert-dark-primary {
  background-color: #EB2227;
  color: #fff; }
  .alert-dark-primary hr {
    border-top-color: rgba(255, 255, 255, 0.2); }
  .alert-dark-primary .close,
  .alert-dark-primary .alert-link {
    color: #fff; }

.tooltip-primary .tooltip-inner, .tooltip-primary > .tooltip .tooltip-inner, .ngb-tooltip-primary + ngb-tooltip-window .tooltip-inner {
  background: #EB2227;
  color: #fff; }

.tooltip-primary.bs-tooltip-top .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^="top"] .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-top .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-top .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #EB2227; }

.tooltip-primary.bs-tooltip-right .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^="right"] .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-right .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-right .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #EB2227; }

.tooltip-primary.bs-tooltip-bottom .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-bottom .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-bottom .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #EB2227; }

.tooltip-primary.bs-tooltip-left .arrow::before, .tooltip-primary.bs-tooltip-auto[x-placement^="left"] .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-left .arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-left .arrow::before, .ngb-tooltip-primary + ngb-tooltip-window.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #EB2227; }

.popover-primary, .popover-primary > .popover, .ngb-popover-primary + ngb-popover-window {
  border-color: transparent;
  background: #EB2227; }
  .popover-primary .popover-header, .popover-primary > .popover .popover-header, .ngb-popover-primary + ngb-popover-window .popover-header {
    border-color: rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #fff; }
  .popover-primary .popover-body, .popover-primary > .popover .popover-body, .ngb-popover-primary + ngb-popover-window .popover-body {
    background: transparent;
    color: #fff; }
  .popover-primary .arrow::before, .popover-primary > .popover .arrow::before, .ngb-popover-primary + ngb-popover-window .arrow::before {
    border-color: transparent !important; }
  .popover-primary.bs-popover-top .arrow::after, .popover-primary.bs-popover-auto[x-placement^="top"] .arrow::after, .popover-primary > .popover.bs-popover-top .arrow::after, .popover-primary > .popover.bs-popover-auto[x-placement^="top"] .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-top .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-auto[x-placement^="top"] .arrow::after {
    border-top-color: #EB2227; }
  .popover-primary.bs-popover-right .arrow::after, .popover-primary.bs-popover-auto[x-placement^="right"] .arrow::after, .popover-primary > .popover.bs-popover-right .arrow::after, .popover-primary > .popover.bs-popover-auto[x-placement^="right"] .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-right .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-auto[x-placement^="right"] .arrow::after {
    border-right-color: #EB2227; }
  .popover-primary.bs-popover-bottom .arrow::after, .popover-primary.bs-popover-auto[x-placement^="bottom"] .arrow::after, .popover-primary > .popover.bs-popover-bottom .arrow::after, .popover-primary > .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-bottom .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-auto[x-placement^="bottom"] .arrow::after {
    border-bottom-color: #EB2227; }
  .popover-primary.bs-popover-left .arrow::after, .popover-primary.bs-popover-auto[x-placement^="left"] .arrow::after, .popover-primary > .popover.bs-popover-left .arrow::after, .popover-primary > .popover.bs-popover-auto[x-placement^="left"] .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-left .arrow::after, .ngb-popover-primary + ngb-popover-window.bs-popover-auto[x-placement^="left"] .arrow::after {
    border-left-color: #EB2227; }

.table .table-primary,
.table .table-primary > th,
.table .table-primary > td {
  border-color: rgba(0, 0, 0, 0.035);
  background-color: #fde9e9;
  color: #655d5d; }

.table-hover .table-primary:hover,
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #fae7e7; }

.btn-primary {
  border-color: transparent;
  background: #EB2227;
  color: #fff; }
  .btn-primary:hover {
    border-color: transparent;
    background: #df2025;
    color: #fff; }
  .btn-primary:focus, .btn-primary.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(235, 34, 39, 0.4);
            box-shadow: 0 0 0 2px rgba(235, 34, 39, 0.4); }
  .btn-primary.disabled, .btn-primary:disabled {
    border-color: transparent !important;
    background: #EB2227 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: #fff !important; }

.btn-primary .badge {
  background: #fff;
  color: #EB2227; }

.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  border-color: transparent;
  background: #cc1e22;
  -webkit-box-shadow: none;
          box-shadow: none; }

.btn-group .btn-primary,
.input-group-prepend .btn-primary,
.input-group-append .btn-primary {
  border-right: 1px solid #cc1e22;
  border-left: 1px solid #cc1e22; }

.btn-outline-primary {
  border-color: #EB2227;
  background: transparent;
  color: #EB2227; }
  .btn-outline-primary:hover {
    border-color: transparent;
    background: #EB2227;
    color: #fff; }
    .btn-outline-primary:hover .badge {
      background: #fff;
      color: #EB2227; }
  .btn-outline-primary:focus, .btn-outline-primary.focus {
    -webkit-box-shadow: 0 0 0 2px rgba(235, 34, 39, 0.4);
            box-shadow: 0 0 0 2px rgba(235, 34, 39, 0.4); }
  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
    border-color: #EB2227 !important;
    background: transparent !important;
    color: #EB2227 !important; }

.btn-outline-primary .badge {
  background: #EB2227;
  color: #fff; }

.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  border-color: transparent;
  background: #df2025;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .btn-outline-primary:active .badge,
  .btn-outline-primary.active .badge,
  .show > .btn-outline-primary.dropdown-toggle .badge {
    background: #fff;
    color: #EB2227; }

.dropdown-item:not(.disabled).active,
.dropdown-item:not(.disabled):active {
  background-color: #EB2227;
  color: #fff; }

.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active,
.dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item) {
  background-color: #EB2227;
  color: #fff; }

.nav-pills .nav-link.active, .nav-pills .nav-link.active:hover, .nav-pills .nav-link.active:focus {
  background-color: #EB2227;
  color: #fff; }

.tabs-alt.nav-tabs .nav-link.active, .tabs-alt.nav-tabs .nav-link.active:hover, .tabs-alt.nav-tabs .nav-link.active:focus,
.tabs-alt > .nav-tabs .nav-link.active,
.tabs-alt > .nav-tabs .nav-link.active:hover,
.tabs-alt > .nav-tabs .nav-link.active:focus {
  -webkit-box-shadow: 0 -2px 0 #EB2227 inset;
          box-shadow: 0 -2px 0 #EB2227 inset; }

.custom-control .custom-control-input:focus ~ .custom-control-label::before,
.custom-control .custom-control-input:active ~ .custom-control-label::before {
  border-color: #EB2227; }

.custom-control .custom-control-input:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 2px rgba(235, 34, 39, 0.4);
          box-shadow: 0 0 0 2px rgba(235, 34, 39, 0.4); }

.custom-control.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before,
.custom-control.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #EB2227;
  background-color: #EB2227; }

.custom-control.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-control.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); }

.custom-control.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }

.custom-file-input:focus ~ .custom-file-label {
  border-color: #EB2227;
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }
  .custom-file-input:focus ~ .custom-file-label::after {
    border-color: inherit; }

.form-control:focus,
.custom-select:focus {
  border-color: #EB2227; }

.switcher-input:checked ~ .switcher-indicator {
  background: #EB2227;
  color: #fff; }

.switcher-input:focus ~ .switcher-indicator {
  -webkit-box-shadow: 0 0 0 2px rgba(235, 34, 39, 0.4);
          box-shadow: 0 0 0 2px rgba(235, 34, 39, 0.4); }

.switcher-input:active ~ .switcher-indicator {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.navbar.bg-primary {
  background-color: #EB2227 !important;
  color: #fac7c9; }
  .navbar.bg-primary .navbar-brand {
    color: #fff; }
    .navbar.bg-primary .navbar-brand:hover, .navbar.bg-primary .navbar-brand:focus {
      color: #fff; }
  .navbar.bg-primary .navbar-nav .nav-link {
    color: #fac7c9; }
    .navbar.bg-primary .navbar-nav .nav-link:hover, .navbar.bg-primary .navbar-nav .nav-link:focus {
      color: #fff; }
    .navbar.bg-primary .navbar-nav .nav-link.disabled {
      color: #f48588 !important; }
  .navbar.bg-primary .navbar-nav .show > .nav-link,
  .navbar.bg-primary .navbar-nav .active > .nav-link,
  .navbar.bg-primary .navbar-nav .nav-link.show,
  .navbar.bg-primary .navbar-nav .nav-link.active {
    color: #fff; }
  .navbar.bg-primary .navbar-toggler {
    color: #fac7c9;
    border-color: rgba(255, 255, 255, 0.15); }
  .navbar.bg-primary .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .navbar.bg-primary .navbar-text {
    color: #fac7c9; }
    .navbar.bg-primary .navbar-text a {
      color: #fff; }
      .navbar.bg-primary .navbar-text a:hover, .navbar.bg-primary .navbar-text a:focus {
        color: #fff; }
  .navbar.bg-primary hr {
    border-color: rgba(255, 255, 255, 0.15); }

.sidenav.bg-primary {
  background-color: #EB2227 !important;
  color: #fac7c9; }
  .sidenav.bg-primary .sidenav-link,
  .sidenav.bg-primary .sidenav-horizontal-prev,
  .sidenav.bg-primary .sidenav-horizontal-next {
    color: #fac7c9; }
    .sidenav.bg-primary .sidenav-link:hover, .sidenav.bg-primary .sidenav-link:focus,
    .sidenav.bg-primary .sidenav-horizontal-prev:hover,
    .sidenav.bg-primary .sidenav-horizontal-prev:focus,
    .sidenav.bg-primary .sidenav-horizontal-next:hover,
    .sidenav.bg-primary .sidenav-horizontal-next:focus {
      color: #fff; }
    .sidenav.bg-primary .sidenav-link.active,
    .sidenav.bg-primary .sidenav-horizontal-prev.active,
    .sidenav.bg-primary .sidenav-horizontal-next.active {
      color: #fff; }
  .sidenav.bg-primary .sidenav-item.disabled .sidenav-link,
  .sidenav.bg-primary .sidenav-horizontal-prev.disabled,
  .sidenav.bg-primary .sidenav-horizontal-next.disabled {
    color: #f48588 !important; }
  .sidenav.bg-primary .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .sidenav.bg-primary .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .sidenav.bg-primary .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #df2025; }
  .sidenav.bg-primary.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #d41e23; }
  .sidenav.bg-primary.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .sidenav.bg-primary.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #df2025; }
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #fac7c9; }
  .sidenav.bg-primary .sidenav-text {
    color: #fff; }
  .sidenav.bg-primary .sidenav-header {
    color: #f69ea1; }
  .sidenav.bg-primary hr,
  .sidenav.bg-primary .sidenav-divider,
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.15) !important; }
  .sidenav.bg-primary .sidenav-inner > .sidenav-header::before,
  .sidenav.bg-primary .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.15); }
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #e44146; }
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .sidenav.bg-primary .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #df2025;
            box-shadow: 0 0 0 2px #df2025; }
  .sidenav.bg-primary .ps__thumb-y,
  .sidenav.bg-primary .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.5485) !important; }

.footer.bg-primary {
  background-color: #EB2227 !important;
  color: #fac7c9; }
  .footer.bg-primary .footer-link {
    color: #fac7c9; }
    .footer.bg-primary .footer-link:hover, .footer.bg-primary .footer-link:focus {
      color: #fff; }
    .footer.bg-primary .footer-link.disabled {
      color: #f48588 !important; }
  .footer.bg-primary .footer-text {
    color: #fff; }
  .footer.bg-primary .show > .footer-link,
  .footer.bg-primary .active > .footer-link,
  .footer.bg-primary .footer-link.show,
  .footer.bg-primary .footer-link.active {
    color: #fff; }
  .footer.bg-primary hr {
    border-color: rgba(255, 255, 255, 0.15); }

.fill-primary {
  fill: #EB2227; }

.slider-primary .slider-selection,
.slider-primary .slider-reversed .slider-track-high,
.slider-primary.slider-reversed .slider-track-high {
  background: #EB2227; }

.noUi-primary .noUi-base .noUi-connect {
  background: #EB2227 !important; }

.default-style .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #EB2227 !important;
  color: #fff !important; }

.default-style .select2-container--default.select2-container--focus .select2-selection,
.default-style .select2-container--default.select2-container--open .select2-selection {
  border-color: #EB2227 !important; }

.default-style .select2-primary .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: #EB2227;
  color: #fff; }

.bootstrap-tagsinput.focus {
  border-color: #EB2227 !important; }

.bootstrap-select .dropdown-menu.inner a[aria-selected=true] {
  background: #EB2227 !important;
  color: #fff !important; }

.datepicker table tr td.active, .datepicker table tr td.active.highlighted, .datepicker table tr td.active.today,
.datepicker table tr td span.active,
.datepicker table tr td span.active.disabled, .datepicker table tr td.range-start, .datepicker table tr td.range-end {
  background: #EB2227 !important;
  color: #fff !important; }

.datepicker table tr td.range, .datepicker table tr td.range.highlighted, .datepicker table tr td.range.today {
  background: #fcdedf !important;
  color: #655959 !important; }
  .datepicker table tr td.range.focused, .datepicker table tr td.range.highlighted.focused, .datepicker table tr td.range.today.focused {
    background: #f9c2c4 !important; }
  .datepicker table tr td.range.disabled, .datepicker table tr td.range.highlighted.disabled, .datepicker table tr td.range.today.disabled {
    background: rgba(252, 222, 223, 0.5) !important;
    color: rgba(101, 89, 89, 0.5) !important; }

.daterangepicker td.active {
  background-color: #EB2227 !important;
  color: #fff !important; }

.daterangepicker td.in-range:not(.start-date):not(.end-date):not(.off) {
  background-color: #fcdedf !important;
  color: #655959 !important; }

.daterangepicker .input-mini.active {
  border-color: #EB2227 !important; }

.ranges li.active {
  background-color: #EB2227 !important;
  color: #fff !important; }

.dtp-date,
.dtp-time {
  background: #EB2227;
  color: #fff; }

.dtp-close > a {
  color: #fff; }

header.dtp-header {
  background: #c81d21;
  color: #fff; }

table.dtp-picker-days tr > td > a.selected {
  background: #EB2227;
  color: #fff !important; }

.dtp-actual-meridien a.selected {
  background: #EB2227 !important;
  color: #fff !important; }

.dtp .year-picker-item:hover {
  color: #EB2227; }

.dtp .year-picker-item.active {
  color: #EB2227; }

.dtp .svg-clock [stroke="#8BC34A"] {
  stroke: #EB2227 !important; }

.dtp .svg-clock [fill="#8BC34A"] {
  fill: #EB2227 !important; }

.dtp .svg-clock [fill="#fff"] {
  fill: #fff !important; }

li.ui-timepicker-selected,
.ui-timepicker-list .ui-timepicker-selected:hover {
  background: #EB2227 !important;
  color: #fff !important; }

.growl-default {
  background: #EB2227 !important;
  color: #fff !important; }

.md-editor.active {
  border-color: #EB2227 !important; }

.ql-snow.ql-toolbar button:hover,
.ql-snow.ql-toolbar button:focus,
.ql-snow.ql-toolbar button.ql-active,
.ql-snow.ql-toolbar .ql-picker-label:hover,
.ql-snow.ql-toolbar .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker-item:hover,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected,
.ql-snow .ql-toolbar button:hover,
.ql-snow .ql-toolbar button:focus,
.ql-snow .ql-toolbar button.ql-active,
.ql-snow .ql-toolbar .ql-picker-label:hover,
.ql-snow .ql-toolbar .ql-picker-label.ql-active,
.ql-snow .ql-toolbar .ql-picker-item:hover,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: #EB2227 !important; }

.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button:focus .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow .ql-toolbar button:focus .ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  fill: #EB2227 !important; }

.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button:focus .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow.ql-toolbar button:hover .ql-stroke-miter,
.ql-snow.ql-toolbar button:focus .ql-stroke-miter,
.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow .ql-toolbar button:focus .ql-stroke,
.ql-snow .ql-toolbar button.ql-active .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow .ql-toolbar button:hover .ql-stroke-miter,
.ql-snow .ql-toolbar button:focus .ql-stroke-miter,
.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  stroke: #EB2227 !important; }

.tt-suggestion:active,
.tt-cursor {
  background: #EB2227 !important;
  color: #fff !important; }

.dropzone.dz-drag-hover {
  border-color: #EB2227 !important; }

.swiper-pagination-bullet.swiper-pagination-bullet-active,
.swiper-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #EB2227 !important; }

.sk-primary.sk-rotating-plane,
.sk-primary.sk-double-bounce .sk-child,
.sk-primary.sk-wave .sk-rect,
.sk-primary.sk-wandering-cubes .sk-cube,
.sk-primary.sk-spinner-pulse,
.sk-primary.sk-chasing-dots .sk-child,
.sk-primary.sk-three-bounce .sk-child,
.sk-primary.sk-circle .sk-child:before,
.sk-primary.sk-cube-grid .sk-cube,
.sk-primary.sk-fading-circle .sk-circle:before,
.sk-primary.sk-folding-cube .sk-cube:before {
  background-color: #EB2227; }

.sw-theme-default .step-anchor > li.active > a .sw-icon,
.sw-theme-default .step-anchor > li.active > a .sw-number {
  color: #EB2227;
  border-color: #EB2227; }

.plyr input[type='range']::-ms-fill-lower {
  background: #EB2227 !important; }

.plyr input[type='range']:active::-webkit-slider-thumb {
  background: #EB2227 !important; }

.plyr input[type='range']:active::-moz-range-thumb {
  background: #EB2227 !important; }

.plyr input[type='range']:active::-ms-thumb {
  background: #EB2227 !important; }

.plyr--video .plyr__controls button.tab-focus:focus,
.plyr--video .plyr__controls button:hover {
  background: #EB2227 !important;
  color: !important; }

.plyr--audio .plyr__controls button.tab-focus:focus,
.plyr--audio .plyr__controls button:hover {
  background: #EB2227 !important;
  color: !important; }

.plyr__play-large {
  background: #EB2227 !important;
  color: !important; }

.plyr__progress--played,
.plyr__volume--display {
  color: #EB2227 !important; }

.fc-event,
.fc-event-dot {
  background: rgba(235, 34, 39, 0.15) !important; }

.fc-highlight,
.fc-bgevent {
  background: #EB2227 !important; }

.ui-product-color.active {
  -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px #EB2227 !important;
          box-shadow: 0 0 0 2px #fff, 0 0 0 4px #EB2227 !important; }

.bg-navbar-theme {
  background-color: #FFF !important;
  color: #a3a4a6; }
  .bg-navbar-theme .navbar-brand {
    color: #4E5155; }
    .bg-navbar-theme .navbar-brand:hover, .bg-navbar-theme .navbar-brand:focus {
      color: #4E5155; }
  .bg-navbar-theme .navbar-nav .nav-link {
    color: #a3a4a6; }
    .bg-navbar-theme .navbar-nav .nav-link:hover, .bg-navbar-theme .navbar-nav .nav-link:focus {
      color: #4E5155; }
    .bg-navbar-theme .navbar-nav .nav-link.disabled {
      color: #c8c8ca !important; }
  .bg-navbar-theme .navbar-nav .show > .nav-link,
  .bg-navbar-theme .navbar-nav .active > .nav-link,
  .bg-navbar-theme .navbar-nav .nav-link.show,
  .bg-navbar-theme .navbar-nav .nav-link.active {
    color: #4E5155; }
  .bg-navbar-theme .navbar-toggler {
    color: #a3a4a6;
    border-color: rgba(78, 81, 85, 0.075); }
  .bg-navbar-theme .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(24, 28, 33, 0.4)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .bg-navbar-theme .navbar-text {
    color: #a3a4a6; }
    .bg-navbar-theme .navbar-text a {
      color: #4E5155; }
      .bg-navbar-theme .navbar-text a:hover, .bg-navbar-theme .navbar-text a:focus {
        color: #4E5155; }
  .bg-navbar-theme hr {
    border-color: rgba(78, 81, 85, 0.075); }

.layout-navbar {
  -webkit-box-shadow: 0 1px 0 rgba(24, 28, 33, 0.04);
          box-shadow: 0 1px 0 rgba(24, 28, 33, 0.04); }

.bg-sidenav-theme {
  background-color: #3D3D3D !important;
  color: #838790; }
  .bg-sidenav-theme .sidenav-link,
  .bg-sidenav-theme .sidenav-horizontal-prev,
  .bg-sidenav-theme .sidenav-horizontal-next {
    color: #838790; }
    .bg-sidenav-theme .sidenav-link:hover, .bg-sidenav-theme .sidenav-link:focus,
    .bg-sidenav-theme .sidenav-horizontal-prev:hover,
    .bg-sidenav-theme .sidenav-horizontal-prev:focus,
    .bg-sidenav-theme .sidenav-horizontal-next:hover,
    .bg-sidenav-theme .sidenav-horizontal-next:focus {
      color: #fff; }
    .bg-sidenav-theme .sidenav-link.active,
    .bg-sidenav-theme .sidenav-horizontal-prev.active,
    .bg-sidenav-theme .sidenav-horizontal-next.active {
      color: #fff; }
  .bg-sidenav-theme .sidenav-item.disabled .sidenav-link,
  .bg-sidenav-theme .sidenav-horizontal-prev.disabled,
  .bg-sidenav-theme .sidenav-horizontal-next.disabled {
    color: #67696f !important; }
  .bg-sidenav-theme .sidenav-item.open:not(.sidenav-item-closing) > .sidenav-toggle,
  .bg-sidenav-theme .sidenav-item.active > .sidenav-link {
    color: #fff; }
  .bg-sidenav-theme .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #474747; }
  .bg-sidenav-theme.sidenav-horizontal .sidenav-menu > .sidenav-item.active > .sidenav-link:not(.sidenav-toggle) {
    background-color: #505050; }
  .bg-sidenav-theme.sidenav-horizontal .sidenav-inner > .sidenav-item:not(.sidenav-item-closing) > .sidenav-menu,
  .bg-sidenav-theme.sidenav-horizontal .sidenav-inner > .sidenav-item.open > .sidenav-toggle {
    background: #474747; }
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-menu,
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.sidenav-item-closing .sidenav-item.open .sidenav-toggle {
    background: transparent;
    color: #838790; }
  .bg-sidenav-theme .sidenav-text {
    color: #fff; }
  .bg-sidenav-theme .sidenav-header {
    color: #72757b; }
  .bg-sidenav-theme hr,
  .bg-sidenav-theme .sidenav-divider,
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.open > .sidenav-menu::before {
    border-color: rgba(255, 255, 255, 0.06) !important; }
  .bg-sidenav-theme .sidenav-inner > .sidenav-header::before,
  .bg-sidenav-theme .sidenav-block::before {
    background-color: rgba(255, 255, 255, 0.06); }
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before {
    background-color: #525252; }
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    background-color: #fff; }
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.open .sidenav-item.open > .sidenav-toggle::before,
  .bg-sidenav-theme .sidenav-inner > .sidenav-item.open .sidenav-item.active > .sidenav-link::before {
    -webkit-box-shadow: 0 0 0 2px #474747;
            box-shadow: 0 0 0 2px #474747; }
  .bg-sidenav-theme .ps__thumb-y,
  .bg-sidenav-theme .ps__rail-y.ps--clicking > .ps__thumb-y {
    background: rgba(255, 255, 255, 0.495686) !important; }

.bg-footer-theme {
  background-color: #fff !important;
  color: #a3a4a6; }
  .bg-footer-theme .footer-link {
    color: #a3a4a6; }
    .bg-footer-theme .footer-link:hover, .bg-footer-theme .footer-link:focus {
      color: #4E5155; }
    .bg-footer-theme .footer-link.disabled {
      color: #c8c8ca !important; }
  .bg-footer-theme .footer-text {
    color: #4E5155; }
  .bg-footer-theme .show > .footer-link,
  .bg-footer-theme .active > .footer-link,
  .bg-footer-theme .footer-link.show,
  .bg-footer-theme .footer-link.active {
    color: #4E5155; }
  .bg-footer-theme hr {
    border-color: rgba(78, 81, 85, 0.075); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yL2Nzcy90aGVtZS1jb3Jwb3JhdGUuY3NzIiwic291cmNlcyI6WyJ2ZW5kb3IvY3NzL3RoZW1lLWNvcnBvcmF0ZS5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9faW5jbHVkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fY3VzdG9tLXZhcmlhYmxlcy9fYXBwd29yay5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCJ2ZW5kb3IvY3NzL19hcHB3b3JrL19taXhpbnMuc2NzcyIsInZlbmRvci9jc3MvX3RoZW1lL19jb21tb24uc2NzcyIsInZlbmRvci9jc3MvX3RoZW1lL19saWJzLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtc2xpZGVyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL25vdWlzbGlkZXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvc2VsZWN0Mi9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtdGFnc2lucHV0L19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL2Jvb3RzdHJhcC1zZWxlY3QvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvYm9vdHN0cmFwLWRhdGVwaWNrZXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvYm9vdHN0cmFwLWRhdGVyYW5nZXBpY2tlci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtbWF0ZXJpYWwtZGF0ZXRpbWVwaWNrZXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvdGltZXBpY2tlci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9ncm93bC9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtbWFya2Rvd24vX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvcXVpbGwvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvdHlwZWFoZWFkLWpzL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL2Ryb3B6b25lL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3N3aXBlci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9zcGlua2l0L19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3NtYXJ0d2l6YXJkL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3BseXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvZnVsbGNhbGVuZGFyL19taXhpbnMuc2NzcyIsInZlbmRvci9jc3MvX3RoZW1lL191aWtpdC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuL19hcHB3b3JrL2luY2x1ZGVcIjtcclxuQGltcG9ydCBcIi4vX3RoZW1lL2NvbW1vblwiO1xyXG5AaW1wb3J0IFwiLi9fdGhlbWUvbGlic1wiO1xyXG5AaW1wb3J0IFwiLi9fdGhlbWUvdWlraXRcIjtcclxuXHJcbiRwcmltYXJ5LWNvbG9yOiAjRUIyMjI3O1xyXG4kYm9keS1iZzogI2Y4ZjhmODtcclxuXHJcbmJvZHkge1xyXG4gIGJhY2tncm91bmQ6ICRib2R5LWJnO1xyXG59XHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLWNvbW1vbi10aGVtZSgkcHJpbWFyeS1jb2xvcik7XHJcbkBpbmNsdWRlIGFwcHdvcmstbGlicy10aGVtZSgkcHJpbWFyeS1jb2xvcik7XHJcbkBpbmNsdWRlIGFwcHdvcmstdWlraXQtdGhlbWUoJHByaW1hcnktY29sb3IpO1xyXG5cclxuLy8gTmF2YmFyXHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcuYmctbmF2YmFyLXRoZW1lJywgI0ZGRiwgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG5cclxuLmxheW91dC1uYXZiYXIge1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgkYmxhY2ssIDAuMDQpO1xyXG59XHJcblxyXG4vLyBTaWRlbmF2XHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgnLmJnLXNpZGVuYXYtdGhlbWUnLCAjM0QzRDNELCAkY29sb3I6ICM4Mzg3OTApO1xyXG5cclxuLy8gRm9vdGVyXHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuYmctZm9vdGVyLXRoZW1lJywgI2ZmZiwgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG4iLCJAaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zJztcclxuQGltcG9ydCAnZnVuY3Rpb25zJztcclxuQGltcG9ydCAnLi4vX2N1c3RvbS12YXJpYWJsZXMvYXBwd29yayc7XHJcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXMnO1xyXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zJztcclxuQGltcG9ydCAnbWl4aW5zJztcclxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBBbm90aGVyIGdyaWQgbWl4aW4gdGhhdCBlbnN1cmVzIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCkge1xuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gYCRncmlkLWJyZWFrcG9pbnRzYCBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICR5aXEtdGV4dC1kYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICR5aXEtdGV4dC1saWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG4iLCIvLyBGdW5jdGlvbnNcclxuLy9cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBNYXRoXHJcblxyXG4kcGk6IDMuMTQxNTkyNjUzNTk7XHJcbiRfcHJlY2lzaW9uOiAxMDtcclxuXHJcbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHApIHtcclxuICAkdmFsdWU6ICRiYXNlO1xyXG4gIEBpZiAkZXhwID4gMSB7XHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHAge1xyXG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJGV4cCA8IDF7XHJcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwIHtcclxuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzcXJ0KCRyKSB7XHJcbiAgJHgwOiAxO1xyXG4gICR4MTogJHgwO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcclxuICAgICR4MTogJHgwIC0gKCR4MCAqICR4MCAtIGFicygkcikpIC8gKDIgKiAkeDApO1xyXG4gICAgJHgwOiAkeDE7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR4MTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGZhY3QoJG51bSkge1xyXG4gICRmYWN0OiAxO1xyXG4gIEBpZiAkbnVtID4gMHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG51bSB7XHJcbiAgICAgICRmYWN0OiAkZmFjdCAqICRpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRmYWN0O1xyXG59XHJcblxyXG5AZnVuY3Rpb24gX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpIHtcclxuICBAaWYgdW5pdCgkYW5nbGUpID09IFwiZGVnXCIge1xyXG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxODBkZWcgKiAkcGk7XHJcbiAgfVxyXG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJyYWRcIiB7XHJcbiAgICAkYW5nbGU6ICRhbmdsZSAvIDFyYWQ7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGFuZ2xlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gc2luKCRhbmdsZSl7XHJcbiAgJGE6IF90b191bml0bGVzc19yYWQoJGFuZ2xlKTtcclxuICAkc2luOiAkYTtcclxuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcclxuICAgICRzaW46ICRzaW4gKyAocG93KC0xLCAkbikgLyBmYWN0KDIgKiAkbiArIDEpICkgKiBwb3coJGEsICgyICogJG4gKyAxKSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHNpbjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGNvcygkYW5nbGUpe1xyXG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XHJcbiAgJGNvczogMTtcclxuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcclxuICAgICRjb3M6ICRjb3MgKyAoIHBvdygtMSwkbikgLyBmYWN0KDIqJG4pICkgKiBwb3coJGEsMiokbik7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGNvcztcclxufVxyXG5cclxuQGZ1bmN0aW9uIHRhbigkYW5nbGUpe1xyXG4gIEByZXR1cm4gc2luKCRhbmdsZSkgLyBjb3MoJGFuZ2xlKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExpc3RzXHJcblxyXG5AZnVuY3Rpb24gc2xpY2UtbGlzdCgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgJHJlc3VsdDogbnVsbDtcclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0YXJ0KSAhPSBudW1iZXIgb3IgdHlwZS1vZigkZW5kKSAhPSBudW1iZXIge1xyXG4gICAgQHdhcm4gXCJFaXRoZXIgJHN0YXJ0IG9yICRlbmQgYXJlIG5vdCBhIG51bWJlciBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHdhcm4gXCJUaGUgc3RhcnQgaW5kZXggaGFzIHRvIGJlIGxlc3NlciB0aGFuIG9yIGVxdWFscyB0byB0aGUgZW5kIGluZGV4IGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHN0YXJ0IDwgMSBvciAkZW5kIDwgMSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXhlcyBtdXN0IGJlIG5vbi16ZXJvIGludGVnZXJzIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHN0YXJ0ID4gbGVuZ3RoKCRsaXN0KSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skc3RhcnR9IGJ1dCBsaXN0IGlzIG9ubHkgI3tsZW5ndGgoJGxpc3QpfSBpdGVtIGxvbmcgZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkZW5kID4gbGVuZ3RoKCRsaXN0KSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skZW5kfSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgJHJlc3VsdDogKCk7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3RyaW5nc1xyXG5cclxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xyXG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xyXG5cclxuICBAaWYgJGluZGV4IHtcclxuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHN0cmluZztcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbG9yc1xyXG5cclxuQGZ1bmN0aW9uIHJnYmEtdG8taGV4KCRjb2xvciwgJGJhY2tncm91bmQ6ICNmZmYpIHtcclxuICBAaWYgJGNvbG9yIGFuZCBhbHBoYSgkY29sb3IpICE9IDEge1xyXG4gICAgJHBlcmNlbnQ6IGFscGhhKCRjb2xvcikgKiAxMDAlO1xyXG4gICAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xyXG5cclxuICAgIEByZXR1cm4gbWl4KCRvcGFxdWUsICRiYWNrZ3JvdW5kLCAkcGVyY2VudCk7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHlpcS12YWx1ZSgkY29sb3IpIHtcclxuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcclxuICAgIEByZXR1cm4gJGJvZHktY29sb3I7XHJcbiAgfSBAZWxzZSBpZiBhbHBoYSgkY29sb3IpICE9IDEge1xyXG4gICAgJGNvbG9yOiByZ2JhLXRvLWhleCgkY29sb3IpO1xyXG4gIH1cclxuXHJcbiAgJHI6IHJlZCgkY29sb3IpO1xyXG4gICRnOiBncmVlbigkY29sb3IpO1xyXG4gICRiOiBibHVlKCRjb2xvcik7XHJcblxyXG4gIEByZXR1cm4gKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xyXG59XHJcblxyXG4vLyBDb2xvciBjb250cmFzdFxyXG5AZnVuY3Rpb24geWlxKCRjb2xvcikge1xyXG4gICR5aXE6IHlpcS12YWx1ZSgkY29sb3IpO1xyXG5cclxuICBAaWYgKCR5aXEgPj0gMTYwKSB7XHJcbiAgICBAcmV0dXJuIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNDApLCAjMDAwKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBVbml0c1xyXG5cclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xyXG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xyXG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRudW1iZXI7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBweC10by1yZW0oJHZhbHVlKSB7XHJcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxyXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAvIDE2KSAqIDFyZW07XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0tdG8tcHgoJHZhbHVlKSB7XHJcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxyXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAqIDE2KSAqIDFweDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFV0aWxpdGllc1xyXG5cclxuQGZ1bmN0aW9uIGdldC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XHJcbiAgQGlmICRiYWNrZ3JvdW5kID09IHRyYW5zcGFyZW50IHtcclxuICAgICRidG4tc2hhZG93OiByZ2JhKHJnYmEtdG8taGV4KCRib3JkZXIsICMwMDApLCAuMDUpO1xyXG5cclxuICAgIEByZXR1cm4gKFxyXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJvcmRlciwgLjA2KSxcclxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRib3JkZXIsIC4xMiksXHJcbiAgICAgIGJvcmRlcjogICAgJGJvcmRlcixcclxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpXHJcbiAgICApO1xyXG4gIH0gQGVsc2UgaWYgYWxwaGEoJGJhY2tncm91bmQpICE9IDEge1xyXG4gICAgJGJnLWFscGhhOiAgIGFscGhhKCRiYWNrZ3JvdW5kKTtcclxuICAgICRidG4tc2hhZG93OiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgLSAoJGJnLWFscGhhICogNTUgLyAxMDApICk7XHJcblxyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4wNSksXHJcbiAgICAgIGJnLWFjdGl2ZTogcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4xMyksXHJcbiAgICAgIGJvcmRlcjogICAgdHJhbnNwYXJlbnQsXHJcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdyksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KVxyXG4gICAgKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gKFxyXG4gICAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICMwMDApLFxyXG4gICAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICMwMDApLFxyXG4gICAgICBib3JkZXI6ICAgIHRyYW5zcGFyZW50LFxyXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpKSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCkge1xyXG4gIEBpZiBhbHBoYSgkYmFja2dyb3VuZCkgIT0gMSB7XHJcbiAgICAkYmFja2dyb3VuZDogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAoXHJcbiAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICNmZmYpLFxyXG4gICAgYmctYWN0aXZlOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuODcpLCAjZmZmKSxcclxuICApO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkaW5hY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkYmc6IHJnYmEtdG8taGV4KCRiZyk7XHJcbiAgJGFjdGl2ZS1jb2xvcjogcmdiYS10by1oZXgoJGFjdGl2ZS1jb2xvcik7XHJcbiAgJGFjdGl2ZS1jb2xvcjogaWYoJGFjdGl2ZS1jb2xvciwgJGFjdGl2ZS1jb2xvciwgeWlxKCRiZykpO1xyXG4gICR5aXEtcGVyY2VudDogeWlxLXZhbHVlKCRiZykgLyAyNTU7XHJcbiAgJHlpcS1wZXJjZW50LWludmVydGVkOiAxIC0gJHlpcS1wZXJjZW50O1xyXG5cclxuICAkb3BhY2l0eTogaWYoJGFjdGl2ZS1jb2xvciA9PSAjZmZmLCAuNiArICguNCAqICR5aXEtcGVyY2VudCksIC42ICsgKC40ICogKDEgLSAkeWlxLXBlcmNlbnQpKSk7XHJcblxyXG4gICRjb2xvcjogaWYoJGluYWN0aXZlLWNvbG9yLCByZ2JhLXRvLWhleCgkaW5hY3RpdmUtY29sb3IsICRiZyksIHJnYmEtdG8taGV4KHJnYmEoJGFjdGl2ZS1jb2xvciwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAkb3BhY2l0eSAtIC4xNSwgJG9wYWNpdHkpKSwgJGJnKSk7XHJcbiAgJGRpc2FibGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjYpLCAkYmcpO1xyXG4gICRtdXRlZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC43NSksICRiZyk7XHJcbiAgJGJvcmRlcjogaWYoJGJvcmRlciwgJGJvcmRlciwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCByZ2JhKCRhY3RpdmUtY29sb3IsICRvcGFjaXR5IC8gOCksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAuMDYpLCByZ2JhKCRhY3RpdmUtY29sb3IsIC4xNSkpKSk7XHJcblxyXG4gIEByZXR1cm4gKFxyXG4gICAgLy8gTWV0YWRhdGFcclxuICAgIG9wYWNpdHk6ICRvcGFjaXR5LFxyXG4gICAgeWlxLXBlcmNlbnQ6ICR5aXEtcGVyY2VudCxcclxuICAgIHlpcS1wZXJjZW50LWludmVydGVkOiAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQsXHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICBiZzogJGJnLFxyXG4gICAgY29sb3I6ICRjb2xvcixcclxuICAgIGFjdGl2ZS1jb2xvcjogJGFjdGl2ZS1jb2xvcixcclxuICAgIGRpc2FibGVkLWNvbG9yOiAkZGlzYWJsZWQtY29sb3IsXHJcbiAgICBtdXRlZC1jb2xvcjogJG11dGVkLWNvbG9yLFxyXG4gICAgYm9yZGVyOiAkYm9yZGVyXHJcbiAgKTtcclxufVxyXG4iLCIiLCIvLyBWYXJpYWJsZXNcclxuLy9cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb2xvcnNcclxuXHJcbiR3aGl0ZTogICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRibGFjazogICAgICAgICMxODFDMjEgIWRlZmF1bHQ7XHJcbiRncmF5LTI1OiAgICAgIHJnYmEoJGJsYWNrLCAuMDE1KSAhZGVmYXVsdDtcclxuJGdyYXktNTA6ICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XHJcbiRncmF5LTEwMDogICAgIHJnYmEoJGJsYWNrLCAuMDYpICFkZWZhdWx0O1xyXG4kZ3JheS0yMDA6ICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xyXG4kZ3JheS0zMDA6ICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xyXG4kZ3JheS00MDA6ICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xyXG4kZ3JheS01MDA6ICAgICByZ2JhKCRibGFjaywgLjQpICFkZWZhdWx0O1xyXG4kZ3JheS02MDA6ICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xyXG4kZ3JheS03MDA6ICAgICByZ2JhKCRibGFjaywgLjYpICFkZWZhdWx0O1xyXG4kZ3JheS04MDA6ICAgICByZ2JhKCRibGFjaywgLjgpICFkZWZhdWx0O1xyXG4kZ3JheS05MDA6ICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xyXG5cclxuJGdyYXlzOiAoXHJcbiAgXCIyNVwiOiAkZ3JheS0yNSxcclxuICBcIjUwXCI6ICRncmF5LTUwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kYmx1ZTogICAgICAgICAjMWU3MGNkICFkZWZhdWx0O1xyXG4kaW5kaWdvOiAgICAgICAjNjYxMGYyICFkZWZhdWx0O1xyXG4kcHVycGxlOiAgICAgICAjNmY0MmMxICFkZWZhdWx0O1xyXG4kcGluazogICAgICAgICAjZTgzZThjICFkZWZhdWx0O1xyXG4kcmVkOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xyXG4kb3JhbmdlOiAgICAgICAjRkVCNzQ0ICFkZWZhdWx0O1xyXG4keWVsbG93OiAgICAgICAjRkZEOTUwICFkZWZhdWx0O1xyXG4kZ3JlZW46ICAgICAgICAjMDJCQzc3ICFkZWZhdWx0O1xyXG4kdGVhbDogICAgICAgICAjMjBjOTk3ICFkZWZhdWx0O1xyXG4kY3lhbjogICAgICAgICAjMjhjM2Q3ICFkZWZhdWx0O1xyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIFwicHJpbWFyeVwiOiAgICRpbmRpZ28sXHJcbiAgXCJzZWNvbmRhcnlcIjogIzg4OTdBQSxcclxuICBcInN1Y2Nlc3NcIjogICAkZ3JlZW4sXHJcbiAgXCJpbmZvXCI6ICAgICAgJGN5YW4sXHJcbiAgXCJ3YXJuaW5nXCI6ICAgJHllbGxvdyxcclxuICBcImRhbmdlclwiOiAgICAkcmVkLFxyXG4gIFwiZGFya1wiOiAgICAgICRncmF5LTkwMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGJvZHktY29sb3I6ICAgICAgICM0RTUxNTUgIWRlZmF1bHQ7IC8vIzRhNGE0YVxyXG5cclxuLy8gIzA2Y1xyXG4kbGluay1jb2xvcjogICAgICAgJGJsdWUgIWRlZmF1bHQ7XHJcbiRsaW5rLWhvdmVyLWNvbG9yOiBsaWdodGVuKCRsaW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xyXG5cclxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGb250c1xyXG5cclxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiUm9ib3RvXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBcIlNGTW9uby1SZWd1bGFyXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcclxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgIC44OTRyZW0gIWRlZmF1bHQ7XHJcbiRmb250LXNpemUteGw6ICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS14czogICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XHJcblxyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgNTAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgOTAwICFkZWZhdWx0O1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgIDEuNDcgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC14bDogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC14czogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcblxyXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgMi4yNXJlbSAhZGVmYXVsdDtcclxuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgIDEuODEzcmVtICFkZWZhdWx0O1xyXG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgMS41NjNyZW0gIWRlZmF1bHQ7XHJcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAxLjMxM3JlbSAhZGVmYXVsdDtcclxuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcblxyXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlciAhZGVmYXVsdDtcclxuXHJcbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICA0cmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgM3JlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XHJcblxyXG4kdGlueS1mb250LXNpemU6ICAgICAgICAgNzAlICFkZWZhdWx0O1xyXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgODUlICFkZWZhdWx0O1xyXG4kYmlnLWZvbnQtc2l6ZTogICAgICAgICAgMTEyJSAhZGVmYXVsdDtcclxuJGxhcmdlLWZvbnQtc2l6ZTogICAgICAgIDE1MCUgIWRlZmF1bHQ7XHJcbiR4bGFyZ2UtZm9udC1zaXplOiAgICAgICAxNzAlICFkZWZhdWx0O1xyXG5cclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTUwMCkgIWRlZmF1bHQ7XHJcbiR0ZXh0LW11dGVkLWhvdmVyOiAgICAgICByZ2JhLXRvLWhleCgkZ3JheS02MDApICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogcmdiYS10by1oZXgoJGdyYXktNTAwKSAhZGVmYXVsdDtcclxuJHRleHQtbGlnaHQ6ICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTQwMCkgIWRlZmF1bHQ7XHJcbiR0ZXh0LWxpZ2h0ZXI6ICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0zMDApICFkZWZhdWx0O1xyXG4kdGV4dC1saWdodGVzdDogICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMjAwKSAhZGVmYXVsdDtcclxuXHJcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICBub25lICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEdyaWRcclxuXHJcbiRncmlkLWd1dHRlci13aWR0aDogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuJGNvbnRhaW5lci1wYWRkaW5nLXg6IDJyZW0gIWRlZmF1bHQ7XHJcbiRjb250YWluZXItcGFkZGluZy14LXNtOiAxcmVtICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLXBhZGRpbmcteTogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbXBvbmVudHNcclxuXHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywuMDYpICFkZWZhdWx0O1xyXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMteHM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuJGNvbXBvbmVudC1saW5lLWhlaWdodDogICAgICAgICAgIDEuNTQgIWRlZmF1bHQ7XHJcbiRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoOiAgICAycHggIWRlZmF1bHQ7XHJcblxyXG4kZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XHJcbiRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93OiAgICAgICAwIDFweCA2cHggcmdiYSgwLCAwLCAwLCAuMDkpICFkZWZhdWx0O1xyXG5cclxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kYm9yZGVyZWQtcm93LWJvcmRlci1jb2xvcjogICAgICAgJGhyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgICAgICAuNDJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBaLWluZGV4IG1hc3RlciBsaXN0XHJcblxyXG4kemluZGV4LWxheW91dC1maXhlZDogIDEwODAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtbW9kYWwtdG9wOiAgICAgMTA5MCAhZGVmYXVsdDtcclxuJHppbmRleC1sYXlvdXQtbW9iaWxlOiAxMTAwICFkZWZhdWx0O1xyXG4kemluZGV4LW5vdGlmaWNhdGlvbjogIDk5OTk5OSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUYWJsZXNcclxuXHJcbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAuMzEyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMjUpICFkZWZhdWx0O1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDM1KSAhZGVmYXVsdDtcclxuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICByZ2JhLXRvLWhleCgkdGFibGUtaG92ZXItYmcpICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICByZ2JhLXRvLWhleCgkZ3JheS0xMDApICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgIHJnYmEoJHdoaXRlLCAuMDMpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6IGxpZ2h0ZW4ocmdiYS10by1oZXgoJGdyYXktOTAwKSwgNyUpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCdXR0b25zXHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAuNDM4cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAxLjU0ICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteHM6ICAgMCAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgteHM6ICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9udC1zaXplLXhzOiAgICRmb250LXNpemUteHMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteHM6ICRsaW5lLWhlaWdodC14cyAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgIC4xODhyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgIC42ODc1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteGw6ICAgLjg3NXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgteGw6ICAgMi4xMjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9udC1zaXplLXhsOiAgICRmb250LXNpemUteGwgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteGw6ICRsaW5lLWhlaWdodC14bCAhZGVmYXVsdDtcclxuXHJcbiRidG4tYm9yZGVyLXJhZGl1cy14czogICAgICRib3JkZXItcmFkaXVzLXhzICFkZWZhdWx0O1xyXG4kYnRuLWJvcmRlci1yYWRpdXMteGw6ICAgICAkYm9yZGVyLXJhZGl1cy14bCAhZGVmYXVsdDtcclxuXHJcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuMjUpICFkZWZhdWx0O1xyXG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvcm1zXHJcblxyXG4kbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIC44MzEyNXJlbSAhZGVmYXVsdDtcclxuJGxhYmVsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTEwMCkgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkdGV4dC1saWdodCAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGlucHV0LWJ0bi1mb250LXNpemUgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpKSkpICFkZWZhdWx0O1xyXG4kaW5wdXQtaGVpZ2h0LWlubmVyLXNtOiAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRpbnB1dC1idG4tZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSkpKSAhZGVmYXVsdDtcclxuJGlucHV0LWhlaWdodC1pbm5lci1sZzogICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkZm9udC1zaXplLWxnICogJGxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpKSkpICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWludmVydGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCNmZmYsIC4zKSAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kaW5wdXQtaW52ZXJ0ZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1pbnZlcnRlZC1iZyAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKCNmZmYsIC43KSAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICByZ2JhKCNmZmYsIC4xKSAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgMS4xMjVyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogICAgIDFweCAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICsgLjQzOHJlbSkgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZzogICAgICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOS41IDcuNSclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzAuNzUgNC4zNSA0LjE4IDYuNzUgOC43NSAwLjc1JyBzdHlsZT0nZmlsbDpub25lO3N0cm9rZTpfQ09MT1JfO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MS41cHgnLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICAgICA2NSUgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9J19DT0xPUl8nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmctc2l6ZTogICAgIC41cmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZzogICAgICAgICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9J19DT0xPUl8nLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmctc2l6ZTogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICBub25lICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAxcmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWludmVydGVkLWRpc2FibGVkLWNvbG9yOiAgICAgJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1iZzogICAgICAgICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgICAgICAgICAgMTdweCAxMnB4ICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUtCSlJFRlVTQTN0MWtFS2dDQVFCVkNURHRjaXVsSjJwV2pSaWFwVGFQd29rVUVqUlcwemdhSFNPSTlQUVdMYkQ0TWhmcjdrei8xdGU0YllLTzRKSjhLSjBBVG91cVVicWV1dUg1VFJla3lwYjZTY3NyMnM2eklySEJnTFFRMXFzMEVBaU1VOENOUm1oY1JnWEVRUnlCY01SUlNEdkdGOGlLSVFIeWFFd0xPaXhtOEFQbTJNcTJIb1ZnTVM2dTN1Wi85cTNNTmo1Z3loYVhFaW5BaE5nSzVQcHpoRU8vaFNNSzRBQUFBQVNVVk9SSzVDWUlJPScpICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQ6ICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUo1SlJFRlVTQTN0MUcwS2dDQU1CdUNNRHRabG9qT0ZoelZmVWFGbEg0NE4vMHlJc3B3K3ZHaFRDR0hGTlExdTgrRDE2L0lHcVZIa0IwdkVFcUVKMFA1Q1gzRDc4VisweDlxTldlL0ZOcXR6N29nSXo0QjQxSXBCQUdCZ0VnSzFvcEJPVEVXb1FINWlMZ2cxeUFmbWhsQ0ZQR0NhQ0l3Vk83NllyTld3Z2VQUlRwL3labTROMDRkZzFUZEFVWW1mbWpKeDc5MGdOREZMeEJLaENkRCtDUTNHSG5ndkpUR0tBQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1ydGw6ICAgICAgICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBS2RKUkVGVVNBM3RsbEVLZ0NBTWhsTTZYQS9SbGJJclJRK2RxRHFGeFI4cHRFd05GSHVZRCtMYzNENStIQ3Fxd21OWnR4MElzakNITGM4Z1ZvcHJ3WXF3SWxRQmF0ZE4yNmxkNjU0Nlltd2g1VEJQbzRxSkRjVklKRUxDVUNEMXA0UkE3ck5ydnNLa2hyQWdXTVRDNUlDNGdjVEE1SUo0Z1BoZ2NrSTRRVnd3dVNGUVUyQjZHMmh0K0ZLMXFLdU8rUVo0UVZ3SFUrOFpFSDcwcUxLc0NDdENGYUQyYis3SUFaR2RQUHh1V1lHTUFBQUFBRWxGVGtTdVFtQ0MnKSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWludmVydGVkLXJ0bDogICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFKdEpSRUZVU0EzdGxsRUt3Q0FJaG1kMHNGMW03RXlqdzdhTUNITFdXaGp0d1I0aVUzNC9maEtDYmZIeTN1K0lZQlp6NVBZS2txMUlCM1ZFSGFFTzBOaUdPVDdENVVFVG5iRURnS3V6dGxsbWtwQnJWdkZKTVFpVWoxTXpBQ01La1VIdzhBRkdIS0lBNllTWkF2RUFlWUdaQnNHQ1ZHQ21RbUJQaXh1MzhNMkUwWTZwOUg2NE1yRTdFRk1hRk5ML1NNMDQvUVpRWjlTUjN6cHlBMWlZSG5iU0xQSVFBQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRHJvcGRvd25zXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAuNDM4cmVtICFkZWZhdWx0O1xyXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1saW5rLWxpbmUtaGVpZ2h0OiAgICAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2c1xyXG5cclxuJG5hdi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1saW5lLWhlaWdodDogICAgICAgICAgICAgICRjb21wb25lbnQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kbmF2LWxpbmstcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstcGFkZGluZy14LWxnOiAgICAgICAgICAgICAxLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1saW5lLWhlaWdodC1sZzogICAgICAgICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcclxuXHJcbiRuYXYtbGluay1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstcGFkZGluZy14LXNtOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstbGluZS1oZWlnaHQtc206ICAgICAgICAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcblxyXG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZC1ob3ZlciAhZGVmYXVsdDtcclxuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcclxuXHJcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTEwMCAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE5hdmJhclxyXG5cclxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43cmVtICFkZWZhdWx0O1xyXG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44KSAhZGVmYXVsdDtcclxuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuNCkgIWRlZmF1bHQ7XHJcblxyXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XHJcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xyXG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjA2KSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQYWdpbmF0aW9uXHJcblxyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgLjkzNzVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tc3BhY2VyOiAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDYXJkc1xyXG5cclxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xyXG4kY2FyZC1zcGFjZXIteC1zbTogICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kY2FyZC1pbm5lci1ib3JkZXItY29sb3I6ICByZ2JhKCRibGFjaywuMDYpICFkZWZhdWx0O1xyXG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggNHB4IHJnYmEoJGJsYWNrLC4wMDkpICFkZWZhdWx0O1xyXG4vLyAkY2FyZC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCA0cHggcmdiYSgkYmxhY2ssLjAzKSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUb29sdGlwc1xyXG5cclxuJHRvb2x0aXAtY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJHRvb2x0aXAtYmc6ICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktODAwKSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQb3BvdmVyc1xyXG5cclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuXHJcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6IC42MjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCYWRnZXNcclxuXHJcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgIC44NThlbSAhZGVmYXVsdDtcclxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xyXG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcclxuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgLjQxN2VtICFkZWZhdWx0O1xyXG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xyXG5cclxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgLjU4M2VtICFkZWZhdWx0O1xyXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAxMHJlbSAhZGVmYXVsdDtcclxuXHJcbiRiYWRnZS1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGJhZGdlLW91dGxpbmUtZGVmYXVsdC1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTW9kYWxzXHJcblxyXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAxLjU2MjVyZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAgICAxLjI1cmVtICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgMHB4ICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAxcHggIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAzNXJlbSAhZGVmYXVsdDtcclxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgIDIyLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAuNSAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1zbGlkZS13aWR0aDogICAgICAgICAgICAgIDIwcmVtICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgLjE1cyAhZGVmYXVsdDtcclxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtICRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEFsZXJ0c1xyXG5cclxuJGFsZXJ0LXBhZGRpbmcteTogMXJlbSAhZGVmYXVsdDtcclxuJGFsZXJ0LXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQcm9ncmVzcyBiYXJzXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogMTByZW0gIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAjZmZmICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExpc3QgZ3JvdXBcclxuXHJcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhLXRvLWhleCgkYm9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgIC45Mzc1cmVtICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjUgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvciAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogSW1hZ2UgdGh1bWJuYWlsc1xyXG5cclxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAwICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogIDBweCAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGaWd1cmVzXHJcblxyXG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJyZWFkY3J1bWJzXHJcblxyXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICBcIi9cIiAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1ydGw6ICAgXCIvXCIgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3dpdGNoZXJzXHJcblxyXG4kc3dpdGNoZXItc3BhY2VyLXg6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLXNwYWNlci15OiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWd1dHRlcjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWlubmVyLXNwYWNlcjogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItc3F1YXJlLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLWxhYmVsLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItd2lkdGg6ICAgICAgICAgICAgICAgIDIuMzc1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaGVpZ2h0OiAgICAgICAgICAgICAgIDEuMzc1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItZm9udC1zaXplOiAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQ6ICAgIDEuNCAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2hlci13aWR0aC1zbTogICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWhlaWdodC1zbTogICAgICAgICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZS1zbTogICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtc206IDEuNDg2ICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLXdpZHRoLWxnOiAgICAgICAgICAgICAzLjI1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaGVpZ2h0LWxnOiAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0LWxnOiAxLjQ3ICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLW9mZi1jb2xvcjogICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1vZmYtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaG9sZGVyLWJnOiAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1ob2xkZXItc2hhZG93OiAgICAgICAgMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAuMDQpLCAwIDFweCA2cHggcmdiYSgkYmxhY2ssIC4wOSkgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ2xvc2VcclxuXHJcbiRjbG9zZS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xyXG4kY2xvc2UtdGV4dC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XHJcbiRjbG9zZS1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBKdW1ib3Ryb25cclxuXHJcbiRqdW1ib3Ryb24tcGFkZGluZzogM3JlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTaWRlbmF2XHJcblxyXG4kc2lkZW5hdi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDE1LjYyNXJlbSAhZGVmYXVsdDsgLy8yNTBweFxyXG4kc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg6ICAgICAgICAgICAgICAgIDQuMzc1cmVtICFkZWZhdWx0OyAvLzcwcHhcclxuXHJcbiRzaWRlbmF2LWl0ZW0tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAgLjA2MjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTogICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg6ICAgICAgICAycmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15OiAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGV2ZWwtc3BhY2VyOiAgICAgMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXk6ICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteDogICAgICAxcmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1ob3Jpem9udGFsLW1lbnUtbGluay1wYWRkaW5nLXk6IC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1sZXZlbC1zcGFjZXI6ICAgMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LW1lbnUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgMTIuNXJlbSAhZGVmYXVsdDs7IC8vMjAwcHhcclxuJHNpZGVuYXYtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAyLjI1cmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1jb250cm9sLWFycm93LXNpemU6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aDogICAgICAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLWZvbnQtc2l6ZTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWljb24tZXhwYW5kZWQtc3BhY2VyOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAuMnMgIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1tYXgtbGV2ZWxzOiAgICAgICAgICAgICAgICAgICAgIDUgIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1kYXJrLW1lbnUtYmc6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA2KSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtbGlnaHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNikgIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWxpZ2h0LW1lbnUtYmc6ICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xyXG5cclxuLy8gQ29uZmlnXHJcbiRydGwtc3VwcG9ydDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtYXRlcmlhbC1zdHlsZTogZmFsc2U7XHJcbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cblxuLy9cbi8vIENvbG9yIHN5c3RlbVxuLy9cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cyk7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBGb250c1xuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC44NzUpICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCRncmF5LTkwMCwgNy41JSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQpICsgKCRpbnB1dC1idG4tcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyLXNtOiAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lci1sZzogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWxnICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZykgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM0UlM0NjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoIHJnYmEoJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgIDc1JSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgIDEyNSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogLjc1KSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuNnMgZWFzZSAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ob3ZlclwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2NyZWVuLXJlYWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XG5cbi8vIC8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJldFwiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIC8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25cIjtcblxuLy8gLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZmxvYXRcIjtcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDJweCwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvbiwgbWVkaWEtcXVlcnktbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIFNpemluZyBzaG9ydGN1dHNcblxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLWJsb2NrLW5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaWYgKCRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XG4gICAgQHdhcm4gXCJUaGUgYHRleHQtaGlkZSgpYCBtaXhpbiBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mIHY0LjEuMC4gSXQgd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluIHY1LlwiO1xuICB9XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBWaXNpYmlsaXR5XG5cbkBtaXhpbiBpbnZpc2libGUoJHZpc2liaWxpdHkpIHtcbiAgdmlzaWJpbGl0eTogJHZpc2liaWxpdHkgIWltcG9ydGFudDtcbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXA7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXkpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJHRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1maWxlIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAyNSUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRib2R5LWJnLCAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YWZ0ZXIgeyBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XG4gIG1hcmdpbi1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQG1peGluIGZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBNaXhpbnNcclxuLy9cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVEwvTFRSXHJcblxyXG5AbWl4aW4gbHRyLW9ubHkoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtb25seSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIFtkaXI9cnRsXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGx0ci1zdHlsZSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIGh0bWw6bm90KFtkaXI9cnRsXSkgJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLXN0eWxlKCkge1xyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgW2Rpcj1ydGxdICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBLZXlmcmFtZXNcclxuXHJcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcclxuICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDYXJldHNcclxuXHJcbkBtaXhpbiBjYXJldC1kb3duIHtcclxuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAxLjUpO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBib3JkZXItbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC11cCB7XHJcbiAgbWFyZ2luLXRvcDogLTA7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC1yaWdodCB7XHJcbiAgbWFyZ2luLXRvcDogLTEgKiAoJGNhcmV0LXdpZHRoIC8gMik7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC1sZWZ0IHtcclxuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAyKTtcclxuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xyXG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFJlc3BvbnNpemUgbG9vcHNcclxuXHJcbkBtaXhpbiByZXNwb25zaXZlLWxvb3AtYmVmb3JlKCRwYXJlbnQsICRzdGFydC1icmVha3BvaW50OiBzbSkge1xyXG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XHJcblxyXG4gIEB3aGlsZSAkY3VyLWJyZWFrcG9pbnQge1xyXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IChicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpIC0gMSkpIHtcclxuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkY3VyLWJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQtbmV4dCgkY3VyLWJyZWFrcG9pbnQpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1hZnRlcigkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcclxuICAkY3VyLWJyZWFrcG9pbnQ6ICRzdGFydC1icmVha3BvaW50O1xyXG5cclxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcclxuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkY3VyLWJyZWFrcG9pbnQpO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpKSB7XHJcbiAgICAgICN7JHBhcmVudH0jeyRpbmZpeH0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb2xvcnNcclxuXHJcbi8vIENvbnRyYXN0XHJcbkBtaXhpbiBjb2xvci15aXEoJGNvbG9yKSB7XHJcbiAgY29sb3I6IHlpcSgkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcclxuICAjeyRwYXJlbnR9IHsgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7IH1cclxuICBhI3skcGFyZW50fSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOTUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikgIWltcG9ydGFudDsgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkcnRoLWNvbG9yOiAjMDAwKSB7XHJcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC45KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcclxuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KFwiI3skcGFyZW50fS1kYXJrZXJcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC44NSksICRiYWNrZ3JvdW5kOiAkcnRoLWNvbG9yKSk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCdXR0b25zXHJcblxyXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQ6IG51bGwsICRib3JkZXI6IG51bGwsICRhY3RpdmUtYmFja2dyb3VuZDogbnVsbCwgJGFjdGl2ZS1ib3JkZXI6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kLCBpZigkYm9yZGVyLCAkYm9yZGVyLCAkYmFja2dyb3VuZCkpO1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XHJcbiAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmLmZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGNvbG9yOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcblxyXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEJ1dHRvbiBncm91cHNcclxuICAuYnRuLWdyb3VwICN7JHBhcmVudH0sXHJcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQgI3skcGFyZW50fSxcclxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG4gICAgYm9yZGVyLWxlZnQ6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkbWQtY29sb3I6ICRiYWNrZ3JvdW5kKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1tYXRlcmlhbC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kKTtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdztcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAud2F2ZXMtcmlwcGxlIHtcclxuICAgIGJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAjZmZmLCByZ2JhKCRjb2xvciwgLjMpLCByZ2JhKCRjb2xvciwgLjIpKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG4gICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdztcclxuICB9XHJcblxyXG4gIC8vIEZsYXQgYnV0dG9uc1xyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRtZC1jb2xvciAhaW1wb3J0YW50O1xyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmLmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkbWQtY29sb3IsIC4xKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC53YXZlcy1yaXBwbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjMpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0ubWQtYnRuLWZsYXQuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBEaXNhYmxlZFxyXG5cclxuICAjeyRwYXJlbnR9LmRpc2FibGVkLFxyXG4gICN7JHBhcmVudH06ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6ICRtYXRlcmlhbC1jb21wb25lbnQtc2hhZG93ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmRpc2FibGVkLFxyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQ6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogT3V0bGluZSBidXR0b25zXHJcblxyXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3I6IG51bGwsICRjb2xvci1ob3ZlcjogbnVsbCwgJGhvdmVyLWNvbG9yOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRob3Zlci1jb2xvcjogbnVsbCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkY29sb3IsICRjb2xvcik7XHJcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcblxyXG4gICAgICAuYmFkZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcclxuICAgICAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKSA9PSAxLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmLmZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XHJcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG5cclxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJhZGdlIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKSA9PSAxLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaG92ZXItY29sb3I6IG51bGwpIHtcclxuICAkYnRuLWNvbG9yczogZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGNvbG9yKTtcclxuICAkY29sb3ItaG92ZXI6IGlmKCRob3Zlci1jb2xvciwgJGhvdmVyLWNvbG9yLCB5aXEoJGNvbG9yKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yIGluc2V0O1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG5cclxuICAgICAgLmJhZGdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XHJcbiAgICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC53YXZlcy1yaXBwbGUge1xyXG4gICAgYmFja2dyb3VuZDogaWYoJGNvbG9yLWhvdmVyID09ICNmZmYsIHJnYmEoJGNvbG9yLWhvdmVyLCAuMyksIHJnYmEoJGNvbG9yLWhvdmVyLCAuMikpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3c7XHJcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG5cclxuICAgIC5iYWRnZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcclxuICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQmFkZ2VzXHJcblxyXG5AbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1iYWRnZS12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmcpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH1baHJlZl0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZihhbHBoYSgkYmcpID09IDEsIHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTUpLCAjMDAwKSwgcmdiYSgkYmcsIGFscGhhKCRiZykgKyAuMDMpKTtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4gI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmcgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6ICRiZykge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0O1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH1baHJlZl0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYmcgaW5zZXQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBEcm9wZG93bnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxyXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpOm5vdCguZGlzYWJsZWQpID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pOmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE5hdnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xyXG4gICA+IC5uYXYgLm5hdi1saW5rLFxyXG4gICYubmF2IC5uYXYtbGluayB7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbmF2LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRwaWxscy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtcGlsbHMnLCAnI3skcGFyZW50fS5uYXYtcGlsbHMsICN7JHBhcmVudH0gPiAubmF2LXBpbGxzJyk7XHJcblxyXG4gICN7JHBpbGxzLXNlbGVjdG9yfSAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9LnRhYnMtYWx0Lm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXHJcbiAgI3skcGFyZW50fS50YWJzLWFsdCA+IC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDAgJGJhY2tncm91bmQgaW5zZXQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXYtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XHJcbiAgJHRhYnMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXRhYnMnLCAnI3skcGFyZW50fS5uYXYtdGFicycpO1xyXG4gICRwaWxscy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtcGlsbHMnLCAnI3skcGFyZW50fS5uYXYtcGlsbHMsICN7JHBhcmVudH0gPiAubmF2LXBpbGxzJyk7XHJcblxyXG4gICN7JHRhYnMtc2VsZWN0b3J9IC5uYXYtbGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLCAkY29sb3IpO1xyXG4gIH1cclxuXHJcbiAgI3skcGlsbHMtc2VsZWN0b3J9IC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGNvbG9yOiBpZigkbGluay1jb2xvciwgJGxpbmstY29sb3IsIHlpcSgkY29sb3IpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi10aGVtZSgkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1uYXYtdmFyaWFudCgnJywgJGNvbG9yLCAkbGluay1jb2xvcik7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQYWdpbmF0aW9uXHJcblxyXG5AbWl4aW4gYXBwd29yay1wYWdpbmF0aW9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayxcclxuICAjeyRwYXJlbnR9LnBhZ2luYXRpb24gbGkuYWN0aXZlID4gYTpub3QoLnBhZ2UtbGluaykge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcGFnaW5hdGlvbi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFByb2dyZXNzIGJhcnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXByb2dyZXNzLWJhci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgLnByb2dyZXNzLWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTGlzdCBncm91cHNcclxuXHJcbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGU6IG51bGwsICRiYWNrZ3JvdW5kOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1saXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xyXG4gICRjb2xvcjogeWlxKCRiZyk7XHJcbiAgJGhvdmVyLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiZywgLjk5KSwgIzAwMCk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wNyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgYSN7JHBhcmVudH0sXHJcbiAgYnV0dG9uI3skcGFyZW50fSB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1saXN0LWdyb3VwLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCcubGlzdC1ncm91cC1pdGVtLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcblxyXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQWxlcnRzXHJcblxyXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZDogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYWxlcnQtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xyXG4gICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpLCAjZmZmKTtcclxuICAkYm9yZGVyOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTQpLCAjMDAwKTtcclxuICAkY29sb3I6IHlpcSgkYmFja2dyb3VuZCk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuYWxlcnQtbGluayB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1hbGVydC1kYXJrLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlLFxyXG4gICAgLmFsZXJ0LWxpbmsge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFRvb2x0aXBzXHJcblxyXG5AbWl4aW4gYXBwd29yay10b29sdGlwLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgLnRvb2x0aXAtaW5uZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmJzLXRvb2x0aXAtdG9wIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtdG9vbHRpcC1ib3R0b20gLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFBvcG92ZXJzXHJcblxyXG5AbWl4aW4gYXBwd29yay1wb3BvdmVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAucG9wb3Zlci1oZWFkZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5wb3BvdmVyLWJvZHkge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxyXG5cclxuICAgICYuYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLmFycm93OjphZnRlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvcm0gY29udHJvbHNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1zZWxlY3Qtc2l6ZSgkc2l6ZSwgJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcbiAgLmN1c3RvbS1zZWxlY3QtI3skc2l6ZX0sXHJcbiAgLmlucHV0LWdyb3VwLSN7JHNpemV9IC5jdXN0b20tc2VsZWN0IHtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgKCRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJHBhZGRpbmcteSAkcGFkZGluZy14O1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJHBhZGRpbmcteCBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG5cclxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICYsXHJcbiAgICAgICZbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgJHBhZGRpbmcteCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIEBpZiAkZGVmYXVsdC1iYWNrZ3JvdW5kIHtcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCcuY3VzdG9tLWNvbnRyb2wnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkZGVmYXVsdC1iYWNrZ3JvdW5kOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgQGlmICRkZWZhdWx0LWJhY2tncm91bmQge1xyXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRiYWNrZ3JvdW5kKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgnLmN1c3RvbS1jb250cm9sJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcclxuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWFyZ2luLXRvcDogLjFyZW07XHJcbiAgICBwYWRkaW5nOiAuNXJlbTtcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsLjgpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICB9XHJcblxyXG4gIC5mb3JtLWNvbnRyb2wsXHJcbiAgLmN1c3RvbS1zZWxlY3Qge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLC4yNSkgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbC1maWxlOiN7JHN0YXRlfSxcclxuICAuZm9ybS1jb250cm9sLWZpbGUuaXMtI3skc3RhdGV9IHtcclxuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCxcclxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsLjMpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcclxuICAgIHBhZGRpbmc6IC41cmVtO1xyXG4gICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogLjJyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwuOCk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIH1cclxuXHJcbiAgLmZvcm0tY29udHJvbCxcclxuICAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTojeyRzdGF0ZX0sXHJcbiAgLmZvcm0tY29udHJvbC1maWxlLmlzLSN7JHN0YXRlfSB7XHJcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQsXHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJiB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJiB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuaXMtI3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuaXMtI3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OiN7JHN0YXRlfSxcclxuICAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtI3skc3RhdGV9IHtcclxuICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkY29sb3IpIHtcclxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkY29sb3IpIHtcclxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtc2l6ZSgkc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkcGFkZGluZy15LCAkZ3JvdXAtYnRuLWZvbnQtc2l6ZTogbnVsbCkge1xyXG4gIEBpZiAkc2l6ZSA9PSAnJyB7XHJcbiAgICAuZm9ybS1jb250cm9sLFxyXG4gICAgLmN1c3RvbS1zZWxlY3QsXHJcbiAgICAuY3VzdG9tLWZpbGUtbGFiZWwsXHJcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAuZm9ybS1jb250cm9sLSN7JHNpemV9LFxyXG4gICAgLmN1c3RvbS1zZWxlY3QtI3skc2l6ZX0sXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuZm9ybS1jb250cm9sLFxyXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmN1c3RvbS1zZWxlY3QsXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmlucHV0LWdyb3VwLXRleHQge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KSAhaW1wb3J0YW50O1xyXG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCkgIWltcG9ydGFudDtcclxuICAgICAgZm9udC1zaXplOiAkZ3JvdXAtYnRuLWZvbnQtc2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWZvcm0tY29udHJvbC10aGVtZSgkY29sb3IpIHtcclxuICAuZm9ybS1jb250cm9sOmZvY3VzLFxyXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXRoZW1lKCRjb2xvcikge1xyXG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXHJcbiAgLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3dpdGNoZXJzXHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci1zaXplLWJhc2UoJHdpZHRoLCAkaGVpZ2h0LCAkZm9udC1zaXplLCAkZGVzY3JpcHRpb24tZm9udC1zaXplLCAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQsICRpbm5lci1zcGFjZXI6ICRzd2l0Y2hlci1pbm5lci1zcGFjZXIpIHtcclxuICBwYWRkaW5nLWxlZnQ6ICR3aWR0aDtcclxuICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG5cclxuICAkbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICRkZXNjcmlwdGlvbi1mb250LXNpemUgKiAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgJGRlbHRhOiBpZigkbWF0ZXJpYWwtc3R5bGUsIHB4LXRvLXJlbShjZWlsKHJlbS10by1weCgkaGVpZ2h0ICogLjEyNSkpKSwgMCk7XHJcblxyXG4gIC5zd2l0Y2hlci1ibGFuayAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIHRvcDogJGRlbHRhICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAoJGRlbHRhICogMik7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcclxuXHJcbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkID4gJGhlaWdodCB7XHJcbiAgICAgIHRvcDogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAkaGVpZ2h0KSAvIDIpICsgJGRlbHRhO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHRvcDogMCArICRkZWx0YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1sYWJlbCB7XHJcbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDwgJGhlaWdodCB7XHJcbiAgICAgIHRvcDogKCRoZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMjtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcclxuICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICB0b3A6ICRkZWx0YSAqIC0xO1xyXG4gICAgbWFyZ2luOiAkaW5uZXItc3BhY2VyIDAgMCAkaW5uZXItc3BhY2VyO1xyXG4gICAgd2lkdGg6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcclxuICAgIGhlaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXIgKiAyO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLW5vIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLXllcyB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcclxuICB9XHJcblxyXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gICAgLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcclxuICAgICAgdG9wOiAkZGVsdGEgKiAtMTtcclxuICAgICAgd2lkdGg6ICRoZWlnaHQ7XHJcbiAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gICAgICByaWdodDogJHdpZHRoIC0gJGhlaWdodDtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogJGlubmVyLXNwYWNlcjtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLW5vIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcclxuICAgIH1cclxuXHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXIteWVzIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGlubmVyLXNwYWNlcjtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xyXG4gICAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUoJHNpemUsICR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XHJcbiAgLnN3aXRjaGVyLSN7JHNpemV9LFxyXG4gIC5mb3JtLWdyb3VwLSN7JHNpemV9IC5zd2l0Y2hlciB7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KTtcclxuICB9XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xyXG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjUpO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YXJpYW50KCcnLCAkYmFja2dyb3VuZCk7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcclxuICAuc3dpdGNoZXItaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiB5aXEoJGNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFjdGl2ZSB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC5zd2l0Y2hlci1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjUpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB+IC5zd2l0Y2hlci1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVGFibGVzXHJcblxyXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXRhYmxlLXJvdy12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XHJcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xyXG4gICRjb2xvcjogeWlxKCRiZyk7XHJcbiAgJGhvdmVyLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiZywgLjk5KSwgIzAwMCk7XHJcblxyXG4gIC50YWJsZSAjeyRwYXJlbnR9LFxyXG4gIC50YWJsZSAjeyRwYXJlbnR9ID4gdGgsXHJcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0ZCB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjAzNSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIsXHJcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0ZCxcclxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlciA+IHRoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iZztcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBOYXZiYXJcclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdmJhci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XHJcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2IHtcclxuICAgICAgLm5hdi1saW5rIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnNob3cgPiAubmF2LWxpbmssXHJcbiAgICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXHJcbiAgICAgIC5uYXYtbGluay5zaG93LFxyXG4gICAgICAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10b2dnbGVyIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSA9PSAjZmZmLCAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnLCAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10ZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFNpZGVuYXZcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCwgJG1lbnUtYmc6IG51bGwpIHtcclxuICAkY29sb3JzOiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3IsICRjb2xvciwgJGJvcmRlcik7XHJcbiAgJHlpcS1wZXJjZW50OiBtYXAtZ2V0KCRjb2xvcnMsIHlpcS1wZXJjZW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbWVudS1iZyB7XHJcbiAgICAkbWVudS1iZzogcmdiYS10by1oZXgocmdiYShtYXAtZ2V0KCRjb2xvcnMsIGJnKSwgMSAtIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgLjAyNSwgLjA1KSksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgI2ZmZiwgIzAwMCkpO1xyXG4gIH1cclxuXHJcbiAgJG1lbnUtYWN0aXZlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRtZW51LWJnLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiZykgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAuc2lkZW5hdi1saW5rLFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaXRlbS5kaXNhYmxlZCAuc2lkZW5hdi1saW5rLFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LmRpc2FibGVkLFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaXRlbS5vcGVuOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtdG9nZ2xlLFxyXG4gICAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1iZztcclxuICAgIH1cclxuXHJcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1tZW51ID4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYWN0aXZlLWJnO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2lkZW5hdi1ob3Jpem9udGFsIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbTpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LW1lbnUsXHJcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWJnO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtbWVudSxcclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtdG9nZ2xlIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi10ZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1oZWFkZXIge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBtdXRlZC1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgaHIsXHJcbiAgICAuc2lkZW5hdi1kaXZpZGVyLFxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi1tZW51OjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXHJcbiAgICAuc2lkZW5hdi1ibG9jazo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgobWFwLWdldCgkY29sb3JzLCBib3JkZXIpLCAkbWVudS1iZyk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjpiZWZvcmUsXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6OmJlZm9yZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkbWVudS1iZztcclxuICAgIH1cclxuXHJcbiAgICAucHNfX3RodW1iLXksXHJcbiAgICAucHNfX3JhaWwteS5wcy0tY2xpY2tpbmcgPiAucHNfX3RodW1iLXkge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCBtYXAtZ2V0KCRjb2xvcnMsIG9wYWNpdHkpIC0gLjQsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuMikpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRm9vdGVyXHJcblxyXG5AbWl4aW4gYXBwd29yay1mb290ZXItdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgIC5mb290ZXItbGluayB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBkaXNhYmxlZC1jb2xvcikgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXItdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3cgPiAuZm9vdGVyLWxpbmssXHJcbiAgICAuYWN0aXZlID4gLmZvb3Rlci1saW5rLFxyXG4gICAgLmZvb3Rlci1saW5rLnNob3csXHJcbiAgICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFRoZW1lIG1peGluXHJcblxyXG5AbWl4aW4gYXBwd29yay1jb21tb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBiZy12YXJpYW50KCcuYmctcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5ib3JkZXItcHJpbWFyeSwgaHRtbFtkaXI9cnRsXSAuYm9yZGVyLXByaW1hcnkgeyBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cclxuICBAaW5jbHVkZSBhcHB3b3JrLWJhZGdlLXZhcmlhbnQoJy5iYWRnZS1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJy5iYWRnZS1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbGlzdC1ncm91cC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWFsZXJ0LXZhcmlhbnQoJy5hbGVydC1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCcuYWxlcnQtZGFyay1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay10b29sdGlwLXZhcmlhbnQoJy50b29sdGlwLXByaW1hcnksIC50b29sdGlwLXByaW1hcnkgPiAudG9vbHRpcCwgLm5nYi10b29sdGlwLXByaW1hcnkgKyBuZ2ItdG9vbHRpcC13aW5kb3cnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXBvcG92ZXItdmFyaWFudCgnLnBvcG92ZXItcHJpbWFyeSwgLnBvcG92ZXItcHJpbWFyeSA+IC5wb3BvdmVyLCAubmdiLXBvcG92ZXItcHJpbWFyeSArIG5nYi1wb3BvdmVyLXdpbmRvdycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJy50YWJsZS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4tcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1uYXZiYXItdmFyaWFudCgnLm5hdmJhci5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCcuc2lkZW5hdi5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJy5mb290ZXIuYmctcHJpbWFyeScsICRwcmltYXJ5LWNvbG9yKTtcclxuICAuZmlsbC1wcmltYXJ5IHsgZmlsbDogJGJhY2tncm91bmQgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jb21tb24tbWF0ZXJpYWwtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBiZy12YXJpYW50KCcuYmctcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5ib3JkZXItcHJpbWFyeSwgaHRtbFtkaXI9cnRsXSAuYm9yZGVyLXByaW1hcnkgeyBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cclxuICBAaW5jbHVkZSBhcHB3b3JrLWJhZGdlLXZhcmlhbnQoJy5iYWRnZS1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJy5iYWRnZS1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbGlzdC1ncm91cC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWFsZXJ0LXZhcmlhbnQoJy5hbGVydC1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCcuYWxlcnQtZGFyay1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay10b29sdGlwLXZhcmlhbnQoJy50b29sdGlwLXByaW1hcnksIC50b29sdGlwLXByaW1hcnkgPiAudG9vbHRpcCwgLm5nYi10b29sdGlwLXByaW1hcnkgKyBuZ2ItdG9vbHRpcC13aW5kb3cnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXBvcG92ZXItdmFyaWFudCgnLnBvcG92ZXItcHJpbWFyeSwgLnBvcG92ZXItcHJpbWFyeSA+IC5wb3BvdmVyLCAubmdiLXBvcG92ZXItcHJpbWFyeSArIG5nYi1wb3BvdmVyLXdpbmRvdycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJy50YWJsZS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJy5idG4tcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJy5uYXZiYXIuYmctcHJpbWFyeScsICRwcmltYXJ5LWNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgnLnNpZGVuYXYuYmctcHJpbWFyeScsICRwcmltYXJ5LWNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuZm9vdGVyLmJnLXByaW1hcnknLCAkcHJpbWFyeS1jb2xvcik7XHJcbiAgLmZpbGwtcHJpbWFyeSB7IGZpbGw6ICRiYWNrZ3JvdW5kIH1cclxufVxyXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEltcG9ydHNcclxuXHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC1zbGlkZXIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL25vdWlzbGlkZXIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL3NlbGVjdDIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC10YWdzaW5wdXQvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC1zZWxlY3QvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Jvb3RzdHJhcC1kYXRlcGlja2VyL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vbGlicy9ib290c3RyYXAtZGF0ZXJhbmdlcGlja2VyL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vbGlicy9ib290c3RyYXAtbWF0ZXJpYWwtZGF0ZXRpbWVwaWNrZXIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL3RpbWVwaWNrZXIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2dyb3dsL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vbGlicy9ib290c3RyYXAtbWFya2Rvd24vbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL3F1aWxsL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vbGlicy90eXBlYWhlYWQtanMvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL2Ryb3B6b25lL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vbGlicy9zd2lwZXIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL3NwaW5raXQvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWJzL3NtYXJ0d2l6YXJkL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vbGlicy9wbHlyL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vbGlicy9mdWxsY2FsZW5kYXIvbWl4aW5zXCI7XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFRoZW1lIG1peGluXHJcblxyXG5AbWl4aW4gYXBwd29yay1saWJzLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBicy1zbGlkZXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIG5vdWlzbGlkZXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIHNlbGVjdDItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYnMtdGFnc2lucHV0LXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBicy1zZWxlY3QtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYnMtZGF0ZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBicy1kYXRlcmFuZ2VwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYnMtbWF0ZXJpYWwtZGF0ZXRpbWVwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgdGltZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBncm93bC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBicy1tYXJrZG93bi10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgcXVpbGwtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIHR5cGVhaGVhZC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBkcm9wem9uZS10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgc3dpcGVyLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBzcGlua2l0LXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBzbWFydHdpemFyZC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgcGx5ci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBmdWxsY2FsZW5kYXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1saWJzLW1hdGVyaWFsLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBtYXRlcmlhbC1icy1zbGlkZXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIG1hdGVyaWFsLW5vdWlzbGlkZXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIG1hdGVyaWFsLXNlbGVjdDItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgbWF0ZXJpYWwtYnMtdGFnc2lucHV0LXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBicy1zZWxlY3QtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYnMtZGF0ZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBicy1kYXRlcmFuZ2VwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYnMtbWF0ZXJpYWwtZGF0ZXRpbWVwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgdGltZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBncm93bC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBicy1tYXJrZG93bi10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgcXVpbGwtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIHR5cGVhaGVhZC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBkcm9wem9uZS10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgc3dpcGVyLXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBzcGlua2l0LXRoZW1lKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBzbWFydHdpemFyZC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgcGx5ci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBmdWxsY2FsZW5kYXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG59XHJcbiIsIkBtaXhpbiBicy1zbGlkZXItdmFyaWFudCgkY29sb3IpIHtcclxuICAuc2xpZGVyLXNlbGVjdGlvbixcclxuICAuc2xpZGVyLXJldmVyc2VkIC5zbGlkZXItdHJhY2staGlnaCxcclxuICAmLnNsaWRlci1yZXZlcnNlZCAuc2xpZGVyLXRyYWNrLWhpZ2gge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1hdGVyaWFsLWJzLXNsaWRlci12YXJpYW50KCRjb2xvcikge1xyXG4gIC5zbGlkZXItaGFuZGxlIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5zbGlkZXItaGFuZGxlLFxyXG4gIC5zbGlkZXItc2VsZWN0aW9uLFxyXG4gIC5zbGlkZXItcmV2ZXJzZWQgLnNsaWRlci10cmFjay1oaWdoLFxyXG4gICYuc2xpZGVyLXJldmVyc2VkIC5zbGlkZXItdHJhY2staGlnaCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnMtc2xpZGVyLXRoZW1lKCRjb2xvcikge1xyXG4gIC5zbGlkZXItcHJpbWFyeSB7XHJcbiAgICBAaW5jbHVkZSBicy1zbGlkZXItdmFyaWFudCgkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1hdGVyaWFsLWJzLXNsaWRlci10aGVtZSgkY29sb3IpIHtcclxuICAuc2xpZGVyLXByaW1hcnkge1xyXG4gICAgQGluY2x1ZGUgbWF0ZXJpYWwtYnMtc2xpZGVyLXZhcmlhbnQoJGNvbG9yKTtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIG5vdWlzbGlkZXItdmFyaWFudCgkY29sb3IpIHtcclxuICAubm9VaS1jb25uZWN0IHsgYmFja2dyb3VuZDogJGNvbG9yOyB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXRlcmlhbC1ub3Vpc2xpZGVyLXZhcmlhbnQoJGNvbG9yKSB7XHJcbiAgLm5vVWktY29ubmVjdCB7IGJhY2tncm91bmQ6ICRjb2xvcjsgfVxyXG59XHJcblxyXG5AbWl4aW4gbm91aXNsaWRlci10aGVtZSgkY29sb3IpIHtcclxuICAubm9VaS1wcmltYXJ5IC5ub1VpLWJhc2Uge1xyXG4gICAgLm5vVWktY29ubmVjdCB7IGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50OyB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF0ZXJpYWwtbm91aXNsaWRlci10aGVtZSgkY29sb3IpIHtcclxuICAubm9VaS1wcmltYXJ5IC5ub1VpLWJhc2Uge1xyXG4gICAgLm5vVWktaGFuZGxlIHtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubm9VaS1jb25uZWN0IHsgYmFja2dyb3VuZDogJGNvbG9yICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Nzcy9fYXBwd29yay9mdW5jdGlvbnNcIjtcclxuXHJcbkBtaXhpbiBzZWxlY3QyLXZhcmlhbnQoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2VsZWN0Mi12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XHJcbiAgLmlzLSN7JHN0YXRlfSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLFxyXG4gIC5pcy0jeyRzdGF0ZX0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uICB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzZWxlY3QyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgLmRlZmF1bHQtc3R5bGUgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHtcclxuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMgLnNlbGVjdDItc2VsZWN0aW9uLFxyXG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGVmYXVsdC1zdHlsZSAuc2VsZWN0Mi1wcmltYXJ5IHtcclxuICAgIEBpbmNsdWRlIHNlbGVjdDItdmFyaWFudCgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXRlcmlhbC1zZWxlY3QyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgLm1hdGVyaWFsLXN0eWxlIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7XHJcbiAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzOm5vdCguc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkKSAuc2VsZWN0Mi1zZWxlY3Rpb24sXHJcbiAgICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuOm5vdCguc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkKSAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGJhY2tncm91bmQgaW5zZXQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tYXRlcmlhbC1zdHlsZSAuc2VsZWN0Mi1wcmltYXJ5IHtcclxuICAgIEBpbmNsdWRlIHNlbGVjdDItdmFyaWFudCgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIGJzLXRhZ3NpbnB1dC10aGVtZSgkY29sb3IpIHtcclxuICAuYm9vdHN0cmFwLXRhZ3NpbnB1dC5mb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1hdGVyaWFsLWJzLXRhZ3NpbnB1dC10aGVtZSgkY29sb3IpIHtcclxuICAuYm9vdHN0cmFwLXRhZ3NpbnB1dC5mb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBiZy10YWdzaW5wdXQtdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC5pcy0jeyRzdGF0ZX0uYm9vdHN0cmFwLXRhZ3NpbnB1dCxcclxuICAuaXMtI3skc3RhdGV9IC5ib290c3RyYXAtdGFnc2lucHV0IHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIGJzLXNlbGVjdC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOm51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgLmJvb3RzdHJhcC1zZWxlY3QgLmRyb3Bkb3duLW1lbnUuaW5uZXIgYVthcmlhLXNlbGVjdGVkPXRydWVdIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gYnMtZGF0ZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgJHJhbmdlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpLCAjZmZmKTtcclxuICAkcmFuZ2UtY29sb3I6IHlpcSgkcmFuZ2UtYmcpO1xyXG5cclxuICAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCB7XHJcbiAgICAmLmFjdGl2ZSxcclxuICAgICYuYWN0aXZlLmhpZ2hsaWdodGVkLFxyXG4gICAgJi5hY3RpdmUudG9kYXksXHJcbiAgICBzcGFuLmFjdGl2ZSxcclxuICAgIHNwYW4uYWN0aXZlLmRpc2FibGVkLFxyXG4gICAgJi5yYW5nZS1zdGFydCxcclxuICAgICYucmFuZ2UtZW5kIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYucmFuZ2UsXHJcbiAgICAmLnJhbmdlLmhpZ2hsaWdodGVkLFxyXG4gICAgJi5yYW5nZS50b2RheSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1iZyAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJHJhbmdlLWNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAmLmZvY3VzZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcmFuZ2UtYmcsIDYlKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkcmFuZ2UtYmcsIC41KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkcmFuZ2UtY29sb3IsIC41KSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gYnMtZGF0ZXJhbmdlcGlja2VyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAkaGlnbGlnaHRlZC1iZzogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjE1KSwgI2ZmZik7XHJcbiAgJGhpZ2xpZ2h0ZWQtY29sb3I6IHlpcSgkaGlnbGlnaHRlZC1iZyk7XHJcblxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgdGQuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZGF0ZXJhbmdlcGlja2VyIHRkLmluLXJhbmdlOm5vdCguc3RhcnQtZGF0ZSk6bm90KC5lbmQtZGF0ZSk6bm90KC5vZmYpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoaWdsaWdodGVkLWJnICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGhpZ2xpZ2h0ZWQtY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgLmlucHV0LW1pbmkuYWN0aXZlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5yYW5nZXMgbGkuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gYnMtbWF0ZXJpYWwtZGF0ZXRpbWVwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAuZHRwLWRhdGUsXHJcbiAgLmR0cC10aW1lIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC5kdHAtY2xvc2UgPiBhIHsgY29sb3I6ICRjb2xvcjsgfVxyXG5cclxuICBoZWFkZXIuZHRwLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuODUpLCAkYmFja2dyb3VuZDogIzAwMCk7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgdGFibGUuZHRwLXBpY2tlci1kYXlzIHRyID4gdGQgPiBhLnNlbGVjdGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmR0cC1hY3R1YWwtbWVyaWRpZW4gYS5zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmR0cCAueWVhci1waWNrZXItaXRlbSB7XHJcbiAgICAmOmhvdmVyIHsgY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmFjdGl2ZSB7IGNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gIH1cclxuXHJcbiAgLmR0cCAuc3ZnLWNsb2NrIFtzdHJva2U9XCIjOEJDMzRBXCJdIHsgc3Ryb2tlOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XHJcbiAgLmR0cCAuc3ZnLWNsb2NrIFtmaWxsPVwiIzhCQzM0QVwiXSB7IGZpbGw6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cclxuICAuZHRwIC5zdmctY2xvY2sgW2ZpbGw9XCIjZmZmXCJdIHsgZmlsbDogJGNvbG9yICFpbXBvcnRhbnQ7IH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIHRpbWVwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICBsaS51aS10aW1lcGlja2VyLXNlbGVjdGVkLFxyXG4gIC51aS10aW1lcGlja2VyLWxpc3QgLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQ6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Nzcy9fYXBwd29yay9mdW5jdGlvbnNcIjtcclxuXHJcbkBtaXhpbiBncm93bC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC5ncm93bC1kZWZhdWx0IHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBicy1tYXJrZG93bi10aGVtZSgkYm9yZGVyKSB7XHJcbiAgLm1kLWVkaXRvci5hY3RpdmUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBxdWlsbC1nZW5lcmF0ZS1saXN0cygkaW5kZW50KSB7XHJcbiAgJHF1aWxsLWxpc3QtdHlwZXM6IChcclxuICAgIDE6IGxvd2VyLWFscGhhLFxyXG4gICAgMjogbG93ZXItcm9tYW4sXHJcbiAgICAzOiBkZWNpbWFsLFxyXG4gICAgNDogbG93ZXItYWxwaGEsXHJcbiAgICA1OiBsb3dlci1yb21hbixcclxuICAgIDY6IGRlY2ltYWwsXHJcbiAgICA3OiBsb3dlci1hbHBoYSxcclxuICAgIDg6IGxvd2VyLXJvbWFuLFxyXG4gICAgOTogZGVjaW1hbFxyXG4gICk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XHJcbiAgICBvbCBsaS5xbC1pbmRlbnQtI3skaX0ge1xyXG4gICAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdC0jeyRpfTtcclxuXHJcbiAgICAgIEBpZiAkaSA8IDkge1xyXG4gICAgICAgICRsaXN0czogJyc7XHJcblxyXG4gICAgICAgIEBmb3IgJGwgZnJvbSAkaSArIDEgdGhyb3VnaCA5IHtcclxuICAgICAgICAgICRsaXN0czogXCIjeyRsaXN0c30gbGlzdC0jeyRsfVwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY291bnRlci1yZXNldDogI3skbGlzdHN9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC0jeyRpfSwgbWFwLWdldCgkcXVpbGwtbGlzdC10eXBlcywgJGkpKSAnLiAnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnFsLWluZGVudC0jeyRpfTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50ICogJGk7XHJcblxyXG4gICAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudCAqICRpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkucWwtaW5kZW50LSN7JGl9Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnQgKiAoJGkgKyAxKTtcclxuXHJcbiAgICAgIFtkaXI9cnRsXSAmIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogKCRpICsgMSk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucWwtaW5kZW50LSN7JGl9LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogJGk7XHJcblxyXG4gICAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnQgKiAkaTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkucWwtaW5kZW50LSN7JGl9LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogKCRpICsgMSk7XHJcblxyXG4gICAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnQgKiAoJGkgKyAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHF1aWxsLXRoZW1lKCRjb2xvcikge1xyXG4gIC5xbC1zbm93LnFsLXRvb2xiYXIsXHJcbiAgLnFsLXNub3cgLnFsLXRvb2xiYXIge1xyXG4gICAgYnV0dG9uOmhvdmVyLFxyXG4gICAgYnV0dG9uOmZvY3VzLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSxcclxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIsXHJcbiAgICAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSxcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlcixcclxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b246aG92ZXIgLnFsLWZpbGwsXHJcbiAgICBidXR0b246Zm9jdXMgLnFsLWZpbGwsXHJcbiAgICBidXR0b24ucWwtYWN0aXZlIC5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1maWxsLFxyXG4gICAgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLnFsLWZpbGwsXHJcbiAgICBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLnFsLWZpbGwge1xyXG4gICAgICBmaWxsOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b246aG92ZXIgLnFsLXN0cm9rZSxcclxuICAgIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZSxcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UsXHJcbiAgICBidXR0b246aG92ZXIgLnFsLXN0cm9rZS1taXRlcixcclxuICAgIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS1taXRlcixcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UtbWl0ZXIge1xyXG4gICAgICBzdHJva2U6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIHR5cGVhaGVhZC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC50dC1zdWdnZXN0aW9uOmFjdGl2ZSxcclxuICAudHQtY3Vyc29yIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBkcm9wem9uZS10aGVtZSgkYm9yZGVyKSB7XHJcbiAgLmRyb3B6b25lLmR6LWRyYWctaG92ZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBzd2lwZXItdGhlbWUoJGNvbG9yKSB7XHJcbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLFxyXG4gIC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIHNwaW5raXQtdGhlbWUoJGJhY2tncm91bmQpIHtcclxuICAuc2stcHJpbWFyeS5zay1yb3RhdGluZy1wbGFuZSxcclxuICAuc2stcHJpbWFyeS5zay1kb3VibGUtYm91bmNlIC5zay1jaGlsZCxcclxuICAuc2stcHJpbWFyeS5zay13YXZlIC5zay1yZWN0LFxyXG4gIC5zay1wcmltYXJ5LnNrLXdhbmRlcmluZy1jdWJlcyAuc2stY3ViZSxcclxuICAuc2stcHJpbWFyeS5zay1zcGlubmVyLXB1bHNlLFxyXG4gIC5zay1wcmltYXJ5LnNrLWNoYXNpbmctZG90cyAuc2stY2hpbGQsXHJcbiAgLnNrLXByaW1hcnkuc2stdGhyZWUtYm91bmNlIC5zay1jaGlsZCxcclxuICAuc2stcHJpbWFyeS5zay1jaXJjbGUgLnNrLWNoaWxkOmJlZm9yZSxcclxuICAuc2stcHJpbWFyeS5zay1jdWJlLWdyaWQgLnNrLWN1YmUsXHJcbiAgLnNrLXByaW1hcnkuc2stZmFkaW5nLWNpcmNsZSAuc2stY2lyY2xlOmJlZm9yZSxcclxuICAuc2stcHJpbWFyeS5zay1mb2xkaW5nLWN1YmUgLnNrLWN1YmU6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gc21hcnR3aXphcmQtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLnN3LXRoZW1lLWRlZmF1bHQgLnN0ZXAtYW5jaG9yID4gbGkuYWN0aXZlID4gYSAuc3ctaWNvbixcclxuICAuc3ctdGhlbWUtZGVmYXVsdCAuc3RlcC1hbmNob3IgPiBsaS5hY3RpdmUgPiBhIC5zdy1udW1iZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gcGx5ci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKSB7XHJcbiAgLnBseXIgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLWZpbGwtbG93ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5wbHlyIGlucHV0W3R5cGU9J3JhbmdlJ106YWN0aXZlIHtcclxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjo6LW1zLXRodW1iIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHMgYnV0dG9uLnRhYi1mb2N1czpmb2N1cyxcclxuICAucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9scyBidXR0b24udGFiLWZvY3VzOmZvY3VzLFxyXG4gIC5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbHMgYnV0dG9uOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucGx5cl9fcGxheS1sYXJnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQsXHJcbiAgLnBseXJfX3ZvbHVtZS0tZGlzcGxheSB7XHJcbiAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQGZ1bmN0aW9uIGZ1bGxjYWxlbmRhci1ldmVudC1iZygkYmcpIHtcclxuICBAcmV0dXJuIHJnYmEoJGJnLCAuMTUpO1xyXG59XHJcblxyXG5AbWl4aW4gZnVsbGNhbGVuZGFyLWV2ZW50LXZhcmlhbnQoJGNvbG9yKSB7XHJcbiAgJi5mYy1ldmVudCxcclxuICAmLmZjLWV2ZW50LWRvdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBmdWxsY2FsZW5kYXItZXZlbnQtYmcoJGNvbG9yKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZ1bGxjYWxlbmRhci10aGVtZSgkY29sb3IpIHtcclxuICAuZmMtZXZlbnQsXHJcbiAgLmZjLWV2ZW50LWRvdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBmdWxsY2FsZW5kYXItZXZlbnQtYmcoJGNvbG9yKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmZjLWhpZ2hsaWdodCxcclxuICAuZmMtYmdldmVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIGFwcHdvcmstdWlraXQtdGhlbWUoJGJhY2tncm91bmQpIHtcclxuICAudWktcHJvZHVjdC1jb2xvci5hY3RpdmUge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmYsIDAgMCAwIDRweCAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsQUFBQSxJQUFJLENBQUM7RUFDSCxVQUFVLEVBSEYsT0FBTyxHQUloQjs7QWdCTEMsQUFBQSxhQUFhLENBQUY7RUFDVCxLQUFLLEVoQkRPLE9BQU8sQ2dCQ0wsVUFBVSxHQUN6Qjs7QUFDRCxBUFFBLENPUkMsQUFBQSxhQUFhLEFQUWIsTUFBTSxFT1JQLENBQUMsQUFBQSxhQUFhLEFQU2IsTUFBTSxDQUFDO0VPUEosS0FBSyxFQUFFLE9BQW1CLENBQUMsVUFBVSxHUFN4Qzs7QTZCNkhELEFBQUEsV0FBVyxDQUFBO0VBQUUsZ0JBQWdCLEV0QzNJZixPQUFPLENzQzJJaUIsVUFBVSxHQUFJOztBQUNwRCxBN0JqSUEsQzZCaUlDLEFBQUEsV0FBVyxBN0JqSVgsTUFBTSxFNkJpSVAsQ0FBQyxBQUFBLFdBQVcsQTdCaElYLE1BQU0sQ0FBQztFNkJpSWlCLGdCQUFnQixFbkNWL0IsT0FBbUMsQ21DVXNELFVBQVUsRzdCL0g1Rzs7QTZCNkhELEFBQUEsZ0JBQWdCLENBQUw7RUFBRSxnQkFBZ0IsRW5DUm5CLE9BQW1DLENtQ1FQLFVBQVUsR0FBSTs7QUFDcEQsQTdCaklBLEM2QmlJQyxBQUFBLGdCQUFnQixBN0JqSWhCLE1BQU0sRTZCaUlQLENBQUMsQUFBQSxnQkFBZ0IsQTdCaEloQixNQUFNLENBQUM7RTZCaUlpQixnQkFBZ0IsRW5DVi9CLE9BQW1DLENtQ1VzRCxVQUFVLEc3Qi9INUc7O0E2QjZIRCxB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 */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9jc3MvdGhlbWUtY29ycG9yYXRlLmNzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsInZlbmRvci9jc3MvdGhlbWUtY29ycG9yYXRlLnNjc3MiLCJ2ZW5kb3IvbGlicy9zZWxlY3QyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL2Jvb3RzdHJhcC10YWdzaW5wdXQvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvYm9vdHN0cmFwLXNlbGVjdC9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtZGF0ZXBpY2tlci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtZGF0ZXJhbmdlcGlja2VyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3F1aWxsL19taXhpbnMuc2NzcyIsInZlbmRvci9jc3MvX3RoZW1lL19jb21tb24uc2NzcyIsInZlbmRvci9saWJzL3R5cGVhaGVhZC1qcy9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9kcm9wem9uZS9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9zd2lwZXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvc3BpbmtpdC9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9zbWFydHdpemFyZC9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9wbHlyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL2Z1bGxjYWxlbmRhci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvY3NzL190aGVtZS9fdWlraXQuc2NzcyIsInZlbmRvci9jc3MvX2FwcHdvcmsvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2Nzcy9fYXBwd29yay9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtbWF0ZXJpYWwtZGF0ZXRpbWVwaWNrZXIvX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBO0VDd0lFLG9CQ2hJQyxFRk5GOztBQUxDO0VHR0MsMEJBQUEsRUFFRzs7QUZzSVM7RUFBQSwwQkFBdUMsRUFFM0I7O0FERnpCO0VDNmlCOEYscUNBQW9DLEVBQUE7O0FBN2lCckg7RUczSUMscUNIeXJCOEcsRUE1aUJuRzs7QURGekI7RUM2aUI4RixxQ0FBb0MsRUFBQTs7QUE3aUJySDtFRzNJQyxxQ0h5ckI4RyxFQTVpQm5HOztBREZ6QjtFQzZpQjhGLHFDQUFvQyxFQUFBOztBQTdpQnJIO0VHM0lDLHFDSHlyQjhHLEVBNWlCbkc7O0FFMUl4QjtFRFNPLGlDQUFBLEVBQUE7O0FGMllSO0VLdllBLDBCTGhCcUI7RUtnQnJCLFlIVEMsRUdpQkc7O0FKbUhTO0VJeklYLDBCSmdyQkM7RURuUkMsWUV4Wkg7RUlYRCxzQkFBMkIsRUxpSkY7O0FNNUl2QjtFQUNBLHFDQUNEO0VQbWFDLHVCQUE4QyxFUXBhaEQ7O0FBU0k7RVJpYUYsOEJBQTZCO0VRMWEvQiw0Q0FBQTtVQUFBLG9DQUFBO0VBZUksZVJqQmlCLEVRa0JqQjs7QVB5SFM7RU9sSFAsZVJ6QmU7RVEwQmYsc0JBQU8sRVBtSFk7O0FRekl2QjtFVHFiQSx5Q0FBd0M7RVNsYjFDLHVEQUE2QztVQUE3QywrQ0FBNkM7RUFDM0MsMEJBQWlDLEVBQ2pDOztBVFNGOzs7O0VBK2dCSSxpQ0FBb0M7RVVsZXhDLHFDQTZCeUI7RUE3QnpCLHVCQThCeUIsRUM1RnpCOztBRCtEQTtFQUFBLDBCVmhFcUI7RVVnRXJCLFlSekRDLEVReUREOztBRWhFQTtFQUNBLGtDQUFXO0VBQ1QsMEJYZ3JCQztFVy9xQkQsZVgrcUJDLEVEOUdGOztBYXZrQkM7O0VDREYsZWJzckJHLEVjOXFCSDtFZHVJYTs7O0lEZ2NULDBCQ3VHRDtJY3RyQkgsZWRzckJHLEVBcmlCc0I7RVloSnZCOztJRUdGLHNCZkFxQjtJZUNyQiwwQmZEcUI7SWVFckIsZWRnckJHLEVjL3FCSDs7QWZlQTtFZ0JuQkUsc0JoQkNtQjtFQTZsQmpCLDBCQTdsQmlCO0VpQkpmLFlmV0wsRVNORDs7QU1jRTtFakIrbEJBLHNCQ29FQztFZ0JocUJILDBCaEJncUJHO0VnQi9wQkgsZWhCK3BCRyxFZ0JwcEJIO0VBZkU7SWpCb21CRSwwQkMrREQsRWdCMXBCSDtFQVRFO0lqQndtQkUsZUMyREQsRWdCcnBCSDs7QWpCa21CQTtFa0JubkJBLDBCbEJacUI7RWtCYXJCLFloQk5DLEVGb29CQTtFQVpEO0ltQm5vQkEsMkNqQldDLEVpQlZDO0VuQmtvQkY7O0lDeXFCRSxZQ2p5Q0QsRUQreENEOztBRHBwQkE7RUNvcEJBLG9CRHR5Q3FCO0VDc3lDckIsWUMveENDLEVEK3hDRDs7QURwcEJBO0VDa3JCSywwQkRwMENnQixFQ28wQ2hCOztBRGxyQkw7RUNxckJrQiw0QkR2MENHLEVDdTBDSDs7QURyckJsQjtFb0IvZ0I2Qyw2QnBCbkl4QixFb0JtSXdCOztBcEIrZ0I3QztFQ3dyQkcsMkJEMTBDa0IsRUMwMENsQjs7QURycUJIO0VBQ0UsMEJBQXlCO0VJdnBCN0Isb0JKZnVCLEVBMHJCcEI7RUFyQkQ7SUMwc0JBLHVDQ3gyQ0M7SUR5MkNDLHdCQUF1QztJQUN2QyxZQzEyQ0QsRUR3MkNEO0VEMXNCQTtJQ2l0Qkksd0JBU0Q7SUNwM0NILFlBSkMsRUR3MkNEO0VEMXNCQTtJQzBzQmlCLHFDQ3AyQ1YsRUFBQTtFRjBwQlA7SUV2cEJDLDBCRmRvQixFRWNwQjtFRnVwQkQ7SUN1dEJZLDRCRDUzQ1MsRUM0M0NUO0VEdnRCWjtJQ3V0QlksNkJENTNDUyxFQzQzQ1Q7RUR2dEJaO0lDdXRCYSwyQkQ1M0NRLEVDNDNDUjs7QUQzR2I7OztFQUdFLG1DQUE4QjtFQUM5QiwwQkNubUJDO0VEb21CRCxlQ3BtQkMsRURxbUJGOztBQUVEOzs7RUFHRSwwQkMxbUJDLEVEMm1CRjs7QUE3bkNEO0VDUUksMEJBbUt1QjtFQWxLdkIsb0JEektpQjtFQ2dLckIsWUN6SkMsRUR3TUQ7RUFuRUM7SUF3Q0csMEJBdUp1QjtJQXRKdkIsb0JBNmZEO0lBNWZDLFlDL0tILEVEcUlBO0VEb0JEO0lBY0kscURBOUtpQjtZQThLakIsNkNBOUtpQixFQytMckI7RUQvQkE7SUNtQ0UscUNtQmhFMkM7SW5CcUV6QywrQkFFSDtJRHJCRyxvQ0FBMkI7WUFBM0IsNEJBQTJCO0lDd0IvQix1QkFBdUIsRUFDdkI7O0FBR0U7RUR0QkEsaUJFcExEO0VEaVNELGVEeFNxQixFQ3lTbkI7O0FBRUE7OztFQUlFLDBCQTRCdUI7RUEzQnZCLG9CQWtZRDtFQXhYQyx5Qm9CN0w0QjtVcEI2TDVCLGlCb0I3TDRCLEVyQjZFL0I7O0FBR0Q7OztFQzBIRSxnQ0EyV0M7RURqZUQsK0JDaWVDLEVBeFdIOztBRGxDQTtFQUNFLHNCQXpTbUI7RUNzeUNyQix3QkFZRTtFQVpGLGVEdHlDcUIsRUFtVXBCO0VDdkxBO0lBdXJDSywwQkF4L0JxQjtJQTI5QjNCLG9CRHR5Q3FCO0lDdzBDakIsWUNqMENILEVEcUlBO0lENEpEO01DcWlDSSxpQkN0MENIO01EK3hDRCxlRHR5Q3FCLEVDaTFDakI7RUR6aUNKO0lDOC9CQSxxRER0eUNxQjtZQ3N5Q3JCLDZDRHR5Q3FCLEVDNjFDakI7RURyakNKO0lDeWtDRSxpQ0FrRkQ7SUFwRkQsbUNBSWU7SUFKZiwwQkFLRSxFQUxGOztBRDFpQ0E7RUMwaUNBLG9CRC8yQ3FCO0VDKzJDckIsWUFBUSxFRHZpQ1A7O0FBRUQ7OztFQUdFLDBCQ0Z5QjtFQW9pQzNCLG9CQTdyQkc7RUE2ckJILFlDeDJDQztFRGs0Q0cseUJBQ0Q7VUFEQyxpQkFDRCxFRC9pQ0Y7RUFqQkQ7OztJQ3VrQ0ksaUJDMTRDSDtJRHcyQ0QsZUQvMkNxQixFQysyQ3JCOztBUTcxQ0U7O0VhbEJGLDBCdEJBcUI7RXNCQ3JCLFlwQk1DLEVvQkxDOztBdEJ1Y0Y7O0VzQm5jaUIsMEJ0Qk5JO0VBNGNuQixZRXJjRCxFb0JDRDs7QXRCVUE7RVU2Q0EsMEJWL0RxQjtFVStEckIsWVJ4REMsRVNORDs7QVhpQkE7Ozs7RVU4Q0EsMkNBR2tCO1VBSGxCLG1DQUdrQixFQ2xFbEI7O0FYMHRCQTs7RUNpdkJBLHNCRDU4Q3FCLEVDaTlDakI7O0FEdHZCSjtFQ2l2QkEscURENThDcUI7VUM0OENyQiw2Q0Q1OENxQixFQ3c5Q2Y7O0FEN3ZCTjs7O0VDaXZCQSxzQkQ1OENxQjtFQ28rQ2pCLDBCRHArQ2lCLEVDNDhDckI7O0FEanZCQTtFQTJCSSx3S0FBaUgsRUFDbEg7O0FBNUJIO0VBK0JJLDBSQUE2RyxFQUM5Rzs7QUFoQ0g7RUFtQ0kscUtBQTBHLEVBQzNHOztBQXVRSDtFQUNFLHNCQXZnQ21CO0VBd2dDbkIsb0NBQTJCO1VBQTNCLDRCQUEyQixFQUs1QjtFQVBEO0lBS0ksc0JBQXFCLEVBQ3RCOztBQXVDSDs7RUFFRSxzQkFyakNtQixFQXNqQ3BCOztBQTBIRDtFQUNFLG9CQWpyQ21CO0VBa3JDbkIsWUUzcUNELEVGNHFDQTs7QUFFRDtFQUNFLHFEQXRyQ21CO1VBc3JDbkIsNkNBdHJDbUIsRUF1ckNwQjs7QUFFRDtFQUNFLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUFDNUI7O0FBMkdEO0VBQ0UscUNBQWlEO0VBQ2pELGVDdG5CQyxFRDZxQkY7RUF6REQ7SUFLSSxZRXB5Q0gsRUZ5eUNFO0lDcnFDVTtNRG1xQ1AsWUV2eUNMLEVEc0l3QjtFRHlwQ3pCO0lBY00sZUNsb0JILEVEMm9CRTtJQ2xyQ1E7TUQ0cUNMLFlFaHpDUCxFRHNJd0I7SUR5cEN6QjtNQXFCUSwwQkFBa0QsRUFDbkQ7RUF0QlA7Ozs7SUE2Qk0sWUU1ekNMLEVGNnpDSTtFQTlCTDtJQWtDSSxlQ3RwQkQ7SUR1cEJDLHdDRWwwQ0gsRUZtMENFO0VBcENIO0lBdUNJLDRRQ25CYSxFRG9CZDtFQXhDSDtJQTJDSSxlQy9wQkQsRUR3cUJBO0lBcERIO01BOENNLFlFNzBDTCxFRmsxQ0k7TUM5c0NRO1FENHNDTCxZRWgxQ1AsRURzSXdCO0VEeXBDekI7SUF1REksd0NFdDFDSCxFRnUxQ0U7O0FBaUJIO0VBQ0UscUNBQWlEO0VBQ2pELGVDL3JCQyxFRGl4QkY7RUFwRkQ7OztJQU9JLGVDcHNCRCxFRDZzQkE7SUNwdkNVOzs7OztNRDh1Q1AsWUVsM0NMLEVEc0l3QjtJRGt1Q3pCOzs7TUFjTSxZRXQzQ0wsRUZ1M0NJO0VBZkw7OztJQXFCSSwwQkFBa0QsRUFDbkQ7RUF0Qkg7O0lBMEJJLFlFbDRDSCxFRm00Q0U7RUEzQkg7SUE4QkksMEJDM3RCRCxFRDR0QkE7RUEvQkg7SUFrQ0ksMEJDL3RCRCxFRGd1QkE7RUFuQ0g7O0lBdUNJLG9CQ3B1QkQsRURxdUJBO0VBeENIOztJQTRDSSx3QkFBdUI7SUFDdkIsZUMxdUJELEVEMnVCQTtFQTlDSDtJQWlESSxZRXo1Q0gsRUYwNUNFO0VBbERIO0lBcURJLGVDbHZCRCxFRG12QkE7RUF0REg7OztJQTJESSxtREFBaUQsRUFDbEQ7RUE1REg7O0lBZ0VJLDRDRXg2Q0gsRUZ5NkNFO0VBakVIO0lBb0VJLDBCQ2p3QkQsRURrd0JBO0VBckVIO0lBd0VJLHVCRWg3Q0gsRUZpN0NFO0VBekVIOztJQTZFSSxzQ0Mxd0JEO1lEMHdCQyw4QkMxd0JELEVEMndCQTtFQTlFSDs7SUFrRkksbURBQW1KLEVBQ3BKOztBQVVIO0VBQ0UscUNBQWlEO0VBQ2pELGVDNXhCQyxFRHd6QkY7RUE5QkQ7SUFLSSxlQy94QkQsRUR3eUJBO0lDLzBDVTtNRHkwQ1AsWUU3OENMLEVEc0l3QjtJRCt6Q3pCO01BWU0sMEJBQWtELEVBQ25EO0VBYkw7SUFpQkksWUV0OUNILEVGdTlDRTtFQWxCSDs7OztJQXdCSSxZRTc5Q0gsRUY4OUNFO0VBekJIO0lBNEJJLHdDRWorQ0gsRUZrK0NFOztBV3grQ2tFO0VQRHZELGNKQU8sRVdDd0Y7O0FQRzdHOzs7RURIRSxvQkhEbUIsRUFBcEI7O0FDMklEO0VHM0ljLCtCSDJJc0MsRUFBQTs7QUFBcEQ7RUR6SEkscUNBQXdDO0VDMEgzQyx1QkFBQSxFQUN3Qjs7QUFGekI7O0VEbkhJLGlDQUFvQyxFQytYeEM7O0FEdlpBO0VHR0Msb0JISG9CO0VHS2pCLFlERUgsRUZKQTs7QUlDRDtFSlBFLGlDQUErQixFR0dqQzs7QUhBQTtFR0dDLCtCRFNBO0VDUEcsdUJBQXFDLEVIRnhDOztBR0VHOzs7RUZzSUosK0JBQVc7RUFBRSx1QkFBeUIsRUQvSG5DOztBR1BDO0VGc0lTLCtCQUFtQztFRHpINUMsMEJBQThCLEVBVS9CO0VHdkJDO0lIZ0JFLCtCQUE0QyxFV3BCOUM7RVJJQTtJRmtaSixnREFBVztJQUNULHlDR3habUIsRUh5WmQ7O0FFcFpIO0VIRkYscUNBQXdDO0VDd0kxQyx1QkFBVyxFQUFFOztBQUNaO0VBQ3dCLHFDQy9IeEI7RUZMQywwQkFBbUMsRUNrSXJDOztBRC9IQTtFQ2dJQyxpQ0FBQSxFQUN3Qjs7QUFGekI7RUFBYSxxQ0FBdUM7RUR6SGxELHVCQUF3QixFQzBIekI7O0FENUlEOztFR0tJLG9CSExpQjtFQUduQixZRUlELEVEb0lEOztBRHJJQTtFQUFpQixZRUNoQixFRkRpQzs7QUN1SVQ7RURwSXZCLG9CQ3lxQkM7RUF2aUJILFlDcElDLEVEb0lZOztBQUNaO0VBQ3dCLG9CRDdJSjtFQWVuQix1QkFBd0IsRUM0SDFCOztBRHpIQTtFQzBIQywrQkFBQTtFQUN3Qix1QkFBMEUsRUR4SGxHOztBV3BCb0U7RVh1QnpELGVBeEJTLEVBd0JhOztBV3ZCbUM7RVZzWjFELGVEdlpVLEVDdVpWOztBRDNYWDtFQUFxQywyQkFBOEIsRUFBSTs7QUVqQnZFO0VEaVpBLHlCQ2haUSxFQUFBOztBRGtaSjtFbUIzUnlDLHNCQUFBLEVBQUE7O0FwQm5JN0M7O0VHS0ksK0JEU0g7RUZYQyx1QkFBd0IsRUN3STFCOztBRDNJQTtFR0dDLCtCRFNBO0VDUEcsdUJBQXFDLEVIRnhDOztBSUNEO0VKUEUsaUNBQWdDLEVHR2xDOztBSCtEQTs7Ozs7Ozs7Ozs7Ozs7RUN1Z0JDLDBCQzNqQkEsRUQ0akJEOztBRHhnQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUMraUJFLHlCbUIzZTJDLEVuQjRlM0M7O0FEaGpCRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQ21sQkEsMkJBQ2dCLEVBQ1o7O0FEcHBCSjs7RUdLSSwrQkRTSDtFRlhDLHVCQUF3QixFQ3dJMUI7O0FHdklBO0VKUEUsaUNBQWdDLEVHR2xDOztBQ0lBOztFREpBLCtCQUFXLEVBQ1Q7O0FDR0Y7Ozs7Ozs7Ozs7O0VId0lDLDBCRDVJb0IsRUM2SUk7O0FHekl6Qjs7RURKQSxlSEFxQjtFR0NuQixzQkhEbUIsRUFBcEI7O0FJSUQ7RUpQRSwrQkFBa0MsRUdHcEM7O0FIQUE7RUdLSSwrQkRTSCxFRlhFOztBQUhIO0VDMklhLCtCQUFtQyxFRHJJN0M7O0FBTkg7RUM2SXlCLCtCQUFvRixFRHBJMUc7O0FBR0g7O0VDaUl5QiwrQkFBb0Y7RUQ5SDNHLGtCQUF3QixFQzRIMUI7O0FEekhBOztFQzJIeUIsK0JBQW9GO0VEeEgzRyxrQkFBd0IsRVdwQjFCOztBWHVCQTtFQytYQSwrQkFBVztFQUNULGtCR3habUIsRUh5Wm5COztBQzlZRjs7RURvWkksMEJtQmhRVSxFbkJpUVY7O0FBcFJIOztFRG5JQywrQ0FBb0QsRUNrSXREOztBRC9IQTs7RUNpSXlCLCtCQUEwRSxFRDlIbEc7O0FJWEQ7RUpQRSxpRUFBNEQ7VUFBNUQseURBQTRELEVHRzlEOztBSHN5Q0E7RUFDRSxrQ0FBaUQ7RUFDakQsZUN0bkJDLEVENnFCRjtFQXpERDtJQUtJLGVDNTNCSCxFRGk0QkU7SUNycUNVO01EbXFDUCxlQy8zQkwsRUFsU3dCO0VEeXBDekI7SUFjTSxlQ2xvQkgsRUQyb0JFO0lDbHJDUTtNRDRxQ0wsZUN4NEJQLEVBbFN3QjtJRHlwQ3pCO01BcUJRLDBCQUFrRCxFQUNuRDtFQXRCUDs7OztJQTZCTSxlQ3A1QkwsRURxNUJJO0VBOUJMO0lBa0NJLGVDdHBCRDtJRHVwQkMsc0NDMTVCSCxFRDI1QkU7RUFwQ0g7SUF1Q0kseVFDTmMsRURPZjtFQXhDSDtJQTJDSSxlQy9wQkQsRUR3cUJBO0lBcERIO01BOENNLGVDcjZCTCxFRDA2Qkk7TUM5c0NRO1FENHNDTCxlQ3g2QlAsRUFsU3dCO0VEeXBDekI7SUF1REksc0NDOTZCSCxFRCs2QkU7O0FBLzBDTDtFQzRIRSxtREV0SStCO1VGc0kvQiwyQ0V0SStCLEVIWWhDOztBQTgxQ0M7RUFDRSxxQ0FBaUQ7RUFDakQsZUE1MUMwRSxFQTg2QzNFO0VBcEZEOzs7SUFPSSxlQWoyQ3dFLEVBMDJDekU7SUNwdkNVOzs7OztNRDh1Q1AsWUVsM0NMLEVEc0l3QjtJRGt1Q3pCOzs7TUFjTSxZRXQzQ0wsRUZ1M0NJO0VBZkw7OztJQXFCSSwwQkFBa0QsRUFDbkQ7RUF0Qkg7O0lBMEJJLFlFbDRDSCxFRm00Q0U7RUEzQkg7SUE4QkksMEJDM3RCRCxFRDR0QkE7RUEvQkg7SUFrQ0ksMEJDL3RCRCxFRGd1QkE7RUFuQ0g7O0lBdUNJLG9CQ3B1QkQsRURxdUJBO0VBeENIOztJQTRDSSx3QkFBdUI7SUFDdkIsZUF2NEN3RSxFQXc0Q3pFO0VBOUNIO0lBaURJLFlFejVDSCxFRjA1Q0U7RUFsREg7SUFxREksZUNsdkJELEVEbXZCQTtFQXRESDs7O0lBMkRJLG1EQUFpRCxFQUNsRDtFQTVESDs7SUFnRUksNENFeDZDSCxFRnk2Q0U7RUFqRUg7SUFvRUksMEJDandCRCxFRGt3QkE7RUFyRUg7SUF3RUksdUJFaDdDSCxFRmk3Q0U7RUF6RUg7O0lBNkVJLHNDQzF3QkQ7WUQwd0JDLDhCQzF3QkQsRUQyd0JBO0VBOUVIOztJQWtGSSxxREFBbUosRUFDcEo7O0FBVUg7RUFDRSxrQ0FBaUQ7RUFDakQsZUM1eEJDLEVEd3pCRjtFQTlCRDtJQUtJLGVDL3hCRCxFRHd5QkE7SUMvMENVO01EeTBDUCxlQ3JpQ0wsRUFsU3dCO0lEK3pDekI7TUFZTSwwQkFBa0QsRUFDbkQ7RUFiTDtJQWlCSSxlQzlpQ0gsRUQraUNFO0VBbEJIOzs7O0lBd0JJLGVDcmpDSCxFRHNqQ0U7RUF6Qkg7SUE0Qkksc0NDempDSCxFRDBqQ0U7O0FBbnZCTCwwaWxSQUEwaWxSIiwiZmlsZSI6InZlbmRvci9jc3MvdGhlbWUtY29ycG9yYXRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuL19hcHB3b3JrL2luY2x1ZGVcIjtcclxuQGltcG9ydCBcIi4vX3RoZW1lL2NvbW1vblwiO1xyXG5AaW1wb3J0IFwiLi9fdGhlbWUvbGlic1wiO1xyXG5AaW1wb3J0IFwiLi9fdGhlbWUvdWlraXRcIjtcclxuXHJcbiRwcmltYXJ5LWNvbG9yOiAjRUIyMjI3O1xyXG4kYm9keS1iZzogI2Y4ZjhmODtcclxuXHJcbmJvZHkge1xyXG4gIGJhY2tncm91bmQ6ICRib2R5LWJnO1xyXG59XHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLWNvbW1vbi10aGVtZSgkcHJpbWFyeS1jb2xvcik7XHJcbkBpbmNsdWRlIGFwcHdvcmstbGlicy10aGVtZSgkcHJpbWFyeS1jb2xvcik7XHJcbkBpbmNsdWRlIGFwcHdvcmstdWlraXQtdGhlbWUoJHByaW1hcnktY29sb3IpO1xyXG5cclxuLy8gTmF2YmFyXHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLW5hdmJhci12YXJpYW50KCcuYmctbmF2YmFyLXRoZW1lJywgI0ZGRiwgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG5cclxuLmxheW91dC1uYXZiYXIge1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgkYmxhY2ssIDAuMDQpO1xyXG59XHJcblxyXG4vLyBTaWRlbmF2XHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgnLmJnLXNpZGVuYXYtdGhlbWUnLCAjM0QzRDNELCAkY29sb3I6ICM4Mzg3OTApO1xyXG5cclxuLy8gRm9vdGVyXHJcblxyXG5AaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuYmctZm9vdGVyLXRoZW1lJywgI2ZmZiwgJGNvbG9yOiAkdGV4dC1tdXRlZCwgJGFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IpO1xyXG4iLCIvLyBNaXhpbnNcclxuLy9cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBSVEwvTFRSXHJcblxyXG5AbWl4aW4gbHRyLW9ubHkoKSB7XHJcbiAgQGlmICRydGwtc3VwcG9ydCB7XHJcbiAgICBodG1sOm5vdChbZGlyPXJ0bF0pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtb25seSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIFtkaXI9cnRsXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGx0ci1zdHlsZSgpIHtcclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIGh0bWw6bm90KFtkaXI9cnRsXSkgJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLXN0eWxlKCkge1xyXG4gIEBpZiAkcnRsLXN1cHBvcnQge1xyXG4gICAgW2Rpcj1ydGxdICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBLZXlmcmFtZXNcclxuXHJcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcclxuICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDYXJldHNcclxuXHJcbkBtaXhpbiBjYXJldC1kb3duIHtcclxuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAxLjUpO1xyXG4gIHdpZHRoOiAkY2FyZXQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkY2FyZXQtd2lkdGg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBib3JkZXItbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC11cCB7XHJcbiAgbWFyZ2luLXRvcDogLTA7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC1yaWdodCB7XHJcbiAgbWFyZ2luLXRvcDogLTEgKiAoJGNhcmV0LXdpZHRoIC8gMik7XHJcbiAgd2lkdGg6ICRjYXJldC13aWR0aDtcclxuICBoZWlnaHQ6ICRjYXJldC13aWR0aDtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxuICBib3JkZXItdG9wOiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC1sZWZ0IHtcclxuICBtYXJnaW4tdG9wOiAtMSAqICgkY2FyZXQtd2lkdGggLyAyKTtcclxuICB3aWR0aDogJGNhcmV0LXdpZHRoO1xyXG4gIGhlaWdodDogJGNhcmV0LXdpZHRoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFJlc3BvbnNpemUgbG9vcHNcclxuXHJcbkBtaXhpbiByZXNwb25zaXZlLWxvb3AtYmVmb3JlKCRwYXJlbnQsICRzdGFydC1icmVha3BvaW50OiBzbSkge1xyXG4gICRjdXItYnJlYWtwb2ludDogJHN0YXJ0LWJyZWFrcG9pbnQ7XHJcblxyXG4gIEB3aGlsZSAkY3VyLWJyZWFrcG9pbnQge1xyXG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRjdXItYnJlYWtwb2ludCk7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IChicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpIC0gMSkpIHtcclxuICAgICAgI3skcGFyZW50fSN7JGluZml4fSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkY3VyLWJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQtbmV4dCgkY3VyLWJyZWFrcG9pbnQpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJlc3BvbnNpdmUtbG9vcC1hZnRlcigkcGFyZW50LCAkc3RhcnQtYnJlYWtwb2ludDogc20pIHtcclxuICAkY3VyLWJyZWFrcG9pbnQ6ICRzdGFydC1icmVha3BvaW50O1xyXG5cclxuICBAd2hpbGUgJGN1ci1icmVha3BvaW50IHtcclxuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkY3VyLWJyZWFrcG9pbnQpO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBicmVha3BvaW50LW1pbigkY3VyLWJyZWFrcG9pbnQpKSB7XHJcbiAgICAgICN7JHBhcmVudH0jeyRpbmZpeH0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGN1ci1icmVha3BvaW50OiBicmVha3BvaW50LW5leHQoJGN1ci1icmVha3BvaW50KTtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb2xvcnNcclxuXHJcbi8vIENvbnRyYXN0XHJcbkBtaXhpbiBjb2xvci15aXEoJGNvbG9yKSB7XHJcbiAgY29sb3I6IHlpcSgkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcclxuICAjeyRwYXJlbnR9IHsgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7IH1cclxuICBhI3skcGFyZW50fSB7XHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuOTUpLCAkYmFja2dyb3VuZDogJHJ0aC1jb2xvcikgIWltcG9ydGFudDsgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkcnRoLWNvbG9yOiAjMDAwKSB7XHJcbiAgQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIjeyRwYXJlbnR9LWRhcmtcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC45KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpKTtcclxuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KFwiI3skcGFyZW50fS1kYXJrZXJcIiwgcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC44NSksICRiYWNrZ3JvdW5kOiAkcnRoLWNvbG9yKSk7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCdXR0b25zXHJcblxyXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQ6IG51bGwsICRib3JkZXI6IG51bGwsICRhY3RpdmUtYmFja2dyb3VuZDogbnVsbCwgJGFjdGl2ZS1ib3JkZXI6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kLCBpZigkYm9yZGVyLCAkYm9yZGVyLCAkYmFja2dyb3VuZCkpO1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XHJcbiAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnRuLWNvbG9ycywgYmctaG92ZXIpO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmLmZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGNvbG9yOiByZ2JhLXRvLWhleCgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnRuLWNvbG9ycywgYm9yZGVyKTtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcblxyXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEJ1dHRvbiBncm91cHNcclxuICAuYnRuLWdyb3VwICN7JHBhcmVudH0sXHJcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQgI3skcGFyZW50fSxcclxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG4gICAgYm9yZGVyLWxlZnQ6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWFjdGl2ZSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkbWQtY29sb3I6ICRiYWNrZ3JvdW5kKSB7XHJcbiAgJGJ0bi1jb2xvcnM6IGdldC1tYXRlcmlhbC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kKTtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdztcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICBjb2xvcjogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAud2F2ZXMtcmlwcGxlIHtcclxuICAgIGJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAjZmZmLCByZ2JhKCRjb2xvciwgLjMpLCByZ2JhKCRjb2xvciwgLjIpKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1hY3RpdmUpO1xyXG4gICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdztcclxuICB9XHJcblxyXG4gIC8vIEZsYXQgYnV0dG9uc1xyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRtZC1jb2xvciAhaW1wb3J0YW50O1xyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmLmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkbWQtY29sb3IsIC4xKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC53YXZlcy1yaXBwbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtZC1jb2xvciwgLjMpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0ubWQtYnRuLWZsYXQuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJG1kLWNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBEaXNhYmxlZFxyXG5cclxuICAjeyRwYXJlbnR9LmRpc2FibGVkLFxyXG4gICN7JHBhcmVudH06ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6ICRtYXRlcmlhbC1jb21wb25lbnQtc2hhZG93ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9Lm1kLWJ0bi1mbGF0LmRpc2FibGVkLFxyXG4gICN7JHBhcmVudH0ubWQtYnRuLWZsYXQ6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogT3V0bGluZSBidXR0b25zXHJcblxyXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3I6IG51bGwsICRjb2xvci1ob3ZlcjogbnVsbCwgJGhvdmVyLWNvbG9yOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRob3Zlci1jb2xvcjogbnVsbCkge1xyXG4gICRidG4tY29sb3JzOiBnZXQtYnRuLWNvbG9ycygkY29sb3IsICRjb2xvcik7XHJcbiAgJGNvbG9yLWhvdmVyOiBpZigkaG92ZXItY29sb3IsICRob3Zlci1jb2xvciwgeWlxKCRjb2xvcikpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBib3JkZXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcblxyXG4gICAgICAuYmFkZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcclxuICAgICAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKSA9PSAxLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmLmZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYnRuLWNvbG9ycywgc2hhZG93KTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fTphY3RpdmUsXHJcbiAgI3skcGFyZW50fS5hY3RpdmUsXHJcbiAgLnNob3cgPiAjeyRwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJvcmRlcik7XHJcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRidG4tY29sb3JzLCBiZy1ob3Zlcik7XHJcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG5cclxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJhZGdlIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICBjb2xvcjogaWYoYWxwaGEoJGNvbG9yKSA9PSAxLCAkY29sb3IsIHlpcSgkY29sb3ItaG92ZXIpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaG92ZXItY29sb3I6IG51bGwpIHtcclxuICAkYnRuLWNvbG9yczogZ2V0LW1hdGVyaWFsLWJ0bi1jb2xvcnMoJGNvbG9yKTtcclxuICAkY29sb3ItaG92ZXI6IGlmKCRob3Zlci1jb2xvciwgJGhvdmVyLWNvbG9yLCB5aXEoJGNvbG9yKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yIGluc2V0O1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG5cclxuICAgICAgLmJhZGdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XHJcbiAgICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skcGFyZW50fSAuYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9IC53YXZlcy1yaXBwbGUge1xyXG4gICAgYmFja2dyb3VuZDogaWYoJGNvbG9yLWhvdmVyID09ICNmZmYsIHJnYmEoJGNvbG9yLWhvdmVyLCAuMyksIHJnYmEoJGNvbG9yLWhvdmVyLCAuMikpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9OmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmFjdGl2ZSxcclxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJ0bi1jb2xvcnMsIGJnLWhvdmVyKTtcclxuICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3c7XHJcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG5cclxuICAgIC5iYWRnZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcclxuICAgICAgY29sb3I6IGlmKGFscGhhKCRjb2xvcikgPT0gMSwgJGNvbG9yLCB5aXEoJGNvbG9yLWhvdmVyKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQmFkZ2VzXHJcblxyXG5AbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1iYWRnZS12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmcpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH1baHJlZl0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpZihhbHBoYSgkYmcpID09IDEsIHJnYmEtdG8taGV4KHJnYmEoJGJnLCAuOTUpLCAjMDAwKSwgcmdiYSgkYmcsIGFscGhhKCRiZykgKyAuMDMpKTtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJnKSk7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4gI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmcgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiZykpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGJnLCAkY29sb3I6ICRiZykge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJnIGluc2V0O1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH1baHJlZl0ge1xyXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYmcgaW5zZXQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBEcm9wZG93bnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxyXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpOm5vdCguZGlzYWJsZWQpID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pOmFjdGl2ZSxcclxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstZHJvcGRvd24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICB9XHJcblxyXG4gICN7JHBhcmVudH0uZHJvcGRvd24tbWVudSA+IGxpLmFjdGl2ZTpub3QoLmRpc2FibGVkKSA+IGE6bm90KC5kcm9wZG93bi1pdGVtKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1kcm9wZG93bi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE5hdnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xyXG4gICA+IC5uYXYgLm5hdi1saW5rLFxyXG4gICYubmF2IC5uYXYtbGluayB7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbmF2LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRwaWxscy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtcGlsbHMnLCAnI3skcGFyZW50fS5uYXYtcGlsbHMsICN7JHBhcmVudH0gPiAubmF2LXBpbGxzJyk7XHJcblxyXG4gICN7JHBpbGxzLXNlbGVjdG9yfSAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRwYXJlbnR9LnRhYnMtYWx0Lm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXHJcbiAgI3skcGFyZW50fS50YWJzLWFsdCA+IC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDAgJGJhY2tncm91bmQgaW5zZXQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1uYXYtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXZhcmlhbnQoJycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1uYXYtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XHJcbiAgJHRhYnMtc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcubmF2LXRhYnMnLCAnI3skcGFyZW50fS5uYXYtdGFicycpO1xyXG4gICRwaWxscy1zZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJy5uYXYtcGlsbHMnLCAnI3skcGFyZW50fS5uYXYtcGlsbHMsICN7JHBhcmVudH0gPiAubmF2LXBpbGxzJyk7XHJcblxyXG4gICN7JHRhYnMtc2VsZWN0b3J9IC5uYXYtbGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLCAkY29sb3IpO1xyXG4gIH1cclxuXHJcbiAgI3skcGlsbHMtc2VsZWN0b3J9IC5uYXYtbGluay5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGNvbG9yOiBpZigkbGluay1jb2xvciwgJGxpbmstY29sb3IsIHlpcSgkY29sb3IpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLW5hdi10aGVtZSgkY29sb3IsICRsaW5rLWNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1uYXYtdmFyaWFudCgnJywgJGNvbG9yLCAkbGluay1jb2xvcik7XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQYWdpbmF0aW9uXHJcblxyXG5AbWl4aW4gYXBwd29yay1wYWdpbmF0aW9uLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayxcclxuICAjeyRwYXJlbnR9LnBhZ2luYXRpb24gbGkuYWN0aXZlID4gYTpub3QoLnBhZ2UtbGluaykge1xyXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXBhZ2luYXRpb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcGFnaW5hdGlvbi12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFByb2dyZXNzIGJhcnNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXByb2dyZXNzLWJhci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgLnByb2dyZXNzLWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTGlzdCBncm91cHNcclxuXHJcbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGU6IG51bGwsICRiYWNrZ3JvdW5kOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1saXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xyXG4gICRjb2xvcjogeWlxKCRiZyk7XHJcbiAgJGhvdmVyLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiZywgLjk5KSwgIzAwMCk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wNyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgYSN7JHBhcmVudH0sXHJcbiAgYnV0dG9uI3skcGFyZW50fSB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1saXN0LWdyb3VwLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCcubGlzdC1ncm91cC1pdGVtLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcblxyXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQWxlcnRzXHJcblxyXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZDogbnVsbCwgJGJvcmRlcjogbnVsbCwgJGNvbG9yOiBudWxsKSB7fVxyXG5cclxuQG1peGluIGFwcHdvcmstYWxlcnQtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xyXG4gICRiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpLCAjZmZmKTtcclxuICAkYm9yZGVyOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuOTQpLCAjMDAwKTtcclxuICAkY29sb3I6IHlpcSgkYmFja2dyb3VuZCk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuYWxlcnQtbGluayB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1hbGVydC1kYXJrLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlLFxyXG4gICAgLmFsZXJ0LWxpbmsge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFRvb2x0aXBzXHJcblxyXG5AbWl4aW4gYXBwd29yay10b29sdGlwLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgLnRvb2x0aXAtaW5uZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmJzLXRvb2x0aXAtdG9wIC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93OjpiZWZvcmUgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAmLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtdG9vbHRpcC1ib3R0b20gLmFycm93OjpiZWZvcmUsICYuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZSwgJi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFBvcG92ZXJzXHJcblxyXG5AbWl4aW4gYXBwd29yay1wb3BvdmVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAucG9wb3Zlci1oZWFkZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoeWlxKCRiYWNrZ3JvdW5kKSwuMik7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5wb3BvdmVyLWJvZHkge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAuYXJyb3c6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxyXG5cclxuICAgICYuYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlciwgJi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gICAgJi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5hcnJvdzo6YWZ0ZXIgeyBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAuYXJyb3c6OmFmdGVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhY2tncm91bmQ7IH1cclxuICAgICYuYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YWZ0ZXIsICYuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLmFycm93OjphZnRlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvcm0gY29udHJvbHNcclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1zZWxlY3Qtc2l6ZSgkc2l6ZSwgJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcbiAgLmN1c3RvbS1zZWxlY3QtI3skc2l6ZX0sXHJcbiAgLmlucHV0LWdyb3VwLSN7JHNpemV9IC5jdXN0b20tc2VsZWN0IHtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgKCRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJHBhZGRpbmcteSAkcGFkZGluZy14O1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJHBhZGRpbmcteCBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG5cclxuICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XHJcbiAgICAgICYsXHJcbiAgICAgICZbc2l6ZT1cIjBcIl06bm90KFttdWx0aXBsZV0pIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgJHBhZGRpbmcteCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW3NpemU9XCIwXCJdOm5vdChbbXVsdGlwbGVdKSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWN1c3RvbS1jb250cm9sLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGRlZmF1bHQtYmFja2dyb3VuZDogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIEBpZiAkZGVmYXVsdC1iYWNrZ3JvdW5kIHtcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCByZ2JhKCRiYWNrZ3JvdW5kLCAuNCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRjb2xvciksIFwiI1wiLCBcIiUyM1wiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tY29udHJvbC12YXJpYW50KCcuY3VzdG9tLWNvbnRyb2wnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkZGVmYXVsdC1iYWNrZ3JvdW5kOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgQGlmICRkZWZhdWx0LWJhY2tncm91bmQge1xyXG4gICAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAmLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmcsICdfQ09MT1JfJywgJGNvbG9yKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsICRiYWNrZ3JvdW5kKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdmFyaWFudCgnLmN1c3RvbS1jb250cm9sJywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlOiBudWxsLCAkY29sb3I6IG51bGwpIHt9XHJcblxyXG5AbWl4aW4gYXBwd29yay1mb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcclxuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWFyZ2luLXRvcDogLjFyZW07XHJcbiAgICBwYWRkaW5nOiAuNXJlbTtcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsLjgpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICB9XHJcblxyXG4gIC5mb3JtLWNvbnRyb2wsXHJcbiAgLmN1c3RvbS1zZWxlY3Qge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGNvbG9yLC4yNSkgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbC1maWxlOiN7JHN0YXRlfSxcclxuICAuZm9ybS1jb250cm9sLWZpbGUuaXMtI3skc3RhdGV9IHtcclxuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dCxcclxuICAuY3VzdG9tLWNvbnRyb2wuY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmcsICdfQ09MT1JfJywgeWlxKCRjb2xvcikpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsLjMpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcclxuICAgIHBhZGRpbmc6IC41cmVtO1xyXG4gICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogLjJyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwuOCk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIH1cclxuXHJcbiAgLmZvcm0tY29udHJvbCxcclxuICAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTojeyRzdGF0ZX0sXHJcbiAgLmZvcm0tY29udHJvbC1maWxlLmlzLSN7JHN0YXRlfSB7XHJcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQsXHJcbiAgLmN1c3RvbS1jb250cm9sLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJiB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxyXG4gICAgICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJiB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXHJcbiAgICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuaXMtI3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJnLCAnX0NPTE9SXycsIHlpcSgkY29sb3IpKSwgXCIjXCIsIFwiJTIzXCIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcclxuICAgICYuaXMtI3skc3RhdGV9OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZywgJ19DT0xPUl8nLCAkY29sb3IpLCBcIiNcIiwgXCIlMjNcIikpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OiN7JHN0YXRlfSxcclxuICAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtI3skc3RhdGV9IHtcclxuICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkY29sb3IpIHtcclxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkY29sb3IpIHtcclxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtc2l6ZSgkc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkcGFkZGluZy15LCAkZ3JvdXAtYnRuLWZvbnQtc2l6ZTogbnVsbCkge1xyXG4gIEBpZiAkc2l6ZSA9PSAnJyB7XHJcbiAgICAuZm9ybS1jb250cm9sLFxyXG4gICAgLmN1c3RvbS1zZWxlY3QsXHJcbiAgICAuY3VzdG9tLWZpbGUtbGFiZWwsXHJcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JHBhZGRpbmcteX0gLSAxcHgpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAuZm9ybS1jb250cm9sLSN7JHNpemV9LFxyXG4gICAgLmN1c3RvbS1zZWxlY3QtI3skc2l6ZX0sXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gPiAuZm9ybS1jb250cm9sLFxyXG4gICAgLmlucHV0LWdyb3VwLSN7JHNpemV9ID4gLmN1c3RvbS1zZWxlY3QsXHJcbiAgICAuaW5wdXQtZ3JvdXAtI3skc2l6ZX0gLmlucHV0LWdyb3VwLXRleHQge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRwYWRkaW5nLXl9IC0gMXB4KSAhaW1wb3J0YW50O1xyXG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcclxuICAgIC5pbnB1dC1ncm91cC0jeyRzaXplfSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skcGFkZGluZy15fSAtIDFweCkgIWltcG9ydGFudDtcclxuICAgICAgZm9udC1zaXplOiAkZ3JvdXAtYnRuLWZvbnQtc2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLWZvcm0tY29udHJvbC10aGVtZSgkY29sb3IpIHtcclxuICAuZm9ybS1jb250cm9sOmZvY3VzLFxyXG4gIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtZm9ybS1jb250cm9sLXRoZW1lKCRjb2xvcikge1xyXG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMsXHJcbiAgLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3dpdGNoZXJzXHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci1zaXplLWJhc2UoJHdpZHRoLCAkaGVpZ2h0LCAkZm9udC1zaXplLCAkZGVzY3JpcHRpb24tZm9udC1zaXplLCAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQsICRpbm5lci1zcGFjZXI6ICRzd2l0Y2hlci1pbm5lci1zcGFjZXIpIHtcclxuICBwYWRkaW5nLWxlZnQ6ICR3aWR0aDtcclxuICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG5cclxuICAkbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICRkZXNjcmlwdGlvbi1mb250LXNpemUgKiAkZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgJGRlbHRhOiBpZigkbWF0ZXJpYWwtc3R5bGUsIHB4LXRvLXJlbShjZWlsKHJlbS10by1weCgkaGVpZ2h0ICogLjEyNSkpKSwgMCk7XHJcblxyXG4gIC5zd2l0Y2hlci1ibGFuayAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIHRvcDogJGRlbHRhICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQgLSAoJGRlbHRhICogMik7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcclxuXHJcbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkID4gJGhlaWdodCB7XHJcbiAgICAgIHRvcDogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAkaGVpZ2h0KSAvIDIpICsgJGRlbHRhO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHRvcDogMCArICRkZWx0YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zd2l0Y2hlci1sYWJlbCB7XHJcbiAgICBAaWYgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDwgJGhlaWdodCB7XHJcbiAgICAgIHRvcDogKCRoZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMjtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmFmdGVyIHtcclxuICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICB0b3A6ICRkZWx0YSAqIC0xO1xyXG4gICAgbWFyZ2luOiAkaW5uZXItc3BhY2VyIDAgMCAkaW5uZXItc3BhY2VyO1xyXG4gICAgd2lkdGg6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMjtcclxuICAgIGhlaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXIgKiAyO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLW5vIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRpbm5lci1zcGFjZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRoZWlnaHQgLSAkaW5uZXItc3BhY2VyO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaGVyLXllcyB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcclxuICB9XHJcblxyXG4gIEBpZiAkbWF0ZXJpYWwtc3R5bGUge1xyXG4gICAgLnN3aXRjaGVyLWluZGljYXRvcjo6YmVmb3JlIHtcclxuICAgICAgdG9wOiAkZGVsdGEgKiAtMTtcclxuICAgICAgd2lkdGg6ICRoZWlnaHQ7XHJcbiAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3I6OmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcclxuICAgIFtkaXI9cnRsXSAmIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWluZGljYXRvcjo6YWZ0ZXIge1xyXG4gICAgICByaWdodDogJHdpZHRoIC0gJGhlaWdodDtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXItaW5kaWNhdG9yOjphZnRlciB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogJGlubmVyLXNwYWNlcjtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLW5vIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogJGlubmVyLXNwYWNlcjtcclxuICAgIH1cclxuXHJcbiAgICBbZGlyPXJ0bF0gJiAuc3dpdGNoZXIteWVzIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogJGlubmVyLXNwYWNlcjtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJG1hdGVyaWFsLXN0eWxlIHtcclxuICAgICAgW2Rpcj1ydGxdICYgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xyXG4gICAgICAgIHJpZ2h0OiAkd2lkdGggLSAkaGVpZ2h0O1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXNpemUoJHNpemUsICR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWZvbnQtc2l6ZSwgJGRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0LCAkaW5uZXItc3BhY2VyOiAkc3dpdGNoZXItaW5uZXItc3BhY2VyKSB7XHJcbiAgLnN3aXRjaGVyLSN7JHNpemV9LFxyXG4gIC5mb3JtLWdyb3VwLSN7JHNpemV9IC5zd2l0Y2hlciB7XHJcbiAgICBAaW5jbHVkZSBhcHB3b3JrLXN3aXRjaGVyLXNpemUtYmFzZSgkd2lkdGgsICRoZWlnaHQsICRmb250LXNpemUsICRkZXNjcmlwdGlvbi1mb250LXNpemUsICRkZXNjcmlwdGlvbi1saW5lLWhlaWdodCwgJGlubmVyLXNwYWNlcik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkc2VsZWN0b3I6IGlmKCRwYXJlbnQgPT0gJycsICcnLCAnI3skcGFyZW50fS5zd2l0Y2hlcicpO1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEoJGJhY2tncm91bmQsIC40KTtcclxuICB9XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6YWN0aXZlIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1zd2l0Y2hlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1zd2l0Y2hlci12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xyXG4gICRzZWxlY3RvcjogaWYoJHBhcmVudCA9PSAnJywgJycsICcjeyRwYXJlbnR9LnN3aXRjaGVyJyk7XHJcblxyXG4gICN7JHNlbGVjdG9yfSAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjUpO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgLjE1KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLW1hdGVyaWFsLXN3aXRjaGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1zd2l0Y2hlci12YXJpYW50KCcnLCAkYmFja2dyb3VuZCk7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXN3aXRjaGVyLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcclxuICAuc3dpdGNoZXItaW5wdXQge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiB5aXEoJGNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzIH4gLnN3aXRjaGVyLWluZGljYXRvciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkY29sb3IsIC40KSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFjdGl2ZSB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgfiAuc3dpdGNoZXItbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC5zd2l0Y2hlci1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgfiAuc3dpdGNoZXItaW5kaWNhdG9yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjUpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1pbmRpY2F0b3Ige1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuMTUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB+IC5zd2l0Y2hlci1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogVGFibGVzXHJcblxyXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge31cclxuXHJcbkBtaXhpbiBhcHB3b3JrLXRhYmxlLXJvdy12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XHJcbiAgJGJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMSksICNmZmYpO1xyXG4gICRjb2xvcjogeWlxKCRiZyk7XHJcbiAgJGhvdmVyLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiZywgLjk5KSwgIzAwMCk7XHJcblxyXG4gIC50YWJsZSAjeyRwYXJlbnR9LFxyXG4gIC50YWJsZSAjeyRwYXJlbnR9ID4gdGgsXHJcbiAgLnRhYmxlICN7JHBhcmVudH0gPiB0ZCB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjAzNSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIsXHJcbiAgLnRhYmxlLWhvdmVyICN7JHBhcmVudH06aG92ZXIgPiB0ZCxcclxuICAudGFibGUtaG92ZXIgI3skcGFyZW50fTpob3ZlciA+IHRoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iZztcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBOYXZiYXJcclxuXHJcbkBtaXhpbiBhcHB3b3JrLW5hdmJhci12YXJpYW50KCRwYXJlbnQsICRiZywgJGNvbG9yOiBudWxsLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XHJcbiAgJGNvbG9yczogZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xyXG5cclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2IHtcclxuICAgICAgLm5hdi1saW5rIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnNob3cgPiAubmF2LWxpbmssXHJcbiAgICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXHJcbiAgICAgIC5uYXYtbGluay5zaG93LFxyXG4gICAgICAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10b2dnbGVyIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSA9PSAjZmZmLCAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnLCAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci10ZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFNpZGVuYXZcclxuXHJcbkBtaXhpbiBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCwgJG1lbnUtYmc6IG51bGwpIHtcclxuICAkY29sb3JzOiBnZXQtbmF2LWNvbG9ycygkYmcsICRhY3RpdmUtY29sb3IsICRjb2xvciwgJGJvcmRlcik7XHJcbiAgJHlpcS1wZXJjZW50OiBtYXAtZ2V0KCRjb2xvcnMsIHlpcS1wZXJjZW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbWVudS1iZyB7XHJcbiAgICAkbWVudS1iZzogcmdiYS10by1oZXgocmdiYShtYXAtZ2V0KCRjb2xvcnMsIGJnKSwgMSAtIGlmKCR5aXEtcGVyY2VudCA+IC43NSwgLjAyNSwgLjA1KSksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgI2ZmZiwgIzAwMCkpO1xyXG4gIH1cclxuXHJcbiAgJG1lbnUtYWN0aXZlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRtZW51LWJnLCAxIC0gaWYoJHlpcS1wZXJjZW50ID4gLjc1LCAuMDI1LCAuMDUpKSwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAjZmZmLCAjMDAwKSk7XHJcblxyXG4gICN7JHBhcmVudH0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBiZykgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAuc2lkZW5hdi1saW5rLFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaXRlbS5kaXNhYmxlZCAuc2lkZW5hdi1saW5rLFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1wcmV2LmRpc2FibGVkLFxyXG4gICAgLnNpZGVuYXYtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaXRlbS5vcGVuOm5vdCguc2lkZW5hdi1pdGVtLWNsb3NpbmcpID4gLnNpZGVuYXYtdG9nZ2xlLFxyXG4gICAgLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6bm90KC5zaWRlbmF2LXRvZ2dsZSkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1iZztcclxuICAgIH1cclxuXHJcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1tZW51ID4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOm5vdCguc2lkZW5hdi10b2dnbGUpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtYWN0aXZlLWJnO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2lkZW5hdi1ob3Jpem9udGFsIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbTpub3QoLnNpZGVuYXYtaXRlbS1jbG9zaW5nKSA+IC5zaWRlbmF2LW1lbnUsXHJcbiAgICAmLnNpZGVuYXYtaG9yaXpvbnRhbCAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWJnO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtbWVudSxcclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5zaWRlbmF2LWl0ZW0tY2xvc2luZyAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtdG9nZ2xlIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi10ZXh0IHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2lkZW5hdi1oZWFkZXIge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBtdXRlZC1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgaHIsXHJcbiAgICAuc2lkZW5hdi1kaXZpZGVyLFxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gPiAuc2lkZW5hdi1tZW51OjpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYm9yZGVyKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaGVhZGVyOjpiZWZvcmUsXHJcbiAgICAuc2lkZW5hdi1ibG9jazo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlbmF2LWlubmVyID4gLnNpZGVuYXYtaXRlbS5vcGVuIC5zaWRlbmF2LWl0ZW0ub3BlbiA+IC5zaWRlbmF2LXRvZ2dsZTo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgobWFwLWdldCgkY29sb3JzLCBib3JkZXIpLCAkbWVudS1iZyk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5hY3RpdmUgPiAuc2lkZW5hdi1saW5rOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGVuYXYtaW5uZXIgPiAuc2lkZW5hdi1pdGVtLm9wZW4gLnNpZGVuYXYtaXRlbS5vcGVuID4gLnNpZGVuYXYtdG9nZ2xlOjpiZWZvcmUsXHJcbiAgICAuc2lkZW5hdi1pbm5lciA+IC5zaWRlbmF2LWl0ZW0ub3BlbiAuc2lkZW5hdi1pdGVtLmFjdGl2ZSA+IC5zaWRlbmF2LWxpbms6OmJlZm9yZSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkbWVudS1iZztcclxuICAgIH1cclxuXHJcbiAgICAucHNfX3RodW1iLXksXHJcbiAgICAucHNfX3JhaWwteS5wcy0tY2xpY2tpbmcgPiAucHNfX3RodW1iLXkge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCBtYXAtZ2V0KCRjb2xvcnMsIG9wYWNpdHkpIC0gLjQsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAuMikpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRm9vdGVyXHJcblxyXG5AbWl4aW4gYXBwd29yay1mb290ZXItdmFyaWFudCgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xyXG4gICRjb2xvcnM6IGdldC1uYXYtY29sb3JzKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcclxuXHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJnKSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xyXG5cclxuICAgIC5mb290ZXItbGluayB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBkaXNhYmxlZC1jb2xvcikgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXItdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3cgPiAuZm9vdGVyLWxpbmssXHJcbiAgICAuYWN0aXZlID4gLmZvb3Rlci1saW5rLFxyXG4gICAgLmZvb3Rlci1saW5rLnNob3csXHJcbiAgICAuZm9vdGVyLWxpbmsuYWN0aXZlIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9fYXBwd29yay9pbmNsdWRlXCI7XHJcbkBpbXBvcnQgXCIuL190aGVtZS9jb21tb25cIjtcclxuQGltcG9ydCBcIi4vX3RoZW1lL2xpYnNcIjtcclxuQGltcG9ydCBcIi4vX3RoZW1lL3Vpa2l0XCI7XHJcblxyXG4kcHJpbWFyeS1jb2xvcjogI0VCMjIyNztcclxuJGJvZHktYmc6ICNmOGY4Zjg7XHJcblxyXG5ib2R5IHtcclxuICBiYWNrZ3JvdW5kOiAkYm9keS1iZztcclxufVxyXG5cclxuQGluY2x1ZGUgYXBwd29yay1jb21tb24tdGhlbWUoJHByaW1hcnktY29sb3IpO1xyXG5AaW5jbHVkZSBhcHB3b3JrLWxpYnMtdGhlbWUoJHByaW1hcnktY29sb3IpO1xyXG5AaW5jbHVkZSBhcHB3b3JrLXVpa2l0LXRoZW1lKCRwcmltYXJ5LWNvbG9yKTtcclxuXHJcbi8vIE5hdmJhclxyXG5cclxuQGluY2x1ZGUgYXBwd29yay1uYXZiYXItdmFyaWFudCgnLmJnLW5hdmJhci10aGVtZScsICNGRkYsICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcclxuXHJcbi5sYXlvdXQtbmF2YmFyIHtcclxuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoJGJsYWNrLCAwLjA0KTtcclxufVxyXG5cclxuLy8gU2lkZW5hdlxyXG5cclxuQGluY2x1ZGUgYXBwd29yay1zaWRlbmF2LXZhcmlhbnQoJy5iZy1zaWRlbmF2LXRoZW1lJywgIzNEM0QzRCwgJGNvbG9yOiAjODM4NzkwKTtcclxuXHJcbi8vIEZvb3RlclxyXG5cclxuQGluY2x1ZGUgYXBwd29yay1mb290ZXItdmFyaWFudCgnLmJnLWZvb3Rlci10aGVtZScsICNmZmYsICRjb2xvcjogJHRleHQtbXV0ZWQsICRhY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yKTtcclxuIiwiQGltcG9ydCBcIi4uLy4uL2Nzcy9fYXBwd29yay9mdW5jdGlvbnNcIjtcclxuXHJcbkBtaXhpbiBzZWxlY3QyLXZhcmlhbnQoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2VsZWN0Mi12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XHJcbiAgLmlzLSN7JHN0YXRlfSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLFxyXG4gIC5pcy0jeyRzdGF0ZX0uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uICB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzZWxlY3QyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgLmRlZmF1bHQtc3R5bGUgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHtcclxuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMgLnNlbGVjdDItc2VsZWN0aW9uLFxyXG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGVmYXVsdC1zdHlsZSAuc2VsZWN0Mi1wcmltYXJ5IHtcclxuICAgIEBpbmNsdWRlIHNlbGVjdDItdmFyaWFudCgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXRlcmlhbC1zZWxlY3QyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgLm1hdGVyaWFsLXN0eWxlIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7XHJcbiAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzOm5vdCguc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkKSAuc2VsZWN0Mi1zZWxlY3Rpb24sXHJcbiAgICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuOm5vdCguc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkKSAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgJGJhY2tncm91bmQgaW5zZXQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tYXRlcmlhbC1zdHlsZSAuc2VsZWN0Mi1wcmltYXJ5IHtcclxuICAgIEBpbmNsdWRlIHNlbGVjdDItdmFyaWFudCgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIGJzLXRhZ3NpbnB1dC10aGVtZSgkY29sb3IpIHtcclxuICAuYm9vdHN0cmFwLXRhZ3NpbnB1dC5mb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1hdGVyaWFsLWJzLXRhZ3NpbnB1dC10aGVtZSgkY29sb3IpIHtcclxuICAuYm9vdHN0cmFwLXRhZ3NpbnB1dC5mb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCAkY29sb3IgaW5zZXQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBiZy10YWdzaW5wdXQtdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC5pcy0jeyRzdGF0ZX0uYm9vdHN0cmFwLXRhZ3NpbnB1dCxcclxuICAuaXMtI3skc3RhdGV9IC5ib290c3RyYXAtdGFnc2lucHV0IHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIGJzLXNlbGVjdC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOm51bGwpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuXHJcbiAgLmJvb3RzdHJhcC1zZWxlY3QgLmRyb3Bkb3duLW1lbnUuaW5uZXIgYVthcmlhLXNlbGVjdGVkPXRydWVdIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gYnMtZGF0ZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcbiAgJHJhbmdlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuMTUpLCAjZmZmKTtcclxuICAkcmFuZ2UtY29sb3I6IHlpcSgkcmFuZ2UtYmcpO1xyXG5cclxuICAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCB7XHJcbiAgICAmLmFjdGl2ZSxcclxuICAgICYuYWN0aXZlLmhpZ2hsaWdodGVkLFxyXG4gICAgJi5hY3RpdmUudG9kYXksXHJcbiAgICBzcGFuLmFjdGl2ZSxcclxuICAgIHNwYW4uYWN0aXZlLmRpc2FibGVkLFxyXG4gICAgJi5yYW5nZS1zdGFydCxcclxuICAgICYucmFuZ2UtZW5kIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYucmFuZ2UsXHJcbiAgICAmLnJhbmdlLmhpZ2hsaWdodGVkLFxyXG4gICAgJi5yYW5nZS50b2RheSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1iZyAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJHJhbmdlLWNvbG9yICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAmLmZvY3VzZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcmFuZ2UtYmcsIDYlKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkcmFuZ2UtYmcsIC41KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkcmFuZ2UtY29sb3IsIC41KSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gYnMtZGF0ZXJhbmdlcGlja2VyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcclxuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCB5aXEoJGJhY2tncm91bmQpKTtcclxuICAkaGlnbGlnaHRlZC1iZzogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgLjE1KSwgI2ZmZik7XHJcbiAgJGhpZ2xpZ2h0ZWQtY29sb3I6IHlpcSgkaGlnbGlnaHRlZC1iZyk7XHJcblxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgdGQuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZGF0ZXJhbmdlcGlja2VyIHRkLmluLXJhbmdlOm5vdCguc3RhcnQtZGF0ZSk6bm90KC5lbmQtZGF0ZSk6bm90KC5vZmYpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoaWdsaWdodGVkLWJnICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGhpZ2xpZ2h0ZWQtY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgLmlucHV0LW1pbmkuYWN0aXZlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5yYW5nZXMgbGkuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBxdWlsbC1nZW5lcmF0ZS1saXN0cygkaW5kZW50KSB7XHJcbiAgJHF1aWxsLWxpc3QtdHlwZXM6IChcclxuICAgIDE6IGxvd2VyLWFscGhhLFxyXG4gICAgMjogbG93ZXItcm9tYW4sXHJcbiAgICAzOiBkZWNpbWFsLFxyXG4gICAgNDogbG93ZXItYWxwaGEsXHJcbiAgICA1OiBsb3dlci1yb21hbixcclxuICAgIDY6IGRlY2ltYWwsXHJcbiAgICA3OiBsb3dlci1hbHBoYSxcclxuICAgIDg6IGxvd2VyLXJvbWFuLFxyXG4gICAgOTogZGVjaW1hbFxyXG4gICk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XHJcbiAgICBvbCBsaS5xbC1pbmRlbnQtI3skaX0ge1xyXG4gICAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdC0jeyRpfTtcclxuXHJcbiAgICAgIEBpZiAkaSA8IDkge1xyXG4gICAgICAgICRsaXN0czogJyc7XHJcblxyXG4gICAgICAgIEBmb3IgJGwgZnJvbSAkaSArIDEgdGhyb3VnaCA5IHtcclxuICAgICAgICAgICRsaXN0czogXCIjeyRsaXN0c30gbGlzdC0jeyRsfVwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY291bnRlci1yZXNldDogI3skbGlzdHN9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC0jeyRpfSwgbWFwLWdldCgkcXVpbGwtbGlzdC10eXBlcywgJGkpKSAnLiAnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnFsLWluZGVudC0jeyRpfTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50ICogJGk7XHJcblxyXG4gICAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudCAqICRpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkucWwtaW5kZW50LSN7JGl9Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnQgKiAoJGkgKyAxKTtcclxuXHJcbiAgICAgIFtkaXI9cnRsXSAmIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogKCRpICsgMSk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucWwtaW5kZW50LSN7JGl9LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogJGk7XHJcblxyXG4gICAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnQgKiAkaTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkucWwtaW5kZW50LSN7JGl9LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogKCRpICsgMSk7XHJcblxyXG4gICAgICBbZGlyPXJ0bF0gJiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnQgKiAoJGkgKyAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHF1aWxsLXRoZW1lKCRjb2xvcikge1xyXG4gIC5xbC1zbm93LnFsLXRvb2xiYXIsXHJcbiAgLnFsLXNub3cgLnFsLXRvb2xiYXIge1xyXG4gICAgYnV0dG9uOmhvdmVyLFxyXG4gICAgYnV0dG9uOmZvY3VzLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSxcclxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIsXHJcbiAgICAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSxcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlcixcclxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b246aG92ZXIgLnFsLWZpbGwsXHJcbiAgICBidXR0b246Zm9jdXMgLnFsLWZpbGwsXHJcbiAgICBidXR0b24ucWwtYWN0aXZlIC5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1maWxsLFxyXG4gICAgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLnFsLWZpbGwsXHJcbiAgICBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS5xbC1maWxsLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1zdHJva2UucWwtZmlsbCxcclxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLnFsLWZpbGwge1xyXG4gICAgICBmaWxsOiAkY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b246aG92ZXIgLnFsLXN0cm9rZSxcclxuICAgIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZSxcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UsXHJcbiAgICBidXR0b246aG92ZXIgLnFsLXN0cm9rZS1taXRlcixcclxuICAgIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS1taXRlcixcclxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLFxyXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UtbWl0ZXIge1xyXG4gICAgICBzdHJva2U6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFRoZW1lIG1peGluXHJcblxyXG5AbWl4aW4gYXBwd29yay1jb21tb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBiZy12YXJpYW50KCcuYmctcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5ib3JkZXItcHJpbWFyeSwgaHRtbFtkaXI9cnRsXSAuYm9yZGVyLXByaW1hcnkgeyBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cclxuICBAaW5jbHVkZSBhcHB3b3JrLWJhZGdlLXZhcmlhbnQoJy5iYWRnZS1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJy5iYWRnZS1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbGlzdC1ncm91cC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWFsZXJ0LXZhcmlhbnQoJy5hbGVydC1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCcuYWxlcnQtZGFyay1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay10b29sdGlwLXZhcmlhbnQoJy50b29sdGlwLXByaW1hcnksIC50b29sdGlwLXByaW1hcnkgPiAudG9vbHRpcCwgLm5nYi10b29sdGlwLXByaW1hcnkgKyBuZ2ItdG9vbHRpcC13aW5kb3cnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXBvcG92ZXItdmFyaWFudCgnLnBvcG92ZXItcHJpbWFyeSwgLnBvcG92ZXItcHJpbWFyeSA+IC5wb3BvdmVyLCAubmdiLXBvcG92ZXItcHJpbWFyeSArIG5nYi1wb3BvdmVyLXdpbmRvdycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJy50YWJsZS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLXZhcmlhbnQoJy5idG4tcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1mb3JtLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1uYXZiYXItdmFyaWFudCgnLm5hdmJhci5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstc2lkZW5hdi12YXJpYW50KCcuc2lkZW5hdi5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstZm9vdGVyLXZhcmlhbnQoJy5mb290ZXIuYmctcHJpbWFyeScsICRwcmltYXJ5LWNvbG9yKTtcclxuICAuZmlsbC1wcmltYXJ5IHsgZmlsbDogJGJhY2tncm91bmQgfVxyXG59XHJcblxyXG5AbWl4aW4gYXBwd29yay1jb21tb24tbWF0ZXJpYWwtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBiZy12YXJpYW50KCcuYmctcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcclxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5ib3JkZXItcHJpbWFyeSwgaHRtbFtkaXI9cnRsXSAuYm9yZGVyLXByaW1hcnkgeyBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cclxuICBAaW5jbHVkZSBhcHB3b3JrLWJhZGdlLXZhcmlhbnQoJy5iYWRnZS1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1iYWRnZS1vdXRsaW5lLXZhcmlhbnQoJy5iYWRnZS1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1wYWdpbmF0aW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstcHJvZ3Jlc3MtYmFyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbGlzdC1ncm91cC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWFsZXJ0LXZhcmlhbnQoJy5hbGVydC1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstYWxlcnQtZGFyay12YXJpYW50KCcuYWxlcnQtZGFyay1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay10b29sdGlwLXZhcmlhbnQoJy50b29sdGlwLXByaW1hcnksIC50b29sdGlwLXByaW1hcnkgPiAudG9vbHRpcCwgLm5nYi10b29sdGlwLXByaW1hcnkgKyBuZ2ItdG9vbHRpcC13aW5kb3cnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXBvcG92ZXItdmFyaWFudCgnLnBvcG92ZXItcHJpbWFyeSwgLnBvcG92ZXItcHJpbWFyeSA+IC5wb3BvdmVyLCAubmdiLXBvcG92ZXItcHJpbWFyeSArIG5nYi1wb3BvdmVyLXdpbmRvdycsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstdGFibGUtcm93LXZhcmlhbnQoJy50YWJsZS1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLXZhcmlhbnQoJy5idG4tcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLW1hdGVyaWFsLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtbmF2LXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtY3VzdG9tLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1jdXN0b20tZmlsZS1pbnB1dC10aGVtZSgkYmFja2dyb3VuZCk7XHJcbiAgQGluY2x1ZGUgYXBwd29yay1tYXRlcmlhbC1mb3JtLWNvbnRyb2wtdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbWF0ZXJpYWwtc3dpdGNoZXItdGhlbWUoJGJhY2tncm91bmQpO1xyXG4gIEBpbmNsdWRlIGFwcHdvcmstbmF2YmFyLXZhcmlhbnQoJy5uYXZiYXIuYmctcHJpbWFyeScsICRwcmltYXJ5LWNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLXNpZGVuYXYtdmFyaWFudCgnLnNpZGVuYXYuYmctcHJpbWFyeScsICRwcmltYXJ5LWNvbG9yKTtcclxuICBAaW5jbHVkZSBhcHB3b3JrLWZvb3Rlci12YXJpYW50KCcuZm9vdGVyLmJnLXByaW1hcnknLCAkcHJpbWFyeS1jb2xvcik7XHJcbiAgLmZpbGwtcHJpbWFyeSB7IGZpbGw6ICRiYWNrZ3JvdW5kIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzL19hcHB3b3JrL2Z1bmN0aW9uc1wiO1xyXG5cclxuQG1peGluIHR5cGVhaGVhZC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XHJcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgeWlxKCRiYWNrZ3JvdW5kKSk7XHJcblxyXG4gIC50dC1zdWdnZXN0aW9uOmFjdGl2ZSxcclxuICAudHQtY3Vyc29yIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBkcm9wem9uZS10aGVtZSgkYm9yZGVyKSB7XHJcbiAgLmRyb3B6b25lLmR6LWRyYWctaG92ZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBzd2lwZXItdGhlbWUoJGNvbG9yKSB7XHJcbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLFxyXG4gIC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIHNwaW5raXQtdGhlbWUoJGJhY2tncm91bmQpIHtcclxuICAuc2stcHJpbWFyeS5zay1yb3RhdGluZy1wbGFuZSxcclxuICAuc2stcHJpbWFyeS5zay1kb3VibGUtYm91bmNlIC5zay1jaGlsZCxcclxuICAuc2stcHJpbWFyeS5zay13YXZlIC5zay1yZWN0LFxyXG4gIC5zay1wcmltYXJ5LnNrLXdhbmRlcmluZy1jdWJlcyAuc2stY3ViZSxcclxuICAuc2stcHJpbWFyeS5zay1zcGlubmVyLXB1bHNlLFxyXG4gIC5zay1wcmltYXJ5LnNrLWNoYXNpbmctZG90cyAuc2stY2hpbGQsXHJcbiAgLnNrLXByaW1hcnkuc2stdGhyZWUtYm91bmNlIC5zay1jaGlsZCxcclxuICAuc2stcHJpbWFyeS5zay1jaXJjbGUgLnNrLWNoaWxkOmJlZm9yZSxcclxuICAuc2stcHJpbWFyeS5zay1jdWJlLWdyaWQgLnNrLWN1YmUsXHJcbiAgLnNrLXByaW1hcnkuc2stZmFkaW5nLWNpcmNsZSAuc2stY2lyY2xlOmJlZm9yZSxcclxuICAuc2stcHJpbWFyeS5zay1mb2xkaW5nLWN1YmUgLnNrLWN1YmU6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gc21hcnR3aXphcmQtdGhlbWUoJGNvbG9yKSB7XHJcbiAgLnN3LXRoZW1lLWRlZmF1bHQgLnN0ZXAtYW5jaG9yID4gbGkuYWN0aXZlID4gYSAuc3ctaWNvbixcclxuICAuc3ctdGhlbWUtZGVmYXVsdCAuc3RlcC1hbmNob3IgPiBsaS5hY3RpdmUgPiBhIC5zdy1udW1iZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gcGx5ci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKSB7XHJcbiAgLnBseXIgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLWZpbGwtbG93ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5wbHlyIGlucHV0W3R5cGU9J3JhbmdlJ106YWN0aXZlIHtcclxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjo6LW1zLXRodW1iIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHMgYnV0dG9uLnRhYi1mb2N1czpmb2N1cyxcclxuICAucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9scyBidXR0b24udGFiLWZvY3VzOmZvY3VzLFxyXG4gIC5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbHMgYnV0dG9uOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAucGx5cl9fcGxheS1sYXJnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQsXHJcbiAgLnBseXJfX3ZvbHVtZS0tZGlzcGxheSB7XHJcbiAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQGZ1bmN0aW9uIGZ1bGxjYWxlbmRhci1ldmVudC1iZygkYmcpIHtcclxuICBAcmV0dXJuIHJnYmEoJGJnLCAuMTUpO1xyXG59XHJcblxyXG5AbWl4aW4gZnVsbGNhbGVuZGFyLWV2ZW50LXZhcmlhbnQoJGNvbG9yKSB7XHJcbiAgJi5mYy1ldmVudCxcclxuICAmLmZjLWV2ZW50LWRvdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBmdWxsY2FsZW5kYXItZXZlbnQtYmcoJGNvbG9yKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZ1bGxjYWxlbmRhci10aGVtZSgkY29sb3IpIHtcclxuICAuZmMtZXZlbnQsXHJcbiAgLmZjLWV2ZW50LWRvdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBmdWxsY2FsZW5kYXItZXZlbnQtYmcoJGNvbG9yKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmZjLWhpZ2hsaWdodCxcclxuICAuZmMtYmdldmVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIGFwcHdvcmstdWlraXQtdGhlbWUoJGJhY2tncm91bmQpIHtcclxuICAudWktcHJvZHVjdC1jb2xvci5hY3RpdmUge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmYsIDAgMCAwIDRweCAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGdW5jdGlvbnNcclxuLy9cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBNYXRoXHJcblxyXG4kcGk6IDMuMTQxNTkyNjUzNTk7XHJcbiRfcHJlY2lzaW9uOiAxMDtcclxuXHJcbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHApIHtcclxuICAkdmFsdWU6ICRiYXNlO1xyXG4gIEBpZiAkZXhwID4gMSB7XHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHAge1xyXG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJGV4cCA8IDF7XHJcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwIHtcclxuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzcXJ0KCRyKSB7XHJcbiAgJHgwOiAxO1xyXG4gICR4MTogJHgwO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcclxuICAgICR4MTogJHgwIC0gKCR4MCAqICR4MCAtIGFicygkcikpIC8gKDIgKiAkeDApO1xyXG4gICAgJHgwOiAkeDE7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR4MTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGZhY3QoJG51bSkge1xyXG4gICRmYWN0OiAxO1xyXG4gIEBpZiAkbnVtID4gMHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG51bSB7XHJcbiAgICAgICRmYWN0OiAkZmFjdCAqICRpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRmYWN0O1xyXG59XHJcblxyXG5AZnVuY3Rpb24gX3RvX3VuaXRsZXNzX3JhZCgkYW5nbGUpIHtcclxuICBAaWYgdW5pdCgkYW5nbGUpID09IFwiZGVnXCIge1xyXG4gICAgJGFuZ2xlOiAkYW5nbGUgLyAxODBkZWcgKiAkcGk7XHJcbiAgfVxyXG4gIEBpZiB1bml0KCRhbmdsZSkgPT0gXCJyYWRcIiB7XHJcbiAgICAkYW5nbGU6ICRhbmdsZSAvIDFyYWQ7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGFuZ2xlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gc2luKCRhbmdsZSl7XHJcbiAgJGE6IF90b191bml0bGVzc19yYWQoJGFuZ2xlKTtcclxuICAkc2luOiAkYTtcclxuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcclxuICAgICRzaW46ICRzaW4gKyAocG93KC0xLCAkbikgLyBmYWN0KDIgKiAkbiArIDEpICkgKiBwb3coJGEsICgyICogJG4gKyAxKSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHNpbjtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGNvcygkYW5nbGUpe1xyXG4gICRhOiBfdG9fdW5pdGxlc3NfcmFkKCRhbmdsZSk7XHJcbiAgJGNvczogMTtcclxuICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRfcHJlY2lzaW9uIHtcclxuICAgICRjb3M6ICRjb3MgKyAoIHBvdygtMSwkbikgLyBmYWN0KDIqJG4pICkgKiBwb3coJGEsMiokbik7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGNvcztcclxufVxyXG5cclxuQGZ1bmN0aW9uIHRhbigkYW5nbGUpe1xyXG4gIEByZXR1cm4gc2luKCRhbmdsZSkgLyBjb3MoJGFuZ2xlKTtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExpc3RzXHJcblxyXG5AZnVuY3Rpb24gc2xpY2UtbGlzdCgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgJHJlc3VsdDogbnVsbDtcclxuXHJcbiAgQGlmIHR5cGUtb2YoJHN0YXJ0KSAhPSBudW1iZXIgb3IgdHlwZS1vZigkZW5kKSAhPSBudW1iZXIge1xyXG4gICAgQHdhcm4gXCJFaXRoZXIgJHN0YXJ0IG9yICRlbmQgYXJlIG5vdCBhIG51bWJlciBmb3IgYHNsaWNlYC5cIjtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHdhcm4gXCJUaGUgc3RhcnQgaW5kZXggaGFzIHRvIGJlIGxlc3NlciB0aGFuIG9yIGVxdWFscyB0byB0aGUgZW5kIGluZGV4IGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHN0YXJ0IDwgMSBvciAkZW5kIDwgMSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXhlcyBtdXN0IGJlIG5vbi16ZXJvIGludGVnZXJzIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHN0YXJ0ID4gbGVuZ3RoKCRsaXN0KSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skc3RhcnR9IGJ1dCBsaXN0IGlzIG9ubHkgI3tsZW5ndGgoJGxpc3QpfSBpdGVtIGxvbmcgZm9yIGBzbGljZWAuXCI7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkZW5kID4gbGVuZ3RoKCRsaXN0KSB7XHJcbiAgICBAd2FybiBcIkxpc3QgaW5kZXggaXMgI3skZW5kfSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgc2xpY2VgLlwiO1xyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgJHJlc3VsdDogKCk7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3RyaW5nc1xyXG5cclxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xyXG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xyXG5cclxuICBAaWYgJGluZGV4IHtcclxuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHN0cmluZztcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbG9yc1xyXG5cclxuQGZ1bmN0aW9uIHJnYmEtdG8taGV4KCRjb2xvciwgJGJhY2tncm91bmQ6ICNmZmYpIHtcclxuICBAaWYgJGNvbG9yIGFuZCBhbHBoYSgkY29sb3IpICE9IDEge1xyXG4gICAgJHBlcmNlbnQ6IGFscGhhKCRjb2xvcikgKiAxMDAlO1xyXG4gICAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xyXG5cclxuICAgIEByZXR1cm4gbWl4KCRvcGFxdWUsICRiYWNrZ3JvdW5kLCAkcGVyY2VudCk7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHlpcS12YWx1ZSgkY29sb3IpIHtcclxuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcclxuICAgIEByZXR1cm4gJGJvZHktY29sb3I7XHJcbiAgfSBAZWxzZSBpZiBhbHBoYSgkY29sb3IpICE9IDEge1xyXG4gICAgJGNvbG9yOiByZ2JhLXRvLWhleCgkY29sb3IpO1xyXG4gIH1cclxuXHJcbiAgJHI6IHJlZCgkY29sb3IpO1xyXG4gICRnOiBncmVlbigkY29sb3IpO1xyXG4gICRiOiBibHVlKCRjb2xvcik7XHJcblxyXG4gIEByZXR1cm4gKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xyXG59XHJcblxyXG4vLyBDb2xvciBjb250cmFzdFxyXG5AZnVuY3Rpb24geWlxKCRjb2xvcikge1xyXG4gICR5aXE6IHlpcS12YWx1ZSgkY29sb3IpO1xyXG5cclxuICBAaWYgKCR5aXEgPj0gMTYwKSB7XHJcbiAgICBAcmV0dXJuIHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAuNDApLCAjMDAwKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBVbml0c1xyXG5cclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xyXG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xyXG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRudW1iZXI7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBweC10by1yZW0oJHZhbHVlKSB7XHJcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxyXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAvIDE2KSAqIDFyZW07XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0tdG8tcHgoJHZhbHVlKSB7XHJcbiAgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0IGZvbnQgc2l6ZSA9IGAxNnB4YFxyXG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHZhbHVlKSAqIDE2KSAqIDFweDtcclxufVxyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIFV0aWxpdGllc1xyXG5cclxuQGZ1bmN0aW9uIGdldC1idG4tY29sb3JzKCRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XHJcbiAgQGlmICRiYWNrZ3JvdW5kID09IHRyYW5zcGFyZW50IHtcclxuICAgICRidG4tc2hhZG93OiByZ2JhKHJnYmEtdG8taGV4KCRib3JkZXIsICMwMDApLCAuMDUpO1xyXG5cclxuICAgIEByZXR1cm4gKFxyXG4gICAgICBiZy1ob3ZlcjogIHJnYmEoJGJvcmRlciwgLjA2KSxcclxuICAgICAgYmctYWN0aXZlOiByZ2JhKCRib3JkZXIsIC4xMiksXHJcbiAgICAgIGJvcmRlcjogICAgJGJvcmRlcixcclxuICAgICAgc2hhZG93OiAgICBpZigkZW5hYmxlLXNoYWRvd3MsICgkYnRuLWJveC1zaGFkb3csIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggJGJ0bi1zaGFkb3cpXHJcbiAgICApO1xyXG4gIH0gQGVsc2UgaWYgYWxwaGEoJGJhY2tncm91bmQpICE9IDEge1xyXG4gICAgJGJnLWFscGhhOiAgIGFscGhhKCRiYWNrZ3JvdW5kKTtcclxuICAgICRidG4tc2hhZG93OiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmctYWxwaGEgLSAoJGJnLWFscGhhICogNTUgLyAxMDApICk7XHJcblxyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIGJnLWhvdmVyOiAgcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4wNSksXHJcbiAgICAgIGJnLWFjdGl2ZTogcmdiYSgkYmFja2dyb3VuZCwgJGJnLWFscGhhICsgMC4xMyksXHJcbiAgICAgIGJvcmRlcjogICAgdHJhbnNwYXJlbnQsXHJcbiAgICAgIHNoYWRvdzogICAgaWYoJGVuYWJsZS1zaGFkb3dzLCAoJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aCAkYnRuLXNoYWRvdyksIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoICRidG4tc2hhZG93KVxyXG4gICAgKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gKFxyXG4gICAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICMwMDApLFxyXG4gICAgICBiZy1hY3RpdmU6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC44NyksICMwMDApLFxyXG4gICAgICBib3JkZXI6ICAgIHRyYW5zcGFyZW50LFxyXG4gICAgICBzaGFkb3c6ICAgIGlmKCRlbmFibGUtc2hhZG93cywgKCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpKSwgMCAwIDAgJGNvbXBvbmVudC1mb2N1cy1zaGFkb3ctd2lkdGggcmdiYSgkYmFja2dyb3VuZCwgLjQpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnZXQtbWF0ZXJpYWwtYnRuLWNvbG9ycygkYmFja2dyb3VuZCkge1xyXG4gIEBpZiBhbHBoYSgkYmFja2dyb3VuZCkgIT0gMSB7XHJcbiAgICAkYmFja2dyb3VuZDogcmdiYS10by1oZXgoJGJhY2tncm91bmQpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAoXHJcbiAgICBiZy1ob3ZlcjogIHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIC45NSksICNmZmYpLFxyXG4gICAgYmctYWN0aXZlOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuODcpLCAjZmZmKSxcclxuICApO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LW5hdi1jb2xvcnMoJGJnLCAkYWN0aXZlLWNvbG9yOiBudWxsLCAkaW5hY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcclxuICAkYmc6IHJnYmEtdG8taGV4KCRiZyk7XHJcbiAgJGFjdGl2ZS1jb2xvcjogcmdiYS10by1oZXgoJGFjdGl2ZS1jb2xvcik7XHJcbiAgJGFjdGl2ZS1jb2xvcjogaWYoJGFjdGl2ZS1jb2xvciwgJGFjdGl2ZS1jb2xvciwgeWlxKCRiZykpO1xyXG4gICR5aXEtcGVyY2VudDogeWlxLXZhbHVlKCRiZykgLyAyNTU7XHJcbiAgJHlpcS1wZXJjZW50LWludmVydGVkOiAxIC0gJHlpcS1wZXJjZW50O1xyXG5cclxuICAkb3BhY2l0eTogaWYoJGFjdGl2ZS1jb2xvciA9PSAjZmZmLCAuNiArICguNCAqICR5aXEtcGVyY2VudCksIC42ICsgKC40ICogKDEgLSAkeWlxLXBlcmNlbnQpKSk7XHJcblxyXG4gICRjb2xvcjogaWYoJGluYWN0aXZlLWNvbG9yLCByZ2JhLXRvLWhleCgkaW5hY3RpdmUtY29sb3IsICRiZyksIHJnYmEtdG8taGV4KHJnYmEoJGFjdGl2ZS1jb2xvciwgaWYoJHlpcS1wZXJjZW50IDwgLjI1LCAkb3BhY2l0eSAtIC4xNSwgJG9wYWNpdHkpKSwgJGJnKSk7XHJcbiAgJGRpc2FibGVkLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgLjYpLCAkYmcpO1xyXG4gICRtdXRlZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkY29sb3IsIC43NSksICRiZyk7XHJcbiAgJGJvcmRlcjogaWYoJGJvcmRlciwgJGJvcmRlciwgaWYoJHlpcS1wZXJjZW50ID4gLjc1LCByZ2JhKCRhY3RpdmUtY29sb3IsICRvcGFjaXR5IC8gOCksIGlmKCR5aXEtcGVyY2VudCA8IC4yNSwgcmdiYSgkYWN0aXZlLWNvbG9yLCAuMDYpLCByZ2JhKCRhY3RpdmUtY29sb3IsIC4xNSkpKSk7XHJcblxyXG4gIEByZXR1cm4gKFxyXG4gICAgLy8gTWV0YWRhdGFcclxuICAgIG9wYWNpdHk6ICRvcGFjaXR5LFxyXG4gICAgeWlxLXBlcmNlbnQ6ICR5aXEtcGVyY2VudCxcclxuICAgIHlpcS1wZXJjZW50LWludmVydGVkOiAkeWlxLXBlcmNlbnQtaW52ZXJ0ZWQsXHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICBiZzogJGJnLFxyXG4gICAgY29sb3I6ICRjb2xvcixcclxuICAgIGFjdGl2ZS1jb2xvcjogJGFjdGl2ZS1jb2xvcixcclxuICAgIGRpc2FibGVkLWNvbG9yOiAkZGlzYWJsZWQtY29sb3IsXHJcbiAgICBtdXRlZC1jb2xvcjogJG11dGVkLWNvbG9yLFxyXG4gICAgYm9yZGVyOiAkYm9yZGVyXHJcbiAgKTtcclxufVxyXG4iLCIvLyBWYXJpYWJsZXNcclxuLy9cclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDb2xvcnNcclxuXHJcbiR3aGl0ZTogICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRibGFjazogICAgICAgICMxODFDMjEgIWRlZmF1bHQ7XHJcbiRncmF5LTI1OiAgICAgIHJnYmEoJGJsYWNrLCAuMDE1KSAhZGVmYXVsdDtcclxuJGdyYXktNTA6ICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XHJcbiRncmF5LTEwMDogICAgIHJnYmEoJGJsYWNrLCAuMDYpICFkZWZhdWx0O1xyXG4kZ3JheS0yMDA6ICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xyXG4kZ3JheS0zMDA6ICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xyXG4kZ3JheS00MDA6ICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xyXG4kZ3JheS01MDA6ICAgICByZ2JhKCRibGFjaywgLjQpICFkZWZhdWx0O1xyXG4kZ3JheS02MDA6ICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xyXG4kZ3JheS03MDA6ICAgICByZ2JhKCRibGFjaywgLjYpICFkZWZhdWx0O1xyXG4kZ3JheS04MDA6ICAgICByZ2JhKCRibGFjaywgLjgpICFkZWZhdWx0O1xyXG4kZ3JheS05MDA6ICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xyXG5cclxuJGdyYXlzOiAoXHJcbiAgXCIyNVwiOiAkZ3JheS0yNSxcclxuICBcIjUwXCI6ICRncmF5LTUwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kYmx1ZTogICAgICAgICAjMWU3MGNkICFkZWZhdWx0O1xyXG4kaW5kaWdvOiAgICAgICAjNjYxMGYyICFkZWZhdWx0O1xyXG4kcHVycGxlOiAgICAgICAjNmY0MmMxICFkZWZhdWx0O1xyXG4kcGluazogICAgICAgICAjZTgzZThjICFkZWZhdWx0O1xyXG4kcmVkOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xyXG4kb3JhbmdlOiAgICAgICAjRkVCNzQ0ICFkZWZhdWx0O1xyXG4keWVsbG93OiAgICAgICAjRkZEOTUwICFkZWZhdWx0O1xyXG4kZ3JlZW46ICAgICAgICAjMDJCQzc3ICFkZWZhdWx0O1xyXG4kdGVhbDogICAgICAgICAjMjBjOTk3ICFkZWZhdWx0O1xyXG4kY3lhbjogICAgICAgICAjMjhjM2Q3ICFkZWZhdWx0O1xyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIFwicHJpbWFyeVwiOiAgICRpbmRpZ28sXHJcbiAgXCJzZWNvbmRhcnlcIjogIzg4OTdBQSxcclxuICBcInN1Y2Nlc3NcIjogICAkZ3JlZW4sXHJcbiAgXCJpbmZvXCI6ICAgICAgJGN5YW4sXHJcbiAgXCJ3YXJuaW5nXCI6ICAgJHllbGxvdyxcclxuICBcImRhbmdlclwiOiAgICAkcmVkLFxyXG4gIFwiZGFya1wiOiAgICAgICRncmF5LTkwMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGJvZHktY29sb3I6ICAgICAgICM0RTUxNTUgIWRlZmF1bHQ7IC8vIzRhNGE0YVxyXG5cclxuLy8gIzA2Y1xyXG4kbGluay1jb2xvcjogICAgICAgJGJsdWUgIWRlZmF1bHQ7XHJcbiRsaW5rLWhvdmVyLWNvbG9yOiBsaWdodGVuKCRsaW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xyXG5cclxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGb250c1xyXG5cclxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiUm9ib3RvXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBcIlNGTW9uby1SZWd1bGFyXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcclxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgIC44OTRyZW0gIWRlZmF1bHQ7XHJcbiRmb250LXNpemUteGw6ICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS14czogICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XHJcblxyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgNTAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgOTAwICFkZWZhdWx0O1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgIDEuNDcgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC14bDogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC14czogICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcblxyXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgMi4yNXJlbSAhZGVmYXVsdDtcclxuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgIDEuODEzcmVtICFkZWZhdWx0O1xyXG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgMS41NjNyZW0gIWRlZmF1bHQ7XHJcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAxLjMxM3JlbSAhZGVmYXVsdDtcclxuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcblxyXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlciAhZGVmYXVsdDtcclxuXHJcbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICA0cmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgM3JlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XHJcblxyXG4kdGlueS1mb250LXNpemU6ICAgICAgICAgNzAlICFkZWZhdWx0O1xyXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgODUlICFkZWZhdWx0O1xyXG4kYmlnLWZvbnQtc2l6ZTogICAgICAgICAgMTEyJSAhZGVmYXVsdDtcclxuJGxhcmdlLWZvbnQtc2l6ZTogICAgICAgIDE1MCUgIWRlZmF1bHQ7XHJcbiR4bGFyZ2UtZm9udC1zaXplOiAgICAgICAxNzAlICFkZWZhdWx0O1xyXG5cclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTUwMCkgIWRlZmF1bHQ7XHJcbiR0ZXh0LW11dGVkLWhvdmVyOiAgICAgICByZ2JhLXRvLWhleCgkZ3JheS02MDApICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogcmdiYS10by1oZXgoJGdyYXktNTAwKSAhZGVmYXVsdDtcclxuJHRleHQtbGlnaHQ6ICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTQwMCkgIWRlZmF1bHQ7XHJcbiR0ZXh0LWxpZ2h0ZXI6ICAgICAgICAgICByZ2JhLXRvLWhleCgkZ3JheS0zMDApICFkZWZhdWx0O1xyXG4kdGV4dC1saWdodGVzdDogICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktMjAwKSAhZGVmYXVsdDtcclxuXHJcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICBub25lICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEdyaWRcclxuXHJcbiRncmlkLWd1dHRlci13aWR0aDogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuJGNvbnRhaW5lci1wYWRkaW5nLXg6IDJyZW0gIWRlZmF1bHQ7XHJcbiRjb250YWluZXItcGFkZGluZy14LXNtOiAxcmVtICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLXBhZGRpbmcteTogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIENvbXBvbmVudHNcclxuXHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywuMDYpICFkZWZhdWx0O1xyXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMteHM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuJGNvbXBvbmVudC1saW5lLWhlaWdodDogICAgICAgICAgIDEuNTQgIWRlZmF1bHQ7XHJcbiRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoOiAgICAycHggIWRlZmF1bHQ7XHJcblxyXG4kZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XHJcbiRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93OiAgICAgICAwIDFweCA2cHggcmdiYSgwLCAwLCAwLCAuMDkpICFkZWZhdWx0O1xyXG5cclxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kYm9yZGVyZWQtcm93LWJvcmRlci1jb2xvcjogICAgICAgJGhyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgICAgICAuNDJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBaLWluZGV4IG1hc3RlciBsaXN0XHJcblxyXG4kemluZGV4LWxheW91dC1maXhlZDogIDEwODAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtbW9kYWwtdG9wOiAgICAgMTA5MCAhZGVmYXVsdDtcclxuJHppbmRleC1sYXlvdXQtbW9iaWxlOiAxMTAwICFkZWZhdWx0O1xyXG4kemluZGV4LW5vdGlmaWNhdGlvbjogIDk5OTk5OSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUYWJsZXNcclxuXHJcbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAuMzEyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMjUpICFkZWZhdWx0O1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDM1KSAhZGVmYXVsdDtcclxuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICByZ2JhLXRvLWhleCgkdGFibGUtaG92ZXItYmcpICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICByZ2JhLXRvLWhleCgkZ3JheS0xMDApICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAkZ3JheS01MCAhZGVmYXVsdDtcclxuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgIHJnYmEoJHdoaXRlLCAuMDMpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6IGxpZ2h0ZW4ocmdiYS10by1oZXgoJGdyYXktOTAwKSwgNyUpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCdXR0b25zXHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAuNDM4cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAxLjU0ICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteHM6ICAgMCAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgteHM6ICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9udC1zaXplLXhzOiAgICRmb250LXNpemUteHMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteHM6ICRsaW5lLWhlaWdodC14cyAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgIC4xODhyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgIC42ODc1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteGw6ICAgLjg3NXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgteGw6ICAgMi4xMjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9udC1zaXplLXhsOiAgICRmb250LXNpemUteGwgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteGw6ICRsaW5lLWhlaWdodC14bCAhZGVmYXVsdDtcclxuXHJcbiRidG4tYm9yZGVyLXJhZGl1cy14czogICAgICRib3JkZXItcmFkaXVzLXhzICFkZWZhdWx0O1xyXG4kYnRuLWJvcmRlci1yYWRpdXMteGw6ICAgICAkYm9yZGVyLXJhZGl1cy14bCAhZGVmYXVsdDtcclxuXHJcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgIDAgMCAwICRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuMjUpICFkZWZhdWx0O1xyXG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEZvcm1zXHJcblxyXG4kbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIC44MzEyNXJlbSAhZGVmYXVsdDtcclxuJGxhYmVsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEtdG8taGV4KCRncmF5LTEwMCkgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkdGV4dC1saWdodCAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICAgICAgcHgtdG8tcmVtKGZsb29yKHJlbS10by1weCgoJGlucHV0LWJ0bi1mb250LXNpemUgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpKSkpICFkZWZhdWx0O1xyXG4kaW5wdXQtaGVpZ2h0LWlubmVyLXNtOiAgICAgICAgICAgICAgICAgICAgIHB4LXRvLXJlbShmbG9vcihyZW0tdG8tcHgoKCRpbnB1dC1idG4tZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSkpKSAhZGVmYXVsdDtcclxuJGlucHV0LWhlaWdodC1pbm5lci1sZzogICAgICAgICAgICAgICAgICAgICBweC10by1yZW0oZmxvb3IocmVtLXRvLXB4KCgkZm9udC1zaXplLWxnICogJGxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpKSkpICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWludmVydGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCNmZmYsIC4zKSAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kaW5wdXQtaW52ZXJ0ZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1pbnZlcnRlZC1iZyAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKCNmZmYsIC43KSAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICByZ2JhKCNmZmYsIC4xKSAhZGVmYXVsdDtcclxuJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAkaW5wdXQtaW52ZXJ0ZWQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgMS4xMjVyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogICAgIDFweCAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICsgLjQzOHJlbSkgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1iZzogICAgICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOS41IDcuNSclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzAuNzUgNC4zNSA0LjE4IDYuNzUgOC43NSAwLjc1JyBzdHlsZT0nZmlsbDpub25lO3N0cm9rZTpfQ09MT1JfO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MS41cHgnLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICAgICA2NSUgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9J19DT0xPUl8nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmctc2l6ZTogICAgIC41cmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1iZzogICAgICAgICAgICAgICAgIFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9J19DT0xPUl8nLyUzRSUzQy9zdmclM0VcIiAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYmctc2l6ZTogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICBub25lICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAxcmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWludmVydGVkLWRpc2FibGVkLWNvbG9yOiAgICAgJGlucHV0LWludmVydGVkLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbnZlcnRlZC1kaXNhYmxlZC1iZzogICAgICAgICRpbnB1dC1pbnZlcnRlZC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgICAgICAgICAgMTdweCAxMnB4ICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUtCSlJFRlVTQTN0MWtFS2dDQVFCVkNURHRjaXVsSjJwV2pSaWFwVGFQd29rVUVqUlcwemdhSFNPSTlQUVdMYkQ0TWhmcjdrei8xdGU0YllLTzRKSjhLSjBBVG91cVVicWV1dUg1VFJla3lwYjZTY3NyMnM2eklySEJnTFFRMXFzMEVBaU1VOENOUm1oY1JnWEVRUnlCY01SUlNEdkdGOGlLSVFIeWFFd0xPaXhtOEFQbTJNcTJIb1ZnTVM2dTN1Wi85cTNNTmo1Z3loYVhFaW5BaE5nSzVQcHpoRU8vaFNNSzRBQUFBQVNVVk9SSzVDWUlJPScpICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItaW52ZXJ0ZWQ6ICAgICAgICAgIHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUo1SlJFRlVTQTN0MUcwS2dDQU1CdUNNRHRabG9qT0ZoelZmVWFGbEg0NE4vMHlJc3B3K3ZHaFRDR0hGTlExdTgrRDE2L0lHcVZIa0IwdkVFcUVKMFA1Q1gzRDc4VisweDlxTldlL0ZOcXR6N29nSXo0QjQxSXBCQUdCZ0VnSzFvcEJPVEVXb1FINWlMZ2cxeUFmbWhsQ0ZQR0NhQ0l3Vk83NllyTld3Z2VQUlRwL3labTROMDRkZzFUZEFVWW1mbWpKeDc5MGdOREZMeEJLaENkRCtDUTNHSG5ndkpUR0tBQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1ydGw6ICAgICAgICAgICAgICAgdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBS2RKUkVGVVNBM3RsbEVLZ0NBTWhsTTZYQS9SbGJJclJRK2RxRHFGeFI4cHRFd05GSHVZRCtMYzNENStIQ3Fxd21OWnR4MElzakNITGM4Z1ZvcHJ3WXF3SWxRQmF0ZE4yNmxkNjU0Nlltd2g1VEJQbzRxSkRjVklKRUxDVUNEMXA0UkE3ck5ydnNLa2hyQWdXTVRDNUlDNGdjVEE1SUo0Z1BoZ2NrSTRRVnd3dVNGUVUyQjZHMmh0K0ZLMXFLdU8rUVo0UVZ3SFUrOFpFSDcwcUxLc0NDdENGYUQyYis3SUFaR2RQUHh1V1lHTUFBQUFBRWxGVGtTdVFtQ0MnKSAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWludmVydGVkLXJ0bDogICAgICB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFKdEpSRUZVU0EzdGxsRUt3Q0FJaG1kMHNGMW03RXlqdzdhTUNITFdXaGp0d1I0aVUzNC9maEtDYmZIeTN1K0lZQlp6NVBZS2txMUlCM1ZFSGFFTzBOaUdPVDdENVVFVG5iRURnS3V6dGxsbWtwQnJWdkZKTVFpVWoxTXpBQ01La1VIdzhBRkdIS0lBNllTWkF2RUFlWUdaQnNHQ1ZHQ21RbUJQaXh1MzhNMkUwWTZwOUg2NE1yRTdFRk1hRk5ML1NNMDQvUVpRWjlTUjN6cHlBMWlZSG5iU0xQSVFBQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogRHJvcGRvd25zXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAuNDM4cmVtICFkZWZhdWx0O1xyXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1saW5rLWxpbmUtaGVpZ2h0OiAgICAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTmF2c1xyXG5cclxuJG5hdi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1saW5lLWhlaWdodDogICAgICAgICAgICAgICRjb21wb25lbnQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kbmF2LWxpbmstcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstcGFkZGluZy14LWxnOiAgICAgICAgICAgICAxLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1saW5lLWhlaWdodC1sZzogICAgICAgICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcclxuXHJcbiRuYXYtbGluay1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstcGFkZGluZy14LXNtOiAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstbGluZS1oZWlnaHQtc206ICAgICAgICAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcblxyXG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZC1ob3ZlciAhZGVmYXVsdDtcclxuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcclxuXHJcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTEwMCAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIE5hdmJhclxyXG5cclxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43cmVtICFkZWZhdWx0O1xyXG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44KSAhZGVmYXVsdDtcclxuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuNCkgIWRlZmF1bHQ7XHJcblxyXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XHJcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xyXG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjA2KSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQYWdpbmF0aW9uXHJcblxyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgLjkzNzVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICBub25lICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tc3BhY2VyOiAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBDYXJkc1xyXG5cclxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xyXG4kY2FyZC1zcGFjZXIteC1zbTogICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kY2FyZC1pbm5lci1ib3JkZXItY29sb3I6ICByZ2JhKCRibGFjaywuMDYpICFkZWZhdWx0O1xyXG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggNHB4IHJnYmEoJGJsYWNrLC4wMDkpICFkZWZhdWx0O1xyXG4vLyAkY2FyZC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCA0cHggcmdiYSgkYmxhY2ssLjAzKSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBUb29sdGlwc1xyXG5cclxuJHRvb2x0aXAtY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJHRvb2x0aXAtYmc6ICAgICAgICAgcmdiYS10by1oZXgoJGdyYXktODAwKSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQb3BvdmVyc1xyXG5cclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuXHJcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6IC42MjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBCYWRnZXNcclxuXHJcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgIC44NThlbSAhZGVmYXVsdDtcclxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGZvbnQtd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0O1xyXG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcclxuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgLjQxN2VtICFkZWZhdWx0O1xyXG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xyXG5cclxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgLjU4M2VtICFkZWZhdWx0O1xyXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAxMHJlbSAhZGVmYXVsdDtcclxuXHJcbiRiYWRnZS1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGJhZGdlLW91dGxpbmUtZGVmYXVsdC1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogTW9kYWxzXHJcblxyXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAxLjU2MjVyZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAgICAxLjI1cmVtICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgMHB4ICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAxcHggIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcclxuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAzNXJlbSAhZGVmYXVsdDtcclxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgIDIyLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAuNSAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1zbGlkZS13aWR0aDogICAgICAgICAgICAgIDIwcmVtICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgLjE1cyAhZGVmYXVsdDtcclxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtICRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEFsZXJ0c1xyXG5cclxuJGFsZXJ0LXBhZGRpbmcteTogMXJlbSAhZGVmYXVsdDtcclxuJGFsZXJ0LXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBQcm9ncmVzcyBiYXJzXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgLjYyNXJlbSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICRncmF5LTUwICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogMTByZW0gIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAjZmZmICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIExpc3QgZ3JvdXBcclxuXHJcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhLXRvLWhleCgkYm9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgIC45Mzc1cmVtICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjUgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvciAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgJGdyYXktNTAgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogSW1hZ2UgdGh1bWJuYWlsc1xyXG5cclxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAwICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogIDBweCAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBGaWd1cmVzXHJcblxyXG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICR0ZXh0LW11dGVkICFkZWZhdWx0O1xyXG5cclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyAqIEJyZWFkY3J1bWJzXHJcblxyXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICRib2R5LWNvbG9yICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICBcIi9cIiAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1ydGw6ICAgXCIvXCIgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogU3dpdGNoZXJzXHJcblxyXG4kc3dpdGNoZXItc3BhY2VyLXg6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLXNwYWNlci15OiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWd1dHRlcjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWlubmVyLXNwYWNlcjogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItc3F1YXJlLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLWxhYmVsLWNvbG9yOiAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kc3dpdGNoZXItd2lkdGg6ICAgICAgICAgICAgICAgIDIuMzc1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaGVpZ2h0OiAgICAgICAgICAgICAgIDEuMzc1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItZm9udC1zaXplOiAgICAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQ6ICAgIDEuNCAhZGVmYXVsdDtcclxuXHJcbiRzd2l0Y2hlci13aWR0aC1zbTogICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWhlaWdodC1zbTogICAgICAgICAgICAxLjEyNXJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWZvbnQtc2l6ZS1zbTogICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItbGFiZWwtbGluZS1oZWlnaHQtc206IDEuNDg2ICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLXdpZHRoLWxnOiAgICAgICAgICAgICAzLjI1cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaGVpZ2h0LWxnOiAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1sYWJlbC1mb250LXNpemUtbGc6ICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcclxuJHN3aXRjaGVyLWxhYmVsLWxpbmUtaGVpZ2h0LWxnOiAxLjQ3ICFkZWZhdWx0O1xyXG5cclxuJHN3aXRjaGVyLW9mZi1jb2xvcjogICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1vZmYtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kc3dpdGNoZXItaG9sZGVyLWJnOiAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRzd2l0Y2hlci1ob2xkZXItc2hhZG93OiAgICAgICAgMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAuMDQpLCAwIDFweCA2cHggcmdiYSgkYmxhY2ssIC4wOSkgIWRlZmF1bHQ7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vICogQ2xvc2VcclxuXHJcbiRjbG9zZS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xyXG4kY2xvc2UtdGV4dC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XHJcbiRjbG9zZS1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBKdW1ib3Ryb25cclxuXHJcbiRqdW1ib3Ryb24tcGFkZGluZzogM3JlbSAhZGVmYXVsdDtcclxuXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLy8gKiBTaWRlbmF2XHJcblxyXG4kc2lkZW5hdi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDE1LjYyNXJlbSAhZGVmYXVsdDsgLy8yNTBweFxyXG4kc2lkZW5hdi1jb2xsYXBzZWQtd2lkdGg6ICAgICAgICAgICAgICAgIDQuMzc1cmVtICFkZWZhdWx0OyAvLzcwcHhcclxuXHJcbiRzaWRlbmF2LWl0ZW0tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAgLjA2MjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteTogICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtdmVydGljYWwtbGluay1wYWRkaW5nLXg6ICAgICAgICAycmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15OiAgIC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LXZlcnRpY2FsLW1lbnUtbGV2ZWwtc3BhY2VyOiAgICAgMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LWhvcml6b250YWwtbGluay1wYWRkaW5nLXk6ICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteDogICAgICAxcmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1ob3Jpem9udGFsLW1lbnUtbGluay1wYWRkaW5nLXk6IC42MjVyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWhvcml6b250YWwtbWVudS1sZXZlbC1zcGFjZXI6ICAgMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRzaWRlbmF2LW1lbnUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgMTIuNXJlbSAhZGVmYXVsdDs7IC8vMjAwcHhcclxuJHNpZGVuYXYtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAyLjI1cmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1jb250cm9sLWFycm93LXNpemU6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtaWNvbi1leHBhbmRlZC13aWR0aDogICAgICAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1pY29uLWV4cGFuZGVkLWZvbnQtc2l6ZTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWljb24tZXhwYW5kZWQtc3BhY2VyOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJHNpZGVuYXYtYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAuMnMgIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1tYXgtbGV2ZWxzOiAgICAgICAgICAgICAgICAgICAgIDUgIWRlZmF1bHQ7XHJcblxyXG4kc2lkZW5hdi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpICFkZWZhdWx0O1xyXG4kc2lkZW5hdi1kYXJrLW1lbnUtYmc6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA2KSAhZGVmYXVsdDtcclxuJHNpZGVuYXYtbGlnaHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNikgIWRlZmF1bHQ7XHJcbiRzaWRlbmF2LWxpZ2h0LW1lbnUtYmc6ICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xyXG5cclxuLy8gQ29uZmlnXHJcbiRydGwtc3VwcG9ydDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtYXRlcmlhbC1zdHlsZTogZmFsc2U7XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MvX2FwcHdvcmsvZnVuY3Rpb25zXCI7XHJcblxyXG5AbWl4aW4gYnMtbWF0ZXJpYWwtZGF0ZXRpbWVwaWNrZXItdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xyXG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIHlpcSgkYmFja2dyb3VuZCkpO1xyXG5cclxuICAuZHRwLWRhdGUsXHJcbiAgLmR0cC10aW1lIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC5kdHAtY2xvc2UgPiBhIHsgY29sb3I6ICRjb2xvcjsgfVxyXG5cclxuICBoZWFkZXIuZHRwLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAuODUpLCAkYmFja2dyb3VuZDogIzAwMCk7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgdGFibGUuZHRwLXBpY2tlci1kYXlzIHRyID4gdGQgPiBhLnNlbGVjdGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmR0cC1hY3R1YWwtbWVyaWRpZW4gYS5zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmR0cCAueWVhci1waWNrZXItaXRlbSB7XHJcbiAgICAmOmhvdmVyIHsgY29sb3I6ICRiYWNrZ3JvdW5kOyB9XHJcbiAgICAmLmFjdGl2ZSB7IGNvbG9yOiAkYmFja2dyb3VuZDsgfVxyXG4gIH1cclxuXHJcbiAgLmR0cCAuc3ZnLWNsb2NrIFtzdHJva2U9XCIjOEJDMzRBXCJdIHsgc3Ryb2tlOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XHJcbiAgLmR0cCAuc3ZnLWNsb2NrIFtmaWxsPVwiIzhCQzM0QVwiXSB7IGZpbGw6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cclxuICAuZHRwIC5zdmctY2xvY2sgW2ZpbGw9XCIjZmZmXCJdIHsgZmlsbDogJGNvbG9yICFpbXBvcnRhbnQ7IH1cclxufVxyXG4iXX0= */
