:root {
  --checkbalancebgimage: url('../../../Assets/imgs/tenants/carrefour/checkbalance/header_image.png');
  --checkbalanceibgmobileimage: url(../../../Assets/imgs/tenants/carrefour/checkbalance/header_image_mobile.png);
  /* Spinner */
  --spinner: url('../imgs/spinner.svg');
  /* Colors */
  --primary: color(primary);
  --secondary: color(fontdark);
  --success: color(success);
  --info: color(info);
  --warning: color(warning);
  --danger: color(danger);
  --light: color(light);
  --grey: color(grey);
  --whitesmoke: color(whitesmoke);
  --dark: color(dark);
  --muted: color(muted);
  --body: color(body);
  --font: color(font);
  --fontdark: color(fontdark);
  --white: color(white);
  --black: color(black);
  --sidebarbg: color(sidebarbg);
  --sidebarlink: color(sidebarlink);
  --sidebartext: color(fontdark);
  --sidebarhover: color(sidebarhover);
  --sidebarhoverlink: color(sidebarhoverlink);
  --sidebarlogobg: color(white);
  --navbar-bg: color(navbarbg);
  --navbarlink: color(sidebarbg);
  --navbartext: color(white);
  --beep: color(beep);
  --tableborder: color(tableborder);
  --primarytextcolor: color(primarytextcolor);
  --secondarytextcolor: color(secondarytextcolor);
  --hovermenu: color(white);
  --checkbalancelightblue: color(checkbalancelightblue);
  --checkbalancefooter: color(checkbalancefooter)
; }

.browser {
  display: inline-block;
  width: 60px;
  height: 60px;
  background-size: 100%; }
  .browser.browser-chrome {
    background-image: url("../imgs/browsers/chrome.png"); }
  .browser.browser-firefox {
    background-image: url("../imgs/browsers/firefox.png"); }
  .browser.browser-internet-explorer {
    background-image: url("../imgs/browsers/internet-explorer.png"); }
  .browser.browser-opera {
    background-image: url("../imgs/browsers/opera.png"); }
  .browser.browser-safari {
    background-image: url("../imgs/browsers/safari.png"); }

[data-tab-group] {
  display: none; }
  [data-tab-group].active {
    display: block; }

table.dataTable {
  border-collapse: collapse !important; }
  table.dataTable thead th,
  table.dataTable thead td {
    border-bottom: 1px solid var(--light) !important; }
  table.dataTable.no-footer {
    border-bottom: 1px solid var(--light) !important; }

.dataTables_wrapper {
  padding: 0 !important;
  font-size: 13px !important; }
  .dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 0 !important;
    margin: 0 !important;
    float: left; }

div.dataTables_wrapper div.dataTables_processing {
  font-size: 0 !important;
  /* background-image: var(--spinner) !important;
  background-color: color(white);
  background-size: 100%;
  width: 50px !important;
  height: 50px;
  border: none;
  @include shadow;
  top: 50% !important;
  left: 50% !important;
  -webkit-transform: translate(-50%, -50%) !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  opacity: 1 !important; */
  content: " ";
  position: absolute;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 999;
  background-image: var(--spinner);
  background-size: 80px;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1 !important;
  margin: 0 !important; }

.daterangepicker.dropdown-menu {
  width: auto; }

.daterangepicker .input-mini {
  padding-left: 28px !important; }

.daterangepicker .calendar th,
.daterangepicker .calendar td {
  padding: 5px;
  font-size: 12px; }

.daterangepicker .calendar tr {
  background: var(--white) !important;
  color: var(--font); }

.daterangepicker .calendar td.active, .daterangepicker .calendar td.active:hover {
  background: var(--primary) !important;
  color: var(--primarytextcolor) !important; }

.ranges li {
  color: var(--primary) !important; }
  .ranges li:hover, .ranges li.active {
    background-color: var(--primary) !important;
    color: var(--primarytextcolor) !important; }
  .ranges li span[data-translate] {
    pointer-events: none; }

.daterangepicker td.active,
.daterangepicker td.active:hover {
  background-color: var(--primary) !important; }

.note-editor.note-airframe,
.note-editor.note-frame {
  border: 1px solid var(--whitesmoke) !important; }

.flag-icon {
  width: 50px;
  height: 35px;
  display: inline-block;
  background-size: 100%; }
  .flag-icon.flag-icon-shadow {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); }

.ionicons {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap; }
  .ionicons li {
    width: calc(100% / 8);
    font-size: 40px;
    padding: 40px 20px;
    list-style: none;
    text-align: center;
    border-radius: 3px;
    position: relative;
    cursor: pointer; }
    .ionicons li:hover {
      opacity: .8; }
    .ionicons li .icon-name {
      position: absolute;
      top: 100%;
      left: 50%;
      width: 100%;
      -webkit-transform: translate(-50%, -100%);
      transform: translate(-50%, -100%);
      font-family: 'Segoe UI';
      font-size: 12px;
      margin-top: 10px;
      line-height: 22px;
      background-color: var(--whitesmoke);
      border-radius: 3px;
      padding: 10px;
      display: none; }

.nicescroll-rails .nicescroll-cursors {
  background-color: var(--primary) !important;
  border: 1px solid var(--primary) !important; }

.profile-widget {
  margin-top: 35px; }
  .profile-widget .profile-widget-picture {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    float: left;
    width: 100px;
    margin: -35px -5px 0 30px;
    position: relative;
    z-index: 1; }
  .profile-widget .profile-widget-header {
    display: inline-block;
    width: 100%;
    margin-bottom: 10px; }
  .profile-widget .profile-widget-items {
    display: flex;
    position: relative; }
    .profile-widget .profile-widget-items:after {
      content: ' ';
      position: absolute;
      bottom: 0;
      left: -25px;
      right: 0;
      height: 1px;
      background-color: var(--whitesmoke); }
    .profile-widget .profile-widget-items .profile-widget-item {
      flex: 1;
      text-align: center;
      border-right: 1px solid var(--whitesmoke);
      padding: 10px 0; }
      .profile-widget .profile-widget-items .profile-widget-item:last-child {
        border-right: none; }
      .profile-widget .profile-widget-items .profile-widget-item .profile-widget-item-label {
        font-weight: 600;
        font-size: 12px;
        letter-spacing: .5px;
        color: var(--fontdark); }
      .profile-widget .profile-widget-items .profile-widget-item .profile-widget-item-value {
        color: var(--black);
        font-weight: 600;
        font-size: 16px; }
  .profile-widget .profile-widget-description {
    padding: 20px;
    line-height: 26px; }
    .profile-widget .profile-widget-description .profile-widget-name {
      font-size: 16px;
      margin-bottom: 10px;
      font-weight: 600; }

@media (max-width: 575.98px) {
  .profile-widget .profile-widget-picture {
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    margin: 40px 0;
    float: none; }
  .profile-widget .profile-widget-items .profile-widget-item {
    border-top: 1px solid var(--whitesmoke); } }

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
  outline: none;
  box-shadow: none; }

.select2-container {
  cursor: pointer;
  width: 100% !important; }
  .select2-container .select2-selection--multiple,
  .select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 42px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none;
    outline: none;
    background-color: var(--whitesmoke);
    border-color: var(--primary);
    border: 1px solid var(--primary) !important;
    background-color: var(--whitesmoke) !important; }

.select2-dropdown {
  border-color: var(--primary) !important;
  z-index: 1050 !important; }

.select2-container.select2-container--open .select2-selection--multiple {
  background-color: var(--light);
  border-color: var(--primary); }

.select2-container.select2-container--focus .select2-selection--multiple,
.select2-container.select2-container--focus .select2-selection--single {
  background-color: var(--light);
  border-color: var(--primary); }

.select2-container.select2-container--open .select2-selection--single {
  background-color: var(--light);
  border-color: var(--primary); }

.select2-results__option {
  padding: 10px; }

.select2-search--dropdown .select2-search__field {
  padding: 7px; }

.select2-container--default .select2-selection--single .select2-selection__rendered {
  min-height: 42px;
  line-height: 42px !important;
  padding-left: 20px;
  padding-right: 20px; }

.select2-container--default .select2-selection--multiple .select2-selection__arrow,
.select2-container--default .select2-selection--single .select2-selection__arrow {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 40px;
  min-height: 42px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  color: var(--white);
  padding-left: 10px;
  padding-right: 10px; }

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  padding-left: 10px;
  padding-right: 10px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  margin-right: 5px;
  color: var(--white);
  display: none !important; }

.select2-container--default .select2-selection--multiple .select2-selection__choice,
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  background-color: var(--primary) !important;
  color: var(--primarytextcolor) !important; }

