.wcsf {
  /* Bootswatch variables place */
  /*!
   * Bootstrap  v5.3.3 (https://getbootstrap.com/)
   * Copyright 2011-2024 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
  /* rtl:raw:
  [type="tel"],
  [type="url"],
  [type="email"],
  [type="number"] {
    direction: ltr;
  }
  */
  /*.form-control-plaintext {
    display: block;
    width: 100%;
    padding: $input-padding-y 0;
    margin-bottom: 0; // match inputs if this class comes on inputs with default margins
    line-height: $input-line-height;
    color: $input-plaintext-color;
    background-color: transparent;
    border: solid transparent;
    border-width: $input-border-width 0;

    &:focus {
      outline: 0;
    }

    &.form-control-sm,
    &.form-control-lg {
      padding-right: 0;
      padding-left: 0;
    }
  }*/
  /*.form-control-sm {
    min-height: $input-height-sm;
    padding: $input-padding-y-sm $input-padding-x-sm;
    @include font-size($input-font-size-sm);
    @include border-radius($input-border-radius-sm);

    &::file-selector-button {
      padding: $input-padding-y-sm $input-padding-x-sm;
      margin: (-$input-padding-y-sm) (-$input-padding-x-sm);
      margin-inline-end: $input-padding-x-sm;
    }
  }

  .form-control-lg {
    min-height: $input-height-lg;
    padding: $input-padding-y-lg $input-padding-x-lg;
    @include font-size($input-font-size-lg);
    @include border-radius($input-border-radius-lg);

    &::file-selector-button {
      padding: $input-padding-y-lg $input-padding-x-lg;
      margin: (-$input-padding-y-lg) (-$input-padding-x-lg);
      margin-inline-end: $input-padding-x-lg;
    }
  }*/
  /*.form-control-color {
    width: $form-color-width;
    height: $input-height;
    padding: $input-padding-y;

    &:not(:disabled):not([readonly]) {
      cursor: pointer;
    }

    &::-moz-color-swatch {
      border: 0 !important; // stylelint-disable-line declaration-no-important
      @include border-radius($input-border-radius);
    }

    &::-webkit-color-swatch {
      border: 0 !important; // stylelint-disable-line declaration-no-important
      @include border-radius($input-border-radius);
    }

    &.form-control-sm { height: $input-height-sm; }
    &.form-control-lg { height: $input-height-lg; }
  }*/
  /*.form-check-reverse {
    padding-right: $form-check-padding-start;
    padding-left: 0;
    text-align: right;

    .form-check-input {
      float: right;
      margin-right: $form-check-padding-start * -1;
      margin-left: 0;
    }
  }*/
  /*.form-switch {
    padding-left: $form-switch-padding-start;

    .form-check-input {
      --wcsf-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");

      width: $form-switch-width;
      margin-left: $form-switch-padding-start * -1;
      background-image: var(--wcsf-form-switch-bg);
      background-position: left center;
      @include border-radius($form-switch-border-radius, 0);
      @include transition($form-switch-transition);

      &:focus {
        --wcsf-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb%28134, 182.5, 254%29'/%3e%3c/svg%3e");
      }

      &:checked {
        background-position: $form-switch-checked-bg-position;

        @if $enable-gradients {
          --wcsf-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"), var(--wcsf-gradient);
        } @else {
          --wcsf-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
        }
      }
    }

    &.form-check-reverse {
      padding-right: $form-switch-padding-start;
      padding-left: 0;

      .form-check-input {
        margin-right: $form-switch-padding-start * -1;
        margin-left: 0;
      }
    }
  }*/
  /*.form-check-inline {
    display: inline-block;
    margin-right: $form-check-inline-margin-end;
  }

  .btn-check {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;

    &[disabled],
    &:disabled {
      + .btn {
        pointer-events: none;
        filter: none;
        opacity: $form-check-btn-check-disabled-opacity;
      }
    }
  }

  @if $enable-dark-mode {
    @include color-mode(dark) {
      .form-switch .form-check-input:not(:checked):not(:focus) {
        --wcsf-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
      }
    }
  }*/
  /*
  .tab-content {
    > .tab-pane {
      display: none;
    }
    > .active {
      display: block;
    }
  }
  */
  /*@keyframes progress-bar-stripes {
    0% { background-position-x: $progress-height; }
  }*/
  /*.progress-bar-animated {
    animation: $progress-bar-animation-timing progress-bar-stripes;

    @if $enable-reduced-motion {
      @media (prefers-reduced-motion: reduce) {
        animation: none;
      }
    }
  }*/
}
.wcsf {
  --wcsf-blue: #0d6efd;
  --wcsf-indigo: #6610f2;
  --wcsf-purple: #6f42c1;
  --wcsf-pink: #d63384;
  --wcsf-red: #dc3545;
  --wcsf-orange: #fd7e14;
  --wcsf-yellow: #ffc107;
  --wcsf-green: #28a745;
  --wcsf-teal: #20c997;
  --wcsf-cyan: #17a2b8;
  --wcsf-black: #000;
  --wcsf-white: #fff;
  --wcsf-gray: #6c757d;
  --wcsf-gray-dark: #343a40;
  --wcsf-gray-100: #f8f9fa;
  --wcsf-gray-200: #e9ecef;
  --wcsf-gray-300: #dee2e6;
  --wcsf-gray-400: #ced4da;
  --wcsf-gray-500: #adb5bd;
  --wcsf-gray-600: #6c757d;
  --wcsf-gray-700: #495057;
  --wcsf-gray-800: #343a40;
  --wcsf-gray-900: #212529;
  --wcsf-primary: #0d6efd;
  --wcsf-secondary: #6c757d;
  --wcsf-success: #28a745;
  --wcsf-info: #17a2b8;
  --wcsf-warning: #ffc107;
  --wcsf-danger: #dc3545;
  --wcsf-light: #f8f9fa;
  --wcsf-dark: #343a40;
  --wcsf-primary-rgb: 13, 110, 253;
  --wcsf-secondary-rgb: 108, 117, 125;
  --wcsf-success-rgb: 40, 167, 69;
  --wcsf-info-rgb: 23, 162, 184;
  --wcsf-warning-rgb: 255, 193, 7;
  --wcsf-danger-rgb: 220, 53, 69;
  --wcsf-light-rgb: 248, 249, 250;
  --wcsf-dark-rgb: 52, 58, 64;
  --wcsf-primary-text-emphasis: rgb(5.2, 44, 101.2);
  --wcsf-secondary-text-emphasis: rgb(43.2, 46.8, 50);
  --wcsf-success-text-emphasis: rgb(16, 66.8, 27.6);
  --wcsf-info-text-emphasis: rgb(9.2, 64.8, 73.6);
  --wcsf-warning-text-emphasis: rgb(102, 77.2, 2.8);
  --wcsf-danger-text-emphasis: rgb(88, 21.2, 27.6);
  --wcsf-light-text-emphasis: #495057;
  --wcsf-dark-text-emphasis: #495057;
  --wcsf-primary-bg-subtle: rgb(206.6, 226, 254.6);
  --wcsf-secondary-bg-subtle: rgb(225.6, 227.4, 229);
  --wcsf-success-bg-subtle: rgb(212, 237.4, 217.8);
  --wcsf-info-bg-subtle: rgb(208.6, 236.4, 240.8);
  --wcsf-warning-bg-subtle: rgb(255, 242.6, 205.4);
  --wcsf-danger-bg-subtle: rgb(248, 214.6, 217.8);
  --wcsf-light-bg-subtle: rgb(251.5, 252, 252.5);
  --wcsf-dark-bg-subtle: #ced4da;
  --wcsf-primary-border-subtle: rgb(158.2, 197, 254.2);
  --wcsf-secondary-border-subtle: rgb(196.2, 199.8, 203);
  --wcsf-success-border-subtle: rgb(169, 219.8, 180.6);
  --wcsf-info-border-subtle: rgb(162.2, 217.8, 226.6);
  --wcsf-warning-border-subtle: rgb(255, 230.2, 155.8);
  --wcsf-danger-border-subtle: rgb(241, 174.2, 180.6);
  --wcsf-light-border-subtle: #e9ecef;
  --wcsf-dark-border-subtle: #adb5bd;
  --wcsf-white-rgb: 255, 255, 255;
  --wcsf-black-rgb: 0, 0, 0;
  --wcsf-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --wcsf-body-font-family: var(--wcsf-font-sans-serif);
  --wcsf-body-font-size: 1rem;
  --wcsf-body-font-weight: 400;
  --wcsf-body-line-height: 1.5;
  --wcsf-body-color: #212529;
  --wcsf-body-color-rgb: 33, 37, 41;
  --wcsf-body-bg: #fff;
  --wcsf-body-bg-rgb: 255, 255, 255;
  --wcsf-emphasis-color: #000;
  --wcsf-emphasis-color-rgb: 0, 0, 0;
  --wcsf-secondary-color: rgba(33, 37, 41, 0.75);
  --wcsf-secondary-color-rgb: 33, 37, 41;
  --wcsf-secondary-bg: #e9ecef;
  --wcsf-secondary-bg-rgb: 233, 236, 239;
  --wcsf-tertiary-color: rgba(33, 37, 41, 0.5);
  --wcsf-tertiary-color-rgb: 33, 37, 41;
  --wcsf-tertiary-bg: #f8f9fa;
  --wcsf-tertiary-bg-rgb: 248, 249, 250;
  --wcsf-link-color: #0d6efd;
  --wcsf-link-color-rgb: 13, 110, 253;
  --wcsf-link-decoration: underline;
  --wcsf-link-hover-color: rgb(10.4, 88, 202.4);
  --wcsf-link-hover-color-rgb: 10, 88, 202;
  --wcsf-border-width: 1px;
  --wcsf-border-style: solid;
  --wcsf-border-color: #dee2e6;
  --wcsf-border-color-translucent: rgba(0, 0, 0, 0.175);
  --wcsf-border-radius: 0.25rem;
  --wcsf-border-radius-sm: 0.25rem;
  --wcsf-border-radius-lg: 0.5rem;
  --wcsf-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --wcsf-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --wcsf-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --wcsf-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --wcsf-form-valid-color: #28a745;
  --wcsf-form-valid-border-color: #28a745;
  --wcsf-form-invalid-color: #dc3545;
  --wcsf-form-invalid-border-color: #dc3545;
}
.wcsf *,
.wcsf *::before,
.wcsf *::after {
  box-sizing: border-box;
}
.wcsf ul {
  padding-left: 2rem;
}
.wcsf ul,
.wcsf dl {
  margin-top: 0;
  margin-bottom: 1rem;
}
.wcsf ul ul {
  margin-bottom: 0;
}
.wcsf a {
  color: rgba(var(--wcsf-link-color-rgb), var(--wcsf-link-opacity, 1));
  text-decoration: underline;
}
.wcsf a:hover {
  --wcsf-link-color-rgb: var(--wcsf-link-hover-color-rgb);
}
.wcsf a:not([href]):not([class]), .wcsf a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}
.wcsf figure {
  margin: 0 0 1rem;
}
.wcsf img,
.wcsf svg {
  vertical-align: middle;
}
.wcsf label {
  display: inline-block;
}
.wcsf button {
  border-radius: 0;
}
.wcsf button:focus:not(:focus-visible) {
  outline: 0;
}
.wcsf input,
.wcsf button,
.wcsf select,
.wcsf optgroup,
.wcsf textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
.wcsf button,
.wcsf select {
  text-transform: none;
}
.wcsf [role=button] {
  cursor: pointer;
}
.wcsf select {
  word-wrap: normal;
}
.wcsf select:disabled {
  opacity: 1;
}
.wcsf button,
.wcsf [type=button],
.wcsf [type=reset],
.wcsf [type=submit] {
  -webkit-appearance: button;
}
.wcsf button:not(:disabled),
.wcsf [type=button]:not(:disabled),
.wcsf [type=reset]:not(:disabled),
.wcsf [type=submit]:not(:disabled) {
  cursor: pointer;
}
.wcsf ::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
.wcsf textarea {
  resize: vertical;
}
.wcsf fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
.wcsf [hidden] {
  display: none !important;
}
.wcsf .form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wcsf-body-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--wcsf-body-bg);
  background-clip: padding-box;
  border: var(--wcsf-border-width) solid var(--wcsf-border-color);
  border-radius: var(--wcsf-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .wcsf .form-control {
    transition: none;
  }
}
.wcsf .form-control[type=file] {
  overflow: hidden;
}
.wcsf .form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.wcsf .form-control:focus {
  color: var(--wcsf-body-color);
  background-color: var(--wcsf-body-bg);
  border-color: rgb(134, 182.5, 254);
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.wcsf .form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.wcsf .form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.wcsf .form-control::-moz-placeholder {
  color: var(--wcsf-secondary-color);
  opacity: 1;
}
.wcsf .form-control::placeholder {
  color: var(--wcsf-secondary-color);
  opacity: 1;
}
.wcsf .form-control:disabled {
  background-color: var(--wcsf-secondary-bg);
  opacity: 1;
}
.wcsf .form-control::-webkit-file-upload-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
          margin-inline-end: 0.75rem;
  color: var(--wcsf-body-color);
  background-color: var(--wcsf-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--wcsf-border-width);
  border-radius: 0;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.wcsf .form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
          margin-inline-end: 0.75rem;
  color: var(--wcsf-body-color);
  background-color: var(--wcsf-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--wcsf-border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .wcsf .form-control::-webkit-file-upload-button {
    -webkit-transition: none;
    transition: none;
  }
  .wcsf .form-control::file-selector-button {
    transition: none;
  }
}
.wcsf .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: var(--wcsf-secondary-bg);
}
.wcsf .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--wcsf-secondary-bg);
}
.wcsf textarea.form-control {
  min-height: calc(1.5em + 0.75rem + calc(var(--wcsf-border-width) * 2));
}
.wcsf .form-select {
  --wcsf-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wcsf-body-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--wcsf-body-bg);
  background-image: var(--wcsf-form-select-bg-img), var(--wcsf-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--wcsf-border-width) solid var(--wcsf-border-color);
  border-radius: var(--wcsf-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .wcsf .form-select {
    transition: none;
  }
}
.wcsf .form-select:focus {
  border-color: rgb(134, 182.5, 254);
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.wcsf .form-select[multiple], .wcsf .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.wcsf .form-select:disabled {
  background-color: var(--wcsf-secondary-bg);
}
.wcsf .form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--wcsf-body-color);
}
.wcsf .form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--wcsf-border-radius-sm);
}
.wcsf .form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: var(--wcsf-border-radius-lg);
}
.wcsf .form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.wcsf .form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}
.wcsf .form-check-input {
  --wcsf-form-check-bg: var(--wcsf-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--wcsf-form-check-bg);
  background-image: var(--wcsf-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--wcsf-border-width) solid var(--wcsf-border-color);
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
.wcsf .form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.wcsf .form-check-input[type=radio] {
  border-radius: 50%;
}
.wcsf .form-check-input:active {
  filter: brightness(90%);
}
.wcsf .form-check-input:focus {
  border-color: rgb(134, 182.5, 254);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.wcsf .form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.wcsf .form-check-input:checked[type=checkbox] {
  --wcsf-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.wcsf .form-check-input:checked[type=radio] {
  --wcsf-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.wcsf .form-check-input[type=checkbox]:indeterminate {
  background-color: #0d6efd;
  border-color: #0d6efd;
  --wcsf-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.wcsf .form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.wcsf .form-check-input[disabled] ~ .form-check-label, .wcsf .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}
.wcsf .input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.wcsf .input-group > .form-control,
.wcsf .input-group > .form-select {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.wcsf .input-group > .form-control:focus,
.wcsf .input-group > .form-select:focus {
  z-index: 5;
}
.wcsf .input-group .btn {
  position: relative;
  z-index: 2;
}
.wcsf .input-group .btn:focus {
  z-index: 5;
}
.wcsf .input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wcsf-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--wcsf-tertiary-bg);
  border: var(--wcsf-border-width) solid var(--wcsf-border-color);
  border-radius: var(--wcsf-border-radius);
}
.wcsf .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.wcsf .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.wcsf .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.wcsf .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.wcsf .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(var(--wcsf-border-width) * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.wcsf .btn {
  --wcsf-btn-padding-x: 0.75rem;
  --wcsf-btn-padding-y: 0.375rem;
  --wcsf-btn-font-family: ;
  --wcsf-btn-font-size: 1rem;
  --wcsf-btn-font-weight: 400;
  --wcsf-btn-line-height: 1.5;
  --wcsf-btn-color: var(--wcsf-body-color);
  --wcsf-btn-bg: transparent;
  --wcsf-btn-border-width: var(--wcsf-border-width);
  --wcsf-btn-border-color: transparent;
  --wcsf-btn-border-radius: var(--wcsf-border-radius);
  --wcsf-btn-hover-border-color: transparent;
  --wcsf-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --wcsf-btn-disabled-opacity: 0.65;
  --wcsf-btn-focus-box-shadow: 0 0 0 0.2rem rgba(var(--wcsf-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--wcsf-btn-padding-y) var(--wcsf-btn-padding-x);
  font-family: var(--wcsf-btn-font-family);
  font-size: var(--wcsf-btn-font-size);
  font-weight: var(--wcsf-btn-font-weight);
  line-height: var(--wcsf-btn-line-height);
  color: var(--wcsf-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: var(--wcsf-btn-border-width) solid var(--wcsf-btn-border-color);
  border-radius: var(--wcsf-btn-border-radius);
  background-color: var(--wcsf-btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .wcsf .btn {
    transition: none;
  }
}
.wcsf .btn:hover {
  color: var(--wcsf-btn-hover-color);
  background-color: var(--wcsf-btn-hover-bg);
  border-color: var(--wcsf-btn-hover-border-color);
}
.wcsf .btn:focus-visible {
  color: var(--wcsf-btn-hover-color);
  background-color: var(--wcsf-btn-hover-bg);
  border-color: var(--wcsf-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--wcsf-btn-focus-box-shadow);
}
.wcsf .btn:first-child:active, .wcsf .btn.active, .wcsf .btn.show {
  color: var(--wcsf-btn-active-color);
  background-color: var(--wcsf-btn-active-bg);
  border-color: var(--wcsf-btn-active-border-color);
}
.wcsf .btn:first-child:active:focus-visible, .wcsf .btn.active:focus-visible, .wcsf .btn.show:focus-visible {
  box-shadow: var(--wcsf-btn-focus-box-shadow);
}
.wcsf .btn:disabled, .wcsf .btn.disabled, fieldset:disabled .wcsf .btn {
  color: var(--wcsf-btn-disabled-color);
  pointer-events: none;
  background-color: var(--wcsf-btn-disabled-bg);
  border-color: var(--wcsf-btn-disabled-border-color);
  opacity: var(--wcsf-btn-disabled-opacity);
}
.wcsf .btn-primary {
  --wcsf-btn-color: #fff;
  --wcsf-btn-bg: #0d6efd;
  --wcsf-btn-border-color: #0d6efd;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: rgb(11.05, 93.5, 215.05);
  --wcsf-btn-hover-border-color: rgb(10.4, 88, 202.4);
  --wcsf-btn-focus-shadow-rgb: 49, 132, 253;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: rgb(10.4, 88, 202.4);
  --wcsf-btn-active-border-color: rgb(9.75, 82.5, 189.75);
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #fff;
  --wcsf-btn-disabled-bg: #0d6efd;
  --wcsf-btn-disabled-border-color: #0d6efd;
}
.wcsf .btn-secondary {
  --wcsf-btn-color: #fff;
  --wcsf-btn-bg: #6c757d;
  --wcsf-btn-border-color: #6c757d;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: rgb(91.8, 99.45, 106.25);
  --wcsf-btn-hover-border-color: rgb(86.4, 93.6, 100);
  --wcsf-btn-focus-shadow-rgb: 130, 138, 145;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: rgb(86.4, 93.6, 100);
  --wcsf-btn-active-border-color: rgb(81, 87.75, 93.75);
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #fff;
  --wcsf-btn-disabled-bg: #6c757d;
  --wcsf-btn-disabled-border-color: #6c757d;
}
.wcsf .btn-success {
  --wcsf-btn-color: #fff;
  --wcsf-btn-bg: #28a745;
  --wcsf-btn-border-color: #28a745;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: rgb(34, 141.95, 58.65);
  --wcsf-btn-hover-border-color: rgb(32, 133.6, 55.2);
  --wcsf-btn-focus-shadow-rgb: 72, 180, 97;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: rgb(32, 133.6, 55.2);
  --wcsf-btn-active-border-color: rgb(30, 125.25, 51.75);
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #fff;
  --wcsf-btn-disabled-bg: #28a745;
  --wcsf-btn-disabled-border-color: #28a745;
}
.wcsf .btn-info {
  --wcsf-btn-color: #fff;
  --wcsf-btn-bg: #17a2b8;
  --wcsf-btn-border-color: #17a2b8;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: rgb(19.55, 137.7, 156.4);
  --wcsf-btn-hover-border-color: rgb(18.4, 129.6, 147.2);
  --wcsf-btn-focus-shadow-rgb: 58, 176, 195;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: rgb(18.4, 129.6, 147.2);
  --wcsf-btn-active-border-color: rgb(17.25, 121.5, 138);
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #fff;
  --wcsf-btn-disabled-bg: #17a2b8;
  --wcsf-btn-disabled-border-color: #17a2b8;
}
.wcsf .btn-warning {
  --wcsf-btn-color: #000;
  --wcsf-btn-bg: #ffc107;
  --wcsf-btn-border-color: #ffc107;
  --wcsf-btn-hover-color: #000;
  --wcsf-btn-hover-bg: rgb(255, 202.3, 44.2);
  --wcsf-btn-hover-border-color: rgb(255, 199.2, 31.8);
  --wcsf-btn-focus-shadow-rgb: 217, 164, 6;
  --wcsf-btn-active-color: #000;
  --wcsf-btn-active-bg: rgb(255, 205.4, 56.6);
  --wcsf-btn-active-border-color: rgb(255, 199.2, 31.8);
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #000;
  --wcsf-btn-disabled-bg: #ffc107;
  --wcsf-btn-disabled-border-color: #ffc107;
}
.wcsf .btn-danger {
  --wcsf-btn-color: #fff;
  --wcsf-btn-bg: #dc3545;
  --wcsf-btn-border-color: #dc3545;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: rgb(187, 45.05, 58.65);
  --wcsf-btn-hover-border-color: rgb(176, 42.4, 55.2);
  --wcsf-btn-focus-shadow-rgb: 225, 83, 97;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: rgb(176, 42.4, 55.2);
  --wcsf-btn-active-border-color: rgb(165, 39.75, 51.75);
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #fff;
  --wcsf-btn-disabled-bg: #dc3545;
  --wcsf-btn-disabled-border-color: #dc3545;
}
.wcsf .btn-light {
  --wcsf-btn-color: #000;
  --wcsf-btn-bg: #f8f9fa;
  --wcsf-btn-border-color: #f8f9fa;
  --wcsf-btn-hover-color: #000;
  --wcsf-btn-hover-bg: rgb(210.8, 211.65, 212.5);
  --wcsf-btn-hover-border-color: rgb(198.4, 199.2, 200);
  --wcsf-btn-focus-shadow-rgb: 211, 212, 213;
  --wcsf-btn-active-color: #000;
  --wcsf-btn-active-bg: rgb(198.4, 199.2, 200);
  --wcsf-btn-active-border-color: rgb(186, 186.75, 187.5);
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #000;
  --wcsf-btn-disabled-bg: #f8f9fa;
  --wcsf-btn-disabled-border-color: #f8f9fa;
}
.wcsf .btn-dark {
  --wcsf-btn-color: #fff;
  --wcsf-btn-bg: #343a40;
  --wcsf-btn-border-color: #343a40;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: rgb(82.45, 87.55, 92.65);
  --wcsf-btn-hover-border-color: rgb(72.3, 77.7, 83.1);
  --wcsf-btn-focus-shadow-rgb: 82, 88, 93;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: rgb(92.6, 97.4, 102.2);
  --wcsf-btn-active-border-color: rgb(72.3, 77.7, 83.1);
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #fff;
  --wcsf-btn-disabled-bg: #343a40;
  --wcsf-btn-disabled-border-color: #343a40;
}
.wcsf .btn-outline-primary {
  --wcsf-btn-color: #0d6efd;
  --wcsf-btn-border-color: #0d6efd;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: #0d6efd;
  --wcsf-btn-hover-border-color: #0d6efd;
  --wcsf-btn-focus-shadow-rgb: 13, 110, 253;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: #0d6efd;
  --wcsf-btn-active-border-color: #0d6efd;
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #0d6efd;
  --wcsf-btn-disabled-bg: transparent;
  --wcsf-btn-disabled-border-color: #0d6efd;
  --wcsf-gradient: none;
}
.wcsf .btn-outline-secondary {
  --wcsf-btn-color: #6c757d;
  --wcsf-btn-border-color: #6c757d;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: #6c757d;
  --wcsf-btn-hover-border-color: #6c757d;
  --wcsf-btn-focus-shadow-rgb: 108, 117, 125;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: #6c757d;
  --wcsf-btn-active-border-color: #6c757d;
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #6c757d;
  --wcsf-btn-disabled-bg: transparent;
  --wcsf-btn-disabled-border-color: #6c757d;
  --wcsf-gradient: none;
}
.wcsf .btn-outline-success {
  --wcsf-btn-color: #28a745;
  --wcsf-btn-border-color: #28a745;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: #28a745;
  --wcsf-btn-hover-border-color: #28a745;
  --wcsf-btn-focus-shadow-rgb: 40, 167, 69;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: #28a745;
  --wcsf-btn-active-border-color: #28a745;
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #28a745;
  --wcsf-btn-disabled-bg: transparent;
  --wcsf-btn-disabled-border-color: #28a745;
  --wcsf-gradient: none;
}
.wcsf .btn-outline-info {
  --wcsf-btn-color: #17a2b8;
  --wcsf-btn-border-color: #17a2b8;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: #17a2b8;
  --wcsf-btn-hover-border-color: #17a2b8;
  --wcsf-btn-focus-shadow-rgb: 23, 162, 184;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: #17a2b8;
  --wcsf-btn-active-border-color: #17a2b8;
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #17a2b8;
  --wcsf-btn-disabled-bg: transparent;
  --wcsf-btn-disabled-border-color: #17a2b8;
  --wcsf-gradient: none;
}
.wcsf .btn-outline-warning {
  --wcsf-btn-color: #ffc107;
  --wcsf-btn-border-color: #ffc107;
  --wcsf-btn-hover-color: #000;
  --wcsf-btn-hover-bg: #ffc107;
  --wcsf-btn-hover-border-color: #ffc107;
  --wcsf-btn-focus-shadow-rgb: 255, 193, 7;
  --wcsf-btn-active-color: #000;
  --wcsf-btn-active-bg: #ffc107;
  --wcsf-btn-active-border-color: #ffc107;
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #ffc107;
  --wcsf-btn-disabled-bg: transparent;
  --wcsf-btn-disabled-border-color: #ffc107;
  --wcsf-gradient: none;
}
.wcsf .btn-outline-danger {
  --wcsf-btn-color: #dc3545;
  --wcsf-btn-border-color: #dc3545;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: #dc3545;
  --wcsf-btn-hover-border-color: #dc3545;
  --wcsf-btn-focus-shadow-rgb: 220, 53, 69;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: #dc3545;
  --wcsf-btn-active-border-color: #dc3545;
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #dc3545;
  --wcsf-btn-disabled-bg: transparent;
  --wcsf-btn-disabled-border-color: #dc3545;
  --wcsf-gradient: none;
}
.wcsf .btn-outline-light {
  --wcsf-btn-color: #f8f9fa;
  --wcsf-btn-border-color: #f8f9fa;
  --wcsf-btn-hover-color: #000;
  --wcsf-btn-hover-bg: #f8f9fa;
  --wcsf-btn-hover-border-color: #f8f9fa;
  --wcsf-btn-focus-shadow-rgb: 248, 249, 250;
  --wcsf-btn-active-color: #000;
  --wcsf-btn-active-bg: #f8f9fa;
  --wcsf-btn-active-border-color: #f8f9fa;
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #f8f9fa;
  --wcsf-btn-disabled-bg: transparent;
  --wcsf-btn-disabled-border-color: #f8f9fa;
  --wcsf-gradient: none;
}
.wcsf .btn-outline-dark {
  --wcsf-btn-color: #343a40;
  --wcsf-btn-border-color: #343a40;
  --wcsf-btn-hover-color: #fff;
  --wcsf-btn-hover-bg: #343a40;
  --wcsf-btn-hover-border-color: #343a40;
  --wcsf-btn-focus-shadow-rgb: 52, 58, 64;
  --wcsf-btn-active-color: #fff;
  --wcsf-btn-active-bg: #343a40;
  --wcsf-btn-active-border-color: #343a40;
  --wcsf-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --wcsf-btn-disabled-color: #343a40;
  --wcsf-btn-disabled-bg: transparent;
  --wcsf-btn-disabled-border-color: #343a40;
  --wcsf-gradient: none;
}
.wcsf .btn-link {
  --wcsf-btn-font-weight: 400;
  --wcsf-btn-color: var(--wcsf-link-color);
  --wcsf-btn-bg: transparent;
  --wcsf-btn-border-color: transparent;
  --wcsf-btn-hover-color: var(--wcsf-link-hover-color);
  --wcsf-btn-hover-border-color: transparent;
  --wcsf-btn-active-color: var(--wcsf-link-hover-color);
  --wcsf-btn-active-border-color: transparent;
  --wcsf-btn-disabled-color: #6c757d;
  --wcsf-btn-disabled-border-color: transparent;
  --wcsf-btn-box-shadow: 0 0 0 #000;
  --wcsf-btn-focus-shadow-rgb: 49, 132, 253;
  text-decoration: underline;
}
.wcsf .btn-link:focus-visible {
  color: var(--wcsf-btn-color);
}
.wcsf .btn-link:hover {
  color: var(--wcsf-btn-hover-color);
}
.wcsf .btn-lg {
  --wcsf-btn-padding-y: 0.5rem;
  --wcsf-btn-padding-x: 1rem;
  --wcsf-btn-font-size: 1.25rem;
  --wcsf-btn-border-radius: var(--wcsf-border-radius-lg);
}
.wcsf .btn-sm {
  --wcsf-btn-padding-y: 0.25rem;
  --wcsf-btn-padding-x: 0.5rem;
  --wcsf-btn-font-size: 0.875rem;
  --wcsf-btn-border-radius: var(--wcsf-border-radius-sm);
}
.wcsf .nav {
  --wcsf-nav-link-padding-x: 1rem;
  --wcsf-nav-link-padding-y: 0.5rem;
  --wcsf-nav-link-font-weight: ;
  --wcsf-nav-link-color: var(--wcsf-link-color);
  --wcsf-nav-link-hover-color: var(--wcsf-link-hover-color);
  --wcsf-nav-link-disabled-color: var(--wcsf-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-right: 0;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.wcsf .nav-link {
  display: block;
  padding: var(--wcsf-nav-link-padding-y) var(--wcsf-nav-link-padding-x);
  font-size: var(--wcsf-nav-link-font-size);
  font-weight: var(--wcsf-nav-link-font-weight);
  color: var(--wcsf-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .wcsf .nav-link {
    transition: none;
  }
}
.wcsf .nav-link:hover, .wcsf .nav-link:focus {
  color: var(--wcsf-nav-link-hover-color);
}
.wcsf .nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.wcsf .nav-link.disabled, .wcsf .nav-link:disabled {
  color: var(--wcsf-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}
.wcsf .nav-tabs {
  --wcsf-nav-tabs-border-width: var(--wcsf-border-width);
  --wcsf-nav-tabs-border-color: var(--wcsf-border-color);
  --wcsf-nav-tabs-border-radius: var(--wcsf-border-radius);
  --wcsf-nav-tabs-link-hover-border-color: var(--wcsf-secondary-bg) var(--wcsf-secondary-bg) var(--wcsf-border-color);
  --wcsf-nav-tabs-link-active-color: var(--wcsf-emphasis-color);
  --wcsf-nav-tabs-link-active-bg: var(--wcsf-body-bg);
  --wcsf-nav-tabs-link-active-border-color: var(--wcsf-border-color) var(--wcsf-border-color) var(--wcsf-body-bg);
  border-bottom: var(--wcsf-nav-tabs-border-width) solid var(--wcsf-nav-tabs-border-color);
}
.wcsf .nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--wcsf-nav-tabs-border-width));
  border: var(--wcsf-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--wcsf-nav-tabs-border-radius);
  border-top-right-radius: var(--wcsf-nav-tabs-border-radius);
}
.wcsf .nav-tabs .nav-link:hover, .wcsf .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--wcsf-nav-tabs-link-hover-border-color);
}
.wcsf .nav-tabs .nav-link.active,
.wcsf .nav-tabs .nav-item.show .nav-link {
  color: var(--wcsf-nav-tabs-link-active-color);
  background-color: var(--wcsf-nav-tabs-link-active-bg);
  border-color: var(--wcsf-nav-tabs-link-active-border-color);
}
.wcsf .nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--wcsf-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.wcsf .nav-pills {
  --wcsf-nav-pills-border-radius: var(--wcsf-border-radius);
  --wcsf-nav-pills-link-active-color: #fff;
  --wcsf-nav-pills-link-active-bg: #0d6efd;
}
.wcsf .nav-pills .nav-link {
  border-radius: var(--wcsf-nav-pills-border-radius);
}
.wcsf .nav-pills .nav-link.active,
.wcsf .nav-pills .show > .nav-link {
  color: var(--wcsf-nav-pills-link-active-color);
  background-color: var(--wcsf-nav-pills-link-active-bg);
}
.wcsf .nav-underline {
  --wcsf-nav-underline-gap: 1rem;
  --wcsf-nav-underline-border-width: 0.125rem;
  --wcsf-nav-underline-link-active-color: var(--wcsf-emphasis-color);
  gap: var(--wcsf-nav-underline-gap);
}
.wcsf .nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--wcsf-nav-underline-border-width) solid transparent;
}
.wcsf .nav-underline .nav-link:hover, .wcsf .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.wcsf .nav-underline .nav-link.active,
.wcsf .nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--wcsf-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}
.wcsf .nav-fill > .nav-link,
.wcsf .nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}
.wcsf .nav-justified > .nav-link,
.wcsf .nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}
.wcsf .nav-fill .nav-item .nav-link,
.wcsf .nav-justified .nav-item .nav-link {
  width: 100%;
}
.wcsf .progress {
  --wcsf-progress-height: 1rem;
  --wcsf-progress-font-size: 0.75rem;
  --wcsf-progress-bg: var(--wcsf-secondary-bg);
  --wcsf-progress-border-radius: var(--wcsf-border-radius);
  --wcsf-progress-box-shadow: var(--wcsf-box-shadow-inset);
  --wcsf-progress-bar-color: #fff;
  --wcsf-progress-bar-bg: #0d6efd;
  --wcsf-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--wcsf-progress-height);
  overflow: hidden;
  font-size: var(--wcsf-progress-font-size);
  background-color: var(--wcsf-progress-bg);
  border-radius: var(--wcsf-progress-border-radius);
}
.wcsf .progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--wcsf-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--wcsf-progress-bar-bg);
  transition: var(--wcsf-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
  .wcsf .progress-bar {
    transition: none;
  }
}
.wcsf .visually-hidden,
.wcsf .visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.wcsf .d-inline {
  display: inline !important;
}
.wcsf .d-inline-block {
  display: inline-block !important;
}
.wcsf .d-block {
  display: block !important;
}
.wcsf .d-grid {
  display: grid !important;
}
.wcsf .d-inline-grid {
  display: inline-grid !important;
}
.wcsf .d-table {
  display: table !important;
}
.wcsf .d-table-row {
  display: table-row !important;
}
.wcsf .d-table-cell {
  display: table-cell !important;
}
.wcsf .d-flex {
  display: flex !important;
}
.wcsf .d-inline-flex {
  display: inline-flex !important;
}
.wcsf .d-none {
  display: none !important;
}
@media (min-width: 480px) {
  .wcsf .d-xs-inline {
    display: inline !important;
  }
  .wcsf .d-xs-inline-block {
    display: inline-block !important;
  }
  .wcsf .d-xs-block {
    display: block !important;
  }
  .wcsf .d-xs-grid {
    display: grid !important;
  }
  .wcsf .d-xs-inline-grid {
    display: inline-grid !important;
  }
  .wcsf .d-xs-table {
    display: table !important;
  }
  .wcsf .d-xs-table-row {
    display: table-row !important;
  }
  .wcsf .d-xs-table-cell {
    display: table-cell !important;
  }
  .wcsf .d-xs-flex {
    display: flex !important;
  }
  .wcsf .d-xs-inline-flex {
    display: inline-flex !important;
  }
  .wcsf .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 576px) {
  .wcsf .d-sm-inline {
    display: inline !important;
  }
  .wcsf .d-sm-inline-block {
    display: inline-block !important;
  }
  .wcsf .d-sm-block {
    display: block !important;
  }
  .wcsf .d-sm-grid {
    display: grid !important;
  }
  .wcsf .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .wcsf .d-sm-table {
    display: table !important;
  }
  .wcsf .d-sm-table-row {
    display: table-row !important;
  }
  .wcsf .d-sm-table-cell {
    display: table-cell !important;
  }
  .wcsf .d-sm-flex {
    display: flex !important;
  }
  .wcsf .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .wcsf .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .wcsf .d-md-inline {
    display: inline !important;
  }
  .wcsf .d-md-inline-block {
    display: inline-block !important;
  }
  .wcsf .d-md-block {
    display: block !important;
  }
  .wcsf .d-md-grid {
    display: grid !important;
  }
  .wcsf .d-md-inline-grid {
    display: inline-grid !important;
  }
  .wcsf .d-md-table {
    display: table !important;
  }
  .wcsf .d-md-table-row {
    display: table-row !important;
  }
  .wcsf .d-md-table-cell {
    display: table-cell !important;
  }
  .wcsf .d-md-flex {
    display: flex !important;
  }
  .wcsf .d-md-inline-flex {
    display: inline-flex !important;
  }
  .wcsf .d-md-none {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .wcsf .d-lg-inline {
    display: inline !important;
  }
  .wcsf .d-lg-inline-block {
    display: inline-block !important;
  }
  .wcsf .d-lg-block {
    display: block !important;
  }
  .wcsf .d-lg-grid {
    display: grid !important;
  }
  .wcsf .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .wcsf .d-lg-table {
    display: table !important;
  }
  .wcsf .d-lg-table-row {
    display: table-row !important;
  }
  .wcsf .d-lg-table-cell {
    display: table-cell !important;
  }
  .wcsf .d-lg-flex {
    display: flex !important;
  }
  .wcsf .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .wcsf .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .wcsf .d-xl-inline {
    display: inline !important;
  }
  .wcsf .d-xl-inline-block {
    display: inline-block !important;
  }
  .wcsf .d-xl-block {
    display: block !important;
  }
  .wcsf .d-xl-grid {
    display: grid !important;
  }
  .wcsf .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .wcsf .d-xl-table {
    display: table !important;
  }
  .wcsf .d-xl-table-row {
    display: table-row !important;
  }
  .wcsf .d-xl-table-cell {
    display: table-cell !important;
  }
  .wcsf .d-xl-flex {
    display: flex !important;
  }
  .wcsf .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .wcsf .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 1400px) {
  .wcsf .d-xxl-inline {
    display: inline !important;
  }
  .wcsf .d-xxl-inline-block {
    display: inline-block !important;
  }
  .wcsf .d-xxl-block {
    display: block !important;
  }
  .wcsf .d-xxl-grid {
    display: grid !important;
  }
  .wcsf .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .wcsf .d-xxl-table {
    display: table !important;
  }
  .wcsf .d-xxl-table-row {
    display: table-row !important;
  }
  .wcsf .d-xxl-table-cell {
    display: table-cell !important;
  }
  .wcsf .d-xxl-flex {
    display: flex !important;
  }
  .wcsf .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .wcsf .d-xxl-none {
    display: none !important;
  }
}
/* Bootswatch variables place */
/**
 * Tom Select bootstrap 5
 */
/**
 * tom-select.css (v//@@version)
 * Copyright (c) contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 */
:root {
  --ts-pr-clear-button:	0rem;
  --ts-pr-caret:	0rem;
  --ts-pr-min:	.75rem;
}

.wcsf-ts-wrapper.single .wcsf-ts-control, .wcsf-ts-wrapper.single .wcsf-ts-control input {
  cursor: pointer;
}

.wcsf-ts-control {
  padding-right: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;
}

.wcsf-ts-wrapper {
  position: relative;
}

.wcsf-ts-dropdown,
.wcsf-ts-control,
.wcsf-ts-control input {
  color: #343a40;
  font-family: inherit;
  font-size: inherit;
  line-height: 1.5;
  font-smoothing: inherit;
}

.wcsf-ts-control,
.wcsf-ts-wrapper.single.input-active .wcsf-ts-control {
  background: var(--wcsf-body-bg);
  cursor: text;
}

.wcsf-ts-control {
  border: 1px solid var(--wcsf-border-color);
  padding: 0.375rem 0.75rem;
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: none;
  border-radius: var(--wcsf-border-radius);
  display: flex;
  flex-wrap: wrap;
}
.wcsf-ts-wrapper.multi.has-items .wcsf-ts-control {
  padding: calc(0.375rem - 1px - 0px) 0.75rem calc(0.375rem - 1px - 3px - 0px);
}
.full .wcsf-ts-control {
  background-color: var(--wcsf-body-bg);
}
.disabled .wcsf-ts-control, .disabled .wcsf-ts-control * {
  cursor: default !important;
}
.focus .wcsf-ts-control {
  box-shadow: none;
}
.wcsf-ts-control > * {
  vertical-align: baseline;
  display: inline-block;
}
.wcsf-ts-wrapper.multi .wcsf-ts-control > div {
  cursor: pointer;
  margin: 0 3px 3px 0;
  padding: 1px 5px;
  background: #efefef;
  color: #343a40;
  border: 0px solid #dee2e6;
}
.wcsf-ts-wrapper.multi .wcsf-ts-control > div.active {
  background: #0d6efd;
  color: #fff;
  border: 0px solid rgba(0, 0, 0, 0);
}
.wcsf-ts-wrapper.multi.disabled .wcsf-ts-control > div, .wcsf-ts-wrapper.multi.disabled .wcsf-ts-control > div.active {
  color: rgb(134.5, 134.5, 134.5);
  background: white;
  border: 0px solid white;
}
.wcsf-ts-control > input {
  flex: 1 1 auto;
  min-width: 7rem;
  display: inline-block !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-indent: 0 !important;
  border: 0 none !important;
  background: none !important;
  line-height: inherit !important;
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
          user-select: auto !important;
  box-shadow: none !important;
}
.wcsf-ts-control > input::-ms-clear {
  display: none;
}
.wcsf-ts-control > input:focus {
  outline: none !important;
}
.has-items .wcsf-ts-control > input {
  margin: 0px 4px !important;
}
.wcsf-ts-control.rtl {
  text-align: right;
}
.wcsf-ts-control.rtl.single .wcsf-ts-control:after {
  left: calc(0.75rem + 5px);
  right: auto;
}
.wcsf-ts-control.rtl .wcsf-ts-control > input {
  margin: 0px 4px 0px -2px !important;
}
.disabled .wcsf-ts-control {
  opacity: 0.5;
  background-color: var(--wcsf-secondary-bg);
}
.input-hidden .wcsf-ts-control > input {
  opacity: 0;
  position: absolute;
  left: -10000px;
}

.wcsf-ts-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10;
  border: 1px solid #d0d0d0;
  background: var(--wcsf-body-bg);
  margin: 0.25rem 0 0 0;
  border-top: 0 none;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 var(--wcsf-border-radius) var(--wcsf-border-radius);
}
.wcsf-ts-dropdown [data-selectable] {
  cursor: pointer;
  overflow: hidden;
}
.wcsf-ts-dropdown [data-selectable] .highlight {
  background: rgba(255, 237, 40, 0.4);
  border-radius: 1px;
}
.wcsf-ts-dropdown .option,
.wcsf-ts-dropdown .optgroup-header,
.wcsf-ts-dropdown .no-results,
.wcsf-ts-dropdown .create {
  padding: 3px 0.75rem;
}
.wcsf-ts-dropdown .option {
  display: flex;
  align-items: center;
  gap: 0.25em;
}
.wcsf-ts-dropdown .option, .wcsf-ts-dropdown [data-disabled], .wcsf-ts-dropdown [data-disabled] [data-selectable].option {
  cursor: inherit;
  opacity: 0.5;
}
.wcsf-ts-dropdown [data-selectable].option {
  opacity: 1;
  cursor: pointer;
}
.wcsf-ts-dropdown .optgroup:first-child .optgroup-header {
  border-top: 0 none;
}
.wcsf-ts-dropdown .optgroup-header {
  color: #6c757d;
  background: var(--wcsf-body-bg);
  cursor: default;
}
.wcsf-ts-dropdown .active {
  background-color: var(--wcsf-tertiary-bg);
  color: var(--wcsf-body-color);
}
.wcsf-ts-dropdown .active.create {
  color: var(--wcsf-body-color);
}
.wcsf-ts-dropdown .create {
  color: rgba(52, 58, 64, 0.5);
}
.wcsf-ts-dropdown .spinner {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 3px 0.75rem;
}
.wcsf-ts-dropdown .spinner:after {
  content: " ";
  display: block;
  width: 24px;
  height: 24px;
  margin: 3px;
  border-radius: 50%;
  border: 5px solid #d0d0d0;
  border-color: #d0d0d0 transparent #d0d0d0 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.wcsf-ts-dropdown-content {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 200px;
  overflow-scrolling: touch;
  scroll-behavior: smooth;
}

.ts-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.wcsf-ts-wrapper.form-control,
.wcsf-ts-wrapper.form-select {
  padding: 0 !important;
  height: auto;
  box-shadow: none;
  display: flex;
}

.wcsf-ts-dropdown,
.wcsf-ts-dropdown.form-control,
.wcsf-ts-dropdown.form-select {
  height: auto;
  padding: 0;
  z-index: 1000;
  background: var(--wcsf-body-bg);
  border: 1px solid var(--wcsf-border-color-translucent);
  border-radius: 0.25rem;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

.wcsf-ts-dropdown .optgroup-header {
  font-size: 0.875rem;
  line-height: 1.5;
}
.wcsf-ts-dropdown .optgroup:first-child:before {
  display: none;
}
.wcsf-ts-dropdown .optgroup:before {
  content: " ";
  display: block;
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid var(--wcsf-border-color-translucent);
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}
.wcsf-ts-dropdown .create {
  padding-left: 0.75rem;
}

.wcsf-ts-dropdown-content {
  padding: 5px 0;
}

.wcsf-ts-control {
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  display: flex;
  align-items: center;
}
@media (prefers-reduced-motion: reduce) {
  .wcsf-ts-control {
    transition: none;
  }
}
.focus .wcsf-ts-control {
  border-color: rgb(134, 182.5, 254);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.wcsf-ts-control .item {
  display: flex;
  align-items: center;
  gap: 0.25em;
}
.wcsf-ts-control .item img {
  width: auto;
  max-height: 1.5em;
}

.wcsf-ts-wrapper.is-invalid,
.was-validated .invalid,
.was-validated :invalid + .wcsf-ts-wrapper {
  border-color: var(--wcsf-form-invalid-color);
}
.wcsf-ts-wrapper.is-invalid:not(.single),
.was-validated .invalid:not(.single),
.was-validated :invalid + .wcsf-ts-wrapper:not(.single) {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
  background-repeat: no-repeat;
}
.wcsf-ts-wrapper.is-invalid.single,
.was-validated .invalid.single,
.was-validated :invalid + .wcsf-ts-wrapper.single {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
  background-repeat: no-repeat;
}
.wcsf-ts-wrapper.is-invalid.focus .wcsf-ts-control,
.was-validated .invalid.focus .wcsf-ts-control,
.was-validated :invalid + .wcsf-ts-wrapper.focus .wcsf-ts-control {
  border-color: var(--wcsf-form-invalid-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--wcsf-form-invalid-color), 0.25);
}

.wcsf-ts-wrapper.is-valid,
.was-validated .valid,
.was-validated :valid + .wcsf-ts-wrapper {
  border-color: var(--wcsf-form-valid-color);
}
.wcsf-ts-wrapper.is-valid:not(.single),
.was-validated .valid:not(.single),
.was-validated :valid + .wcsf-ts-wrapper:not(.single) {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
  background-repeat: no-repeat;
}
.wcsf-ts-wrapper.is-valid.single,
.was-validated .valid.single,
.was-validated :valid + .wcsf-ts-wrapper.single {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
  background-repeat: no-repeat;
}
.wcsf-ts-wrapper.is-valid.focus .wcsf-ts-control,
.was-validated .valid.focus .wcsf-ts-control,
.was-validated :valid + .wcsf-ts-wrapper.focus .wcsf-ts-control {
  border-color: var(--wcsf-form-valid-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--wcsf-form-valid-color), 0.25);
}

.wcsf-ts-wrapper {
  min-height: calc(1.5em + 0.75rem + calc(var(--wcsf-border-width) * 2));
  display: flex;
}
.wcsf-ts-wrapper.multi.has-items .wcsf-ts-control {
  padding-left: calc(0.75rem - 5px);
  --ts-pr-min: calc(0.75rem - 5px);
}
.wcsf-ts-wrapper.multi .wcsf-ts-control > div {
  border-radius: calc(var(--wcsf-border-radius) - 1px);
}

.wcsf-ts-wrapper:not(.form-control):not(.form-select) {
  padding: 0;
  border: none;
  height: auto;
  box-shadow: none;
  background: none;
}
.wcsf-ts-wrapper:not(.form-control):not(.form-select).single .wcsf-ts-control {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
}
.wcsf-ts-wrapper.form-select, .wcsf-ts-wrapper.single {
  --ts-pr-caret: 2.25rem;
}

.wcsf-ts-wrapper.form-control .wcsf-ts-control, .wcsf-ts-wrapper.form-control.single.input-active .wcsf-ts-control,
.wcsf-ts-wrapper.form-select .wcsf-ts-control,
.wcsf-ts-wrapper.form-select.single.input-active .wcsf-ts-control {
  border: none !important;
}
.wcsf-ts-wrapper.form-control:not(.disabled) .wcsf-ts-control, .wcsf-ts-wrapper.form-control:not(.disabled).single.input-active .wcsf-ts-control,
.wcsf-ts-wrapper.form-select:not(.disabled) .wcsf-ts-control,
.wcsf-ts-wrapper.form-select:not(.disabled).single.input-active .wcsf-ts-control {
  background: transparent !important;
}

.input-group > .wcsf-ts-wrapper {
  flex-grow: 1;
}
.input-group > .wcsf-ts-wrapper:not(:nth-child(2)) > .wcsf-ts-control {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .wcsf-ts-wrapper:not(:last-child) > .wcsf-ts-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

@font-face {
  font-family: woocommerce-step-filter;
  src: url("../fonts/icons.ttf");
  src: url("../fonts/icons.woff2") format("woff2"), url("../fonts/icons.woff") format("woff"), url("../fonts/icons.ttf") format("truetype");
}
.wcsf-spinner {
  position: -webkit-sticky;
  position: sticky;
  top: calc(50% - var(--wcsf-loading-spinner-size, 4rem) / 2);
  z-index: 10;
  display: block;
  width: var(--wcsf-loading-spinner-size, 4rem);
  height: var(--wcsf-loading-spinner-size, 4rem);
  margin: auto;
}
.wcsf-spinner-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.wcsf-spinner-bar {
  stroke: var(--wcsf-spinner-bar-stroke-color, #212529);
  stroke-width: var(--wcsf-spinner-bar-stroke-width, 6);
  stroke-opacity: var(--wcsf-spinner-bar-stroke-opacity, 0.3);
  fill: none;
}
.wcsf-spinner-fill {
  transition: stroke-dashoffset 0.1s ease-in-out;
  stroke-dashoffset: calc(100px - 1px * max(var(--wcsf-loading-spinner-min-value, 10), min(100, var(--wcsf-loading-progress, 10))));
  stroke: var(--wcsf-spinner-bar-stroke-color, #212529);
  stroke-width: var(--wcsf-spinner-fill-stroke-width, 6);
  stroke-opacity: var(--wcsf-spinner-fill-stroke-opacity, 1);
  fill: none;
}

.wcsf-controls, .wcsf-shop-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  flex: 1;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.wcsf-controls:empty, .wcsf-shop-controls:empty {
  display: none;
}
.wcsf-controls::before, .wcsf-shop-controls::before {
  display: none;
}
.wcsf-controls-spacer, .wcsf-shop-controls-spacer {
  margin: auto;
}
.wcsf-controls-preliminary-results {
  padding: 0 0.5rem;
}
.wcsf-control.is-back:is(.icon-start, .icon-left)::before, .wcsf-control.is-back:is(.icon-end, .icon-right)::after, .wcsf-control.is-shop-back:is(.icon-start, .icon-left)::before, .wcsf-control.is-shop-back:is(.icon-end, .icon-right)::after {
  content: "\e001";
}
.wcsf-control.is-skip:is(.icon-start, .icon-left)::before, .wcsf-control.is-skip:is(.icon-end, .icon-right)::after {
  content: "\e004";
}
.wcsf-control.is-reset:is(.icon-start, .icon-left)::before, .wcsf-control.is-reset:is(.icon-end, .icon-right)::after {
  content: "\e007";
}
.wcsf-control.is-next:is(.icon-start, .icon-left)::before, .wcsf-control.is-next:is(.icon-end, .icon-right)::after {
  content: "\e002";
}
.wcsf-control.is-results-pdf:is(.icon-start, .icon-left)::before, .wcsf-control.is-results-pdf:is(.icon-end, .icon-right)::after {
  content: "\e006";
}
.wcsf-control.is-results:is(.icon-start, .icon-left)::before, .wcsf-control.is-results:is(.icon-end, .icon-right)::after {
  content: "\e005";
}
.wcsf-control.is-share:is(.icon-start, .icon-left)::before, .wcsf-control.is-share:is(.icon-end, .icon-right)::after {
  content: "\e008";
}
.wcsf-control.is-shop-reset:is(.icon-start, .icon-left)::before, .wcsf-control.is-shop-reset:is(.icon-end, .icon-right)::after {
  content: "\e003";
}
.wcsf-control.is-shop-repeat:is(.icon-start, .icon-left)::before, .wcsf-control.is-shop-repeat:is(.icon-end, .icon-right)::after {
  content: "\e007";
}
.wcsf-control.show-icon.btn-sm:is(.icon-start, .icon-left)::before, .wcsf-control.show-icon.btn-sm:is(.icon-end, .icon-right)::after, .wcsf-control.show-icon-on-mobile.btn-sm:is(.icon-start, .icon-left)::before, .wcsf-control.show-icon-on-mobile.btn-sm:is(.icon-end, .icon-right)::after {
  padding: 0 0.4em;
  transform: scale(1.5);
}
.wcsf-control.show-icon::after, .wcsf-control.show-icon::before, .wcsf-control.show-icon-on-mobile::after, .wcsf-control.show-icon-on-mobile::before {
  display: none;
}
.wcsf-control.show-icon:is(.icon-start, .icon-left)::before, .wcsf-control.show-icon:is(.icon-end, .icon-right)::after {
  font-family: woocommerce-step-filter;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  display: inline-block;
  padding: 0 0.2em;
  line-height: inherit;
  font-size: 0.8em;
  transform: scale(1.2);
}
@media (max-width: 767.98px) {
  .wcsf-control.show-icon-on-mobile:is(.icon-start, .icon-left)::before, .wcsf-control.show-icon-on-mobile:is(.icon-end, .icon-right)::after {
    font-family: woocommerce-step-filter;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    text-decoration: none;
    text-transform: none;
    vertical-align: middle;
    display: inline-block;
    padding: 0 0.2em;
    line-height: inherit;
    font-size: 0.8em;
    transform: scale(1.2);
  }
}
.wcsf-control.hide-text .wcsf-control-inner {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (max-width: 767.98px) {
  .wcsf-control.hide-text-on-mobile .wcsf-control-inner {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}

.wcsf-header {
  --wcsf-header-sticky-offset: 0;
  --wcsf-header-sticky-offset: var(--wcsf-header-sticky-offset-xxs, 0);
}
.wcsf-header.is-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: var(--wcsf-header-sticky-offset, 0);
  right: 0;
  left: 0;
  z-index: var(--wcsf-header-stuck-z-index, 10);
  color: var(--wcsf-header-stuck-color, #212529);
  -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
          backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
}
.wcsf-header.is-sticky[stuck] {
  background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
  box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
}
@media (min-width: 480px) {
  .wcsf-header {
    --wcsf-header-sticky-offset: var(--wcsf-header-sticky-offset-xs, 0);
  }
}
@media (max-width: 479.98px) {
  .wcsf-header.is-sticky-xs {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-xs[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 480px) {
  .wcsf-header.is-sticky-up-xs {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-up-xs[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 576px) {
  .wcsf-header {
    --wcsf-header-sticky-offset: var(--wcsf-header-sticky-offset-sm, 0);
  }
}
@media (max-width: 575.98px) {
  .wcsf-header.is-sticky-sm {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-sm[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 576px) {
  .wcsf-header.is-sticky-up-sm {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-up-sm[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 768px) {
  .wcsf-header {
    --wcsf-header-sticky-offset: var(--wcsf-header-sticky-offset-md, 0);
  }
}
@media (max-width: 767.98px) {
  .wcsf-header.is-sticky-md {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-md[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 768px) {
  .wcsf-header.is-sticky-up-md {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-up-md[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 992px) {
  .wcsf-header {
    --wcsf-header-sticky-offset: var(--wcsf-header-sticky-offset-lg, 0);
  }
}
@media (max-width: 991.98px) {
  .wcsf-header.is-sticky-lg {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-lg[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 992px) {
  .wcsf-header.is-sticky-up-lg {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-up-lg[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1200px) {
  .wcsf-header {
    --wcsf-header-sticky-offset: var(--wcsf-header-sticky-offset-xl, 0);
  }
}
@media (max-width: 1199.98px) {
  .wcsf-header.is-sticky-xl {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-xl[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1200px) {
  .wcsf-header.is-sticky-up-xl {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-up-xl[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1400px) {
  .wcsf-header {
    --wcsf-header-sticky-offset: var(--wcsf-header-sticky-offset-xxl, 0);
  }
}
@media (max-width: 1399.98px) {
  .wcsf-header.is-sticky-xxl {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-xxl[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1400px) {
  .wcsf-header.is-sticky-up-xxl {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-header-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    color: var(--wcsf-header-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-header-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-header.is-sticky-up-xxl[stuck] {
    background-color: var(--wcsf-header-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-header-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}

fieldset.wcsf-fields {
  margin: 1rem 0;
}

.wcsf-fields.is-image-radio, .wcsf-fields.is-image-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wcsf-fields-grid-gap, 1rem);
}
.wcsf-fields.is-alignment-start {
  justify-content: flex-start;
}
.wcsf-fields.is-alignment-end {
  justify-content: flex-end;
}
.wcsf-fields.is-alignment-center {
  justify-content: center;
}
.wcsf-fields.is-alignment-between {
  justify-content: space-between;
}
.wcsf-fields.is-alignment-around {
  justify-content: space-around;
}
.wcsf-fields.is-alignment-evenly {
  justify-content: space-evenly;
}
.wcsf-fields.is-multi-choice-checkbox, .wcsf-fields.is-multi-choice-range {
  display: table;
}
ul.wcsf-fields-list {
  margin: 0 auto;
  padding-right: 0;
  padding-left: 0;
}

.wcsf-fields-list.is-number-between .wcsf-field {
  flex: var(--wcsf-range-field-flex, 1 250px);
}
.wcsf-fields-list.is-button-radio, .wcsf-fields-list.is-button-checkbox {
  display: table;
}
.wcsf-fields-list .wcsf-fields-list {
  margin-bottom: 0;
  -webkit-margin-start: 1rem;
          margin-inline-start: 1rem;
}
.wcsf-field.is-radio, .wcsf-field.is-checkbox {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.wcsf-field.is-chips-radio, .wcsf-field.is-chips-checkbox {
  display: inline-block;
  margin-bottom: 0.5rem;
}
.wcsf-field.is-chips-radio .wcsf-field-input, .wcsf-field.is-chips-checkbox .wcsf-field-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.wcsf-field.is-chips-radio .wcsf-field-input:focus ~ .wcsf-field-name, .wcsf-field.is-chips-checkbox .wcsf-field-input:focus ~ .wcsf-field-name {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.wcsf-field.is-chips-radio .wcsf-field-input:checked ~ .wcsf-field-name, .wcsf-field.is-chips-checkbox .wcsf-field-input:checked ~ .wcsf-field-name {
  color: #fff;
  border-color: #0d6efd;
  background-color: #0d6efd;
}
.wcsf-field.is-chips-radio .wcsf-field-input[disabled] ~ .wcsf-field-name, .wcsf-field.is-chips-checkbox .wcsf-field-input[disabled] ~ .wcsf-field-name {
  color: #6c757d;
  background-color: transparent;
  cursor: not-allowed;
  opacity: 0.65;
}
.wcsf-field.is-chips-radio .wcsf-field-name, .wcsf-field.is-chips-checkbox .wcsf-field-name {
  border-radius: var(--wcsf-field-chips-name-border-radius, 1.375rem);
  padding-right: var(--wcsf-field-chips-name-padding, 1.125rem);
  padding-left: var(--wcsf-field-chips-name-padding, 1.125rem);
}
.wcsf-field.is-button-radio, .wcsf-field.is-button-checkbox {
  display: block;
  margin-bottom: 0.5rem;
}
.wcsf-field.is-button-radio .wcsf-field-label, .wcsf-field.is-button-checkbox .wcsf-field-label {
  display: block;
}
.wcsf-field.is-button-radio .wcsf-field-input, .wcsf-field.is-button-checkbox .wcsf-field-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.wcsf-field.is-button-radio .wcsf-field-input:focus ~ .wcsf-field-name, .wcsf-field.is-button-checkbox .wcsf-field-input:focus ~ .wcsf-field-name {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.wcsf-field.is-button-radio .wcsf-field-input:checked ~ .wcsf-field-name, .wcsf-field.is-button-checkbox .wcsf-field-input:checked ~ .wcsf-field-name {
  color: #fff;
  border-color: #0d6efd;
  background-color: #0d6efd;
}
.wcsf-field.is-button-radio .wcsf-field-input[disabled] ~ .wcsf-field-name, .wcsf-field.is-button-checkbox .wcsf-field-input[disabled] ~ .wcsf-field-name {
  color: #6c757d;
  background-color: transparent;
  cursor: not-allowed;
  opacity: 0.65;
}
.wcsf-field.is-button-radio .wcsf-field-name, .wcsf-field.is-button-checkbox .wcsf-field-name {
  width: 100%;
}
.wcsf-field.is-image-radio, .wcsf-field.is-image-checkbox {
  display: inline-block;
  width: var(--wcsf-field-image-width, auto);
  cursor: pointer;
  vertical-align: top;
  text-align: center;
}
.wcsf-field.is-image-radio:not(.disabled):hover .wcsf-field-thumbnail:empty,
.wcsf-field.is-image-radio:not(.disabled):hover .wcsf-field-thumbnail-image, .wcsf-field.is-image-radio:not(.disabled):focus .wcsf-field-thumbnail:empty,
.wcsf-field.is-image-radio:not(.disabled):focus .wcsf-field-thumbnail-image, .wcsf-field.is-image-checkbox:not(.disabled):hover .wcsf-field-thumbnail:empty,
.wcsf-field.is-image-checkbox:not(.disabled):hover .wcsf-field-thumbnail-image, .wcsf-field.is-image-checkbox:not(.disabled):focus .wcsf-field-thumbnail:empty,
.wcsf-field.is-image-checkbox:not(.disabled):focus .wcsf-field-thumbnail-image {
  border: var(--wcsf-field-thumbnail-focus-border, 1px solid #0d6efd);
}
.wcsf-field.is-image-radio.disabled .wcsf-field-label, .wcsf-field.is-image-checkbox.disabled .wcsf-field-label {
  color: #6c757d;
  cursor: not-allowed;
}
.wcsf-field.is-image-radio.disabled .wcsf-field-thumbnail, .wcsf-field.is-image-checkbox.disabled .wcsf-field-thumbnail {
  cursor: not-allowed;
  opacity: 0.5;
}
.wcsf-field.is-image-radio .wcsf-field-label, .wcsf-field.is-image-checkbox .wcsf-field-label {
  position: relative;
  display: block;
  cursor: pointer;
}
.wcsf-field.is-image-radio .wcsf-field-thumbnail, .wcsf-field.is-image-checkbox .wcsf-field-thumbnail {
  position: relative;
  display: block;
  margin-bottom: 0.5rem;
}
.wcsf-field.is-image-radio .wcsf-field-thumbnail:empty, .wcsf-field.is-image-checkbox .wcsf-field-thumbnail:empty {
  padding-bottom: 100%;
  border: var(--wcsf-field-thumbnail-border, 1px solid #e9ecef);
  border-radius: var(--wcsf-field-thumbnail-border-radius, 0.25rem);
}
.wcsf-field.is-image-radio .wcsf-field-thumbnail-image, .wcsf-field.is-image-checkbox .wcsf-field-thumbnail-image {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto 0.5rem;
  padding: var(--wcsf-field-thumbnail-padding, 0.5rem);
  border: var(--wcsf-field-thumbnail-border, 1px solid #e9ecef);
  border-radius: var(--wcsf-field-thumbnail-border-radius, 0.25rem);
}
.wcsf-field.is-image-radio .wcsf-field-name, .wcsf-field.is-image-checkbox .wcsf-field-name {
  display: block;
}
.wcsf-field.is-image-radio .wcsf-field-description, .wcsf-field.is-image-checkbox .wcsf-field-description {
  display: block;
  margin: 0.5rem 0;
}
.wcsf-field.is-image-radio .wcsf-field-input, .wcsf-field.is-image-checkbox .wcsf-field-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.wcsf-field.is-image-radio .wcsf-field-input:focus-visible ~ .wcsf-field-thumbnail:empty, .wcsf-field.is-image-radio .wcsf-field-input:focus-visible ~ .wcsf-field-thumbnail img, .wcsf-field.is-image-checkbox .wcsf-field-input:focus-visible ~ .wcsf-field-thumbnail:empty, .wcsf-field.is-image-checkbox .wcsf-field-input:focus-visible ~ .wcsf-field-thumbnail img {
  border: var(--wcsf-field-thumbnail-focus-border, 1px solid #0d6efd);
}
.wcsf-field.is-image-radio .wcsf-field-input:checked ~ .wcsf-field-thumbnail:empty, .wcsf-field.is-image-radio .wcsf-field-input:checked ~ .wcsf-field-thumbnail img, .wcsf-field.is-image-checkbox .wcsf-field-input:checked ~ .wcsf-field-thumbnail:empty, .wcsf-field.is-image-checkbox .wcsf-field-input:checked ~ .wcsf-field-thumbnail img {
  box-shadow: var(--wcsf-field-thumbnail-focus-box-shadow, var(--wcsf-box-shadow-inset), 0 0 0 0.25rem rgba(13, 110, 253, 0.25));
}
.wcsf-field.is-image-radio .wcsf-field-input:disabled ~ .wcsf-field-thumbnail:empty, .wcsf-field.is-image-radio .wcsf-field-input:disabled ~ .wcsf-field-thumbnail img, .wcsf-field.is-image-checkbox .wcsf-field-input:disabled ~ .wcsf-field-thumbnail:empty, .wcsf-field.is-image-checkbox .wcsf-field-input:disabled ~ .wcsf-field-thumbnail img {
  border: var(--wcsf-field-thumbnail-disabled-border, 1px solid #ced4da);
  cursor: not-allowed;
  opacity: 0.5;
}
.wcsf-field.is-multi-choice-checkbox, .wcsf-field.is-multi-choice-range {
  display: table-row;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-label, .wcsf-field.is-multi-choice-range .wcsf-field-label {
  display: table-cell;
  padding-bottom: 0.5rem;
  vertical-align: top;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-value, .wcsf-field.is-multi-choice-range .wcsf-field-value {
  position: relative;
  display: table-cell;
  padding-bottom: 0.5rem;
  vertical-align: top;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-value-inner, .wcsf-field.is-multi-choice-range .wcsf-field-value-inner {
  position: relative;
  display: flex;
  align-items: center;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-icon {
  position: relative;
  width: 1rem;
  height: 1rem;
  -webkit-margin-end: 0.5rem;
          margin-inline-end: 0.5rem;
  -webkit-margin-start: 1rem;
          margin-inline-start: 1rem;
  border: var(--wcsf-form-check-input-border, var(--wcsf-border-width) solid var(--wcsf-border-color));
  border-radius: var(--wcsf-form-check-input-border-radius, 0.25em);
  background-color: var(--wcsf-form-check-input-bg, var(--wcsf-body-bg));
  cursor: pointer;
  transition-property: background-color, border-color;
  transition-duration: 0.25s;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-icon::before, .wcsf-field.is-multi-choice-checkbox .wcsf-field-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border: 0 solid #fff;
  transition-property: border, transform, width, height;
  transition-duration: 0.25s;
  transform: scale(0);
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-label {
  margin: 0;
  border-bottom: 1px dashed transparent;
  cursor: pointer;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  cursor: pointer;
  opacity: 0;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:focus ~ .wcsf-field-icon {
  box-shadow: 0 0 0 0.2rem var(--wcsf-input-focus-outline-color, rgba(13, 110, 253, 0.25));
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:disabled ~ .wcsf-field-icon {
  border-color: var(--wcsf-field-multi-choice-checkbox-default-border-color, rgb(203.4736842105, 210.5, 217.5263157895));
  background-color: var(--wcsf-field-multi-choice-checkbox-default-color, #e9ecef);
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:disabled ~ .wcsf-field-name {
  cursor: not-allowed;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-undefined ~ .wcsf-field-name:not(.is-undefined) {
  display: none;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-possible ~ .wcsf-field-icon {
  background-color: var(--wcsf-field-multi-choice-checkbox-possible-color, #17a2b8);
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-possible ~ .wcsf-field-icon::after {
  width: 0.5rem;
  border-bottom: solid 0.15rem #fff;
  transform: translate(-50%, -50%);
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-possible ~ .wcsf-field-name:not(.is-possible) {
  display: none;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-required ~ .wcsf-field-icon {
  background-color: var(--wcsf-field-multi-choice-checkbox-required-color, #28a745);
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-required ~ .wcsf-field-icon::after {
  width: 0.5rem;
  height: 0.25rem;
  border-bottom: solid 0.15rem #fff;
  border-left: solid 0.15rem #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-required ~ .wcsf-field-name:not(.is-required) {
  display: none;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-excluded ~ .wcsf-field-icon {
  background-color: var(--wcsf-field-multi-choice-checkbox-excluded-color, #dc3545);
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-excluded ~ .wcsf-field-icon::before, .wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-excluded ~ .wcsf-field-icon::after {
  width: 0.5rem;
  border-bottom: solid 0.15rem #fff;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-excluded ~ .wcsf-field-icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-excluded ~ .wcsf-field-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked.is-excluded ~ .wcsf-field-name:not(.is-excluded) {
  display: none;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:checked + .wcsf-field-input {
  z-index: 10;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-input:first-child {
  z-index: 5;
}
.wcsf-field.is-multi-choice-checkbox .wcsf-field-name {
  margin: 0;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input.wcsf-range {
  width: var(--wcsf-multi-choice-range-input-width, 4rem);
  -webkit-margin-end: 0.5rem;
          margin-inline-end: 0.5rem;
  -webkit-margin-start: 1rem;
          margin-inline-start: 1rem;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="-1"] ~ .wcsf-field-name:not([data-value="-1"]), .wcsf-field.is-multi-choice-range .wcsf-field-input[value="0"] ~ .wcsf-field-name:not([data-value="0"]), .wcsf-field.is-multi-choice-range .wcsf-field-input[value="1"] ~ .wcsf-field-name:not([data-value="1"]), .wcsf-field.is-multi-choice-range .wcsf-field-input[value="2"] ~ .wcsf-field-name:not([data-value="2"]) {
  display: none;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="-1"]::-webkit-slider-runnable-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="-1"]:focus::-webkit-slider-runnable-track {
  background: #dc3545;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="-1"]::-moz-range-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="-1"]:focus::-moz-range-track {
  background: #dc3545;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="-1"]::-ms-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="-1"]:focus::-ms-track {
  background: #dc3545;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="0"]::-webkit-slider-runnable-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="0"]:focus::-webkit-slider-runnable-track {
  background: #e9ecef;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="0"]::-moz-range-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="0"]:focus::-moz-range-track {
  background: #e9ecef;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="0"]::-ms-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="0"]:focus::-ms-track {
  background: #e9ecef;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="1"]::-webkit-slider-runnable-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="1"]:focus::-webkit-slider-runnable-track {
  background: #17a2b8;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="1"]::-moz-range-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="1"]:focus::-moz-range-track {
  background: #17a2b8;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="1"]::-ms-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="1"]:focus::-ms-track {
  background: #17a2b8;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="2"]::-webkit-slider-runnable-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="2"]:focus::-webkit-slider-runnable-track {
  background: #28a745;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="2"]::-moz-range-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="2"]:focus::-moz-range-track {
  background: #28a745;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input[value="2"]::-ms-track, .wcsf-field.is-multi-choice-range .wcsf-field-input[value="2"]:focus::-ms-track {
  background: #28a745;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input:focus {
  outline: 0;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
  outline: 0;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input:focus::-moz-range-thumb {
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
  outline: 0;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input:focus::-ms-thumb {
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
  outline: 0;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input::-webkit-slider-runnable-track {
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input::-moz-range-track {
  -moz-transition: background 0.3s;
  transition: background 0.3s;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input::-ms-fill-upper {
  -ms-transition: background 0.3s;
  transition: background 0.3s;
}
.wcsf-field.is-multi-choice-range .wcsf-field-input::-ms-fill-lower {
  -ms-transition: background 0.3s;
  transition: background 0.3s;
}
.wcsf-field-label {
  position: relative;
}
.input-group-addon .wcsf-field-label {
  margin-bottom: 0;
}
.wcsf-field-count {
  font-size: 0.75em;
}
.wcsf-field-description {
  display: inline-block;
  font-size: 0.9em;
}
.wcsf-field-name {
  display: inline-block;
  max-width: 100%;
}
.wcsf-field-input.dropdown-menu {
  z-index: auto;
}

.wcsf-products-controls {
  margin-bottom: 2rem;
}
.wcsf-products-controls::after {
  display: block;
  clear: both;
  content: "";
}
.wcsf-products-description::after {
  display: block;
  clear: both;
  content: "";
}

.wcsf-range {
  display: block;
  width: 100%;
  height: 2rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.wcsf-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.4rem;
  border: 0 solid transparent;
  border-radius: 0.25rem;
  background: #e9ecef;
  cursor: pointer;
}
.wcsf-range::-moz-range-track {
  width: 100%;
  height: 0.4rem;
  border: 0 solid transparent;
  border-radius: 0.25rem;
  background: #e9ecef;
  cursor: pointer;
}
.wcsf-range::-ms-track {
  width: 100%;
  height: 0.4rem;
  border: 0 solid transparent;
  border-radius: 0.25rem;
  background: #e9ecef;
  cursor: pointer;
}
.wcsf-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px #dee2e6;
  cursor: pointer;
}
.wcsf-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px #dee2e6;
  cursor: pointer;
}
.wcsf-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px #dee2e6;
  cursor: pointer;
}
.wcsf-range:focus::-webkit-slider-runnable-track {
  background: #e9ecef;
}
.wcsf-range:focus::-moz-range-track {
  background: #e9ecef;
}
.wcsf-range:focus::-ms-track {
  background: #e9ecef;
}
.wcsf-range:disabled {
  cursor: not-allowed;
}
.wcsf-range:disabled::-webkit-slider-runnable-track {
  background: #dee2e6;
}
.wcsf-range:disabled::-moz-range-track {
  background: #dee2e6;
}
.wcsf-range:disabled::-ms-track {
  background: #dee2e6;
}
.wcsf-range:disabled::-webkit-slider-thumb {
  background: #e9ecef;
}
.wcsf-range:disabled::-moz-range-thumb {
  background: #e9ecef;
}
.wcsf-range:disabled::-ms-thumb {
  background: #e9ecef;
}
.wcsf-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  margin-top: -0.3rem;
}
.wcsf-single-range, .wcsf-double-range {
  --wcsf-range-track-bg: #e9ecef;
  --wcsf-range-fill-bg: #0d6efd;
  --wcsf-range-track-direction: right;
  --wcsf-range-tooltip-offset: -50%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: var(--wcsf-range-gap, 0.5rem);
}
.wcsf-single-range.has-tooltip::before, .wcsf-single-range.has-tooltip::after, .wcsf-double-range.has-tooltip::before, .wcsf-double-range.has-tooltip::after {
  position: absolute;
  bottom: 100%;
  z-index: 1;
  color: var(--wcsf-range-tooltip-color, #fff);
  background-color: var(--wcsf-range-tooltip-bg, #0d6efd);
  border-radius: var(--wcsf-range-tooltip-border-radius, 0.25rem);
  padding: var(--wcsf-range-tooltip-padding, 0 0.5rem);
  white-space: nowrap;
  transform: translateX(var(--wcsf-range-tooltip-offset, -50%));
}
.wcsf-single-range-slider[class], .wcsf-double-range-slider[class] {
  display: block;
  width: 100%;
  height: 2rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.wcsf-single-range-slider[class]::-webkit-slider-runnable-track, .wcsf-double-range-slider[class]::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.4rem;
  border: 0 solid transparent;
  border-radius: 0.25rem;
  background: #e9ecef;
  cursor: pointer;
}
.wcsf-single-range-slider[class]::-moz-range-track, .wcsf-double-range-slider[class]::-moz-range-track {
  width: 100%;
  height: 0.4rem;
  border: 0 solid transparent;
  border-radius: 0.25rem;
  background: #e9ecef;
  cursor: pointer;
}
.wcsf-single-range-slider[class]::-ms-track, .wcsf-double-range-slider[class]::-ms-track {
  width: 100%;
  height: 0.4rem;
  border: 0 solid transparent;
  border-radius: 0.25rem;
  background: #e9ecef;
  cursor: pointer;
}
.wcsf-single-range-slider[class]::-webkit-slider-thumb, .wcsf-double-range-slider[class]::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px #dee2e6;
  cursor: pointer;
}
.wcsf-single-range-slider[class]::-moz-range-thumb, .wcsf-double-range-slider[class]::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px #dee2e6;
  cursor: pointer;
}
.wcsf-single-range-slider[class]::-ms-thumb, .wcsf-double-range-slider[class]::-ms-thumb {
  width: 1rem;
  height: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px #dee2e6;
  cursor: pointer;
}
.wcsf-single-range-slider[class]:focus::-webkit-slider-runnable-track, .wcsf-double-range-slider[class]:focus::-webkit-slider-runnable-track {
  background: #e9ecef;
}
.wcsf-single-range-slider[class]:focus::-moz-range-track, .wcsf-double-range-slider[class]:focus::-moz-range-track {
  background: #e9ecef;
}
.wcsf-single-range-slider[class]:focus::-ms-track, .wcsf-double-range-slider[class]:focus::-ms-track {
  background: #e9ecef;
}
.wcsf-single-range-slider[class]:disabled, .wcsf-double-range-slider[class]:disabled {
  cursor: not-allowed;
}
.wcsf-single-range-slider[class]:disabled::-webkit-slider-runnable-track, .wcsf-double-range-slider[class]:disabled::-webkit-slider-runnable-track {
  background: #dee2e6;
}
.wcsf-single-range-slider[class]:disabled::-moz-range-track, .wcsf-double-range-slider[class]:disabled::-moz-range-track {
  background: #dee2e6;
}
.wcsf-single-range-slider[class]:disabled::-ms-track, .wcsf-double-range-slider[class]:disabled::-ms-track {
  background: #dee2e6;
}
.wcsf-single-range-slider[class]:disabled::-webkit-slider-thumb, .wcsf-double-range-slider[class]:disabled::-webkit-slider-thumb {
  background: #e9ecef;
}
.wcsf-single-range-slider[class]:disabled::-moz-range-thumb, .wcsf-double-range-slider[class]:disabled::-moz-range-thumb {
  background: #e9ecef;
}
.wcsf-single-range-slider[class]:disabled::-ms-thumb, .wcsf-double-range-slider[class]:disabled::-ms-thumb {
  background: #e9ecef;
}
.wcsf-single-range-slider[class]::-webkit-slider-thumb, .wcsf-double-range-slider[class]::-webkit-slider-thumb {
  -webkit-appearance: none;
  margin-top: -0.3rem;
}
.wcsf-single-range {
  --wcsf-range-value-position: 0%;
}
[dir=rtl] .wcsf-single-range {
  --wcsf-range-track-direction: left;
  --wcsf-range-tooltip-offset: 50%;
}

.wcsf-single-range.has-tooltip::before {
  content: attr(data-value-prefix) attr(data-value) attr(data-value-suffix);
  inset-inline-start: var(--wcsf-range-value-position);
}
.wcsf-single-range-slider:not(:disabled)::-webkit-slider-runnable-track, .wcsf-single-range-slider:not(:disabled):focus::-webkit-slider-runnable-track {
  background: linear-gradient(to var(--wcsf-range-track-direction, right), var(--wcsf-range-fill-bg) 0%, var(--wcsf-range-fill-bg) var(--wcsf-range-value-position), var(--wcsf-range-track-bg) var(--wcsf-range-value-position), var(--wcsf-range-track-bg) 100%);
}
.wcsf-single-range-slider:not(:disabled)::-moz-range-track, .wcsf-single-range-slider:not(:disabled):focus::-moz-range-track {
  background: linear-gradient(to var(--wcsf-range-track-direction, right), var(--wcsf-range-fill-bg) 0%, var(--wcsf-range-fill-bg) var(--wcsf-range-value-position), var(--wcsf-range-track-bg) var(--wcsf-range-value-position), var(--wcsf-range-track-bg) 100%);
}
.wcsf-single-range-slider:not(:disabled)::-ms-track, .wcsf-single-range-slider:not(:disabled):focus::-ms-track {
  background: linear-gradient(to var(--wcsf-range-track-direction, right), var(--wcsf-range-fill-bg) 0%, var(--wcsf-range-fill-bg) var(--wcsf-range-value-position), var(--wcsf-range-track-bg) var(--wcsf-range-value-position), var(--wcsf-range-track-bg) 100%);
}
.wcsf-double-range {
  --wcsf-range-from-position: 0%;
  --wcsf-range-to-position: 100%;
}
[dir=rtl] .wcsf-double-range {
  --wcsf-range-track-direction: left;
  --wcsf-range-tooltip-offset: 50%;
}

.wcsf-double-range.has-tooltip::before {
  content: attr(data-value-prefix) attr(data-from-value) attr(data-value-suffix);
  inset-inline-start: var(--wcsf-range-from-position);
}
.wcsf-double-range.has-tooltip::after {
  content: attr(data-value-prefix) attr(data-to-value) attr(data-value-suffix);
  inset-inline-start: var(--wcsf-range-to-position);
}
.wcsf-double-range-sliders {
  position: relative;
  flex: 100%;
}
.wcsf-double-range-slider[class].is-field-from {
  --wcsf-range-offset: calc(100% - var(--wcsf-range-to-position) + ((var(--wcsf-range-to-position) - var(--wcsf-range-from-position)) * 0.5));
  --wcsf-range-left-offset: var(--wcsf-range-offset);
  --wcsf-range-right-offset: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 1;
  background-color: transparent;
  -webkit-clip-path: inset(-1rem var(--wcsf-range-left-offset) -1rem var(--wcsf-range-right-offset));
          clip-path: inset(-1rem var(--wcsf-range-left-offset) -1rem var(--wcsf-range-right-offset));
}
[dir=rtl] .wcsf-double-range-slider[class].is-field-from {
  --wcsf-range-left-offset: 0;
  --wcsf-range-right-offset: var(--wcsf-range-offset);
}

.wcsf-double-range-slider[class].is-field-from::-webkit-slider-runnable-track, .wcsf-double-range-slider[class].is-field-from:focus::-webkit-slider-runnable-track {
  background-color: transparent;
}
.wcsf-double-range-slider[class].is-field-from::-moz-range-track, .wcsf-double-range-slider[class].is-field-from:focus::-moz-range-track {
  background-color: transparent;
}
.wcsf-double-range-slider[class].is-field-from::-ms-track, .wcsf-double-range-slider[class].is-field-from:focus::-ms-track {
  background-color: transparent;
}
.wcsf-double-range-slider[class].is-field-to:not(:disabled)::-webkit-slider-runnable-track {
  background: linear-gradient(to var(--wcsf-range-track-direction, right), var(--wcsf-range-track-bg) 0%, var(--wcsf-range-track-bg) var(--wcsf-range-from-position), var(--wcsf-range-fill-bg) var(--wcsf-range-from-position), var(--wcsf-range-fill-bg) var(--wcsf-range-to-position), var(--wcsf-range-track-bg) var(--wcsf-range-to-position), var(--wcsf-range-track-bg) 100%);
}
.wcsf-double-range-slider[class].is-field-to:not(:disabled)::-moz-range-track {
  background: linear-gradient(to var(--wcsf-range-track-direction, right), var(--wcsf-range-track-bg) 0%, var(--wcsf-range-track-bg) var(--wcsf-range-from-position), var(--wcsf-range-fill-bg) var(--wcsf-range-from-position), var(--wcsf-range-fill-bg) var(--wcsf-range-to-position), var(--wcsf-range-track-bg) var(--wcsf-range-to-position), var(--wcsf-range-track-bg) 100%);
}
.wcsf-double-range-slider[class].is-field-to:not(:disabled)::-ms-track {
  background: linear-gradient(to var(--wcsf-range-track-direction, right), var(--wcsf-range-track-bg) 0%, var(--wcsf-range-track-bg) var(--wcsf-range-from-position), var(--wcsf-range-fill-bg) var(--wcsf-range-from-position), var(--wcsf-range-fill-bg) var(--wcsf-range-to-position), var(--wcsf-range-track-bg) var(--wcsf-range-to-position), var(--wcsf-range-track-bg) 100%);
}

.wcsf-nav {
  --wcsf-nav-sticky-offset: 0;
  padding-bottom: 1rem;
  --wcsf-nav-sticky-offset: var(--wcsf-nav-sticky-offset-xxs, 0);
}
.wcsf-nav.is-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: var(--wcsf-nav-sticky-offset, 0);
  right: 0;
  left: 0;
  z-index: 5;
  -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
          backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
  padding-top: 1rem;
}
.wcsf-nav.is-sticky[stuck] {
  background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
  box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
}
@media (min-width: 480px) {
  .wcsf-nav {
    --wcsf-nav-sticky-offset: var(--wcsf-nav-sticky-offset-xs, 0);
  }
}
@media (max-width: 479.98px) {
  .wcsf-nav.is-sticky-xs {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-xs[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 480px) {
  .wcsf-nav.is-sticky-up-xs {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-up-xs[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 576px) {
  .wcsf-nav {
    --wcsf-nav-sticky-offset: var(--wcsf-nav-sticky-offset-sm, 0);
  }
}
@media (max-width: 575.98px) {
  .wcsf-nav.is-sticky-sm {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-sm[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 576px) {
  .wcsf-nav.is-sticky-up-sm {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-up-sm[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 768px) {
  .wcsf-nav {
    --wcsf-nav-sticky-offset: var(--wcsf-nav-sticky-offset-md, 0);
  }
}
@media (max-width: 767.98px) {
  .wcsf-nav.is-sticky-md {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-md[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 768px) {
  .wcsf-nav.is-sticky-up-md {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-up-md[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 992px) {
  .wcsf-nav {
    --wcsf-nav-sticky-offset: var(--wcsf-nav-sticky-offset-lg, 0);
  }
}
@media (max-width: 991.98px) {
  .wcsf-nav.is-sticky-lg {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-lg[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 992px) {
  .wcsf-nav.is-sticky-up-lg {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-up-lg[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1200px) {
  .wcsf-nav {
    --wcsf-nav-sticky-offset: var(--wcsf-nav-sticky-offset-xl, 0);
  }
}
@media (max-width: 1199.98px) {
  .wcsf-nav.is-sticky-xl {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-xl[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1200px) {
  .wcsf-nav.is-sticky-up-xl {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-up-xl[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1400px) {
  .wcsf-nav {
    --wcsf-nav-sticky-offset: var(--wcsf-nav-sticky-offset-xxl, 0);
  }
}
@media (max-width: 1399.98px) {
  .wcsf-nav.is-sticky-xxl {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-xxl[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1400px) {
  .wcsf-nav.is-sticky-up-xxl {
    position: -webkit-sticky;
    position: sticky;
    top: var(--wcsf-nav-sticky-offset, 0);
    right: 0;
    left: 0;
    z-index: 5;
    -webkit-backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-nav-stuck-backdrop-filter, blur(3px));
    padding-top: 1rem;
  }
  .wcsf-nav.is-sticky-up-xxl[stuck] {
    background-color: var(--wcsf-nav-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-nav-stuck-box-shadow, 0 14px 10px -10px rgba(0, 0, 0, 0.1), 0 6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
.wcsf-nav-button.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  margin-bottom: 0.5rem;
}
.wcsf-nav-button.btn.has-thumbnail {
  text-align: start;
}
.wcsf-nav-button-title {
  display: block;
  white-space: nowrap;
}
.wcsf-nav-button-sub-title {
  font-size: 0.9em;
}
.wcsf-nav-button-sub-title:empty {
  display: none;
}
.wcsf-nav-button-thumbnail {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: var(--wcsf-nav-item-thumbnail-size, 2.5rem);
  max-height: var(--wcsf-nav-item-thumbnail-size, 2.5rem);
}
.wcsf-nav-list {
  display: flex;
  list-style: none;
  counter-reset: wcsf-nav;
}
.wcsf-nav-list[class] {
  margin: 0;
  padding: 0;
}
.wcsf-nav-list:is(.nav,
.is-line,
.is-line-horizontal,
.is-progress,
.is-panel) {
  flex-wrap: nowrap;
  overflow: auto;
  scroll-snap-type: x mandatory;
}
.wcsf-nav-list:is(.nav,
.is-line,
.is-line-horizontal,
.is-progress,
.is-panel)::-webkit-scrollbar {
  width: 16px;
  height: 16px;
  background-color: #fff;
}
.wcsf-nav-list:is(.nav,
.is-line,
.is-line-horizontal,
.is-progress,
.is-panel)::-webkit-scrollbar-track {
  background-color: #fff;
}
.wcsf-nav-list:is(.nav,
.is-line,
.is-line-horizontal,
.is-progress,
.is-panel)::-webkit-scrollbar-track:hover {
  background-color: #fff;
}
.wcsf-nav-list:is(.nav,
.is-line,
.is-line-horizontal,
.is-progress,
.is-panel)::-webkit-scrollbar-thumb {
  border: 5px solid #fff;
  border-radius: 16px;
  background-color: #ced4da;
}
.wcsf-nav-list:is(.nav,
.is-line,
.is-line-horizontal,
.is-progress,
.is-panel)::-webkit-scrollbar-thumb:hover {
  background-color: #adb5bd;
}
.wcsf-nav-list:is(.nav,
.is-line,
.is-line-horizontal,
.is-progress,
.is-panel)::-webkit-scrollbar-button {
  display: none;
}
.wcsf-nav-list:is(.nav,
.is-line,
.is-line-horizontal,
.is-progress,
.is-panel) .wcsf-nav-list-item {
  scroll-snap-align: start;
}
.wcsf-nav-list:is(.nav,
.is-line,
.is-line-horizontal,
.is-progress,
.is-panel) .nav-link {
  margin-bottom: 0;
}
.wcsf-nav-list.is-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.wcsf-nav-list.is-tabs {
  display: flex;
  flex-wrap: wrap;
}
.wcsf-nav-list.is-pills .nav-link {
  border: 0;
  background-color: transparent;
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) {
  justify-content: space-between;
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item {
  display: flex;
  flex: 1 0;
  padding: 0;
  margin: 0;
  text-align: center;
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item.past {
  color: var(--wcsf-nav-line-item-past-color, #28a745);
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item.past::after {
  border-color: var(--wcsf-nav-line-item-past-color, #28a745);
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item.past .wcsf-nav-list-item-button {
  color: var(--wcsf-nav-line-item-past-color, #28a745);
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item.past .wcsf-nav-list-item-button::before, .wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item.past .wcsf-nav-list-item-button::after {
  color: var(--wcsf-nav-line-item-past-circle-color, #fff);
  background-color: var(--wcsf-nav-line-item-past-circle-bg, #28a745);
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item.active {
  color: var(--wcsf-nav-line-item-active-color, #0d6efd);
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item.active .wcsf-nav-list-item-button {
  color: var(--wcsf-nav-line-item-active-color, #0d6efd);
  cursor: default;
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item.active .wcsf-nav-list-item-button::before, .wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item.active .wcsf-nav-list-item-button::after {
  color: var(--wcsf-nav-line-item-active-circle-color, #fff);
  background-color: var(--wcsf-nav-line-item-active-circle-bg, #0d6efd);
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item.disabled {
  color: var(--wcsf-nav-line-item-disabled-color, #6c757d);
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item-button[class] {
  position: relative;
  display: grid;
  justify-content: center;
  align-items: center;
  height: auto;
  border: 0;
  color: inherit;
  background: none;
  padding: 0 1rem;
  font-weight: normal;
  word-break: normal;
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item-button[disabled] {
  transform: var(--wcsf-nav-line-item-disabled-transform, scale(0.8));
  transform-origin: 50% calc(var(--wcsf-nav-line-item-circle-size, 2.5rem) * 0.5);
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item-button:not(.has-thumbnail)::before {
  content: counter(wcsf-nav);
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item-button::before {
  content: "";
  counter-increment: wcsf-nav;
  position: relative;
  z-index: 2;
  display: block;
  grid-area: thumbnail;
  box-shadow: var(--wcsf-nav-line-item-circle-box-shadow, none);
  background-color: var(--wcsf-nav-line-item-circle-bg, #e9ecef);
  border-radius: var(--wcsf-nav-line-item-circle-border-radius, 50%);
  min-width: var(--wcsf-nav-line-item-circle-size, 2.5rem);
  width: var(--wcsf-nav-line-item-circle-size, 2.5rem);
  height: var(--wcsf-nav-line-item-circle-size, 2.5rem);
  margin: auto;
  font-size: var(--wcsf-nav-line-item-circle-font-size, 1rem);
  font-weight: var(--wcsf-nav-line-item-circle-font-weight, bolder);
  line-height: var(--wcsf-nav-line-item-circle-size, 2.5rem);
  transition: opacity 0.25s ease-in-out;
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item-thumbnail {
  z-index: 3;
  display: block;
  grid-area: thumbnail;
  margin: auto;
  padding: 0.25rem;
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item-title {
  white-space: normal;
}
.wcsf-nav-list:is(.is-line,
.is-line-horizontal) .wcsf-nav-list-item-text {
  grid-area: text;
}
.wcsf-nav-list.is-line {
  margin-top: calc(var(--wcsf-nav-line-item-connect-line-width, 2px) * -1);
}
.wcsf-nav-list.is-line .wcsf-nav-list-item {
  flex-direction: column;
}
.wcsf-nav-list.is-line .wcsf-nav-list-item:last-child::after {
  width: 0;
}
.wcsf-nav-list.is-line .wcsf-nav-list-item::after {
  content: "";
  position: relative;
  order: -1;
  top: calc(var(--wcsf-nav-line-item-circle-size, 2.5rem) * 0.5 + var(--wcsf-nav-line-item-connect-line-width, 2px) * 0.5);
  width: calc(100% - var(--wcsf-nav-line-item-circle-size, 2.5rem) - 1rem);
  inset-inline-start: calc(50% + var(--wcsf-nav-line-item-circle-size, 2.5rem) * 0.5 + 0.5rem);
  border-bottom: var(--wcsf-nav-line-item-connect-line-width, 2px) var(--wcsf-nav-line-item-connect-line-style, solid) var(--wcsf-nav-line-item-connect-line-background, #e9ecef);
}
.wcsf-nav-list.is-line .wcsf-nav-list-item-button[class] {
  grid-template-areas: "thumbnail" "text";
  text-align: center;
}
.wcsf-nav-list.is-line-horizontal .wcsf-nav-list-item {
  align-items: center;
}
.wcsf-nav-list.is-line-horizontal .wcsf-nav-list-item:not(:last-child)::after {
  content: "";
  flex: 1;
  margin: 0 0.5rem;
  border-bottom: var(--wcsf-nav-line-item-connect-line-width, 2px) var(--wcsf-nav-line-item-connect-line-style, solid) var(--wcsf-nav-line-item-connect-line-background, #e9ecef);
}
.wcsf-nav-list.is-line-horizontal .wcsf-nav-list-item:last-child {
  flex: 0;
}
.wcsf-nav-list.is-line-horizontal .wcsf-nav-list-item-button[class] {
  padding: 0;
  grid-template-areas: "thumbnail text";
}
.wcsf-nav-list.is-line-horizontal .wcsf-nav-list-item-text {
  text-align: start;
}
.wcsf-nav-list.is-progress {
  justify-content: space-between;
  align-items: center;
}
.wcsf-nav-list.is-progress .wcsf-nav-list-item-button {
  position: relative;
  flex-wrap: wrap;
  border: 0;
  color: inherit;
  background: none;
  font-weight: normal;
  word-break: normal;
}
.wcsf-nav-list.is-progress .wcsf-nav-list-item-title {
  white-space: normal;
}
.wcsf-nav-list.is-panel {
  border: 1px solid #e9ecef;
  border-radius: 0.25rem;
}
.wcsf-nav-list.is-panel .wcsf-nav-list-item {
  display: flex;
  flex: 1;
}
.wcsf-nav-list.is-panel .wcsf-nav-list-item:not(:last-child) {
  -webkit-border-end: 1px solid #e9ecef;
          border-inline-end: 1px solid #e9ecef;
}
.wcsf-nav-list.is-panel .wcsf-nav-list-item:last-child .wcsf-nav-list-item-button::after {
  display: none;
}
.wcsf-nav-list.is-panel .wcsf-nav-list-item.past .wcsf-nav-list-item-button, .wcsf-nav-list.is-panel .wcsf-nav-list-item.active .wcsf-nav-list-item-button {
  background-color: #f8f9fa;
}
.wcsf-nav-list.is-panel .wcsf-nav-list-item-button {
  position: relative;
  justify-content: center;
  border: 0;
  width: 100%;
  padding: 0.5rem;
  color: inherit;
  background: #fff;
  font-weight: normal;
  word-break: normal;
}
.wcsf-nav-list.is-panel .wcsf-nav-list-item-button[disabled] {
  opacity: initial;
}
.wcsf-nav-list.is-panel .wcsf-nav-list-item-button[disabled] .wcsf-nav-list-item-text {
  opacity: 0.65;
}
.wcsf-nav-list.is-panel .wcsf-nav-list-item-button:hover, .wcsf-nav-list.is-panel .wcsf-nav-list-item-button:focus {
  background-color: #f8f9fa;
}
.wcsf-nav-list.is-panel .wcsf-nav-list-item-button::after {
  content: "";
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 50%;
  z-index: 1;
  width: 1rem;
  height: 1rem;
  -webkit-border-before: 1px solid #e9ecef;
          border-block-start: 1px solid #e9ecef;
  -webkit-border-end: 1px solid #e9ecef;
          border-inline-end: 1px solid #e9ecef;
  background-color: inherit;
  transform: rotate(45deg) translateY(-75%);
}
[dir=rtl] .wcsf-nav-list.is-panel .wcsf-nav-list-item-button::after {
  transform: rotate(-45deg) translateY(-75%);
}

.wcsf-nav-list-item.has-thumbnail .wcsf-nav-list-item-button {
  text-align: start;
}
.wcsf-nav-list-item-button[class] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  height: 100%;
}
.wcsf-nav-list-item-button[class][disabled] {
  opacity: 0.65;
  cursor: default;
  color: inherit;
}
.wcsf-nav-list-item-title {
  display: block;
  white-space: nowrap;
}
.wcsf-nav-list-item-sub-title {
  font-size: 0.9em;
}
.wcsf-nav-list-item-sub-title:empty {
  display: none;
}
.wcsf-nav-list-item-thumbnail {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: var(--wcsf-nav-item-thumbnail-size, 2.5rem);
  max-height: var(--wcsf-nav-item-thumbnail-size, 2.5rem);
}
.wcsf-nav-progress {
  margin-bottom: 1rem;
}
.wcsf-nav-progress-bar {
  width: calc(var(--wcsf-form-progress-current, 0) / var(--wcsf-form-progress-max, 0) * 100%);
}

.wcsf-step {
  margin-bottom: 1rem;
}
.wcsf-step.is-layout-grid .wcsf-step-fields {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--wcsf-step-grid-item-width), 1fr));
  margin-right: calc(var(--wcsf-layout-grid-gap, 0.5rem) * -1);
  margin-left: calc(var(--wcsf-layout-grid-gap, 0.5rem) * -1);
  --wcsf-step-grid-item-width: var(--wcsf-step-grid-item-width-xxs, 20rem);
}
@media (min-width: 480px) {
  .wcsf-step.is-layout-grid .wcsf-step-fields {
    --wcsf-step-grid-item-width: var(--wcsf-step-grid-item-width-xs, 20rem);
  }
}
@media (min-width: 576px) {
  .wcsf-step.is-layout-grid .wcsf-step-fields {
    --wcsf-step-grid-item-width: var(--wcsf-step-grid-item-width-sm, 20rem);
  }
}
@media (min-width: 768px) {
  .wcsf-step.is-layout-grid .wcsf-step-fields {
    --wcsf-step-grid-item-width: var(--wcsf-step-grid-item-width-md, 20rem);
  }
}
@media (min-width: 992px) {
  .wcsf-step.is-layout-grid .wcsf-step-fields {
    --wcsf-step-grid-item-width: var(--wcsf-step-grid-item-width-lg, 20rem);
  }
}
@media (min-width: 1200px) {
  .wcsf-step.is-layout-grid .wcsf-step-fields {
    --wcsf-step-grid-item-width: var(--wcsf-step-grid-item-width-xl, 20rem);
  }
}
@media (min-width: 1400px) {
  .wcsf-step.is-layout-grid .wcsf-step-fields {
    --wcsf-step-grid-item-width: var(--wcsf-step-grid-item-width-xxl, 20rem);
  }
}
.wcsf-step.is-layout-grid .wcsf-step-fields > .wcsf-question {
  padding-right: var(--wcsf-layout-grid-gap, 0.5rem);
  padding-left: var(--wcsf-layout-grid-gap, 0.5rem);
}
.wcsf-step ~ .wcsf-step {
  padding-top: 1rem;
  border-top: 1px solid #e9ecef;
}

@keyframes wcsf-tooltip-fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.9;
  }
}
.wcsf-tooltip {
  position: absolute;
  bottom: 100%;
  left: 50%;
  z-index: 5;
  max-width: var(--wcsf-tooltip-max-width, 200px);
  margin-bottom: var(--wcsf-tooltip-arrow-height, 0.4rem);
  padding: var(--wcsf-tooltip-padding, 0.25rem 0.5rem);
  color: var(--wcsf-tooltip-color, var(--wcsf-body-bg));
  border-radius: var(--wcsf-tooltip-border-radius, var(--wcsf-border-radius));
  background-color: var(--wcsf-tooltip-bg, var(--wcsf-emphasis-color));
  opacity: var(--wcsf-tooltip-opacity, 0.9);
  font-size: var(--wcsf-tooltip-font-size, 0.875rem);
  transform: translateX(-50%);
  animation: wcsf-tooltip-fadein 0.2s;
  white-space: nowrap;
}
.wcsf-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  border-width: var(--wcsf-tooltip-arrow-height, 0.4rem) calc(var(--wcsf-tooltip-arrow-width, 0.8rem) * 0.5) 0 calc(var(--wcsf-tooltip-arrow-width, 0.8rem) * 0.5);
  border-style: solid;
  border-color: var(--wcsf-tooltip-bg, var(--wcsf-emphasis-color)) transparent transparent transparent;
  transform: translateX(-50%);
}

.wcsf-value {
  list-style: none;
}
ul.wcsf-value {
  margin: 0 0 1rem;
  padding: 0;
}

.wcsf-value-item-name, .wcsf-value-item-value {
  vertical-align: middle;
}
.wcsf-value-item-name {
  font-weight: bolder;
}
.wcsf-value-item-check[class], .wcsf-value-item-remove[class] {
  position: relative;
  display: inline-block;
  width: var(--wcsf-value-item-button-size, 1rem);
  height: var(--wcsf-value-item-button-size, 1rem);
  -webkit-margin-end: 0.5rem;
          margin-inline-end: 0.5rem;
  color: var(--wcsf-value-item-button-color, #fff);
  border-radius: var(--wcsf-value-item-button-border-radius, 50%);
  vertical-align: middle;
  line-height: var(--wcsf-value-item-button-size, 1rem);
  text-align: center;
}
.wcsf-value-item-check {
  background-color: var(--wcsf-value-item-check-bg-color, #28a745);
}
.wcsf-value-item-check::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  height: 0.25rem;
  border-bottom: solid 0.15rem;
  border-left: solid 0.15rem;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.wcsf-value-item-remove {
  background-color: var(--wcsf-value-item-remove-bg-color, #dc3545);
}
.wcsf-value-item-remove:hover, .wcsf-value-item-remove:focus {
  text-decoration: none;
}
.wcsf-value-item-remove::before, .wcsf-value-item-remove::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  border-bottom: solid 0.15rem;
}
.wcsf-value-item-remove::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.wcsf-value-item-remove::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.wcsf-footer {
  --wcsf-footer-sticky-offset: 0;
  --wcsf-footer-sticky-offset: var(--wcsf-footer-sticky-offset-xxs, 0);
}
.wcsf-footer.is-sticky {
  position: -webkit-sticky;
  position: sticky;
  right: 0;
  bottom: var(--wcsf-footer-sticky-offset, 0);
  left: 0;
  z-index: var(--wcsf-footer-stuck-z-index, 10);
  color: var(--wcsf-footer-stuck-color, #212529);
  -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
          backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
}
.wcsf-footer.is-sticky[stuck] {
  background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
  box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
}
@media (min-width: 480px) {
  .wcsf-footer {
    --wcsf-footer-sticky-offset: var(--wcsf-footer-sticky-offset-xs, 0);
  }
}
@media (max-width: 479.98px) {
  .wcsf-footer.is-sticky-xs {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-xs[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 480px) {
  .wcsf-footer.is-sticky-up-xs {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-up-xs[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 576px) {
  .wcsf-footer {
    --wcsf-footer-sticky-offset: var(--wcsf-footer-sticky-offset-sm, 0);
  }
}
@media (max-width: 575.98px) {
  .wcsf-footer.is-sticky-sm {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-sm[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 576px) {
  .wcsf-footer.is-sticky-up-sm {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-up-sm[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 768px) {
  .wcsf-footer {
    --wcsf-footer-sticky-offset: var(--wcsf-footer-sticky-offset-md, 0);
  }
}
@media (max-width: 767.98px) {
  .wcsf-footer.is-sticky-md {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-md[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 768px) {
  .wcsf-footer.is-sticky-up-md {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-up-md[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 992px) {
  .wcsf-footer {
    --wcsf-footer-sticky-offset: var(--wcsf-footer-sticky-offset-lg, 0);
  }
}
@media (max-width: 991.98px) {
  .wcsf-footer.is-sticky-lg {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-lg[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 992px) {
  .wcsf-footer.is-sticky-up-lg {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-up-lg[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1200px) {
  .wcsf-footer {
    --wcsf-footer-sticky-offset: var(--wcsf-footer-sticky-offset-xl, 0);
  }
}
@media (max-width: 1199.98px) {
  .wcsf-footer.is-sticky-xl {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-xl[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1200px) {
  .wcsf-footer.is-sticky-up-xl {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-up-xl[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1400px) {
  .wcsf-footer {
    --wcsf-footer-sticky-offset: var(--wcsf-footer-sticky-offset-xxl, 0);
  }
}
@media (max-width: 1399.98px) {
  .wcsf-footer.is-sticky-xxl {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-xxl[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}
@media (min-width: 1400px) {
  .wcsf-footer.is-sticky-up-xxl {
    position: -webkit-sticky;
    position: sticky;
    right: 0;
    bottom: var(--wcsf-footer-sticky-offset, 0);
    left: 0;
    z-index: 5;
    color: var(--wcsf-footer-stuck-color, #212529);
    -webkit-backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
            backdrop-filter: var(--wcsf-footer-stuck-backdrop-filter, blur(3px));
  }
  .wcsf-footer.is-sticky-up-xxl[stuck] {
    background-color: var(--wcsf-footer-stuck-bg, rgba(255, 255, 255, 0.9));
    box-shadow: var(--wcsf-footer-stuck-box-shadow, 0 -14px 10px -10px rgba(0, 0, 0, 0.1), 0 -6px 4px -4px rgba(0, 0, 0, 0.2));
  }
}

.wcsf {
  position: relative;
}
.wcsf fieldset {
  background-color: transparent;
}
.wcsf legend {
  margin-right: 0;
  margin-left: 0;
  background-color: transparent;
  font-size: 1.25rem;
}
.wcsf.is-loading {
  --wcsf-loading-progress: 0;
  pointer-events: none;
}
.wcsf.is-loading .wcsf-form {
  opacity: var(--wcsf-loading-opacity, 0.65);
  transition: var(--wcsf-loading-transition, opacity 0.25s linear);
}
.wcsf:not(.is-loading) .wcsf-spinner-wrapper {
  display: none;
}
.wcsf-form {
  margin-bottom: 1rem;
}
.wcsf-description {
  margin-bottom: 1rem;
}
.wcsf-description::after {
  display: block;
  clear: both;
  content: "";
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9mcm9udC9zY3NzL2FwcC1mdWxsLnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9ib290c3RyYXAvbWl4aW5zL19iYW5uZXIuc2NzcyIsInNyYy9mcm9udC9zY3NzL2Jvb3RzdHJhcC9fcmVib290LnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9ib290c3RyYXAvZm9ybXMvX2Zvcm0tY29udHJvbC5zY3NzIiwic3JjL2Zyb250L3Njc3MvYm9vdHN0cmFwL2Zvcm1zL19mb3JtLWNoZWNrLnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9ib290c3RyYXAvX25hdi5zY3NzIiwic3JjL2Zyb250L3Njc3MvYm9vdHN0cmFwL19wcm9ncmVzcy5zY3NzIiwic3JjL2Zyb250L3Njc3MvYm9vdHN0cmFwL19yb290LnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9ib290c3RyYXAvdmVuZG9yL19yZnMuc2NzcyIsInNyYy9mcm9udC9zY3NzL2Jvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9ib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9ib290c3RyYXAvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9ib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsInNyYy9mcm9udC9zY3NzL2Jvb3RzdHJhcC9mb3Jtcy9fZm9ybS1zZWxlY3Quc2NzcyIsInNyYy9mcm9udC9zY3NzL2Jvb3RzdHJhcC9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsInNyYy9mcm9udC9zY3NzL2Jvb3RzdHJhcC9fYnV0dG9ucy5zY3NzIiwic3JjL2Zyb250L3Njc3MvYm9vdHN0cmFwL21peGlucy9fYnV0dG9ucy5zY3NzIiwic3JjL2Zyb250L3Njc3MvYm9vdHN0cmFwL2hlbHBlcnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwic3JjL2Zyb250L3Njc3MvYm9vdHN0cmFwL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9ib290c3RyYXAvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsInNyYy9mcm9udC9zY3NzL2Jvb3RzdHJhcC9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy90b20tc2VsZWN0L3RvbS1zZWxlY3QuYm9vdHN0cmFwNS5zY3NzIiwic3JjL2Zyb250L3Njc3MvdG9tLXNlbGVjdC90b20tc2VsZWN0LnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy90b20tc2VsZWN0L19pdGVtcy5zY3NzIiwic3JjL2Zyb250L3Njc3MvdG9tLXNlbGVjdC9fZHJvcGRvd24uc2NzcyIsInNyYy9mcm9udC9zY3NzL19pY29ucy5zY3NzIiwic3JjL2Zyb250L3Njc3MvX3NwaW5uZXIuc2NzcyIsInNyYy9mcm9udC9zY3NzL19jb250cm9scy5zY3NzIiwic3JjL2Zyb250L3Njc3MvX2hlYWRlci5zY3NzIiwic3JjL2Zyb250L3Njc3MvX2ZpZWxkcy5zY3NzIiwic3JjL2Zyb250L3Njc3MvX21peGlucy5zY3NzIiwic3JjL2Zyb250L3Njc3MvX3Byb2R1Y3RzLnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9ib290c3RyYXAvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwic3JjL2Zyb250L3Njc3MvX3JhbmdlLnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9fbmF2LnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9fc3RlcC5zY3NzIiwic3JjL2Zyb250L3Njc3MvX3Rvb2x0aXAuc2NzcyIsInNyYy9mcm9udC9zY3NzL192YWx1ZS5zY3NzIiwic3JjL2Zyb250L3Njc3MvX2Zvb3Rlci5zY3NzIiwic3JjL2Zyb250L3Njc3MvX2luZGV4LnNjc3MiLCJzcmMvZnJvbnQvc2Nzcy9fcmVzZXQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQzBGQTtBQ3pGRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDK2hCRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDemFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE2QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE0Q0E7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQ2hMQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEyR0E7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBdUNBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQzRCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQzFMRTtBQUFBO0FBQUE7QUFzREE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDMURGO0VBUUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0Y7RUFDQTtFQVFBO0VBT0E7RUM0T0ksdUJBTEk7RURyT1I7RUFDQTtFQUtBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBV0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFPQTtFQUNBO0VBQ0E7RUFDQTtFQVVBO0VBQ0E7RUFDQTtFQUNBOztBTC9HRjtBQUFBO0FBQUE7RUFHRTs7QUE2SUY7RUFDRTs7QUFJRjtBQUFBO0VBRUU7RUFDQTs7QUFJRjtFQUlFOztBQXFFRjtFQUNFO0VBQ0EsaUJPK013Qzs7QVA3TXhDO0VBQ0U7O0FBV0Y7RUFFRTtFQUNBOztBQWlFSjtFQUNFOztBQU1GO0FBQUE7RUFFRTs7QUE4Q0Y7RUFDRTs7QUFNRjtFQUVFOztBQVFGO0VBQ0U7O0FBS0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RU03SEksV0FMSTtFTm9JUjs7QUFJRjtBQUFBO0VBRUU7O0FBS0Y7RUFDRTs7QUFHRjtFQUdFOztBQUdBO0VBQ0U7O0FBZ0JKO0FBQUE7QUFBQTtBQUFBO0VBSUU7O0FBR0U7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFPTjtFQUNFO0VBQ0E7O0FBS0Y7RUFDRTs7QUFVRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQXdIRjtFQUNFOztBQzlsQkY7RUFDRTtFQUNBO0VBQ0E7RUt3UkksV0FMSTtFTGhSUixhSDhEbUI7RUc3RG5CLGFIZ0VpQjtFRy9EakIsT004M0JzQztFTjczQnRDO0VBQ0Esa0JNdTNCc0M7RU50M0J0QztFQUNBO0VPR0U7RUNIRSxZUk1KOztBUUZJO0VSaEJOO0lRaUJROzs7QVJHTjtFQUNFOztBQUVBO0VBQ0U7O0FBS0o7RUFDRSxPTXcyQm9DO0VOdjJCcEMsa0JNazJCb0M7RU5qMkJwQyxjTWczQm9DO0VOLzJCcEM7RUFLRSxZSHlDdUI7O0FHckMzQjtFQU1FO0VBTUE7RUFLQTs7QUFLRjtFQUNFO0VBQ0E7O0FBSUY7RUFDRSxPTTgwQm9DO0VONTBCcEM7O0FBUUY7RUFFRSxrQk1nekJvQztFTjd5QnBDOztBQUlGO0VBQ0U7RUFDQTtFQUNBLG1CTXNyQjBCO0VOcnJCMUIsT013eUJvQztFR3Q0QnRDLGtCSHVpQ2dDO0VOdjhCOUI7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5Qk1rc0IwQjtFTmpzQjFCO0VRekZFLFlSMEZGOztBUXRGRTtFUjBFSjtJUXpFTTs7O0FSd0ZOO0VBQ0Usa0JNODdCOEI7O0FOMTNCaEM7RUFDRSxZTSt1Qm9DOztBSTc1QnhDO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUxxUkksV0FMSTtFSzdRUixhYjJEbUI7RWExRG5CLGFiNkRpQjtFYTVEakIsT0oyM0JzQztFSTEzQnRDO0VBQ0Esa0JKbzNCc0M7RUluM0J0QztFQUNBO0VBQ0EscUJKaStCa0M7RUloK0JsQyxpQkppK0JrQztFSWgrQmxDO0VISEU7RUNIRSxZRVNKOztBRkxJO0VFZk47SUZnQlE7OztBRU1OO0VBQ0UsY0p3M0JvQztFSXYzQnBDO0VBS0UsWUptK0I0Qjs7QUkvOUJoQztFQUVFLGVKK3VCMEI7RUk5dUIxQjs7QUFHRjtFQUVFLGtCSnkxQm9DOztBSXAxQnRDO0VBQ0U7RUFDQTs7QUFJSjtFQUNFLGFKd3VCNEI7RUl2dUI1QixnQkp1dUI0QjtFSXR1QjVCLGNKdXVCNEI7RURwZ0J4QixXQUxJO0VFdlFOOztBRzhDSjtFQUNFLGFKb3VCNEI7RUludUI1QixnQkptdUI0QjtFSWx1QjVCLGNKbXVCNEI7RUR4Z0J4QixXQUxJO0VFdlFOOztBTmZKO0VBQ0U7RUFDQSxZS3U2QndDO0VMdDZCeEMsY0t1NkJ3QztFTHQ2QnhDLGVLdTZCd0M7O0FMcjZCeEM7RUFDRTtFQUNBOztBQWdCSjtFQUNFO0VBRUE7RUFDQSxPSzQ0QndDO0VMMzRCeEMsUUsyNEJ3QztFTDE0QnhDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxRSzY0QndDO0VMNTRCeEM7O0FBR0E7RU0zQkU7O0FOK0JGO0VBRUUsZUtxNEJzQzs7QUxsNEJ4QztFQUNFLFFLNDNCc0M7O0FMejNCeEM7RUFDRSxjS3cxQm9DO0VMdjFCcEM7RUFDQSxZS2dnQm9COztBTDdmdEI7RUFDRSxrQkpuREc7RUlvREgsY0pwREc7O0FJc0RIO0VBSUk7O0FBSUo7RUFJSTs7QUFLTjtFQUNFLGtCSnhFRztFSXlFSCxjSnpFRztFSThFRDs7QUFJSjtFQUNFO0VBQ0E7RUFDQSxTS28yQnVDOztBTDcxQnZDO0VBQ0U7RUFDQSxTSzIxQnFDOztBS3A4QjNDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBSUU7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7QUFBQTtFQUlFOztBQU1GO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQVdOO0VBQ0U7RUFDQTtFQUNBO0VONE9JLFdBTEk7RU1yT1IsYWRtQm1CO0VjbEJuQixhZHFCaUI7RWNwQmpCLE9MbTFCc0M7RUtsMUJ0QztFQUNBO0VBQ0Esa0JMMDZCc0M7RUt6NkJ0QztFSnhDRTs7QUltRkE7QUFBQTtBQUFBO0FBQUE7RUpuRUE7RUFDQTs7QUl3RkY7RUFDRTtFSjVFQTtFQUNBOztBSzlDSjtFQUVFO0VBQ0E7RUFDQTtFUHVSSSxzQkFMSTtFT2hSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VQc1FJLFdBTEk7RU8vUFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VMakJFO0VFZkYsa0JHa0NxQjtFSnRCakIsWUl3Qko7O0FKcEJJO0VJaEJOO0lKaUJROzs7QUlxQk47RUFDRTtFQUVBO0VBQ0E7O0FBVUY7RUFDRTtFSHJERixrQkdzRHVCO0VBQ3JCO0VBQ0E7RUFLRTs7QUFpQko7RUFHRTtFQUNBO0VBR0E7O0FBR0E7RUFLSTs7QUFjTjtFQUdFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBWUY7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQ0SEE7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQrR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxpQk44UXdDOztBTXBReEM7RUFDRTs7QUFHRjtFQUNFOztBQVdKO0VDakpFO0VBQ0E7RVI4Tkksc0JBTEk7RVF2TlI7O0FEa0pGO0VDckpFO0VBQ0E7RVI4Tkksc0JBTEk7RVF2TlI7O0FYOURGO0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFR3FRSSxXQUxJO0VIOVBSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RU1oQkksWU5pQko7O0FNYkk7RU5JTjtJTUhROzs7QU5jTjtFQUVFOztBQUlGO0VBQ0U7RUFDQSxZSW1oQm9COztBSi9nQnRCO0VBRUU7RUFDQTtFQUNBOztBQVFKO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7QUFFQTtFQUNFO0VBQ0E7RUs5Q0E7RUFDQTs7QUxnREE7RUFHRTtFQUNBOztBQUlKO0FBQUE7RUFFRTtFQUNBO0VBQ0E7O0FBR0Y7RUFFRTtFS2xFQTtFQUNBOztBTDRFSjtFQUVFO0VBQ0E7RUFDQTs7QUFHQTtFSzdGRTs7QUxpR0Y7QUFBQTtFQUVFO0VPbEhGLGtCUG1IdUI7O0FBU3pCO0VBRUU7RUFDQTtFQUNBO0VBR0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTs7QUFJSjtBQUFBO0VBRUUsYUkyZDBCO0VKMWQxQjtFQUNBOztBQVVGO0FBQUE7RUFFRTtFQUNBOztBQUtGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7O0FBTUY7QUFBQTtFQUNFOztBQzNLSjtFQUdFO0VFa1JJLDJCQUxJO0VGM1FSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFRXNRSSxXQUxJO0VGL1BSO0VJUkU7O0FKYUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VLeEJJLFlMeUJKOztBS3JCSTtFTFlOO0lLWFE7OztBTWpCUjtBQUFBO0VDSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ2tETTtFQU9JOztBQVBKO0VBT0k7O0FBUEo7RUFPSTs7QUFQSjtFQU9JOztBQVBKO0VBT0k7O0FBUEo7RUFPSTs7QUFQSjtFQU9JOztBQVBKO0VBT0k7O0FBUEo7RUFPSTs7QUFQSjtFQU9JOztBQVBKO0VBT0k7O0FDVlI7RURHSTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7OztBQ1ZSO0VER0k7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QUNWUjtFREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0FDVlI7RURHSTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7OztBQ1ZSO0VER0k7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QUNWUjtFREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0FuQmlCWjtBcUIxRkE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQStFQTtFQUNDO0VBQ0E7RUFDQTs7O0FBWUM7RUFDQzs7O0FBS0g7RUFDQzs7O0FBaUREO0VBQ0M7OztBQUdEO0FBQUE7QUFBQTtFQUdDLE90QmxKVTtFc0JtSlYsYURwSm9CO0VDcUpwQixXRHBKa0I7RUNxSmxCLGFic2Q2QjtFYXJkN0IsZ0JBOUk2Qjs7O0FBaUo5QjtBQUFBO0VBRUMsWWIrdEJ1QztFYTl0QnZDOzs7QUNyS0Q7RUFFQyxRRmdDZTtFRS9CZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRHNDMkI7RUNyQzNCLGVkbTRCdUM7RWNsNEJ2QztFQUNBOztBQUVBO0VBSUM7O0FBR0Q7RUFDQyxrQmQ2MkJzQzs7QWMxMkJ2QztFQUVDOztBQUdEO0VBQ0MsWURpQitCOztBQ2RoQztFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQSxZRnhCa0I7RUV5QmxCLE92Qm5DUztFdUJvQ1Q7O0FBRUE7RUFDQyxZdkJuQ0k7RXVCb0NKLE9GM0I2QjtFRTRCN0I7O0FBS0Q7RUFDQztFQUNBO0VBQ0E7O0FBSUY7RUFLQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQWpCQTtFQUNDOztBQWlCRDtFQUFVOztBQUdYO0VBQ0M7O0FBR0Q7RUFDQzs7QUFDQTtFQUNDLE1GMUNtQjtFRTJDbkI7O0FBRUQ7RUFDQzs7QUFJRjtFQUNDLFNGcEV3QjtFRXFFeEIsa0JkZ3lCc0M7O0FjM3hCdkM7RUFDQztFQUNBO0VBQ0E7OztBQzdHRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxRRjRDNkI7RUUzQzdCLFlmbXRDbUM7RWVsdENuQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0M7RUFDQTs7QUFDQTtFQUNDLFlIUHNCO0VHUXRCOztBQUlGO0FBQUE7QUFBQTtBQUFBO0VBSUM7O0FBR0U7RUFDSTtFQUNBO0VBQ0E7O0FBR1A7RUFDQztFQUNBOztBQUdEO0VBQ0M7RUFDQTs7QUFHRDtFQUNDOztBQUdEO0VBQ0MsT2Z6Q1M7RWUwQ1QsWWZxcUNrQztFZXBxQ2xDOztBQUdEO0VBQ0Msa0JmMnFDa0M7RWUxcUNsQyxPZndxQ2tDOztBZXZxQ2xDO0VBQ0MsT2ZzcUNpQzs7QWVscUNuQztFQUNDLE9GN0J3Qzs7QUVnQ3pDO0VBQ0M7RUFDQSxPRkMwQjtFRUExQjtFQUNBOztBQUdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7SUFDQzs7RUFFRDtJQUNDOzs7O0FBTUo7RUFDQztFQUNBO0VBQ0EsWUYvQ2dDO0VFZ0RoQztFQUNBOzs7QUZtRUQ7RUFDQztFQUNHO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR6Rko7QUFBQTtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtBQUFBO0FBQUE7RUFHQztFQUNBO0VBQ0EsU1pvZ0NtQztFWW5nQ25DLFlaa25DbUM7RVlqbkNuQztFQUNBLGVyQmhDZTtFcUJpQ2Y7OztBQUlBO0VBQ0MsV1pzZjRCO0VZcmY1QixhckJ6Q2lCOztBcUIyQ2xCO0VBQ0M7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0MsY1prcEI0Qjs7O0FZOW9COUI7RUFDQzs7O0FBR0Q7RVY3SE0sWVUrSEw7RUFDQTtFQUNBOztBVjdISztFVXlITjtJVnhIUTs7O0FVa0lQO0VBQ0MsY1o0dkJzQztFWTN2QnRDO0VBSUMsWVppYXFCOztBWTdadkI7RUFDQztFQUNBO0VBQ007O0FBRUE7RUFDSTtFQUNBOzs7QUEzR1g7QUFBQTtBQUFBO0VBT0MsY0FIUTs7QUFLUjtBQUFBO0FBQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtBQUFBO0FBQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUFHRDtBQUFBO0FBQUE7RUFDQyxjQXBCTztFQXFCRDs7O0FBekJSO0FBQUE7QUFBQTtFQU9DLGNBSFE7O0FBS1I7QUFBQTtBQUFBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtBQUFBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7QUFBQTtBQUFBO0VBQ0MsY0FwQk87RUFxQkQ7OztBQTRGVDtFQUNDLFlaK3VCdUM7RVk5dUJ2Qzs7QUFrQ0M7RUFDQztFQUNBOztBQUVEO0VBQ0M7OztBQWtCRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0EscUJaOHZCaUM7RVk3dkJqQyxpQlo4dkJpQzs7QVkxdkJuQztFQUVDOzs7QUFRRDtBQUFBO0FBQUE7RUFFQzs7QUFHRDtBQUFBO0FBQUE7RUFFQzs7O0FBT0Q7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOzs7QUkvUkY7RUFDSTtFQUNBO0VBQ0E7O0FDSEo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDN0JKO0VBRUk7RUFDQTtFQUNBO0VBQ0EsSzNCeUZJO0UyQnhGSjtFQUNBLGEzQnNGSTtFMkJyRkosZ0IzQnFGSTs7QTJCbkZKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUtKO0VBQ0k7O0FBT0E7RUFFSTs7QUFLSjtFQUVJOztBQUtKO0VBRUk7O0FBS0o7RUFFSTs7QUFLSjtFQUVJOztBQUtKO0VBRUk7O0FBS0o7RUFFSTs7QUFLSjtFQUVJOztBQUtKO0VBRUk7O0FBT0E7RUFFSTtFQUNBOztBQUlSO0VBRUk7O0FBS0o7RUZ2R1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUVpR1k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVA1Q1o7RU9pRFE7SUZwSFI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUUrR2dCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQU1SO0VUcElWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUU0REU7RU9zRVE7SVQxSVY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7O0FVaEJGO0VBQ0k7RUFtQlE7O0FBakJSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBUmlEUjtFUS9ESjtJQW9CWTs7O0FSd0RSO0VRcERRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBOzs7QVIyQnBCO0VRcEJRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBOzs7QVJRcEI7RVEvREo7SUFvQlk7OztBUndEUjtFUXBEUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7O0FSMkJwQjtFUXBCUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7O0FSUXBCO0VRL0RKO0lBb0JZOzs7QVJ3RFI7RVFwRFE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7OztBUjJCcEI7RVFwQlE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7OztBUlFwQjtFUS9ESjtJQW9CWTs7O0FSd0RSO0VRcERRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBOzs7QVIyQnBCO0VRcEJRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBOzs7QVJRcEI7RVEvREo7SUFvQlk7OztBUndEUjtFUXBEUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7O0FSMkJwQjtFUXBCUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7O0FSUXBCO0VRL0RKO0lBb0JZOzs7QVJ3RFI7RVFwRFE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7OztBUjJCcEI7RVFwQlE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7Ozs7QUNyRFA7RUFDTDs7O0FBR0o7RUFFSTtFQUNBO0VBQ0E7O0FBSUE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBSVI7RUFFSTs7QUFNUztFQUNMO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTs7QUFJUjtFQUVJOztBQUlKO0VBQ0k7RUFDQSxxQjdCMEJKOztBNkJwQko7RUFFSSxZN0JtQkE7RTZCbEJBLGU3QmtCQTs7QTZCZko7RUFFSTtFQUNBLGU3QllBOztBNkJWQTtFWDVFVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FXdUVjO0VBQ0k7RUFDQSxZN0JOUzs7QTZCU2I7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFFSTtFQUNBO0VBQ0E7RUFDQSxTN0JqQkc7O0E2QnFCWDtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUVJO0VBQ0EsZTdCdkJBOztBNkJ5QkE7RUFDSTs7QUFHSjtFWG5IVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FXOEdjO0VBQ0k7RUFDQSxZN0I3Q1M7O0E2QmdEYjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUVJO0VBQ0E7RUFDQTtFQUNBLFM3QnhERzs7QTZCNERYO0VBQ0k7O0FBSVI7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtRO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFSTs7QUFPSjtFQUNJLE83Qm5LYjtFNkJvS2E7O0FBR0o7RUFDSTtFQUNBOztBQU1SO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBLGU3Qm5HUjs7QTZCcUdRO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RVhyTmQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBV2lOc0I7RUFFSTs7QUFLSjtFQUVJOztBQUtKO0VBRUk7RUFDQTtFQUNBOztBQU9wQjtFQUVJOztBQUdJO0VBQ0k7RUFDQSxnQjdCbktSO0U2Qm9LUTs7QUFHSjtFQUNJO0VBQ0E7RUFDQSxnQjdCMUtSO0U2QjJLUTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFRUjtFQUNJO0VBQ0E7RUFDQTtFQUNBLG1CN0I1TFI7RTZCNkxRLHFCN0I5TFI7RTZCK0xRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJOztBQUtKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQU1BO0VBQ0k7O0FBS0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUtKO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBS0o7RUFDSTs7QUFFQTtFQUVJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUlSO0VBQ0k7O0FBSVI7RUFDSTs7QUFJUjtFQUNJOztBQUlSO0VBQ0k7O0FBU0E7RUFDSTtFQUNBLG1CN0IvVVo7RTZCZ1ZZLHFCN0JqVlo7O0E2Qm9WUTtFQUlJOztBQ3JacEI7RUFFUTs7QUFJUjtFQUVROztBQUlSO0VBRVE7O0FBZFI7RUFFUTs7QUFJUjtFQUVROztBQUlSO0VBRVE7O0FBZFI7RUFFUTs7QUFJUjtFQUVROztBQUlSO0VBRVE7O0FBZFI7RUFFUTs7QUFJUjtFQUVROztBQUlSO0VBRVE7O0FEc2FRO0VBTUk7O0FDdGFwQjtFQUVRO0VBQUE7O0FBSVI7RUFFUTtFQUFBOztBQUlSO0VBRVE7RUFBQTs7QUQyWlE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFNaEI7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFJQTtFQUNJOzs7QUV2Z0JaO0VBR0k7O0FDRk47RUFDRTtFQUNBO0VBQ0E7O0FBSEY7RUFDRTtFQUNBO0VBQ0E7OztBQ0pBO0VIMEZBO0VBQ0E7RUFDQSxROUIwRFc7RThCekRYOztBQTlEQTtFQUVRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7QUFJUjtFQUVRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7QUFJUjtFQUVRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7QUFNUjtFQUVRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBOztBQUlSO0VBRVE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7O0FBSVI7RUFFUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7QUFsQ1I7RUFFUTs7QUFJUjtFQUVROztBQUlSO0VBRVE7O0FBc0RSO0VBR0k7O0FBdkVKO0VBRVE7O0FBSVI7RUFFUTs7QUFJUjtFQUVROztBQU1SO0VBRVE7O0FBSVI7RUFFUTs7QUFJUjtFQUVROztBQXdDUjtFQUNJO0VBQ0E7O0FHdkdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFSDJESjtFQUNBO0VBQ0EsUTlCMERXO0U4QnpEWDs7QUE5REE7RUFFUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7O0FBSVI7RUFFUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7O0FBSVI7RUFFUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7O0FBTVI7RUFFUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7QUFJUjtFQUVRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBOztBQUlSO0VBRVE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7O0FBbENSO0VBRVE7O0FBSVI7RUFFUTs7QUFJUjtFQUVROztBQXNEUjtFQUdJOztBQXZFSjtFQUVROztBQUlSO0VBRVE7O0FBSVI7RUFFUTs7QUFNUjtFQUVROztBQUlSO0VBRVE7O0FBSVI7RUFFUTs7QUF3Q1I7RUFDSTtFQUNBOztBR3ZFSjtFQUdJOztBQUVTO0VBQ0w7RUFDQTs7O0FBSUE7RUFDSTtFQUNBOztBSGxCWjtFQUVROztBQUlSO0VBRVE7O0FBSVI7RUFFUTs7QUdzQlI7RUFHSTtFQUNBOztBQUVTO0VBQ0w7RUFDQTs7O0FBSUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7O0FBSUE7RUFHSTtFQUNBO0VBQ0E7RUFPQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQVpTO0VBQ0w7RUFDQTs7O0FIMUVoQjtFQUVROztBQUlSO0VBRVE7O0FBSVI7RUFFUTs7QUFkUjtFQUVROztBQUlSO0VBRVE7O0FBSVI7RUFFUTs7O0FJOUNaO0VBQ0k7RUFFQSxnQmxDMEZRO0VrQ3ZFQTs7QUFqQlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhbENpRkk7O0FrQy9FSjtFQUNJO0VBQ0E7O0FkK0NSO0VjL0RKO0lBc0JZOzs7QWRzRFI7RWNsRFE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxhbEMyRFI7O0VrQ3pEUTtJQUNJO0lBQ0E7OztBZHlCcEI7RWNsQlE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxhbEN3Q1I7O0VrQ3RDUTtJQUNJO0lBQ0E7OztBZE1wQjtFYy9ESjtJQXNCWTs7O0Fkc0RSO0VjbERRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsYWxDMkRSOztFa0N6RFE7SUFDSTtJQUNBOzs7QWR5QnBCO0VjbEJRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsYWxDd0NSOztFa0N0Q1E7SUFDSTtJQUNBOzs7QWRNcEI7RWMvREo7SUFzQlk7OztBZHNEUjtFY2xEUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGFsQzJEUjs7RWtDekRRO0lBQ0k7SUFDQTs7O0FkeUJwQjtFY2xCUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGFsQ3dDUjs7RWtDdENRO0lBQ0k7SUFDQTs7O0FkTXBCO0VjL0RKO0lBc0JZOzs7QWRzRFI7RWNsRFE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxhbEMyRFI7O0VrQ3pEUTtJQUNJO0lBQ0E7OztBZHlCcEI7RWNsQlE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxhbEN3Q1I7O0VrQ3RDUTtJQUNJO0lBQ0E7OztBZE1wQjtFYy9ESjtJQXNCWTs7O0Fkc0RSO0VjbERRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsYWxDMkRSOztFa0N6RFE7SUFDSTtJQUNBOzs7QWR5QnBCO0VjbEJRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsYWxDd0NSOztFa0N0Q1E7SUFDSTtJQUNBOzs7QWRNcEI7RWMvREo7SUFzQlk7OztBZHNEUjtFY2xEUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGFsQzJEUjs7RWtDekRRO0lBQ0k7SUFDQTs7O0FkeUJwQjtFY2xCUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGFsQ3dDUjs7RWtDdENRO0lBQ0k7SUFDQTs7O0FBUWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsS2xDeUJBO0VrQ3hCQTtFQUNBLGVsQ3VCQTs7QWtDckJBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFTSTtFQUNBO0VBQ0E7O0FKeEhSO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSSxPOUI2SWdCO0U4QjVJaEIsUTlCNElnQjtFOEIzSWhCLGtCOUI0SWM7O0E4QnpJbEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJLGtCOUJ5SW9COztBOEJ0SXhCO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSSxrQjlCc0kwQjs7QThCbkk5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0ksUTlCbUl3QjtFOEJsSXhCLGU5QjhIZ0I7RThCN0hoQixrQjlCWEc7O0E4QmNQO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSSxrQjlCZEc7O0E4QmlCUDtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FJaUdJO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0EsS2xDekNBOztBa0M0Q0o7RUFDSTtFQUNBOztBQUlBO0VBQ0k7RUFDQTs7QUFJUjtBQUFBO0VBSUk7O0FBRUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNJOztBQUVBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0VBQ0k7O0FBRUE7QUFBQTtBQUFBO0VBRUk7RUFDQTs7QUFLWjtBQUFBO0VBQ0k7O0FBRUE7QUFBQTtFQUNJO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBRUk7RUFDQTs7QUFLWjtBQUFBO0VBQ0k7O0FBSUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7QUFBQTtFQUNJO0VBQ0E7O0FBSUE7QUFBQTtFQUNJOztBQUlSO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFNsQzdKUjs7QWtDZ0tJO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0VBQ0k7O0FBS1o7RUFDSTs7QUFFQTtFQUNJOztBQUdJO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7O0FBTVI7RUFDSTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQU1SO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBS1o7RUFDSTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFLWjtFQUNJO0VBQ0EsZWxDaFJJOztBa0NrUko7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBSUE7RUFDSTs7QUFNSjtFQUNJLGtCbEM1V2I7O0FrQ2dYSztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsU2xDM1JSO0VrQzRSUTtFQUNBLFlsQ3hYWjtFa0N5WFk7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0ksU2xDN1NMOztBa0NpVEg7RUFFSSxrQmxDclliOztBa0N3WVM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVTO0VBQ0w7OztBQVNaO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0EsS2xDN1VKO0VrQzhVSTs7QUFFQTtFQUNJLFNsQ3pWRztFa0MwVkg7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLWjtFQUNJLGVsQ2hYSTs7QWtDa1hKO0VBQ0k7OztBQ2hkWjtFQUNJLGVuQzRGUTs7QW1DekZKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFJUTs7QWZtRGhCO0VlM0RJO0lBUVk7OztBZm1EaEI7RWUzREk7SUFRWTs7O0FmbURoQjtFZTNESTtJQVFZOzs7QWZtRGhCO0VlM0RJO0lBUVk7OztBZm1EaEI7RWUzREk7SUFRWTs7O0FmbURoQjtFZTNESTtJQVFZOzs7QUFJUjtFQUNJO0VBQ0E7O0FBS1o7RUFDSSxhbkNxRUk7RW1DcEVKOzs7QUN6QlI7RUFDSTtJQUNJOztFQUdKO0lBQ0ksUzNCNDNDNEI7OztBMkJ4M0NwQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNyQ1I7RUFHSTs7QUFFUztFQUNMO0VBQ0E7OztBQUlBO0VBRUk7O0FBR0o7RUFDSTs7QUFHSjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJyQ29FQTtFcUNuRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBRUE7RUFFSTs7QUFHSjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7OztBQ3pFaEI7RUFDSTtFQW1CUTs7QUFqQlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FsQmlEUjtFa0IvREo7SUFvQlk7OztBbEJ3RFI7RWtCcERRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBOzs7QWxCMkJwQjtFa0JwQlE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7OztBbEJRcEI7RWtCL0RKO0lBb0JZOzs7QWxCd0RSO0VrQnBEUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7O0FsQjJCcEI7RWtCcEJRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBOzs7QWxCUXBCO0VrQi9ESjtJQW9CWTs7O0FsQndEUjtFa0JwRFE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7OztBbEIyQnBCO0VrQnBCUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7O0FsQlFwQjtFa0IvREo7SUFvQlk7OztBbEJ3RFI7RWtCcERRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBOzs7QWxCMkJwQjtFa0JwQlE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7OztBbEJRcEI7RWtCL0RKO0lBb0JZOzs7QWxCd0RSO0VrQnBEUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7O0FsQjJCcEI7RWtCcEJRO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBOzs7QWxCUXBCO0VrQi9ESjtJQW9CWTs7O0FsQndEUjtFa0JwRFE7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7OztBbEIyQnBCO0VrQnBCUTtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7SUFDQTs7OztBQ3hDeEI7RUFHSTs7QUNsQko7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBRFlBO0VBQ0k7RUFDQTs7QUFJQTtFQUNJO0VBQ0E7O0FBS0o7RUFDSTs7QUFJUjtFQUNJLGV2Q3NESTs7QXVDbkRSO0VBRUksZXZDaURJOztBZ0MzRlY7RUFDRTtFQUNBO0VBQ0EiLCJmaWxlIjoic3JjL2Zyb250L3Njc3MvYXBwLWZ1bGwuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndjc2Yge1xuICAgIEBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbiAgICBAaW1wb3J0IFwiYm9vdHN0cmFwL2Jvb3RzdHJhcFwiO1xufVxuXG5AaW1wb3J0IFwiYXBwLnNjc3NcIjtcbiIsIi8vIEJvb3RzdHJhcCA1IHZhcmlhYmxlc1xuJHByZWZpeDogd2NzZi0gIWRlZmF1bHQ7XG5cbiR3aGl0ZTogI2ZmZjtcbiRncmF5LTEwMDogI2Y4ZjlmYTtcbiRncmF5LTIwMDogI2U5ZWNlZjtcbiRncmF5LTMwMDogI2RlZTJlNjtcbiRncmF5LTQwMDogI2NlZDRkYTtcbiRncmF5LTUwMDogI2FkYjViZDtcbiRncmF5LTYwMDogIzZjNzU3ZDtcbiRncmF5LTcwMDogIzQ5NTA1NztcbiRncmF5LTgwMDogIzM0M2E0MDtcbiRncmF5LTkwMDogIzIxMjUyOTtcbiRibGFjazogIzAwMDtcblxuJGJsdWU6ICMwZDZlZmQ7XG4kaW5kaWdvOiAjNjYxMGYyO1xuJHB1cnBsZTogIzZmNDJjMTtcbiRwaW5rOiAjZDYzMzg0O1xuJHJlZDogI2RjMzU0NTtcbiRvcmFuZ2U6ICNmZDdlMTQ7XG4keWVsbG93OiAjZmZjMTA3O1xuJGdyZWVuOiAjMjhhNzQ1O1xuJHRlYWw6ICMyMGM5OTc7XG4kY3lhbjogIzE3YTJiODtcblxuJHByaW1hcnk6ICRibHVlO1xuJHNlY29uZGFyeTogJGdyYXktNjAwO1xuJHN1Y2Nlc3M6ICRncmVlbjtcbiRpbmZvOiAkY3lhbjtcbiR3YXJuaW5nOiAkeWVsbG93O1xuJGRhbmdlcjogJHJlZDtcbiRsaWdodDogJGdyYXktMTAwO1xuJGRhcms6ICRncmF5LTgwMDtcblxuJGVuYWJsZS1kYXJrLW1vZGU6IGZhbHNlICFkZWZhdWx0O1xuXG4kbWluLWNvbnRyYXN0LXJhdGlvOiAzO1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgIHh4czogMCxcbiAgICB4czogNDgwcHgsXG4gICAgc206IDU3NnB4LFxuICAgIG1kOiA3NjhweCxcbiAgICBsZzogOTkycHgsXG4gICAgeGw6IDEyMDBweCxcbiAgICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICAgeHM6IDQ2NnB4LFxuICAgIHNtOiA1NDBweCxcbiAgICBtZDogNzIwcHgsXG4gICAgbGc6IDk2MHB4LFxuICAgIHhsOiAxMTQwcHgsXG4gICAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG5cbiRzcGFjZXI6IDFyZW07XG4kc3BhY2VyczogKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbik7XG5cbiRib2R5LWJnOiAkd2hpdGU7XG4kYm9keS1jb2xvcjogJGdyYXktOTAwO1xuXG4kZm9udC1zaXplLWJhc2U6IDFyZW07IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGZvbnQtd2VpZ2h0LWJhc2U6ICRmb250LXdlaWdodC1ub3JtYWw7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAxLjU7XG5cbiRib3JkZXItcmFkaXVzOiAuMjVyZW07XG5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAkcHJpbWFyeTtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogLjJyZW07XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpO1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3I7XG5cbiRidG4tZm9jdXMtYm94LXNoYWRvdzogJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAuNjU7XG5cbiR0YWJsZS1hY2NlbnQtYmc6IHJnYmEoJGJsYWNrLCAuMDIpO1xuXG4vKiBCb290c3dhdGNoIHZhcmlhYmxlcyBwbGFjZSAqL1xuXG4vLyBXb29Db21tZXJjZSBTdGVwIEZpbHRlciB2YXJpYWJsZXNcbiRzcGFjZXItbWQ6IG1hcC1nZXQoJHNwYWNlcnMsIDMpICFkZWZhdWx0O1xuJHNwYWNlci1zbTogbWFwLWdldCgkc3BhY2VycywgMikgIWRlZmF1bHQ7XG4kc3BhY2VyLXhzOiBtYXAtZ2V0KCRzcGFjZXJzLCAxKSAhZGVmYXVsdDtcblxuJGxvYWRpbmctb3BhY2l0eTogMC42NSAhZGVmYXVsdDtcbiRsb2FkaW5nLXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgbGluZWFyICFkZWZhdWx0O1xuJGxvYWRpbmctc3Bpbm5lci1taW4tdmFsdWU6IDEwICFkZWZhdWx0O1xuJGxvYWRpbmctc3Bpbm5lci1zaXplOiA0cmVtICFkZWZhdWx0O1xuJGxvYWRpbmctc3Bpbm5lci1iYXItc3Ryb2tlLWNvbG9yOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kbG9hZGluZy1zcGlubmVyLWJhci1zdHJva2Utd2lkdGg6IDYgIWRlZmF1bHQ7XG4kbG9hZGluZy1zcGlubmVyLWJhci1zdHJva2Utb3BhY2l0eTogMC4zICFkZWZhdWx0O1xuJGxvYWRpbmctc3Bpbm5lci1maWxsLXN0cm9rZS1jb2xvcjogJGdyYXktOTAwICFkZWZhdWx0O1xuJGxvYWRpbmctc3Bpbm5lci1maWxsLXN0cm9rZS13aWR0aDogNiAhZGVmYXVsdDtcbiRsb2FkaW5nLXNwaW5uZXItZmlsbC1zdHJva2Utb3BhY2l0eTogMSAhZGVmYXVsdDtcblxuJGhlYWRlci1zdHVjay16LWluZGV4OiAxMCAhZGVmYXVsdDtcbiRoZWFkZXItc3R1Y2stY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGhlYWRlci1zdHVjay1iZzogdHJhbnNwYXJlbnRpemUoJGJvZHktYmcsIDAuMSkgIWRlZmF1bHQ7XG4kaGVhZGVyLXN0dWNrLWJveC1zaGFkb3c6IDAgMTRweCAxMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgLjEpLCAwIDZweCA0cHggLTRweCByZ2JhKDAsIDAsIDAsIC4yKSAhZGVmYXVsdDtcbiRoZWFkZXItc3R1Y2stYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCkgIWRlZmF1bHQ7XG5cbiRmb290ZXItc3R1Y2stei1pbmRleDogMTAgIWRlZmF1bHQ7XG4kZm9vdGVyLXN0dWNrLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRmb290ZXItc3R1Y2stYmc6IHRyYW5zcGFyZW50aXplKCRib2R5LWJnLCAwLjEpICFkZWZhdWx0O1xuJGZvb3Rlci1zdHVjay1ib3gtc2hhZG93OiAwIC0xNHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAuMSksIDAgLTZweCA0cHggLTRweCByZ2JhKDAsIDAsIDAsIC4yKSAhZGVmYXVsdDtcbiRmb290ZXItc3R1Y2stYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCkgIWRlZmF1bHQ7XG5cbiRuYXYtc3R1Y2stYmc6IHRyYW5zcGFyZW50aXplKCRib2R5LWJnLCAwLjEpICFkZWZhdWx0O1xuJG5hdi1zdHVjay1ib3gtc2hhZG93OiAwIDE0cHggMTBweCAtMTBweCByZ2JhKDAsIDAsIDAsIC4xKSwgMCA2cHggNHB4IC00cHggcmdiYSgwLCAwLCAwLCAuMikgIWRlZmF1bHQ7XG4kbmF2LXN0dWNrLWJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpICFkZWZhdWx0O1xuXG4kbmF2LWl0ZW0tdGh1bWJuYWlsLXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluZS1pdGVtLWNpcmNsZS1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmUtaXRlbS1jaXJjbGUtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRuYXYtbGluZS1pdGVtLWNpcmNsZS1iZzogJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1saW5lLWl0ZW0tY2lyY2xlLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluZS1pdGVtLWNpcmNsZS1mb250LXdlaWdodDogYm9sZGVyICFkZWZhdWx0O1xuJG5hdi1saW5lLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRncmF5LTYwMCAhZGVmYXVsdDtcbiRuYXYtbGluZS1pdGVtLWRpc2FibGVkLXRyYW5zZm9ybTogc2NhbGUoMC44KSAhZGVmYXVsdDtcbiRuYXYtbGluZS1pdGVtLXBhc3QtY29sb3I6ICRzdWNjZXNzICFkZWZhdWx0O1xuJG5hdi1saW5lLWl0ZW0tcGFzdC1jaXJjbGUtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbmF2LWxpbmUtaXRlbS1wYXN0LWNpcmNsZS1iZzogJHN1Y2Nlc3MgIWRlZmF1bHQ7XG4kbmF2LWxpbmUtaXRlbS1hY3RpdmUtY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJG5hdi1saW5lLWl0ZW0tYWN0aXZlLWNpcmNsZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRuYXYtbGluZS1pdGVtLWFjdGl2ZS1jaXJjbGUtYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJG5hdi1saW5lLWl0ZW0tYWN0aXZlLWNpcmNsZS1vcGFjaXR5OiAwLjc1ICFkZWZhdWx0O1xuJG5hdi1saW5lLWl0ZW0tY29ubmVjdC1saW5lLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4kbmF2LWxpbmUtaXRlbS1jb25uZWN0LWxpbmUtc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJG5hdi1saW5lLWl0ZW0tY29ubmVjdC1saW5lLWJhY2tncm91bmQ6ICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1zY3JvbGxiYXItc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRjdXN0b20tc2Nyb2xsYmFyLWJnOiAjZmZmICFkZWZhdWx0O1xuJGN1c3RvbS1zY3JvbGxiYXItdHJhY2stYmc6ICNmZmYgIWRlZmF1bHQ7XG4kY3VzdG9tLXNjcm9sbGJhci10cmFjay1ob3Zlci1iZzogI2ZmZiAhZGVmYXVsdDtcbiRjdXN0b20tc2Nyb2xsYmFyLXRodW1iLWJvcmRlcjogNXB4IHNvbGlkICRjdXN0b20tc2Nyb2xsYmFyLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zY3JvbGxiYXItdGh1bWItYmc6ICRncmF5LTQwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2Nyb2xsYmFyLXRodW1iLWhvdmVyLWJnOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRyYW5nZS1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG4kcmFuZ2UtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcmFuZ2UtdHJhY2stc2l6ZTogMC40cmVtICFkZWZhdWx0O1xuJHJhbmdlLXRyYWNrLWJnOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcmFuZ2UtZmlsbC1iZzogJHByaW1hcnkgIWRlZmF1bHQ7XG4kcmFuZ2UtZGlzYWJsZWQtdHJhY2stYmc6ICRncmF5LTMwMCAhZGVmYXVsdDtcbiRyYW5nZS1oYW5kbGUtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRyYW5nZS1oYW5kbGUtYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFkZWZhdWx0O1xuJHJhbmdlLWhhbmRsZS1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kcmFuZ2UtaGFuZGxlLWJnOiAjZmZmICFkZWZhdWx0O1xuJHJhbmdlLWRpc2FibGVkLWhhbmRsZS1iZzogJGdyYXktMjAwICFkZWZhdWx0O1xuJHJhbmdlLWhhbmRsZS1zaGFkb3c6IDAgMXB4IDNweCAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kcmFuZ2UtdG9vbHRpcC1iZzogJHByaW1hcnkgIWRlZmF1bHQ7XG4kcmFuZ2UtdG9vbHRpcC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRyYW5nZS10b29sdGlwLXBhZGRpbmc6IDAgMC41cmVtICFkZWZhdWx0O1xuJHJhbmdlLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcmFuZ2UtZmllbGQtZmxleDogMSAyNTBweCAhZGVmYXVsdDtcblxuJHZhbHVlLWl0ZW0tYnV0dG9uLXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kdmFsdWUtaXRlbS1idXR0b24tY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kdmFsdWUtaXRlbS1idXR0b24tYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJHZhbHVlLWl0ZW0tY2hlY2stYmctY29sb3I6ICRzdWNjZXNzICFkZWZhdWx0O1xuJHZhbHVlLWl0ZW0tcmVtb3ZlLWJnLWNvbG9yOiAkZGFuZ2VyICFkZWZhdWx0O1xuXG4kZmllbGQtdGh1bWJuYWlsLWJvcmRlcjogMXB4IHNvbGlkICRncmF5LTIwMCAhZGVmYXVsdDtcbiRmaWVsZC10aHVtYm5haWwtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZmllbGQtdGh1bWJuYWlsLWZvY3VzLWJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5ICFkZWZhdWx0O1xuJGZpZWxkLXRodW1ibmFpbC1kaXNhYmxlZC1ib3JkZXI6IDFweCBzb2xpZCAkZ3JheS00MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZC1tdWx0aS1jaG9pY2UtY2hlY2tib3gtZXhjbHVkZWQtY29sb3I6ICRkYW5nZXIgIWRlZmF1bHQ7XG4kZmllbGQtbXVsdGktY2hvaWNlLWNoZWNrYm94LWRlZmF1bHQtY29sb3I6ICRncmF5LTIwMCAhZGVmYXVsdDtcbiRmaWVsZC1tdWx0aS1jaG9pY2UtY2hlY2tib3gtZGVmYXVsdC1ib3JkZXItY29sb3I6IGRhcmtlbigkZ3JheS0yMDAsIDEwJSkgIWRlZmF1bHQ7XG4kZmllbGQtbXVsdGktY2hvaWNlLWNoZWNrYm94LXBvc3NpYmxlLWNvbG9yOiAkaW5mbyAhZGVmYXVsdDtcbiRmaWVsZC1tdWx0aS1jaG9pY2UtY2hlY2tib3gtcmVxdWlyZWQtY29sb3I6ICRzdWNjZXNzICFkZWZhdWx0O1xuXG4kZmllbGQtbXVsdGktY2hvaWNlLXJhbmdlLWV4Y2x1ZGVkLWNvbG9yOiAkZGFuZ2VyICFkZWZhdWx0O1xuJGZpZWxkLW11bHRpLWNob2ljZS1yYW5nZS1kZWZhdWx0LWNvbG9yOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZmllbGQtbXVsdGktY2hvaWNlLXJhbmdlLXBvc3NpYmxlLWNvbG9yOiAkaW5mbyAhZGVmYXVsdDtcbiRmaWVsZC1tdWx0aS1jaG9pY2UtcmFuZ2UtcmVxdWlyZWQtY29sb3I6ICRzdWNjZXNzICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtb3V0bGluZS1jb2xvcjogJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcbiIsIkBtaXhpbiBic0Jhbm5lcigkZmlsZSkge1xuICAvKiFcbiAgICogQm9vdHN0cmFwICN7JGZpbGV9IHY1LjMuMyAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAgICogQ29weXJpZ2h0IDIwMTEtMjAyNCBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAgICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gICAqL1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbi8vIFJvb3Rcbi8vXG4vLyBBYmlsaXR5IHRvIHRoZSB2YWx1ZSBvZiB0aGUgcm9vdCBmb250IHNpemVzLCBhZmZlY3RpbmcgdGhlIHZhbHVlIG9mIGByZW1gLlxuLy8gbnVsbCBieSBkZWZhdWx0LCB0aHVzIG5vdGhpbmcgaXMgZ2VuZXJhdGVkLlxuXG4vLzpyb290IHtcbi8vICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuLy8gICAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZSkpO1xuLy8gIH1cbi8vXG4vLyAgQGlmICRlbmFibGUtc21vb3RoLXNjcm9sbCB7XG4vLyAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbi8vICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4vLyAgICB9XG4vLyAgfVxuLy99XG5cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuLy8gNC4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZWJvb3QtYm9keS1ydWxlc1xuLy9ib2R5IHtcbi8vICBtYXJnaW46IDA7IC8vIDFcbi8vICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHkpO1xuLy8gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpKTtcbi8vICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQpO1xuLy8gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodCk7XG4vLyAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbi8vICB0ZXh0LWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduKTtcbi8vICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZyk7IC8vIDJcbi8vICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDNcbi8vICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNFxuLy99XG4vLyBzY3NzLWRvY3MtZW5kIHJlYm9vdC1ib2R5LXJ1bGVzXG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIFJlc2V0IEZpcmVmb3gncyBncmF5IGNvbG9yXG5cbi8vaHIge1xuLy8gIG1hcmdpbjogJGhyLW1hcmdpbi15IDA7XG4vLyAgY29sb3I6ICRoci1jb2xvcjsgLy8gMVxuLy8gIGJvcmRlcjogMDtcbi8vICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG4vLyAgb3BhY2l0eTogJGhyLW9wYWNpdHk7XG4vL31cblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gMS4gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vICAgIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyAgICBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5cbi8vJWhlYWRpbmcge1xuLy8gIG1hcmdpbi10b3A6IDA7IC8vIDFcbi8vICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbi8vICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuLy8gIGZvbnQtc3R5bGU6ICRoZWFkaW5ncy1mb250LXN0eWxlO1xuLy8gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4vLyAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbi8vICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuLy99XG4vL1xuLy9oMSB7XG4vLyAgQGV4dGVuZCAlaGVhZGluZztcbi8vICBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4vL31cbi8vXG4vL2gyIHtcbi8vICBAZXh0ZW5kICVoZWFkaW5nO1xuLy8gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbi8vfVxuLy9cbi8vaDMge1xuLy8gIEBleHRlbmQgJWhlYWRpbmc7XG4vLyAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuLy99XG4vL1xuLy9oNCB7XG4vLyAgQGV4dGVuZCAlaGVhZGluZztcbi8vICBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4vL31cbi8vXG4vL2g1IHtcbi8vICBAZXh0ZW5kICVoZWFkaW5nO1xuLy8gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbi8vfVxuLy9cbi8vaDYge1xuLy8gIEBleHRlbmQgJWhlYWRpbmc7XG4vLyAgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuLy99XG5cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxuXG4vL3Age1xuLy8gIG1hcmdpbi10b3A6IDA7XG4vLyAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuLy99XG5cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDIuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDMuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG4vL2FiYnJbdGl0bGVdIHtcbi8vICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDFcbi8vICBjdXJzb3I6IGhlbHA7IC8vIDJcbi8vICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDNcbi8vfVxuXG5cbi8vIEFkZHJlc3NcblxuLy9hZGRyZXNzIHtcbi8vICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuLy8gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbi8vfVxuXG5cbi8vIExpc3RzXG5cbi8vb2wsXG51bCB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cblxuLy9vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4vL29sIG9sLFxudWwgdWxcbi8vb2wgdWwsXG4vL3VsIG9sXG57XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vZHQge1xuLy8gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG4vL31cbi8vXG4vLy8vIDEuIFVuZG8gYnJvd3NlciBkZWZhdWx0XG4vL1xuLy9kZCB7XG4vLyAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4vLyAgbWFyZ2luLWxlZnQ6IDA7IC8vIDFcbi8vfVxuXG5cbi8vIEJsb2NrcXVvdGVcblxuLy9ibG9ja3F1b3RlIHtcbi8vICBtYXJnaW46IDAgMCAxcmVtO1xuLy99XG5cblxuLy8gU3Ryb25nXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxuXG4vL2IsXG4vL3N0cm9uZyB7XG4vLyAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7XG4vL31cblxuXG4vLyBTbWFsbFxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG5cbi8vc21hbGwge1xuLy8gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbi8vfVxuXG5cbi8vIE1hcmtcblxuLy9tYXJrIHtcbi8vICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuLy8gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yKTtcbi8vICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnKTtcbi8vfVxuXG5cbi8vIFN1YiBhbmQgU3VwXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG5cbi8vc3ViLFxuLy9zdXAge1xuLy8gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICBAaW5jbHVkZSBmb250LXNpemUoJHN1Yi1zdXAtZm9udC1zaXplKTtcbi8vICBsaW5lLWhlaWdodDogMDtcbi8vICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4vL31cbi8vXG4vL3N1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG4vL3N1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6IHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgJixcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gQ29kZVxuXG4vL3ByZSxcbi8vY29kZSxcbi8va2JkLFxuLy9zYW1wIHtcbi8vICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWNvZGU7XG4vLyAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbi8vfVxuLy9cbi8vLy8gMS4gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4vLy8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLy8vIDMuIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuLy9cbi8vcHJlIHtcbi8vICBkaXNwbGF5OiBibG9jaztcbi8vICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4vLyAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuLy8gIG92ZXJmbG93OiBhdXRvOyAvLyAzXG4vLyAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4vLyAgY29sb3I6ICRwcmUtY29sb3I7XG4vL1xuLy8gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4vLyAgY29kZSB7XG4vLyAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4vLyAgICBjb2xvcjogaW5oZXJpdDtcbi8vICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbi8vICB9XG4vL31cbi8vXG4vL2NvZGUge1xuLy8gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuLy8gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y29kZS1jb2xvcik7XG4vLyAgd29yZC13cmFwOiBicmVhay13b3JkO1xuLy9cbi8vICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbi8vICBhID4gJiB7XG4vLyAgICBjb2xvcjogaW5oZXJpdDtcbi8vICB9XG4vL31cbi8vXG4vL2tiZCB7XG4vLyAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4vLyAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbi8vICBjb2xvcjogJGtiZC1jb2xvcjtcbi8vICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuLy8gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuLy9cbi8vICBrYmQge1xuLy8gICAgcGFkZGluZzogMDtcbi8vICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pO1xuLy8gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuLy8gIH1cbi8vfVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG4vL3RhYmxlIHtcbi8vICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbi8vICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuLy99XG4vL1xuLy9jYXB0aW9uIHtcbi8vICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZy15O1xuLy8gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4vLyAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuLy8gIHRleHQtYWxpZ246IGxlZnQ7XG4vL31cbi8vXG4vLy8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLy8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcbi8vXG4vL3RoIHtcbi8vICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4vLyAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuLy8gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG4vL31cbi8vXG4vL3RoZWFkLFxuLy90Ym9keSxcbi8vdGZvb3QsXG4vL3RyLFxuLy90ZCxcbi8vdGgge1xuLy8gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbi8vICBib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gIGJvcmRlci13aWR0aDogMDtcbi8vfVxuXG5cbi8vIEZvcm1zXG4vL1xuLy8gMS4gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcblxuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuXG4gIC8vIFVuZG8gdGhlIG9wYWNpdHkgY2hhbmdlIGZyb20gQ2hyb21lXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIHRoZSBkcm9wZG93biBhcnJvdyBvbmx5IGZyb20gdGV4dCB0eXBlIGlucHV0cyBidWlsdCB3aXRoIGRhdGFsaXN0cyBpbiBDaHJvbWUuXG4vLyBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU0OTk3MTE4XG5cbltsaXN0XTpub3QoW3R5cGU9XCJkYXRlXCJdKTpub3QoW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSk6bm90KFt0eXBlPVwibW9udGhcIl0pOm5vdChbdHlwZT1cIndlZWtcIl0pOm5vdChbdHlwZT1cInRpbWVcIl0pOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICAvL2Rpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gMS4gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gMlxuICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbi8vbGVnZW5kIHtcbi8vICBmbG9hdDogbGVmdDsgLy8gMVxuLy8gIHdpZHRoOiAxMDAlO1xuLy8gIHBhZGRpbmc6IDA7XG4vLyAgbWFyZ2luLWJvdHRvbTogJGxlZ2VuZC1tYXJnaW4tYm90dG9tO1xuLy8gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVnZW5kLWZvbnQtc2l6ZSk7XG4vLyAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XG4vLyAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4vL1xuLy8gICsgKiB7XG4vLyAgICBjbGVhcjogbGVmdDsgLy8gMlxuLy8gIH1cbi8vfVxuXG4vLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4ODQyXG5cbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQge1xuICAvL3BhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC8vaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4vLyAgICBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbi8vICAgIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4vLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuLy9bdHlwZT1cInNlYXJjaFwiXSB7XG4vLyAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbi8vICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuLy99XG5cbi8vIDEuIEEgZmV3IGlucHV0IHR5cGVzIHNob3VsZCBzdGF5IExUUlxuLy8gU2VlIGh0dHBzOi8vcnRsc3R5bGluZy5jb20vcG9zdHMvcnRsLXN0eWxpbmcjZm9ybS1pbnB1dHNcbi8vIDIuIFJUTCBvbmx5IG91dHB1dFxuLy8gU2VlIGh0dHBzOi8vcnRsY3NzLmNvbS9sZWFybi91c2FnZS1ndWlkZS9jb250cm9sLWRpcmVjdGl2ZXMvI3Jhd1xuXG4vKiBydGw6cmF3OlxuW3R5cGU9XCJ0ZWxcIl0sXG5bdHlwZT1cInVybFwiXSxcblt0eXBlPVwiZW1haWxcIl0sXG5bdHlwZT1cIm51bWJlclwiXSB7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuKi9cblxuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4vLzo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4vLyAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuLy99XG5cbi8vIFJlbW92ZSBwYWRkaW5nIGFyb3VuZCBjb2xvciBwaWNrZXJzIGluIHdlYmtpdCBicm93c2Vyc1xuXG4vLzo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4vLyAgcGFkZGluZzogMDtcbi8vfVxuXG5cbi8vIDEuIEluaGVyaXQgZm9udCBmYW1pbHkgYW5kIGxpbmUgaGVpZ2h0IGZvciBmaWxlIGlucHV0IGJ1dHRvbnNcbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbi8vOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4vLyAgZm9udDogaW5oZXJpdDsgLy8gMVxuLy8gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG4vL31cblxuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG5cbi8vb3V0cHV0IHtcbi8vICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vL31cblxuLy8gUmVtb3ZlIGJvcmRlciBmcm9tIGlmcmFtZVxuXG4vL2lmcmFtZSB7XG4vLyAgYm9yZGVyOiAwO1xuLy99XG5cbi8vIFN1bW1hcnlcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcblxuLy9zdW1tYXJ5IHtcbi8vICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIDFcbi8vICBjdXJzb3I6IHBvaW50ZXI7XG4vL31cblxuXG4vLyBQcm9ncmVzc1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbi8vcHJvZ3Jlc3Mge1xuLy8gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbi8vfVxuXG5cbi8vIEhpZGRlbiBhdHRyaWJ1dGVcbi8vXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vXG4vLyBHZW5lcmFsIGZvcm0gY29udHJvbHMgKHBsdXMgYSBmZXcgc3BlY2lmaWMgaGlnaC1sZXZlbCBpbnRlcnZlbnRpb25zKVxuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAmW3R5cGU9XCJmaWxlXCJdIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBwcmV2ZW50IHBzZXVkbyBlbGVtZW50IGJ1dHRvbiBvdmVybGFwXG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7XG4gICAgLy8gT24gQW5kcm9pZCBDaHJvbWUsIGZvcm0tY29udHJvbCdzIFwid2lkdGg6IDEwMCVcIiBtYWtlcyB0aGUgaW5wdXQgd2lkdGggdG9vIHNtYWxsXG4gICAgLy8gVGVzdGVkIHVuZGVyIEFuZHJvaWQgMTEgLyBDaHJvbWUgODksIEFuZHJvaWQgMTIgLyBDaHJvbWUgMTAwLCBBbmRyb2lkIDEzIC8gQ2hyb21lIDEwOVxuICAgIC8vXG4gICAgLy8gT24gaU9TIFNhZmFyaSwgZm9ybS1jb250cm9sJ3MgXCJhcHBlYXJhbmNlOiBub25lXCIgKyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBpT1MgMTYuMiAvIFNhZmFyaSAxNi4yXG4gICAgbWluLXdpZHRoOiA4NXB4OyAvLyBTZWVtcyB0byBiZSBhIGdvb2QgbWluaW11bSBzYWZlIHdpZHRoXG5cbiAgICAvLyBBZGQgc29tZSBoZWlnaHQgdG8gZGF0ZSBpbnB1dHMgb24gaU9TXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yMzMwN1xuICAgIC8vIFRPRE86IHdlIGNhbiByZW1vdmUgdGhpcyB3b3JrYXJvdW5kIG9uY2UgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1OSBpcyByZXNvbHZlZFxuICAgIC8vIE11bHRpcGx5IGxpbmUtaGVpZ2h0IGJ5IDFlbSBpZiBpdCBoYXMgbm8gdW5pdFxuICAgIGhlaWdodDogaWYodW5pdCgkaW5wdXQtbGluZS1oZWlnaHQpID09IFwiXCIsICRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LWxpbmUtaGVpZ2h0KTtcblxuICAgIC8vIEFuZHJvaWQgQ2hyb21lIHR5cGU9XCJkYXRlXCIgaXMgdGFsbGVyIHRoYW4gdGhlIG90aGVyIGlucHV0c1xuICAgIC8vIGJlY2F1c2Ugb2YgXCJtYXJnaW46IDFweCAyNHB4IDFweCA0cHhcIiBpbnNpZGUgdGhlIHNoYWRvdyBET01cbiAgICAvLyBUZXN0ZWQgdW5kZXIgQW5kcm9pZCAxMSAvIENocm9tZSA4OSwgQW5kcm9pZCAxMiAvIENocm9tZSAxMDAsIEFuZHJvaWQgMTMgLyBDaHJvbWUgMTA5XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gUHJldmVudCBleGNlc3NpdmUgZGF0ZSBpbnB1dCBoZWlnaHQgaW4gV2Via2l0XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMzQ0MzNcbiAgJjo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBGaWxlIGlucHV0IGJ1dHRvbnMgdGhlbWluZ1xuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15KSAoLSRpbnB1dC1wYWRkaW5nLXgpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14O1xuICAgIGNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSk6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4vKi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59Ki9cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4vKi5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1zbSkgKC0kaW5wdXQtcGFkZGluZy14LXNtKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktbGcpICgtJGlucHV0LXBhZGRpbmcteC1sZyk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIH1cbn0qL1xuXG4vLyBNYWtlIHN1cmUgdGV4dGFyZWFzIGRvbid0IHNocmluayB0b28gbXVjaCB3aGVuIHJlc2l6ZWRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI5MTI0XG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbnRleHRhcmVhIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgLy9taW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIC8vbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgfVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLyouZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgd2lkdGg6ICRmb3JtLWNvbG9yLXdpZHRoO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXk7XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tb3otY29sb3Itc3dhdGNoIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtY29sb3Itc3dhdGNoIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHsgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtOyB9XG4gICYuZm9ybS1jb250cm9sLWxnIHsgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnOyB9XG59Ki9cbiIsIi8vXG4vLyBDaGVjay9yYWRpb1xuLy9cblxuLmZvcm0tY2hlY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvcm0tY2hlY2stbWluLWhlaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tO1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICB9XG59XG5cbi8qLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufSovXG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZzogI3skZm9ybS1jaGVjay1pbnB1dC1iZ307XG5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgaGVpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1iYXNlIC0gJGZvcm0tY2hlY2staW5wdXQtd2lkdGgpICogLjU7IC8vIGxpbmUtaGVpZ2h0IG1pbnVzIGNoZWNrIGhlaWdodFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlcjogJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWNoZWNrLXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGZpbHRlcjogJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuXG4gICAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3R5cGU9XCJjaGVja2JveFwiXTppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG5cbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX07XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cblxuICAvLyBVc2UgZGlzYWJsZWQgYXR0cmlidXRlIGluIGFkZGl0aW9uIG9mIDpkaXNhYmxlZCBwc2V1ZG8tY2xhc3NcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yO1xuICBjdXJzb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjtcbn1cblxuLy9cbi8vIFN3aXRjaFxuLy9cblxuLyouZm9ybS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZSl9O1xuXG4gICAgd2lkdGg6ICRmb3JtLXN3aXRjaC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXMsIDApO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc3dpdGNoLXRyYW5zaXRpb24pO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZSl9O1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjtcblxuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59Ki9cblxuLyouZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ7XG59XG5cbi5idG4tY2hlY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICArIC5idG4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0Om5vdCg6Y2hlY2tlZCk6bm90KDpmb2N1cykge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UtZGFyayl9O1xuICAgIH1cbiAgfVxufSovXG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogI3skbmF2LWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogI3skbmF2LWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogI3skbmF2LWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJG5hdi1saW5rLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdGFicy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGg6ICN7JG5hdi10YWJzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1czogI3skbmF2LXRhYnMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdGFicy1jc3MtdmFyc1xuXG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3IpO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUHJldmVudHMgYWN0aXZlIC5uYXYtbGluayB0YWIgb3ZlcmxhcHBpbmcgZm9jdXMgb3V0bGluZSBvZiBwcmV2aW91cy9uZXh0IC5uYXYtbGlua1xuICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtcGlsbHMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi1waWxscy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXBpbGxzLWNzcy12YXJzXG5cbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1cykpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVW5kZXJsaW5lXG4vL1xuXG4ubmF2LXVuZGVybGluZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtZ2FwOiAjeyRuYXYtdW5kZXJsaW5lLWdhcH07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi11bmRlcmxpbmUtY3NzLXZhcnNcblxuICBnYXA6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcCk7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtZmlsbCxcbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIC5uYXYtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIE1ha2Ugc3VyZSBidXR0b24gd2lsbCBncm93XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi8qXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4qL1xuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1rZXlmcmFtZXNcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLypAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICAwJSB7IGJhY2tncm91bmQtcG9zaXRpb24teDogJHByb2dyZXNzLWhlaWdodDsgfVxuICB9Ki9cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5cbi5wcm9ncmVzcyB7XG4vLy5wcm9ncmVzcy1zdGFja2VkIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodDogI3skcHJvZ3Jlc3MtaGVpZ2h0fTtcbiAgQGluY2x1ZGUgcmZzKCRwcm9ncmVzcy1mb250LXNpemUsIC0tI3skcHJlZml4fXByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJnOiAjeyRwcm9ncmVzcy1iZ307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICN7JHByb2dyZXNzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3gtc2hhZG93OiAjeyRwcm9ncmVzcy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWNvbG9yOiAjeyRwcm9ncmVzcy1iYXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItYmc6ICN7JHByb2dyZXNzLWJhci1iZ307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAjeyRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1mb250LXNpemUpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3gtc2hhZG93KSk7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItYmcpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItdHJhbnNpdGlvbikpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICAvL0BpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgLy9iYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpIHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyB7XG4gIC8vb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wcm9ncmVzcy1zdGFja2VkID4gLnByb2dyZXNzID4gLnByb2dyZXNzLWJhciB7XG4gIC8vd2lkdGg6IDEwMCU7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLyoucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH0qL1xufVxuIiwiJiB7XG4gIC8vIE5vdGU6IEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuXG4gIC8vIENvbG9yc1xuICAvL1xuICAvLyBHZW5lcmF0ZSBwYWxldHRlcyBmb3IgZnVsbCBjb2xvcnMsIGdyYXlzLCBhbmQgdGhlbWUgY29sb3JzLlxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgICAtLSN7JHByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYiB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYjogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0IHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fXdoaXRlLXJnYjogI3t0by1yZ2IoJHdoaXRlKX07XG4gIC0tI3skcHJlZml4fWJsYWNrLXJnYjogI3t0by1yZ2IoJGJsYWNrKX07XG5cbiAgLy8gRm9udHNcblxuICAvLyBOb3RlOiBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLy8tLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAvLy0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogI3skZ3JhZGllbnR9O1xuXG4gIC8vIFJvb3QgYW5kIGJvZHlcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9keS12YXJpYWJsZXNcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLXJvb3R9O1xuICB9XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHk6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktYmFzZSl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZS1iYXNlLCAtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgQGlmICRib2R5LXRleHQtYWxpZ24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduOiAjeyRib2R5LXRleHQtYWxpZ259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yKX07XG5cbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9keS12YXJpYWJsZXNcblxuICAvLy0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWxpbmstZGVjb3JhdGlvbjogI3skbGluay1kZWNvcmF0aW9ufTtcblxuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yKX07XG5cbiAgQGlmICRsaW5rLWhvdmVyLWRlY29yYXRpb24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1kZWNvcmF0aW9uOiAjeyRsaW5rLWhvdmVyLWRlY29yYXRpb259O1xuICB9XG5cbiAgLy8tLSN7JHByZWZpeH1jb2RlLWNvbG9yOiAjeyRjb2RlLWNvbG9yfTtcbiAgLy8tLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3J9O1xuICAvLy0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZ307XG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9yZGVyLXZhclxuICAtLSN7JHByZWZpeH1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1zdHlsZTogI3skYm9yZGVyLXN0eWxlfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudH07XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc206ICN7JGJvcmRlci1yYWRpdXMtc219O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnOiAjeyRib3JkZXItcmFkaXVzLWxnfTtcbiAgLy8tLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXhsOiAjeyRib3JkZXItcmFkaXVzLXhsfTtcbiAgLy8tLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bDogI3skYm9yZGVyLXJhZGl1cy14eGx9O1xuICAvLy0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtMnhsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpOyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMCBmb3IgY29uc2lzdGVuY3lcbiAgLy8tLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXBpbGw6ICN7JGJvcmRlci1yYWRpdXMtcGlsbH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib3JkZXItdmFyXG5cbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdzogI3skYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctc206ICN7JGJveC1zaGFkb3ctc219O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWxnOiAjeyRib3gtc2hhZG93LWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldDogI3skYm94LXNoYWRvdy1pbnNldH07XG5cbiAgLy8gRm9jdXMgc3R5bGVzXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWZvY3VzLXZhcmlhYmxlc1xuICAvLy0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGg6ICN7JGZvY3VzLXJpbmctd2lkdGh9O1xuICAvLy0tI3skcHJlZml4fWZvY3VzLXJpbmctb3BhY2l0eTogI3skZm9jdXMtcmluZy1vcGFjaXR5fTtcbiAgLy8tLSN7JHByZWZpeH1mb2N1cy1yaW5nLWNvbG9yOiAjeyRmb2N1cy1yaW5nLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvY3VzLXZhcmlhYmxlc1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvcjogI3skZm9ybS12YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaywgdHJ1ZSkge1xuICAgIGNvbG9yLXNjaGVtZTogZGFyaztcblxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWRhcmstbW9kZS12YXJzXG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yOiAjeyRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZzogI3skYm9keS1zZWNvbmRhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yOiAjeyRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktYmctZGFyayl9O1xuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0LWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYm9yZGVyLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yOiAjeyRtYXJrLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZy1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogI3skYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50LWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvcjogI3skZm9ybS12YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS12YWxpZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZGFyay1tb2RlLXZhcnNcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kaW1lbnNpb24tbm8tbm9uLW51bWVyaWMtdmFsdWVzXG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgdmFsdWVzIGZvciBmb250IHNpemVzLCBwYWRkaW5ncywgbWFyZ2lucyBhbmQgbXVjaCBtb3JlXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi9tYWluL0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSB2YWx1ZVxuJHJmcy1iYXNlLXZhbHVlOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLXVuaXQgIT0gcmVtIGFuZCAkcmZzLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIHZhbHVlcyBzdGFydCBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSB2YWx1ZXMgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBNb2RlLiBQb3NzaWJpbGl0aWVzOiBcIm1pbi1tZWRpYS1xdWVyeVwiLCBcIm1heC1tZWRpYS1xdWVyeVwiXG4kcmZzLW1vZGU6IG1pbi1tZWRpYS1xdWVyeSAhZGVmYXVsdDtcblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJmcyB0byBmYWxzZVxuJGVuYWJsZS1yZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS12YWx1ZSB1bml0XG4kcmZzLWJhc2UtdmFsdWUtdW5pdDogdW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsICRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHJlbSB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcHgge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHJlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtZWRpYSBxdWVyeSB2YWx1ZVxuJHJmcy1tcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG4kcmZzLW1xLXByb3BlcnR5LXdpZHRoOiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtd2lkdGgsIG1pbi13aWR0aCk7XG4kcmZzLW1xLXByb3BlcnR5LWhlaWdodDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LWhlaWdodCwgbWluLWhlaWdodCk7XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pLCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkgYW5kICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLXJ1bGUge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnR5XG4gICAgJixcbiAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgLmVuYWJsZS1yZnMgJixcbiAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuXG4gIEBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICAuZW5hYmxlLXJmcyAmLFxuICAgICAgJi5lbmFibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiBcIlwiO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgXCIgMFwiO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArICRyZnMtcmVtLXZhbHVlKX1yZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkdW5pdCA9PSByZW0ge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHB4IGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcHgsICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIDEpICogJHJmcy1yZW0tdmFsdWV9cHgsICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIHJlc3BvbnNpdmUgdmFsdWUgY2FsY3VsYXRlZCBieSBSRlNcbkBmdW5jdGlvbiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiBcIlwiO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgXCIgMFwiO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgQGlmIG5vdCAkdW5pdCBvciAkdW5pdCAhPSBweCBhbmQgJHVuaXQgIT0gcmVtIHtcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJHZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbiAgICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgaWYoJHVuaXQgPT0gcHgsIDEsIGRpdmlkZSgxLCAkcmZzLXJlbS12YWx1ZSkpKTtcblxuICAgICAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICBAaWYgYWJzKCR2YWx1ZSkgPD0gJHJmcy1iYXNlLXZhbHVlIG9yIG5vdCAkZW5hYmxlLXJmcyB7XG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZX1weCk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1taW46ICRyZnMtYmFzZS12YWx1ZSArIGRpdmlkZShhYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZS1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlLW1pbn1weCk7XG5cbiAgICAgICAgICAvLyBVc2UgbmVnYXRpdmUgdmFsdWUgaWYgbmVlZGVkXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHZhbHVlIDwgMCwgLSRtaW4td2lkdGgsICRtaW4td2lkdGgpO1xuXG4gICAgICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJHZhbHVlLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgICAgICAvLyBSZXR1cm4gdGhlIGNhbGN1bGF0ZWQgdmFsdWVcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgY2FsYyhcIiArICRtaW4td2lkdGggKyBpZigkdmFsdWUgPCAwLCBcIiAtIFwiLCBcIiArIFwiKSArICR2YXJpYWJsZS13aWR0aCArIFwiKVwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBSRlMgbWl4aW5cbkBtaXhpbiByZnMoJHZhbHVlcywgJHByb3BlcnR5OiBmb250LXNpemUpIHtcbiAgQGlmICR2YWx1ZXMgIT0gbnVsbCB7XG4gICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZXMpO1xuICAgICRmbHVpZC12YWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWQtdmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWQtdmFsKTtcblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnktcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJGZsdWlkLXZhbCwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9ycy1tYXBcbiRncmF5czogKFxuICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgXCIzMDBcIjogJGdyYXktMzAwLFxuICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgXCI2MDBcIjogJGdyYXktNjAwLFxuICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgXCI5MDBcIjogJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9ycy1tYXBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbiRibHVlOiAgICAjMGQ2ZWZkICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZDYzMzg0ICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMxOTg3NTQgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMGRjYWYwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9ycy1tYXBcbiRjb2xvcnM6IChcbiAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gIFwiYmxhY2tcIjogICAgICAkYmxhY2ssXG4gIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9ycy1tYXBcblxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjAgYXJlIDMsIDQuNSBhbmQgNy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLyN2aXN1YWwtYXVkaW8tY29udHJhc3QtY29udHJhc3RcbiRtaW4tY29udHJhc3QtcmF0aW86ICAgNC41ICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJGNvbG9yLWNvbnRyYXN0LWRhcms6ICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNvbG9yLWNvbnRyYXN0LWxpZ2h0OiAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRibHVlLTEwMDogdGludC1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcbiRibHVlLTIwMDogdGludC1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTMwMDogdGludC1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTQwMDogdGludC1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTUwMDogJGJsdWUgIWRlZmF1bHQ7XG4kYmx1ZS02MDA6IHNoYWRlLWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNzAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTgwMDogc2hhZGUtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS05MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuXG4kaW5kaWdvLTEwMDogdGludC1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuJGluZGlnby0yMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMzAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTQwMDogdGludC1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby01MDA6ICRpbmRpZ28gIWRlZmF1bHQ7XG4kaW5kaWdvLTYwMDogc2hhZGUtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNzAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby04MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTkwMDogc2hhZGUtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcblxuJHB1cnBsZS0xMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMjAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTMwMDogdGludC1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS00MDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNTAwOiAkcHVycGxlICFkZWZhdWx0O1xuJHB1cnBsZS02MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTcwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtODAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS05MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRwaW5rLTEwMDogdGludC1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcbiRwaW5rLTIwMDogdGludC1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTMwMDogdGludC1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTQwMDogdGludC1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTUwMDogJHBpbmsgIWRlZmF1bHQ7XG4kcGluay02MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNzAwOiBzaGFkZS1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTgwMDogc2hhZGUtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay05MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuXG4kcmVkLTEwMDogdGludC1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuJHJlZC0yMDA6IHRpbnQtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtMzAwOiB0aW50LWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTQwMDogdGludC1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC01MDA6ICRyZWQgIWRlZmF1bHQ7XG4kcmVkLTYwMDogc2hhZGUtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNzAwOiBzaGFkZS1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC04MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTkwMDogc2hhZGUtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcblxuJG9yYW5nZS0xMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMjAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTMwMDogdGludC1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS00MDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNTAwOiAkb3JhbmdlICFkZWZhdWx0O1xuJG9yYW5nZS02MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTcwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtODAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS05MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG5cbiR5ZWxsb3ctMTAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTIwMDogdGludC1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy0zMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNDAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTUwMDogJHllbGxvdyAhZGVmYXVsdDtcbiR5ZWxsb3ctNjAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy03MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTgwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctOTAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuXG4kZ3JlZW4tMTAwOiB0aW50LWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcbiRncmVlbi0yMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTMwMDogdGludC1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNDAwOiB0aW50LWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi01MDA6ICRncmVlbiAhZGVmYXVsdDtcbiRncmVlbi02MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi03MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi04MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi05MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcblxuJHRlYWwtMTAwOiB0aW50LWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuJHRlYWwtMjAwOiB0aW50LWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtMzAwOiB0aW50LWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtNDAwOiB0aW50LWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNTAwOiAkdGVhbCAhZGVmYXVsdDtcbiR0ZWFsLTYwMDogc2hhZGUtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC03MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtODAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTkwMDogc2hhZGUtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG5cbiRjeWFuLTEwMDogdGludC1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcbiRjeWFuLTIwMDogdGludC1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTMwMDogdGludC1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTQwMDogdGludC1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTUwMDogJGN5YW4gIWRlZmF1bHQ7XG4kY3lhbi02MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNzAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTgwMDogc2hhZGUtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi05MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuXG4kYmx1ZXM6IChcbiAgXCJibHVlLTEwMFwiOiAkYmx1ZS0xMDAsXG4gIFwiYmx1ZS0yMDBcIjogJGJsdWUtMjAwLFxuICBcImJsdWUtMzAwXCI6ICRibHVlLTMwMCxcbiAgXCJibHVlLTQwMFwiOiAkYmx1ZS00MDAsXG4gIFwiYmx1ZS01MDBcIjogJGJsdWUtNTAwLFxuICBcImJsdWUtNjAwXCI6ICRibHVlLTYwMCxcbiAgXCJibHVlLTcwMFwiOiAkYmx1ZS03MDAsXG4gIFwiYmx1ZS04MDBcIjogJGJsdWUtODAwLFxuICBcImJsdWUtOTAwXCI6ICRibHVlLTkwMFxuKSAhZGVmYXVsdDtcblxuJGluZGlnb3M6IChcbiAgXCJpbmRpZ28tMTAwXCI6ICRpbmRpZ28tMTAwLFxuICBcImluZGlnby0yMDBcIjogJGluZGlnby0yMDAsXG4gIFwiaW5kaWdvLTMwMFwiOiAkaW5kaWdvLTMwMCxcbiAgXCJpbmRpZ28tNDAwXCI6ICRpbmRpZ28tNDAwLFxuICBcImluZGlnby01MDBcIjogJGluZGlnby01MDAsXG4gIFwiaW5kaWdvLTYwMFwiOiAkaW5kaWdvLTYwMCxcbiAgXCJpbmRpZ28tNzAwXCI6ICRpbmRpZ28tNzAwLFxuICBcImluZGlnby04MDBcIjogJGluZGlnby04MDAsXG4gIFwiaW5kaWdvLTkwMFwiOiAkaW5kaWdvLTkwMFxuKSAhZGVmYXVsdDtcblxuJHB1cnBsZXM6IChcbiAgXCJwdXJwbGUtMTAwXCI6ICRwdXJwbGUtMTAwLFxuICBcInB1cnBsZS0yMDBcIjogJHB1cnBsZS0yMDAsXG4gIFwicHVycGxlLTMwMFwiOiAkcHVycGxlLTMwMCxcbiAgXCJwdXJwbGUtNDAwXCI6ICRwdXJwbGUtNDAwLFxuICBcInB1cnBsZS01MDBcIjogJHB1cnBsZS01MDAsXG4gIFwicHVycGxlLTYwMFwiOiAkcHVycGxlLTYwMCxcbiAgXCJwdXJwbGUtNzAwXCI6ICRwdXJwbGUtNzAwLFxuICBcInB1cnBsZS04MDBcIjogJHB1cnBsZS04MDAsXG4gIFwicHVycGxlLTkwMFwiOiAkcHVycGxlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHBpbmtzOiAoXG4gIFwicGluay0xMDBcIjogJHBpbmstMTAwLFxuICBcInBpbmstMjAwXCI6ICRwaW5rLTIwMCxcbiAgXCJwaW5rLTMwMFwiOiAkcGluay0zMDAsXG4gIFwicGluay00MDBcIjogJHBpbmstNDAwLFxuICBcInBpbmstNTAwXCI6ICRwaW5rLTUwMCxcbiAgXCJwaW5rLTYwMFwiOiAkcGluay02MDAsXG4gIFwicGluay03MDBcIjogJHBpbmstNzAwLFxuICBcInBpbmstODAwXCI6ICRwaW5rLTgwMCxcbiAgXCJwaW5rLTkwMFwiOiAkcGluay05MDBcbikgIWRlZmF1bHQ7XG5cbiRyZWRzOiAoXG4gIFwicmVkLTEwMFwiOiAkcmVkLTEwMCxcbiAgXCJyZWQtMjAwXCI6ICRyZWQtMjAwLFxuICBcInJlZC0zMDBcIjogJHJlZC0zMDAsXG4gIFwicmVkLTQwMFwiOiAkcmVkLTQwMCxcbiAgXCJyZWQtNTAwXCI6ICRyZWQtNTAwLFxuICBcInJlZC02MDBcIjogJHJlZC02MDAsXG4gIFwicmVkLTcwMFwiOiAkcmVkLTcwMCxcbiAgXCJyZWQtODAwXCI6ICRyZWQtODAwLFxuICBcInJlZC05MDBcIjogJHJlZC05MDBcbikgIWRlZmF1bHQ7XG5cbiRvcmFuZ2VzOiAoXG4gIFwib3JhbmdlLTEwMFwiOiAkb3JhbmdlLTEwMCxcbiAgXCJvcmFuZ2UtMjAwXCI6ICRvcmFuZ2UtMjAwLFxuICBcIm9yYW5nZS0zMDBcIjogJG9yYW5nZS0zMDAsXG4gIFwib3JhbmdlLTQwMFwiOiAkb3JhbmdlLTQwMCxcbiAgXCJvcmFuZ2UtNTAwXCI6ICRvcmFuZ2UtNTAwLFxuICBcIm9yYW5nZS02MDBcIjogJG9yYW5nZS02MDAsXG4gIFwib3JhbmdlLTcwMFwiOiAkb3JhbmdlLTcwMCxcbiAgXCJvcmFuZ2UtODAwXCI6ICRvcmFuZ2UtODAwLFxuICBcIm9yYW5nZS05MDBcIjogJG9yYW5nZS05MDBcbikgIWRlZmF1bHQ7XG5cbiR5ZWxsb3dzOiAoXG4gIFwieWVsbG93LTEwMFwiOiAkeWVsbG93LTEwMCxcbiAgXCJ5ZWxsb3ctMjAwXCI6ICR5ZWxsb3ctMjAwLFxuICBcInllbGxvdy0zMDBcIjogJHllbGxvdy0zMDAsXG4gIFwieWVsbG93LTQwMFwiOiAkeWVsbG93LTQwMCxcbiAgXCJ5ZWxsb3ctNTAwXCI6ICR5ZWxsb3ctNTAwLFxuICBcInllbGxvdy02MDBcIjogJHllbGxvdy02MDAsXG4gIFwieWVsbG93LTcwMFwiOiAkeWVsbG93LTcwMCxcbiAgXCJ5ZWxsb3ctODAwXCI6ICR5ZWxsb3ctODAwLFxuICBcInllbGxvdy05MDBcIjogJHllbGxvdy05MDBcbikgIWRlZmF1bHQ7XG5cbiRncmVlbnM6IChcbiAgXCJncmVlbi0xMDBcIjogJGdyZWVuLTEwMCxcbiAgXCJncmVlbi0yMDBcIjogJGdyZWVuLTIwMCxcbiAgXCJncmVlbi0zMDBcIjogJGdyZWVuLTMwMCxcbiAgXCJncmVlbi00MDBcIjogJGdyZWVuLTQwMCxcbiAgXCJncmVlbi01MDBcIjogJGdyZWVuLTUwMCxcbiAgXCJncmVlbi02MDBcIjogJGdyZWVuLTYwMCxcbiAgXCJncmVlbi03MDBcIjogJGdyZWVuLTcwMCxcbiAgXCJncmVlbi04MDBcIjogJGdyZWVuLTgwMCxcbiAgXCJncmVlbi05MDBcIjogJGdyZWVuLTkwMFxuKSAhZGVmYXVsdDtcblxuJHRlYWxzOiAoXG4gIFwidGVhbC0xMDBcIjogJHRlYWwtMTAwLFxuICBcInRlYWwtMjAwXCI6ICR0ZWFsLTIwMCxcbiAgXCJ0ZWFsLTMwMFwiOiAkdGVhbC0zMDAsXG4gIFwidGVhbC00MDBcIjogJHRlYWwtNDAwLFxuICBcInRlYWwtNTAwXCI6ICR0ZWFsLTUwMCxcbiAgXCJ0ZWFsLTYwMFwiOiAkdGVhbC02MDAsXG4gIFwidGVhbC03MDBcIjogJHRlYWwtNzAwLFxuICBcInRlYWwtODAwXCI6ICR0ZWFsLTgwMCxcbiAgXCJ0ZWFsLTkwMFwiOiAkdGVhbC05MDBcbikgIWRlZmF1bHQ7XG5cbiRjeWFuczogKFxuICBcImN5YW4tMTAwXCI6ICRjeWFuLTEwMCxcbiAgXCJjeWFuLTIwMFwiOiAkY3lhbi0yMDAsXG4gIFwiY3lhbi0zMDBcIjogJGN5YW4tMzAwLFxuICBcImN5YW4tNDAwXCI6ICRjeWFuLTQwMCxcbiAgXCJjeWFuLTUwMFwiOiAkY3lhbi01MDAsXG4gIFwiY3lhbi02MDBcIjogJGN5YW4tNjAwLFxuICBcImN5YW4tNzAwXCI6ICRjeWFuLTcwMCxcbiAgXCJjeWFuLTgwMFwiOiAkY3lhbi04MDAsXG4gIFwiY3lhbi05MDBcIjogJGN5YW4tOTAwXG4pICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLW1hcFxuJHRoZW1lLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvcnMtbWFwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuJHByaW1hcnktdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkcHJpbWFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktdGV4dC1lbXBoYXNpczogc2hhZGUtY29sb3IoJHNlY29uZGFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzdWNjZXNzLXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHN1Y2Nlc3MsIDYwJSkgIWRlZmF1bHQ7XG4kaW5mby10ZXh0LWVtcGhhc2lzOiAgICAgIHNoYWRlLWNvbG9yKCRpbmZvLCA2MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkd2FybmluZywgNjAlKSAhZGVmYXVsdDtcbiRkYW5nZXItdGV4dC1lbXBoYXNpczogICAgc2hhZGUtY29sb3IoJGRhbmdlciwgNjAlKSAhZGVmYXVsdDtcbiRsaWdodC10ZXh0LWVtcGhhc2lzOiAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGRhcmstdGV4dC1lbXBoYXNpczogICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLXRleHQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1iZy1zdWJ0bGUtdmFyaWFibGVzXG4kcHJpbWFyeS1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHByaW1hcnksIDgwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJnLXN1YnRsZTogICAgIHRpbnQtY29sb3IoJHNlY29uZGFyeSwgODAlKSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkc3VjY2VzcywgODAlKSAhZGVmYXVsdDtcbiRpbmZvLWJnLXN1YnRsZTogICAgICAgICAgdGludC1jb2xvcigkaW5mbywgODAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkd2FybmluZywgODAlKSAhZGVmYXVsdDtcbiRkYW5nZXItYmctc3VidGxlOiAgICAgICAgdGludC1jb2xvcigkZGFuZ2VyLCA4MCUpICFkZWZhdWx0O1xuJGxpZ2h0LWJnLXN1YnRsZTogICAgICAgICBtaXgoJGdyYXktMTAwLCAkd2hpdGUpICFkZWZhdWx0O1xuJGRhcmstYmctc3VidGxlOiAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG4kcHJpbWFyeS1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHByaW1hcnksIDYwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGU6IHRpbnQtY29sb3IoJHNlY29uZGFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkc3VjY2VzcywgNjAlKSAhZGVmYXVsdDtcbiRpbmZvLWJvcmRlci1zdWJ0bGU6ICAgICAgdGludC1jb2xvcigkaW5mbywgNjAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkd2FybmluZywgNjAlKSAhZGVmYXVsdDtcbiRkYW5nZXItYm9yZGVyLXN1YnRsZTogICAgdGludC1jb2xvcigkZGFuZ2VyLCA2MCUpICFkZWZhdWx0O1xuJGxpZ2h0LWJvcmRlci1zdWJ0bGU6ICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZGFyay1ib3JkZXItc3VidGxlOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYm9yZGVyLXN1YnRsZS12YXJpYWJsZXNcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsIFwiJTNjXCIpLFxuICAoXCI+XCIsIFwiJTNlXCIpLFxuICAoXCIjXCIsIFwiJTIzXCIpLFxuICAoXCIoXCIsIFwiJTI4XCIpLFxuICAoXCIpXCIsIFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVkdWNlZC1tb3Rpb246ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNtb290aC1zY3JvbGw6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY29udGFpbmVyLWNsYXNzZXM6ICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNzc2dyaWQ6ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtYnV0dG9uLXBvaW50ZXJzOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJmczogICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtbmVnYXRpdmUtbWFyZ2luczogICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllczogIHRydWUgIWRlZmF1bHQ7XG5cbiRlbmFibGUtZGFyay1tb2RlOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kY29sb3ItbW9kZS10eXBlOiAgICAgICAgICAgICBkYXRhICFkZWZhdWx0OyAvLyBgZGF0YWAgb3IgYG1lZGlhLXF1ZXJ5YFxuXG4vLyBQcmVmaXggZm9yIDpyb290IENTUyB2YXJpYWJsZXNcblxuJHZhcmlhYmxlLXByZWZpeDogICAgICAgICAgICAgd2NzZi0gIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wIGZvciB0aGUgc2hvcnRlciBgJHByZWZpeGBcbiRwcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZS1wcmVmaXggIWRlZmF1bHQ7XG5cbi8vIEdyYWRpZW50XG4vL1xuLy8gVGhlIGdyYWRpZW50IHdoaWNoIGlzIGFkZGVkIHRvIGNvbXBvbmVudHMgaWYgYCRlbmFibGUtZ3JhZGllbnRzYCBpcyBgdHJ1ZWBcbi8vIFRoaXMgZ3JhZGllbnQgaXMgYWxzbyBhZGRlZCB0byBlbGVtZW50cyB3aXRoIGAuYmctZ3JhZGllbnRgXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdmFyaWFibGUtZ3JhZGllbnRcbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkd2hpdGUsIC4xNSksIHJnYmEoJHdoaXRlLCAwKSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZhcmlhYmxlLWdyYWRpZW50XG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyLFxuICA0OiAkc3BhY2VyICogMS41LFxuICA1OiAkc3BhY2VyICogMyxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwYWNlci12YXJpYWJsZXMtbWFwc1xuXG4vLyBQb3NpdGlvblxuLy9cbi8vIERlZmluZSB0aGUgZWRnZSBwb3NpdGlvbmluZyBhbmNob3JzIG9mIHRoZSBwb3NpdGlvbiB1dGlsaXRpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3NpdGlvbi1tYXBcbiRwb3NpdGlvbi12YWx1ZXM6IChcbiAgMDogMCxcbiAgNTA6IDUwJSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3NpdGlvbi1tYXBcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktdGV4dC1hbGlnbjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yOiAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kYm9keS10ZXJ0aWFyeS1jb2xvcjogICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmc6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGJvZHktZW1waGFzaXMtY29sb3I6ICAgICAgICRibGFjayAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogICAgICAgICAgICAgICAgICAgMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4vLyBJY29uIGxpbmtzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaWNvbi1saW5rLXZhcmlhYmxlc1xuJGljb24tbGluay1nYXA6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDogIC4yNWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXNpemU6ICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zaXRpb246ICAgLjJzIGVhc2UtaW4tb3V0IHRyYW5zZm9ybSAhZGVmYXVsdDtcbiRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm06ICAgIHRyYW5zbGF0ZTNkKC4yNWVtLCAwLCAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaWNvbi1saW5rLXZhcmlhYmxlc1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmlkLWJyZWFrcG9pbnRzXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4eHM6IDAsXG4gIHhzOiA0ODBweCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweCxcbiAgeHhsOiAxNDAwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHhzOiA0NjZweCxcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICAgIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4vLyBmdXN2LWRpc2FibGVcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICRib3JkZXItcmFkaXVzLXh4bCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvY3VzLXJpbmctdmFyaWFibGVzXG4kZm9jdXMtcmluZy13aWR0aDogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1vcGFjaXR5OiAgICAuMjUgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1jb2xvcjogICAgICByZ2JhKCRwcmltYXJ5LCAkZm9jdXMtcmluZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJsdXI6ICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ib3gtc2hhZG93OiAwIDAgJGZvY3VzLXJpbmctYmx1ciAkZm9jdXMtcmluZy13aWR0aCAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9jdXMtcmluZy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgYWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MsIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgYWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC1zaXplc1xuJGZvbnQtc2l6ZXM6IChcbiAgMTogJGgxLWZvbnQtc2l6ZSxcbiAgMjogJGgyLWZvbnQtc2l6ZSxcbiAgMzogJGgzLWZvbnQtc2l6ZSxcbiAgNDogJGg0LWZvbnQtc2l6ZSxcbiAgNTogJGg1LWZvbnQtc2l6ZSxcbiAgNjogJGg2LWZvbnQtc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC1zaXplc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA1cmVtLFxuICAyOiA0LjVyZW0sXG4gIDM6IDRyZW0sXG4gIDQ6IDMuNXJlbSxcbiAgNTogM3JlbSxcbiAgNjogMi41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kaHItY29sb3I6ICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRoci1iZy1jb2xvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQWxsb3dzIGZvciBpbmhlcml0ZWQgY29sb3JzXG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHZyLXZhcmlhYmxlc1xuJHZyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZyLXZhcmlhYmxlc1xuXG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjE4NzVlbSAhZGVmYXVsdDtcbiRtYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJHllbGxvdy0xMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6ICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6ICAgICAgIC4wNzUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Y29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICBcInByaW1hcnlcIjogICAgc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic2Vjb25kYXJ5XCI6ICBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInN1Y2Nlc3NcIjogICAgc2hpZnQtY29sb3IoJHN1Y2Nlc3MsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiaW5mb1wiOiAgICAgICBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJ3YXJuaW5nXCI6ICAgIHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImRhbmdlclwiOiAgICAgc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgICAkZm9jdXMtcmluZy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogJGZvY3VzLXJpbmctb3BhY2l0eSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgICAgJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJsdXI6ICAgICAgICAgICRmb2N1cy1yaW5nLWJsdXIgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWJ0bi12YXJpYWJsZXNcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFibGVzXG4kYnRuLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYjogICB0by1yZ2IobWl4KGNvbG9yLWNvbnRyYXN0KCRsaW5rLWNvbG9yKSwgJGxpbmstY29sb3IsIDE1JSkpICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6ICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6ICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6ICAgIDEwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogIDI1JSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogICAxMCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYWJsZXNcblxuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjogICAgICAgICAgYnJpZ2h0bmVzcyg5MCUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5OiAgICAkYnRuLWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kOiAgICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC10cmFuc2l0aW9uOiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyBmb3IgYmFja2dyb3VuZC1pbWFnZVxuJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctcG9zaXRpb246ICAgICAgICAgICByaWdodCAkZm9ybS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDE2cHggMTJweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAyLjUgKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgY2VudGVyIHJpZ2h0ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1maWxlLXZhcmlhYmxlc1xuJGZvcm0tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZpbGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAgICAgICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgICAgICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogICAgICAgICAgICAgIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcbiRmb3JtLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvciksXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpLFxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtbGV2ZWxzLW1hcFxuJHppbmRleC1sZXZlbHM6IChcbiAgbjE6IC0xLFxuICAwOiAwLFxuICAxOiAxLFxuICAyOiAyLFxuICAzOiAzXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtbGV2ZWxzLW1hcFxuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1pY29uLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICAkbmF2YmFyLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjNcbi8vIGZ1c3YtZW5hYmxlXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMiA1TDggMTFMMTQgNScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMiA1TDggMTFMMTQgNScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB2NlxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC12YXJpYWJsZXNcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG5cblxuLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItdmFyaWFibGVzXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgY2FsYygjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuLy8gZnVzdi1lbmFibGVcblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRodW1ibmFpbC12YXJpYWJsZXNcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmUtdmFyaWFibGVzXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkOiAgICAgICAgJGJyZWFkY3J1bWItZGl2aWRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItdmFyaWFibGVzXG5cbi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC12YXJpYWJsZXNcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcbiRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc6ICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yOiAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjogIGludmVydCgxKSBncmF5c2NhbGUoMTAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcblxuXG4vLyBTcGlubmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci12YXJpYWJsZXNcbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAuNzVzICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLXZhcmlhYmxlc1xuXG5cbi8vIENsb3NlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS12YXJpYWJsZXNcbiRidG4tY2xvc2Utd2lkdGg6ICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1oZWlnaHQ6ICAgICAgICAgICAkYnRuLWNsb3NlLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXg6ICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgJGJ0bi1jbG9zZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRidG4tY2xvc2UtYmc6ICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGJ0bi1jbG9zZS1jb2xvcn0nPjxwYXRoIGQ9J00uMjkzLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMSAxIDEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNC0xLjQxNEw2LjU4NiA4IC4yOTMgMS43MDdhMSAxIDAgMCAxIDAtMS40MTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuQGltcG9ydCBcInZhcmlhYmxlcy1kYXJrXCI7IC8vIFRPRE86IGNhbiBiZSByZW1vdmVkIHNhZmVseSBpbiB2Niwgb25seSBoZXJlIHRvIGF2b2lkIGJyZWFraW5nIGNoYW5nZXMgaW4gdjUuM1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24gYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LWJnLW1peGluXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yOiBudWxsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtYmctbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LW1peGluc1xuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IG51bGwsICRlbmQtcGVyY2VudDogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1taXhpbnNcbiIsIi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXG5cbi5mb3JtLXNlbGVjdCB7XG4gIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3IpfTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRmb3JtLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tc2VsZWN0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWcpLCB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaWNvbiwgbm9uZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbjtcbiAgYmFja2dyb3VuZC1zaXplOiAkZm9ybS1zZWxlY3QtYmctc2l6ZTtcbiAgYm9yZGVyOiAkZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zZWxlY3QtdHJhbnNpdGlvbik7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93LCAkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGZvcm0tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5mb3JtLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1zZWxlY3QtbGcge1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLXNlbGVjdCxcbiAgLy8+IC5mb3JtLWZsb2F0aW5nXG4gIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLXNlbGVjdDpmb2N1cyxcbiAgLy8+IC5mb3JtLWZsb2F0aW5nOmZvY3VzLXdpdGhpblxuICB7XG4gICAgei1pbmRleDogNTtcbiAgfVxuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXkgJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1ncm91cC1hZGRvbi1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5idG4ge1xuICAvL3BhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgLy9AaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIC8vQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5idG4ge1xuICAvL3BhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgLy9AaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIC8vQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCB7XG4gIC8vcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uaW5wdXQtZ3JvdXAge1xuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IDpudGgtbGFzdC1jaGlsZChuICsgMyk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDQpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tY29udHJvbCxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICAvL0BpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiBcIlwiO1xuICBAZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMpIHtcbiAgICAkdmFsaWRhdGlvbi1tZXNzYWdlczogJHZhbGlkYXRpb24tbWVzc2FnZXMgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItdG9vbHRpcClcIiArIFwiOm5vdCguXCIgKyB1bnF1b3RlKCRzdGF0ZSkgKyBcIi1mZWVkYmFjaylcIjtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tbWVudSkjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1zZWxlY3Qge1xuICAgIC8vQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRidG4tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skYnRuLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseTogI3skYnRuLWZvbnQtZmFtaWx5fTtcbiAgQGluY2x1ZGUgcmZzKCRidG4tZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRidG4tZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQ6ICN7JGJ0bi1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aDogI3skYnRuLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYnRuLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6ICN7JGJ0bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwICN7JGJ0bi1mb2N1cy13aWR0aH0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuNSk7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnRuLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXgpO1xuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogaWYoJGVuYWJsZS1idXR0b24tcG9pbnRlcnMsIHBvaW50ZXIsIG51bGwpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuYnRuLWNoZWNrICsgJjpob3ZlciB7XG4gICAgLy8gb3ZlcnJpZGUgZm9yIHRoZSBjaGVja2JveC9yYWRpbyBidXR0b25zXG4gICAgLy9jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKTtcbiAgICAvL2JvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgLy9ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICAvL291dGxpbmU6IDA7XG4gICAgLy8vLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgLy9AaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAvLyAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAvL30gQGVsc2Uge1xuICAgIC8vICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIC8vfVxuICB9XG5cbiAgLy8uYnRuLWNoZWNrOmNoZWNrZWQgKyAmLFxuICAvLzpub3QoLmJ0bi1jaGVjaykgKyAmOmFjdGl2ZSxcbiAgJjpmaXJzdC1jaGlsZDphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmLnNob3cge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmcpO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpKTtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgLy9ib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy9ib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0OmRpc2FibGVkICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbG9vcHNcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGlmICRjb2xvciA9PSBcImxpZ2h0XCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkaG92ZXItYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2UgaWYgJGNvbG9yID09IFwiZGFya1wiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGhvdmVyLWJvcmRlcjogdGludC1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudClcbiAgICAgICk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbG9vcHNcblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1ub3JtYWx9O1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGJ0bi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skYnRuLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYnRuLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skYnRuLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6IDAgMCAwICMwMDA7IC8vIENhbid0IHVzZSBgbm9uZWAgYXMga2V5d29yZCBuZWdhdGVzIGFsbCB2YWx1ZXMgd2hlbiB1c2VkIHdpdGggbXVsdGlwbGUgc2hhZG93c1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3skYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYn07XG5cbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoXG4gICRiYWNrZ3JvdW5kLFxuICAkYm9yZGVyLFxuICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSxcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkaG92ZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRob3Zlci1iYWNrZ3JvdW5kKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpLFxuICAkZGlzYWJsZWQtYmFja2dyb3VuZDogJGJhY2tncm91bmQsXG4gICRkaXNhYmxlZC1ib3JkZXI6ICRib3JkZXIsXG4gICRkaXNhYmxlZC1jb2xvcjogY29sb3ItY29udHJhc3QoJGRpc2FibGVkLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogI3skYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGhvdmVyLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRob3Zlci1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KCRjb2xvciwgJGJvcmRlciwgMTUlKSl9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6ICN7JGRpc2FibGVkLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRkaXNhYmxlZC1ib3JkZXJ9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoXG4gICRjb2xvcixcbiAgJGNvbG9yLWhvdmVyOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvcixcbiAgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcixcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skY29sb3ItaG92ZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYigkY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogbm9uZTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXNpemUtbWl4aW5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXNpemUtbWl4aW5cbiIsIi8vXG4vLyBWaXN1YWxseSBoaWRkZW5cbi8vXG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBIaWRlIGNvbnRlbnQgdmlzdWFsbHkgd2hpbGUga2VlcGluZyBpdCBhY2Nlc3NpYmxlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gIC8vIEZpeCBmb3IgcG9zaXRpb25lZCB0YWJsZSBjYXB0aW9uIHRoYXQgY291bGQgYmVjb21lIGFub255bW91cyBjZWxsc1xuICAmOm5vdChjYXB0aW9uKSB7XG4gICAgLy9wb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBVc2UgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQsIG9yIG9uZSBvZiBpdHMgY2hpbGQgZWxlbWVudHMgaXMgZm9jdXNlZFxuLy8gKGkuZS4gd2hlbiBmb2N1cyBpcyB3aXRoaW4gdGhlIGVsZW1lbnQvY29udGFpbmVyIHRoYXQgdGhlIGNsYXNzIHdhcyBhcHBsaWVkIHRvKVxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoKSB7XG4gICY6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgfVxufVxuIiwiLy8gVXRpbGl0eSBnZW5lcmF0b3Jcbi8vIFVzZWQgdG8gZ2VuZXJhdGUgdXRpbGl0aWVzICYgcHJpbnQgdXRpbGl0aWVzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4OiBcIlwiLCAkaXMtcmZzLW1lZGlhLXF1ZXJ5OiBmYWxzZSkge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCB2YWx1ZXMpO1xuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIGEgbGlzdCBvciBzdHJpbmcsIGNvbnZlcnQgaXQgaW50byBhIG1hcFxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIHR5cGUtb2YobnRoKCR2YWx1ZXMsIDEpKSAhPSBcImxpc3RcIiB7XG4gICAgJHZhbHVlczogemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogYXBwZW5kKCgpLCAkcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLy8gVXNlIGN1c3RvbSBjbGFzcyBpZiBwcmVzZW50XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcyksIG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZigka2V5LCBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgJGluZml4ID09IFwiXCIsIFwiXCIsIFwiLVwiKSArICRrZXksIFwiXCIpO1xuXG4gICAgQGlmIG1hcC1nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAkdmFsdWU6IGlmKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSksIG51bGwsICR2YWwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICRpcy1jc3MtdmFyOiBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyKTtcbiAgICAkaXMtbG9jYWwtdmFyczogbWFwLWdldCgkdXRpbGl0eSwgbG9jYWwtdmFycyk7XG4gICAgJGlzLXJ0bDogbWFwLWdldCgkdXRpbGl0eSwgcnRsKTtcblxuICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1jc3MtdmFyIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmVuZDpyZW1vdmUgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFRvbSBTZWxlY3QgYm9vdHN0cmFwIDVcbiAqL1xuXG4vL0ltcG9ydCBCb29zdHJhcCA1IGZ1bmN0aW9ucyBhbmQgdmFyaWFibGVzXG4kc3RhdGUtdmFsaWQ6IG1hcC1nZXQoJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMsJ3ZhbGlkJykgIWRlZmF1bHQ7XG4kc3RhdGUtaW52YWxpZDogbWFwLWdldCgkZm9ybS12YWxpZGF0aW9uLXN0YXRlcywnaW52YWxpZCcpICFkZWZhdWx0O1xuXG5cbiRlbmFibGUtc2hhZG93czogdHJ1ZSAhZGVmYXVsdDtcbiRzZWxlY3QtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG4kc2VsZWN0LWZvbnQtc2l6ZTogaW5oZXJpdCAhZGVmYXVsdDtcbiRzZWxlY3QtbGluZS1oZWlnaHQ6ICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7IC8vZm9ybWVybHkgbGluZS1oZWlnaHQtY29tcHV0ZWRcblxuJHNlbGVjdC1jb2xvci10ZXh0OiAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWhpZ2hsaWdodDogcmdiYSgyNTUsMjM3LDQwLDAuNCkgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWlucHV0OiAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWlucHV0LWZ1bGw6ICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuXG4kc2VsZWN0LWNvbG9yLWRpc2FibGVkOiAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWl0ZW06ICNlZmVmZWYgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWl0ZW0tYm9yZGVyOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtLWFjdGl2ZTogJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6ICNmZmYgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWl0ZW0tYWN0aXZlLWJvcmRlcjogcmdiYSgwLDAsMCwwKSAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3Itb3B0Z3JvdXA6ICRkcm9wZG93bi1iZyAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3Itb3B0Z3JvdXAtdGV4dDogJGRyb3Bkb3duLWhlYWRlci1jb2xvciAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3Itb3B0Z3JvdXAtYm9yZGVyOiAkZHJvcGRvd24tZGl2aWRlci1iZyAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd246ICRkcm9wZG93bi1iZyAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd24tYm9yZGVyLXRvcDogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd24taXRlbS1hY3RpdmU6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1kcm9wZG93bi1pdGVtLWFjdGl2ZS10ZXh0OiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd24taXRlbS1jcmVhdGUtYWN0aXZlLXRleHQ6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHNlbGVjdC1vcGFjaXR5LWRpc2FibGVkOiAwLjUgIWRlZmF1bHQ7XG5cbiRzZWxlY3QtYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRzZWxlY3QtYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRzZWxlY3Qtd2lkdGgtaXRlbS1ib3JkZXI6IDBweCAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy14OiAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nLXk6ICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kc2VsZWN0LXBhZGRpbmctZHJvcGRvd24taXRlbS14OiAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXk6IDNweCAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy1pdGVtLXg6IDVweCAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy1pdGVtLXk6IDFweCAhZGVmYXVsdDtcbiRzZWxlY3QtbWFyZ2luLWl0ZW0teDogM3B4ICFkZWZhdWx0O1xuJHNlbGVjdC1tYXJnaW4taXRlbS15OiAzcHggIWRlZmF1bHQ7XG5cbiRzZWxlY3QtYXJyb3ctc2l6ZTogNXB4ICFkZWZhdWx0O1xuJHNlbGVjdC1hcnJvdy1jb2xvcjogJHNlbGVjdC1jb2xvci10ZXh0ICFkZWZhdWx0O1xuJHNlbGVjdC1hcnJvdy1vZmZzZXQ6IGNhbGMoI3skc2VsZWN0LXBhZGRpbmcteH0gKyA1cHgpICFkZWZhdWx0O1xuXG5cbkBpbXBvcnQgXCJ0b20tc2VsZWN0XCI7XG5cblxuQG1peGluIHRzLWZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcblxuXHQkc3RhdGUtbWFwOiBtYXAtZ2V0KCRmb3JtLXZhbGlkYXRpb24tc3RhdGVzLCRzdGF0ZSk7XG5cblx0LiN7JHNlbGVjdC1uc30td3JhcHBlci5pcy0jeyRzdGF0ZX0sXG5cdC53YXMtdmFsaWRhdGVkIC4jeyRzdGF0ZX0sXG5cdC53YXMtdmFsaWRhdGVkIDojeyRzdGF0ZX0gKyAuI3skc2VsZWN0LW5zfS13cmFwcGVye1xuXG5cdFx0JGNvbG9yOiBtYXAtZ2V0KCRzdGF0ZS1tYXAsJ2NvbG9yJyk7XG5cdFx0JGljb246IG1hcC1nZXQoJHN0YXRlLW1hcCwnaWNvbicpO1xuXG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3I7XG5cblx0XHQmOm5vdCguc2luZ2xlKXtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0fVxuXG5cdFx0Ji5zaW5nbGV7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3IpLCBlc2NhcGUtc3ZnKCRpY29uKTtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbiwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb247XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHR9XG5cblx0XHQmLmZvY3VzIC4jeyRzZWxlY3QtbnN9LWNvbnRyb2x7XG5cdFx0XHRib3JkZXItY29sb3I6ICRjb2xvcjtcblx0ICAgICAgICBib3gtc2hhZG93OiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KTtcblx0XHR9XG5cblx0fVxufVxuXG5cbi4jeyRzZWxlY3QtbnN9LXdyYXBwZXIuZm9ybS1jb250cm9sLFxuLiN7JHNlbGVjdC1uc30td3JhcHBlci5mb3JtLXNlbGVjdHtcblx0cGFkZGluZzowICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogYXV0bztcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLiN7JHNlbGVjdC1uc30tZHJvcGRvd24sXG4uI3skc2VsZWN0LW5zfS1kcm9wZG93bi5mb3JtLWNvbnRyb2wsXG4uI3skc2VsZWN0LW5zfS1kcm9wZG93bi5mb3JtLXNlbGVjdHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiAwO1xuXHR6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuXHRiYWNrZ3JvdW5kOiAkc2VsZWN0LWNvbG9yLWRyb3Bkb3duO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yOyAvLyRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXJcblx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cdGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KTtcbn1cblxuLiN7JHNlbGVjdC1uc30tZHJvcGRvd24ge1xuXHQub3B0Z3JvdXAtaGVhZGVyIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtc207XG5cdFx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXHR9XG5cdC5vcHRncm91cDpmaXJzdC1jaGlsZDpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0Lm9wdGdyb3VwOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyAnO1xuXHRcdGRpc3BsYXk6XHQgYmxvY2s7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdG1hcmdpbjogJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkgMDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZHJvcGRvd24tZGl2aWRlci1iZztcblx0XHRtYXJnaW4tbGVmdDogJHNlbGVjdC1wYWRkaW5nLWRyb3Bkb3duLWl0ZW0teCAqIC0xO1xuXHRcdG1hcmdpbi1yaWdodDogJHNlbGVjdC1wYWRkaW5nLWRyb3Bkb3duLWl0ZW0teCAqIC0xO1xuXHR9XG5cblx0LmNyZWF0ZSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAkc2VsZWN0LXBhZGRpbmctZHJvcGRvd24taXRlbS14O1xuXHR9XG59XG5cbi4jeyRzZWxlY3QtbnN9LWRyb3Bkb3duLWNvbnRlbnQge1xuXHRwYWRkaW5nOiA1cHggMDtcbn1cblxuLiN7JHNlbGVjdC1uc30tY29udHJvbCB7XG5cdEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblx0ZGlzcGxheTpmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdCYuZHJvcGRvd25cdC1hY3RpdmUge1xuXHRcdC8vYm9yZGVyLXJhZGl1czogJHNlbGVjdC1ib3JkZXItcmFkaXVzO1xuXHR9XG5cblx0LmZvY3VzICZ7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuXHRcdG91dGxpbmU6IDA7XG5cdFx0QGlmICRlbmFibGUtc2hhZG93cyB7XG5cdFx0XHRib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcblx0XHR9XG5cdH1cblxuXHQuaXRlbXtcblx0XHRkaXNwbGF5Olx0ZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuMjVlbTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgfVxuXHR9XG59XG5cblxuQGluY2x1ZGUgdHMtZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCdpbnZhbGlkJyk7XG5AaW5jbHVkZSB0cy1mb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJ3ZhbGlkJyk7XG5cblxuLiN7JHNlbGVjdC1uc30td3JhcHBlciB7XG5cdG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG5cdGRpc3BsYXk6ZmxleDtcblxuXHQvLy5pbnB1dC1ncm91cC1zbSA+ICYsXG5cdC8vJi5mb3JtLXNlbGVjdC1zbSxcblx0Ly8mLmZvcm0tY29udHJvbC1zbXtcblx0Ly9cdG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gICAgLy9cblx0Ly9cdC4jeyRzZWxlY3QtbnN9LWNvbnRyb2x7XG5cdC8vXHRcdFx0Ly9wYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG5cdC8vXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xuXHQvL1x0XHRAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG5cdC8vXHR9XG4gICAgLy9cblx0Ly9cdCYuaGFzLWl0ZW1zIC4jeyRzZWxlY3QtbnN9LWNvbnRyb2x7XG5cdC8vXHRcdGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZS1zbTtcblx0Ly9cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdC8vXHR9XG5cdC8vfVxuICAgIC8vXG4gICAgLy9cblx0Ly8uaW5wdXQtZ3JvdXAtc20gPiAmLm11bHRpLmhhcy1pdGVtcyxcblx0Ly8mLmZvcm0tc2VsZWN0LXNtLm11bHRpLmhhcy1pdGVtcyxcblx0Ly8mLmZvcm0tY29udHJvbC1zbS5tdWx0aS5oYXMtaXRlbXN7XG5cdC8vXHQuI3skc2VsZWN0LW5zfS1jb250cm9se1xuXHQvL1x0XHQvLyBwYWRkaW5nLXRvcCA9ICgkaW5wdXQtaGVpZ2h0LXNtIC0gYm9yZGVyLXdpZHRoIC0gaXRlbS1oZWlnaHQpIC8gMjtcblx0Ly9cdFx0Ly8gaXRlbS1oZWlnaHQgPSAoJHNlbGVjdC1saW5lLWhlaWdodCAqICRpbnB1dC1mb250LXNpemUtc20pICsgKCRzZWxlY3QtcGFkZGluZy1pdGVtLXkgKiAyKVxuXHQvL1x0XHQkYm9yZGVyLWFuZC1wYWRkaW5nOiBjYWxjKCRpbnB1dC1ib3JkZXItd2lkdGggKyAkc2VsZWN0LXBhZGRpbmctaXRlbS15KSAqIDI7XG5cdC8vXHRcdCR0cy1zZWxlY3QtcGFkZGluZy1zbTogY2FsYyggKCN7JGlucHV0LWhlaWdodC1zbX0gLSAoI3skc2VsZWN0LWxpbmUtaGVpZ2h0fSAqICN7JGlucHV0LWZvbnQtc2l6ZS1zbX0pIC0gI3skYm9yZGVyLWFuZC1wYWRkaW5nfSkvMik7XG5cdC8vXHRcdHBhZGRpbmctdG9wOiAkdHMtc2VsZWN0LXBhZGRpbmctc20gIWltcG9ydGFudDtcblx0Ly9cdH1cblx0Ly99XG5cblxuXHQmLm11bHRpIHtcblx0XHQmLmhhcy1pdGVtcyAuI3skc2VsZWN0LW5zfS1jb250cm9sIHtcblx0XHRcdHBhZGRpbmctbGVmdDogY2FsYygjeyRzZWxlY3QtcGFkZGluZy14fSAtICN7JHNlbGVjdC1wYWRkaW5nLWl0ZW0teH0pO1xuXHRcdFx0LS10cy1wci1taW46IGNhbGMoI3skc2VsZWN0LXBhZGRpbmcteH0gLSAjeyRzZWxlY3QtcGFkZGluZy1pdGVtLXh9KTtcblx0XHR9XG5cdFx0LiN7JHNlbGVjdC1uc30tY29udHJvbCA+IGRpdiB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiBjYWxjKCN7JHNlbGVjdC1ib3JkZXItcmFkaXVzfSAtIDFweCk7XG5cdFx0fVxuXHR9XG5cblx0Ly8uaW5wdXQtZ3JvdXAtbGcgPiAmLFxuXHQvLyYuZm9ybS1jb250cm9sLWxnLFxuXHQvLyYuZm9ybS1zZWxlY3QtbGd7XG5cdC8vXHRtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuXHQvL1x0LiN7JHNlbGVjdC1uc30tY29udHJvbHtcblx0Ly9cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG5cdC8vXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcblx0Ly9cdH1cblx0Ly99XG59XG5cblxuLiN7JHNlbGVjdC1uc30td3JhcHBlcntcblxuXHQmOm5vdCguZm9ybS1jb250cm9sKTpub3QoLmZvcm0tc2VsZWN0KXtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXG5cdFx0Ji5zaW5nbGUgLiN7JHNlbGVjdC1uc30tY29udHJvbHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvcik7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAkZm9ybS1zZWxlY3QtYmctc2l6ZTtcblx0XHR9XG5cdH1cblxuXHQmLmZvcm0tc2VsZWN0LFxuXHQmLnNpbmdsZXtcblx0XHQtLXRzLXByLWNhcmV0OiAjeyRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZ307XG5cdH1cblxufVxuXG4uI3skc2VsZWN0LW5zfS13cmFwcGVyLmZvcm0tY29udHJvbCxcbi4jeyRzZWxlY3QtbnN9LXdyYXBwZXIuZm9ybS1zZWxlY3R7XG5cblx0LiN7JHNlbGVjdC1uc30tY29udHJvbCxcblx0Ji5zaW5nbGUuaW5wdXQtYWN0aXZlIC4jeyRzZWxlY3QtbnN9LWNvbnRyb2x7XG5cdFx0Ym9yZGVyOlx0XHRub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOm5vdCguZGlzYWJsZWQpIC4jeyRzZWxlY3QtbnN9LWNvbnRyb2wsXG5cdCY6bm90KC5kaXNhYmxlZCkuc2luZ2xlLmlucHV0LWFjdGl2ZSAuI3skc2VsZWN0LW5zfS1jb250cm9se1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIGxldCB0aGUgYmFja2dyb3VuZCBvZiAuZm9ybS1zZWxlY3Qgc2hvdyB0aHJvdWdoXG5cdH1cblxufVxuXG4uaW5wdXQtZ3JvdXB7XG5cblx0JiA+IC4jeyRzZWxlY3QtbnN9LXdyYXBwZXJ7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHR9XG5cblx0JiA+IC4jeyRzZWxlY3QtbnN9LXdyYXBwZXI6bm90KDpudGgtY2hpbGQoMikpID4gLiN7JHNlbGVjdC1uc30tY29udHJvbHtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdH1cblxuXHQmID4gLiN7JHNlbGVjdC1uc30td3JhcHBlcjpub3QoOmxhc3QtY2hpbGQpID4gLiN7JHNlbGVjdC1uc30tY29udHJvbHtcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblx0fVxufVxuIiwiLyoqXG4gKiB0b20tc2VsZWN0LmNzcyAodi8vQEB2ZXJzaW9uKVxuICogQ29weXJpZ2h0IChjKSBjb250cmlidXRvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpc1xuICogZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6XG4gKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyXG4gKiB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GXG4gKiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2VcbiAqIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICovXG5cblxuLy8gYmFzZSBzdHlsZXNcbiRzZWxlY3QtbnM6XHRcdFx0XHRcdFx0XHRcdFx0XHQnd2NzZi10cycgIWRlZmF1bHQ7XG4kc2VsZWN0LWZvbnQtZmFtaWx5Olx0XHRcdFx0XHRcdFx0aW5oZXJpdCAhZGVmYXVsdDtcbiRzZWxlY3QtZm9udC1zbW9vdGhpbmc6XHRcdFx0XHRcdFx0XHRpbmhlcml0ICFkZWZhdWx0O1xuJHNlbGVjdC1mb250LXNpemU6XHRcdFx0XHRcdFx0XHRcdDEzcHggIWRlZmF1bHQ7XG4kc2VsZWN0LWxpbmUtaGVpZ2h0Olx0XHRcdFx0XHRcdFx0MThweCAhZGVmYXVsdDtcblxuJHNlbGVjdC1jb2xvci10ZXh0Olx0XHRcdFx0XHRcdFx0XHQjMzAzMDMwICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1ib3JkZXI6XHRcdFx0XHRcdFx0XHQjZDBkMGQwICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1oaWdobGlnaHQ6XHRcdFx0XHRcdFx0cmdiYSgxMjUsMTY4LDIwOCwwLjIpICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pbnB1dDpcdFx0XHRcdFx0XHRcdCNmZmYgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWlucHV0LWZ1bGw6XHRcdFx0XHRcdFx0JHNlbGVjdC1jb2xvci1pbnB1dCAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZGlzYWJsZWQ6XHRcdFx0XHRcdFx0XHQjZmFmYWZhICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtOlx0XHRcdFx0XHRcdFx0XHQjZjJmMmYyICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtLXRleHQ6XHRcdFx0XHRcdFx0JHNlbGVjdC1jb2xvci10ZXh0ICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtLWJvcmRlcjpcdFx0XHRcdFx0XHQjZDBkMGQwICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtLWFjdGl2ZTpcdFx0XHRcdFx0XHQjZThlOGU4ICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0Olx0XHRcdFx0XHQkc2VsZWN0LWNvbG9yLXRleHQgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWl0ZW0tYWN0aXZlLWJvcmRlcjpcdFx0XHRcdCNjYWNhY2EgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWRyb3Bkb3duOlx0XHRcdFx0XHRcdFx0I2ZmZiAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd24tYm9yZGVyOlx0XHRcdFx0XHQkc2VsZWN0LWNvbG9yLWJvcmRlciAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd24tYm9yZGVyLXRvcDpcdFx0XHRcdCNmMGYwZjAgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWRyb3Bkb3duLWl0ZW0tYWN0aXZlOlx0XHRcdFx0I2Y1ZmFmZCAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd24taXRlbS1hY3RpdmUtdGV4dDogXHRcdCM0OTVjNjggIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWRyb3Bkb3duLWl0ZW0tY3JlYXRlLXRleHQ6XHRcdHJnYmEocmVkKCRzZWxlY3QtY29sb3ItdGV4dCksIGdyZWVuKCRzZWxlY3QtY29sb3ItdGV4dCksIGJsdWUoJHNlbGVjdC1jb2xvci10ZXh0KSwgMC41KSAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd24taXRlbS1jcmVhdGUtYWN0aXZlLXRleHQ6XHQkc2VsZWN0LWNvbG9yLWRyb3Bkb3duLWl0ZW0tYWN0aXZlLXRleHQgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLW9wdGdyb3VwOlx0XHRcdFx0XHRcdFx0JHNlbGVjdC1jb2xvci1kcm9wZG93biAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3Itb3B0Z3JvdXAtdGV4dDpcdFx0XHRcdFx0JHNlbGVjdC1jb2xvci10ZXh0ICFkZWZhdWx0O1xuJHNlbGVjdC1saWdodGVuLWRpc2FibGVkLWl0ZW06XHRcdFx0XHRcdDMwJSAhZGVmYXVsdDtcbiRzZWxlY3QtbGlnaHRlbi1kaXNhYmxlZC1pdGVtLXRleHQ6XHRcdFx0XHQzMCUgIWRlZmF1bHQ7XG4kc2VsZWN0LWxpZ2h0ZW4tZGlzYWJsZWQtaXRlbS1ib3JkZXI6XHRcdFx0MzAlICFkZWZhdWx0O1xuJHNlbGVjdC1vcGFjaXR5LWRpc2FibGVkOlx0XHRcdFx0XHRcdDAuNSAhZGVmYXVsdDtcblxuJHNlbGVjdC1zaGFkb3ctaW5wdXQ6XHRcdFx0XHRcdFx0XHRub25lICFkZWZhdWx0O1xuJHNlbGVjdC1zaGFkb3ctaW5wdXQtZm9jdXM6XHRcdFx0XHRcdFx0bm9uZSAhZGVmYXVsdDtcbiRzZWxlY3QtYm9yZGVyLXdpZHRoOlx0XHRcdFx0XHRcdFx0MXB4ICFkZWZhdWx0O1xuJHNlbGVjdC1ib3JkZXI6XHRcdFx0XHRcdFx0XHRcdFx0JHNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJHNlbGVjdC1jb2xvci1ib3JkZXIgIWRlZmF1bHQ7XG4kc2VsZWN0LWRyb3Bkb3duLWJvcmRlcjpcdFx0XHRcdFx0XHQxcHggc29saWQgJHNlbGVjdC1jb2xvci1kcm9wZG93bi1ib3JkZXIgIWRlZmF1bHQ7XG4kc2VsZWN0LWJvcmRlci1yYWRpdXM6XHRcdFx0XHRcdFx0XHQzcHggIWRlZmF1bHQ7XG5cbiRzZWxlY3Qtd2lkdGgtaXRlbS1ib3JkZXI6XHRcdFx0XHRcdFx0MHB4ICFkZWZhdWx0O1xuJHNlbGVjdC1tYXgtaGVpZ2h0LWRyb3Bkb3duOlx0XHRcdFx0XHQyMDBweCAhZGVmYXVsdDtcblxuJHNlbGVjdC1wYWRkaW5nLXg6XHRcdFx0XHRcdFx0XHRcdDhweCAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy15Olx0XHRcdFx0XHRcdFx0XHQ4cHggIWRlZmF1bHQ7XG4kc2VsZWN0LXBhZGRpbmctaXRlbS14Olx0XHRcdFx0XHRcdFx0NnB4ICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nLWl0ZW0teTpcdFx0XHRcdFx0XHRcdDJweCAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXg6XHRcdFx0XHRcdCRzZWxlY3QtcGFkZGluZy14ICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nLWRyb3Bkb3duLWl0ZW0teTpcdFx0XHRcdFx0NXB4ICFkZWZhdWx0O1xuJHNlbGVjdC1tYXJnaW4taXRlbS14Olx0XHRcdFx0XHRcdFx0M3B4ICFkZWZhdWx0O1xuJHNlbGVjdC1tYXJnaW4taXRlbS15Olx0XHRcdFx0XHRcdFx0M3B4ICFkZWZhdWx0O1xuXG4kc2VsZWN0LWFycm93LXNpemU6XHRcdFx0XHRcdFx0XHRcdDVweCAhZGVmYXVsdDtcbiRzZWxlY3QtYXJyb3ctY29sb3I6XHRcdFx0XHRcdFx0XHRcdCM4MDgwODAgIWRlZmF1bHQ7XG4kc2VsZWN0LWFycm93LW9mZnNldDpcdFx0XHRcdFx0XHRcdDE1cHggIWRlZmF1bHQ7XG5cbiRzZWxlY3QtY2FyZXQtbWFyZ2luOlx0XHRcdFx0XHRcdFx0MHB4IDRweCAhZGVmYXVsdDtcbiRzZWxlY3QtY2FyZXQtbWFyZ2luLXJ0bDpcdFx0XHRcdFx0XHQwcHggNHB4IDBweCAtMnB4ICFkZWZhdWx0O1xuXG4kc2VsZWN0LXNwaW5uZXItc2l6ZTpcdFx0XHRcdFx0XHRcdDMwcHggIWRlZmF1bHQ7XG4kc2VsZWN0LXNwaW5uZXItYm9yZGVyLXNpemU6XHRcdFx0XHRcdDVweCAhZGVmYXVsdDtcbiRzZWxlY3Qtc3Bpbm5lci1ib3JkZXItY29sb3I6XHRcdFx0XHRcdCRzZWxlY3QtY29sb3ItYm9yZGVyICFkZWZhdWx0O1xuXG46cm9vdHtcblx0LS10cy1wci1jbGVhci1idXR0b246XHRcdFx0XHRcdFx0MHJlbTtcblx0LS10cy1wci1jYXJldDpcdFx0XHRcdFx0XHRcdFx0MHJlbTtcblx0LS10cy1wci1taW46XHRcdFx0XHRcdFx0XHRcdC43NXJlbTtcbn1cblxuQG1peGluIHNlbGVjdGl6ZS12ZXJ0aWNhbC1ncmFkaWVudCgkY29sb3ItdG9wLCAkY29sb3ItYm90dG9tKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRjb2xvci10b3AsICRjb2xvci1ib3R0b20sIDYwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbG9yLXRvcCwgJGNvbG9yLWJvdHRvbSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5cbi4jeyRzZWxlY3QtbnN9LXdyYXBwZXIuc2luZ2xle1xuXHQuI3skc2VsZWN0LW5zfS1jb250cm9sIHtcblx0XHQmLCBpbnB1dCB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRzZWxlY3QtbnN9LWNvbnRyb2wge1xuXHRwYWRkaW5nLXJpZ2h0Olx0TWF4KCB2YXIoLS10cy1wci1taW4pLCBjYWxjKCB2YXIoLS10cy1wci1jbGVhci1idXR0b24pICsgdmFyKC0tdHMtcHItY2FyZXQpKSApICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiB0cy1jYXJldCgpe1xuXG5cdC4jeyRzZWxlY3QtbnN9LXdyYXBwZXIuc2luZ2xle1xuXG5cdFx0LiN7JHNlbGVjdC1uc30tY29udHJvbCB7XG5cdFx0XHQtLXRzLXByLWNhcmV0OiAycmVtO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyAnO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0cmlnaHQ6ICRzZWxlY3QtYXJyb3ctb2Zmc2V0O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiByb3VuZCgtMC41ICogJHNlbGVjdC1hcnJvdy1zaXplKTtcblx0XHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRcdGhlaWdodDogMDtcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAkc2VsZWN0LWFycm93LXNpemUgJHNlbGVjdC1hcnJvdy1zaXplIDAgJHNlbGVjdC1hcnJvdy1zaXplO1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRzZWxlY3QtYXJyb3ctY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5kcm9wZG93bi1hY3RpdmUgLiN7JHNlbGVjdC1uc30tY29udHJvbDo6YWZ0ZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogJHNlbGVjdC1hcnJvdy1zaXplICogLTAuODtcblx0XHRcdGJvcmRlci13aWR0aDogMCAkc2VsZWN0LWFycm93LXNpemUgJHNlbGVjdC1hcnJvdy1zaXplICRzZWxlY3QtYXJyb3ctc2l6ZTtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHNlbGVjdC1hcnJvdy1jb2xvciB0cmFuc3BhcmVudDtcblx0XHR9XG5cblx0XHQmLmlucHV0LWFjdGl2ZSAuI3skc2VsZWN0LW5zfS1jb250cm9sLFxuXHRcdCYuaW5wdXQtYWN0aXZlIC4jeyRzZWxlY3QtbnN9LWNvbnRyb2wgaW5wdXQge1xuXHRcdFx0Y3Vyc29yOiB0ZXh0O1xuXHRcdH1cblxuXHR9XG59XG5cbi8vQGltcG9ydCBcIi4vcGx1Z2lucy9kcmFnX2Ryb3AvcGx1Z2luLnNjc3NcIjtcbi8vQGltcG9ydCBcIi4vcGx1Z2lucy9jaGVja2JveF9vcHRpb25zL3BsdWdpbi5zY3NzXCI7XG4vL0BpbXBvcnQgXCIuL3BsdWdpbnMvY2xlYXJfYnV0dG9uL3BsdWdpbi5zY3NzXCI7XG4vL0BpbXBvcnQgXCIuL3BsdWdpbnMvZHJvcGRvd25faGVhZGVyL3BsdWdpbi5zY3NzXCI7XG4vL0BpbXBvcnQgXCIuL3BsdWdpbnMvZHJvcGRvd25faW5wdXQvcGx1Z2luLnNjc3NcIjtcbi8vQGltcG9ydCBcIi4vcGx1Z2lucy9pbnB1dF9hdXRvZ3Jvdy9wbHVnaW4uc2Nzc1wiO1xuLy9AaW1wb3J0IFwiLi9wbHVnaW5zL29wdGdyb3VwX2NvbHVtbnMvcGx1Z2luLnNjc3NcIjtcbi8vQGltcG9ydCBcIi4vcGx1Z2lucy9yZW1vdmVfYnV0dG9uL3BsdWdpbi5zY3NzXCI7XG5cblxuLiN7JHNlbGVjdC1uc30td3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLiN7JHNlbGVjdC1uc30tZHJvcGRvd24sXG4uI3skc2VsZWN0LW5zfS1jb250cm9sLFxuLiN7JHNlbGVjdC1uc30tY29udHJvbCBpbnB1dCB7XG5cdGNvbG9yOiAkc2VsZWN0LWNvbG9yLXRleHQ7XG5cdGZvbnQtZmFtaWx5OiAkc2VsZWN0LWZvbnQtZmFtaWx5O1xuXHRmb250LXNpemU6ICRzZWxlY3QtZm9udC1zaXplO1xuXHRsaW5lLWhlaWdodDogJHNlbGVjdC1saW5lLWhlaWdodDtcblx0Zm9udC1zbW9vdGhpbmc6ICRzZWxlY3QtZm9udC1zbW9vdGhpbmc7XG59XG5cbi4jeyRzZWxlY3QtbnN9LWNvbnRyb2wsXG4uI3skc2VsZWN0LW5zfS13cmFwcGVyLnNpbmdsZS5pbnB1dC1hY3RpdmUgLiN7JHNlbGVjdC1uc30tY29udHJvbCB7XG5cdGJhY2tncm91bmQ6ICRzZWxlY3QtY29sb3ItaW5wdXQ7XG5cdGN1cnNvcjogdGV4dDtcbn1cblxuQGltcG9ydCAnaXRlbXMnO1xuQGltcG9ydCAnZHJvcGRvd24nO1xuXG4udHMtaGlkZGVuLWFjY2Vzc2libGV7XG5cdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgICAvL2hlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuIiwiXG5cbi4jeyRzZWxlY3QtbnN9LWNvbnRyb2wge1xuXG5cdGJvcmRlcjogJHNlbGVjdC1ib3JkZXI7XG5cdHBhZGRpbmc6ICRzZWxlY3QtcGFkZGluZy15ICRzZWxlY3QtcGFkZGluZy14O1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2hhZG93OiAkc2VsZWN0LXNoYWRvdy1pbnB1dDtcblx0Ym9yZGVyLXJhZGl1czogJHNlbGVjdC1ib3JkZXItcmFkaXVzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0LiN7JHNlbGVjdC1uc30td3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgJiB7XG5cdFx0JHBhZGRpbmcteDogJHNlbGVjdC1wYWRkaW5nLXg7XG5cdFx0JHBhZGRpbmctdG9wOiBjYWxjKCAjeyRzZWxlY3QtcGFkZGluZy15fSAtICN7JHNlbGVjdC1wYWRkaW5nLWl0ZW0teX0gLSAjeyRzZWxlY3Qtd2lkdGgtaXRlbS1ib3JkZXJ9KTtcblx0XHQkcGFkZGluZy1ib3R0b206IGNhbGMoICN7JHNlbGVjdC1wYWRkaW5nLXl9IC0gI3skc2VsZWN0LXBhZGRpbmctaXRlbS15fSAtICN7JHNlbGVjdC1tYXJnaW4taXRlbS15fSAtICN7JHNlbGVjdC13aWR0aC1pdGVtLWJvcmRlcn0pO1xuXHRcdHBhZGRpbmc6ICRwYWRkaW5nLXRvcCAkcGFkZGluZy14ICRwYWRkaW5nLWJvdHRvbTtcblx0fVxuXG5cdC5mdWxsICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtY29sb3ItaW5wdXQtZnVsbDtcblx0fVxuXG5cdC5kaXNhYmxlZCAmLFxuXHQuZGlzYWJsZWQgJiAqIHtcblx0XHRjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcblx0fVxuXG5cdC5mb2N1cyAmIHtcblx0XHRib3gtc2hhZG93OiAkc2VsZWN0LXNoYWRvdy1pbnB1dC1mb2N1cztcblx0fVxuXG5cdD4gKiB7XG5cdFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdC4jeyRzZWxlY3QtbnN9LXdyYXBwZXIubXVsdGkgJiA+IGRpdiB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdG1hcmdpbjogMCAkc2VsZWN0LW1hcmdpbi1pdGVtLXggJHNlbGVjdC1tYXJnaW4taXRlbS15IDA7XG5cdFx0cGFkZGluZzogJHNlbGVjdC1wYWRkaW5nLWl0ZW0teSAkc2VsZWN0LXBhZGRpbmctaXRlbS14O1xuXHRcdGJhY2tncm91bmQ6ICRzZWxlY3QtY29sb3ItaXRlbTtcblx0XHRjb2xvcjogJHNlbGVjdC1jb2xvci1pdGVtLXRleHQ7XG5cdFx0Ym9yZGVyOiAkc2VsZWN0LXdpZHRoLWl0ZW0tYm9yZGVyIHNvbGlkICRzZWxlY3QtY29sb3ItaXRlbS1ib3JkZXI7XG5cblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkc2VsZWN0LWNvbG9yLWl0ZW0tYWN0aXZlO1xuXHRcdFx0Y29sb3I6ICRzZWxlY3QtY29sb3ItaXRlbS1hY3RpdmUtdGV4dDtcblx0XHRcdGJvcmRlcjogJHNlbGVjdC13aWR0aC1pdGVtLWJvcmRlciBzb2xpZCAkc2VsZWN0LWNvbG9yLWl0ZW0tYWN0aXZlLWJvcmRlcjtcblx0XHR9XG5cdH1cblxuXHQuI3skc2VsZWN0LW5zfS13cmFwcGVyLm11bHRpLmRpc2FibGVkICYgPiBkaXYge1xuXHRcdCYsICYuYWN0aXZlIHtcblx0XHRcdGNvbG9yOiBsaWdodGVuKGRlc2F0dXJhdGUoJHNlbGVjdC1jb2xvci1pdGVtLXRleHQsIDEwMCUpLCAkc2VsZWN0LWxpZ2h0ZW4tZGlzYWJsZWQtaXRlbS10ZXh0KTtcblx0XHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oZGVzYXR1cmF0ZSgkc2VsZWN0LWNvbG9yLWl0ZW0sIDEwMCUpLCAkc2VsZWN0LWxpZ2h0ZW4tZGlzYWJsZWQtaXRlbSk7XG5cdFx0XHRib3JkZXI6ICRzZWxlY3Qtd2lkdGgtaXRlbS1ib3JkZXIgc29saWQgbGlnaHRlbihkZXNhdHVyYXRlKCRzZWxlY3QtY29sb3ItaXRlbS1ib3JkZXIsIDEwMCUpLCAkc2VsZWN0LWxpZ2h0ZW4tZGlzYWJsZWQtaXRlbS1ib3JkZXIpO1xuXHRcdH1cblx0fVxuXG5cdD4gaW5wdXQge1xuXHRcdCY6Oi1tcy1jbGVhciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdG1pbi13aWR0aDogN3JlbTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0bWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuXHRcdG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcblx0XHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0XHR0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogMCBub25lICFpbXBvcnRhbnQ7XG5cdFx0YmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG5cdFx0dXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Jjpmb2N1cyB7IG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuXHR9XG5cblx0Lmhhcy1pdGVtcyAmID4gaW5wdXR7XG5cdFx0bWFyZ2luOiAkc2VsZWN0LWNhcmV0LW1hcmdpbiAhaW1wb3J0YW50O1xuXHR9XG5cblx0Ji5ydGwge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdCYuc2luZ2xlIC4jeyRzZWxlY3QtbnN9LWNvbnRyb2w6YWZ0ZXIge1xuXHRcdFx0bGVmdDogJHNlbGVjdC1hcnJvdy1vZmZzZXQ7XG5cdFx0XHRyaWdodDogYXV0bztcblx0XHR9XG5cdFx0LiN7JHNlbGVjdC1uc30tY29udHJvbCA+IGlucHV0IHtcblx0XHRcdG1hcmdpbjogJHNlbGVjdC1jYXJldC1tYXJnaW4tcnRsICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0LmRpc2FibGVkICYge1xuXHRcdG9wYWNpdHk6ICRzZWxlY3Qtb3BhY2l0eS1kaXNhYmxlZDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWNvbG9yLWRpc2FibGVkO1xuXHR9XG5cblx0Ly8gaGlkZSBpbnB1dCwgd2hpbGUgcmV0YWluaW5nIGl0cyBmb2N1cywgYW5kIG1haW50YWluIGxheW91dCBzbyB1c2VycyBjYW4gc3RpbGwgY2xpY2sgb24gdGhlIHNwYWNlIHRvIGJyaW5nIHRoZSBkaXNwbGF5IGJhY2tcblx0Ly8gdmlzaWJpbGl0eTpoaWRkZW4gY2FuIHByZXZlbnQgdGhlIGlucHV0IGZyb20gcmVjZWl2aW5nIGZvY3VzXG5cdC5pbnB1dC1oaWRkZW4gJiA+IGlucHV0e1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IC0xMDAwMHB4O1xuXHR9XG5cbn1cbiIsIlxuXG4uI3skc2VsZWN0LW5zfS1kcm9wZG93biB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTA7XG5cblx0Ym9yZGVyOiAkc2VsZWN0LWRyb3Bkb3duLWJvcmRlcjtcblx0YmFja2dyb3VuZDogJHNlbGVjdC1jb2xvci1kcm9wZG93bjtcblx0bWFyZ2luOiAwLjI1cmVtIDAgMCAwO1xuXHRib3JkZXItdG9wOiAwIG5vbmU7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuMSk7XG5cdGJvcmRlci1yYWRpdXM6IDAgMCAkc2VsZWN0LWJvcmRlci1yYWRpdXMgJHNlbGVjdC1ib3JkZXItcmFkaXVzO1xuXG5cblx0W2RhdGEtc2VsZWN0YWJsZV0ge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC5oaWdobGlnaHQge1xuXHRcdFx0YmFja2dyb3VuZDogJHNlbGVjdC1jb2xvci1oaWdobGlnaHQ7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxcHg7XG5cdFx0fVxuXHR9XG5cblx0Lm9wdGlvbixcblx0Lm9wdGdyb3VwLWhlYWRlcixcblx0Lm5vLXJlc3VsdHMsXG5cdC5jcmVhdGUge1xuXHRcdHBhZGRpbmc6ICRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXkgJHNlbGVjdC1wYWRkaW5nLWRyb3Bkb3duLWl0ZW0teDtcblx0fVxuXG4gICAgLm9wdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC4yNWVtO1xuICAgIH1cblxuXHQub3B0aW9uLCBbZGF0YS1kaXNhYmxlZF0sIFtkYXRhLWRpc2FibGVkXSBbZGF0YS1zZWxlY3RhYmxlXS5vcHRpb24ge1xuXHRcdGN1cnNvcjogaW5oZXJpdDtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cblxuXHRbZGF0YS1zZWxlY3RhYmxlXS5vcHRpb24ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cblx0Lm9wdGdyb3VwOmZpcnN0LWNoaWxkIC5vcHRncm91cC1oZWFkZXIge1xuXHRcdGJvcmRlci10b3A6IDAgbm9uZTtcblx0fVxuXG5cdC5vcHRncm91cC1oZWFkZXIge1xuXHRcdGNvbG9yOiAkc2VsZWN0LWNvbG9yLW9wdGdyb3VwLXRleHQ7XG5cdFx0YmFja2dyb3VuZDogJHNlbGVjdC1jb2xvci1vcHRncm91cDtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdH1cblxuXHQuYWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWNvbG9yLWRyb3Bkb3duLWl0ZW0tYWN0aXZlO1xuXHRcdGNvbG9yOiAkc2VsZWN0LWNvbG9yLWRyb3Bkb3duLWl0ZW0tYWN0aXZlLXRleHQ7XG5cdFx0Ji5jcmVhdGUge1xuXHRcdFx0Y29sb3I6ICRzZWxlY3QtY29sb3ItZHJvcGRvd24taXRlbS1jcmVhdGUtYWN0aXZlLXRleHQ7XG5cdFx0fVxuXHR9XG5cblx0LmNyZWF0ZSB7XG5cdFx0Y29sb3I6ICRzZWxlY3QtY29sb3ItZHJvcGRvd24taXRlbS1jcmVhdGUtdGV4dDtcblx0fVxuXG5cdC5zcGlubmVye1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogJHNlbGVjdC1zcGlubmVyLXNpemU7XG5cdFx0aGVpZ2h0OiAkc2VsZWN0LXNwaW5uZXItc2l6ZTtcblx0XHRtYXJnaW46ICRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXkgJHNlbGVjdC1wYWRkaW5nLWRyb3Bkb3duLWl0ZW0teDtcblxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6ICRzZWxlY3Qtc3Bpbm5lci1zaXplICogLjg7XG5cdFx0XHRoZWlnaHQ6ICRzZWxlY3Qtc3Bpbm5lci1zaXplICogLjg7XG5cdFx0XHRtYXJnaW46ICRzZWxlY3Qtc3Bpbm5lci1zaXplICogLjE7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRib3JkZXI6ICRzZWxlY3Qtc3Bpbm5lci1ib3JkZXItc2l6ZSBzb2xpZCAkc2VsZWN0LXNwaW5uZXItYm9yZGVyLWNvbG9yO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkc2VsZWN0LXNwaW5uZXItYm9yZGVyLWNvbG9yIHRyYW5zcGFyZW50ICRzZWxlY3Qtc3Bpbm5lci1ib3JkZXItY29sb3IgdHJhbnNwYXJlbnQ7XG5cdFx0XHRhbmltYXRpb246IGxkcy1kdWFsLXJpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7XG5cdFx0fVxuXHRcdEBrZXlmcmFtZXMgbGRzLWR1YWwtcmluZyB7XG5cdFx0XHQwJSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHRcdFx0fVxuXHRcdFx0MTAwJSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRzZWxlY3QtbnN9LWRyb3Bkb3duLWNvbnRlbnQge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdG1heC1oZWlnaHQ6ICRzZWxlY3QtbWF4LWhlaWdodC1kcm9wZG93bjtcblx0b3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogd29vY29tbWVyY2Utc3RlcC1maWx0ZXI7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29ucy50dGZcIik7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29ucy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgdXJsKFwiLi4vZm9udHMvaWNvbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgICB1cmwoXCIuLi9mb250cy9pY29ucy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbkBtaXhpbiBpY29uLXN0eWxlcyB7XG4gICAgZm9udC1mYW1pbHk6IHdvb2NvbW1lcmNlLXN0ZXAtZmlsdGVyO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLy8gc3BlYWs6IG5vbmU7IC8vIG9ubHkgbmVjZXNzYXJ5IGlmIG5vdCB1c2luZyB0aGUgcHJpdmF0ZSB1bmljb2RlIHJhbmdlIChmaXJzdEdseXBoIG9wdGlvbilcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuJWljb24ge1xuICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xufVxuXG5AZnVuY3Rpb24gaWNvbi1jaGFyKCRmaWxlbmFtZSkge1xuICAgICRjaGFyOiBcIlwiO1xuXG4gICAgQGlmICRmaWxlbmFtZSA9PSBhbmdsZS1sZWZ0IHtcbiAgICAgICAgJGNoYXI6IFwiXFxFMDAxXCI7XG4gICAgfVxuICAgIFxuICAgIEBpZiAkZmlsZW5hbWUgPT0gYW5nbGUtcmlnaHQge1xuICAgICAgICAkY2hhcjogXCJcXEUwMDJcIjtcbiAgICB9XG4gICAgXG4gICAgQGlmICRmaWxlbmFtZSA9PSBjYW5jZWwge1xuICAgICAgICAkY2hhcjogXCJcXEUwMDNcIjtcbiAgICB9XG4gICAgXG4gICAgQGlmICRmaWxlbmFtZSA9PSBjdXJ2ZS1hcnJvdy1yaWdodCB7XG4gICAgICAgICRjaGFyOiBcIlxcRTAwNFwiO1xuICAgIH1cbiAgICBcbiAgICBAaWYgJGZpbGVuYW1lID09IGRvdWJsZS1hbmdsZS1yaWdodCB7XG4gICAgICAgICRjaGFyOiBcIlxcRTAwNVwiO1xuICAgIH1cbiAgICBcbiAgICBAaWYgJGZpbGVuYW1lID09IGZpbGUge1xuICAgICAgICAkY2hhcjogXCJcXEUwMDZcIjtcbiAgICB9XG4gICAgXG4gICAgQGlmICRmaWxlbmFtZSA9PSByZWxvYWQge1xuICAgICAgICAkY2hhcjogXCJcXEUwMDdcIjtcbiAgICB9XG4gICAgXG4gICAgQGlmICRmaWxlbmFtZSA9PSBzaGFyZSB7XG4gICAgICAgICRjaGFyOiBcIlxcRTAwOFwiO1xuICAgIH1cbiAgICBcbiAgICBAaWYgJGZpbGVuYW1lID09IHRpY2sge1xuICAgICAgICAkY2hhcjogXCJcXEUwMDlcIjtcbiAgICB9XG4gICAgXG5cbiAgICBAcmV0dXJuICRjaGFyO1xufVxuXG5AbWl4aW4gaWNvbigkZmlsZW5hbWUsICRpbnNlcnQ6IGJlZm9yZSwgJGV4dGVuZDogdHJ1ZSkge1xuICAgICY6OiN7JGluc2VydH0ge1xuICAgICAgICBAaWYgJGV4dGVuZCB7XG4gICAgICAgICAgICBAZXh0ZW5kICVpY29uO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGljb24tc3R5bGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGVudDogaWNvbi1jaGFyKCRmaWxlbmFtZSk7XG4gICAgfVxufSIsIi53Y3NmLXNwaW5uZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiBjYWxjKDUwJSAtIHZhcigtLXdjc2YtbG9hZGluZy1zcGlubmVyLXNpemUsICRsb2FkaW5nLXNwaW5uZXItc2l6ZSkgLyAyKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0td2NzZi1sb2FkaW5nLXNwaW5uZXItc2l6ZSwgJGxvYWRpbmctc3Bpbm5lci1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLXdjc2YtbG9hZGluZy1zcGlubmVyLXNpemUsICRsb2FkaW5nLXNwaW5uZXItc2l6ZSk7XG4gICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgJi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi1iYXIge1xuICAgICAgICBzdHJva2U6IHZhcigtLXdjc2Ytc3Bpbm5lci1iYXItc3Ryb2tlLWNvbG9yLCAkbG9hZGluZy1zcGlubmVyLWJhci1zdHJva2UtY29sb3IpO1xuICAgICAgICBzdHJva2Utd2lkdGg6IHZhcigtLXdjc2Ytc3Bpbm5lci1iYXItc3Ryb2tlLXdpZHRoLCAkbG9hZGluZy1zcGlubmVyLWJhci1zdHJva2Utd2lkdGgpO1xuICAgICAgICBzdHJva2Utb3BhY2l0eTogdmFyKC0td2NzZi1zcGlubmVyLWJhci1zdHJva2Utb3BhY2l0eSwgJGxvYWRpbmctc3Bpbm5lci1iYXItc3Ryb2tlLW9wYWNpdHkpO1xuICAgICAgICBmaWxsOiBub25lO1xuICAgIH1cblxuICAgICYtZmlsbCB7XG4gICAgICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiBjYWxjKDEwMHB4IC0gMXB4ICogbWF4KHZhcigtLXdjc2YtbG9hZGluZy1zcGlubmVyLW1pbi12YWx1ZSwgJGxvYWRpbmctc3Bpbm5lci1taW4tdmFsdWUpLCBtaW4oMTAwLCB2YXIoLS13Y3NmLWxvYWRpbmctcHJvZ3Jlc3MsICRsb2FkaW5nLXNwaW5uZXItbWluLXZhbHVlKSkpKTtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS13Y3NmLXNwaW5uZXItYmFyLXN0cm9rZS1jb2xvciwgJGxvYWRpbmctc3Bpbm5lci1maWxsLXN0cm9rZS1jb2xvcik7XG4gICAgICAgIHN0cm9rZS13aWR0aDogdmFyKC0td2NzZi1zcGlubmVyLWZpbGwtc3Ryb2tlLXdpZHRoLCAkbG9hZGluZy1zcGlubmVyLWZpbGwtc3Ryb2tlLXdpZHRoKTtcbiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6IHZhcigtLXdjc2Ytc3Bpbm5lci1maWxsLXN0cm9rZS1vcGFjaXR5LCAkbG9hZGluZy1zcGlubmVyLWZpbGwtc3Ryb2tlLW9wYWNpdHkpO1xuICAgICAgICBmaWxsOiBub25lO1xuICAgIH1cbn1cbiIsIi53Y3NmIHtcbiAgICAmLWNvbnRyb2xzLFxuICAgICYtc2hvcC1jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAkc3BhY2VyLXhzO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNlci1zbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXItc207XG5cbiAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLXNwYWNlciB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRyb2xzIHtcbiAgICAgICAgJi1wcmVsaW1pbmFyeS1yZXN1bHRzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlci1zbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtY29udHJvbCB7XG4gICAgICAgICYuaXMtYmFjayxcbiAgICAgICAgJi5pcy1zaG9wLWJhY2sge1xuICAgICAgICAgICAgJjppcyguaWNvbi1zdGFydCwgLmljb24tbGVmdCk6OmJlZm9yZSwgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnRcbiAgICAgICAgICAgICY6aXMoLmljb24tZW5kLCAuaWNvbi1yaWdodCk6OmFmdGVyIHsgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnRcbiAgICAgICAgICAgICAgICBjb250ZW50OiBpY29uLWNoYXIoYW5nbGUtbGVmdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLXNraXAge1xuICAgICAgICAgICAgJjppcyguaWNvbi1zdGFydCwgLmljb24tbGVmdCk6OmJlZm9yZSwgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnRcbiAgICAgICAgICAgICY6aXMoLmljb24tZW5kLCAuaWNvbi1yaWdodCk6OmFmdGVyIHsgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnRcbiAgICAgICAgICAgICAgICBjb250ZW50OiBpY29uLWNoYXIoY3VydmUtYXJyb3ctcmlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1yZXNldCB7XG4gICAgICAgICAgICAmOmlzKC5pY29uLXN0YXJ0LCAuaWNvbi1sZWZ0KTo6YmVmb3JlLCAvLyBAc2luY2UgMTEuMC4wIC0gb2xkZXIgdmVyc2lvbnMgc3VwcG9ydFxuICAgICAgICAgICAgJjppcyguaWNvbi1lbmQsIC5pY29uLXJpZ2h0KTo6YWZ0ZXIgeyAvLyBAc2luY2UgMTEuMC4wIC0gb2xkZXIgdmVyc2lvbnMgc3VwcG9ydFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGljb24tY2hhcihyZWxvYWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1uZXh0IHtcbiAgICAgICAgICAgICY6aXMoLmljb24tc3RhcnQsIC5pY29uLWxlZnQpOjpiZWZvcmUsIC8vIEBzaW5jZSAxMS4wLjAgLSBvbGRlciB2ZXJzaW9ucyBzdXBwb3J0XG4gICAgICAgICAgICAmOmlzKC5pY29uLWVuZCwgLmljb24tcmlnaHQpOjphZnRlciB7IC8vIEBzaW5jZSAxMS4wLjAgLSBvbGRlciB2ZXJzaW9ucyBzdXBwb3J0XG4gICAgICAgICAgICAgICAgY29udGVudDogaWNvbi1jaGFyKGFuZ2xlLXJpZ2h0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtcmVzdWx0cy1wZGYge1xuICAgICAgICAgICAgJjppcyguaWNvbi1zdGFydCwgLmljb24tbGVmdCk6OmJlZm9yZSwgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnRcbiAgICAgICAgICAgICY6aXMoLmljb24tZW5kLCAuaWNvbi1yaWdodCk6OmFmdGVyIHsgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnRcbiAgICAgICAgICAgICAgICBjb250ZW50OiBpY29uLWNoYXIoZmlsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLXJlc3VsdHMge1xuICAgICAgICAgICAgJjppcyguaWNvbi1zdGFydCwgLmljb24tbGVmdCk6OmJlZm9yZSwgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnRcbiAgICAgICAgICAgICY6aXMoLmljb24tZW5kLCAuaWNvbi1yaWdodCk6OmFmdGVyIHsgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnRcbiAgICAgICAgICAgICAgICBjb250ZW50OiBpY29uLWNoYXIoZG91YmxlLWFuZ2xlLXJpZ2h0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtc2hhcmUge1xuICAgICAgICAgICAgJjppcyguaWNvbi1zdGFydCwgLmljb24tbGVmdCk6OmJlZm9yZSwgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnRcbiAgICAgICAgICAgICY6aXMoLmljb24tZW5kLCAuaWNvbi1yaWdodCk6OmFmdGVyIHsgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnRcbiAgICAgICAgICAgICAgICBjb250ZW50OiBpY29uLWNoYXIoc2hhcmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1zaG9wLXJlc2V0IHtcbiAgICAgICAgICAgICY6aXMoLmljb24tc3RhcnQsIC5pY29uLWxlZnQpOjpiZWZvcmUsIC8vIEBzaW5jZSAxMS4wLjAgLSBvbGRlciB2ZXJzaW9ucyBzdXBwb3J0XG4gICAgICAgICAgICAmOmlzKC5pY29uLWVuZCwgLmljb24tcmlnaHQpOjphZnRlciB7IC8vIEBzaW5jZSAxMS4wLjAgLSBvbGRlciB2ZXJzaW9ucyBzdXBwb3J0XG4gICAgICAgICAgICAgICAgY29udGVudDogaWNvbi1jaGFyKGNhbmNlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLXNob3AtcmVwZWF0IHtcbiAgICAgICAgICAgICY6aXMoLmljb24tc3RhcnQsIC5pY29uLWxlZnQpOjpiZWZvcmUsIC8vIEBzaW5jZSAxMS4wLjAgLSBvbGRlciB2ZXJzaW9ucyBzdXBwb3J0XG4gICAgICAgICAgICAmOmlzKC5pY29uLWVuZCwgLmljb24tcmlnaHQpOjphZnRlciB7IC8vIEBzaW5jZSAxMS4wLjAgLSBvbGRlciB2ZXJzaW9ucyBzdXBwb3J0XG4gICAgICAgICAgICAgICAgY29udGVudDogaWNvbi1jaGFyKHJlbG9hZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNob3ctaWNvbixcbiAgICAgICAgJi5zaG93LWljb24tb24tbW9iaWxlIHtcbiAgICAgICAgICAgICYuYnRuLXNtIHtcbiAgICAgICAgICAgICAgICAmOmlzKC5pY29uLXN0YXJ0LCAuaWNvbi1sZWZ0KTo6YmVmb3JlLCAvLyBAc2luY2UgMTEuMC4wIC0gb2xkZXIgdmVyc2lvbnMgc3VwcG9ydFxuICAgICAgICAgICAgICAgICY6aXMoLmljb24tZW5kLCAuaWNvbi1yaWdodCk6OmFmdGVyIHsgLy8gQHNpbmNlIDExLjAuMCAtIG9sZGVyIHZlcnNpb25zIHN1cHBvcnQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNGVtO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlcixcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2hvdy1pY29uIHtcbiAgICAgICAgICAgICY6aXMoLmljb24tc3RhcnQsIC5pY29uLWxlZnQpOjpiZWZvcmUsIC8vIEBzaW5jZSAxMS4wLjAgLSBvbGRlciB2ZXJzaW9ucyBzdXBwb3J0XG4gICAgICAgICAgICAmOmlzKC5pY29uLWVuZCwgLmljb24tcmlnaHQpOjphZnRlciB7IC8vIEBzaW5jZSAxMS4wLjAgLSBvbGRlciB2ZXJzaW9ucyBzdXBwb3J0XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbi1zdHlsZXM7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2hvdy1pY29uLW9uLW1vYmlsZSB7XG4gICAgICAgICAgICAmOmlzKC5pY29uLXN0YXJ0LCAuaWNvbi1sZWZ0KTo6YmVmb3JlLCAvLyBAc2luY2UgMTEuMC4wIC0gb2xkZXIgdmVyc2lvbnMgc3VwcG9ydFxuICAgICAgICAgICAgJjppcyguaWNvbi1lbmQsIC5pY29uLXJpZ2h0KTo6YWZ0ZXIgeyAvLyBAc2luY2UgMTEuMC4wIC0gb2xkZXIgdmVyc2lvbnMgc3VwcG9ydFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBpY29uLXN0eWxlcztcblxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC4yZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oaWRlLXRleHQgJiB7XG4gICAgICAgICAgICAmLWlubmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlkZS10ZXh0LW9uLW1vYmlsZSAmIHtcbiAgICAgICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIud2NzZi1oZWFkZXIge1xuICAgIC0td2NzZi1oZWFkZXItc3RpY2t5LW9mZnNldDogMDtcblxuICAgICYuaXMtc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiB2YXIoLS13Y3NmLWhlYWRlci1zdGlja3ktb2Zmc2V0LCAwKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXdjc2YtaGVhZGVyLXN0dWNrLXotaW5kZXgsICRoZWFkZXItc3R1Y2stei1pbmRleCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13Y3NmLWhlYWRlci1zdHVjay1jb2xvciwgJGhlYWRlci1zdHVjay1jb2xvcik7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogdmFyKC0td2NzZi1oZWFkZXItc3R1Y2stYmFja2Ryb3AtZmlsdGVyLCAkaGVhZGVyLXN0dWNrLWJhY2tkcm9wLWZpbHRlcik7XG5cbiAgICAgICAgJltzdHVja10ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1oZWFkZXItc3R1Y2stYmcsICRoZWFkZXItc3R1Y2stYmcpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0td2NzZi1oZWFkZXItc3R1Y2stYm94LXNoYWRvdywgJGhlYWRlci1zdHVjay1ib3gtc2hhZG93KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIC0td2NzZi1oZWFkZXItc3RpY2t5LW9mZnNldDogdmFyKC0td2NzZi1oZWFkZXItc3RpY2t5LW9mZnNldC0jeyRicmVha3BvaW50fSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGJyZWFrcG9pbnQtbWF4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykpIHtcbiAgICAgICAgICAgICYuaXMtc3RpY2t5LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB2YXIoLS13Y3NmLWhlYWRlci1zdGlja3ktb2Zmc2V0LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13Y3NmLWhlYWRlci1zdHVjay1jb2xvciwgJGhlYWRlci1zdHVjay1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogdmFyKC0td2NzZi1oZWFkZXItc3R1Y2stYmFja2Ryb3AtZmlsdGVyLCAkaGVhZGVyLXN0dWNrLWJhY2tkcm9wLWZpbHRlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgJltzdHVja10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1oZWFkZXItc3R1Y2stYmcsICRoZWFkZXItc3R1Y2stYmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0td2NzZi1oZWFkZXItc3R1Y2stYm94LXNoYWRvdywgJGhlYWRlci1zdHVjay1ib3gtc2hhZG93KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoYnJlYWtwb2ludC1taW4oJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSkge1xuICAgICAgICAgICAgJi5pcy1zdGlja3ktdXAtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB2YXIoLS13Y3NmLWhlYWRlci1zdGlja3ktb2Zmc2V0LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13Y3NmLWhlYWRlci1zdHVjay1jb2xvciwgJGhlYWRlci1zdHVjay1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogdmFyKC0td2NzZi1oZWFkZXItc3R1Y2stYmFja2Ryb3AtZmlsdGVyLCAkaGVhZGVyLXN0dWNrLWJhY2tkcm9wLWZpbHRlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgJltzdHVja10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1oZWFkZXItc3R1Y2stYmcsICRoZWFkZXItc3R1Y2stYmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0td2NzZi1oZWFkZXItc3R1Y2stYm94LXNoYWRvdywgJGhlYWRlci1zdHVjay1ib3gtc2hhZG93KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi53Y3NmIHtcbiAgICAmLWZpZWxkcyB7XG4gICAgICAgIEBhdC1yb290IGZpZWxkc2V0I3smfSB7XG4gICAgICAgICAgICBtYXJnaW46ICRzcGFjZXItbWQgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtaW1hZ2UtcmFkaW8sXG4gICAgICAgICYuaXMtaW1hZ2UtY2hlY2tib3gge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGdhcDogdmFyKC0td2NzZi1maWVsZHMtZ3JpZC1nYXAsICRzcGFjZXItbWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hbGlnbm1lbnQge1xuICAgICAgICAgICAgJi1zdGFydCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWVuZCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1jZW50ZXIge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWJldHdlZW4ge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1hcm91bmQge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWV2ZW5seSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLW11bHRpLWNob2ljZS1jaGVja2JveCxcbiAgICAgICAgJi5pcy1tdWx0aS1jaG9pY2UtcmFuZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWxpc3Qge1xuICAgICAgICAgICAgJHNlbGY6ICY7XG5cbiAgICAgICAgICAgIEBhdC1yb290IHVsI3skc2VsZn0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLW51bWJlci1iZXR3ZWVuIHtcbiAgICAgICAgICAgICAgICAud2NzZi1maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IHZhcigtLXdjc2YtcmFuZ2UtZmllbGQtZmxleCwgJHJhbmdlLWZpZWxkLWZsZXgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1idXR0b24tcmFkaW8sXG4gICAgICAgICAgICAmLmlzLWJ1dHRvbi1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGlubmVyIGxpc3RzXG4gICAgICAgICAgICAmICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJHNwYWNlci1tZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtZmllbGQge1xuICAgICAgICAmLmlzLXJhZGlvLFxuICAgICAgICAmLmlzLWNoZWNrYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjZXItc207XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXNtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1jaGlwcy1yYWRpbyxcbiAgICAgICAgJi5pcy1jaGlwcy1jaGVja2JveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXNtO1xuXG4gICAgICAgICAgICAud2NzZi1maWVsZC1pbnB1dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIH4gLndjc2YtZmllbGQtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmNoZWNrZWQgfiAud2NzZi1maWVsZC1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KG1hcF9nZXQoJHRoZW1lLWNvbG9ycywgXCJwcmltYXJ5XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXBfZ2V0KCR0aGVtZS1jb2xvcnMsIFwicHJpbWFyeVwiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkdGhlbWUtY29sb3JzLCBcInByaW1hcnlcIik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJltkaXNhYmxlZF0gfiAud2NzZi1maWVsZC1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJHRoZW1lLWNvbG9ycywgXCJzZWNvbmRhcnlcIik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAud2NzZi1maWVsZC1uYW1lIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13Y3NmLWZpZWxkLWNoaXBzLW5hbWUtYm9yZGVyLXJhZGl1cywgJGJ0bi1wYWRkaW5nLXkgKyAkYnRuLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0td2NzZi1maWVsZC1jaGlwcy1uYW1lLXBhZGRpbmcsICRidG4tcGFkZGluZy14ICogMS41KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXdjc2YtZmllbGQtY2hpcHMtbmFtZS1wYWRkaW5nLCAkYnRuLXBhZGRpbmcteCAqIDEuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWJ1dHRvbi1yYWRpbyxcbiAgICAgICAgJi5pcy1idXR0b24tY2hlY2tib3gge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXNtO1xuXG4gICAgICAgICAgICAud2NzZi1maWVsZC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53Y3NmLWZpZWxkLWlucHV0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcblxuICAgICAgICAgICAgICAgICY6Zm9jdXMgfiAud2NzZi1maWVsZC1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB+IC53Y3NmLWZpZWxkLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3ItY29udHJhc3QobWFwX2dldCgkdGhlbWUtY29sb3JzLCBcInByaW1hcnlcIikpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcF9nZXQoJHRoZW1lLWNvbG9ycywgXCJwcmltYXJ5XCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCR0aGVtZS1jb2xvcnMsIFwicHJpbWFyeVwiKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB+IC53Y3NmLWZpZWxkLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkdGhlbWUtY29sb3JzLCBcInNlY29uZGFyeVwiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53Y3NmLWZpZWxkLW5hbWUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1pbWFnZS1yYWRpbyxcbiAgICAgICAgJi5pcy1pbWFnZS1jaGVja2JveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogdmFyKC0td2lkdGgsIGF1dG8pO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgLndjc2YtZmllbGQtdGh1bWJuYWlsOmVtcHR5LFxuICAgICAgICAgICAgICAgICAgICAud2NzZi1maWVsZC10aHVtYm5haWwtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiB2YXIoLS13Y3NmLWZpZWxkLXRodW1ibmFpbC1mb2N1cy1ib3JkZXIsICRmaWVsZC10aHVtYm5haWwtZm9jdXMtYm9yZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgLndjc2YtZmllbGQge1xuICAgICAgICAgICAgICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi10aHVtYm5haWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLndjc2YtZmllbGQge1xuICAgICAgICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi10aHVtYm5haWwge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXNtO1xuXG4gICAgICAgICAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHZhcigtLXdjc2YtZmllbGQtdGh1bWJuYWlsLWJvcmRlciwgJGZpZWxkLXRodW1ibmFpbC1ib3JkZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0td2NzZi1maWVsZC10aHVtYm5haWwtYm9yZGVyLXJhZGl1cywgJGZpZWxkLXRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2VyLXNtO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0td2NzZi1maWVsZC10aHVtYm5haWwtcGFkZGluZywgJHNwYWNlci1zbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHZhcigtLXdjc2YtZmllbGQtdGh1bWJuYWlsLWJvcmRlciwgJGZpZWxkLXRodW1ibmFpbC1ib3JkZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0td2NzZi1maWVsZC10aHVtYm5haWwtYm9yZGVyLXJhZGl1cywgJGZpZWxkLXRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2VyLXNtIDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmIH4gLndjc2YtZmllbGQtdGh1bWJuYWlsOmVtcHR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgJiB+IC53Y3NmLWZpZWxkLXRodW1ibmFpbCBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogdmFyKC0td2NzZi1maWVsZC10aHVtYm5haWwtZm9jdXMtYm9yZGVyLCAkZmllbGQtdGh1bWJuYWlsLWZvY3VzLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgJiB+IC53Y3NmLWZpZWxkLXRodW1ibmFpbDplbXB0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICYgfiAud2NzZi1maWVsZC10aHVtYm5haWwgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS13Y3NmLWZpZWxkLXRodW1ibmFpbC1mb2N1cy1ib3gtc2hhZG93LCAjeyRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvd30pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmIH4gLndjc2YtZmllbGQtdGh1bWJuYWlsOmVtcHR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgJiB+IC53Y3NmLWZpZWxkLXRodW1ibmFpbCBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogdmFyKC0td2NzZi1maWVsZC10aHVtYm5haWwtZGlzYWJsZWQtYm9yZGVyLCAkZmllbGQtdGh1bWJuYWlsLWRpc2FibGVkLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLW11bHRpLWNob2ljZS1jaGVja2JveCxcbiAgICAgICAgJi5pcy1tdWx0aS1jaG9pY2UtcmFuZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuXG4gICAgICAgICAgICAud2NzZi1maWVsZCB7XG4gICAgICAgICAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyLXNtO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtdmFsdWUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyLXNtO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICAgICAgICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLW11bHRpLWNob2ljZS1jaGVja2JveCB7XG4gICAgICAgICAgICAud2NzZi1maWVsZCB7XG4gICAgICAgICAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJHNwYWNlci1zbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJHNwYWNlci1tZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiB2YXIoLS13Y3NmLWZvcm0tY2hlY2staW5wdXQtYm9yZGVyLCAkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXIpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13Y3NmLWZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1cywgJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdjc2YtZm9ybS1jaGVjay1pbnB1dC1iZywgJGZvcm0tY2hlY2staW5wdXQtYmcpO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNXM7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLCB0cmFuc2Zvcm0sIHdpZHRoLCBoZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI1cztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgfiAud2NzZi1maWVsZC1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gdmFyKC0td2NzZi1pbnB1dC1mb2N1cy1vdXRsaW5lLWNvbG9yLCAkaW5wdXQtZm9jdXMtb3V0bGluZS1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgfiAud2NzZi1maWVsZC1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdjc2YtZmllbGQtbXVsdGktY2hvaWNlLWNoZWNrYm94LWRlZmF1bHQtYm9yZGVyLWNvbG9yLCAkZmllbGQtbXVsdGktY2hvaWNlLWNoZWNrYm94LWRlZmF1bHQtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13Y3NmLWZpZWxkLW11bHRpLWNob2ljZS1jaGVja2JveC1kZWZhdWx0LWNvbG9yLCAkZmllbGQtbXVsdGktY2hvaWNlLWNoZWNrYm94LWRlZmF1bHQtY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmIH4gLndjc2YtZmllbGQtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLXVuZGVmaW5lZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiB+IC53Y3NmLWZpZWxkLW5hbWU6bm90KC5pcy11bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtcG9zc2libGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgfiAud2NzZi1maWVsZC1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1maWVsZC1tdWx0aS1jaG9pY2UtY2hlY2tib3gtcG9zc2libGUtY29sb3IsICRmaWVsZC1tdWx0aS1jaG9pY2UtY2hlY2tib3gtcG9zc2libGUtY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAwLjE1cmVtICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgfiAud2NzZi1maWVsZC1uYW1lOm5vdCguaXMtcG9zc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtcmVxdWlyZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgfiAud2NzZi1maWVsZC1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1maWVsZC1tdWx0aS1jaG9pY2UtY2hlY2tib3gtcmVxdWlyZWQtY29sb3IsICRmaWVsZC1tdWx0aS1jaG9pY2UtY2hlY2tib3gtcmVxdWlyZWQtY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAwLjE1cmVtICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogc29saWQgMC4xNXJlbSAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmIH4gLndjc2YtZmllbGQtbmFtZTpub3QoLmlzLXJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWV4Y2x1ZGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmIH4gLndjc2YtZmllbGQtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdjc2YtZmllbGQtbXVsdGktY2hvaWNlLWNoZWNrYm94LWV4Y2x1ZGVkLWNvbG9yLCAkZmllbGQtbXVsdGktY2hvaWNlLWNoZWNrYm94LWV4Y2x1ZGVkLWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAwLjE1cmVtICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiB+IC53Y3NmLWZpZWxkLW5hbWU6bm90KC5pcy1leGNsdWRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJiArIC53Y3NmLWZpZWxkLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtbXVsdGktY2hvaWNlLXJhbmdlIHtcbiAgICAgICAgICAgIC53Y3NmLWZpZWxkIHtcbiAgICAgICAgICAgICAgICAmLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgJi53Y3NmLXJhbmdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiB2YXIoLS13Y3NmLW11bHRpLWNob2ljZS1yYW5nZS1pbnB1dC13aWR0aCwgNHJlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJHNwYWNlci1zbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRzcGFjZXItbWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmW3ZhbHVlPVwiLTFcIl0gfiAud2NzZi1maWVsZC1uYW1lOm5vdChbZGF0YS12YWx1ZT1cIi0xXCJdKSxcbiAgICAgICAgICAgICAgICAgICAgJlt2YWx1ZT1cIjBcIl0gfiAud2NzZi1maWVsZC1uYW1lOm5vdChbZGF0YS12YWx1ZT1cIjBcIl0pLFxuICAgICAgICAgICAgICAgICAgICAmW3ZhbHVlPVwiMVwiXSB+IC53Y3NmLWZpZWxkLW5hbWU6bm90KFtkYXRhLXZhbHVlPVwiMVwiXSksXG4gICAgICAgICAgICAgICAgICAgICZbdmFsdWU9XCIyXCJdIH4gLndjc2YtZmllbGQtbmFtZTpub3QoW2RhdGEtdmFsdWU9XCIyXCJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJlt2YWx1ZT1cIi0xXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByYW5nZS10cmFjaygoYmFja2dyb3VuZDogJGZpZWxkLW11bHRpLWNob2ljZS1yYW5nZS1leGNsdWRlZC1jb2xvcikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJlt2YWx1ZT1cIjBcIl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhbmdlLXRyYWNrKChiYWNrZ3JvdW5kOiAkZmllbGQtbXVsdGktY2hvaWNlLXJhbmdlLWRlZmF1bHQtY29sb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICZbdmFsdWU9XCIxXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByYW5nZS10cmFjaygoYmFja2dyb3VuZDogJGZpZWxkLW11bHRpLWNob2ljZS1yYW5nZS1wb3NzaWJsZS1jb2xvcikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJlt2YWx1ZT1cIjJcIl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhbmdlLXRyYWNrKChiYWNrZ3JvdW5kOiAkZmllbGQtbXVsdGktY2hvaWNlLXJhbmdlLXJlcXVpcmVkLWNvbG9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhbmdlLWhhbmRsZSgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtICRpbnB1dC1mb2N1cy1vdXRsaW5lLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICkpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gZm9yIHRvb2x0aXBzXG5cbiAgICAgICAgICAgIC5pbnB1dC1ncm91cC1hZGRvbiAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb3VudCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWlucHV0IHtcbiAgICAgICAgICAgICYuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogYXV0bzsgLy8gbnVtZXJpYyB2aWV3cyB3aXRoIHRvb2x0aXBzIGZpeFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQG1peGluIGN1c3RvbS1zY3JvbGwoKSB7XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogJGN1c3RvbS1zY3JvbGxiYXItc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkY3VzdG9tLXNjcm9sbGJhci1zaXplO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNjcm9sbGJhci1iZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2Nyb2xsYmFyLXRyYWNrLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zY3JvbGxiYXItdHJhY2staG92ZXItYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBib3JkZXI6ICRjdXN0b20tc2Nyb2xsYmFyLXRodW1iLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zY3JvbGxiYXItc2l6ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zY3JvbGxiYXItdGh1bWItYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNjcm9sbGJhci10aHVtYi1ob3Zlci1iZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIHJhbmdlLXRyYWNrKCRwcm9wZXJ0aWVzKSB7XG4gICAgLy8gbm90ZTogZG8gbm90IGNvbWJpbmUgYnJvd3NlcnMgc2VsZWN0b3JzIHdpdGggY29tbWEgLSBub3Qgd29ya2luZ1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHJhbmdlLWhhbmRsZSgkcHJvcGVydGllcykge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHJhbmdlKCkge1xuICAgIEBpbmNsdWRlIHJhbmdlLXRyYWNrKChcbiAgICAgICAgd2lkdGg6IDEwMCUsXG4gICAgICAgIGhlaWdodDogJHJhbmdlLXRyYWNrLXNpemUsXG4gICAgICAgIGJvcmRlcjogMCBzb2xpZCB0cmFuc3BhcmVudCxcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhbmdlLWJvcmRlci1yYWRpdXMsXG4gICAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS10cmFjay1iZyxcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyXG4gICAgKSk7XG5cbiAgICBAaW5jbHVkZSByYW5nZS1oYW5kbGUoKFxuICAgICAgICB3aWR0aDogJHJhbmdlLWhhbmRsZS1zaXplLFxuICAgICAgICBoZWlnaHQ6ICRyYW5nZS1oYW5kbGUtc2l6ZSxcbiAgICAgICAgYm9yZGVyOiAkcmFuZ2UtaGFuZGxlLWJvcmRlcixcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhbmdlLWhhbmRsZS1ib3JkZXItcmFkaXVzLFxuICAgICAgICBiYWNrZ3JvdW5kOiAkcmFuZ2UtaGFuZGxlLWJnLFxuICAgICAgICBib3gtc2hhZG93OiAkcmFuZ2UtaGFuZGxlLXNoYWRvdyxcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyXG4gICAgKSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRyYW5nZS1oZWlnaHQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSByYW5nZS10cmFjaygoYmFja2dyb3VuZDogJHJhbmdlLXRyYWNrLWJnKSk7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXRyYWNrKChiYWNrZ3JvdW5kOiAkcmFuZ2UtZGlzYWJsZWQtdHJhY2stYmcpKTtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2UtaGFuZGxlKChiYWNrZ3JvdW5kOiAkcmFuZ2UtZGlzYWJsZWQtaGFuZGxlLWJnKSk7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6ICgkcmFuZ2UtdHJhY2stc2l6ZSAqIDAuNSkgLSAoJHJhbmdlLWhhbmRsZS1zaXplICogMC41KTtcbiAgICB9XG59XG4iLCIud2NzZi1wcm9kdWN0cyB7XG4gICAgJi1jb250cm9scyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2xlYXJmaXhcbiIsIi53Y3NmIHtcbiAgICAmLXJhbmdlIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2UoKTtcbiAgICB9XG5cbiAgICAmLXNpbmdsZS1yYW5nZSxcbiAgICAmLWRvdWJsZS1yYW5nZSB7XG4gICAgICAgIC0td2NzZi1yYW5nZS10cmFjay1iZzogI3skcmFuZ2UtdHJhY2stYmd9O1xuICAgICAgICAtLXdjc2YtcmFuZ2UtZmlsbC1iZzogI3skcmFuZ2UtZmlsbC1iZ307XG4gICAgICAgIC0td2NzZi1yYW5nZS10cmFjay1kaXJlY3Rpb246IHJpZ2h0O1xuICAgICAgICAtLXdjc2YtcmFuZ2UtdG9vbHRpcC1vZmZzZXQ6IC01MCU7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogdmFyKC0td2NzZi1yYW5nZS1nYXAsICRzcGFjZXItc20pO1xuXG4gICAgICAgICYuaGFzLXRvb2x0aXAge1xuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0td2NzZi1yYW5nZS10b29sdGlwLWNvbG9yLCAkcmFuZ2UtdG9vbHRpcC1jb2xvcik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1yYW5nZS10b29sdGlwLWJnLCAkcmFuZ2UtdG9vbHRpcC1iZyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0td2NzZi1yYW5nZS10b29sdGlwLWJvcmRlci1yYWRpdXMsICRyYW5nZS10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXdjc2YtcmFuZ2UtdG9vbHRpcC1wYWRkaW5nLCAkcmFuZ2UtdG9vbHRpcC1wYWRkaW5nKTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS13Y3NmLXJhbmdlLXRvb2x0aXAtb2Zmc2V0LCAtNTAlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNsaWRlcltjbGFzc10ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmFuZ2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtc2luZ2xlLXJhbmdlIHtcbiAgICAgICAgJHNlbGY6ICY7XG5cbiAgICAgICAgLS13Y3NmLXJhbmdlLXZhbHVlLXBvc2l0aW9uOiAwJTtcblxuICAgICAgICBAYXQtcm9vdCBbZGlyPVwicnRsXCJdICN7JHNlbGZ9IHtcbiAgICAgICAgICAgIC0td2NzZi1yYW5nZS10cmFjay1kaXJlY3Rpb246IGxlZnQ7XG4gICAgICAgICAgICAtLXdjc2YtcmFuZ2UtdG9vbHRpcC1vZmZzZXQ6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaGFzLXRvb2x0aXAge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdmFsdWUtcHJlZml4KSBhdHRyKGRhdGEtdmFsdWUpIGF0dHIoZGF0YS12YWx1ZS1zdWZmaXgpO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0td2NzZi1yYW5nZS12YWx1ZS1wb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNsaWRlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmFuZ2UtdHJhY2soKGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICAgICAgdG8gdmFyKC0td2NzZi1yYW5nZS10cmFjay1kaXJlY3Rpb24sIHJpZ2h0KSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0td2NzZi1yYW5nZS1maWxsLWJnKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0td2NzZi1yYW5nZS1maWxsLWJnKSB2YXIoLS13Y3NmLXJhbmdlLXZhbHVlLXBvc2l0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0td2NzZi1yYW5nZS10cmFjay1iZykgdmFyKC0td2NzZi1yYW5nZS12YWx1ZS1wb3NpdGlvbiksXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXdjc2YtcmFuZ2UtdHJhY2stYmcpIDEwMCVcbiAgICAgICAgICAgICAgICApKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRvdWJsZS1yYW5nZSB7XG4gICAgICAgICRzZWxmOiAmO1xuXG4gICAgICAgIC0td2NzZi1yYW5nZS1mcm9tLXBvc2l0aW9uOiAwJTtcbiAgICAgICAgLS13Y3NmLXJhbmdlLXRvLXBvc2l0aW9uOiAxMDAlO1xuXG4gICAgICAgIEBhdC1yb290IFtkaXI9XCJydGxcIl0gI3skc2VsZn0ge1xuICAgICAgICAgICAgLS13Y3NmLXJhbmdlLXRyYWNrLWRpcmVjdGlvbjogbGVmdDtcbiAgICAgICAgICAgIC0td2NzZi1yYW5nZS10b29sdGlwLW9mZnNldDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5oYXMtdG9vbHRpcCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS12YWx1ZS1wcmVmaXgpIGF0dHIoZGF0YS1mcm9tLXZhbHVlKSBhdHRyKGRhdGEtdmFsdWUtc3VmZml4KTtcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLXdjc2YtcmFuZ2UtZnJvbS1wb3NpdGlvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdmFsdWUtcHJlZml4KSBhdHRyKGRhdGEtdG8tdmFsdWUpIGF0dHIoZGF0YS12YWx1ZS1zdWZmaXgpO1xuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0td2NzZi1yYW5nZS10by1wb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNsaWRlcnMge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtc2xpZGVyW2NsYXNzXSB7XG4gICAgICAgICAgICAmLmlzLWZpZWxkLWZyb20ge1xuICAgICAgICAgICAgICAgICRzZWxmOiAmO1xuXG4gICAgICAgICAgICAgICAgLS13Y3NmLXJhbmdlLW9mZnNldDogY2FsYygxMDAlIC0gdmFyKC0td2NzZi1yYW5nZS10by1wb3NpdGlvbikgKyAoKHZhcigtLXdjc2YtcmFuZ2UtdG8tcG9zaXRpb24pIC0gdmFyKC0td2NzZi1yYW5nZS1mcm9tLXBvc2l0aW9uKSkgKiAwLjUpKTtcbiAgICAgICAgICAgICAgICAtLXdjc2YtcmFuZ2UtbGVmdC1vZmZzZXQ6IHZhcigtLXdjc2YtcmFuZ2Utb2Zmc2V0KTtcbiAgICAgICAgICAgICAgICAtLXdjc2YtcmFuZ2UtcmlnaHQtb2Zmc2V0OiAwO1xuXG4gICAgICAgICAgICAgICAgQGF0LXJvb3QgW2Rpcj1cInJ0bFwiXSAjeyRzZWxmfSB7XG4gICAgICAgICAgICAgICAgICAgIC0td2NzZi1yYW5nZS1sZWZ0LW9mZnNldDogMDtcbiAgICAgICAgICAgICAgICAgICAgLS13Y3NmLXJhbmdlLXJpZ2h0LW9mZnNldDogdmFyKC0td2NzZi1yYW5nZS1vZmZzZXQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KCN7JHJhbmdlLWhhbmRsZS1zaXplICogLTF9IHZhcigtLXdjc2YtcmFuZ2UtbGVmdC1vZmZzZXQpICN7JHJhbmdlLWhhbmRsZS1zaXplICogLTF9IHZhcigtLXdjc2YtcmFuZ2UtcmlnaHQtb2Zmc2V0KSk7XG5cbiAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByYW5nZS10cmFjaygoYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtZmllbGQtdG86bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJhbmdlLXRyYWNrKChiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgIHRvIHZhcigtLXdjc2YtcmFuZ2UtdHJhY2stZGlyZWN0aW9uLCByaWdodCksXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXdjc2YtcmFuZ2UtdHJhY2stYmcpIDAlLCB2YXIoLS13Y3NmLXJhbmdlLXRyYWNrLWJnKSB2YXIoLS13Y3NmLXJhbmdlLWZyb20tcG9zaXRpb24pLFxuICAgICAgICAgICAgICAgICAgICB2YXIoLS13Y3NmLXJhbmdlLWZpbGwtYmcpIHZhcigtLXdjc2YtcmFuZ2UtZnJvbS1wb3NpdGlvbiksXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXdjc2YtcmFuZ2UtZmlsbC1iZykgdmFyKC0td2NzZi1yYW5nZS10by1wb3NpdGlvbiksXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXdjc2YtcmFuZ2UtdHJhY2stYmcpIHZhcigtLXdjc2YtcmFuZ2UtdG8tcG9zaXRpb24pLFxuICAgICAgICAgICAgICAgICAgICB2YXIoLS13Y3NmLXJhbmdlLXRyYWNrLWJnKSAxMDAlXG4gICAgICAgICAgICAgICAgKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLndjc2YtbmF2IHtcbiAgICAtLXdjc2YtbmF2LXN0aWNreS1vZmZzZXQ6IDA7XG5cbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1tZDtcblxuICAgICYuaXMtc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiB2YXIoLS13Y3NmLW5hdi1zdGlja3ktb2Zmc2V0LCAwKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogdmFyKC0td2NzZi1uYXYtc3R1Y2stYmFja2Ryb3AtZmlsdGVyLCAkbmF2LXN0dWNrLWJhY2tkcm9wLWZpbHRlcik7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyLW1kO1xuXG4gICAgICAgICZbc3R1Y2tdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdjc2YtbmF2LXN0dWNrLWJnLCAkbmF2LXN0dWNrLWJnKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXdjc2YtbmF2LXN0dWNrLWJveC1zaGFkb3csICRuYXYtc3R1Y2stYm94LXNoYWRvdyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICAtLXdjc2YtbmF2LXN0aWNreS1vZmZzZXQ6IHZhcigtLXdjc2YtbmF2LXN0aWNreS1vZmZzZXQtI3skYnJlYWtwb2ludH0sIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChicmVha3BvaW50LW1heCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpKSB7XG4gICAgICAgICAgICAmLmlzLXN0aWNreS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogdmFyKC0td2NzZi1uYXYtc3RpY2t5LW9mZnNldCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLXdjc2YtbmF2LXN0dWNrLWJhY2tkcm9wLWZpbHRlciwgJG5hdi1zdHVjay1iYWNrZHJvcC1maWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNlci1tZDtcblxuICAgICAgICAgICAgICAgICAgICAmW3N0dWNrXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13Y3NmLW5hdi1zdHVjay1iZywgJG5hdi1zdHVjay1iZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS13Y3NmLW5hdi1zdHVjay1ib3gtc2hhZG93LCAkbmF2LXN0dWNrLWJveC1zaGFkb3cpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChicmVha3BvaW50LW1pbigkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpKSB7XG4gICAgICAgICAgICAmLmlzLXN0aWNreS11cC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHZhcigtLXdjc2YtbmF2LXN0aWNreS1vZmZzZXQsIDApO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS13Y3NmLW5hdi1zdHVjay1iYWNrZHJvcC1maWx0ZXIsICRuYXYtc3R1Y2stYmFja2Ryb3AtZmlsdGVyKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjZXItbWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJltzdHVja10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1uYXYtc3R1Y2stYmcsICRuYXYtc3R1Y2stYmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0td2NzZi1uYXYtc3R1Y2stYm94LXNoYWRvdywgJG5hdi1zdHVjay1ib3gtc2hhZG93KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYnV0dG9uIHtcbiAgICAgICAgJi5idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogJHNwYWNlci1zbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci1zbTtcblxuICAgICAgICAgICAgJi5oYXMtdGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1zdWItdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcblxuICAgICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGh1bWJuYWlsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS13Y3NmLW5hdi1pdGVtLXRodW1ibmFpbC1zaXplLCAkbmF2LWl0ZW0tdGh1bWJuYWlsLXNpemUpO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogdmFyKC0td2NzZi1uYXYtaXRlbS10aHVtYm5haWwtc2l6ZSwgJG5hdi1pdGVtLXRodW1ibmFpbC1zaXplKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IHdjc2YtbmF2O1xuXG4gICAgICAgICZbY2xhc3NdIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmlzKFxuICAgICAgICAgICAgLm5hdixcbiAgICAgICAgICAgIC5pcy1saW5lLFxuICAgICAgICAgICAgLmlzLWxpbmUtaG9yaXpvbnRhbCxcbiAgICAgICAgICAgIC5pcy1wcm9ncmVzcyxcbiAgICAgICAgICAgIC5pcy1wYW5lbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGN1c3RvbS1zY3JvbGwoKTtcblxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuXG4gICAgICAgICAgICAud2NzZi1uYXYtbGlzdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZ2FwOiAkc3BhY2VyLXNtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy10YWJzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLXBpbGxzIHtcbiAgICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjppcyhcbiAgICAgICAgICAgIC5pcy1saW5lLFxuICAgICAgICAgICAgLmlzLWxpbmUtaG9yaXpvbnRhbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgLndjc2YtbmF2LWxpc3QtaXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgJi5wYXN0IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1wYXN0LWNvbG9yLCAkbmF2LWxpbmUtaXRlbS1wYXN0LWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1wYXN0LWNvbG9yLCAkbmF2LWxpbmUtaXRlbS1wYXN0LWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC53Y3NmLW5hdi1saXN0LWl0ZW0tYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tcGFzdC1jb2xvciwgJG5hdi1saW5lLWl0ZW0tcGFzdC1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0td2NzZi1uYXYtbGluZS1pdGVtLXBhc3QtY2lyY2xlLWNvbG9yLCAkbmF2LWxpbmUtaXRlbS1wYXN0LWNpcmNsZS1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1uYXYtbGluZS1pdGVtLXBhc3QtY2lyY2xlLWJnLCAkbmF2LWxpbmUtaXRlbS1wYXN0LWNpcmNsZS1iZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tYWN0aXZlLWNvbG9yLCAkbmF2LWxpbmUtaXRlbS1hY3RpdmUtY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgICAgIC53Y3NmLW5hdi1saXN0LWl0ZW0tYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tYWN0aXZlLWNvbG9yLCAkbmF2LWxpbmUtaXRlbS1hY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1hY3RpdmUtY2lyY2xlLWNvbG9yLCAkbmF2LWxpbmUtaXRlbS1hY3RpdmUtY2lyY2xlLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tYWN0aXZlLWNpcmNsZS1iZywgJG5hdi1saW5lLWl0ZW0tYWN0aXZlLWNpcmNsZS1iZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1kaXNhYmxlZC1jb2xvciwgJG5hdi1saW5lLWl0ZW0tZGlzYWJsZWQtY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgJltjbGFzc10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlci1tZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1kaXNhYmxlZC10cmFuc2Zvcm0sICRuYXYtbGluZS1pdGVtLWRpc2FibGVkLXRyYW5zZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgY2FsYyh2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tY2lyY2xlLXNpemUsICRuYXYtbGluZS1pdGVtLWNpcmNsZS1zaXplKSAqIDAuNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOm5vdCguaGFzLXRodW1ibmFpbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKHdjc2YtbmF2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHdjc2YtbmF2O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiB0aHVtYm5haWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tY2lyY2xlLWJveC1zaGFkb3csICRuYXYtbGluZS1pdGVtLWNpcmNsZS1ib3gtc2hhZG93KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1jaXJjbGUtYmcsICRuYXYtbGluZS1pdGVtLWNpcmNsZS1iZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tY2lyY2xlLWJvcmRlci1yYWRpdXMsIDUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1jaXJjbGUtc2l6ZSwgJG5hdi1saW5lLWl0ZW0tY2lyY2xlLXNpemUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1jaXJjbGUtc2l6ZSwgJG5hdi1saW5lLWl0ZW0tY2lyY2xlLXNpemUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tY2lyY2xlLXNpemUsICRuYXYtbGluZS1pdGVtLWNpcmNsZS1zaXplKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td2NzZi1uYXYtbGluZS1pdGVtLWNpcmNsZS1mb250LXNpemUsICRuYXYtbGluZS1pdGVtLWNpcmNsZS1mb250LXNpemUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1jaXJjbGUtZm9udC13ZWlnaHQsICRuYXYtbGluZS1pdGVtLWNpcmNsZS1mb250LXdlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0td2NzZi1uYXYtbGluZS1pdGVtLWNpcmNsZS1zaXplLCAkbmF2LWxpbmUtaXRlbS1jaXJjbGUtc2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi10aHVtYm5haWwge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiB0aHVtYm5haWw7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlci14cztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1saW5lIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0td2NzZi1uYXYtbGluZS1pdGVtLWNvbm5lY3QtbGluZS13aWR0aCwgJG5hdi1saW5lLWl0ZW0tY29ubmVjdC1saW5lLXdpZHRoKSAqIC0xKTtcblxuICAgICAgICAgICAgLndjc2YtbmF2LWxpc3QtaXRlbSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1jaXJjbGUtc2l6ZSwgJG5hdi1saW5lLWl0ZW0tY2lyY2xlLXNpemUpICogMC41ICsgdmFyKC0td2NzZi1uYXYtbGluZS1pdGVtLWNvbm5lY3QtbGluZS13aWR0aCwgJG5hdi1saW5lLWl0ZW0tY29ubmVjdC1saW5lLXdpZHRoKSAqIDAuNSk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tY2lyY2xlLXNpemUsICRuYXYtbGluZS1pdGVtLWNpcmNsZS1zaXplKSAtICN7KCRzcGFjZXItc20gKiAyKX0pO1xuICAgICAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoNTAlICsgY2FsYyh2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tY2lyY2xlLXNpemUsICRuYXYtbGluZS1pdGVtLWNpcmNsZS1zaXplKSAqIDAuNSArICN7JHNwYWNlci1zbX0pKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0td2NzZi1uYXYtbGluZS1pdGVtLWNvbm5lY3QtbGluZS13aWR0aCwgJG5hdi1saW5lLWl0ZW0tY29ubmVjdC1saW5lLXdpZHRoKVxuICAgICAgICAgICAgICAgICAgICB2YXIoLS13Y3NmLW5hdi1saW5lLWl0ZW0tY29ubmVjdC1saW5lLXN0eWxlLCAkbmF2LWxpbmUtaXRlbS1jb25uZWN0LWxpbmUtc3R5bGUpXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1jb25uZWN0LWxpbmUtYmFja2dyb3VuZCwgJG5hdi1saW5lLWl0ZW0tY29ubmVjdC1saW5lLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtYnV0dG9uW2NsYXNzXSB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwidGh1bWJuYWlsXCIgXCJ0ZXh0XCI7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWxpbmUtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAud2NzZi1uYXYtbGlzdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgJHNwYWNlci1zbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1jb25uZWN0LWxpbmUtd2lkdGgsICRuYXYtbGluZS1pdGVtLWNvbm5lY3QtbGluZS13aWR0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1jb25uZWN0LWxpbmUtc3R5bGUsICRuYXYtbGluZS1pdGVtLWNvbm5lY3QtbGluZS1zdHlsZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLXdjc2YtbmF2LWxpbmUtaXRlbS1jb25uZWN0LWxpbmUtYmFja2dyb3VuZCwgJG5hdi1saW5lLWl0ZW0tY29ubmVjdC1saW5lLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWJ1dHRvbltjbGFzc10ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcInRodW1ibmFpbCB0ZXh0XCI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1wcm9ncmVzcyB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAud2NzZi1uYXYtbGlzdC1pdGVtIHtcbiAgICAgICAgICAgICAgICAmLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1wYW5lbCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0yMDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAgICAgLndjc2YtbmF2LWxpc3QtaXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCAkZ3JheS0yMDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgLndjc2YtbmF2LWxpc3QtaXRlbS1idXR0b246OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnBhc3QsXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAud2NzZi1uYXYtbGlzdC1pdGVtLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXItc207XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcblxuICAgICAgICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBpbml0aWFsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAud2NzZi1uYXYtbGlzdC1pdGVtLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiAxcHggc29saWQgJGdyYXktMjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCAkZ3JheS0yMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTc1JSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBhdC1yb290IFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKC03NSUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgICYuaGFzLXRodW1ibmFpbCAmIHtcbiAgICAgICAgICAgICAgICAmLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1idXR0b25bY2xhc3NdIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAkc3BhY2VyLXNtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJGJ0bi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1zdWItdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG5cbiAgICAgICAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtdGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td2NzZi1uYXYtaXRlbS10aHVtYm5haWwtc2l6ZSwgJG5hdi1pdGVtLXRodW1ibmFpbC1zaXplKTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiB2YXIoLS13Y3NmLW5hdi1pdGVtLXRodW1ibmFpbC1zaXplLCAkbmF2LWl0ZW0tdGh1bWJuYWlsLXNpemUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1wcm9ncmVzcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXItbWQ7XG5cbiAgICAgICAgJi1iYXIge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGModmFyKC0td2NzZi1mb3JtLXByb2dyZXNzLWN1cnJlbnQsIDApIC8gdmFyKC0td2NzZi1mb3JtLXByb2dyZXNzLW1heCwgMCkgKiAxMDAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi53Y3NmLXN0ZXAge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXItbWQ7XG5cbiAgICAmLmlzLWxheW91dC1ncmlkICYge1xuICAgICAgICAmLWZpZWxkcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgodmFyKC0td2NzZi1zdGVwLWdyaWQtaXRlbS13aWR0aCksIDFmcikpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXdjc2YtbGF5b3V0LWdyaWQtZ2FwLCAkc3BhY2VyLXNtKSAqIC0xKTsvLyBkb24ndCB1c2UgZ2FwIGJlY2F1c2Ugb2YgdGhlIHBvc3NpYmxlIHBlcmNlbnRhZ2Ugd2lkdGggb2YgaXRlbXNcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXdjc2YtbGF5b3V0LWdyaWQtZ2FwLCAkc3BhY2VyLXNtKSAqIC0xKTtcblxuICAgICAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC0td2NzZi1zdGVwLWdyaWQtaXRlbS13aWR0aDogdmFyKC0td2NzZi1zdGVwLWdyaWQtaXRlbS13aWR0aC0jeyRicmVha3BvaW50fSwgMjByZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAud2NzZi1xdWVzdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0td2NzZi1sYXlvdXQtZ3JpZC1nYXAsICRzcGFjZXItc20pO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0td2NzZi1sYXlvdXQtZ3JpZC1nYXAsICRzcGFjZXItc20pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB+ICYge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNlci1tZDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LTIwMDtcbiAgICB9XG59XG4iLCJAa2V5ZnJhbWVzIHdjc2YtdG9vbHRpcC1mYWRlaW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTtcbiAgICB9XG59XG5cbi53Y3NmLXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS13Y3NmLXRvb2x0aXAtbWF4LXdpZHRoLCAkdG9vbHRpcC1tYXgtd2lkdGgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXdjc2YtdG9vbHRpcC1hcnJvdy1oZWlnaHQsICR0b29sdGlwLWFycm93LWhlaWdodCk7XG4gICAgcGFkZGluZzogdmFyKC0td2NzZi10b29sdGlwLXBhZGRpbmcsICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXgpO1xuICAgIGNvbG9yOiB2YXIoLS13Y3NmLXRvb2x0aXAtY29sb3IsICR0b29sdGlwLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13Y3NmLXRvb2x0aXAtYm9yZGVyLXJhZGl1cywgJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi10b29sdGlwLWJnLCAkdG9vbHRpcC1iZyk7XG4gICAgb3BhY2l0eTogdmFyKC0td2NzZi10b29sdGlwLW9wYWNpdHksICR0b29sdGlwLW9wYWNpdHkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0td2NzZi10b29sdGlwLWZvbnQtc2l6ZSwgJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYW5pbWF0aW9uOiB3Y3NmLXRvb2x0aXAtZmFkZWluIDAuMnM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS13Y3NmLXRvb2x0aXAtYXJyb3ctaGVpZ2h0LCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0td2NzZi10b29sdGlwLWFycm93LXdpZHRoLCAkdG9vbHRpcC1hcnJvdy13aWR0aCkgKiAwLjUpIDAgY2FsYyh2YXIoLS13Y3NmLXRvb2x0aXAtYXJyb3ctd2lkdGgsICR0b29sdGlwLWFycm93LXdpZHRoKSAqIDAuNSk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td2NzZi10b29sdGlwLWJnLCAkdG9vbHRpcC1iZykgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG59XG4iLCIud2NzZi12YWx1ZSB7XG4gICAgJHNlbGY6ICY7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQGF0LXJvb3QgdWwjeyRzZWxmfSB7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjZXItbWQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJi1pdGVtIHtcbiAgICAgICAgJi1uYW1lLFxuICAgICAgICAmLXZhbHVlIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLW5hbWUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtY2hlY2tbY2xhc3NdLFxuICAgICAgICAmLXJlbW92ZVtjbGFzc10ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLXdjc2YtdmFsdWUtaXRlbS1idXR0b24tc2l6ZSwgJHZhbHVlLWl0ZW0tYnV0dG9uLXNpemUpO1xuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS13Y3NmLXZhbHVlLWl0ZW0tYnV0dG9uLXNpemUsICR2YWx1ZS1pdGVtLWJ1dHRvbi1zaXplKTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkc3BhY2VyLXNtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXdjc2YtdmFsdWUtaXRlbS1idXR0b24tY29sb3IsICR2YWx1ZS1pdGVtLWJ1dHRvbi1jb2xvcik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13Y3NmLXZhbHVlLWl0ZW0tYnV0dG9uLWJvcmRlci1yYWRpdXMsICR2YWx1ZS1pdGVtLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0td2NzZi12YWx1ZS1pdGVtLWJ1dHRvbi1zaXplLCAkdmFsdWUtaXRlbS1idXR0b24tc2l6ZSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLWNoZWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdjc2YtdmFsdWUtaXRlbS1jaGVjay1iZy1jb2xvciwgJHZhbHVlLWl0ZW0tY2hlY2stYmctY29sb3IpO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDAuMTVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDAuMTVyZW07XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXJlbW92ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13Y3NmLXZhbHVlLWl0ZW0tcmVtb3ZlLWJnLWNvbG9yLCAkdmFsdWUtaXRlbS1yZW1vdmUtYmctY29sb3IpO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMC4xNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIud2NzZi1mb290ZXIge1xuICAgIC0td2NzZi1mb290ZXItc3RpY2t5LW9mZnNldDogMDtcblxuICAgICYuaXMtc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogdmFyKC0td2NzZi1mb290ZXItc3RpY2t5LW9mZnNldCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXdjc2YtZm9vdGVyLXN0dWNrLXotaW5kZXgsICRmb290ZXItc3R1Y2stei1pbmRleCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13Y3NmLWZvb3Rlci1zdHVjay1jb2xvciwgJGZvb3Rlci1zdHVjay1jb2xvcik7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogdmFyKC0td2NzZi1mb290ZXItc3R1Y2stYmFja2Ryb3AtZmlsdGVyLCAkZm9vdGVyLXN0dWNrLWJhY2tkcm9wLWZpbHRlcik7XG5cbiAgICAgICAgJltzdHVja10ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1mb290ZXItc3R1Y2stYmcsICRmb290ZXItc3R1Y2stYmcpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0td2NzZi1mb290ZXItc3R1Y2stYm94LXNoYWRvdywgJGZvb3Rlci1zdHVjay1ib3gtc2hhZG93KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIC0td2NzZi1mb290ZXItc3RpY2t5LW9mZnNldDogdmFyKC0td2NzZi1mb290ZXItc3RpY2t5LW9mZnNldC0jeyRicmVha3BvaW50fSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGJyZWFrcG9pbnQtbWF4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykpIHtcbiAgICAgICAgICAgICYuaXMtc3RpY2t5LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdmFyKC0td2NzZi1mb290ZXItc3RpY2t5LW9mZnNldCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13Y3NmLWZvb3Rlci1zdHVjay1jb2xvciwgJGZvb3Rlci1zdHVjay1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogdmFyKC0td2NzZi1mb290ZXItc3R1Y2stYmFja2Ryb3AtZmlsdGVyLCAkZm9vdGVyLXN0dWNrLWJhY2tkcm9wLWZpbHRlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgJltzdHVja10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1mb290ZXItc3R1Y2stYmcsICRmb290ZXItc3R1Y2stYmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0td2NzZi1mb290ZXItc3R1Y2stYm94LXNoYWRvdywgJGZvb3Rlci1zdHVjay1ib3gtc2hhZG93KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoYnJlYWtwb2ludC1taW4oJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSkge1xuICAgICAgICAgICAgJi5pcy1zdGlja3ktdXAtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogdmFyKC0td2NzZi1mb290ZXItc3RpY2t5LW9mZnNldCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13Y3NmLWZvb3Rlci1zdHVjay1jb2xvciwgJGZvb3Rlci1zdHVjay1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogdmFyKC0td2NzZi1mb290ZXItc3R1Y2stYmFja2Ryb3AtZmlsdGVyLCAkZm9vdGVyLXN0dWNrLWJhY2tkcm9wLWZpbHRlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgJltzdHVja10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2NzZi1mb290ZXItc3R1Y2stYmcsICRmb290ZXItc3R1Y2stYmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0td2NzZi1mb290ZXItc3R1Y2stYm94LXNoYWRvdywgJGZvb3Rlci1zdHVjay1ib3gtc2hhZG93KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCJ0b20tc2VsZWN0L3RvbS1zZWxlY3QuYm9vdHN0cmFwNS5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwiaWNvbnNcIjtcbkBpbXBvcnQgXCJzcGlubmVyXCI7XG5AaW1wb3J0IFwiY29udHJvbHNcIjtcbkBpbXBvcnQgXCJoZWFkZXJcIjtcbkBpbXBvcnQgXCJmaWVsZHNcIjtcbkBpbXBvcnQgXCJwcm9kdWN0c1wiO1xuQGltcG9ydCBcInJhbmdlXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwic3RlcFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJ2YWx1ZVwiO1xuQGltcG9ydCBcImZvb3RlclwiO1xuXG4ud2NzZiB7XG4gICAgQGltcG9ydCBcInJlc2V0XCI7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLmlzLWxvYWRpbmcge1xuICAgICAgICAtLXdjc2YtbG9hZGluZy1wcm9ncmVzczogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5pcy1sb2FkaW5nICYge1xuICAgICAgICAmLWZvcm0ge1xuICAgICAgICAgICAgb3BhY2l0eTogdmFyKC0td2NzZi1sb2FkaW5nLW9wYWNpdHksICRsb2FkaW5nLW9wYWNpdHkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0td2NzZi1sb2FkaW5nLXRyYW5zaXRpb24sICRsb2FkaW5nLXRyYW5zaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmlzLWxvYWRpbmcpICYge1xuICAgICAgICAmLXNwaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1mb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci1tZDtcbiAgICB9XG5cbiAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci1tZDtcbiAgICB9XG59XG4iLCJmaWVsZHNldCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmxlZ2VuZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbiJdfQ== */