.select2-results__option {
  padding-right: 10px 15px; }

.select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -14px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0; }

.select2-selection__arrow {
  position: relative;
  top: 1px;
  right: 1px;
  width: 40px;
  min-height: 42px; }

.select2-selection--multiple:before {
  content: "";
  position: absolute;
  right: 7px;
  top: 42%;
  border-top: 5px solid #888;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 0; }
  .select2-container--open .select2-selection--multiple:before {
    border-top: 0;
    border-bottom: 5px solid #888;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent; }

.was-validated select.select2:invalid + .select2.select2-container.select2-container--default span.select2-selection,
select.select2.is-invalid + .select2.select2-container.select2-container--default span.select2-selection,
select.select2.error-filter + .select2.select2-container.select2-container--default span.select2-selection {
  border-color: var(--danger) !important; }

.was-validated select.select2:valid + .select2.select2-container.select2-container--default span.select2-selection,
select.select2.is-valid + .select2.select2-container.select2-container--default span.select2-selection {
  border-color: var(--success) !important; }

.select2-container--default .select2-search--inline .select2-search__field {
  width: 100% !important; }

.select2-container--default .select2-selection--multiple {
  cursor: pointer !important; }

.select2-container--disabled .select2-selection--single {
  background-color: #e9ecef !important;
  opacity: 1 !important; }

select[readonly].select2-hidden-accessible + .select2-container {
  pointer-events: none;
  touch-action: none; }

select[readonly].select2-hidden-accessible + .select2-container .select2-selection {
  background: var(--light) !important;
  box-shadow: none; }

select[readonly].select2-hidden-accessible + .select2-container .select2-selection__arrow,
select[readonly].select2-hidden-accessible + .select2-container .select2-selection__clear {
  display: none; }

.container-input-inputfile .invalid-feedback {
  position: absolute;
  text-align: left;
  left: 15px;
  bottom: 0px; }

.btn .invalid-feedback {
  font-size: 94%; }

.swal-button {
  border-radius: 3px;
  font-size: 16px; }
  .swal-button:focus {
    box-shadow: none; }
  .swal-button.swal-button--confirm {
    box-shadow: 0 2px 6px var(--primary);
    background-color: var(--primary); }
    .swal-button.swal-button--confirm:focus {
      opacity: .8; }

.swal-footer {
  text-align: center; }

.swal-text {
  text-align: center;
  line-height: 24px;
  font-weight: 500; }

.bootstrap-tagsinput {
  background-color: var(--whitesmoke);
  border-color: var(--primary);
  display: block;
  height: 46px;
  box-shadow: none;
  overflow: auto; }
  .bootstrap-tagsinput input {
    height: 100%;
    padding: 0 8px; }
  .bootstrap-tagsinput .tag {
    background-color: var(--primary);
    border-radius: 3px;
    padding: 5px 10px; }
    .bootstrap-tagsinput .tag:first-child {
      margin-left: 5px; }
  .bootstrap-tagsinput:focus {
    background-color: var(--light);
    border-color: var(--primary); }

.bootstrap-timepicker-widget table td a span {
  margin-left: 0 !important; }

#toast-container > div {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 20px 20px 20px 50px;
  opacity: 1; }

#toast-container > .toast {
  background-image: none !important; }
  #toast-container > .toast:before {
    position: absolute;
    left: 17px;
    top: 25px;
    font-family: 'Ionicons';
    font-size: 24px;
    line-height: 18px;
    color: var(--white); }

#toast-container > .toast-warning:before {
  content: "\f100"; }

#toast-container > .toast-error:before {
  content: "\f2d7"; }

#toast-container > .toast-info:before {
  content: "\f44c";
  color: var(--black); }

#toast-container > .toast-success:before {
  content: "\f121"; }

.toast.toast-error {
  background-color: var(--danger); }

.toast.toast-warning {
  background-color: var(--warning); }

.toast.toast-success {
  background-color: var(--success); }

.toast.toast-info {
  background-color: var(--white); }
  .toast.toast-info .toast-title {
    color: var(--black); }
  .toast.toast-info .toast-message {
    color: var(--black);
    margin-top: 5px; }

.iziToast.iziToast-color-red {
  background: var(--danger);
  border-color: var(--danger); }

.iziToast.iziToast-color-orange {
  background: var(--warning);
  border-color: var(--warning); }

.iziToast.iziToast-color-blue {
  background: var(--info);
  border-color: var(--info); }

.iziToast.iziToast-color-green {
  background: var(--success);
  border-color: var(--success); }

.iziToast > .iziToast-body .iziToast-icon.ico-info,
.iziToast > .iziToast-body .iziToast-icon.ico-warning,
.iziToast > .iziToast-body .iziToast-icon.ico-error,
.iziToast > .iziToast-body .iziToast-icon.ico-success,
.iziToast > .iziToast-close {
  filter: invert(1); }

.iziToast > .iziToast-body .iziToast-icon,
.iziToast > .iziToast-body .iziToast-message {
  color: var(--white); }

.user-item {
  text-align: center; }
  .user-item img {
    border-radius: 50%;
    padding-left: 20px;
    padding-right: 20px; }
  .user-item .user-details {
    margin-top: 10px; }
    .user-item .user-details .user-name {
      font-weight: 600;
      color: var(--dark);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
    .user-item .user-details .user-cta {
      margin-top: 10px; }
      .user-item .user-details .user-cta .btn {
        padding: 5px 15px;
        font-size: 12px;
        border-radius: 30px; }

@media (max-width: 575.98px) {
  .user-progress .media, .user-details .media {
    text-align: center;
    display: inline-block;
    width: 100%; }
  .user-progress .media img, .user-details .media img {
    margin: 0 !important;
    margin-bottom: 10px !important; }
  .user-progress .media .media-body, .user-details .media .media-body {
    width: 100%; }
  .user-progress .media .media-items, .user-details .media .media-items {
    margin: 20px 0;
    width: 100%; }
  .user-progress .list-unstyled-noborder li:last-child, .user-details .list-unstyled-noborder li:last-child {
    margin-bottom: 0;
    padding-bottom: 0; }
  .user-progress .media .media-progressbar {
    margin-top: 10px; }
  .user-progress .media .media-cta {
    margin-top: 20px;
    margin-left: 0; } }

.pwindicator {
  margin-top: 4px;
  width: 150px; }
  .pwindicator .bar {
    height: 2px; }

.pw-very-weak .bar {
  background: var(--danger);
  width: 30px; }

.pw-very-weak .label {
  color: var(--danger); }

.pw-weak .bar {
  background: var(--danger);
  width: 60px; }

.pw-weak .label {
  color: var(--danger); }

.pw-mediocre .bar {
  background: #f3f01a;
  width: 90px; }

.pw-mediocre .label {
  color: #f3f01a; }

.pw-strong .bar {
  background: #f3b31a;
  width: 120px; }

.pw-strong .label {
  color: #f3b31a; }

.pw-very-strong .bar {
  background: #0d0;
  width: 150px; }

.pw-very-strong .label {
  color: #0d0; }

.invoice {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  background-color: var(--white);
  border-radius: px;
  border: none;
  position: relative;
  margin-bottom: 30px;
  padding: 40px; }
  .invoice .invoice-title .invoice-number {
    float: right;
    font-size: 20px;
    font-weight: 700;
    margin-top: -45px; }
  .invoice hr {
    margin-top: 40px;
    margin-bottom: 40px;
    border-top-color: var(--whitesmoke); }
  .invoice .invoice-detail-item {
    margin-bottom: 15px; }
    .invoice .invoice-detail-item .invoice-detail-name {
      letter-spacing: .3px;
      color: var(--muted);
      margin-bottom: 4px; }
    .invoice .invoice-detail-item .invoice-detail-value {
      font-size: 18px;
      color: var(--fontdark);
      font-weight: 700; }
      .invoice .invoice-detail-item .invoice-detail-value.invoice-detail-value-lg {
        font-size: 24px; }

@media (min-width: 768px) and (max-width: 991.98px) {
  .table-invoice table {
    min-width: 800px; } }

.empty-state {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 40px; }
  .empty-state .empty-state-icon {
    position: relative;
    background-color: var(--primary);
    width: 80px;
    height: 80px;
    line-height: 100px;
    border-radius: 5px; }
    .empty-state .empty-state-icon i {
      font-size: 40px;
      color: var(--white);
      position: relative;
      z-index: 1; }
  .empty-state h2 {
    font-size: 20px;
    margin-top: 30px; }
  .empty-state p {
    font-size: 16px; }

/**
 * Thanks to Spectre.css
 */
.avatar {
  background: var(--primary);
  border-radius: 50%;
  color: var(--light);
  display: inline-block;
  font-size: 16px;
  font-weight: 300;
  margin: 0;
  position: relative;
  vertical-align: middle;
  line-height: 1.28;
  height: 45px;
  width: 45px; }
  .avatar.avatar-xs {
    font-size: 6px;
    height: 15px;
    width: 15px; }
  .avatar.avatar-sm {
    font-size: 12px;
    height: 30px;
    width: 30px; }
  .avatar.avatar-lg {
    font-size: 23px;
    height: 60px;
    width: 60px; }
  .avatar.avatar-xl {
    font-size: 30px;
    height: 75px;
    width: 75px; }
  .avatar img {
    border-radius: 50%;
    height: 100%;
    position: relative;
    width: 100%;
    z-index: 1; }
  .avatar .avatar-icon {
    background: var(--white);
    bottom: 14.64%;
    height: 50%;
    padding: .1rem;
    position: absolute;
    right: 14.64%;
    transform: translate(50%, 50%);
    width: 50%;
    z-index: 2; }
  .avatar .avatar-presence {
    background: var(--white);
    bottom: 14.64%;
    height: 50%;
    padding: .1rem;
    position: absolute;
    right: 14.64%;
    transform: translate(50%, 50%);
    width: 50%;
    z-index: 2;
    background: var(--light);
    border-radius: 50%;
    box-shadow: 0 0 0 0.1rem var(--white);
    height: .5em;
    width: .5em; }
    .avatar .avatar-presence.online {
      background: var(--success); }
    .avatar .avatar-presence.busy {
      background: var(--danger); }
    .avatar .avatar-presence.away {
      background: var(--warning); }
  .avatar[data-initial]::before {
    color: currentColor;
    content: attr(data-initial);
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1; }

.wizard-steps {
  display: flex;
  margin: 0 -10px;
  margin-bottom: 60px;
  counter-reset: wizard-counter; }
  .wizard-steps .wizard-step {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background-color: var(--white);
    border-radius: px;
    border: none;
    position: relative;
    margin-bottom: 30px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    padding: 30px;
    text-align: center;
    flex-grow: 1;
    flex-basis: 0;
    margin: 0 10px; }
    .wizard-steps .wizard-step:before {
      counter-increment: wizard-counter;
      content: counter(wizard-counter);
      position: absolute;
      bottom: -40px;
      left: 50%;
      transform: translateX(-50%);
      width: 20px;
      height: 20px;
      line-height: 21px;
      font-size: 10px;
      font-weight: 700;
      border-radius: 50%;
      background-color: var(--light); }
    .wizard-steps .wizard-step.wizard-step-active {
      box-shadow: 0 2px 6px var(--primary);
      background-color: var(--primary);
      color: var(--white); }
      .wizard-steps .wizard-step.wizard-step-active:before {
        background-color: var(--primary);
        color: var(--white); }
    .wizard-steps .wizard-step.wizard-step-success {
      background-color: var(--success);
      color: var(--white); }
      .wizard-steps .wizard-step.wizard-step-success:before {
        background-color: var(--success);
        color: var(--white); }
    .wizard-steps .wizard-step.wizard-step-danger {
      background-color: var(--danger);
      color: var(--white); }
      .wizard-steps .wizard-step.wizard-step-danger:before {
        background-color: var(--danger);
        color: var(--white); }
    .wizard-steps .wizard-step.wizard-step-warning {
      background-color: var(--warning);
      color: var(--white); }
      .wizard-steps .wizard-step.wizard-step-warning:before {
        background-color: var(--warning);
        color: var(--white); }
    .wizard-steps .wizard-step.wizard-step-info {
      background-color: var(--info);
      color: var(--white); }
      .wizard-steps .wizard-step.wizard-step-info:before {
        background-color: var(--info);
        color: var(--white); }
    .wizard-steps .wizard-step .wizard-step-icon .fas, .wizard-steps .wizard-step .wizard-step-icon .far, .wizard-steps .wizard-step .wizard-step-icon .fab, .wizard-steps .wizard-step .wizard-step-icon .fal, .wizard-steps .wizard-step .wizard-step-icon .ion {
      font-size: 34px;
      margin-bottom: 15px; }
    .wizard-steps .wizard-step .wizard-step-label {
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 1px;
      font-weight: 700; }

@media (max-width: 575.98px) {
  .wizard-steps {
    display: block; }
    .wizard-steps .wizard-step {
      margin-bottom: 50px; } }

.back-to-top {
  display: inline-block;
  background-color: var(--whitesmoke);
  width: 50px;
  height: 50px;
  text-align: center;
  border-radius: 4px;
  position: fixed;
  bottom: 30px;
  right: 30px;
  transition: background-color .3s, opacity .5s, visibility .5s;
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
  box-shadow: 0px 0px 15px -3px rgba(0, 0, 0, 0.2); }

.back-to-top:hover,
.back-to-top:active {
  cursor: pointer; }
  .back-to-top:hover .angle_up_override,
  .back-to-top:active .angle_up_override {
    color: var(--primary);
    opacity: 1; }

.back-to-top.show {
  opacity: 1;
  visibility: visible; }

.angle_up_override {
  color: var(--primary);
  font-size: 30px;
  padding: 10px 0 10px 0;
  opacity: .5; }

.wrapper-autocomplete {
  position: relative; }
  .wrapper-autocomplete .autocomplete-container {
    border-radius: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    z-index: 9;
    max-height: 200px;
    overflow-y: scroll;
    height: auto;
    left: 0;
    position: absolute;
    width: 100%; }
    .wrapper-autocomplete .autocomplete-container > ul {
      background: none repeat scroll 0 0 var(--white);
      margin-top: 0;
      padding-bottom: 0;
      padding-left: 0;
      position: relative;
      top: -1px;
      margin-bottom: 0; }
      .wrapper-autocomplete .autocomplete-container > ul > li {
        padding: 5px;
        height: 40px;
        border: 1px solid var(--whitesmoke); }
      .wrapper-autocomplete .autocomplete-container > ul > li:hover {
        background: var(--whitesmoke);
        color: var(--primary);
        cursor: pointer; }
  .wrapper-autocomplete .clear-icon {
    position: absolute;
    right: 10px;
    top: 15px;
    color: var(--primary);
    cursor: pointer; }

.container-img-inputfile {
  display: table;
  position: relative;
  text-align: center; }
  .container-img-inputfile img {
    max-width: 170px;
    max-height: 170px;
    margin: 0 auto 20px;
    padding: 0 10px; }
  .container-img-inputfile > i {
    position: absolute;
    right: -20px;
    top: 5px;
    padding: 4px;
    cursor: pointer; }

fieldset[data-allprops-selected-voucher-template-id] a > label {
  cursor: pointer; }

.codes-validation-header {
  color: var(--gray);
  padding: 10px;
  background-color: var(--whitesmoke);
  border-radius: 3px;
  cursor: pointer; }

.codes-validation-header.active {
  background-color: var(--primary);
  color: var(--primarytextcolor); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5jc3MiLCJzb3VyY2VzIjpbImNvbXBvbmVudHMuc2NzcyIsIl92YXJpYWJsZS5zY3NzIiwiX21peGluLnNjc3MiLCJjb21wb25lbnRzL19icm93c2VyLnNjc3MiLCJjb21wb25lbnRzL19jdXN0b210YWIuc2NzcyIsImNvbXBvbmVudHMvX2RhdGF0YWJsZXMuc2NzcyIsImNvbXBvbmVudHMvX2RhdGVyYW5nZXBpY2tlci5zY3NzIiwiY29tcG9uZW50cy9fZWRpdG9ySFRNTC5zY3NzIiwiY29tcG9uZW50cy9fZmxhZ2ljb24uc2NzcyIsImNvbXBvbmVudHMvX2lvbmljb25zLnNjc3MiLCJjb21wb25lbnRzL19uaWNlc2Nyb2xscy5zY3NzIiwiY29tcG9uZW50cy9fcHJvZmlsZS5zY3NzIiwiY29tcG9uZW50cy9fc2VsZWN0Mi5zY3NzIiwiY29tcG9uZW50cy9fc3dlZXRhbGVydC5zY3NzIiwiY29tcG9uZW50cy9fdGFnc2lucHV0LnNjc3MiLCJjb21wb25lbnRzL190aW1lcGlja2VyLnNjc3MiLCJjb21wb25lbnRzL190b2FzdC5zY3NzIiwiY29tcG9uZW50cy9fdXNlcml0ZW0uc2NzcyIsImNvbXBvbmVudHMvX3B3c3RyZW5ndGguc2NzcyIsImNvbXBvbmVudHMvX2ludm9pY2Uuc2NzcyIsImNvbXBvbmVudHMvX2VtcHR5X3N0YXRlLnNjc3MiLCJjb21wb25lbnRzL19hdmF0YXIuc2NzcyIsImNvbXBvbmVudHMvX3dpemFyZC5zY3NzIiwiY29tcG9uZW50cy9fYmFja3RvdG9wLnNjc3MiLCJjb21wb25lbnRzL19hdXRvY29tcGxldGUuc2NzcyIsImNvbXBvbmVudHMvX2ZhbmN5Ym94LnNjc3MiLCJjb21wb25lbnRzL19pbXBvcnRwcmludGVycy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJfdmFyaWFibGVcIjtcclxuQGltcG9ydCBcIl9taXhpblwiO1xyXG5cclxuXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19icm93c2VyXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19jdXN0b210YWJcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvX2RhdGF0YWJsZXNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvX2RhdGVyYW5nZXBpY2tlclwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZWRpdG9ySFRNTFwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZmxhZ2ljb25cIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvX2lvbmljb25zXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19uaWNlc2Nyb2xsc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcHJvZmlsZVwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fc2VsZWN0MlwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fc3dlZXRhbGVydFwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdGFnc2lucHV0XCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL190aW1lcGlja2VyXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL190b2FzdFwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdXNlcml0ZW1cIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvX3B3c3RyZW5ndGhcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvX2ludm9pY2VcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvX2VtcHR5X3N0YXRlXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19hdmF0YXJcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvX3dpemFyZFwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYmFja3RvdG9wXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19hdXRvY29tcGxldGUuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZmFuY3lib3guc2Nzc1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9faW1wb3J0cHJpbnRlcnNcIjtcclxuIiwiOnJvb3Qge1xyXG5cdC0tY2hlY2tiYWxhbmNlYmdpbWFnZTogdXJsKCcuLi8uLi8uLi9Bc3NldHMvaW1ncy90ZW5hbnRzL2NhcnJlZm91ci9jaGVja2JhbGFuY2UvaGVhZGVyX2ltYWdlLnBuZycpO1xyXG5cdC0tY2hlY2tiYWxhbmNlaWJnbW9iaWxlaW1hZ2U6IHVybCguLi8uLi8uLi9Bc3NldHMvaW1ncy90ZW5hbnRzL2NhcnJlZm91ci9jaGVja2JhbGFuY2UvaGVhZGVyX2ltYWdlX21vYmlsZS5wbmcpO1xyXG5cdC8qIFNwaW5uZXIgKi9cclxuXHQtLXNwaW5uZXI6IHVybCgnLi4vaW1ncy9zcGlubmVyLnN2ZycpO1xyXG5cdC8qIENvbG9ycyAqL1xyXG5cdC0tcHJpbWFyeTogY29sb3IocHJpbWFyeSk7XHJcblx0LS1zZWNvbmRhcnk6IGNvbG9yKGZvbnRkYXJrKTtcclxuXHQtLXN1Y2Nlc3M6IGNvbG9yKHN1Y2Nlc3MpO1xyXG5cdC0taW5mbzogY29sb3IoaW5mbyk7XHJcblx0LS13YXJuaW5nOiBjb2xvcih3YXJuaW5nKTtcclxuXHQtLWRhbmdlcjogY29sb3IoZGFuZ2VyKTtcclxuXHQtLWxpZ2h0OiBjb2xvcihsaWdodCk7XHJcblx0LS1ncmV5OiBjb2xvcihncmV5KTtcclxuXHQtLXdoaXRlc21va2U6IGNvbG9yKHdoaXRlc21va2UpO1xyXG5cdC0tZGFyazogY29sb3IoZGFyayk7XHJcblx0LS1tdXRlZDogY29sb3IobXV0ZWQpO1xyXG5cdC0tYm9keTogY29sb3IoYm9keSk7XHJcblx0LS1mb250OiBjb2xvcihmb250KTtcclxuXHQtLWZvbnRkYXJrOiBjb2xvcihmb250ZGFyayk7XHJcblx0LS13aGl0ZTogY29sb3Iod2hpdGUpO1xyXG5cdC0tYmxhY2s6IGNvbG9yKGJsYWNrKTtcclxuXHQtLXNpZGViYXJiZzogY29sb3Ioc2lkZWJhcmJnKTtcclxuXHQtLXNpZGViYXJsaW5rOiBjb2xvcihzaWRlYmFybGluayk7XHJcblx0LS1zaWRlYmFydGV4dDogY29sb3IoZm9udGRhcmspO1xyXG5cdC0tc2lkZWJhcmhvdmVyOiBjb2xvcihzaWRlYmFyaG92ZXIpO1xyXG5cdC0tc2lkZWJhcmhvdmVybGluazogY29sb3Ioc2lkZWJhcmhvdmVybGluayk7XHJcblx0LS1zaWRlYmFybG9nb2JnOiBjb2xvcih3aGl0ZSk7XHJcblx0LS1uYXZiYXItYmc6IGNvbG9yKG5hdmJhcmJnKTtcclxuXHQtLW5hdmJhcmxpbms6IGNvbG9yKHNpZGViYXJiZyk7XHJcblx0LS1uYXZiYXJ0ZXh0OiBjb2xvcih3aGl0ZSk7XHJcblx0LS1iZWVwOiBjb2xvcihiZWVwKTtcclxuXHQtLXRhYmxlYm9yZGVyOiBjb2xvcih0YWJsZWJvcmRlcik7XHJcblx0LS1wcmltYXJ5dGV4dGNvbG9yOiBjb2xvcihwcmltYXJ5dGV4dGNvbG9yKTtcclxuXHQtLXNlY29uZGFyeXRleHRjb2xvcjogY29sb3Ioc2Vjb25kYXJ5dGV4dGNvbG9yKTtcclxuXHQtLWhvdmVybWVudTogY29sb3Iod2hpdGUpO1xyXG5cdC0tY2hlY2tiYWxhbmNlbGlnaHRibHVlOiBjb2xvcihjaGVja2JhbGFuY2VsaWdodGJsdWUpO1xyXG5cdC0tY2hlY2tiYWxhbmNlZm9vdGVyOiBjb2xvcihjaGVja2JhbGFuY2Vmb290ZXIpXHJcbn1cclxuJGNvbG9yczogKFxyXG4gIHByaW1hcnk6ICAgIFx0ICAjNjc3N2VjLFxyXG4gIHNlY29uZGFyeTogICAgICAjY2RkM2Q4LFxyXG4gIHN1Y2Nlc3M6ICAgICAgICAjMjhhNzQ1LFxyXG4gIGluZm86ICAgICAgICAgICAjM2FiYWY0LFxyXG4gIHdhcm5pbmc6ICAgICAgICAjZmZhNDI2LFxyXG4gIGRhbmdlcjogICAgICAgICAjZGMzNTQ1LFxyXG4gIGxpZ2h0OiAgICAgICAgICAjZTNlYWVmLFxyXG4gIGdyZXk6ICBcdFx0ICAgICAgIzg2OGU5NixcclxuICB3aGl0ZXNtb2tlOiAgICAgI2Y3ZjlmOSxcclxuICBkYXJrOiAgICAgICBcdCAgIzE5MWQyMSxcclxuICBtdXRlZDogICAgICAgICAgIzk4YTZhZCxcclxuICBib2R5OiAgICAgICAgICAgI2ZhZmRmYixcclxuICBmb250OiAgICAgICAgICAgIzZjNzU3ZCxcclxuICBmb250ZGFyazogICAgICAgIzM0Mzk1ZSxcclxuICB3aGl0ZTogICAgICAgICAgI2ZmZmZmZixcclxuICBibGFjazogICAgICAgICAgIzAwMDAwMCxcclxuICBzaWRlYmFyYmc6ICAgICAgI0FCQ0RFRixcclxuICBzaWRlYmFybGluazpcdCAgI2FhYWFhYSxcclxuICBzaWRlYmFydGV4dDpcdCAgI2FhYWFhYSxcclxuICBzaWRlYmFyaG92ZXI6XHQgICM2Nzc3ZWMsXHJcbiAgc2lkZWJhcmhvdmVybGluazogI0ZGRkZGRixcclxuICBzaWRlYmFybG9nb2JnOiAgICAjRkZGRkZGLFxyXG4gIG5hdmJhcmJnOlx0XHQgICAgIzY3NzdlYyxcclxuICBuYXZiYXJsaW5rOlx0XHQgICAgIzY3NzdlYyxcclxuICBuYXZiYXJ0ZXh0Olx0XHQgICAgIzY3NzdlYyxcclxuICBiZWVwOiAgICAgICAgICAgICAjZmZhNDI2LFxyXG4gIHRhYmxlYm9yZGVyOlx0ICAjZWVlLFxyXG4gIHByaW1hcnl0ZXh0Y29sb3I6ICM2Nzc3ZWMsXHJcbiAgc2Vjb25kYXJ5dGV4dGNvbG9yOiAjY2RkM2Q4LFxyXG5cdGhvdmVybWVudTogI0ZGRkZGRixcclxuICBjaGVja2JhbGFuY2VsaWdodGJsdWU6ICMwOTcwRTYsXHJcbiAgY2hlY2tiYWxhbmNlZm9vdGVyOiAjRTZGMUZDXHJcblxyXG4pO1xyXG5cclxuJGdyaWQtYnJlYWtwb2ludHM6IChcclxuICB4czogMCxcclxuICBzbTogNTc2cHgsXHJcbiAgbWQ6IDc2OHB4LFxyXG4gIGxnOiA5OTJweCxcclxuICB4bDogMTIwMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcbkBmdW5jdGlvbiBjb2xvcigka2V5KSB7XHJcbiAgQHJldHVybiB2YXIoLS0jeyRrZXl9KTtcclxuXHQvLyBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjb2xvcl9saWdodGVuKCRrZXksICRhbW91bnQpIHtcclxuXHRAcmV0dXJuIGxpZ2h0ZW4obWFwLWdldCgkY29sb3JzLCAka2V5KSwgJGFtb3VudCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjb2xvcl9kYXJrZW4oJGtleSwgJGFtb3VudCkge1xyXG5cdEByZXR1cm4gZGFya2VuKG1hcC1nZXQoJGNvbG9ycywgJGtleSksICRhbW91bnQpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdG9fb3BhY2l0eSgkY29sb3IsICRvcGFjaXR5KSB7XHJcbiAgQHJldHVybiByZ2JhKGNvbG9yKCRjb2xvciksICRvcGFjaXR5KTtcclxufVxyXG5cclxuXHJcbiIsIkBtaXhpbiBzaGFkb3coJHNpemU6IDAgNHB4IDhweCwgJGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkpIHtcclxuICBib3gtc2hhZG93OiAkc2l6ZSAkY29sb3I7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJkX2Jhc2UoJGJvcmRlci1yYWRpdXM6IHB4KSB7XHJcbiAgQGluY2x1ZGUgc2hhZG93KCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuQG1peGluIGJhY2tncm91bmRfc3Bpbm5lcigkc2l6ZTogODBweCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXNwaW5uZXIpO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogJHNpemU7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbn1cclxuXHJcbkBtaXhpbiBvdmVybGF5KCR6LWluZGV4OiA5OSwgJGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSkge1xyXG4gIGNvbnRlbnQ6IFwiIFwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDAgIWltcG9ydGFudDtcclxuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcclxuICB6LWluZGV4OiAkei1pbmRleDtcclxufVxyXG5cclxuQG1peGluIGJveCgkd2lkdGg6IDUwcHgsICRoZWlnaHQ6IDUwcHgsICRsaW5lLWhlaWdodDogNTBweCwgJGZvbnQtc2l6ZTogMjBweCwgJGJvcmRlci1yYWRpdXM6IDNweCkge1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIHNoYWRvdy1saWdodGVuKCRjb2xvciwgJGFtb3VudDogMTUlKSB7XHJcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IGNvbG9yKCRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tc2hhZG93KCRjb2xvciwgJGFtb3VudDogMTUlKSB7XHJcbiAgQGluY2x1ZGUgc2hhZG93LWxpZ2h0ZW4oJGNvbG9yLCAkYW1vdW50KTtcclxufVxyXG5cclxuQG1peGluIGljb24tc2hhZG93KCRjb2xvciwgJGFtb3VudDogMTUlKSB7XHJcbiAgYm94LXNoYWRvdzogMCA0cHggOHB4IGNvbG9yKCRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBkcm9wZG93bi1pbmRpY2F0b3IoJGNvbnRlbnQ6IFwiXFxmMGQ3XCIpIHtcclxuICBjb250ZW50OiAkY29udGVudDtcclxuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgcmlnaHQ6IDIwcHg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcclxuICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbkBtaXhpbiBtYWluLXNpZGViYXIoJHotaW5kZXg6IDg4MCkge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAyNTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzaWRlYmFyYmcpO1xyXG4gIHotaW5kZXg6ICR6LWluZGV4O1xyXG59XHJcblxyXG5AbWl4aW4gY2hpbGRyZW4tbWFyZ2luKCkge1xyXG4gIG1hcmdpbjogMCA4cHggMTBweCAwO1xyXG59XHJcblxyXG5AbWl4aW4gZm9ybS1jb250cm9sKCkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlc21va2UpO1xyXG4gIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSk7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobGlnaHQpO1xyXG4gIGJvcmRlci1jb2xvcjogY29sb3IocHJpbWFyeSk7XHJcbn1cclxuXHJcbi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXHJcbi8vXHJcbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcclxuLy9cclxuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxyXG4vL1xyXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXHJcblxyXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxyXG4vLyAgICBtZFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xyXG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xyXG59XHJcblxyXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA1NzZweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cclxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcclxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cclxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxyXG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHJcbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA3NjcuOThweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMC4wMnB4LCBudWxsKTtcclxufVxyXG5cclxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cclxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIi1zbVwiXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWluIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtYXgge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cclxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmJyb3dzZXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogNjBweDtcclxuICBoZWlnaHQ6IDYwcHg7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICYuYnJvd3Nlci1jaHJvbWUge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWdzL2Jyb3dzZXJzL2Nocm9tZS5wbmcnKTtcclxuICB9XHJcbiAgJi5icm93c2VyLWZpcmVmb3gge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWdzL2Jyb3dzZXJzL2ZpcmVmb3gucG5nJyk7XHJcbiAgfVxyXG4gICYuYnJvd3Nlci1pbnRlcm5ldC1leHBsb3JlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZ3MvYnJvd3NlcnMvaW50ZXJuZXQtZXhwbG9yZXIucG5nJyk7XHJcbiAgfVxyXG4gICYuYnJvd3Nlci1vcGVyYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZ3MvYnJvd3NlcnMvb3BlcmEucG5nJyk7XHJcbiAgfVxyXG4gICYuYnJvd3Nlci1zYWZhcmkge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWdzL2Jyb3dzZXJzL3NhZmFyaS5wbmcnKTtcclxuICB9XHJcbn0iLCJbZGF0YS10YWItZ3JvdXBdIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gICYuYWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufSIsInRhYmxlLmRhdGFUYWJsZSB7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xyXG4gIHRoZWFkIHtcclxuICAgIHRoLFxyXG4gICAgdGQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IobGlnaHQpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubm8tZm9vdGVyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihsaWdodCkgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIge1xyXG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcclxuICAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG5kaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3Byb2Nlc3Npbmcge1xyXG4gIGZvbnQtc2l6ZTogMCAhaW1wb3J0YW50O1xyXG4gIC8qIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXNwaW5uZXIpICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICB3aWR0aDogNTBweCAhaW1wb3J0YW50O1xyXG4gIGhlaWdodDogNTBweDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgQGluY2x1ZGUgc2hhZG93O1xyXG4gIHRvcDogNTAlICFpbXBvcnRhbnQ7XHJcbiAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSAhaW1wb3J0YW50O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyAqL1xyXG4gIEBpbmNsdWRlIG92ZXJsYXkoOTk5KTtcclxuICBAaW5jbHVkZSBiYWNrZ3JvdW5kX3NwaW5uZXI7XHJcbiAgei1pbmRleDogMSAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi5kYXRlcmFuZ2VwaWNrZXIge1xyXG4gICYuZHJvcGRvd24tbWVudSB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9XHJcbiAgLmlucHV0LW1pbmkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5jYWxlbmRhciB7XHJcbiAgICB0aCxcclxuICAgIHRkIHtcclxuICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB9XHJcbiAgICB0ciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHdoaXRlKSAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogY29sb3IoZm9udCk7XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICYuYWN0aXZlLFxyXG4gICAgICAmLmFjdGl2ZTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IocHJpbWFyeSkgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeXRleHRjb2xvcikgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnJhbmdlcyB7XHJcbiAgbGkge1xyXG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnkpICFpbXBvcnRhbnQ7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KSAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeXRleHRjb2xvcikgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIHNwYW5bZGF0YS10cmFuc2xhdGVdIHtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZGF0ZXJhbmdlcGlja2VyIHRkLmFjdGl2ZSxcclxuLmRhdGVyYW5nZXBpY2tlciB0ZC5hY3RpdmU6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUsIFxyXG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13aGl0ZXNtb2tlKSAhaW1wb3J0YW50O1xyXG59IiwiLmZsYWctaWNvbiB7XHJcbiAgd2lkdGg6IDUwcHg7XHJcbiAgaGVpZ2h0OiAzNXB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgJi5mbGFnLWljb24tc2hhZG93IHtcclxuICBcdEBpbmNsdWRlIHNoYWRvdztcclxuICB9XHJcbn0iLCIuaW9uaWNvbnMge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGxpIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA4KTtcclxuICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIHBhZGRpbmc6IDQwcHggMjBweDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgb3BhY2l0eTogLjg7XHJcbiAgICB9XHJcbiAgICAuaWNvbi1uYW1lIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDEwMCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknO1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZXNtb2tlKTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5uaWNlc2Nyb2xsLXJhaWxzIHtcclxuICAgIC5uaWNlc2Nyb2xsLWN1cnNvcnMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IocHJpbWFyeSkgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4iLCIucHJvZmlsZS13aWRnZXQge1xyXG4gIG1hcmdpbi10b3A6IDM1cHg7XHJcbiAgLnByb2ZpbGUtd2lkZ2V0LXBpY3R1cmUge1xyXG4gICAgQGluY2x1ZGUgc2hhZG93O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBtYXJnaW46IC0zNXB4IC01cHggMCAzMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcbiAgLnByb2ZpbGUtd2lkZ2V0LWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG4gIC5wcm9maWxlLXdpZGdldC1pdGVtcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcgJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IC0yNXB4O1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlc21va2UpO1xyXG4gICAgfVxyXG4gICAgLnByb2ZpbGUtd2lkZ2V0LWl0ZW0ge1xyXG4gICAgICBmbGV4OiAxO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGNvbG9yKHdoaXRlc21va2UpO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgIC5wcm9maWxlLXdpZGdldC1pdGVtLWxhYmVsIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcclxuICAgICAgICBjb2xvcjogY29sb3IoZm9udGRhcmspO1xyXG4gICAgICB9XHJcbiAgICAgIC5wcm9maWxlLXdpZGdldC1pdGVtLXZhbHVlIHtcclxuICAgICAgICBjb2xvcjogY29sb3IoYmxhY2spO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wcm9maWxlLXdpZGdldC1kZXNjcmlwdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAucHJvZmlsZS13aWRnZXQtbmFtZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xyXG4gIC5wcm9maWxlLXdpZGdldCB7XHJcbiAgICAucHJvZmlsZS13aWRnZXQtcGljdHVyZSB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XHJcbiAgICAgIG1hcmdpbjogNDBweCAwO1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgIH1cclxuICAgIC5wcm9maWxlLXdpZGdldC1pdGVtcyAucHJvZmlsZS13aWRnZXQtaXRlbSB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcih3aGl0ZXNtb2tlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcbn1cclxuLnNlbGVjdDItY29udGFpbmVyIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSxcclxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtaW4taGVpZ2h0OiA0MnB4O1xyXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2w7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihwcmltYXJ5KSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGVzbW9rZSkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8vcmVzaXplIGF1dG9tYXRpY2FsbHkgd2l0aG91dCByZWZyZXNoaW5nXHJcbn1cclxuXHJcbi5zZWxlY3QyLWRyb3Bkb3duIHtcclxuICBib3JkZXItY29sb3I6IGNvbG9yKHByaW1hcnkpICFpbXBvcnRhbnQ7XHJcbiAgei1pbmRleDogMTA1MCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXIge1xyXG4gICYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXM7XHJcbiAgfVxyXG4gICYuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIHtcclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUsXHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XHJcbiAgICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cztcclxuICAgIH1cclxuICB9XHJcbiAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XHJcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXM7XHJcbiAgfVxyXG59XHJcblxyXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XHJcbiAgcGFkZGluZzogN3B4O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQge1xyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xyXG4gICAgbWluLWhlaWdodDogNDJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3csXHJcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDFweDtcclxuICAgIHJpZ2h0OiAxcHg7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDQycHg7XHJcbiAgfVxyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xyXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xyXG4gICAgICBAaW5jbHVkZSBzaGFkb3c7XHJcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIH1cclxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlLFxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdLFxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSxcclxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSkgIWltcG9ydGFudDtcclxuICBjb2xvcjogY29sb3IocHJpbWFyeXRleHRjb2xvcikgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcclxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4IDE1cHg7XHJcbn1cclxuXHJcbi5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xyXG4gIGhlaWdodDogMDtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xNHB4O1xyXG4gIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHdpZHRoOiAwO1xyXG59XHJcbi5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IDFweDtcclxuICByaWdodDogMXB4O1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIG1pbi1oZWlnaHQ6IDQycHg7XHJcbn1cclxuXHJcbi5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogN3B4O1xyXG4gIHRvcDogNDIlO1xyXG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjODg4O1xyXG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gJiB7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICM4ODg7XHJcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4ud2FzLXZhbGlkYXRlZCBzZWxlY3Quc2VsZWN0MjppbnZhbGlkICsgLnNlbGVjdDIuc2VsZWN0Mi1jb250YWluZXIuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbixcclxuc2VsZWN0LnNlbGVjdDIuaXMtaW52YWxpZCArIC5zZWxlY3QyLnNlbGVjdDItY29udGFpbmVyLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb24sXHJcbnNlbGVjdC5zZWxlY3QyLmVycm9yLWZpbHRlciArIC5zZWxlY3QyLnNlbGVjdDItY29udGFpbmVyLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb24ge1xyXG4gIGJvcmRlci1jb2xvcjogY29sb3IoZGFuZ2VyKSAhaW1wb3J0YW50O1xyXG59XHJcbi53YXMtdmFsaWRhdGVkIHNlbGVjdC5zZWxlY3QyOnZhbGlkICsgLnNlbGVjdDIuc2VsZWN0Mi1jb250YWluZXIuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbixcclxuc2VsZWN0LnNlbGVjdDIuaXMtdmFsaWQgKyAuc2VsZWN0Mi5zZWxlY3QyLWNvbnRhaW5lci5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCBzcGFuLnNlbGVjdDItc2VsZWN0aW9uIHtcclxuICBib3JkZXItY29sb3I6IGNvbG9yKHN1Y2Nlc3MpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQge1xyXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWYgIWltcG9ydGFudDtcclxuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbnNlbGVjdFtyZWFkb25seV0uc2VsZWN0Mi1oaWRkZW4tYWNjZXNzaWJsZSArIC5zZWxlY3QyLWNvbnRhaW5lciB7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xyXG59XHJcblxyXG5zZWxlY3RbcmVhZG9ubHldLnNlbGVjdDItaGlkZGVuLWFjY2Vzc2libGUgKyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kOiBjb2xvcihsaWdodCkgIWltcG9ydGFudDtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG5zZWxlY3RbcmVhZG9ubHldLnNlbGVjdDItaGlkZGVuLWFjY2Vzc2libGUgKyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcclxuc2VsZWN0W3JlYWRvbmx5XS5zZWxlY3QyLWhpZGRlbi1hY2Nlc3NpYmxlICsgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5jb250YWluZXItaW5wdXQtaW5wdXRmaWxlIHtcclxuICAuaW52YWxpZC1mZWVkYmFjayB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgbGVmdDogMTVweDtcclxuICAgIGJvdHRvbTogMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmJ0biB7XHJcbiAgLmludmFsaWQtZmVlZGJhY2sge1xyXG4gICAgZm9udC1zaXplOiA5NCU7XHJcbiAgfVxyXG59XHJcbiIsIi5zd2FsLWJ1dHRvbiB7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICAmOmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgfVxyXG4gICYuc3dhbC1idXR0b24tLWNvbmZpcm0ge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXNoYWRvdyhwcmltYXJ5KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpO1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIG9wYWNpdHk6IC44O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnN3YWwtZm9vdGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zd2FsLXRleHQge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaW5lLWhlaWdodDogMjRweDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG59IiwiLmJvb3RzdHJhcC10YWdzaW5wdXQge1xyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBoZWlnaHQ6IDQ2cHg7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBpbnB1dCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDhweDtcclxuICB9XHJcbiAgLnRhZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6Zm9jdXMge1xyXG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzO1xyXG4gIH1cclxufSIsIi5ib290c3RyYXAtdGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQgYSBzcGFuIHtcclxuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG59IiwiI3RvYXN0LWNvbnRhaW5lciA+IHtcclxuICBkaXYge1xyXG4gICAgQGluY2x1ZGUgc2hhZG93O1xyXG4gICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggNTBweDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIC50b2FzdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMTdweDtcclxuICAgICAgdG9wOiAyNXB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcclxuICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcclxuICAgIH1cclxuICB9XHJcbiAgLnRvYXN0LXdhcm5pbmc6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMTAwXCI7XHJcbiAgfVxyXG4gIC50b2FzdC1lcnJvcjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYyZDdcIjtcclxuICB9XHJcbiAgLnRvYXN0LWluZm86YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmNDRjXCI7XHJcbiAgICBjb2xvcjogY29sb3IoYmxhY2spO1xyXG4gIH1cclxuICAudG9hc3Qtc3VjY2VzczpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYxMjFcIjtcclxuICB9XHJcbn1cclxuXHJcbi50b2FzdCB7XHJcbiAgJi50b2FzdC1lcnJvciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihkYW5nZXIpO1xyXG4gIH1cclxuICAmLnRvYXN0LXdhcm5pbmcge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2FybmluZyk7XHJcbiAgfVxyXG4gICYudG9hc3Qtc3VjY2VzcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzdWNjZXNzKTtcclxuICB9XHJcbiAgJi50b2FzdC1pbmZvIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcclxuICAgIC50b2FzdC10aXRsZSB7XHJcbiAgICAgIGNvbG9yOiBjb2xvcihibGFjayk7XHJcbiAgICB9XHJcbiAgICAudG9hc3QtbWVzc2FnZSB7XHJcbiAgICAgIGNvbG9yOiBjb2xvcihibGFjayk7XHJcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5pemlUb2FzdC5pemlUb2FzdC1jb2xvci1yZWQge1xyXG4gIGJhY2tncm91bmQ6IGNvbG9yKGRhbmdlcik7XHJcbiAgYm9yZGVyLWNvbG9yOiBjb2xvcihkYW5nZXIpO1xyXG59XHJcbi5pemlUb2FzdC5pemlUb2FzdC1jb2xvci1vcmFuZ2Uge1xyXG4gIGJhY2tncm91bmQ6IGNvbG9yKHdhcm5pbmcpO1xyXG4gIGJvcmRlci1jb2xvcjogY29sb3Iod2FybmluZyk7XHJcbn1cclxuLml6aVRvYXN0Lml6aVRvYXN0LWNvbG9yLWJsdWUge1xyXG4gIGJhY2tncm91bmQ6IGNvbG9yKGluZm8pO1xyXG4gIGJvcmRlci1jb2xvcjogY29sb3IoaW5mbyk7XHJcbn1cclxuLml6aVRvYXN0Lml6aVRvYXN0LWNvbG9yLWdyZWVuIHtcclxuICBiYWNrZ3JvdW5kOiBjb2xvcihzdWNjZXNzKTtcclxuICBib3JkZXItY29sb3I6IGNvbG9yKHN1Y2Nlc3MpO1xyXG59XHJcblxyXG4uaXppVG9hc3QgPiAuaXppVG9hc3QtYm9keSAuaXppVG9hc3QtaWNvbi5pY28taW5mbyxcclxuLml6aVRvYXN0ID4gLml6aVRvYXN0LWJvZHkgLml6aVRvYXN0LWljb24uaWNvLXdhcm5pbmcsXHJcbi5pemlUb2FzdCA+IC5pemlUb2FzdC1ib2R5IC5pemlUb2FzdC1pY29uLmljby1lcnJvcixcclxuLml6aVRvYXN0ID4gLml6aVRvYXN0LWJvZHkgLml6aVRvYXN0LWljb24uaWNvLXN1Y2Nlc3MsXHJcbi5pemlUb2FzdCA+IC5pemlUb2FzdC1jbG9zZSB7XHJcbiAgZmlsdGVyOiBpbnZlcnQoMSk7XHJcbn1cclxuXHJcbi5pemlUb2FzdCA+IC5pemlUb2FzdC1ib2R5IC5pemlUb2FzdC1pY29uLFxyXG4uaXppVG9hc3QgPiAuaXppVG9hc3QtYm9keSAuaXppVG9hc3QtbWVzc2FnZSB7XHJcbiAgY29sb3I6IGNvbG9yKHdoaXRlKTtcclxufSIsIi51c2VyLWl0ZW0ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBpbWcge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICB9XHJcbiAgLnVzZXItZGV0YWlscyB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgLnVzZXItbmFtZSB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGNvbG9yOiBjb2xvcihkYXJrKTtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB9XHJcbiAgICAudXNlci1jdGEge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAuYnRuIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XHJcbiAgLnVzZXItcHJvZ3Jlc3MgLm1lZGlhLCAudXNlci1kZXRhaWxzIC5tZWRpYSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLnVzZXItcHJvZ3Jlc3MgLm1lZGlhIGltZywgLnVzZXItZGV0YWlscyAubWVkaWEgaW1nIHtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAudXNlci1wcm9ncmVzcyAubWVkaWEgLm1lZGlhLWJvZHksIC51c2VyLWRldGFpbHMgLm1lZGlhIC5tZWRpYS1ib2R5IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAudXNlci1wcm9ncmVzcyAubWVkaWEgLm1lZGlhLWl0ZW1zLCAudXNlci1kZXRhaWxzIC5tZWRpYSAubWVkaWEtaXRlbXMge1xyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLnVzZXItcHJvZ3Jlc3MgLmxpc3QtdW5zdHlsZWQtbm9ib3JkZXIgbGk6bGFzdC1jaGlsZCwgLnVzZXItZGV0YWlscyAubGlzdC11bnN0eWxlZC1ub2JvcmRlciBsaTpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICB9XHJcbiAgLnVzZXItcHJvZ3Jlc3MgLm1lZGlhIHtcclxuICAgIC5tZWRpYS1wcm9ncmVzc2JhciB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAubWVkaWEtY3RhIHtcclxuICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLnB3aW5kaWNhdG9yIHtcclxuICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgd2lkdGg6IDE1MHB4O1xyXG4gIC5iYXIge1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucHctdmVyeS13ZWFrIHtcclxuICAuYmFyIHtcclxuICAgIGJhY2tncm91bmQ6IGNvbG9yKGRhbmdlcik7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICB9XHJcbiAgLmxhYmVsIHtcclxuICAgIGNvbG9yOiBjb2xvcihkYW5nZXIpO1xyXG4gIH1cclxufVxyXG5cclxuLnB3LXdlYWsge1xyXG4gIC5iYXIge1xyXG4gICAgYmFja2dyb3VuZDogY29sb3IoZGFuZ2VyKTtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gIH1cclxuICAubGFiZWwge1xyXG4gICAgY29sb3I6IGNvbG9yKGRhbmdlcik7XHJcbiAgfVxyXG59XHJcblxyXG4ucHctbWVkaW9jcmUge1xyXG4gIC5iYXIge1xyXG4gICAgYmFja2dyb3VuZDogI2YzZjAxYTtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gIH1cclxuICAubGFiZWwge1xyXG4gICAgY29sb3I6ICNmM2YwMWE7XHJcbiAgfVxyXG59XHJcblxyXG4ucHctc3Ryb25nIHtcclxuICAuYmFyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmM2IzMWE7XHJcbiAgICB3aWR0aDogMTIwcHg7XHJcbiAgfVxyXG4gIC5sYWJlbCB7XHJcbiAgICBjb2xvcjogI2YzYjMxYTtcclxuICB9XHJcbn1cclxuXHJcbi5wdy12ZXJ5LXN0cm9uZyB7XHJcbiAgLmJhciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMGQwO1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gIH1cclxuICAubGFiZWwge1xyXG4gICAgY29sb3I6ICMwZDA7XHJcbiAgfVxyXG59IiwiLmludm9pY2Uge1xyXG4gIEBpbmNsdWRlIGNhcmQtYmFzZTtcclxuICBwYWRkaW5nOiA0MHB4O1xyXG4gIC5pbnZvaWNlLXRpdGxlIHtcclxuICAgIC5pbnZvaWNlLW51bWJlciB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtNDVweDtcclxuICAgIH1cclxuICB9XHJcbiAgaHIge1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiBjb2xvcih3aGl0ZXNtb2tlKTtcclxuICB9XHJcbiAgLmludm9pY2UtZGV0YWlsLWl0ZW0ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIC5pbnZvaWNlLWRldGFpbC1uYW1lIHtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4zcHg7XHJcbiAgICAgIGNvbG9yOiBjb2xvcihtdXRlZCk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgIH1cclxuICAgIC5pbnZvaWNlLWRldGFpbC12YWx1ZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgY29sb3I6IGNvbG9yKGZvbnRkYXJrKTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgJi5pbnZvaWNlLWRldGFpbC12YWx1ZS1sZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkobWQpIHtcclxuICAudGFibGUtaW52b2ljZSB7XHJcbiAgICB0YWJsZSB7XHJcbiAgICAgIG1pbi13aWR0aDogODAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmVtcHR5LXN0YXRlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0cGFkZGluZzogNDBweDtcclxuXHQuZW1wdHktc3RhdGUtaWNvbiB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuXHRcdHdpZHRoOiA4MHB4O1xyXG5cdFx0aGVpZ2h0OiA4MHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEwMHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdFx0aSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogNDBweDtcclxuXHRcdFx0Y29sb3I6IGNvbG9yKHdoaXRlKTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHR6LWluZGV4OiAxO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRoMiB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cdH1cclxuXHRwIHtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHR9XHJcbn0iLCIvKipcclxuICogVGhhbmtzIHRvIFNwZWN0cmUuY3NzXHJcbiAqL1xyXG5cclxuLmF2YXRhciB7XHJcbiAgICBiYWNrZ3JvdW5kOiBjb2xvcihwcmltYXJ5KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGNvbG9yOiBjb2xvcihsaWdodCk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI4O1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgd2lkdGg6IDQ1cHg7XHJcblxyXG4gICAgJi5hdmF0YXIteHMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNnB4O1xyXG4gICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICB3aWR0aDogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmF2YXRhci1zbSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmF2YXRhci1sZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmF2YXRhci14bCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICB3aWR0aDogNzVweDtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLmF2YXRhci1pY29uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcih3aGl0ZSk7XHJcbiAgICAgICAgYm90dG9tOiAxNC42NCU7XHJcbiAgICAgICAgaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgcGFkZGluZzogLjFyZW07XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAxNC42NCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA1MCUpO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgIH1cclxuXHJcbiAgICAuYXZhdGFyLXByZXNlbmNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcih3aGl0ZSk7XHJcbiAgICAgICAgYm90dG9tOiAxNC42NCU7XHJcbiAgICAgICAgaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgcGFkZGluZzogLjFyZW07XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAxNC42NCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA1MCUpO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihsaWdodCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC4xcmVtIGNvbG9yKHdoaXRlKTtcclxuICAgICAgICBoZWlnaHQ6IC41ZW07XHJcbiAgICAgICAgd2lkdGg6IC41ZW07XHJcblxyXG4gICAgICAgICYub25saW5lIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3Ioc3VjY2Vzcyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmJ1c3kge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihkYW5nZXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hd2F5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3Iod2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1pbml0aWFsXTo6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1pbml0aWFsKTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbn0iLCIud2l6YXJkLXN0ZXBzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1hcmdpbjogMCAtMTBweDtcclxuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG4gIGNvdW50ZXItcmVzZXQ6IHdpemFyZC1jb3VudGVyO1xyXG4gIC53aXphcmQtc3RlcCB7XHJcbiAgICBAaW5jbHVkZSBjYXJkLWJhc2U7XHJcbiAgICBAaW5jbHVkZSBzaGFkb3coMCA0cHggOHB4LCByZ2JhKDAsMCwwLC4wNSkpO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGZsZXgtYmFzaXM6IDA7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHdpemFyZC1jb3VudGVyO1xyXG4gICAgICBjb250ZW50OiBjb3VudGVyKHdpemFyZC1jb3VudGVyKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IC00MHB4O1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihsaWdodCk7XHJcbiAgICB9XHJcbiAgICAmLndpemFyZC1zdGVwLWFjdGl2ZSB7XHJcbiAgICAgIEBpbmNsdWRlIHNoYWRvdy1saWdodGVuKHByaW1hcnkpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpO1xyXG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYud2l6YXJkLXN0ZXAtc3VjY2VzcyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHN1Y2Nlc3MpO1xyXG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc3VjY2Vzcyk7XHJcbiAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi53aXphcmQtc3RlcC1kYW5nZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihkYW5nZXIpO1xyXG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZGFuZ2VyKTtcclxuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLndpemFyZC1zdGVwLXdhcm5pbmcge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3YXJuaW5nKTtcclxuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdhcm5pbmcpO1xyXG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYud2l6YXJkLXN0ZXAtaW5mbyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGluZm8pO1xyXG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoaW5mbyk7XHJcbiAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLndpemFyZC1zdGVwLWljb24ge1xyXG4gICAgICAuZmFzLCAuZmFyLCAuZmFiLCAuZmFsLCAuaW9uIHtcclxuICAgICAgICBmb250LXNpemU6IDM0cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLndpemFyZC1zdGVwLWxhYmVsIHtcclxuICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XHJcbiAgLndpemFyZC1zdGVwcyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC53aXphcmQtc3RlcCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmJhY2stdG8tdG9wIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlc21va2UpO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBib3R0b206IDMwcHg7XHJcbiAgICByaWdodDogMzBweDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzLCBvcGFjaXR5IC41cywgdmlzaWJpbGl0eSAuNXM7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG5cclxuLmJhY2stdG8tdG9wOmhvdmVyLFxyXG4uYmFjay10by10b3A6YWN0aXZlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC5hbmdsZV91cF9vdmVycmlkZXtcclxuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuLmJhY2stdG8tdG9wLnNob3cge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbi5hbmdsZV91cF9vdmVycmlkZXtcclxuICAgY29sb3I6IGNvbG9yKHByaW1hcnkpO1xyXG4gICBmb250LXNpemU6IDMwcHg7XHJcbiAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDA7XHJcbiAgIG9wYWNpdHk6IC41O1xyXG59IiwiLndyYXBwZXItYXV0b2NvbXBsZXRlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5hdXRvY29tcGxldGUtY29udGFpbmVyIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICAgIHotaW5kZXg6IDk7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgY29sb3Iod2hpdGUpO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3Iod2hpdGVzbW9rZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gbGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3Iod2hpdGVzbW9rZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2xlYXItaWNvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICB0b3A6IDE1cHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnkpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxufVxyXG4iLCLvu78uY29udGFpbmVyLWltZy1pbnB1dGZpbGUge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTcwcHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTcwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICA+IGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogLTIwcHg7XHJcbiAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxufVxyXG5maWVsZHNldFtkYXRhLWFsbHByb3BzLXNlbGVjdGVkLXZvdWNoZXItdGVtcGxhdGUtaWRdIGEgPiBsYWJlbCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfSIsIi5jb2Rlcy12YWxpZGF0aW9uLWhlYWRlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JheSk7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGVzbW9rZSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jb2Rlcy12YWxpZGF0aW9uLWhlYWRlci5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XHJcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeXRleHRjb2xvcik7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ0FBLEFBQUEsS0FBSyxDQUFDO0VBQ0wscUJBQXFCLENBQUEsNEVBQUM7RUFDdEIsNEJBQTRCLENBQUEsaUZBQUM7RUFDN0IsYUFBYTtFQUNiLFNBQVMsQ0FBQSwyQkFBQztFQUNWLFlBQVk7RUFDWixTQUFTLENBQUEsZUFBQztFQUNWLFdBQVcsQ0FBQSxnQkFBQztFQUNaLFNBQVMsQ0FBQSxlQUFDO0VBQ1YsTUFBTSxDQUFBLFlBQUM7RUFDUCxTQUFTLENBQUEsZUFBQztFQUNWLFFBQVEsQ0FBQSxjQUFDO0VBQ1QsT0FBTyxDQUFBLGFBQUM7RUFDUixNQUFNLENBQUEsWUFBQztFQUNQLFlBQVksQ0FBQSxrQkFBQztFQUNiLE1BQU0sQ0FBQSxZQUFDO0VBQ1AsT0FBTyxDQUFBLGFBQUM7RUFDUixNQUFNLENBQUEsWUFBQztFQUNQLE1BQU0sQ0FBQSxZQUFDO0VBQ1AsVUFBVSxDQUFBLGdCQUFDO0VBQ1gsT0FBTyxDQUFBLGFBQUM7RUFDUixPQUFPLENBQUEsYUFBQztFQUNSLFdBQVcsQ0FBQSxpQkFBQztFQUNa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 */
